everHome Community
Willkommen in der everHome Community!
Die Community besteht aus verschiedenen Bereichen in denen sich everHome-Benutzer untereinander austauschen können. Hier findest du sicher den ein oder anderen nützlichen Hinweis. Auch das everHome-Team schaut hier gerne vorbei, klärt Fragen und nimmt eure Anregungen auf.
EcoTracker und HomeAssistant
Benutzer 40553
Benutzer 39283
ich habe Ihn in Home Assistant eingebunden mit folgendem Eintrag in der Configuration.yaml.
Die IP-Adresse habe ich jetzt mit 192.168.XXX.XXX eingetragen.
Hier musst du natürlich deine IP-Adresse eingeben.
# Eco-Tracker - Start
rest:
- scan_interval: 30
resource: http://192.168.XXX.XXX/v1/json
sensor:
- name: "ecotracker_api"
json_attributes:
- "power"
- "powerAvg"
- "energyCounterIn"
- "energyCounterOut"
template:
- sensor:
- name: "EcoTracker-aktueller-Verbrauch"
unique_id: "EcoTrackerVerbrauch"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
# zaehler laeuft nicht rueckwaerts
state: >
{% if ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(2)) < 0 %}
{{(states ('0.0') | float(0)) |round(2) }}
{% else %}
{{ ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(2)) }}
{% endif %}
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch"
unique_id: "EcoTrackerBalkon"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
state: "{{ ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(2)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-durchschnitt-Verbrauch"
unique_id: "EcoTrackerDurchschnitt"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerAvg') | float(0)) | round(2)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-Netzbezug"
unique_id: "EcoTrackerBezug"
state: "{{ (((state_attr('sensor.ecotracker_api', 'energyCounterIn') | float(0)) / 1000) | round(2)) }}"
unit_of_measurement: "kWh"
device_class: 'energy'
state_class: "total_increasing"
- name: "EcoTracker-Einspeisung"
unique_id: "EcoTrackerEinspeisung"
state: "{{ (((state_attr('sensor.ecotracker_api', 'energyCounterOut') | float(0)) / 1000) | round(2)) }}"
unit_of_measurement: "kWh"
device_class: 'energy'
state_class: "total_increasing"
# Eco-Tracker - Ende
Benutzer 40306
Benutzer 39283
Benutzer 45117
Benutzer 40306
Benutzer 40306
Benutzer 45872
Udo62
description: ""
triggers:
- at: "00:00:00"
trigger: time
conditions: []
actions:
- action: input_number.set_value
metadata: {}
data:
value: "{{ states('sensor.ecotracker_netzbezug') | float }}"
target:
entity_id: input_number.zahlerstand_netz_um_mitternacht
Otmar31832
Benutzer 39699
{
}{
}Benutzer 47453
Udo62
Hallo @Benutzer 47453
Schritt1: zuerst brauchst du eine neue Automation die den Zählerstand um 00:00 Uhr speichert.
Automation erstellen: Neue Automation erstellen. Wechsel zu: in Yaml bearbeiten, und ersetze das dort gezeigte durch:
alias: "Zählerstand Netz um Mitternacht "
description: ""
triggers:
- at: "00:00:00"
trigger: time
conditions: []
actions:
- action: input_number.set_value
metadata: {}
data:
value: "{{ states('sensor.ecotracker_netzbezug') |
float }}"
target:
entity_id: input_number.zahlerstand_netz_um_mitternacht
mode: single
und jetzt noch einen Helfer, wo diese Automation den Wert einträgt:
Schritt2: Input Number Helfer erstellen: Klick auf Helfer hinzufügen und wähle "Zahl". Gib folgende Werte ein: Name: "Zählerstand Netz um Mitternacht", Min:"0", Max: z.B." 100000", je nachdem wie hoch dein Zählerstand schon ist. auf jeden Fall über deinem Zählerstand. Schrittweite; "0.0001" für 4 Stellen hinter dem Komma. Einheit: "kWh". Speichern.
Jetzt hast du den Zählerstand um Mitternacht. Bzw, erst um Mitternacht löst die Automation aus. Wenn du die Automation von Hand auslöst hast du den Zählerstand seit Auslösung. Wird aber um Mitternacht durch den richtigen Wert ersetzt.
Schritt3: um den aktuellen Tagesverbrauch zu sehen brauchst du noch einen weiteren Helfer:
Helfer hinzufügen und wähle Template: Template für einen Sensor.
Name z.B. "Netzbezug seit Mitternacht",
kopiere bei Zustandstemplate:
{{ (states('sensor.ecotracker_einspeisung') | float - states('input_number.zahlerstand_ertrag_um_mitternacht') | float) | round(4) }}
ein. Maßeinheit: kWh . Speichern, fertig. HA Neustart.
Jetzt solltest du auf deinem Dashboard den neuen "sensor.netzbezug seit mitternacht" anlegen können.
Das sollte es gewesen sein. Dieser Weg war mein Weg und muss nicht der ultimative sein.
Gruß Udo
Benutzer 58071
Benutzer 46898
Udo62
Moin, ich nutze Home Assistant Green und der "scan interval" steht bei mir störungsfrei auf " 1 ". Zusätzlich zu der hier anfangs beschriebenen Konfiguration frage ich auch noch die einzelnen Werte der 3 Phasen ab.
Benutzer 43362
Udo62
@Benutzer 43362
Bei mir hatte sich die ecotracker.api selbstständig verändert. Ich vermute durch ein Update seitens everhome. Da mein Zähler die 3 Phasen anzeigt, hatte ich ohne Änderung meinerseits Daten für die 3 Phasen. Die everhome.api zeigt bei mir dies hier an.
{ "power": 100, "powerPhase1": 50, "powerPhase2": 30, "powerPhase3": 20, "powerAvg": 150, "energyCounterOut": 20, "energyCounterIn": 500 }
Schau mal nach, was deine everhome.api anzeigt. Ist abhängig von deinem Zähler.
Wenn das bei dir auch so aussieht, dann kannst du in der configuration.yaml die 3 Phasen jeweils nachtragen.
rest:
- scan_interval: 1
resource: http://192.168.xxx.xxx/v1/json
sensor:
- name: "ecotracker_api"
unique_id: "EcoTrackerUdo"
json_attributes:
- "power"
- "powerPhase1"
- "powerPhase2"
- "powerPhase3"
- "powerAvg"
- "energyCounterIn"
- "energyCounterOut"
Dann noch die 3 Sensoren für die einzelnen Phasen zu den vorhandenen Sensoren der ecotracker.api nachtragen.
- name: "EcoTracker-aktueller-Verbrauch Phase1"
unique_id: "EcoTrackerPower Phase1"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase1') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch Phase2"
unique_id: "EcoTrackerPower Phase2"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase2') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch Phase3"
unique_id: "EcoTrackerPower Phase3"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase3') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
Speichern, testen, Neustart.
Neu angelegte Sensoren wie üblich sichtbar machen. Fertig
Gruß, Udo
Benutzer 41359
Benutzer 63836
Udo62
Guten Morgen. Im Prinzip habe ich nur das Script aus dem 2. Beitrag hier um die 3 Phasen erweitert.
Du müsstest also den Post von Benutzer 39283 am 05.01.2025 um 13:59 um meinen Post vom 27.10.2025 um 13:14 erweitern. Wenn gewünscht, könnte ich hier auch das komplette Script für YAML einfügen, der nimmt natürlich etwas Raum ein.
Zu deinen Zahlen
power": 125,"powerAvg": 100,"powerPhase1": 50,"powerPhase2": 50,"powerPhase3": 25,
"energyCounterIn": 145000,"energyCounterInT1": 100000,"energyCounterInT2": 45000, "energyCounterOut": 4500
Power= aktuelle Leistung Netz im Watt (negativer Wert bei Einspeisung möglich.)
PowerAvg= Durchschnitt Leistung Netz in Watt (negativer Wert bei Einspeisung möglich.)
Power Phase 1 = aktueller Leistung über Phase 1 in Watt. (negativer Wert bei Einspeisung möglich.)
PowerPhase2 usw.
EnergyCounterIn= der Zählerstand Bezug gesamt.
EnergyCounterInT1 und T2 werden Zwischenzähler sein für Jahres- oder Abrechnungszeitraum.
energyCounterOut= der Zählerstand Einspeisung gesamt.
Ich hoffe, es hilft.
Benutzer 63836
Benutzer 63836
Udo62
Hallo Frank
mach die mal keine Gedanken wegen deinem Alter, ich selbst bin auch über 60 und ich merke selbst, dass nicht immer sofort alles so einleuchtend ist.
80%Fluchen, 10%Staunen und 10% Lösungen erkennen und nutzen. Einfach weitermachen.
Hier die Antwort auf deine Frage.
Bei mir steht Round 4, da ich auf 4 Stellen hinter dem Komma auswerten möchte, Benutzer 39283 begnügt sich mit Round 2 = 2 Stellen hinter dem Komma.
Warum du nur zeitweise Daten siehst kann ich mir derzeit noch nicht erklären. Eventuell findet sich da auch noch eine Lösung.
Hier jetzt mal der komplette YAML-Script zum einfügen in die configuration.yaml für den ecotracker
# Eco-Tracker - Start
rest:
- scan_interval: 1
resource: http://192.168.XXX.XXX/v1/json
sensor:
- name: "ecotracker_api"
unique_id: "EcoTrackerFrank"
json_attributes:
- "power"
- "powerPhase1"
- "powerPhase2"
- "powerPhase3"
- "powerAvg"
- "energyCounterIn"
- "energyCounterOut"
template:
- sensor:
- name: "EcoTracker-aktueller-Verbrauch Phase1"
unique_id: "EcoTrackerPower Phase1"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
# zaehler laeuft auch rueckwaerts
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase1') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch Phase2"
unique_id: "EcoTrackerPower Phase2"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
# zaehler laeuft auch rueckwaerts
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase2') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch Phase3"
unique_id: "EcoTrackerPower Phase3"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
# zaehler laeuft auch rueckwaerts
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerPhase3') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch"
unique_id: "EcoTrackerVerbrauch"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
# zaehler laeuft nicht rueckwaerts
state: >
{% if ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(4)) < 0 %}
{{(states ('0.0') | float(0)) |round(4) }}
{% else %}
{{ ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(4)) }}
{% endif %}
unit_of_measurement: "W"
- name: "EcoTracker-aktueller-Verbrauch"
unique_id: "EcoTrackerBalkon"
device_class: 'power'
# kann negativ sein, deswegen die Abfrage
state: "{{ ((state_attr('sensor.ecotracker_api', 'power') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-durchschnitt-Verbrauch"
unique_id: "EcoTrackerDurchschnitt"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerAvg') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
- name: "EcoTracker-Netzbezug"
unique_id: "EcoTrackerBezug"
state: "{{ (((state_attr('sensor.ecotracker_api', 'energyCounterIn') | float(0)) / 1000) | round(4)) }}"
unit_of_measurement: "kWh"
device_class: 'energy'
state_class: "total_increasing"
- name: "EcoTracker-Einspeisung"
unique_id: "EcoTrackerEinspeisung"
state: "{{ (((state_attr('sensor.ecotracker_api', 'energyCounterOut') | float(0)) / 1000) | round(4)) }}"
unit_of_measurement: "kWh"
device_class: 'energy'
state_class: "total_increasing"
# Eco-Tracker – Ende
Was meinst du bitte mit deiner Nachfrage,erkläre mir das bitte genauer.
Ps: was kommt in Netzleistung hinein ? Bezug und Netzeinspeisung sind klar.
welcher sensor (Typ)von ecotracker da nicht alles angezeigt wird bei mir
Benutzer 63836
Udo62
Hallo Frank,
hab es gefunden, aber tatsächlich kannte ich bis gestern diesen Menüpunkt nicht. Muss in HA relativ neu sein. Hab aber mal ein wenig im Netz gesucht und ausprobiert. Hier wird ein Wert mit der Einheit Watt gefordert. Der ecotracker liefert einen solchen Wert über : „EcoTracker Durchschnitt Verbrauch ( Watt)“. ('sensor.ecotracker_api', 'powerAvg')
Bei PV Erzeugung wirst du ohne Werte deiner PV-Anlage nichts eintragen können.
Gruß Udo
Benutzer 63836
Udo62
Guten Morgen Frank,
verstehe ich nicht. Mit dem Script für den Ecotracker , egal ob mit meinem veränderten oder dem von Benutzer 39283 erstellst du dir doch genau diesen Sensor .
Dieser Sensor ist bei Verbrauch positiv und wird bei Einspeisung negativ, entspricht der Device_class „power“ und liefert die Einheit Watt.
- name: "EcoTracker-durchschnitt-Verbrauch"
unique_id: "EcoTrackerDurchschnitt"
device_class: 'power'
state: "{{ ((state_attr('sensor.ecotracker_api', 'powerAvg') | float(0)) | round(4)) }}"
unit_of_measurement: "W"
sollte eigentlich genau dem entsprechen was du suchst.
Gruß Udo
Benutzer 63836
Udo62
Hallo Frank,
kein Problem. Ich nutze ebenfalls HA Green, was die Sache ja vereinfachen sollte.
Schau bitte mal in die Einstellungen, hier solltest du unter „Geräte & Dienste“ im Menü „Integration“ unter „ Konfiguriert“ die Integration „Rest“ bzw „RESTful“ finden mit einer Entität : ecotracker_api. Dies ist die Integration des EcoTrackers. Ich gehe davon aus, diese ist vorhanden denn sonst hättest du ja nicht diese Werte. Deine Werte =
“power": 125,"powerAvg": 100,"powerPhase1": 50,"powerPhase2": 50,"powerPhase3": 25,
"energyCounterIn": 145000,"energyCounterInT1": 100000,"energyCounterInT2": 45000, "energyCounterOut": 4500
Damit kann man soweit erstmal nicht viel anfangen.
Über ein Scrip in der configuration_yaml können wir jetzt für die einzelnen Punkte wie „power“, „powerAvg“, „powerPhase1“ usw einzelne Sensoren erstellen.
Um die „configuration_yaml bearbeiten zu können brauchst du als zusätzliche Anwendung z.B. den „File editor“ der unter den „Einstellungen“ / „ Add-ons“ hinzugefügt werden muss.
Den hast du wahrscheinlich auch schon?