MQTT Zeitlimit

Wie kann ich die Daten der Geräte grafisch darstellen? Fragen, Beispiele und Antworten zu InfluxDB und Grafana
chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

MQTT Zeitlimit

Beitrag von chobbes »

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

Benutzeravatar
Ulrich
Administrator
Beiträge: 1567
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: MQTT Zeitlimit

Beitrag von Ulrich »

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.
--------------------------------------
Ulrich [Admin]

chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

Re: MQTT Zeitlimit

Beitrag von chobbes »

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.

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}
Hier noch das solaranzeige Log. Hier sieht es danach aus, dass das MQTT Skript nicht in der knappen Minute fertig wird?

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)

chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

Re: MQTT Zeitlimit

Beitrag von chobbes »

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 :)

Benutzeravatar
Ulrich
Administrator
Beiträge: 1567
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: MQTT Zeitlimit

Beitrag von Ulrich »

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).
Die Verarbeitung wird nach 58 Sekunden beendet. Also passt das. Ansonsten würde es auch eine Fehlermeldung geben.
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]

chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

Re: MQTT Zeitlimit

Beitrag von chobbes »

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):

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',

TeamO
Beiträge: 46
Registriert: Mo 22. Jun 2020, 08:58

Re: MQTT Zeitlimit

Beitrag von TeamO »

Hast Du auch eine Datenbank mit dem Namen solaranzeige4 ?

chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

Re: MQTT Zeitlimit

Beitrag von chobbes »

TeamO hat geschrieben:
Do 27. Aug 2020, 08:33
Hast Du auch eine Datenbank mit dem Namen solaranzeige4 ?
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].
Wenn ich nur Gerät 4 übertrage klappt die MQTT Übertragung auch für die Pylontech Akkus.
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).

Benutzeravatar
Ulrich
Administrator
Beiträge: 1567
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Kontaktdaten:

Re: MQTT Zeitlimit

Beitrag von Ulrich »

Der Fehler liegtbei dem 4. Gerät hier:

Code: Alles auswählen

27.08. 07:49:39    -InfluxDB  => [ Service Anzahl_Packs=
 ]
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.
--------------------------------------
Ulrich [Admin]

chobbes
Beiträge: 7
Registriert: Do 28. Mai 2020, 10:02

Re: MQTT Zeitlimit

Beitrag von chobbes »

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.

Antworten