Sonoff Switch einbinden

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

Antworten
Fahren
Beiträge: 23
Registriert: 28. Nov 2017 08:59

Sonoff Switch einbinden

Beitrag 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
OpenHab3 auf RSP4
Max Heizungssteuerung
Sonoff Licht und Energiermessung
Homematic CCU2 für Licht, Rolladen

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sonoff Switch einbinden

Beitrag 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.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Fahren
Beiträge: 23
Registriert: 28. Nov 2017 08:59

Re: Sonoff Switch einbinden

Beitrag 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
OpenHab3 auf RSP4
Max Heizungssteuerung
Sonoff Licht und Energiermessung
Homematic CCU2 für Licht, Rolladen

Benutzeravatar
rfu
Beiträge: 24
Registriert: 8. Okt 2021 15:41

Re: Sonoff Switch einbinden

Beitrag 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
openHAB 3.3.0 im docker

Antworten