NEWS
Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten
-
@bananajoe
nur bei der alten Version war das esp_8266.
Bei den neuen, AP verbinden dann im Browser 192.168.1.1 im Setup PW vergeben. -
@ralla66 hab ich doch gerade im aktuellen Quellcode auf Github nachgesehen ...
https://github.com/grindylow/ahoy/blob/main/tools/esp8266/config.h -
@bananajoe
wohin senden ist genau die Frage oder wer der Broker ?
Topic Esp Setup ist inverter/devcontrol/0 , per client sende ich inverter/devcontrol/0/11 und Payload.
Dann wird im IO Mqtt Broker der DP mit dem Wert des Payloads auch angezeigt / erstellt.
Publish zu DP geht ja aber kein senden an den ESP. -
@ralla66 sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:
@bananajoe
wohin senden ist genau die Frage oder wer der Broker ?
Topic Esp Setup ist inverter/devcontrol/0 , per client sende ich inverter/devcontrol/0/11 und Payload.
Dann wird im IO Mqtt Broker der DP mit dem Wert des Payloads auch angezeigt / erstellt.
Publish zu DP geht ja aber kein senden an den ESP.Also, den ersten Reiter deines MQTT-Adapter Setups konnte ich nicht sehen. Deswegen weis ich auch nicht, was du als Broker benutzt (den Adapter selbst oder den Adapter als Client mit externen Broker).
Der Broker verwaltet die Informationen, der Ahoy published diverse Informationen in Topics. Gleichzeit hat er Topics abonniert bei denen er benachrichtigt wird (vom Broker) wenn sich etwas ändert (subscription). Das ist die simple, wie ich finde total coole, Funktionsweise von MQTT.
Und beim Rest verstehe ich gerade Bahnhof. Also noch mal die Frage: Woher hast du die Information bezüglich des MQTT-Topics für das Steuern? Bitte die Quelle verlinken, ich würde mir das dann selbst einmal anlesen. Eventuell interpretiere ich die Informationen ja anders als du.
-
Mqtt Adapter ist der Broker.
0.5.15 zip ganz unten
Neueste Release ist eine Readme mit dabei. -
@ralla66 also wenn ich deine Scrrenshots betrachte bin ich mir wegen deines Topics nicht sicher.
Hast du mal was du in Ahoy als Topic eingestellt hast?In deinem Screenshot oben wäre für mich dein AHOY-DTU auf einer falschen Ebene (weil etwas tiefer cmnd von Tasmota eine Ebene höher zu sein scheint)
-
-
@ralla66 dein Topic auf der DTU ist falsch. Schreib da - um den überblick zu behalten nur
inverter2
oder ein anderes von dir ausgedachtes Wort ohne Sonderzeichen etc. Ich hab dahoymiles
stehen.nach einem Neustart sollte er sich mit den Werten unter
inverter2/...
melden, also z.B. sollte der Topic der Versionsnummer dann
inverter2/version
sein.
Dann kannst du den Topic für die Leistungsbegrenzung setzen (für den ersten Inverter =devcontrol/0/
)inverter2/devcontrol/0/11/0
anlegen und mit einem Wert in Watt füttern (nicht persistent).
Ja, die 0 am Ende des Topics muss wohl nicht sein, so ist aber zwischen den 4 Varianten (/0, /1, /256 /257) klar unterschiedenIch hab mir nun auch einen Wemos mit der v0.5.15 geflasht, sieht gut aus, morgen tausche ich den alten mit v0.4.22 dagegen aus.
-
ok Danke, dann teste ich mal fleißig
-
@bananajoe sagte in Photovoltaik - Hoymiles HM-1200 Balkonkraftwerk Daten:
@ralla66 dein Topic auf der DTU ist falsch. Schreib da - um den überblick zu behalten nur
inverter2
oder ein anderes von dir ausgedachtes Wort ohne Sonderzeichen etc. Ich hab dahoymiles
stehen.nach einem Neustart sollte er sich mit den Werten unter
inverter2/...
melden, also z.B. sollte der Topic der Versionsnummer dann
inverter2/version
sein.
Soweit ist es mir noch klar und funktioniert auch.
Ich habe mir die Anleitung (https://github.com/grindylow/ahoy/blob/main/tools/esp8266/User_Manual.md) auch mehrmals durchgelesen, scheitere aber an dem was Du hier auch beschreibst:Dann kannst du den Topic für die Leistungsbegrenzung setzen (für den ersten Inverter =
devco, ntrol/0/
)inverter2/devcontrol/0/11/0
anlegen und mit einem Wert in Watt füttern (nicht persistent).
Ja, die 0 am Ende des Topics muss wohl nicht sein, so ist aber zwischen den 4 Varianten (/0, /1, /256 /257) klar unterschiedenWenn ich das richtig verstehe, muss ich das selbst anlegen und wird nicht automatisch erstellt?
Beim Anlegen hab ich die Möglichkeit zwischen Kanal, Gerät und Datenpunkt zu wählen.
devcontrol habe ich als Gerät angelegt, 0 als Kanal, 11 als Datenpunkt. Ob das so passt, weiß ich nicht. Ist eher trial-and-errorbzw. was mir angeboten wurde. Eigentlich bräuchte ich nochmal ne 0, aber das geht nicht mehr.
Kannst Du hier bitte mal Licht ins Dunkel bringen? Oder einen Screenshot von einer funktionierenden Darstellung posten?
Danke. -
@netfriend 11 müsste ein Ordner sein und 0 dahinter als Datenpunkt.
Aber eben nicht über den Objekt-Explorer.
Entweder über MQTT Explorer über per JavaScript:sendTo('mqtt.1', 'sendMessage2Client', {topic: 'inverter/devcontrol/0/11/0', message: '600'});
musst du nur einmalig ausführen und danach das Skript wieder beenden
-
@bananajoe Danke für den Hinweis.
Wahrscheinlich stelle ich mich zu blöd an, aber wenn ich im IOBroker -> Skripte -> JS-Skript deinen Code einfüge, stürzt die Javaskript-Instanz ab. Versuche ich das mit Blockly -> SendTo läuft es zwar ohne Absturz, aber sollte ich dann im Explorer des mqtt-Adapters diesen Eintrag nicht sehen? Ich habe es so verstanden, dass ich diesen zwar dort nicht anlegen kann, aber hätte vermutet, dass er dort angezeigt wird, nachdem das Skript ausgeführt wurde. Oder liege ich da falsch? -
@netfriend also eigentlich sollte das nicht zu einem Absturz führen ... hatte das bei mir getestet und es lief.
MQTT-Instanz 1 war doch richtig?Bei Blockly musst du daruf achten das es richtig verpackt ist, hier ein Beispiel
Insbesondere das das
sendMessage2Client
bei Befehl stehen muss.Ich glaube ich mache mal ein Ticket auf das dieses Topics einmalig beim Start publishen sollen.
-
-
danke fürs Issue, mein Englisch ist begrenzt
steuern aus js geht, jetzt fehlt noch der DP im Mqtt
Warum ist die 200 falsch im Blockly wegen Number oder weil der DP fehlt ?
Nachtrag, der DP Limit ist in % nicht das der Wert zu hoch ist
Nö
mqtt.0
2022-08-22 21:36:29.290 info Client [AHOY-DTU] subscribes on "inverter/devcontrol/#" with regex /^mqtt.0.inverter.devcontrol(..*)?/ -
@ralla66 was sagt den der MQTT-Explorer, kommen die 200 da an?
Eventuell müssen die noch vorher nach Text gewandelt werden.
Der Quelltext zwischen der Blockly-Variante und dem puren JavaScript, das reine Senden sieht halt nicht 100% gleich aus.Und du schaffst es immer deine Informationen mich ganz verwirren, z.B. die 4 letzten Zeilen.
Limit bezieht sich wahrscheinlich auf den 2. Screenshot ... der Rest ... keine Ahnung -
@ralla66 Ich habe es anhand deines Beispiels in Blockly soeben auch probiert. Allerdings sehe ich im Protokoll kein "SendTo" mit "SendMessage2Client" usw. So als ob gar nichts passiert. Den Text, den ich im Debugfenster ausgebe, sehe ich aber. Von daher denke ich, dass das Skript einmalig durchlaufen wird. Irgendwie seltsam.
Ist denn "myMessage" wirklich eine Zahl oder doch eher ein String?
Ich habe mehrere Blockly-Skripte laufen, die funktionieren alle.@BananaJoe Ja, war mqtt.1 (hatte eine zweite Instanz zum Spielen angelegt). So hatte ich es auch probiert. Inzwischen habe ich diese wieder gelöscht und es mit mqtt.0 probiert. Im Javascript ausgeführt, auch ohne Ergebnis. Diesmal ist der Javaskript-Adapter nicht abgestürzt. Irgendwie komisch das Ganze....
Ach ja,
für Anlegen des Issues bei ahoy!
-
stell mal die Adapter im Expertenmodus um auf alles mitloggen.
Mach grad nen Backup- -
@ralla66 wenn der Datenpunkt einmal angelegt ist kannst den auch ganz normal ansprechen wie jeden anderen Datenpunkt auch - also mit setState.
Es über
sendTo
zu machen ist aber auch immer ok -
@bananajoe
der Datenpunkt Powerlimit scheint nur ein Anzeigewert zu sein zur Info halt.