CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Beitrag von fkempter »

Um eine bessere Visualisierung in Grafana zu bekommen.
Möchte ich die Werte "OPEN" und "CLOSED" die ich von MQTT an influxdb mit 0 und 1 senden.
Leider weiß ich überhaupt keine Ansatz wie ich das bewerkstelligen soll.

Das sind meine Openhab Zeilen:

Kontakt.thing

Code: Alles auswählen

    Thing topic EG_Haustuer_Thing  "EG_Haustuer" @ "EG_Haustuer" { 
       Channels:
           Type contact: EG_Haustuer_Zustand    [stateTopic="Haus/Tuer/Zustand"] 
    }    
Kontakt.item

Code: Alles auswählen

Contact EG_Haustuer_Zustand   "Haustür [%s]"        <door>         (EG, EG_Haustuer, gDoor)             ["Door"]         {channel="mqtt:topic:myBroker:EG_Haustuer_Thing:EG_Haustuer_Zustand"}
influxdb.persist

Code: Alles auswählen

	EG_Haustuer_Zustand : strategy = everyChange, restoreOnStartup
Wer kann mir hier dabei helfen?
SG Franz

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

Re: CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Beitrag von udo1toni »

Du musst die Werte in einem Number Item speichern, damit Du Zahlen schicken kannst. Du musst also ein Proxy Item anlegen und eine Rule dazu, die bei Änderung des Contact Items die gleiche Änderung auf dem Proxy Item ausführt, also z.B. so:

Code: Alles auswählen

rule "Kontakt als Zahl"
when
    Item EG_Haustuer_Zustand changed
then
    EG_Haustuer_Number.postUpdate(if(EG_Haustuer_Zustand.state == CLOSED) 0 else 1)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

Re: CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Beitrag von fkempter »

udo1toni hat geschrieben: 21. Jan 2019 22:46 Du musst die Werte in einem Number Item speichern, damit Du Zahlen schicken kannst. Du musst also ein Proxy Item anlegen und eine Rule dazu, die bei Änderung des Contact Items die gleiche Änderung auf dem Proxy Item ausführt, also z.B. so:

Code: Alles auswählen

rule "Kontakt als Zahl"
when
    Item EG_Haustuer_Zustand changed
then
    EG_Haustuer_Number.postUpdate(if(EG_Haustuer_Zustand.state == CLOSED) 0 else 1)
end
Hallo Udo
Als ersten möchte ich dich sehr Danken! Du bist immer wieder sehr aktiv.
Der Vorschlag ist zwar OK aber ich dachte es könnte für mich übersichtlicher mit einem Transform gemacht werden.
Aber wie ich die Transfomr auch angewendet habe das Ergebnis war nicht das was ich brauchte.

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

Re: CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Beitrag von udo1toni »

Ja, Du kannst natürlich auch eine Transformation durchführen, aber das Item muss zwingend ein Number Item sein, was dann bedeutet, dass die Darstellung des Contact Items nicht wie üblich laufen könnte.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

fkempter
Beiträge: 46
Registriert: 6. Jan 2018 13:59
Answers: 0

Re: CLOSED & OPEN mit werten 0 und 1 in DB schreiben

Beitrag von fkempter »

Ok ich schau mir das morgen an.
Danke

Antworten