Aviso: quebrar a mudança de configuração
Você tem que definir os fluxos novamente !!
Sem definir cada fluxo nenhuma linha será exibida, leia a parte de uso com cuidado (as bolhas podem ser clicáveis, mas isso é opcional)
Este é um cartão assistente doméstico para instalações solares. Ele fornece um gráfico do estilo Tesla para ver os fluxos de energia ((k) w).

Eu tentei torná -lo o mais genérico possível, pois agora existem 6 bolhas com 4 ícones principais e 2 aparelhos extras. Os quatro valores principais do ícone são controlados pela soma dos fluxos de e para eles:
Os dois aparelhos opcionais podem ser qualquer consumidor da casa, eles estão anexados à casa. Esses dois são controlados diretamente por seu consumo. Significado nenhuma soma de fluxo é feita.
Os bolhas/ícones podem ser configurados para ter uma entidade quando clicados, mas os números são calculados a partir dos fluxos. Você pode mostrar um texto/valor de entidade extra na parte superior da bolha.
Existem 7 fluxos principais e 2 fluxos de eletrodomésticos. Os principais fluxos são:
Você precisa de pelo menos um, a colocação das bolhas principais é fixada por enquanto. Alguns subestimam o valor de uma bolha e agregarão valor a outra bolha. Por exemplo:
Battery_TO_House subestratará a bolha/ícone da bateria e adicionará à bolha/ícone da casa.
As entidades clicáveis podem ser configuradas através dessas entidades, mas são opcionais:
Este cartão começou com base no cartão do cartão de consumo animado de Bessarabov, obrigado novamente por esse trabalho. Em seguida, foi reescrito, tomando um cartão de boilerplate completamente como ponto de partida, mas com o TypeScript. Também peguei emprestado algumas idéias do Power-Wheel-Cart, infelizmente, ainda não quantos eu gostaria;)
No topo dos fluxos e entidade clicável, cada bolha pode ter um valor extra na parte superior. Para definir aqueles, você precisa adicionar um sensor a qualquer uma das teses:
Eu sempre tenho a carga de corrente da bateria como bateria_extra_entity. Nesse caso, o ícone da bateria também mudará com a carga.
Atualmente, não tenho configuração mínima, mas algumas combinações podem não fazer sentido. Eu aconselharia usar as bolhas que você deseja e os fluxos ligados aos que você está usando. A parte esquerda desses exemplos é fixa, altere a parte direita com seus próprios sensores. Não há entidades necessárias, embora sua configuração possa mostrar resultados estranhos se você deixar algumas combinações de fora. O sensor pode ser chamado do que você quiser, são sensores de medidor de potência em Watt ou Kilowatt (escolha o mesmo para todos, ele criará KW a partir dele). Todos os sensores precisam ser valores positivos
Um exemplo simples de combinação:
type : ' custom:tesla-style-solar-power-card '
grid_consumption_entity : sensor.grid_consumption
house_consumption_entity : sensor.house_consumption
grid_to_house_entity : sensor.grid_consumptionIsso permitirá que você tenha duas bolhas clicáveis e o fluxo de grade para casa, o que determinará os valores abaixo dos ícones.
type : ' custom:tesla-style-solar-power-card '
name : My Flows
# 7 flows between bubbles
grid_to_house_entity : sensor.grid_consumption
grid_to_battery_entity : sensor.grid_battery_charge
generation_to_grid_entity : sensor.grid_feed_in
generation_to_battery_entity : sensor.battery_charging
generation_to_house_entity : sensor.solar_consumption
battery_to_house_entity : sensor.battery_consumption
battery_to_grid_entity : sensor.battery_to_grid
# extra values to show as text above icons
battery_extra_entity : sensor.battery_charge
house_extra_entity : sensor.current_temperature
generation_extra_entity : sensor.percent_cloud_coverage
grid_extra_entity : sensor.monthly_feed_in
# optional appliances with consumption and extra values
appliance1_consumption_entity : sensor.car_consumption
appliance1_extra_entity : sensor.car_battery_state_of_charge
appliance2_consumption_entity : sensor.heating_consumption
appliance2_extra_entity : sensor.heating_operation
# optional 4 main bubble icons for clickable entities
grid_entity : sensor.grid_consumption
house_entity : sensor.house_consumption
generation_entity : sensor.solar_yield
battery_entity : sensor.battery_consumptionSe você definir uma entidade extra para a bolha da bateria com o estado de carga, o ícone será substituído dinamicamente pelo valor dessa entidade e substituirá a definição do ícone acima.
Existem algumas variáveis de configuração que mudam o comportamento: cabeçalho:
name : ' My Tesla Power Card! 'Um para forçar w (watt) em vez de kw, defina -o como 1 para usá -lo:
show_w_not_kw : 1Um para definir uma velocidade diferente para os pontos em movimento, o fator de velocidade normal é 0,04, então fique perto desse número no início, 0,2 é muito rápido:
speed_factor : 0.03Um para o limiar do qual W é convertido em KW (o exemplo abaixo mudará W em Kilowatt a partir de 5000 W em diante):
threshold_in_k : 5Threshold_in_k não é compatível com show_w_not_kw, este último anulará o Threshold_in_k
Um para esconder as linhas não ativas para usá -lo, verifique se tudo está funcionando antes de esconder as linhas:
hide_inactive_lines : 1Um para adicionar lacunas para as linhas de energia da maneira como o painel de energia de HA faz isso:
show_gap : trueUm para colorir a bolha da casa, dependendo do fluxo mais alto:
change_house_bubble_color_with_flow : 1Um para não mostrar círculos em movimento, mas um diagrama de fluxo de energia (linhas mais espessas quando o fluxo é maior):
energy_flow_diagramm : 1Há um fator para tornar as linhas mais espessas, dependendo do seu fluxo normalmente, é 2:
energy_flow_diagramm_line_factor : 2Você pode subtrair os valores do dispositivo do valor da casa sem afetar o fluxo de linha:
house_without_appliances_values : 1Depois, existem 6 variáveis de configuração de ícones:
grid_icon : ' mdi:transmission-tower '
generation_icon : ' mdi:solar-panel-large '
house_icon : ' mdi:home '
battery_icon : ' mdi:battery '
appliance1_icon : ' mdi:car-sports '
appliance2_icon : ' mdi:car-sports 'Lembre -se de que você pode criar sensores de modelo se estiver com falta de um como rendimento solar de solar_consument e grid_feed_in ou se estiver perdendo outro como home_consument. Alguns inversores têm valores positivos e negativos, aqui todos os sensores precisam ser valores positivos; portanto, crie sensores de modelo como:
battery_consumption :
value_template : ' {% set batter_cons = sensor.powerwall_battery_now | int %}
{% if batter_cons > 0 %}
{{ batter_cons | int }}
{% else %}
0
{% endif %} '
device_class : power
unit_of_measurement : WPara usar este cartão com a integração Tesla Powerwall, você precisará criar alguns sensores adicionais primeiro. Este cartão espera uma entidade com um valor numérico positivo por linha mostrada na tela. No entanto, a integração da Tesla Powerwall cria sensores que ficam negativos ou positivos, dependendo se a energia está sendo consumida ou se alimenta desse medidor específico.
Felizmente, isso pode ser facilmente corrigido com a adição de alguns sensores de modelo, os que você precisa adicionar são mostrados abaixo. Observe que esses sensores assumem os nomes padrão de cada entidade criada pela integração da Tesla Powerwall, se você alterou os nomes de suas entidades, precisará ajustar a configuração de acordo:
# Templates for Actual Powerflow transfer charts (APF - Actual PowerFlow)
#
# For the math to add up a new Real House Load must be calculated and used, witch includes
# the inverter consumption and excludes rounding errors and corrects inaccurate power readings.
#
# It never made sense that inbound power sometimes does not equal outbound power. This fixes it!
#
# Developed by AviadorLP modified for powerwall by purcell-lab
# Correctly sets battery2grid & grid2battery flows
#
template :
- sensor :
# grid sensor must be negative when importing and positive when exporting
- name : APF Grid Entity
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ (0 - states('sensor.powerwall_site_now')|float(0)*1000)|int(0) }} "
# sensor must always be 0 or positive (i think they always are)
- name : APF House Entity
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ (states('sensor.powerwall_load_now')|float(0)*1000)|int(0) }} "
# sensor must always be 0 or positive (i think they always are)
- name : APF Generation Entity
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ (states('sensor.powerwall_solar_now')|float(0)*1000)|int(0) }} "
# battery sensor must be positive when charging and negative when discharging
- name : APF Battery Entity
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ (0 - states('sensor.powerwall_battery_now')|float(0)*1000)|int(0) }} "
# Required to reduce code later on
- name : APF Grid Import
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_grid_entity')|int(default=0) < 0 %}
{{ states('sensor.apf_grid_entity')|int(default=0)|abs }}
{% else %}
0
{% endif %}
# Inverter consumption and power losses due to Inverter transfers and power conversions (AC/DC)
# excludes rounding errors made worst by the fact that some inverters round all sensors readings to INT
# Occasionally this might be negative probably due to cumulative errors in not so accurate power readings.
- name : APF Inverter Power Consumption
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ states('sensor.apf_generation_entity')|int(default=0) - states('sensor.apf_battery_entity')|int(default=0) - states('sensor.apf_house_entity')|int(default=0) - states('sensor.apf_grid_entity')|int(default=0) }} "
# Real House Load Includes Inverter consumption and transfer conversions and losses and rounding errors.
# It never made sense that inbound power sometimes does not equal outbound power. This fixes it!
- name : APF Real House Load
device_class : power
state_class : measurement
unit_of_measurement : W
state : " {{ states('sensor.apf_house_entity')|int(default=0) + states('sensor.apf_inverter_power_consumption')|int(default=0) }} "
icon : mdi:home-lightning-bolt
- name : APF Grid2House
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_grid_import')|int(default=0) > states('sensor.apf_real_house_load')|int(default=0) %}
{{ states('sensor.apf_real_house_load')|int(default=0) }}
{% else %}
{{ states('sensor.apf_grid_import')|int(default=0) }}
{% endif %}
- name : APF Grid2Batt
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_grid_import')|int(default=0) > states('sensor.apf_real_house_load')|int(default=0) %}
{{ states('sensor.apf_grid_import')|int(default=0) - states('sensor.apf_real_house_load')|int(default=0) }}
{% else %}
0
{% endif %}
- name : APF Batt2House
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_battery_entity')|int(default=0) < 0 %}
{% if states('sensor.apf_battery_entity')|int(default=0)|abs > states('sensor.apf_real_house_load')|int(default=0) %}
{{ states('sensor.apf_real_house_load')|int(default=0) }}
{% else %}
{{ states('sensor.apf_battery_entity')|int(default=0)|abs }}
{% endif %}
{% else %}
0
{% endif %}
# This might be called house to grid, and can happen in rare circumstances,
# like when the inverter is not able to do a precise adjustment of power fast enough
# or when you want to force a discharge of the battery or something...
# But it only happens with battery or other power generator users.
- name : APF Batt2Grid
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_battery_entity')|int(default=0) < 0 %}
{% if states('sensor.apf_battery_entity')|int(default=0)|abs > states('sensor.apf_real_house_load')|int(default=0) %}
{{ states('sensor.apf_battery_entity')|int(default=0)|abs - states('sensor.apf_real_house_load')|int(default=0) }}
{% else %}
0
{% endif %}
{% else %}
0
{% endif %}
- name : APF Solar2Grid
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_grid_entity')|int(default=0) > states('sensor.apf_batt2grid')|int(default=0) %}
{{ states('sensor.apf_grid_entity')|int(default=0) - states('sensor.apf_batt2grid')|int(default=0) }}
{% else %}
0
{% endif %}
- name : APF Solar2House
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_generation_entity')|int(default=0) > 0 and states('sensor.apf_real_house_load')|int(default=0) > states('sensor.apf_batt2house')|int(default=0) + states('sensor.apf_grid_import')|int(default=0) %}
{% if states('sensor.apf_generation_entity')|int(default=0) > states('sensor.apf_real_house_load')|int(default=0) - states('sensor.apf_batt2house')|int(default=0) - states('sensor.apf_grid2house')|int(default=0) %}
{{ states('sensor.apf_real_house_load')|int(default=0) - states('sensor.apf_batt2house')|int(default=0) - states('sensor.apf_grid2house')|int(default=0) }}
{% else %}
{{ states('sensor.apf_generation_entity')|int(default=0) }}
{% endif %}
{% else %}
0
{% endif %}
- name : APF Solar2Batt
device_class : power
state_class : measurement
unit_of_measurement : W
state : >
{% if states('sensor.apf_generation_entity')|int(default=0) > 0 and states('sensor.apf_battery_entity')|int(default=0) > 0 %}
{% if states('sensor.apf_battery_entity')|int(default=0) > states('sensor.apf_grid2batt')|int(default=0) %}
{% if states('sensor.apf_generation_entity')|int(default=0) - states('sensor.apf_solar2house')|int(default=0) > states('sensor.apf_battery_entity')|int(default=0) - states('sensor.apf_grid2batt')|int(default=0) %}
{{ states('sensor.apf_battery_entity')|int(default=0) - states('sensor.apf_grid2batt')|int(default=0) }}
{% else %}
{{ states('sensor.apf_generation_entity')|int(default=0) - states('sensor.apf_solar2house')|int(default=0) - states('sensor.apf_solar2grid')|int(default=0) }}
{% endif %}
{% else %}
0
{% endif %}
{% else %}
0
{% endif %}Depois de incluir esses sensores, você pode configurar o cartão assim:
type : ' custom:tesla-style-solar-power-card '
grid_entity : sensor.apf_grid_entity
house_entity : sensor.apf_real_house_load
generation_entity : sensor.apf_generation_entity
battery_entity : sensor.apf_battery_entity
grid_to_house_entity : sensor.apf_grid2house
grid_to_battery_entity : sensor.apf_grid2batt
generation_to_grid_entity : sensor.apf_solar2grid
generation_to_battery_entity : sensor.apf_solar2batt
generation_to_house_entity : sensor.apf_solar2house
battery_to_house_entity : sensor.apf_batt2house
battery_to_grid_entity : sensor.apf_batt2grid
battery_extra_entity : sensor.powerwall_charge v0.9 v0.92 vbeta1.1.
Solicitações de tração são bem -vindas. Para grandes mudanças, abra um problema primeiro para discutir o que você gostaria de mudar.
Licença Apache v 2.0