Warnung: Konfigurationsänderung brechen
Sie müssen die Flüsse wieder definieren !!
Ohne zu definieren, dass jede Fluss keine Zeile angezeigt wird, lesen Sie den Nutzungsteil sorgfältig (die Blasen können anklickbar sein, dies ist jedoch optional).
Dies ist eine heimlich-assistierende Karte für Solaranlagen. Es bietet eine Grafik im Tesla -Stil, um die Energieströme ((k) w) zu sehen.

Ich habe versucht, es so generisch wie möglich zu machen, jetzt gibt es 6 Blasen mit 4 Hauptsymbolen und 2 zusätzlichen Geräten. Die vier Hauptsymbolwerte werden durch die Summe der Strömungen von und zu ihnen gesteuert:
Die beiden optionalen Geräte können jeder Verbraucher im Haus sein, sie sind am Haus gebunden. Diese beiden werden direkt durch ihren Verbrauch kontrolliert. Was bedeutet, dass keine Flusssumme durchgeführt wird.
Die Blasen/Symbole können so konfiguriert werden, dass sie beim Klicken eine Entität haben, die Zahlen werden jedoch aus den Flows berechnet. Sie können einen zusätzlichen Entitätstext/-wert im oberen Teil der Blase anzeigen.
Es gibt 7 Hauptflüsse und 2 Geräteflüsse. Die Hauptströme sind:
Sie benötigen mindestens eine, die Platzierung der Hauptblasen ist vorerst behoben. Einige werden den Wert von einer Blase substraktieren und einen Mehrwert für eine andere Blase verleihen. Zum Beispiel:
Battery_to_house substrakt von der Batterieblase/des Symbols und fügt die Hausblase/das Symbol hinzu.
Die anklickbaren Entitäten können über diese Entitäten konfiguriert werden, sind jedoch optional:
Diese Karte begann mit der Karte von Bessarabov animierter Verbrauchskarte, nochmals vielen Dank für diese Arbeit. Dann wurde die Kesselplattenkarte als Ausgangspunkt, jedoch mit TypeScript, vollständig umgeschrieben. Ich habe mir auch ein paar Ideen aus der Macht-Radkarte geliehen, die traurig noch nicht so viele wie ich möchte;)
Auf den Flüssen und anklickbaren Entität kann jede Blase einen zusätzlichen Wert haben. Um diejenigen zu definieren, die Sie benötigen, um einen Sensor zu einem der Entitäten zu fügen:
Ich habe immer die Batteriestromladung als Battery_extra_entity. In diesem Fall ändert sich auch das Akku -Symbol mit der Ladung.
Derzeit habe ich keine Mindestkonfiguration, aber einige Kombinationen machen möglicherweise keinen Sinn. Ich würde Ihnen raten, die gewünschten Blasen und die mit dem von Ihnen verwendeten Strömen zu verwenden. Der linke Teil dieser Beispiele ist festgelegt, ändern Sie den rechten Teil mit Ihren eigenen Sensoren. Es gibt keine erforderlichen Entitäten, obwohl Ihre Konfiguration seltsame Ergebnisse anzeigen kann, wenn Sie einige Kombinationen auslassen. Der Sensor kann genannt werden, was Sie wollen, er sind Powermeter -Sensoren in Watt oder Kilowatt (wählen Sie dasselbe für alle, er erzeugt KW daraus). Alle Sensoren müssen positive Werte sein
Ein einfaches Beispiel für Kombination:
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_consumptionAuf diese Weise können Sie zwei Blasen haben, die anklickbar sind, und den Fluss von Gitter zu Haus, die die Werte unter den Symbolen bestimmen.
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_consumptionWenn Sie eine zusätzliche Entität für die Batterieblase mit dem Ladungszustand definieren, wird das Symbol dynamisch durch den Wert dieser Entität ersetzt und überschreibt die obige Symboldefinition.
Es gibt einige Konfigurationsvariablen, die das Verhalten ändern: Überschrift:
name : ' My Tesla Power Card! 'Eins, um W (Watt) anstelle von KW zu erzwingen, setzen Sie es auf 1, um es zu verwenden:
show_w_not_kw : 1Eine, um eine andere Geschwindigkeit für die sich bewegenden Punkte festzulegen. Normaler Geschwindigkeitsfaktor beträgt 0,04. Bleiben Sie also zunächst in der Nähe dieser Zahl, 0,2 ist sehr schnell:
speed_factor : 0.03Eine für den Schwellenwert, von dem W in KW umgewandelt wird (das folgende Beispiel wird W ab 5000 W in Kilowatt umwandeln):
threshold_in_k : 5Threshold_in_k ist nicht mit show_w_not_kw kompatibel. Letzteres überschreibt den Threshold_in_k
Zum Verstecken der Zeilen, die nicht aktiv sind, um sie zu verwenden, stellen Sie bitte sicher, dass alles funktioniert, bevor Sie die Zeilen verbergen:
hide_inactive_lines : 1Eine, um Lücken für die Stromleitungen hinzuzufügen, wie das Energiefeld von HA es tut:
show_gap : trueEine, die die Hausblase abhängig vom höchsten Fluss färben:
change_house_bubble_color_with_flow : 1Eine, die sich nicht bewegende Kreise, sondern ein Energieflussdiagramm zeigt (dickere Linien, wenn der Durchfluss höher ist):
energy_flow_diagramm : 1Es gibt einen Faktor, um die Linien je nach normalem Strömung dicker zu machen. Es ist 2:
energy_flow_diagramm_line_factor : 2Sie können die Gerätewerte vom Hauswert subtrahieren, ohne den Leitungsfluss zu beeinflussen:
house_without_appliances_values : 1Dann gibt es 6 Icon -Konfigurationsvariablen:
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 'Denken Sie daran, dass Sie Vorlagensensoren erstellen können, wenn Ihnen eine Solarausbeute aus Solar_conbum und grid_feed_in fehlt oder wenn Ihnen ein anderer wie Home_Conumum fehlt. Einige Wechselrichter haben positive und negative Werte. Hier müssen alle Sensoren positive Werte sein. Erstellen Sie also Vorlagensensoren wie:
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 : WUm diese Karte mit der Tesla Powerwall -Integration zu verwenden, müssen Sie zuerst einige zusätzliche Sensoren erstellen. Diese Karte erwartet eine Entität mit einem positiven numerischen Wert pro Zeile auf dem Bildschirm. Die Integration von Tesla Powerwall erzeugt jedoch Sensoren, die negativ oder positiv werden, je nachdem, ob Energie aus dem bestimmten Messgerät verbraucht wird oder in diesem bestimmten Messgerät einfließt.
Glücklicherweise kann dies leicht mit einigen wenigen Vorlagensensoren fixiert werden, die Sie hinzufügen müssen, sind unten angezeigt. Beachten Sie, dass diese Sensoren die Standardnamen für jede von der Tesla Powerwall -Integration erstellte Entität annehmen. Wenn Sie die Namen Ihrer Entitäten geändert haben, müssen Sie die Konfiguration entsprechend anpassen:
# 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 %}Nachdem Sie diese Sensoren eingeschlossen haben, können Sie die Karte wie folgt konfigurieren:
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.
Pull -Anfragen sind willkommen. Für wichtige Änderungen öffnen Sie zuerst ein Problem, um zu besprechen, was Sie ändern möchten.
Apache -Lizenz v 2.0