[Gelöst] devStateIcon & readingsProxy funktioniert nur bei eimem Eintrag

Begonnen von Spliddorama, 30 März 2017, 22:18:02

Vorheriges Thema - Nächstes Thema

Spliddorama

Hi Zusammen,

ich verfolge das Forum schon seit einigen Jahren, bin dank eurer Threats und Anleitungen aber immer ohne Rückfragen und Anmeldung ausgekommen.
Heute leider nicht.

Ich stehe vor dem Problem, dass devStateIcons bei "readingsProxy"-Einträgen nicht funktioniert. Bzw. Tut es das nur bei einem Eintrag.

Nachfolgend einmal meine CFG-Einträge (Ich habe mir den "Abfallkalender" etwas vereinfacht nachgebaut)

Der erste "readingsProxy"-Eintrag. Hier funktionieren die devStateIcons:
define Abholung readingsProxy Abfallabholung:now_text
attr Abholung devStateIcon Verpackung:message_garbage@yellow Rest:message_garbage@grey Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange Keine:time_calendar 0:time_calendar
attr Abholung group Heutige Abholung
attr Abholung room Abfall


Bei allen weiteren werden einfach keine Icons angezeigt (ich habe sogar den o.g. Eintrag 1zu1 kopiert und lediglich umbenannt: keine Icons):
define Tonne readingsProxy Abfallabholung:next_text
attr Tonne devStateIcon Rest:message_garbage@grey Verpackung:message_garbage@yellow Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange
attr Tonne group Nächste Abholung
attr Tonne room Abfall

define Abholung2 readingsProxy Abfallabholung:next_text
attr Abholung2 devStateIcon Verpackung:message_garbage@yellow Rest:message_garbage@grey Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange
attr Abholung2 group Heutige Abholung
attr Abholung2 room Abfall


Ich komme einfach nicht auf die Ursache.
Zuerst hatte ich vermutet, dass devStateIcons gar nicht mit "readingProxy"-Definitionen klar kommt, also dass die "States" anders interpretiert werden.

Aber wie gesagt: Der erste Code funktioniert bestens.

Hier zur Sicherheit alle Einträge der CFG, welche mit dem "Abfallkalender" zu tun haben:
define Abfallkalender Calendar ical file /opt/fhem/files/abfallcalendar.ics
define Abfallabholung ABFALL Abfallkalender

define Tage readingsProxy Abfallabholung:next_tage
attr Tage group Nächste Abholung
attr Tage room Abfall

define Tonne readingsProxy Abfallabholung:next_text
attr Tonne devStateIcon Rest:message_garbage@grey Verpackung:message_garbage@yellow Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange
attr Tonne group Nächste Abholung
attr Tonne room Abfall


define Tag readingsProxy Abfallabholung:next_wochentag
attr Tag group Nächste Abholung
attr Tag room Abfall

define Abholung readingsProxy Abfallabholung:now_text
attr Abholung devStateIcon Verpackung:message_garbage@yellow Rest:message_garbage@grey Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange Keine:time_calendar 0:time_calendar
attr Abholung group Heutige Abholung
attr Abholung room Abfall

define Abholung2 readingsProxy Abfallabholung:next_text
attr Abholung2 devStateIcon Verpackung:message_garbage@yellow Rest:message_garbage@grey Papier:message_garbage@blue Bio:message_garbage@brown Textil:message_garbage@orange
attr Abholung2 group Heutige Abholung
attr Abholung2 room Abfall


Ich habe ein wenig die Vermutung (aufgrund einer anderen Ausgabe), dass der STATE bei den readings mit einem vorangehendem Leerzeichen angegeben/festgelegt ist.
Fall es das ist: Wie könnte ich unter "devStateIcon" ein vorangehendes Leerzeichen abbilden?

Über eure Hilfe bin ich sehr dankbar!

PS: Vielleicht kennt auch gleich jemand von euch eine Lösung, dass ein -nennen wir es- "Device" ausgeblendet/versteckt wird, wenn es einen bestimmten STATE (z.B. "Initialized") hat?

Beste Grüße und vielen Dank im Voraus

Spliddorama

Thorsten Pferdekaemper

Hi,
mach mal ein "list Abfallabholung".
Außerdem: STATE ist ein Internal, mit dem man eigentlich so ziemlich gar nichts machen kann. state allerdings ist ein Reading.
Gruß,
   Thosrten
FUIP

Spliddorama

#2
Hi Thorsten.

besten Dank schon einmal für Dein Feedback!

Hier die Ausgabe von "list Abfallabholung":
Internals:
   DEF        Abfallkalender
   KALENDER   Abfallkalender
   NAME       Abfallabholung
   NR         224
   NTFY_ORDER 50-Abfallabholung
   STATE      1
   TYPE       ABFALL
   Readings:
     2017-04-03 01:23:17   Abfallkalender_Bio_datum 08.04.17
     2017-04-03 01:23:17   Abfallkalender_Bio_tage 5
     2017-04-03 01:23:17   Abfallkalender_Bio_text   Bio
     2017-04-03 01:23:17   Abfallkalender_Bio_wochentag Samstag
     2017-04-03 01:23:17   Abfallkalender_Kleider_datum 20.04.17
     2017-04-03 01:23:17   Abfallkalender_Kleider_tage 17
     2017-04-03 01:23:17   Abfallkalender_Kleider_text   Kleider
     2017-04-03 01:23:17   Abfallkalender_Kleider_wochentag Donnerstag
     2017-04-03 01:23:17   Abfallkalender_Papier_datum 20.04.17
     2017-04-03 01:23:17   Abfallkalender_Papier_tage 17
     2017-04-03 01:23:17   Abfallkalender_Papier_text   Papier
     2017-04-03 01:23:17   Abfallkalender_Papier_wochentag Donnerstag
     2017-04-03 01:23:17   Abfallkalender_Rest_datum 04.04.17
     2017-04-03 01:23:17   Abfallkalender_Rest_tage 1
     2017-04-03 01:23:17   Abfallkalender_Rest_text   Rest
     2017-04-03 01:23:17   Abfallkalender_Rest_wochentag Dienstag
     2017-04-03 01:23:17   Abfallkalender_Verpackung_datum 03.04.17
     2017-04-03 01:23:17   Abfallkalender_Verpackung_tage 0
     2017-04-03 01:23:17   Abfallkalender_Verpackung_text   Verpackung
     2017-04-03 01:23:17   Abfallkalender_Verpackung_wochentag Montag
     2017-04-03 01:23:17   next            Abfallkalender_Rest_1
     2017-04-03 01:23:17   next_datum      04.04.17
     2017-04-03 01:23:17   next_tage       1
     2017-04-03 01:23:17   next_text         Rest
     2017-04-03 01:23:17   next_wochentag  Dienstag
     2017-04-03 01:23:17   now             Abfallkalender_Verpackung
     2017-04-03 01:23:17   now_datum       03.04.17
     2017-04-03 01:23:17   now_text          Verpackung
     2017-04-03 01:23:17   now_wochentag   Montag
     2017-04-03 01:23:17   state           1
Attributes:


EDIT
Dank der Auflistung hier im CODE-TAG, fällt schon auf, dass den Werten "now_text" und "next_text" wie vermutet ein Leerzeichen o.ä. Vorangeht.
Wie ich das bei den devStateIcons darstellen kann ist mir allerdings nicht klar.
Im "Notfall" würde ich die Werte "now" und "next" nutzen.
Bin aber an einer sauberen Lösung (und in erster Linie an dem Verständnis dafür) interessiert.
/EDIT

Danke auch für den Hinweis zum "STATE/state". Warum ich es hier groß geschrieben habe, kann ich dir gerade nicht beantworten. Nutze es jedenfalls nirgends in Großbuchstaben.

Wobei ich ja -mir fällt es gerade auf- eh nicht wirklich den "state" sondern den Wert "next_text" auslesen lasse.

In diesem Fall brauche ich auch für meine Anfrage in "PS" nicht den "state" Wert, sondern jenen aus "now_text".
Dieser ist aber (bis auf Abholtage) leer (also "Initialized"). In diesem Fall soll keine Ausgabe im Frontend erfolgen.

Danke & Gruß
Spliddorama

Thorsten Pferdekaemper

Hi,
versuch's mal so:

attr Tonne devStateIcon .*Rest:message_garbage@grey .*Verpackung:message_garbage@yellow Papier:message_garbage@blue .*Bio:message_garbage...

D.h. vor den jeweiligen Wert immer ".*" davor setzen. Das sollte dann auf alles passen, was mit dem Begriff aufhört. Man kann das auch spezifisch für Leerzeichen machen, aber ich denke, dass das hier gar nicht notwendig ist.
Gruß,
   Thorsten
FUIP

Spliddorama

Hi Thorsten,

allerbesten Dank!
Ich bin echt nicht eine Sekunde auf die Idee gekommen, einen einfachen Platzhalter zu verwenden (habe auch sonst bisher keinen genutzt).
Natürlich funktioniert es. Bin glücklich :)

Jetzt fehlt mir nur noch die Möglichkeit, ein Device bei einem bestimmten Wert (die Bedingung werde ich selbst hin bekommen) auszublenden oder alternativ einem anderen Raum zuzuweisen.
Nach Deiner schnellen Hilfe möchte ich aber keine "Ansprüche" mehr stellen ;)

Besten Dank
Spliddorrama