Widget Symbol: doppelte Abhängigkeit?

Begonnen von Andre0909, 03 Juni 2017, 15:13:04

Vorheriges Thema - Nächstes Thema

Andre0909

Hallo zusammen,

abhängig von einem Zustand (Beispiel Reading-Wetter ist Gewitter) soll das Symbol Gewitter angezeigt werden. Soweit kein Problem. Jetzt soll dieses aber z.b. aufgrund eines bestimmten Zustandes anders eingefärbt werden (z.B. Reading-Warnstufe =ist lila dann Symbol Lila anzeigen). Wie bekomme ich das hin?
ODer muss ich hier irgendwie mit notifys und dummys arbeiten.... HILFE :)

KernSani

Ich nehme an, dass du ein notify brauchst. Einfacher wäre das aber zu beantworten, wenn du ein paar mehr Details preisgeben würdest. Z.B. um was für ein device es sich handelt, evtl. ein list, sprichst du vom devStateIcon?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Andre0909

#2
Hi,
sorry ich nutze Fhem Tablet UI. Denke ohne Notify/dummy Lösung wird es nicht gehen

Jedenfalls nutze ich über FHEM das UWZ-Modul.
Das spuckt mir z.b. jetzt gerade ein Reading aus "7" (das bedeutet Gewitter) und ein Reading "2" (das bedeutet Warnstufe 2).

Ich möchte jetzt also ein gelbes Unwetersymbol darstellen. Durch das Symbolwidet ist das ja kein Problem, dass bei 1-9 jeweils die entsprechenden Symbole kommen. Jetzt kann ich nur für die Farbe kein Reading-abhängige Farbe einstellen, da diese ja nicht als Farbton vorliegt sondern als Zahl. Somit müsste ich dem symbol irgendwie zusätzlich sagen, bei Warnstufe 2 mach gelb, bei 3 mach rot etc...

Das mein Problem :>

ergo Brauche ich folgendes. Nehmen wir an es sind gerade 3 Unwetter. Also habe ich 3 Readings mit Zahlen. Z.B 2,2,3. Jetzt brauche ich ein dummy der abhängig von der Zahl (es gibt max 5) einzelne farben setzt also in diesem Fall 3 readings mit yellow, yellow, red. Übersetzt: Wenn UWZ:warnstufe1 = 1 dann setze dummy Farben Reading1 = green; wenn UWZ:warnstufe1 = 2 dann setze dummy Farben1 Reading1 = yellow; .... das dann für 5 Farben und für Warnstufen2,3 dann jeweils in ein reading 2,3 ebenso

KernSani

TabletUI ist schonmal ein guter Hinweis. Kenne mich damit nicht wirklich aus, aber wenn mich nicht alles täuscht, kannst du da ein beliebiges Reading angeben, d.h. du könntest dir aus der Kombination Unwetter/Warnstufe ein eindeutiges userreading erzeugen und dafür jeweils Symbol und Farbe im widget definieren.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Andre0909

Ja aber irgendwie harkt es noch bei mir....hab jetzt folgedes probiert:

define Unwetterfarben dummy
define doif_Farben_Unwetter DOIF ([Unwetter:Warn_0_uwzLevel] eq "3") (setReading Unwetterfarben Warn0 orange)


und dachte dieses dann mit DOELSEIF für die anderen Farben zu verlängern. Dann noch weitere 2 DOIF für Warn_1_uwzLevel und Warn_2_uwzLevel. Aber schon das erste DOIF macht leider nix obwohl gerade die Bedingung erfüllt ist

Andre0909

habe es jetzt so:

define Unwetterfarben dummy
define doif_Farben_Unwetter1 DOIF ([Unwetter:Warn_0_uwzLevel] eq "1") (setReading Unwetterfarben Warn0 SeaGreen) DOELSEIF ([Unwetter:Warn_0_uwzLevel] eq "1") (setReading Unwetterfarben Warn0 yellow) DOELSEIF ([Unwetter:Warn_0_uwzLevel] eq "2") (setReading Unwetterfarben Warn0 orange) DOELSEIF ([Unwetter:Warn_0_uwzLevel] eq "3") (setReading Unwetterfarben Warn0 red) DOELSEIF ([Unwetter:Warn_0_uwzLevel] eq "4") (setReading Unwetterfarben Warn0 violet)

define doif_Farben_Unwetter2 DOIF ([Unwetter:Warn_1_uwzLevel] eq "1") (setReading Unwetterfarben Warn1 SeaGreen) DOELSEIF ([Unwetter:Warn_1_uwzLevel] eq "1") (setReading Unwetterfarben Warn1 yellow) DOELSEIF ([Unwetter:Warn_1_uwzLevel] eq "2") (setReading Unwetterfarben Warn1 orange) DOELSEIF ([Unwetter:Warn_1_uwzLevel] eq "3") (setReading Unwetterfarben Warn1 red) DOELSEIF ([Unwetter:Warn_1_uwzLevel] eq "4") (setReading Unwetterfarben Warn0 violet)

define doif_Farben_Unwetter3 DOIF ([Unwetter:Warn_2_uwzLevel] eq "1") (setReading Unwetterfarben Warn2 SeaGreen) DOELSEIF ([Unwetter:Warn_2_uwzLevel] eq "1") (setReading Unwetterfarben Warn2 yellow) DOELSEIF ([Unwetter:Warn_2_uwzLevel] eq "2") (setReading Unwetterfarben Warn2 orange) DOELSEIF ([Unwetter:Warn_2_uwzLevel] eq "3") (setReading Unwetterfarben Warn2 red) DOELSEIF ([Unwetter:Warn_2_uwzLevel] eq "4") (setReading Unwetterfarben Warn2 violet)


So müsste es eigentlich gehen oder? Aber nur wenn sich der Ursprungszustand ändert? Probiere ich mal, vielleicht hat ja noch jmd schlankere Ideen...wenn es denn geht