MQTT Protokoll - Konfigurationsanleitung

PDF Dokumente für Informationen im Detail, sowie Bauanleitungen.

Moderator: Schattenschimmer

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

MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Die Dokumentation für den MQTT Teil findet Ihr hier: MQTT Informationen zur Solaranzeige.pdf.
--------------------------------------
Ulrich [Admin]

helmut.
Beiträge: 7
Registriert: Do 17. Okt 2019, 23:34

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von helmut. »

Hallo Ullrich
Ich bekomme auf den Befehl mosquitto_sub -h localhost -v -t solaranzeige/box1/# Keine Ausgabe.
Auch nach 10 Minuten nicht.
Irgend eine Idee? Muss man als root ausführen?
Lg
Helmut

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Der Topic Name muss dem in der user.config.php entsprechen.

Code: Alles auswählen

//  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 vergeben Ihrer Wahl.
$MQTTGeraet = "1";


In diesem Fall muss der Aufruf

mosquitto_sub -h localhost -v -t solaranzeige/1/#

sein.
--------------------------------------
Ulrich [Admin]

helmut.
Beiträge: 7
Registriert: Do 17. Okt 2019, 23:34

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von helmut. »

Hallo Ulrich
Sry wenn ich vielleicht nerve aber da kommt nichts.
Weder als User pi noch als user root. Nichts
Ich habe deinen Befehl kopiert. Also denke ich mal kein Schreibfehler.
mosquitto_sub -h localhost -v -t solaranzeige/1/#
In der /user.config.php steht meiner Meinung nach alles richtig.
Mosquitto = true.
Topic ist bei mir „solaranzeige/1/
Kann ich das auch aus einer Datei auslesen?
Evtl in /var/www/html/ xxxx ?
lg
Helmut

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Hast Du das Image 4.5.5 ?

Bitte kontrolliere einmal in der Datei /etc/php/7.3/cli/php.ini

ob in ungefähr Zeile 930 der Eintrag:

extension=mosquitto.so

sich befindet. Falls nicht, schreibe ihn bitte rein.
--------------------------------------
Ulrich [Admin]

helmut.
Beiträge: 7
Registriert: Do 17. Okt 2019, 23:34

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von helmut. »

Hallo Ullrich
Alles klar. Der Eintrag hat gefehlt. Außerdem habe ich zwei Einträge mit
user.config und user.config.neu.
Habe jetzt mal beide configs identisch gemacht. Vielleicht lags ja auch daran.
Auf jeden Fall kommt jetzt im iobroker alles an.
solaranzeige/1/ac_ausgangsspannung
solaranzeige/1/ac_scheinleistung
solaranzeige/1/ac_wirkleistung
solaranzeige/1/ausgangslast
solaranzeige/1/batteriekapazitaet
solaranzeige/1/batterieladestrom
solaranzeige/1/batteriespannung
solaranzeige/1/devicestatus
solaranzeige/1/errorcodes
solaranzeige/1/firmware
solaranzeige/1/geraetestatus
solaranzeige/1/ladestatus
solaranzeige/1/modus
solaranzeige/1/netzfrequenz
solaranzeige/1/netzspannung
solaranzeige/1/objekt
solaranzeige/1/optionen
solaranzeige/1/produkt
solaranzeige/1/regler
solaranzeige/1/solarleistung
solaranzeige/1/solarspannung
solaranzeige/1/solarstrom
solaranzeige/1/temperatur
solaranzeige/1/verbraucherstrom
solaranzeige/1/warnungen
solaranzeige/1/wattstundengesamtheute
:D
Vielen Dank
lg
Helmut
P.S. Die Ausgabe ist für einen Effekta AX P 3000.
Vielleicht kann sie noch jemand gebrauchen

PV9,92
Beiträge: 30
Registriert: Do 28. Nov 2019, 22:42

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von PV9,92 »

Ich komme einfach nicht weiter mit dem Schalten eines Sonoff TH 16 bzw. eines Basic :-(. Ist der vielleicht noch nicht implementiert? Die Befehle sind aber eingetragen für Gerät 23!? Auslesen funktioniert einwandfrei!

Parametriert in der habe ich:
$MQTTGeraet = "THBadA";

Eine mosquitto - Abfrage ergibt:
pi@solaranzeige:~ mosquitto_sub -h localhost -v -t solaranzeige/thbada/#
solaranzeige/thbada/status Online
solaranzeige/thbada/period 0
solaranzeige/thbada/sonoffmodul 4
solaranzeige/thbada/produkt 8.1.0(tasmota)
solaranzeige/thbada/temperatur 20.9
solaranzeige/thbada/luftfeuchte 52.8
solaranzeige/thbada/masseinheit C
solaranzeige/thbada/powerstatus 0
solaranzeige/thbada/regler 23
solaranzeige/thbada/objekt TH_Bad_A
solaranzeige/thbada/firmware 0
solaranzeige/thbada/wattstundengesamtheute 0

(wobei es beim TH kein wattstundengesamtheute gibt)

Test u.a. mit:
pi@solaranzeige:~ $ mosquitto_pub -t solaranzeige/befehl/THBadA/powerstatus -m on -q 1
pi@solaranzeige:~ $ mosquitto_pub -t solaranzeige/befehl/thbada/powerstatus -m on -q 1
pi@solaranzeige:~ $ mosquitto_pub -t solaranzeige/befehl/thbada/power -m on -q 1

Es wird kein Fehler angezeigt, aber es passiert auch nix. Weder im log der solaranzeige noch des Tasmota-Gerätes wird was angezeigt:


log:
Solaranzeige:
10.03. 11:51:43 -Verarbeitung von: '4.user.config.php' Regler: 23
10.03. 11:51:43 |---------------- Start sonoff_mqtt.php ---------------------
10.03. 11:51:43 + -Die Daten werden ausgelesen...
10.03. 11:51:43 -Topic: tele/TH_BAD_A/LWT
10.03. 11:51:44 -MQTT Daten zum [ localhost ] senden.
10.03. 11:51:44 * -Daten zur lokalen InfluxDB [ THBadA ] gesendet.
10.03. 11:51:44 -OK. Datenübertragung erfolgreich.
10.03. 11:51:44 |---------------- Stop sonoff_mqtt.php --------------------
10.03. 11:51:44 -Multi Regler Auslesen [Stop].

Tasmota:
stat/THBadA/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.178.39","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_330FAA","MqttUser":"DVES_USER","MqttCount":1,"MAX_PACKET_SIZE":1000,"KEEPALIVE":30}}

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Ich glaube das liegt an deinem Topic Namen. Du schreibst er hieße THBadA Du versuchst es auch mit thbada
Der Sonoff meldet sich aber mit TH_BAD_A Versuche es doch einmal damit.

Der Topic Name wird im Sonoff an 2 Stellen angegeben. Einmal als friendly name. Das ist er nicht!
--------------------------------------
Ulrich [Admin]

PV9,92
Beiträge: 30
Registriert: Do 28. Nov 2019, 22:42

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von PV9,92 »

Das hatte ich auch versucht, ohne Erfolg. Nun nochmal alles durchgegangen und konsequent auf thbada umgestellt um auch mit Groß-/Kleinschreibung keine Probleme zu haben. Alles ohne Erfolg.

Browser:

Code: Alles auswählen

 http://192.168.178.39/befehl.steuerung.php?befehl=on&id=thbada
PUTTY: mosquitto_pub -t solaranzeige/befehl/thbada/power -m 1 -q 1
Python: client.publish('solaranzeige/thbda/power','1')
MQTT-Client power on

Die Befehlsdatei habe ich bei sonoff noch mit dem Eintrag
4 = power
ergänzt!?

Und Empfang funktioniert ja. Es kommt nun auch in putty zurück:
solaranzeige/|thbada/status Online
solaranzeige/thbada/period 0
solaranzeige/thbada/sonoffmodul 4
solaranzeige/thbada/produkt 8.1.0(tasmota)
solaranzeige/thbada/temperatur 21.7
solaranzeige/thbada/luftfeuchte 56
solaranzeige/thbada/masseinheit C
solaranzeige/thbada/powerstatus 0
solaranzeige/thbada/regler 23
solaranzeige/thbada/objekt THBadA
solaranzeige/thbada/firmware 0
solaranzeige/thbada/wattstundengesamtheute 0

Auffällig, die 1. Zeile mit dem "|" vor dem thbada bei status Online!??

Ist das Senden schon mal getestet worden? Ist auch komisch, dass in der log-Datei nichts steht!???

Über den Browser den sonoff direkt schalten funktioniert:

Code: Alles auswählen

http://192.168.178.115/cm?cmnd=Power%20On
laut Anleitung:
https://tasmota.github.io/docs/#/Commands

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

PV9,92 hat geschrieben:
Di 10. Mär 2020, 12:17
Ich komme einfach nicht weiter mit dem Schalten eines Sonoff TH 16 bzw. eines Basic :-(. Ist der vielleicht noch nicht implementiert? Die Befehle sind aber eingetragen für Gerät 23!? Auslesen funktioniert einwandfrei!
Ich habe mir das jetzt noch einmal genau angesehen. Sonoff Geräte können nicht wie andere Wechselrichter / Wallboxen über die Solaranzeige gesteuert werden, sondern müssen direkt angesprochen werden. Auf dem Raspberry ist ja ein Broker installiert, der mit dem Sonoff POW oder Basic vebunden ist. Möchte man die Relais der Geräte schalten, dann einfach einen MQTT Befehl an den Broker auf dem Raspberry senden.

also sollte der Befehl so aussehen:

Code: Alles auswählen

mosquitto_pub  -t cmnd/thebada/power -m 1 -q 1
An den Broker auf dem Raspberry wird ein ganz normaler MQTT Befehl an den Sonoff gesendet. Das hat nichts mit der Solaranzeige zu tun. Da der Sonoff ja MQTT kennt, benötigt man die Solaranzeige nicht für die Umsetzung von einem HTTP Befehl auf einen MQTT Befehl. Eine Umsetzung der Befehle wird nur bei Geräten, die kein MQTT kennen, benötigt.

Es gibt eine Ausnahme. Wenn man im lokalen Netz den Sonoff mittels HTTP Request dennoch schalten möchte, dann funktioniert das nicht wie im MQTT Dokument beschrieben, sondern wie in der Installationsanleitung auf Seite 13 beschrieben. Ob das auch für den Sonoff Basic gilt, kann ich leider nicht sagen, habe ich noch nicht getestet. Es sollte aber auch funktionieren. Bitte achte darauf, dass die URL ganz anders ist, wie im MQTT Dokument beschrieben.

Die URL müßte dan so lauten:

Code: Alles auswählen

http://solaranzeige.local/sonoff_mqtt_senden.php?topic=cmnd/thebada/power&wert=on
Kannst Du das bitte einmal ausprobieren?
Dateianhänge
Installation_mit_Grafana_Dashboard.pdf
(1.14 MiB) 128-mal heruntergeladen
--------------------------------------
Ulrich [Admin]

Antworten