Sitemap String Item Valuecolor

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

thomas_w

Re: Sitemap String Item Valuecolor

Beitrag von thomas_w »

peter-pan hat geschrieben: 19. Jul 2020 20:19 hab das aber mit dem MAP-File und dem LF/CR nicht ganz verstanden. Soweit ich mich noch erinnern kann, hat die Darstellung in der Sitemap nichts mit den MAP-Transformationen zu tun. Da wird mit dem tatsächlichen Status verglichen.
Ich hole mir hier einen Status von der Hue Bridge ab. Die JSONPATH Rückgabe liefert ein true oder false Value für den "reachable" Zustand.

.items

Code: Alles auswählen

String Light2StateReachable "Lampe 2 - Strom Aus/Einschalter [MAP(huebridge.map):%s]" { http="<[http://192.168.x.xxx/api/xxx/lights/2:60000:JSONPATH($.state.reachable)]"}
Mit Hilfe von MAP() wird der boolean Wert umgewandelt in "AN" oder "AUS"

huebridge.map

Code: Alles auswählen

false=AUS
true=AN
'false'=AUS
'true'=AN
-=OFFLINE
NULL=OFFLINE
Die Anzeige von item Light2StateReachable gibt Wert "AN" aus, der valuecolor ermittelt trotzdem "orange". Also nicht gefunden?
.sitemap

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[==AUS="red",==AN="green",!=dummy="orange"] icon="wallswitch"
Deshalb vermute ich, dass da noch ein CR oder LF am Rückgabestring dran hängt oder etwas anderes schief läuft.

Danke und Grüße
Thomas

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

Re: Sitemap String Item Valuecolor

Beitrag von peter-pan »

thomas_w hat geschrieben: 19. Jul 2020 20:44 Deshalb vermute ich, dass da noch ein CR oder LF am Rückgabestring dran hängt oder etwas anderes schief läuft.
Das glaube ich jetzt fast nicht. :) Hast du schon mal versucht dein Text Item so

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[==false="red",==true="green",!=dummy="orange"] icon="wallswitch"
 bzw.
Text item=Light2StateReachable valuecolor=[=="false"="red",=="true"="green",!=dummy="orange"] icon="wallswitch"
anzulegen ? Ich glaube, dass der Original-Status verglichen wird.
Du kannst dir ja die tatsächlichen Werte deines Items in der Karaf-Console anschauen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

thomas_w

Re: Sitemap String Item Valuecolor

Beitrag von thomas_w »

peter-pan hat geschrieben: 19. Jul 2020 21:04 Das glaube ich jetzt fast nicht. :) Hast du schon mal versucht dein Text Item so

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[==false="red",==true="green",!=dummy="orange"] icon="wallswitch"
 bzw.
Text item=Light2StateReachable valuecolor=[=="false"="red",=="true"="green",!=dummy="orange"] icon="wallswitch"
anzulegen ? Ich glaube, dass der Original-Status verglichen wird.
Du kannst dir ja die tatsächlichen Werte deines Items in der Karaf-Console anschauen.
Ja, interessante Idee. Ich habe mir das als Verarbeitungskette vorgestellt. In der .sitemap ist aus meiner Sicht das MAP() schon gelaufen... :shock:

a) mit true steigt die Sitemap und wird nicht übersetzt

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[==false="red",==true="green",!=dummy="orange"] icon="wallswitch"
b) mit 'true' wird wieder "orange" ausgewertet.

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[=='false'="red",=='true'="green",!=dummy="orange"] icon="wallswitch"
c) mit "true" klappt es, und es wird "green" ermittelt!!

Code: Alles auswählen

Text item=Light2StateReachable valuecolor=[=="false"="red",=="true"="green",!=dummy="orange"] icon="wallswitch"
Perfekt. Wieder ein Leben gerettet... :)

Danke und Grüße
Thomas

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

Re: Sitemap String Item Valuecolor

Beitrag von peter-pan »

....kein Problem. Wie bei den Pfadfindern -> " Jeden Tag eine gute Tat" :D ;)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

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

Re: Sitemap String Item Valuecolor

Beitrag von udo1toni »

Nur zur Erklärung, und für das Verständnis:

Das Mapping geschieht im Label , nicht bei der Übergabe des Status. Entsprechend betrifft das Mapping auch ausschließlich die Anzeige, aber nicht den Status des Items. Da Du bereits jsonpath als Transformation nutzt, kannst Du das Mapping nicht innerhalb der Binding-Konfiguration nutzen - mir ist zumindest nicht bekannt, dass eine Verknüpfung der Transformation Services hier ebenfalls funktionieren könnte (mit dem ∩).

Ein Ausweg wäre, beide Aktionen in einer JavaScript Datei zusammenzufassen, dann kann das Item direkt ON oder OFF liefern (und das Item wäre dann ein Switch Item, kein String Item). Oder Du bleibst beim String Item und nutzt direkt ONLINE/OFFLINE (was aber eher der schlechte Weg wäre...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

thomas_w

Re: Sitemap String Item Valuecolor

Beitrag von thomas_w »

udo1toni hat geschrieben: 19. Jul 2020 23:16 Nur zur Erklärung, und für das Verständnis:

Das Mapping geschieht im Label , nicht bei der Übergabe des Status. Entsprechend betrifft das Mapping auch ausschließlich die Anzeige, aber nicht den Status des Items. Da Du bereits jsonpath als Transformation nutzt, kannst Du das Mapping nicht innerhalb der Binding-Konfiguration nutzen - mir ist zumindest nicht bekannt, dass eine Verknüpfung der Transformation Services hier ebenfalls funktionieren könnte (mit dem ∩).

Ein Ausweg wäre, beide Aktionen in einer JavaScript Datei zusammenzufassen, dann kann das Item direkt ON oder OFF liefern (und das Item wäre dann ein Switch Item, kein String Item). Oder Du bleibst beim String Item und nutzt direkt ONLINE/OFFLINE (was aber eher der schlechte Weg wäre...)
Danke Udo!

Vielen Dank für die tieferen Einblicke in die Internas von OH. Das sind schon Stolpersteine. Aber nun habe ich es (hoffentlich) verstanden.

Grüße
Thomas

Antworten