Seite 1 von 2
[gelöst] Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 29. Mai 2019 17:05
von earlybird
Hallo zusammen,
ich bin neu hier. Mit openHAB2 befasse ich mich erst seit kurzem.
Ich habe jetzt auf einem RaspberryPi 3+ raspbian installiert.
Dann OpenHAB2, Apache2, MariaDB und Nextcloud16.
Jetzt habe ich (mit freundlicher Unterstützung der LUG-Marl

)
3 Sonoff S20 Steckdosen mit Tasmota geflasht und versuche nun diese
ins System zu integrieren.
Da zu habe ich folgende Fragen:
Benötige ich für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Kann ich ggf. für die Steckdosen eine eigene Zeitschaltung festlegen? Wenn ja, wo?
Für Eure Hilfe im voraus "herzlichen" Dank
Mit freundlichem Gruß
Jürgen
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 29. Mai 2019 18:25
von udo1toni
Nein, Du benötigst nur einen Broker.
Du musst jedes Device unter einem eigenen Topic senden und empfangen lassen. Tipp: Im Sinne der Hierarchie ist es meiner Meinung besser, das FullTopic abweichend zur Default Konfiguration so einzustellen:
Was dazu führt, dass man nicht
Code: Alles auswählen
commandTopic="cmnd/meinDevice/POWER", stateTopic="stat/meinDevice/POWER"
schreibt, sondern
Code: Alles auswählen
commandTopic="meinDevice/cmnd/POWER", stateTopic="meinDevice/stat/POWER"
Für die Zeitschaltung kannst Du in openHAB entsprechend Regeln erstellen. Alternativ steht es Dir auch frei, die in Tasmota eingebauten Timer zu verwenden, aber das ist eher suboptimal, schließlich soll openHAB die Kontrolle haben.
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 29. Mai 2019 23:18
von earlybird
Hallo udo1toni,
erstmal "Dankeschön" für die schnelle Antwort.
Leider funktionieren bei bei mir nun alle 3 S20 Steckdosen gleichzeitig.

Wo muss ich den
einstellen?
Mit freundlichem Gruß
Jürgen
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 30. Mai 2019 03:25
von Stefan Otten
Im Konfigurations Menü des Sonoff unter MQTT
Siehe Screenshot, die letzten zwei Einträge.
Jedes Gerät braucht ein eigenes Topic.
Am besten legst Du für Dich einen Baum fest.
Der kann ungefähr so aussehen:
Erdgeschoss/Steckdosen/TV
Erdgeschoss/Steckdosen/Lampe
Erdgeschoss/Steckdosen/Lüfter
TV, Lampe und Lüfter sind als Beispiele für die einzelnen Steckdosen gedacht.
In dem Beispiel von Udo würde es dann konkret so aussehen:
Code: Alles auswählen
commandTopic="Erdgeschoss/Steckdosen/Lampe/cmnd/POWER", stateTopic="Erdgeschoss/Steckdosen/Lampe/stat/POWER"
commandTopic="Erdgeschoss/Steckdosen/TV/cmnd/POWER", stateTopic="Erdgeschoss/Steckdosen/TV/stat/POWER"
Grüße
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 30. Mai 2019 18:42
von udo1toni
Wenn alle Steckdosen "gleichzeitig" funktionieren, hast Du entweder das falsche Topic genutzt, oder alle Geräte mit identischem Topic eingerichtet. Selbstverständlich muss jedes Gerät sein eigenes Topic haben.
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 31. Mai 2019 14:02
von earlybird
Hallo udo1toni und Hallo Stefan,
das hat leider bei mir nicht funktioniert!

Darum habe ich jetzt die von Stefan vorgeschlagene Struktur eingestellt.
Von der Sonoff Seite kann ich die Steckdose schalten! Von der OpenHAB2-Seite leider nicht.
Hier habe ich mal die Sonoff Einstellungen aufgelistet:
Code: Alles auswählen
Sonoff S2X Modul
Sonoff
Tasmota Version 6.5.0(release-sonoff)
Build-Datum & -Uhrzeit 2019.03.19 12:30:37
Core-/SDK-Version 2_3_0/1.5.3(aec24ac9)
Laufzeit 0T00:00:23
Anz. Flash Schreibzugriffe 242 at 0xF7000
Anzahl Startvorgänge 50
Grund für Neustart Software/System restart
Name [friendly name] 1 Sonoff
AP1 SSID (RSSI) XXXXXXXXXXXX (32%)
Hostname TV-XXXX
IP-Adresse 1XX.XXX.X.X
Gateway 1XX.XXX.X.X
Subnetzmaske 255.255.255.0
DNS-Server 1XX.XXX.X.X
MAC-Adresse XX:XX:XX:XX:XX:XX
MQTT Host 1XX.XXX.X.X
MQTT Port 1883
MQTT-Benutzer XXXXXXXXX
MQTT client Erdgeschoss_Steckdosen
MQTT topic TV
MQTT group topic sonoffs
MQTT full topic Erdgeschoss/Wohnzimmer/cmnd/TV/
MQTT Fallback-Topic cmnd/Erdgeschoss_Steckdosen_fb/
full topic (%prefix%/%topic%/)
Erdgeschoss/Wohnzimmer/%topic%/%prefix%
Emulation Belkin WeMo
mDNS-Ermittlung deaktiviert
ESP Chip ID 6815555
Flash Chip ID 0x146085
Realer Flash Speicher 1024kB
Ges. Flash Speicher 1024kB
Ben. Flash Speicher 508kB
Verf. Flash Speicher 492kB
Freier Arbeitsspeicher 14kB
Hier habe ich mal die OpenHAB2 Einstellungen aufgelistet:
Code: Alles auswählen
Configuration Things Erdgeschoss_Steckdose_TV
Generic MQTT Thing
Name: Erdgeschoss_Steckdose_TV
Location:
Bridge Selektion: MQTT Broker Sonoff-S20-mqtt:broker:MQTTBrokerSonoff- S20
Code: Alles auswählen
Channels
mqtt:topic:Erdgeschoss_Steckdose_TV:Power
Switch
Linked items
Erdgeschoss_Steckdose_TV_Power
Label: Power
Type: Switch
Code: Alles auswählen
Channel configuration
Cannel type: On/Off switch
Channel id: Power
Label: Power
MQTT state topic: stateTopic="Erdgeschoss/Wohnzimmer/TV/stat/POWER"
MQTT command topic: commandTopic="Erdgeschoss/Wohnzimmer/TV/cmnd/POWER"
Bei den Einstellungen stehen für XXX natürlich Zahlen!
Als Anlage habe ich noch ein Bild von den Sonoff-MQTT-Einstellungen beigefügt.
Wo liegt bei mir der Fehler?
Könnt Ihr mir ggf. helfen?
Mit freundlichem Gruß
Jürgen
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 31. Mai 2019 23:16
von udo1toni
Du hast alle Bridges bis auf eine gelöscht?
Die Bridge wird ONLINE angezeigt?
Alle Things sind dieser Bridge zugeordnet?
Die Things werden ebenfalls ONLINE angezeigt?
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 31. Mai 2019 23:49
von earlybird
Hallo udo1toni,
das sieht jetzt wie im beigefügten Bild bei mir aus!
Nach dieser Anleitung bin ich vorgegangen :
https://www.youtube.com/watch?v=-8Wwi6MY0e8
Mit freundlichem Gruß
Jürgen
ps
noch ein schönes WE
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 1. Jun 2019 08:47
von Stefan Otten
Hallo,
Deine Topics sind falsch angelegt.
schau mal wie es beispielsweise bei mir aussieht:
Code: Alles auswählen
Switch Licht_Treppe_Wand "Treppe Wand" <light> (Lampen, Treppe) [ "Switchable" ] {mqtt="<[mosquitto:Smarthome/1OG/Treppe/Wand/stat/POWER:state:default], >[mosquitto:Smarthome/1OG/Treppe/Wand/cmnd/power:command:*:${command}]"}
screenshot_85.png
Screenshoot:
In Topic steht "Wand"
In Full Topic steht Smarthome/1OG/Treppe/%topic%/%prefix%
%topic% ist eine Variable und ist in meinem Fall mit "Wand" belegt.
Also heisst das komplette Topic, wie in dem Auszug aus der Things Datei zu sehen:
Smarthome/1OG/Treppe/Wand/
Wichtig, in OH und Tasmota (Sonoff) müssen beide Topics identisch sein.
Also keine Unterstriche anstatt den Schrägstrichen etc.
Kleiner Tipp:
Lade Dir mal MQTTfx oder ähnliches auf den Rechner.
Dann schalte über die Tasmota Weboberfläche Deine Geräte. In MQTTfx kannst Du dann das komplette Topic sehen.
Darüber kannst Du dann auch Testweise schalten etc.
Grüße
Stefan
Re: Für jede Sonoff S20 Dose einen eigenen MQTT-Broker?
Verfasst: 1. Jun 2019 14:30
von udo1toni
Vor allem muss hinter das %prefix% auch noch ein Slash.
%prefix% wird durch einen von drei Begriffen ersetzt: cmnd, stat oder tele
%topic% wird durch das ersetzt, was als %topic% definiert ist.
Entsprechend muss man das full topic mit Slashes aufbauen, also so:
Code: Alles auswählen
%prefix%/%topic%/
%topic%/%prefix%/
irgendwas/%topic%/%prefix%/
denn hinter dem full topic kommt noch der konkrete Parameter, z.B. POWER.
Tipp: Gewöhnlich definiert man das full topic bei allen Tasmota Geräten identisch, das Topic wird individuell für jedes Gerät definiert und ist dann eindeutig. Man kann als Topic auch die letzten 6 Stellen der MAC nehmen (auch dafür gibt es eine Variable), dann kann man die Firmware inklusive Einstellungen für alle Geräte identisch halten, das macht das Flashen der Geräte noch bequemer. Spielt allerdings nur beim initialen Flashen eine Rolle, danach bleiben die Einstellungen gewöhnlich erhalten, selbst wenn in der Firmware andere Einstellungen vorgenommen wurden.
Eine Alternative zu mqtt.fx wäre mqtt spy. Es gibt auch verschiedene Apps für Android und iOS (und die kostenlosen funktionieren gut)