kürzeres MQTT Übertragungsintervall ?
Moderator: Ulrich
-
- Beiträge: 52
- Registriert: Di 6. Apr 2021, 14:24
- Wohnort: am Bodensee
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 1 Mal
kürzeres MQTT Übertragungsintervall ?
Ich übertrage die Werte aus der solaranzeige in den ioBroker um dort verschiedene Steuerungsaufgaben auszuführen.
Das MQTT Intervall ist offenbar auf 60s gesetzt, ich hätte es gerne kürzer.
Ich habe keinen Parameter gefunden mit dem man das Intervall z.B. auf 30s setzen könnte. "keep alive" hilft da ja nicht.
Danke fürs Grübeln und einen Tip
Das MQTT Intervall ist offenbar auf 60s gesetzt, ich hätte es gerne kürzer.
Ich habe keinen Parameter gefunden mit dem man das Intervall z.B. auf 30s setzen könnte. "keep alive" hilft da ja nicht.
Danke fürs Grübeln und einen Tip
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)
- Ulrich
- Administrator
- Beiträge: 5888
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 150 Mal
- Danksagung erhalten: 823 Mal
- Kontaktdaten:
Re: kürzeres MQTT Übertragungsintervall ?
Hast Du eine Multi-Regler-Version?
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 52
- Registriert: Di 6. Apr 2021, 14:24
- Wohnort: am Bodensee
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 1 Mal
Re: kürzeres MQTT Übertragungsintervall ?
Nein, nur single.
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)
Re: kürzeres MQTT Übertragungsintervall ?
würde das mit der Multi gehen? bin da auch gerade am probieren
- Ulrich
- Administrator
- Beiträge: 5888
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 150 Mal
- Danksagung erhalten: 823 Mal
- Kontaktdaten:
Re: kürzeres MQTT Übertragungsintervall ?
Bei der Singel Version musst du $Wiederholungen = 4; oder höher in der user.config.php eingeben und in dem zuständigen Script folgendes verändern:
Vorher:
Bei der Multi-Regler-Version ist es um einiges komplizierter.
Vorher:
Nachher:/**************************************************************************
//
// Alle ausgelesenen Daten werden hier bei Bedarf als mqtt Messages
// an den mqtt-Broker Mosquitto gesendet.
**************************************************************************/
if ($MQTT and $i == 1) {
$funktionen->log_schreiben( "MQTT Daten zum [ $MQTTBroker ] senden.", " ", 1 );
require ($Pfad."/mqtt_senden.php");
}
/**************************************************************************
//
// Alle ausgelesenen Daten werden hier bei Bedarf als mqtt Messages
// an den mqtt-Broker Mosquitto gesendet.
**************************************************************************/
if ($MQTT) {
$funktionen->log_schreiben( "MQTT Daten zum [ $MQTTBroker ] senden.", " ", 1 );
require ($Pfad."/mqtt_senden.php");
}
Bei der Multi-Regler-Version ist es um einiges komplizierter.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: kürzeres MQTT Übertragungsintervall ?
Kann es sein, dass man noch andere Parameter anpassen muss? Bei mir führen die beiden Anpassungen dazu, dass die Werte immer abwechselnd alle 10s und 50s übergeben werden. Die Änderung der $Wiederholungen habe ich mit 4, 6 und 10 ausprobiert, ohne dass es zu einer sichtbaren Veränderung kommt.
- Ulrich
- Administrator
- Beiträge: 5888
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 150 Mal
- Danksagung erhalten: 823 Mal
- Kontaktdaten:
Re: kürzeres MQTT Übertragungsintervall ?
Bei welcher Version? Single oder Multi-Regler Version?
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: kürzeres MQTT Übertragungsintervall ?
Es ist die Single Regler Version. Das angeschlossene Gerät ist Daly BMS (57). Am MQTT hängt der IOBroker.
- Ulrich
- Administrator
- Beiträge: 5888
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 150 Mal
- Danksagung erhalten: 823 Mal
- Kontaktdaten:
Re: kürzeres MQTT Übertragungsintervall ?
Dann ändere bitte auf Zeile 287 in der Datei daly_bms.php bitte folgendes:
alt:
neu:
Nur " and $i == 1" herauslöschen.
$Wiederholungen darf nur zwischen 1 und 6 sein.
alt:
Code: Alles auswählen
/**************************************************************************
//
// Alle ausgelesenen Daten werden hier bei Bedarf als mqtt Messages
// an den mqtt-Broker Mosquitto gesendet.
**************************************************************************/
if ($MQTT and $i == 1) {
$funktionen->log_schreiben( "MQTT Daten zum [ $MQTTBroker ] senden.", " ", 1 );
require ($Pfad."/mqtt_senden.php");
}
Code: Alles auswählen
/**************************************************************************
//
// Alle ausgelesenen Daten werden hier bei Bedarf als mqtt Messages
// an den mqtt-Broker Mosquitto gesendet.
**************************************************************************/
if ($MQTT) {
$funktionen->log_schreiben( "MQTT Daten zum [ $MQTTBroker ] senden.", " ", 1 );
require ($Pfad."/mqtt_senden.php");
}
$Wiederholungen darf nur zwischen 1 und 6 sein.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
Re: kürzeres MQTT Übertragungsintervall ?
Ich habe die Datei abgeändert und $Wiederholungen auf 6 gesetzt. Das Verhalten ist wie oben in der Fragestellung beschrieben. immer alle 10s und 50s kommen die Daten an. Hast du noch eine Idee? Ist der Pi3B+ für Solaranzeige zu langsam? Hinweis: Der IOBroker läuft auf einem anderen Pi, ebenso die externe InfluxDB.
Am IO Broker kommen folgende Daten /Timestamps) an:
16:20:10.022 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408811
16:20:24.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408821
16:21:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408871
16:21:28.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408881
16:22:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408931
16:22:22.022 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408941
16:23:10.027 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408992
16:23:28.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409002
16:24:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409050
16:24:22.009 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409060
16:25:10.032 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409111
16:25:22.011 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409121
In der Logdatei steht folgendes:
13.12. 16:20:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:20:01 -USB Port: /dev/ttyUSB0
13.12. 16:20:02 |------------------- Start wetterdaten.php --------------------
13.12. 16:20:02 o---Wetterdaten ausgeschaltet.
13.12. 16:20:02 -Wetterprognose ausgeschaltet.
13.12. 16:20:02 |------------------- Stop wetterdaten.php ---------------------
13.12. 16:20:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:20:07 -Alle 10 Minuten werden die Statistikdaten remote übertragen.
13.12. 16:20:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:20:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:08 -Alle 10 Minuten werden die Statistikdaten übertragen.
13.12. 16:20:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:21 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:20:21 -Alle 10 Minuten werden die Statistikdaten übertragen.
13.12. 16:20:21 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:22 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:20:28 -OK. Datenübertragung erfolgreich.
13.12. 16:20:28 |------------ Stop daly_bms.php ----------------------------
13.12. 16:21:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:21:01 -USB Port: /dev/ttyUSB0
13.12. 16:21:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:21:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:21:07 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:07 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:20 !! -Datenfehler, nochmal... a58095080000000000000000
13.12. 16:21:25 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:21:25 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:26 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:21:31 -OK. Datenübertragung erfolgreich.
13.12. 16:21:31 |------------ Stop daly_bms.php ----------------------------
13.12. 16:22:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:22:01 -USB Port: /dev/ttyUSB0
13.12. 16:22:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:22:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:22:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:21 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:22:21 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:21 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:22:28 -OK. Datenübertragung erfolgreich.
13.12. 16:22:29 |------------ Stop daly_bms.php ----------------------------
13.12. 16:23:02 |------------ Start daly_bms.php ----------------------------
13.12. 16:23:02 -USB Port: /dev/ttyUSB0
13.12. 16:23:07 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:23:08 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:23:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:23:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
Am IO Broker kommen folgende Daten /Timestamps) an:
16:20:10.022 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408811
16:20:24.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408821
16:21:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408871
16:21:28.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408881
16:22:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408931
16:22:22.022 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408941
16:23:10.027 info javascript.0 (2169) script.js.common.Daly_BMS: 1639408992
16:23:28.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409002
16:24:08.001 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409050
16:24:22.009 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409060
16:25:10.032 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409111
16:25:22.011 info javascript.0 (2169) script.js.common.Daly_BMS: 1639409121
In der Logdatei steht folgendes:
13.12. 16:20:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:20:01 -USB Port: /dev/ttyUSB0
13.12. 16:20:02 |------------------- Start wetterdaten.php --------------------
13.12. 16:20:02 o---Wetterdaten ausgeschaltet.
13.12. 16:20:02 -Wetterprognose ausgeschaltet.
13.12. 16:20:02 |------------------- Stop wetterdaten.php ---------------------
13.12. 16:20:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:20:07 -Alle 10 Minuten werden die Statistikdaten remote übertragen.
13.12. 16:20:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:20:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:08 -Alle 10 Minuten werden die Statistikdaten übertragen.
13.12. 16:20:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:21 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:20:21 -Alle 10 Minuten werden die Statistikdaten übertragen.
13.12. 16:20:21 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:20:22 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:20:28 -OK. Datenübertragung erfolgreich.
13.12. 16:20:28 |------------ Stop daly_bms.php ----------------------------
13.12. 16:21:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:21:01 -USB Port: /dev/ttyUSB0
13.12. 16:21:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:21:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:21:07 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:07 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:20 !! -Datenfehler, nochmal... a58095080000000000000000
13.12. 16:21:25 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:21:25 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:21:26 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:21:31 -OK. Datenübertragung erfolgreich.
13.12. 16:21:31 |------------ Stop daly_bms.php ----------------------------
13.12. 16:22:01 |------------ Start daly_bms.php ----------------------------
13.12. 16:22:01 -USB Port: /dev/ttyUSB0
13.12. 16:22:06 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:22:07 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:22:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:21 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:22:21 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
13.12. 16:22:21 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:22:28 -OK. Datenübertragung erfolgreich.
13.12. 16:22:29 |------------ Stop daly_bms.php ----------------------------
13.12. 16:23:02 |------------ Start daly_bms.php ----------------------------
13.12. 16:23:02 -USB Port: /dev/ttyUSB0
13.12. 16:23:07 -MQTT Daten zum [ 192.168.2.70 ] senden.
13.12. 16:23:08 MQT-MQTT Daten zum Broker gesendet: 192.168.2.70 Port: 1883
13.12. 16:23:08 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
13.12. 16:23:08 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.