Anbindung Sonoff (Tasmota) via MQTT an Fhem Probleme

Begonnen von slor, 05 April 2017, 16:04:06

Vorheriges Thema - Nächstes Thema

slor

Hallo Zusammen,

ich habe heute meinen ersten Sonoff Basic mit der Tasmota Firmware in Betrieb genommen.
Leider hakt es mit der Anbindung an FHEM und/oder meinem Verständnis.

Folgendes ist konfiguriert:

Sonoff Firmware:
MQTT Topic: sonoff/basic_01
Host -> mein MQTT Server


MQTT:
Mosquito 3.1.1 installiert und gestartet
MQTT Broker definiert und verbunden
Name: MQTTBroker


MQTT Device:
Name: Sonoff_Basic_01
IOdev: MQTTBroker

defmod Sonoff_Basic_01 MQTT_DEVICE
attr Sonoff_Basic_01 IODev MQTTBroker
attr Sonoff_Basic_01 devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
attr Sonoff_Basic_01 icon hue_filled_br30
attr Sonoff_Basic_01 publishSet ON OFF cmnd/sonoff/basic_01/POWER/set
attr Sonoff_Basic_01 room MQTT
attr Sonoff_Basic_01 stateFormat transmission-state
attr Sonoff_Basic_01 subscribeReading_Licht stat/sonoff/basic_01/POWER
attr Sonoff_Basic_01 subscribeReading_Status tele/Sonoff_Basic_01/STATUS
attr Sonoff_Basic_01 subscribeReading_state stat/sonoff/basic_01/POWER/set
attr Sonoff_Basic_01 webCmd ON:OFF


Wenn ich nun versuche zu schalten sehe ich auf der CMD des MQTT Servers folgendes:
Client mosqsub/31060-cubietruc received PUBLISH (d0, q0, r0, m0, 'cmnd/sonoff/basic_01/POWER/set', ... (2 bytes))
cmnd/sonoff/basic_01/POWER/set ON
Client mosqsub/31060-cubietruc received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/RESULT', ... (21 bytes))
stat/sonoff/basic_01/RESULT {"Command":"Unknown"}


Auf dem Gerät:
14:59:07 MQTT: stat/sonoff/basic_01/RESULT = {"Command":"Unknown"}

Wo ist der Fehler?
Habe versucht das 1:1 (nur mit anderen Namen) aus dem Wiki nachzubauen. Dort sind die Screenshots anders als der Text etc. Mittlerweile ist mein Beispiel auch angepasst. Ich komme einfach nicht weiter.

Achso, wenn ich auf dem Device selbst schalte, kommt folgendes am MQTT Server an:
stat/sonoff/basic_01/RESULT {"POWER":"OFF"}
Client mosqsub/31060-cubietruc received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/POWER', ... (3 bytes))
stat/sonoff/basic_01/POWER OFF
Client mosqsub/31060-cubietruc received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/RESULT', ... (14 bytes))
stat/sonoff/basic_01/RESULT {"POWER":"ON"}
Client mosqsub/31060-cubietruc received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/POWER', ... (2 bytes))
stat/sonoff/basic_01/POWER ON


Hoffe das langt an Infos.
Btw, kann ich die MQTT Daten irgendwie mit einem Passwort versehen / verschlüsseln?
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

eisler

Username und Passwort kann für den MQTT Broker angegeben werden, Verschlüsselung gibt es noch nicht.

define <name> MQTT <ip:port> [<username>] [<password>]

Grüße
Stephan

slor

Danke! Was muss ich am Server selbst einstellen?
Hat da jemand best practices? Soll ich den Mosquito unter einem eigenen user laufen lassen?

Das Thema ist eh zweitrangig. Möchte mein Device erst mal ans laufen bekommen. Dann kann ich immer noch USER und PW einbauen.

Sonst noch jemand Tips zu meinem eigentlichen Problem
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

slor

In Punkto Installation / Konfiguration des Mosquitto Servers hab ich was gefunden. Das werd ich bei Gelegenheit umsetzen.
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-the-mosquitto-mqtt-messaging-broker-on-debian-8

Evtl. noch ein Punkt für die FAQ.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

Rince

Danke. Hab nen Link auf diesen Thread unter Installation eingefügt. Ist das so ok?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

slor

Sehr gut! Danke.
Kann sich einer der MQTT Pros mal meine config ansehen?
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

bartman121


slor

hat leider nichts geholfen. Habe das set gelöscht und /set. Ging beides nicht.

Hier einmal das Resultat vom schalten via Fhem mit dem Fehler und direkt am Gerät.

Client mosqsub/9733-cubietruck received PUBLISH (d0, q0, r0, m0, 'cmnd/sonoff/basic_01/POWER', ... (2 bytes))
cmnd/sonoff/basic_01/POWER ON
Client mosqsub/9733-cubietruck received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/RESULT', ... (21 bytes))
stat/sonoff/basic_01/RESULT {"Command":"Unknown"}
Client mosqsub/9733-cubietruck received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/RESULT', ... (14 bytes))
stat/sonoff/basic_01/RESULT {"POWER":"ON"}
Client mosqsub/9733-cubietruck received PUBLISH (d0, q0, r0, m0, 'stat/sonoff/basic_01/POWER', ... (2 bytes))
stat/sonoff/basic_01/POWER ON


Sonst noch Ideen?

Im Anhang noch zwei Screenshots vom Device.

Im Wiki steht das wie folgt. Das verseht ich nicht so ganz. Und es funktioniert bei mir auch nicht. https://wiki.fhem.de/wiki/Sonoff#MQTT_Server_einrichten

### 2. FHEM Device mit MQTT verbinden ###
define Sonoff_Switch MQTT_DEVICE
attr Sonoff_Switch IODev myBroker
attr Sonoff_Switch devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
attr Sonoff_Switch icon hue_filled_br30
attr Sonoff_Switch publishSet ON OFF cmnd/TestSwitch/POWER/set
attr Sonoff_Switch room MQTT
attr Sonoff_Switch subscribeReading_Licht stat/Sonoff_Switch/POWER
attr Sonoff_Switch subscribeReading_Sensor tele/Sonoff_Switch/SENSOR
attr Sonoff_Switch subscribeReading_Status stat/Sonoff_Switch/STATUS
attr Sonoff_Switch webCmd ON:OFF
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

slor

Ich hab noch ein wenig rumprobiert.
Immerhin bekommt Fehem den Status nun mit, wenn ich am Device selbst schalte. Allerdings kann ich noch immer nicht über Fhem schalten.

Könnte mal bitte jemand eine funktionierende Anleitung für Sonoff Posten? Das im Wiki funktioniert (bei mir) nicht.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

slor

Ich habe noch weiter getestet.
Wenn ich auf dem Device selbst den Topic von sonoff/basic_01 auf basic_01 ändere kann ich ihn ohne Probleme schalten.
Habe ich mit dem Topic nun was verwechselt? Darf ich dort keine / einbauen?
Wie baue ich dann die schönen Strukturen mit mehreren / auf?

Wie macht ihr das?
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

Rince

Ich habe zwar diverse sonoff Geräte, die sind aber noch verpackt.
Und im Moment eine große ToDo Liste.

Ich brauche noch Zeit, dann bastle ich gerne selbst rum.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

slor

So, Rückmeldung aus dem Tasmota Forum.
/ ist im Topic von Sonoff Geräten nicht supported. Also nur den Device Namen eintragen.

Damit ist die Diskussion mit der Namenskonvention in diesem Umfeld wohl erst mal hinfällig.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

Rince

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Ah ok,
ich habe den Fehler.
https://github.com/arendst/Sonoff-Tasmota/issues/340
Das ist deine Frage, oder?

Die Antwort ist prinzipiell richtig.
/ ist ein Topic Seperator

Genau genommen ist alles zwischen zwei / / ein Topic. Ich verstehe nur nicht, warum sie nicht einfach den ganzen Topic Tree als String benutzen.

Was brauchst du denn von Tasmota alles?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

slor

ich wollte eigentlich nur via Topic die Geräte separieren.
Ich mach das jetzt aber in Fhem, indem ich die Geräte wie die HM Geräte benennen. Z.b. EG_WZ_TH1

Dachte das soll über die Topics in MQTT auf dem Device gemacht werden. z.B. eg/wz/th1

Entweder hab ich das Konzept von MQTT nicht verstanden oder es wird von der Tasmota Firmware nicht umgesetzt.

Ist übriges mein Beitrag.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect