Open FloBer431 opened 4 months ago
MQTT-Explorer verbunden mit dem Zendure-Broker oder mit dem Mosquitto-Addon (also Home Assistant)?
MQTT Explorer verbunden mit Zendure direkt liefert Daten, das Addon in HA liefert keine Daten
Dann scheint die Verbindung zwischen Mosquitto und dem Zendure-Broker nicht zu stehen. Was sagt das Mosquitto Log nach dem Starten des Addons?
Habe gerade noch etwas gefunden woran es liegen könnte, komme da sber auch nicht weiter. Direkt in HA gibt es den Bereich customize von mqtt, muss da noch was eingetragen werden? richtiger folder etc?
Wenn du den gemäß Anleitung auch angelegt hast, ist das so korrekt.
Ja genau, ich bin 1:1 der Anleitung gefolgt und habe dann mit mkdir den Ordner angelegt.
Ansonsten zeigt der Log keine Fehlermeldungen an, soweit ich sehen kann. Leider erscheint die IP adresse des Zendure Hubs aber auch nirgends
So sieht der Log aus:
Ok, und dann sieht du wenn du dich per MQTT Explorer mit dem Home Assistant verbindest keinen Eintrag der so heißt wie dein AppKey?
Doch da sehe ich einen Eintrag, rot ist mein AppKey: Aber in HomeAssistant selbst sind alle Entitäten unbekannt:
Da sollte einer auf "gleicher Höhe" wie homeassistant oder tasmota sein.
Da sollte einer auf "gleicher Höhe" wie homeassistant oder tasmota sein.
Hmm komisch, wenn ich eine direkte Verbindung mit MQTT-Explorer mache, dann sehe ich die Daten, in Home Assistant mit genau dem Script aus der Anleitung nichts ...
Na ja, irgendwas passt da noch nicht. Und so lange die Einträge im MQTT-Explorer bei direkter Verbindung mit dem Zendure-Broker nicht so auch bei Home Assistant/Mosquitto auftauchen, werden die Entitäten keinen Wert haben.
Vielen danke für die tolle Anleitung.
Eine Frage mir werden keine Akkustände angezeigt
was muß ich bei "Batterie
@ottifant011 Wenn dann die Seriennummer der jeweiligen Batterie.
name: "Batterie 01 maxTemp"
also nicht so eintragen
Doch. So wie es da steht, alles in den spitzen Klammern, inklusiver der Klammern durch deine Daten ersetzen:
- name: "Batterie <Nr> maxTemp"
unique_id: "<deviceID>Batterie<Nr>maxTemp"
state_topic: "<appKey>/<deviceID>/state"
value_template: >
{% if (value_json.packData | is_defined) %}
{% for i in value_json.packData %}
{% if i.sn == "<EureBatterieSeriennummer>" %}
{{ (i.maxTemp | float - 273.15) | round(2) }}
{% endif %}
{% endfor %}
{% endif %}
unit_of_measurement: "°C"
device_class: "temperature"
device:
name: "SolarFlow"
identifiers: "<EurePVHubSeriennummer>"
manufacturer: "Zendure"
model: "SmartPV Hub 1200 Controller"
<Nr>
und da kommt die seriennummer der Baterie rein ok vielen Dank
Nein, die kommt an Stelle <EureBatterieSeriennummer>
. Bei <Nr>
kannst du hinschreiben was du willst. Bei mir heißen die Batterien halt 1, 2 und 3.
Ich habe leider immer noch keinen fehler erkennen können, alle Seriennummern, uniqueIDs und AppKeys sind überall eingetragen, genauso wie ich sie aus der direkten MQTT Express Verbindung herausbekommen habe.
Ich habe leider immer noch keinen fehler erkennen können, alle Seriennummern, uniqueIDs und AppKeys sind überall eingetragen, genauso wie ich sie aus der direkten MQTT Express Verbindung herausbekommen habe.
Bevor deine manuellen MQTT YAML Einträge irgendwas machen können, muss erstmal die Verbindung stehen.
Du hast mir noch nicht gesagt, ob du am Mosquitto die gleichen Einträge findest, wie am Zendure (per MQTT-Explorer).
Ich habe leider immer noch keinen fehler erkennen können, alle Seriennummern, uniqueIDs und AppKeys sind überall eingetragen, genauso wie ich sie aus der direkten MQTT Express Verbindung herausbekommen habe.
Bevor deine manuellen MQTT YAML Einträge irgendwas machen können, muss erstmal die Verbindung stehen.
Du hast mir noch nicht gesagt, ob du am Mosquitto die gleichen Einträge findest, wie am Zendure (per MQTT-Explorer).
Genau da ist ja das Problem, ich habe auch das script, welches über das Terminal erstellt nochmals kontrolliert und AppKey und AppSecret wurden genau nach dem Muster eingetragen:
connection zendure-broker
address mqtt.zen-iot.com:1883
remote_username <appKey>
remote_password <appSecret>
remote_clientid <appKey>
topic <appKey>/# in
Siehe hier:
Einträge sind direkt aus der funktionierenden MQTT Explorer - Zendure verbindung
Ok, dann sollte das so aussehen: Bitte nicht von dem solarflow-hub Topic irritieren lassen. Es geht um das darunter.
Frage: Was für einen Router hast du?
Jetzt funktioniert es, keine Ahnung was ich jetzt genau geändert habe, hab einmal alles nochmal gelöscht und neu erstellt.
Danke für eure Hilfe!
Wie gesagt, um ein Update aller Entitäten zu forcieren in der Zendure App auf die Batteriedetailübersichtsseite gehen und dort ein wenig verweilen.
Wie gesagt, um ein Update aller Entitäten zu forcieren in der Zendure App auf die Batteriedetailübersichtsseite gehen und dort ein wenig verweilen.
Ja das hab ich gerade gemacht, Frage ist noch, wie oft aktuslierist das System jetzt? also wie "live" sind die Daten und was ist die Abfragerate?
Von bis. An für sich bei Werteänderung. Es gibt also kein periodisches Abfragen soweit ich das weiß.
okay, danke dir
Jetzt bin ich gerade auf ein weiteres Thema gestoßen, gerne würde ich in das HA Energie dashboard auch die Batterie einbinden. Dazu benötige ich ja die Werte Energie in Batterie und Energie aus Batterie. Dies sollten doch die Variablen "Output Pack Power" und "Input Pack Power" sein, diese dann mit einer Riemann Summenintegration und fertig nur leider liefern die beiden Werte absolut keine Daten, auch nicht beim Verweilen in der Batterieansicht. Ist das bekannt? Kann man was machen?
Sind das die einzigen beiden? Bei mir haben die Daten.
Wie sieht die YAML aktuell aus?
Ja sind eigentlich die einzigen beiden:
yaml sieht an der stelle so aus: Output home power liefert aber werte
Hmm, kann dann eigentlich nur noch daran liegen, dass die if im value_template zuschlägt und dem Sensor quasi dauerhaft ne 0 verpasst. Was passiert, wenn du die if raus nimmst und auch das expire_after. Die beiden Sensoren also vom YAML Aufbau so sind wie Output Home Power?
Sieht jetzt mal so aus im yaml: Daten kommen jetzt an, sind aber alles andere als live, aber das ist allgemein aktuell sehr extrem bei mir, Akku hat gerade eben gewechselt von Laden auf Einspeisen, und das ganze war erst 3/4 Minuten später so in HA ersichtlich
Die Daten: live dazu aus der App: 125W aus Akku 0W in Akku
Hmm, kann dann eigentlich nur noch daran liegen, dass die if im value_template zuschlägt und dem Sensor quasi dauerhaft ne 0 verpasst. Was passiert, wenn du die if raus nimmst und auch das expire_after. Die beiden Sensoren also vom YAML Aufbau so sind wie Output Home Power?
Was meinst du denn mit expire after if habe ich ja entfernt
Hmm, kann dann eigentlich nur noch daran liegen, dass die if im value_template zuschlägt und dem Sensor quasi dauerhaft ne 0 verpasst. Was passiert, wenn du die if raus nimmst und auch das expire_after. Die beiden Sensoren also vom YAML Aufbau so sind wie Output Home Power?
Was meinst du denn mit expire after if habe ich ja entfernt
U. a. Zeile 38 im letzten YAML Screenshot.
An der “Laufzeit" der Daten kann ich nichts ändern.
Das beide Entitäten eine Leistung anzeigen liegt daran, dass Zendure keine 0 (Watt) übermittelt. Die Entität bleibt auf dem letzten Wert stehen. Kannst du über Automatisierungen abfagen/korrigieren.
Was macht das expire_after denn genau? Hast du dazu ein Beispiel, also zu so einer Automatisierung die das korigiert?
Was macht das expire_after denn genau? Hast du dazu ein Beispiel, also zu so einer Automatisierung die das korigiert?
Eigentlich sollte dass das Topic/den Wert nach 120 s für ungültig erklären. Funktioniert aber irgendwie nicht. Also macht es aktuell sichtbar gar nichts.
alias: Batterieentladung
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.solarflow_pack_input_power
above: 0
condition:
- condition: not
conditions:
- condition: state
entity_id: sensor.solarflow_output_pack_power
state: "0"
action:
- service: mqtt.publish
metadata: {}
data:
qos: "0"
topic: <appKey>/<deviceID>/state
payload: "{\"outputpackPower\":0}"
mode: single
alias: Batterieladung
description: ""
trigger:
- platform: numeric_state
entity_id:
- sensor.solarflow_output_pack_power
above: 0
condition:
- condition: not
conditions:
- condition: state
entity_id: sensor.solarflow_pack_input_power
state: "0"
action:
- service: mqtt.publish
metadata: {}
data:
qos: "0"
topic: <appKey>/<deviceID>/state
payload: "{\"packInputPower\":0}"
mode: single
Bitte prüfen ob die Sensorbezeichnungen so passen und deine Daten ergänzen.
Werde ich mal so übernehmen und testen, danke.
Hab gerade noch einen Fehler im Batterieentladen gefunden, müsste so heißen oder: payload: "{\"outputPackPower\":0}"
Oh, ja. Muss es.
Ich habe seit vorgestern das Problem, dass Abends (zwischen 19 und 20 Uhr) zu Begin der Batterieentladung über den Hub das Dashboard auf einmal angibt, dass aus der Batterie angeblich ca. 1,4kWh entladen worden sind. Es schaut so aus als ob die Automation die Werte auf "0" zu setzen nicht mehr greift.
Bilder Dashboard und Verlauf Batterieladung und Entladung?
Anbei die Screenshots:
Wie sieht der ...discharge_sum aus? Der müsste dann ja dauerhaft einen Wert angezeigt haben?
Sind die Entitätennamen in den Automatisierungen richtig?
Da stehen bis um 19:30 über 100W drin. Die Automatisierung sieht so aus:
Heißen deine Sensoren auch so wie in der Automatisierung?
Also sensor.solarflow_pack_input_power
?
Oder heißt der sensor.solarflow_power_battery_discharge
?
Offtopic: Du hast die Automatisierungen verkehrt herum benannt.
Stimmt, hab ich umbenannt, danke.
Der Sensor sensor.solarflow_power_battery_discharge
ist ein Templatesensor dessen Quelle der Sensor sensor.solarflow_pack_input_power
ist.
Daher sollte es doch passen, wenn die beiden Automationen sensor.solarflow_pack_input_power
und sensor.solarflow_output_pack_power
auf 0 zurücksetzen? Oder bringe ich hier was durcheinander?
Ja, wenn es den Sensoren noch gibt, dann reicht das. Die Automatisierungen greifen aber auch nur bei einem Wechsel von Laden zu Entladen und andersherum. D. h. dein Fall ist ja an für sich nicht abgedeckt...
Hallo, vielen Dank schonmal für die super Anleitung um neben einem bestehenden MQTT Broker einen weiteren anzulegen. Ich bin der Anleitung soweit gefolgt und habe sie mit der manuellen EInrichtung der Sensoren durchgeführt. Leider zeigen alle meine Sensoren den zustand Unbekannt und keinerlei Werte. Über den MQTT-explorer bekomme ich jedoch werte.
Vielen Dank für eure Tipps!