Seite 1 von 1

Sonoff Switch einbinden

Verfasst: 4. Dez 2022 12:59
von Fahren
Hallo zusammen und schöne 2. Advent,

....ich habe mir ein paar mehr Sonoff`s zugelegt :-) und binde diese per Zigbee2Mqtt ein. Nur bei dem Sonoff Switch mit den Funktionen "single, double, long" sehe ich den Wald vor lauter Bäumen nicht.
Wie verknüpfe ich diesen über die PaperUi das ich verschiedene Sachen damit schalten kann.
Mein Code sieht zur Zeit so aus:

Code: Alles auswählen

UID: mqtt:topic:e8d8bc1255:sonoff_switch
label: Sonoff Switch
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:e8d8bc1255
channels:
  - id: Sonoff_switch_one
    channelTypeUID: mqtt:string
    label: Sonoff Switch One
    description: ""
    configuration:
      allowedStates: single,double,long
      stateTopic: zigbee2mqtt/Sonoff_Switch/action/get
Mit MQTT.fx ausgelesen steht dort

Code: Alles auswählen

zigbee2mqtt/Sonoff_Switch/action
single
Habe etwas im Netz gefunden das ich den Zustand per JSONPATH formatieren muss und dann per REGEX übergeben oder so. Möchte z.B. bei
Single>>> Lampe 1 schalten
Double>>>Lampe2
etc.

Danke schon einmal für Eure Hilfe
Frank

Re: Sonoff Switch einbinden

Verfasst: 4. Dez 2022 15:14
von udo1toni
Erst mal nutzt Du mit extrem hoher Wahrscheinlichkeit openHAB3 :) und damit KEIN Paper UI, sondern Main UI (ich weiß, Korinthen und so, trotzdem)

zigbee2mqtt kenne ich nur vom Namen, aber in openHAB beschäftigen wir uns ja ohnehin nur mit der mqtt-Seite, also:

Wenn Du per mqtt.fx dieses Topic siehst: zigbee2mqtt/Sonoff_Switch/action dann musst Du auch exakt dieses Topic unter stateTopic eintragen, das /get hat da nichts zu suchen. openHAB hält sich übrigens streng an den Standard hinter mqtt, das heißt, POWER und Power sind zwei unterschiedliche Topics - oder anders ausgedrückt: Groß/Kleinschreibung ist exakt zu beachten.

Ansonsten musst Du aufpassen. "Sonoff" ist die Firma. Sonoff hat vor allem zu Anfang sehr viele Geräte hergestellt, die per WLAN kommunizieren, basierend auf dem ESP8266, für den es verschiedene alternative Firmwares gibt, unter anderem Tasmota, welches dann nativ mqtt nachrüstet und die Geräte vom Cloud-Zwang befreit (bzw. die Cloud als Möglichkeit entfernt; Tasmota unterstützt keine Cloud).
Wenn Du also davon sprichst, dass Du Dir "Sonoffs" zugelegt hast, wird der durchschnittliche Leser eventuell zunächst an die wlan-Variante denken.

Re: Sonoff Switch einbinden

Verfasst: 5. Dez 2022 06:50
von Fahren
Moin moin,

@Udo1toni,
....da muss ich Dir wie üblich Recht geben, ich benutze Openhab3 und konfiguriere über die MainUI :D

Der Schalter wird über ZigBee gesteuert, also nicht die Wlan Variante... ausgegeben wird zigbee2mqtt/Sonoff_Switch/action und die 3 Aktionen sind dann single, double,long.
Nur wie verarbeite ich diese dann, um damit Funktionen auslesen zu können. Bei Temp/Humidity geht das ja über JSONPATH das mir diese angezeigt werden und ich damit arbeiten kann.

Danke schon mal für die Mühe

Re: Sonoff Switch einbinden

Verfasst: 5. Dez 2022 12:11
von rfu
Hi,

zigbee2mqtt sendet ja normalerweise keinen einzelnen Wert "single", sondern ein json in dem die Werte eingebunden sind, also sowas wie

Code: Alles auswählen

{"last_seen":"2022-12-05T12:06:34+01:00","linkquality":54,"action":"single"}
Daraus musst Du Dir jetzt Deinen Teil rausklauben über jsonpath (das natürlich installiert sein muss), also im channel

Code: Alles auswählen

transformationPattern: JSONPATH:$.action
Für mehr Details müsstest Du mal die tatsächliche mqtt Message posten :-)

rfu