Seite 2 von 2
Re: Sitemap String Item Valuecolor
Verfasst: 19. Jul 2020 20:44
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
Re: Sitemap String Item Valuecolor
Verfasst: 19. Jul 2020 21:04
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.
Re: Sitemap String Item Valuecolor
Verfasst: 19. Jul 2020 21:29
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...
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
Re: Sitemap String Item Valuecolor
Verfasst: 19. Jul 2020 21:35
von peter-pan
....kein Problem. Wie bei den Pfadfindern -> " Jeden Tag eine gute Tat"

Re: Sitemap String Item Valuecolor
Verfasst: 19. Jul 2020 23:16
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...)
Re: Sitemap String Item Valuecolor
Verfasst: 20. Jul 2020 07:45
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