MQTT Zeitlimit
Moderator: Ulrich
MQTT Zeitlimit
Hallo liebe Forumsmitglieder,
erstmal danke für das tolle Projekt!
Ich betreibe eine (kleine) Inselanlage und habe dank dem Forum schon die meisten Dinge lösen können (jetzt mit ein paar grauen Haaren mehr ).
Setting:
Es läuft ein Effekta AX Wechselrichter Derivat (48V Strang), 2 EPEVER Laderegler (12V Stränge), und ein Pylontech Batteriespeicher (5 US200Plus).
Das ganze als Multiregler Version der MQTT Daten zum iobroker sendet. Lokale Speicherung aller Daten in der DB klappt problemlos.
Aktuell habe ich in meiner Konfiguration noch 2 Probleme:
Problem 1:
Der Effekta liefert USB seitig Spannung auf dem USB Kabel, sodass ein remote Reboot nicht klappt (am Raspberry 4). In den Logs konnte ich keinen schlüssigen Grund finden warum das so ist.
Ich muss immer erst mal Spannung + USB Kabel (vom Effekta) abstecken, dann klappt der reboot (ist eher suboptimal, da ich nicht remote rebooten kann). Diverse aktive/passive Hubs haben das Problem leider nicht beseitigt.
Problem 2:
Ich schicke alle Daten via MQTT zum iobroker, aber offenbar sind die Pylontech Daten bei 5 Packs so umfangreich, dass es sich nicht in den 60 Sekunden ausgeht. Ich habe mal testweise Pylontech als Gerät 1 definiert, dann kommen zwar die Daten an, aber nurmehr die Daten eines weiteren Ladereglers.
Jetzt wäre die Frage ob man das Senden für MQTT auf 2 Minuten setzen kann (würde mir ausreichen).
Ziel ist übrigens die Ansteuerung mehrerer Tasmota Steckdosen, die ich nur mit Überschussstrom bei vollen Batterien ansteuern möchte. Ich kann zwar behelfsweise die Daten vom Effekta nutzen würde aber auch gernde den SOC der Akkus im Auge behalten.
danke schon mal,
christoph
erstmal danke für das tolle Projekt!
Ich betreibe eine (kleine) Inselanlage und habe dank dem Forum schon die meisten Dinge lösen können (jetzt mit ein paar grauen Haaren mehr ).
Setting:
Es läuft ein Effekta AX Wechselrichter Derivat (48V Strang), 2 EPEVER Laderegler (12V Stränge), und ein Pylontech Batteriespeicher (5 US200Plus).
Das ganze als Multiregler Version der MQTT Daten zum iobroker sendet. Lokale Speicherung aller Daten in der DB klappt problemlos.
Aktuell habe ich in meiner Konfiguration noch 2 Probleme:
Problem 1:
Der Effekta liefert USB seitig Spannung auf dem USB Kabel, sodass ein remote Reboot nicht klappt (am Raspberry 4). In den Logs konnte ich keinen schlüssigen Grund finden warum das so ist.
Ich muss immer erst mal Spannung + USB Kabel (vom Effekta) abstecken, dann klappt der reboot (ist eher suboptimal, da ich nicht remote rebooten kann). Diverse aktive/passive Hubs haben das Problem leider nicht beseitigt.
Problem 2:
Ich schicke alle Daten via MQTT zum iobroker, aber offenbar sind die Pylontech Daten bei 5 Packs so umfangreich, dass es sich nicht in den 60 Sekunden ausgeht. Ich habe mal testweise Pylontech als Gerät 1 definiert, dann kommen zwar die Daten an, aber nurmehr die Daten eines weiteren Ladereglers.
Jetzt wäre die Frage ob man das Senden für MQTT auf 2 Minuten setzen kann (würde mir ausreichen).
Ziel ist übrigens die Ansteuerung mehrerer Tasmota Steckdosen, die ich nur mit Überschussstrom bei vollen Batterien ansteuern möchte. Ich kann zwar behelfsweise die Daten vom Effekta nutzen würde aber auch gernde den SOC der Akkus im Auge behalten.
danke schon mal,
christoph
- Ulrich
- Administrator
- Beiträge: 5971
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 132 Mal
- Danksagung erhalten: 840 Mal
Re: MQTT Zeitlimit
1) Was passiert denn, wenn du auf der Console "reboot" eingibst? Das hat doch normalerweise nicht mit Spannungen zu tun?
2) Wie schnell die Daten an den Broker geliefert werden, hängt von der Geschwindigkeit des Brokers ab. Welchen Broker hast Du konfiguriert?
Das Versenden der Daten darf auch bei großen Mengen nur Sekunden dauern. Schau einmal in die LOG Datei. Vielleicht siehst Du da etwas.
2) Wie schnell die Daten an den Broker geliefert werden, hängt von der Geschwindigkeit des Brokers ab. Welchen Broker hast Du konfiguriert?
Das Versenden der Daten darf auch bei großen Mengen nur Sekunden dauern. Schau einmal in die LOG Datei. Vielleicht siehst Du da etwas.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: MQTT Zeitlimit
ad 1)
leider nix - das ist das Problem. Auch ein
sudo reboot -f
bringt leider nichts. Nur er "Hard Reset" klappt, aber da eben nur wenn ich überall den Strom kappe.
Ein zweiter Rapsi 4 zeigt mit dem Image das gleiche Problem. Der Raspi 3 zeigt es nicht (aber dem will ich die Multi mit 4 Geräten nicht antun).
ad 2)
Auf dem iobroker läuft mqtt. Laut dem debug log ist das Timing dort eher unkritisch, die Daten der andern 3 Geräte kriegt er in knapp einer Sekunde übertragen.
Hier noch das solaranzeige Log. Hier sieht es danach aus, dass das MQTT Skript nicht in der knappen Minute fertig wird?
leider nix - das ist das Problem. Auch ein
sudo reboot -f
bringt leider nichts. Nur er "Hard Reset" klappt, aber da eben nur wenn ich überall den Strom kappe.
Ein zweiter Rapsi 4 zeigt mit dem Image das gleiche Problem. Der Raspi 3 zeigt es nicht (aber dem will ich die Multi mit 4 Geräten nicht antun).
ad 2)
Auf dem iobroker läuft mqtt. Laut dem debug log ist das Timing dort eher unkritisch, die Daten der andern 3 Geräte kriegt er in knapp einer Sekunde übertragen.
Code: Alles auswählen
2020-08-24 07:10:17.887 - debug: mqtt.0 (7134) stateChange mqtt.0.solaranzeige.dev1.wattstundengesamtheute: {"val":456.82,"ack":true,"ts":1598245817833,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1598245808873}
[...]
2020-08-24 07:10:17.947 - debug: mqtt.0 (7134) stateChange mqtt.0.solaranzeige.dev3.produkt: {"val":"Tracer","ack":true,"ts":1598245817884,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1598173457767}
Code: Alles auswählen
24.08. 07:16:01 -Multi Regler Auslesen [Start].
24.08. 07:16:01 MQT-0-CONX-OK|
24.08. 07:16:01 -Verarbeitung von: '1.user.config.php' Regler: 26
24.08. 07:16:01 |-------------- Start infini_p16.php ------------------------
24.08. 07:16:01 o -Hardware Version: 4B
24.08. 07:16:01 -WattstundenGesamtHeute: 554.63
24.08. 07:16:01 -Protokoll: 30
24.08. 07:16:01 -Modus: B
24.08. 07:16:02 -MQTT Daten zum [ 192.168.0.245 ] senden.
24.08. 07:16:02 * -Daten zur lokalen InfluxDB [ solaranzeige1 ] gesendet.
24.08. 07:16:02 -Multi-Regler-Ausgang. 6
24.08. 07:16:08 -OK. Datenübertragung erfolgreich.
24.08. 07:16:08 -WattstundenGesamtHeute: 571.77
24.08. 07:16:08 |-------------- Stop infini_p16.php -----------------------
24.08. 07:16:08 -Verarbeitung von: '2.user.config.php' Regler: 3
24.08. 07:16:08 |------------ Start tracer_regler.php ------------------------
24.08. 07:16:10 -MQTT Daten zum [ 192.168.0.245 ] senden.
24.08. 07:16:10 * -Daten zur lokalen InfluxDB [ solaranzeige2 ] gesendet.
24.08. 07:16:10 -Multi-Regler-Ausgang. 5
24.08. 07:16:15 -OK. Datenübertragung erfolgreich.
24.08. 07:16:15 |------------ Stop tracer_regler.php ----------------------
24.08. 07:16:15 -Verarbeitung von: '3.user.config.php' Regler: 3
24.08. 07:16:15 |------------ Start tracer_regler.php ------------------------
24.08. 07:16:16 -MQTT Daten zum [ 192.168.0.245 ] senden.
24.08. 07:16:16 * -Daten zur lokalen InfluxDB [ solaranzeige3 ] gesendet.
24.08. 07:16:16 -Multi-Regler-Ausgang. 6
24.08. 07:16:22 -OK. Datenübertragung erfolgreich.
24.08. 07:16:22 |------------ Stop tracer_regler.php ----------------------
24.08. 07:16:22 -Verarbeitung von: '4.user.config.php' Regler: 15
24.08. 07:16:22 |--------------- Start us2000_bms.php -----------------
24.08. 07:16:45 -MQTT Daten zum [ 192.168.0.245 ] senden.
24.08. 07:16:45 * -Daten zur lokalen InfluxDB [ solaranzeige4 ] gesendet.
24.08. 07:16:45 -Multi-Regler-Ausgang. -16
24.08. 07:16:45 -OK. Datenübertragung erfolgreich.
24.08. 07:16:45 |--------------- Stop us2000_bms.php -----------------
24.08. 07:16:45 -Multi Regler Auslesen [Stop].
24.08. 07:16:58 MQT-Ende der Verarbeitung. (MQTT)
Re: MQTT Zeitlimit
Kurzes Update/Lösung zu Problem 1:
Ich habe jetzt in der raspi-config die interne serielle Schnittstelle deaktiviert.
Komischerweise klappt damit dann der reboot (verstehe zwar nicht ganz warum, aber so lang es klappt passt es
Ich habe jetzt in der raspi-config die interne serielle Schnittstelle deaktiviert.
Komischerweise klappt damit dann der reboot (verstehe zwar nicht ganz warum, aber so lang es klappt passt es
- Ulrich
- Administrator
- Beiträge: 5971
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 132 Mal
- Danksagung erhalten: 840 Mal
Re: MQTT Zeitlimit
Die Verarbeitung wird nach 58 Sekunden beendet. Also passt das. Ansonsten würde es auch eine Fehlermeldung geben.Problem 2:
Ich schicke alle Daten via MQTT zum iobroker, aber offenbar sind die Pylontech Daten bei 5 Packs so umfangreich, dass es sich nicht in den 60 Sekunden ausgeht. Ich habe mal testweise Pylontech als Gerät 1 definiert, dann kommen zwar die Daten an, aber nurmehr die Daten eines weiteren Ladereglers.
Jetzt wäre die Frage ob man das Senden für MQTT auf 2 Minuten setzen kann (würde mir ausreichen).
Gibt es noch ein Problem?
Schau doch einmal in den Broker, wie lange die Übertragung von den einzelnen Geräten wirkllich dauert. Normalerweise nur ein paar Sekunden.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: MQTT Zeitlimit
Ich habe jetzt nochmals geschaut. Laut log vom iobroker geht die Übertragung der drei ersten Geräte unter einer Sekunde. Daran sollte es also nicht liegen.
Ich habe jetzt versucht ("dev1", ... sind meine MQTTGeraet Namen) mit: "dev1/#,dev2/#,dev3/#,dev4/pack1_ah_left" in der MQTTAuswahl nur einen einzigen Wert vom vierten Gerät zu übertragen - auch das klappt leider nicht.
Ist der Auswahlstring korrekt? Muss ich die Auswahl in alle 4 Configs scheiben (hätte beides probiert)?
Das Ergebnis ist jedenfalls ein Fehler (Übertragung 1-3 klappt, bei 4 kommt das):
Ich habe jetzt versucht ("dev1", ... sind meine MQTTGeraet Namen) mit: "dev1/#,dev2/#,dev3/#,dev4/pack1_ah_left" in der MQTTAuswahl nur einen einzigen Wert vom vierten Gerät zu übertragen - auch das klappt leider nicht.
Ist der Auswahlstring korrekt? Muss ich die Auswahl in alle 4 Configs scheiben (hätte beides probiert)?
Das Ergebnis ist jedenfalls ein Fehler (Übertragung 1-3 klappt, bei 4 kommt das):
Code: Alles auswählen
27.08. 07:49:17 -MQTT Daten zum [ 192.168.0.245 ] senden.
27.08. 07:49:17 * -Daten zur lokalen InfluxDB [ solaranzeige3 ] gesendet.
27.08. 07:49:17 -Multi-Regler-Ausgang. 6
27.08. 07:49:23 -OK. Datenübertragung erfolgreich.
27.08. 07:49:23 |------------ Stop tracer_regler.php ----------------------
27.08. 07:49:23 -Verarbeitung von: '4.user.config.php' Regler: 15
27.08. 07:49:23 |--------------- Start us2000_bms.php -----------------
27.08. 07:49:39 -InfluxDB => [ Service Anzahl_Packs=
]
27.08. 07:49:39 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
'url' => 'http://localhost/write?db=solaranzeige4&precision=s',
'content_type' => 'application/json',
-
- Beiträge: 1216
- Registriert: Mo 22. Jun 2020, 08:58
- Wohnort: Ulm / Neu-Ulm
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 144 Mal
Re: MQTT Zeitlimit
Hast Du auch eine Datenbank mit dem Namen solaranzeige4 ?
Gruß Timo
Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen
Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de
Tibber Invite (100% Öko-Strom + 50€ Bonus)
Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen
Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de
Tibber Invite (100% Öko-Strom + 50€ Bonus)
Re: MQTT Zeitlimit
Ja klar, wenn ich MQTT für Gerät 4 ausschalte klappt auch die Übertragung in die Influx:
Code: Alles auswählen
27.08. 09:16:22 -Verarbeitung von: '4.user.config.php' Regler: 15
27.08. 09:16:22 |--------------- Start us2000_bms.php -----------------
27.08. 09:16:45 * -Daten zur lokalen InfluxDB [ solaranzeige4 ] gesendet.
27.08. 09:16:45 -Multi-Regler-Ausgang. -16
27.08. 09:16:45 -OK. Datenübertragung erfolgreich.
27.08. 09:16:45 |--------------- Stop us2000_bms.php -----------------
27.08. 09:16:45 -Multi Regler Auslesen [Stop].
Ich vermute es hakt irgenwo am Timing für die Aufbereitung der Daten.
Bei der "MQTTAuswahl" bin ich mir nicht sicher ob ich falsche Paramter übegebe - mit der Auswahl kommen aktuell keine Daten an (auch mqtt.fx sieht nix).
- Ulrich
- Administrator
- Beiträge: 5971
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 132 Mal
- Danksagung erhalten: 840 Mal
Re: MQTT Zeitlimit
Der Fehler liegtbei dem 4. Gerät hier:
D.h. bei der Abfrage des 4 Gerätes wird die Anzahl der Batteriepacks nicht oder nicht richtig ausgelesen. Beim Abspeichern in die Influx Datenbank Measurement "Service" fällt das auf und deshalb die Fehlermeldung. Anstatt eine Zahl steht ein Carrage Return (CR) in dem Datenfeld. Deshalb die Eckige Klammer erst in der 2. Zeile.Code: Alles auswählen
27.08. 07:49:39 -InfluxDB => [ Service Anzahl_Packs= ]
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: MQTT Zeitlimit
Ja komischer Fehler - ohne MQTT beim Pylontech klappt das Lesen aber problemlos. Hab lückenlose Daten über eine Woche.
Kannst du mir noch kurz beim "MQTTAuswahl" Paramter helfen?
Meine Versuche haben leider dazu geführt, dass nix mehr via MQTT ankommt.
Kannst du mir noch kurz beim "MQTTAuswahl" Paramter helfen?
Meine Versuche haben leider dazu geführt, dass nix mehr via MQTT ankommt.
Wer ist online?
Mitglieder in diesem Forum: CloudeBot [Bot], Google [Bot] und 0 Gäste