Fensterkontakt Status

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
JohnDoe2000
Beiträge: 14
Registriert: 13. Sep 2021 15:27
Answers: 0

Re: Fensterkontakt Status

Beitrag von JohnDoe2000 »

JohnDoe2000 hat geschrieben: 14. Sep 2021 07:12
udo1toni hat geschrieben: 13. Sep 2021 22:19 Da liegt ein Denkfehler vor. :)

Die map Transformation im Label wirkt ausschließlich auf die Anzeige. Der Wert des Items kann so nicht beeinflusst werden. Allerdings kannst Du die Transformation gewöhnlich auch als Profile definieren, das Profile wirkt direkt auf den Wert.
OK, dann macht auch der Weg über einen Proxy Sinn. Hatte das nicht verstanden. Danke für den Hinweis. Ich werde mir dann wohl auch ein Proxy Item anlegen.
Ich habe das nun wie folgt gelöst. Da Du Vollprofi zu sein scheinst, wäre es super wenn Du mal drüber schaust oder mich auf Nachteile Hinweisen könntest.

Code: Alles auswählen

rule "Test Drehgriffsensor"
when
    Item HM_ContactHandle_TerraceDoor received update
then
    if(HM_ContactHandle_TerraceDoor.state.toString.compareTo("TILTED") == 0){
        HM_ContactHandle_TerraceDoor.postUpdate("ajar")
    }
end 
Wenn der Kontakt den Status TILTED annimmt, überschreibe ich den einfach hart auf ajar. Das Icon wechselt zumindest. Vielleicht gibt es ja einen eleganteren Weg.

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

Re: Fensterkontakt Status

Beitrag von udo1toni »

Jjjj-nein.

In diesem Fall würde die Rule sogar funktionieren, allein, das Problem ist, sobald es ein Update gibt, muss die Rule den Wert erneut berechnen bzw. vergleichen.
Also, entweder Du nutzt ein Proxy Item (das bedeutet, ein 2. Item, nicht das Item, welches Du schon hast), oder Du nutzt wie erwähnt die Profiles. In Textform sähe das so aus:

Code: Alles auswählen

String HM_ContactHandle_TerraceDoor123 "Terrassentür [%s]" (gContacts) {channel="homematic:HmIP-SRH:ccu:0007DD898A405D:1#STATE"[profile="transform:MAP", function="doorHandle.map", sourceFormat="%s"]}
Das kann aber auch genauso über die UI erstellt werden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

JohnDoe2000
Beiträge: 14
Registriert: 13. Sep 2021 15:27
Answers: 0

Re: Fensterkontakt Status

Beitrag von JohnDoe2000 »

udo1toni hat geschrieben: 14. Sep 2021 20:25 Jjjj-nein.

In diesem Fall würde die Rule sogar funktionieren, allein, das Problem ist, sobald es ein Update gibt, muss die Rule den Wert erneut berechnen bzw. vergleichen.
Also, entweder Du nutzt ein Proxy Item (das bedeutet, ein 2. Item, nicht das Item, welches Du schon hast), oder Du nutzt wie erwähnt die Profiles. In Textform sähe das so aus:

Code: Alles auswählen

String HM_ContactHandle_TerraceDoor123 "Terrassentür [%s]" (gContacts) {channel="homematic:HmIP-SRH:ccu:0007DD898A405D:1#STATE"[profile="transform:MAP", function="doorHandle.map", sourceFormat="%s"]}
Das kann aber auch genauso über die UI erstellt werden.

Das dachte ich mir schon. Ich habe nun folgendes in der item Datei stehen:

Code: Alles auswählen

String          HM_ContactHandle_TerraceDoor      "Terrassentür [%s]"                                  (gContacts)    {channel="homematic:HmIP-SRH:ccu:0007DD898A405D:1#STATE"[profile="transform:MAP", function="doorHandle.map", sourceFormat="%s"]}
Die Mapping Datei habe ich auch noch einmal testweise (die letzten beiden Werte habe ich aus Verzweiflung hinzugefügt) angepasst:

Code: Alles auswählen

CLOSED = closed
OPEN = open
TILTED = ajar
"Window status: locked" = CLOSED
Window status: locked = CLOSED
Dummerweise sehe ich das folgende in der BasicUI:
Terrassentür1.png
Das ist die ursprüngliche Anzeige als würde das Mapping nicht ziehen.

Ich denke mal, dass ich irgendwas falsch mache. Hast Du noch einen Tipp. Ich würde das gern mit dem Profil umsetzen, da ich das noch nicht kenne.

Eine Frage zu dem Proxy. Ich würde dann in einer rule auch auf "HM_ContactHandle_TerraceDoor received update" prüfen und dann jeden Status in das Proxy Item überführen und aus TILTED AJAR machen. Würde die Rule dann nicht auch immer den Status des Proxy Items neu berechnen?

Die Regel habe ich in der Zwischenzeit auch noch einmal vereinfacht:

Code: Alles auswählen

rule "Test Drehgriffsensor"
when
    Item HM_ContactHandle_TerraceDoor changed to TILTED
then
        HM_ContactHandle_TerraceDoor.postUpdate("ajar")
end 
Mir ist der Unterschied noch nicht ganz zu dem Proxy Item klar, außer, dass ich hier den Status "schmutzig" einfach überschreibe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

Re: Fensterkontakt Status

Beitrag von udo1toni »

Jetzt ist die Frage, was nun tatsächlich als kompletter String vom Channel geliefert wird. So wie es aussieht, wäre das ja

Code: Alles auswählen

Window status: locked
Window status: open
Window status: tilted
Dann muss Deine map Datei anders aussehen, so:

Code: Alles auswählen

Window\ status:\ locked=CLOSED
Window\ status:\ open=OPEN
Window\ status:\ tilted=AJAR
Das heißt, das Leerzeichen muss escaped werden. Es ist möglich, dass auch der Doppelpunkt escaped werden muss, da bin ich mir nicht 100% sicher.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

JohnDoe2000
Beiträge: 14
Registriert: 13. Sep 2021 15:27
Answers: 0

Re: Fensterkontakt Status

Beitrag von JohnDoe2000 »

udo1toni hat geschrieben: 15. Sep 2021 21:26 Jetzt ist die Frage, was nun tatsächlich als kompletter String vom Channel geliefert wird. So wie es aussieht, wäre das ja

Code: Alles auswählen

Window status: locked
Window status: open
Window status: tilted
Dann muss Deine map Datei anders aussehen, so:

Code: Alles auswählen

Window\ status:\ locked=CLOSED
Window\ status:\ open=OPEN
Window\ status:\ tilted=AJAR
Das heißt, das Leerzeichen muss escaped werden. Es ist möglich, dass auch der Doppelpunkt escaped werden muss, da bin ich mir nicht 100% sicher.
Ok, versuche ich morgen mal. Ich hatte allerdings mal einen system out vom String gemacht. Dort kam aber nur CLOSED, OPEN und TILTED raus. …und die rule von mir funktioniert ja auch. Genauso wie das ursprüngliche Mapping. Verstehe das nicht so ganz aber werde das morgen ausprobieren.

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

Re: Fensterkontakt Status

Beitrag von udo1toni »

Ah, es kann natürlich sein, dass der Channel das Label manipuliert. Wichtig wäre auf jeden Fall, dass Du keine Leerzeichen vor oder nach dem Gleichheitszeichen setzt. Dann sollte die map also so aussehen:

Code: Alles auswählen

CLOSED=CLOSED
OPEN=OPEN
TILTED=AJAR
Groß/Kleinschreibung ist (vermutlich) einzuhalten. Die Schreibwesie des Iconnamens ist dabei nicht maßgeblich!.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

JohnDoe2000
Beiträge: 14
Registriert: 13. Sep 2021 15:27
Answers: 0

Re: Fensterkontakt Status

Beitrag von JohnDoe2000 »

udo1toni hat geschrieben: 15. Sep 2021 23:28 Ah, es kann natürlich sein, dass der Channel das Label manipuliert. Wichtig wäre auf jeden Fall, dass Du keine Leerzeichen vor oder nach dem Gleichheitszeichen setzt. Dann sollte die map also so aussehen:

Code: Alles auswählen

CLOSED=CLOSED
OPEN=OPEN
TILTED=AJAR
Groß/Kleinschreibung ist (vermutlich) einzuhalten. Die Schreibwesie des Iconnamens ist dabei nicht maßgeblich!.
Hi,

bin gerade erst dazu gekommen es zu testen. Jetzt läuft alles perfekt. Danke für die Hilfe. :)

Gruß,
Christian

ML_1982
Beiträge: 25
Registriert: 5. Jan 2022 20:48
Answers: 0

Re: Fensterkontakt Status

Beitrag von ML_1982 »

Ich habe ein ähnliches Problem. Ich bin mir nicht sicher ob ich auf dem richtigen Weg bin...

Mein Fenstersensor von Busch Jäger liefert
0=geschlossen
100=offen
33=gekippt

Über Metadaten State Description mache ich aus den Werten den Status:
2022-01-05_20h51_21.png


Wenn ich den Beitrag hier richtig verstanden habe, dann ändere ich über die Metadaten nur das was angezeigt wird, nicht den tatsächliche Wert des Items. Das scheint so aber erstmal zu funktionieren.
Über das map File würde ich das gleiche machen, oder?
2022-01-05_20h55_25.png

Ich hätte hier, in den Location Cards jetzt gerne die animierten Icons.
LocationCard.png
Und das funktioniert nicht. Liege ich jetzt richtig, dass das daran liegt, dass ich eben nicht den eigentlichen Wert des Items sondern nur das was angezeigt wird geändert habe?

Zur Info, ich brauche später dann noch irgendeine Lösung um zu erkennen ob eines meiner 5 Fenster offen ist, aber darum möchte ich mich im zweiten Schritt kümmern.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Fensterkontakt Status

Beitrag von peter-pan »

ML_1982 hat geschrieben: 5. Jan 2022 21:01 Liege ich jetzt richtig, dass das daran liegt, dass ich eben nicht den eigentlichen Wert des Items sondern nur das was angezeigt wird geändert habe?
Genau so ist es (soweit ich weiß!!). Was mich in deinem Falle allerdings etwas wundert, ist die Tatsache, dass diese als Dimmer konfiguriert sind. Was sind das für Sensoren ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

ML_1982
Beiträge: 25
Registriert: 5. Jan 2022 20:48
Answers: 0

Re: Fensterkontakt Status

Beitrag von ML_1982 »

Ich verfolge gerade zwei Ideen, komme aber bei beiden nicht weiter.

1) eigene Icons
Ich würde gerne hier /etc/openhab/icons/classic drei Icons ablegen:
fenster-0.png
fenster-100.png
fenster-33.png

Das hätte den Vorteil, dass das Item im Hintergrund weiterhin mit Zahlenwerten arbeitet, das wird später ggfs. einfacher wenn ich mal mit einer Gruppe "Alle Fenster" arbeiten will.

Nur wo finde ich die original Icons zum kopieren?
Hier https://www.openhab.org/docs/configurat ... s/classic/ gibt es nur das geschlossene Fenster.

Ich nehme auch andere schöne Icons, wenn jemand welche hat.

2) Ich nutze die map Transformation bei der Verknüpfung des Channels mit dem Item.
nachdem ich dieses Add On installiert habe:
2022-01-07_16h03_52.png

Ist in der GUI auch folgender zusätzlicher Menü Punkt beim Channel erschienen:
2022-01-07_16h05_49.png
Aber wie konfiguriere ich das jetzt übers GUI? Beim Verschuch zu speichern kommt das
2022-01-07_16h06_58.png
Oder geht das wie weiter oben in diesem Thread beschrieben nur über Dateein und nicht über das GUI?






Noch zu der Frage aus dem letzten Post:
peter-pan hat geschrieben: 6. Jan 2022 20:28 Was sind das für Sensoren ?
Busch Jäger Free@Home Fenstersensoren über das Binding hier https://community.openhab.org/t/busch-j ... /31043/585
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten