MQTT Protokoll - Konfigurationsanleitung

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

Moderator: Schattenschimmer

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von PV9,92 »

Danke für's nachschauen und die Info. Ergebnis:

1) funtioniert

Code: Alles auswählen

mosquitto_pub  -t cmnd/thbada/power -m 1 -q 1
2) funktioniert nicht. Mit solaranzeige.local kommt kein Fehler. Es passiert aber auch nix. Mit <ip> kommt "zeitüberschreitung". Mit <ip>.local kommt "Seite nicht gefunden"

Code: Alles auswählen

http://solaranzeige.local/sonoff_mqtt_senden.php?topic=cmnd/thebada/power&wert=on
3) python funktioniert

Code: Alles auswählen

client.publish(topic="cmnd/thbada/power", payload="on")


Vielen Dank soweit. Für mich würde das erstmal passen. Falls Du noch eine Lösung für den Browser weißt, wäre das ev. von allgemeinem Interesse.
(das direkte Schalten am Gerät vom Browser aus wie hier beschrieben: https://tasmota.github.io/docs/#/Commands funktioniert ebenfalls..

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Auf den Dashboard vom Sonoff POW ist doch ein grüner Button "Relais ein/aus" funktioniert der denn?
--------------------------------------
Ulrich [Admin]

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von PV9,92 »

Leider funktioniert dieser nicht.

Ich verwende deshalb die direkte Steuerung:
<a href="http://192.168.178.115/cm?cmnd=Power%20Toggle"><button style="background: #03434; color: black; width: 95%; margin: 1px; margin-bottom: 5px;">Toggle Badheizung</button></a>

Kann gerne aber noch über MQTT probieren, wenn Du eine Idee hast. Aktuell funktioniert das aber nicht. Unschön ist auch dass nach dem Betätigen des Buttons das Dashboard weg ist. Geht aber wohl nicht anders. Mit "Back" kommt man ja leicht wieder zurück. Der direkte Link hat im Übrigen auch den Vorteil, dass man als response den neuen Zustand angezeigt bekommt

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Bitte lese dir das einmal durch:

viewtopic.php?f=13&t=610&p=2367#p2367

im Browser musst du demnach

http://<IP Adresse>/sonoff_mqtt_senden.php?topic=cmnd/thebada/power&wert=on

eingeben. <IPADRESSE> ist die IP Adresse des Raspberry.

also
http://192.168.178.115/sonoff_mqtt_send ... er&wert=on
--------------------------------------
Ulrich [Admin]

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von PV9,92 »

Danke Ulrich für Deine Mühen, vielleicht bekommen wir es doch noch hin. Aber bis jetzt kein Erfolg. Ich habe mir den link nochmal durchgelesen und nochmal probiert. Direkt im Browser. Das sollte ja auch funktionieren. Folgende Info/Ergebnisse:

1) http://solaranzeige.local:3000 funktioniert und damit auch mDNS.
2) Dein Vorschlag: http://192.168.178.39/sonoff_mqtt_sende ... er&wert=on funktioniert nicht. Es wird weder geschalten, noch kommt im Browserfenster ein Rückmeldung. Ebenso mit: http://solaranzeige.local/sonoff_mqtt_s ... er&wert=on
IP ist vom Raspi wo solaranzeige installiert ist. thbada das im Sonoff eingestellte Topic
3) Da es sich um ein TH Modul handelt, habe ich es auch nochmal mit einem normalen switch probiert. Gleiches Ergebnis: nichts!
4) Sende ich das z.B. direkt an den Sonoff, kommt natürlich:
Datei nicht gefunden

URI: /sonoff_mqtt_senden.php
Method: GET
Arguments: 2
topic: cmnd/POW_1/power
wert: off
bedeutet für mich im Umkehrschluss, dass die solaranzeige bzw. das php-programm dort die Daten empfängt. Das log zeigt folgendes:

22.03. 09:59:58 MQT-Ende der Verarbeitung. (MQTT)
22.03. 10:00:01 MQT-0-CONX-OK|
22.03. 10:00:01 -Multi Regler Auslesen [Start].
22.03. 10:00:01 -Verarbeitung von: '1.user.config.php' Regler: 12
22.03. 10:00:01 |---------------- Start fronius_symo_serie.php ---------------
22.03. 10:00:36 -MQTT Daten zum [ localhost ] senden.
22.03. 10:00:36 -Alle 10 Minuten werden die Statistikdaten übertragen.
22.03. 10:00:36 * -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
22.03. 10:00:36 -OK. Datenübertragung erfolgreich.
22.03. 10:00:36 |---------------- Stop fronius_symo_serie.php ---------------
22.03. 10:00:36 -Verarbeitung von: '2.user.config.php' Regler: 12
22.03. 10:00:36 |---------------- Start fronius_symo_serie.php ---------------
22.03. 10:00:57 MQT-Ende der Verarbeitung. (MQTT)
22.03. 10:01:01 MQT-0-CONX-OK|
22.03. 10:01:01 -Zu viele PHP Scripte: multi_regler_auslesen.php
22.03. 10:01:01 !! -|---> Stop PHP Script: multi_regler_auslesen.php **************
22.03. 10:01:03 * -Daten zur lokalen InfluxDB [ solaranzeige_1 ] gesendet.
22.03. 10:01:03 -OK. Datenübertragung erfolgreich.
22.03. 10:01:03 |---------------- Stop fronius_symo_serie.php ---------------
22.03. 10:01:03 -Multi Regler Auslesen [Stop Timeout].

pi@solaranzeige:~ $
Die Fehlermldg ist mir neu!? Kann es damit zu tun haben?? Wobei die solaranzeige (Grafana) funktioniert. Insofern verstehe ich auch die Fehlermldg nnicht so ganz.

5) Wie Du meinem anderen Forumseintrag entnehmen kannst funkioniert seltsamerweise Domoticz. Das läuft ja auch über den Deinen Mosquito, wenn ich das richtig verstanden habe. Sowohl die Anzeige von Temperatur/Feuchte, als auch das Schalten ein/aus.

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Bevor wir weitermachen musst Du erst diesen Fehler beseitigen:

22.03. 10:01:01 -Zu viele PHP Scripte: multi_regler_auslesen.php
22.03. 10:01:03 -Multi Regler Auslesen [Stop Timeout].


Diese Fehlermeldung besagt, dass der Script nicht innerhalb einer Minute beendet ist. Der Ausfruf des Scripts "multi-regler-auslesen.php" wird zu jeder vollen Minute gestartet und muss innerhalb 59 Sekunden beendet sein! Ist der Script nicht beendet wird der nächste Aufruf sofort abgebrochen. Deshalb ist eine Fehlersuche sinnlos, wenn der Fehler noch besteht.

Falls der Script sich voll aufgehängt hat, muss du ihn mit "htop" zwangsweise beenden. Alternativ ein Reboot machen.
--------------------------------------
Ulrich [Admin]

Payback2
Beiträge: 18
Registriert: Di 26. Mai 2020, 06:48

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Payback2 »

Hallo zusammen,

nachdem meine 3 WRs laufen, habe ich jetzt das nächste Problem, ich bekomme keine lokale Ausgabe mit dem Befehl: mosquitto_sub -h localhost -v -t solaranzeige/WR1/#. Auch ein reboot und langes warten half nicht... Im Logfile sind aber keine Fehler zu erkennen:

Code: Alles auswählen

02.06. 12:58:58 MQT-Ende der Verarbeitung. (MQTT)
02.06. 12:59:02 MQT-0-CONX-OK|
02.06. 12:59:02    -Multi Regler Auslesen [Start].
02.06. 12:59:02    -Verarbeitung von: '1.user.config.php'   Regler: 7
02.06. 12:59:02 |--------------   Start  ax_wechselrichter.php   -----------------.
02.06. 12:59:03    -239.9 49.9 239.9 49.9 0503 0494 010 412 53.20 003 055 0047 0003 334.6 00.00 00000 00010010 00 00 00681 010  i: 53
02.06. 12:59:03    -MQTT Daten zum [ localhost ] senden.
02.06. 12:59:03 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet..
02.06. 12:59:03    -Multi-Regler-Ausgang. 6
02.06. 12:59:09    -OK. Datenübertragung erfolgreich.
02.06. 12:59:09    -Solarleistung: 681 Watt -  WattstundenGesamtHeute: 3470.62
02.06. 12:59:09 |------------   Stop   ax_wechselrichter.php    ------------------.
02.06. 12:59:09    -Verarbeitung von: '2.user.config.php'   Regler: 7
02.06. 12:59:09 |--------------   Start  ax_wechselrichter.php   -----------------.
02.06. 12:59:11    -237.8 49.9 240.4 49.9 0312 0111 006 430 53.20 000 055 0044 0000 330.9 00.00 00000 00010010 00 00 00586 010  i: 52
02.06. 12:59:11    -MQTT Daten zum [ localhost ] senden.
02.06. 12:59:11 *  -Daten zur lokalen InfluxDB [ solaranzeige2 ] gesendet..
02.06. 12:59:11    -Multi-Regler-Ausgang. 5
02.06. 12:59:16    -OK. Datenübertragung erfolgreich.
02.06. 12:59:16    -Solarleistung: 586 Watt -  WattstundenGesamtHeute: 4679.65
02.06. 12:59:16 |------------   Stop   ax_wechselrichter.php    ------------------.
02.06. 12:59:16    -Verarbeitung von: '3.user.config.php'   Regler: 7
02.06. 12:59:16 |--------------   Start  ax_wechselrichter.php   -----------------.
02.06. 12:59:17    -236.3 49.9 237.7 50.0 2304 2304 046 413 53.20 000 055 0048 0000 303.0 00.00 00000 00010010 00 00 02411 010  i: 52
02.06. 12:59:17    -MQTT Daten zum [ localhost ] senden.
02.06. 12:59:17 *  -Daten zur lokalen InfluxDB [ solaranzeige3 ] gesendet..
02.06. 12:59:17    -Multi-Regler-Ausgang. 6
02.06. 12:59:23    -OK. Datenübertragung erfolgreich.
02.06. 12:59:23    -Solarleistung: 2411 Watt -  WattstundenGesamtHeute: 7590.65
02.06. 12:59:23 |------------   Stop   ax_wechselrichter.php    ------------------.
02.06. 12:59:23    -Multi Regler Auslesen [Stop].
Anbei das Configfile für WR1:

Code: Alles auswählen

/******************************************************************************
//  MQTT Protokoll     MQTT Protokoll      MQTT Protokoll      MQTT Protokoll
//  Wenn Daten mit dem MQTT Protokoll versendet werden sollen. Hat nichts
//  direkt mit den Sonoff Geräten zu tun.
//
******************************************************************************/
//  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 = 60;
//
//  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 = "WR1";
//
//  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 = "";

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

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Ulrich »

Versuche es mal dami:

Code: Alles auswählen

mosquitto_sub -h localhost -v -t  "+/#"

oder auch

mosquitto_sub -h localhost -v -t  "#"
Zu jeder vollen Minute sollten dann Werte zu sehen sein, so fern der Wechselrichter ohne Fehler ausgelesen wird.
--------------------------------------
Ulrich [Admin]

Payback2
Beiträge: 18
Registriert: Di 26. Mai 2020, 06:48

Re: MQTT Protokoll - Konfigurationsanleitung

Beitrag von Payback2 »

Ja, jetzt bekomme ich die Werte! Und wieder einmal vielen Dank!

Antworten