Sonoff Pulsetime Anzeige OH3

Die alternative Firmware für ESP8266 based devices

Moderatoren: seppy, udo1toni

Antworten
Archerxp
Beiträge: 9
Registriert: 25. Dez 2017 09:56

Sonoff Pulsetime Anzeige OH3

Beitrag von Archerxp »

Hallo,

habe folgendes Problem: in meiner Garage ist ein Sonoff Basic R1 Tasmota an die Torsteuerung angeschlossen. Die Steuerung braucht immer einen Impuls für Auf, Stop, Zu. Die Tastfunktion habe ich im Sonoff mit Pulstimer 01 gelöst, funktioniert prima. Allerdings habe ich in OH3 das Problem, das ich den Sonoff immer als "Ein" angezeigt bekomme. Dachte an einen State Befehl, aber so wie ich das sehe, geht das nur 1 mal pro Channel. Jemand ne Idee, wie ich das hinbekomme, das mir der aktuelle Schaltzustand vom Basic in OH3 angezeigt wird?

Code: Alles auswählen

UID: mqtt:topic:4734b701c7:f87829df02
label: Garagentor
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:4734b701c7
location: Garage
channels:
  - id: SW_Garagentor
    channelTypeUID: mqtt:switch
    label: SW_Garagentor
    description: ""
    configuration:
      commandTopic: cmnd/Garagentor/POWER
      stateTopic: state/Garagentor/POWER
      off: OFF
      on: ON
Danke und Grüße

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

Re: Sonoff Pulsetime Anzeige OH3

Beitrag von udo1toni »

Das stateTopic muss stat/Garagentor/POWER heißen, nicht state/Garagentor/POWER
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Archerxp
Beiträge: 9
Registriert: 25. Dez 2017 09:56

Re: Sonoff Pulsetime Anzeige OH3

Beitrag von Archerxp »

udo1toni hat geschrieben: 21. Mai 2021 19:08 Das stateTopic muss stat/Garagentor/POWER heißen, nicht state/Garagentor/POWER
Ups, danke - allerdings ändert das nichts daran, das in OH3 der Schalter nicht auf "aus" wechselt. Hab versucht, mit stat/Garagentor/STATUS den Zustand abzufragen, allerdings meckert OH3 das meine 2tes "stat" benutzen darf.

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

Re: Sonoff Pulsetime Anzeige OH3

Beitrag von udo1toni »

Nein. Du kannst Dir nicht einfach aussuchen, welche Topics Du nutzt. Das korrekte stateTopic ist stat/Garagentor/POWER (es sei denn, das Device arbeitet nicht so, wie es soll).

Prüfe, welche Topics das Device sendet, wenn das Relais schaltet. (z.B. mit mqtt spy oder mqff.fx).

Mindestens wenn Du den Befehl ON oder OFF sendest, muss das obige Topic kommen.


Alternativ könntest Du noch das Topic stat/Garagentor/RESULT verwenden, allerdings musst Du dann eine verkettete Transformation nutzen, Du musst sowohl REGEX als auch JSONPATH als Transformation Service einrichten und als Incomming Value Transformation z.B. sowas eintragen:

Code: Alles auswählen

REGEX:((.*POWER.*))∩JSONPATH:$.POWER
Der erste Teil sorgt dafür, dass nur solche JSON Objekte durchgereicht werden, die das Wort POWER enthalten, der zweite Teil liefert den Status des Objekts zurück.

Eine weitere Möglichkeit: Du definierst zusätzlich für das Item noch in den Metadaten einen ExpirationTimer, der eine Sekunde nachdem der Zustand auf ON gewechselt hat den Status auf OFF ändert. Das ist zwar nicht ganz sauber, aber eine Lösung für Dein Problem :)

Und zu guter Letzt: Du kannst außerdem in den Metadaten des Items autoupdate="false" setzen und in der Sitemap (oder in einer der anderen Ansichten) einen Knopf anlegen, der ausschließlich den ON-Befehl sendet. Durch das autoupdate="false" wird der Status des Items sich nicht ändern. Ich nutze das bei meinen Toren auch so.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Archerxp
Beiträge: 9
Registriert: 25. Dez 2017 09:56

Re: Sonoff Pulsetime Anzeige OH3

Beitrag von Archerxp »

udo1toni hat geschrieben: 21. Mai 2021 22:49
Eine weitere Möglichkeit: Du definierst zusätzlich für das Item noch in den Metadaten einen ExpirationTimer, der eine Sekunde nachdem der Zustand auf ON gewechselt hat den Status auf OFF ändert. Das ist zwar nicht ganz sauber, aber eine Lösung für Dein Problem :)

Vielen Dank Udo, das reicht mir völlig :)

Grüße

Antworten