NEWS
Verbindung Tasmota (Sonoff) zu Node-Red
-
@hajo-0 Ok. Das mit der Node habe ich kapiert. Wie gesagt, die ist schon 7 Jahre alt und ich würde es lieber ohne machen. Welchen mqtt-Broker hast Du installiert? Mosquitto? Und hast Du irgendwein mqtt Browser zur Verfügung. Ich gehe mal nicht davon aus, dass Du den iobroker Adapter installiert hast.
Ach und eine kleine Nachricht, wenn Du afk gehst, wäre trotzdem hilfreich, dann weiß man, dass man in nächster Zeit nicht auf eine Antwort warten braucht.
-
@mickym Mosquitto ja. mqtt Browser nein. Und jetzt muss ich weitermachen. Habe Auftrag, das ganze Haus zu saugen, Küche usw. wischen... Und das ständige "herumhängen vor dem Rechner nervt" sie.
Melde mich später wieder. -
@hajo-0 sagte in Verbindung Tasmota (Sonoff) zu Node-Red:
@mickym Mosquitto ja. mqtt Browser nein. Und jetzt muss ich weitermachen. Habe Auftrag, das ganze Haus zu saugen, Küche usw. wischen... Und das ständige "herumhängen vor dem Rechner nervt" sie.
Melde mich später wieder.Gut (wie gesagt die tasmota Node würde ich dann später wieder rauslöschen - und wir machen das ohne - aber das kannst ja ggf. später machen. )
Wenn Du eine mqtt-In Node in Deinen Editor ziehst, dann sollte es ja so aussehen:
Wenn Du die dann aufmachst, sollte die Node so aussehen:
Bei Server klickst Du auf den Bleistift und verbindest Dich mit Deinem mosquitto, in dem Du localhost bzw. IP Adresse eingibst und ggf. Benutzername und Passwort.
Wenn du alles richtig konfiguriert hast, dann abonnierst Du erst mal alles in dem Du als topic ein "#" einträgst.
Dann machst Du eine Debug Node hinten dran:
Und im Debug-Fenster siehst Du dann alle mqtt Nachrichten, die Dein mosquitto Broker empfängt, durchlaufen.
Wenn Du über den Browser über die Geräteseite schaltest, dann solltest Du ja so ähnliche Nachrichten bekommen.
Zusätzlich dürften so im 5 Minuten- Rhythmus noch tele Nachrichten auftauchen mit den Tasmota den Status des Gerätes übermittelt
In der Regel sendet Tasmota immer alle 5 Minuten den Status des Gerätes ( also ..../tele/STATE) und den Status der Sensoren ( also .../tele/SENSOR).
Wenn Du die Objekte des STATE aufmachst, dann siehst Du was gemeldet wird:
Im Hauptobjekt siehst Du die Uhrzeit mit der dein Gerät läuft, standard ist natürlich die lokale Zeit (mit SZ):
Das erkennst Du an der Diskrepanz zwischen der Uhrzeit, wann die Nachricht erstellt wurde und der Nachricht des Gerätes:
Ansonsten siehst da noch Uptime und das WIFI Objekt mit Signalstärke etc.
Im Prinzip siehst Du die Nachrichten auch im Konsolenfenster dieser Geräte:
Die Uhrzeit kannst am Besten über ein Backlog Kommando über diesen Helfer richtig einstellen: https://tasmota-tz.cloudfree.io/
Ist die Uhrzeit korrekt eingestellt, ist das Datum der Uhrzeit mit dem in dem Objekt identisch:
Im .../stat/Status7 - kannst Du dann übrigens sehen, ob die Zeitzone etc richtig konfiguriert ist:
Die UTC Zeit ist also korrekt 2 Std. hinterher. Erst Timezone +1 und dann Sommerzeit.In dem Sensorobjekt bekommst dann ggf. weitere Daten, falls die Hardware einen Sensor hat.
Hier mal als Beispiel wieder meine Beleuchtung mit dem SonoffIn der tele/SENSOR Nachricht gibt es dann ein ENERGY Objekt, dass die Daten zum Stromverbrauch zum Beispiel enthält.
Wie gesagt, wenn Du dann soweit mal bist, dann überlegen wir uns, welche Struktur Du in Deinem mqtt den haben willst.
-
@mickym Ok, danke für die Super Anleitung. Die Spezialitäten mit Uhrzeit und Sensoren hebe ich mir für später auf...
Im Debug-Fenster kommt bei Betätigung des Switches
-
Ich habe eben mal einen zweiten Schalter ausprobiert. Läuft mit einem D1mini mit Relay-Shield und schaltet die 5V Versorgung für einen nachfolgenden D1mini, der eine 2m Lichtleiste mit vielen Programmen steuert. Als Topic steht nur "led" im Sketch und im Flow.
-
@hajo-0 OK - dann könnten wir jetzt schon direkt schalten, aber die Frage ist, ob Du Dir eine eigene Struktur bauen willst und/oder ob Du die Präfixe nicht unter die Geräte haben wills.
Damit Du testen kannst wie das Schalten geht nimmst Du Deinen Dashboard switch oder ziehst einen neuen raus und konfigurierst den nun mit ON und OFF und nicht mit true und false und lässt die paylaod:
Das topic kannst Du auch direkt im Schalter setzen, dann kannst Du mehrere Schalter in EINE mqtt-Node speisen.
Den Haken nimmst Du raus, damit Du Dir nicht so schnell eine Endlosschleife einfängst:Das leitest Du in eine mqtt-Out Node, wobei Du das topic frei lässt und nur Dein mosquitto Server angibst.
So und wenn Du siehst dass dieser Schalter funktioniert, dann machen wir das Ganze in Schön.
-
@mickym Ok. Done.
-
@hajo-0 Na funktioniert es?
-
@mickym nö
-
@hajo-0 Was mich wundert ist - das tas-1. Was Du da eingetragen hast. Zeig mal den DEBUG Fenster kommen denn da Deine tele Nachrichten an und dann zeig Deinen Flow als Screenshot.
Am Besten ist du exportierst den neuen Flow (also nicht das mit den tasmota Nodes) und stellst es hier in CodeTags ein, damit ich das sehen kann und bei mir importieren kann.
Und am Besten Du deaktivierst die tasmota Node in Deinem Flow.
-
@hajo-0 sagte in Verbindung Tasmota (Sonoff) zu Node-Red:
@mickym Ok. Done.
Ausserdem müssten da viel mehr Nachrichten kommen.
-
@mickym tas-1 bzw. tas_1 ist längst raus, die Tasmota Node ist gelöscht. Die Tele-Nachrichten von allen (derzeit inaktiven) Sensoren kommen imm Debug.
[ { "id": "d716387c8b97f48a", "type": "tab", "label": "Flow 8", "disabled": false, "info": "", "env": [] }, { "id": "2d64dd1ca2851019", "type": "ui_switch", "z": "d716387c8b97f48a", "name": "", "label": "LED-Leiste Küche", "tooltip": "schaltet D1 für LED Küche", "group": "2f506714b6b1813c", "order": 1, "width": 0, "height": 0, "passthru": true, "decouple": "false", "topic": "topic", "topicType": "msg", "style": "", "onvalue": "true", "onvalueType": "bool", "onicon": "", "oncolor": "", "offvalue": "false", "offvalueType": "bool", "officon": "", "offcolor": "", "animate": false, "className": "", "x": 190, "y": 240, "wires": [ [ "df854b72ae7c9326" ] ] }, { "id": "df854b72ae7c9326", "type": "mqtt out", "z": "d716387c8b97f48a", "name": "", "topic": "led", "qos": "2", "retain": "true", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "9f9e276987b2fb1f", "x": 350, "y": 240, "wires": [] }, { "id": "a2e6c2892447438e", "type": "comment", "z": "d716387c8b97f48a", "name": "Schaltet den D1 für die Lichtleiste Küche", "info": "", "x": 260, "y": 200, "wires": [] }, { "id": "c885d57548110d73", "type": "ui_switch", "z": "d716387c8b97f48a", "name": "", "label": "Tasmota-Steckdose 1", "tooltip": "", "group": "2f506714b6b1813c", "order": 1, "width": 0, "height": 0, "passthru": false, "decouple": "false", "topic": "tasmota_340796/cmnd/power", "topicType": "str", "style": "", "onvalue": "ON", "onvalueType": "str", "onicon": "", "oncolor": "", "offvalue": "OFF", "offvalueType": "str", "officon": "", "offcolor": "", "animate": false, "className": "", "x": 200, "y": 360, "wires": [ [ "4a3acd4df8a7a2bd" ] ] }, { "id": "8de87098084c846c", "type": "mqtt in", "z": "d716387c8b97f48a", "name": "", "topic": "#", "qos": "2", "datatype": "auto-detect", "broker": "9f9e276987b2fb1f", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 150, "y": 500, "wires": [ [ "fa8f7b3635f4467a" ] ] }, { "id": "fa8f7b3635f4467a", "type": "debug", "z": "d716387c8b97f48a", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 340, "y": 500, "wires": [] }, { "id": "4a3acd4df8a7a2bd", "type": "mqtt out", "z": "d716387c8b97f48a", "name": "", "topic": "", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "9f9e276987b2fb1f", "x": 390, "y": 360, "wires": [] }, { "id": "2f506714b6b1813c", "type": "ui_group", "name": "Schalter", "tab": "17fecb8389f359f0", "order": 1, "disp": true, "width": "6", "collapse": false, "className": "" }, { "id": "9f9e276987b2fb1f", "type": "mqtt-broker", "name": "", "broker": "192.168.178.95", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "17fecb8389f359f0", "type": "ui_tab", "name": "Schalter", "icon": "dashboard", "order": 8, "disabled": false, "hidden": false } ]
-
OK - mal schauen. Warum das nicht geht ist mir im Moment schleierhaft.
Zeig nochmal alle Nachrichten aus dem Debugfenster. Und nicht nur die 2 - wenn Du über das Webinterface schaltest
-
20.7.2024, 15:20:28node: debug 1esp/Badewanne/Temperatur : msg.payload : number 23.88 20.7.2024, 15:20:28node: debug 1esp/bme280/temperature : msg.payload : number 23.93 20.7.2024, 15:20:28node: debug 1esp/bme280/humidity : msg.payload : number 41.69 20.7.2024, 15:20:28node: debug 1esp/bme280/pressure : msg.payload : number 987.6 20.7.2024, 15:20:28node: debug 1esp/dht22/temperature : msg.payload : number 20.9 20.7.2024, 15:20:28node: debug 1esp/dht22/humidity : msg.payload : number 55.7 20.7.2024, 15:20:28node: debug 1esp/dht22/heatindex : msg.payload : number 20.5 20.7.2024, 15:20:28node: debug 1abstand/abstand : msg.payload : number 45.32 20.7.2024, 15:20:28node: debug 1temperatur/infrarot : msg.payload : number 23.33 20.7.2024, 15:20:28node: debug 1counter : msg.payload : number 8 20.7.2024, 15:20:28node: debug 1esp/bme280/temperature : msg.payload : number 23.93 20.7.2024, 15:20:28node: debug 1esp/bme280/humidity : msg.payload : number 41.69 20.7.2024, 15:20:28node: debug 1 esp/bme280/pressure : msg.payload : number 987.6 20.7.2024, 15:20:28node: debug 1esp/ds18b20/temperature : msg.payload : number 21.25 20.7.2024, 15:20:28node: debug 1esp/dht22/temperature : msg.payload : number 20.9 20.7.2024, 15:20:28node: debug 1esp/dht22/humidity : msg.payload : number 55.7 20.7.2024, 15:20:28node: debug 1esp/dht22/heatindex : msg.payload : number 20.5 20.7.2024, 15:20:28node: debug 1esp/dht22/date : msg.payload : number 21.87 20.7.2024, 15:20:28node: debug 1esp/hcsr04/abstand : msg.payload : number 0 20.7.2024, 15:20:29node: debug 1esp/Badewanne/Temperatur : msg.payload : number 23.88 20.7.2024, 15:20:29node: debug 1esp/Badewanne/Abstand : msg.payload : number 0 20.7.2024, 15:20:29node: debug 1esp/distance : msg.payload : number 19.21 20.7.2024, 15:20:29node: debug 1esp/abstand : msg.payload : number 19.3 20.7.2024, 15:20:29node: debug 1abstand/abstand : msg.payload : number 45.32 20.7.2024, 15:20:29node: debug 1temperatur/infrarot : msg.payload : number 23.33 20.7.2024, 15:20:29node: debug 1temperatur/raum : msg.payload : number 1037.55 20.7.2024, 15:20:29node: debug 1test : msg.payload : string[6] "test 3" 20.7.2024, 15:20:29node: debug 1led : msg.payload : boolean false 20.7.2024, 15:28:00node: debug 1tasmota_340796/cmnd/power : msg.payload : string[2] "ON" 20.7.2024, 15:28:01node: debug 1tasmota_340796/cmnd/power : msg.payload : string[3] "OFF" 20.7.2024, 15:33:44node: debug 1esp/Badewanne/Temperatur : msg.payload : number 23.88 20.7.2024, 15:33:44node: debug 1esp/bme280/temperature : msg.payload : number 23.93 20.7.2024, 15:33:44node: debug 1esp/bme280/humidity : msg.payload : number 41.69 20.7.2024, 15:33:44node: debug 1esp/bme280/pressure : msg.payload : number 987.6 20.7.2024, 15:33:44node: debug 1esp/dht22/temperature : msg.payload : number 20.9 20.7.2024, 15:33:44node: debug 1esp/dht22/humidity : msg.payload : number 55.7 20.7.2024, 15:33:44node: debug 1esp/dht22/heatindex : msg.payload : number 20.5 20.7.2024, 15:33:44node: debug 1abstand/abstand : msg.payload : number 45.32 20.7.2024, 15:33:44node: debug 1temperatur/infrarot : msg.payload : number 23.33 20.7.2024, 15:33:44node: debug 1counter : msg.payload : number 8 20.7.2024, 15:33:44node: debug 1esp/bme280/temperature : msg.payload : number 23.93 20.7.2024, 15:33:44node: debug 1esp/bme280/humidity : msg.payload : number 41.69 20.7.2024, 15:33:44node: debug 1esp/bme280/pressure : msg.payload : number 987.6 20.7.2024, 15:33:44node: debug 1esp/ds18b20/temperature : msg.payload : number 21.25 20.7.2024, 15:33:44node: debug 1esp/dht22/temperature : msg.payload : number 20.9 20.7.2024, 15:33:44node: debug 1esp/dht22/humidity : msg.payload : number 55.7 20.7.2024, 15:33:44node: debug 1esp/dht22/heatindex : msg.payload : number 20.5 20.7.2024, 15:33:45node: debug 1esp/dht22/date : msg.payload : number 21.87 20.7.2024, 15:33:45node: debug 1esp/hcsr04/abstand : msg.payload : number 0 20.7.2024, 15:33:45node: debug 1esp/Badewanne/Temperatur : msg.payload : number 23.88 20.7.2024, 15:33:45node: debug 1esp/Badewanne/Abstand : msg.payload : number 0 20.7.2024, 15:33:45node: debug 1esp/distance : msg.payload : number 19.21 20.7.2024, 15:33:45node: debug 1esp/abstand : msg.payload : number 19.3 20.7.2024, 15:33:45node: debug 1abstand/abstand : msg.payload : number 45.32 20.7.2024, 15:33:45node: debug 1temperatur/infrarot : msg.payload : number 23.33 20.7.2024, 15:33:45node: debug 1temperatur/raum : msg.payload : number 1037.55 20.7.2024, 15:33:45node: debug 1test : msg.payload : string[6] "test 3" 20.7.2024, 15:33:45node: debug 1led : msg.payload : boolean false 20.7.2024, 15:33:57node: debug 1tasmota_340796/cmnd/power : msg.payload : string[2] "ON" 20.7.2024, 15:33:59node: debug 1tasmota_340796/cmnd/power : msg.payload : string[3] "OFF"
-
@hajo-0 sagte in Verbindung Tasmota (Sonoff) zu Node-Red:
tasmota_340796/cmnd/power
OK - wenn Du das nochmal überprüfst, dann sollte wenn Du das wegschickst, genau das gleiche über Deine mqtt-In Node wieder rein kommen, wie es auch beim manuellen Schalten kommt.
Schau auch mal in die Konsole, ob da was ankommt, wenn Du über das Dashboard schaltest.
-
@mickym Konsole war ein guter Tip. Das Problem liegt offenbar woanders:
14:52:05.460 MQT: Verbindungsversuch… 14:52:05.641 MQT: Verbindung fehlgeschlagen aufgrund von 192.168.178.95:1883, rc 5. Wiederversuch in 10 s 14:52:07.296 QPC: Reset 14:52:16.807 MQT: Verbindungsversuch… 14:52:16.878 MQT: Verbindung fehlgeschlagen aufgrund von 192.168.178.95:1883, rc 5. Wiederversuch in 20 s 14:52:37.788 MQT: Verbindungsversuch… 14:52:37.859 MQT: Verbindung fehlgeschlagen aufgrund von 192.168.178.95:1883, rc 5. Wiederversuch in 30 s
-
@hajo-0 Hast Du denn die mqtt Konfigurationsnode richtige gesetzt. Mit UserID, Passwort, mqtt Protokoll 3.1.1. ? rc 5 bedeuted sonst meist Zugriff verweigert.
Wenns gar nicht geht - du solltest halt auch keine Retain Nachrichten am Anfang schicken, dann stop mosquitto und fang nochmal mit einer jungfräulichen Datenbank an.
-
@mickym Wo stelle ich das ein? Hier?
Mosquitto läuft ganz normal, alles funktioniert, nur eben Tasmota nicht.Pause. Muss grad weg.
-
@hajo-0 Kann es sein, dass Du mit 2 Clients mit falschem Passwort zugreifst?. Gib Dein Passwort und Dein mqtt User ggf. nochmal ein.
Und dann überprüfe mal Dein mosquitto log.
cd /var/log/mosquitto$ sudo tail -n50 mosquitto.log
Eventuell ist diese tasmota Node auch noch ein vollständiger mqtt Broker - fällt mir ein. Lösch bitte diese Nodes (https://flows.nodered.org/node/node-red-contrib-sonoff-tasmota) komplett via Palettenmanager aus dem System.
-
lass dies Sonderzeichen endlich alle weg,
-----------------> - <---------------------,
Die haben bei Benutzer und Paßwort nix verloren.