Leider funktioniert die MQTT-Datensammlung nur sehr unzuverlässig bei mir. Im Gut-Fall werden alle 33 MQTT-Daten meines DEYE-Wechselrichters in die Solaranzeige-Datenbank gespeichert. Via "mosquitto_sub -h localhost -v -t +/#" kann ich zuverlässig immer alle 33 Werte sehen. Leider klappt das Speichern der letzten Werte nicht zuverlässig.
Falls es klappt, dann kann ich zumindest sehen, das die Zeit zwischen dem Senden zur Solaranzeige-InfluxDB und dem nächsten Eintrag 1 oder wenige Sekunden beträgt. (siehe 16:54:03 und 16:54:11)
Dieser Wert schaukelt sich innerhalb der fortlaufenden Durchläufe immer mehr auf. Im unteren Fall z.B. 16:54:03 bis 16:54:11 oder 16:57:01 bis 16:57:30. Nun reicht die Zeit scheinbar nicht mehr aus, alle anderen MQTT-Werte zu speichern und diese fehlen dann in der Datenbank.
Auszug aus Solaranzeige.log:
Code: Alles auswählen
15.04. 16:54:02 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
15.04. 16:54:03 MQT-PIPE ausgelesen und versendet.
15.04. 16:54:03 MQT-MQTT Daten zum Broker gesendet bzw. vom Broker empfangen. Adresse: 192.168.178.110 Port: 1883
15.04. 16:54:11 MQT-Array
Code: Alles auswählen
15.04. 16:57:01 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
15.04. 16:57:01 MQT-Daten in die Influx Datenbank 'solaranzeige' geschrieben. Gerätenummer: 1 Spalte: status Wert: offline RC: OK. Daten zur InfluxDB gesendet.
15.04. 16:57:01 MQT-PIPE ausgelesen und versendet.
15.04. 16:57:01 MQT-MQTT Daten zum Broker gesendet bzw. vom Broker empfangen. Adresse: 192.168.178.110 Port: 1883
15.04. 16:57:30 MQT-Array
Auszug aus dem PHP-Log:
Code: Alles auswählen
[15-Apr-2023 15:50:01 Europe/Berlin] PHP Fatal error: Uncaught Mosquitto\Exception: The connection was lost. in /var/www/html/mqtt_prozess.php:230
Stack trace:
#0 /var/www/html/mqtt_prozess.php(230): Mosquitto\Client->loop()
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 230
[15-Apr-2023 16:46:01 Europe/Berlin] PHP Fatal error: Uncaught Mosquitto\Exception: The connection was lost. in /var/www/html/mqtt_prozess.php:230
Stack trace:
#0 /var/www/html/mqtt_prozess.php(230): Mosquitto\Client->loop()
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 230
[15-Apr-2023 16:51:01 Europe/Berlin] PHP Fatal error: Uncaught Mosquitto\Exception: The connection was lost. in /var/www/html/mqtt_prozess.php:230
Stack trace:
#0 /var/www/html/mqtt_prozess.php(230): Mosquitto\Client->loop()
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 230
Wie könnte ich das Problem lösen, ohne die MQTT-Funktionalität zu verlieren?
Danke schön.
Carlo57