MQTT keine Daten ?

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

Antworten
gudwih
Beiträge: 58
Registriert: Di 6. Apr 2021, 14:24
Wohnort: am Bodensee
Hat sich bedankt: 13 Mal
Danksagung erhalten: 6 Mal

MQTT keine Daten ?

Beitrag von gudwih »

Hallo,
ich habe (Dank Ulrich) heute meine zweite Solaranzeige in Betrieb genommen. Klappt soweit alles, nur MQTT krieg ich nicht hin.
Bei meiner ersten Solaranzeige tuckert das MQTT zuverlässig.
Die Solaranzeige-2 connected zu meinem ioBroker, aber Daten gibts keine.
Liegt das vielleicht daran dass es (vorübergehend) nur ein Pi B plus ist. (läuft ohne Grafana)
Vielleicht sehe ich den Wald vor Bäumen nicht?

Schon mal Danke fürs anschauen und Grübeln ;)
Karl-Heinz

Code: Alles auswählen

pi@solaranzeige:/var/www/html# mosquitto_sub -h localhost -v -t +/#
sonoff/tele/LWT Offline
Sonoff/tele/LWT Offline
Die Datei /etc/php/7.3/cli/php.ini hat den Eintrag: extension=mosquitto.so

ioBroker connected, bekommt aber keine Daten

Code: Alles auswählen

mqtt.2 2021-11-28 20:54:51.156	debug	stateChange mqtt.2.info.connection: {"val":true,"ack":true,"ts":1638129291150,"q":0,"from":"system.adapter.mqtt.2","user":"system.user.admin","lc":1638129291150}
mqtt.2 2021-11-28 20:54:51.111	info	Subscribe on: "solaranzeige/XS/#"
mqtt.2 2021-11-28 20:54:51.106	info	Connected to 192.168.178.69
mqtt.2 2021-11-28 20:54:51.000	info	Try to connect to mqtt://192.168.178.69:1883?clientId=iobroker.mqtt.2
mqtt.2 2021-11-28 20:54:50.545	info	starting. Version 2.4.0 in /opt/iobroker/node_modules/iobroker.mqtt, node: v12.22.7, js-controller: 3.3.20
Auszug solaranzeige.log

Code: Alles auswählen

28.11. 20:04:19 MQT-MQTT Daten zum Broker gesendet: localhost Port: 1883
28.11. 20:04:23    -InfluxDB  => [ AC Spannung_R=0,Spannung_S=0,Spannung_T=0,Strom_R=,Strom_S=,Strom_T=,Frequenz_R=,Frequenz_S=,Frequenz_T=,Einspeisung=  1638126192
PV MPPT1_Spannung=,MPPT1_Strom=,MPPT2_Spannung=,MPPT2_Strom=,PV1_Spannung=0,PV1_Strom=0,PV2_Spannung=0,PV2_Strom=0,PV3_Spannung=0,PV3_Strom=,PV4_Spannung=,PV4_Strom=,Leistung=0  1638126192
Service Temperatur=0,WR_Mode=0,PV_Mode=  1638126192
Summen Wh_NetzeinspeisungHeute=0,Wh_GesamtHeute=0,Wh_EinspeisungGesamt=0  1638126192
user config.php sieht so aus: (ist identisch mit der auf der funktionierenden Solaranzeige, ausser dem "$MQTTGerät")

Code: Alles auswählen

******************************************************************************/
//  Sollen alle ausgelesenen Daten mit dem MQTT Protokoll an einen
//  MQTT-Broker gesendet werden? Bitte das Solaranzeige-MQTT PDF Dokument lesen
$MQTT = true;
//
//  Wo ist der MQTT-Broker zu finden?
//  Entweder "localhost", eine Domain oder IP Adresse "xxx.xxx.xxx.xxx" eintragen.
//  broker.hivemq.com ist ein Test Broker   Siehe http://www.mqtt-dashboard.com/
$MQTTBroker = "localhost";
//
//  Benutzter Port des Brokers. Normal ist 1883  mit SSL 8883
$MQTTPort = 1883;
//
//  Falls der Broker gesichert ist. Sonst bitte leer lassen.
$MQTTBenutzer = "";
$MQTTKennwort = "";
//
//  Wenn man die Daten mit SSL Verschlüsselung versenden möchte.
//  Wenn hier true steht, muss im Verzeichnis "/var/www/html/" die "cerfile"
//  'ca.crt' vorhanden sein. Nähere Einzelheiten über diese Datei findet
//  man im Internet in der Mosquitto Dokumentation.
$MQTTSSL = false;
//
//  Timeout der Übertragung zum Broker. Normal = 10 bis 60 Sekunden
$MQTTKeepAlive = 10;
//
//  Topic Name oder Nummer des Gerätes solaranzeige/1
//  oder solaranzeige/box1                     (solaranzeige ist fest vorgegeben.)
//  Man kann das Gerät nennen wie man will, nur jedes Gerät, welches Daten
//  senden soll unterschiedlich. Entwerder 1 bis 6 oder Namen Ihrer Wahl vergeben.
$MQTTGeraet = "XS";
//
//  Welche Daten sollen als MQTT Message übertragen werden? Wenn hier nichts
//  aufgeführt ist, werden alle ausgelesenen Daten übertragen.
//  Bitte darauf achten, dass keine Leerstellen zwischen den Variablen sind.
//  Die einzelnen Variablen müssen mit einem Komma getrennt und klein geschrieben
//  werden. Zusätzlich müssen sie den Eintrag vom $MQTTGeraet und ein Schrägstrich
//  enthalten. Das ist nötig, da mehrere Geräte an dem Raspberry hängen können.
//  Beispiel mit obigen MQTTGeraet:
//  $MQTTAuswahl = "1/ladestatus,1/solarspannung,1/solarstrom"
//  Werden hier Variablen eingetragen, dann werden auch nur diese Topics
//  übertragen.
$MQTTAuswahl = "";
//
//
/******************************************************************************
Im MQTT Explorer sieht das so aus:
Links der funktionierende MQTT
MQTT.jpg
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)

Benutzeravatar
Ulrich
Administrator
Beiträge: 3431
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 70 Mal
Danksagung erhalten: 357 Mal
Kontaktdaten:

Re: MQTT keine Daten ?

Beitrag von Ulrich »

Schaue bitte einmal in die LOG Datei /var/www/log/php.log
Dort hatte ich etwas gesehen, dass der MQTT-Client sich nicht cnnecten kann.
--------------------------------------
Ulrich [Admin]

gudwih
Beiträge: 58
Registriert: Di 6. Apr 2021, 14:24
Wohnort: am Bodensee
Hat sich bedankt: 13 Mal
Danksagung erhalten: 6 Mal

Re: MQTT keine Daten ?

Beitrag von gudwih »

Hallo Ulrich,
habe nachgesehen, das letzte Mal kam eine "disconnected" Meldung gestern kurz vor 20:00.
Ich habe den MQTT Explorer über Nacht laufen lassen und siehe da...heute Morgen waren die Werte da.

Auch in der Console bekomme ich jetzt Werte

Code: Alles auswählen

pi@solaranzeige:/var/www/html $ mosquitto_sub -h localhost -v -t +/#
sonoff/tele/LWT Offline
Sonoff/tele/LWT Offline
solaranzeige/xs/zentralertimestamp 1638174194
solaranzeige/xs/keinesonne (null)
solaranzeige/xs/seriennummer 52000SSX211W0420
solaranzeige/xs/modell GW2000-XS
solaranzeige/xs/pv_mode 0
solaranzeige/xs/firmware 141f00000195
solaranzeige/xs/mppt1_spannung 228.6
solaranzeige/xs/mppt1_strom 0.1
solaranzeige/xs/mppt2_spannung 0
solaranzeige/xs/mppt2_strom 0
solaranzeige/xs/mppt1_leistung 22.86
solaranzeige/xs/mppt2_leistung 0
solaranzeige/xs/pv_leistung 22.86
solaranzeige/xs/pv1_spannung 228.6
solaranzeige/xs/pv1_strom 0.1
solaranzeige/xs/wr_mode 0
solaranzeige/xs/pv2_spannung 0
solaranzeige/xs/pv2_strom 0
solaranzeige/xs/pv3_spannung 0
solaranzeige/xs/pv3_strom 0
solaranzeige/xs/pv4_spannung 0
solaranzeige/xs/pv4_strom 0
solaranzeige/xs/wr_temperatur 9.1
solaranzeige/xs/ac_spannung_r 230.2
solaranzeige/xs/ac_strom_r 0
solaranzeige/xs/netzfrequenz_r 49.99
solaranzeige/xs/ac_spannung_s 0
solaranzeige/xs/ac_strom_s 0
solaranzeige/xs/netzfrequenz_s 0
solaranzeige/xs/ac_spannung_t 0
solaranzeige/xs/ac_strom_t 0
solaranzeige/xs/netzfrequenz_t 0
solaranzeige/xs/wattstundengesamtheute 0
solaranzeige/xs/einspeisungheute 0
solaranzeige/xs/einspeisung_total 1015700
solaranzeige/xs/einspeisung 0
solaranzeige/xs/error_status 0
solaranzeige/xs/regler 67
solaranzeige/xs/objekt 2000XS
solaranzeige/xs/produkt Goodwe
Das kommt zwar alles noch nicht im ioBroker an, aber es scheint grundsätzlich zu funktionieren.
Vielleicht habe ich einfach nur ein timeout Problem mit dem alten Raspi. Ich lass das jetzt einfach mal so laufen, denn am Mittwoch kommt der neue Raspi 4 auf dem das dann endgültig laufen soll. Dann seh ich weiter.
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)

gudwih
Beiträge: 58
Registriert: Di 6. Apr 2021, 14:24
Wohnort: am Bodensee
Hat sich bedankt: 13 Mal
Danksagung erhalten: 6 Mal

Re: MQTT keine Daten ?

Beitrag von gudwih »

Nachtrag:
Der ioBroker empfängt die Daten jetzt auch korrekt. Bin eher zufällig drüber gestolpert, dass das Gerät das ich in Grossbuchstaben, also "XS", in der config geschrieben habe, vom mosquitto offenbar in Kleinbuchstaben ausgegeben wird "xs".
Goodwe 5048EM, Goodwe 2000XS, Solaranzeigen (Raspi4 & Raspi B+), ioBroker (Proxmox & Intel NUC), Raspberrymatic (Raspi3+)

Antworten