Kontaktschalter via MQTT in OH einbinden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

Hallo zusammen,

habe 2 Kontaktschalter und habe gerade keine Ahnung, wie ich die so konfiguriere, dass sie mir in OH offen bzw. geschlossen anzeigen.
Konfig als Open/Close-Contact funtkioniert nicht... Konfig als Switch funktioniert ebenfalls nicht...

Bin gerade mit meinem spärlichen Latein am Ende...

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

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von udo1toni »

Wie sieht denn die Konfiguration genau aus? Welche Hardware? Welche Firmware? Welche Topics hast Du verwendet? Wie hast Du die Things definiert?
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

Also Basis ist ein Sonoff-Basic mit tasmota 8.5.1.
Der ist potentialfrei umgelötet und steuert mit dem Kontakt mein Garagentor.
Desweiten hab ich 2 Kontaktschalter an Rx und Tx (plus jeweils GND), welche im Tasmota als Switch und Relais konfiguriert sind (in Tasmota gilt ja: kein Relais, kein Switch).
Garagentor steuern ist cmnd/Garagentor/POWER1, die Stati offen und geschlossen sind stat/Garagentor/POWER2 und 3.

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

Achso, das Garagentor ist als ON/OFF-Switch konfiguriert.
Die Kontakte... da ich mittlerweile fast alles ausprobiert... aber nichts hat funktioniert...

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

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von udo1toni »

Also sind Rx und Tx als Switch Input konfiguriert?
Siehst Du die Topics in der Tasmota Konsole wenn Du den Kontakt schließt bzw. öffnest?
Hast Du einen mqtt Sniffer (z.B. mqtt spy oder mqtt.fx)? Auch dort sollte das Topic zu sehen sein, wenn Du stat/Garagentor/# abonnnierst.

Ich gehe mal davon aus, dass die Status jeweils ON bzw. OFF sind, es sei denn, Du hast sie in Tasmota umkonfiguriert.
Entsprechend musst Du das Thing dann so konfigurieren:

Code: Alles auswählen

Thing topic garage "Garagentor" {
    Type switch  : control "Control"     [ commandTopic="cmnd/Garagentor/POWER" ]
    Type contact : opened  "offen"       [ stateTopic="stat/Garagentor/POWER2" ]
    Type contact : closed  "geschlossen" [ stateTopic="stat/Garagentor/POWER3" ]
}
Und dazu natürlich drei Items:

Code: Alles auswählen

Switch  Garagentor        "Garagentor"              {channel="mqtt:topic:bridge:garage:control"}
Contact GarageOffen       "Garage offen [%s]"       {channel="mqtt:topic:bridge:garage:opened"}
Contact GarageGeschlossen "Garage geschlossen [%s]" {channel="mqtt:topic:bridge:garage:closed"}
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

Hallo Udo,

Völlig korrekt und so ist es auch konfiguriert.
Im MQTTfx wird mir die Statusänderung auch angezeigt, aber im Openhab sehe ich davon nichts...
Soll heißen, dass die Kontakte als Open/close Kontakt mir keine Statusänderung anzeigen und auch wenn ich sie als Switch auf dem gleichen State-topic ansprechen will keine Änderung ankommt.

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

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von udo1toni »

Das kann eigentlich nicht sein. Hast Du openHAB schon mal neu gestartet?
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

So... jetzt passt es.
man muss erst einmal eine Status-Änderung durchlaufen, damit es einem korrekt angezeigt wird.
Da war ich wohl ein wenig zu voreilig...

Stachi
Beiträge: 125
Registriert: 8. Dez 2020 19:29
Answers: 0

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von Stachi »

Und jetzt noch die Frage aller Fragen...

wie bekomme ich das in meine Sitemap?
Wenn ich es als Contact mit den verlinkten items mache, dann ist die ganze Sitemap im Eimer...
Oder bin ich mal wieder nur unfähig?

P.S.: Ist garnicht so einfach, dieses openHAB ;-)

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

Re: Kontaktschalter via MQTT in OH einbinden

Beitrag von udo1toni »

Was hast Du denn probiert? Wie soll die Darstellung sein? Gewöhnlich kannst Du ein einzelnes Contact Item leicht so darstellen:

Code: Alles auswählen

Text item=GarageOffen
Eventuell möchtest Du aber lieber eine einzelne Anzeige, die sowohl anzeigt, ob das Tor offen, geschlossen oder zwischendrin steht. Dafür benötigst Du ein weiteres Item, dieses aber vom Typ Number oder String. Außerdem brauchst Du eine Rule, die das Item entsprechend setzt:

Code: Alles auswählen

rule "Garagentor Status"
when
    Item GarageOffen changed or
    Item GarageGeschlossen changed
then
    var myState = "zwischendrin"
    if(GarageOffen.state == CLOSED) myState = "offen"
    else if(GarageGeschlossen.state == CLOSED) myState = "geschlossen"
    GarageStatus.postUpdate(myState)
end
Die Variante mit einem Number Item wäre interessant, wenn Du gerne ein Icon haben möchtest, welches den Zustand widerspiegelt Dann wären die Status 50, 0 und 100 zu setzen Damit wird dann das Garagen-Icon entsprechend angezeigt.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten