[gelöst] data-hide von label mit Bezug auf anderes Device?

Begonnen von dadoc, 09 Mai 2023, 09:27:44

Vorheriges Thema - Nächstes Thema

dadoc

Guten Morgen,
kann man ein Label abhängig vom Status (leer vs. mit Inhalt) eines Readings eines anderen Device (im Beispiel ae_Wetter) anzeigen beziehungsweise verstecken? Also etwa so:
        <div
        data-type="label"
        data-device="newletter6_d"
        data-get="state"
        data-hide="ae_Wetter:fc0_weather24"
        data-hide-on="^.+$">
        </div>
Ich habe bei data-hide und data-hide-on so ziemlich alles ausprobiert, was mir eingefallen ist, bisher ohne Erfolg.
Oder geht das grundsätzlich nicht - dann könnte ich das anzuzeigende bzw. zu verbergende Element (newletter_d, ein Dummy, der immer genau ein Zeichen enthält) evtl. als userreading des device ae_wetter anlegen...?
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

TomLee

Im Wiki steht zu data-hide zwar nix dazu das man ein Reading eines anderen Device angeben kann, ich habs aber mal ausprobiert und es funktioniert:

<div
data-type="label"
data-device="at_Deko_sunset"
data-part="Next..(.*)"
class="fa fa-moon large thin"
data-hide="Twilight:ftui_hide"
data-hide-on="1"
data-hide-off="0"
></div>

Das mit dem mal vorhandenen Reading und mal nicht, find ich irgendwie merkwürdig und wüsste erstmal ohne mich weiter damit zu beschäftigen nicht wie man in data-hide-on auf ein leeres Reading prüft. Eine Idee wäre ein userReadings in ae_Wetter das je nach Fall 0 oder 1 zurückgibt.

dadoc

Zitat von: TomLee am 09 Mai 2023, 11:54:09Im Wiki steht zu data-hide zwar nix dazu das man ein Reading eines anderen Device angeben kann, ich habs aber mal ausprobiert und es funktioniert:

data-hide="Twilight:ftui_hide"
In dieser Schreibweise hatte ich es ja auch, dann ist das Problem vermutlich die Regex, die überprüfen soll, ob das Reading einen Inhalt hat oder nicht.

ZitatDas mit dem mal vorhandenen Reading und mal nicht, find ich irgendwie merkwürdig
Vorhanden ist es ja immer, aber es ist halt nach einer bestimmten Zeit leer. Ich dachte, das könnte ich mit ^.+$ prüfen.

Werde mal weiter testen und bin weiterhin für sachdienliche Hinweise dankbar
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

TomLee

Vorübergehend, bis sich wer meldet wie man das mit einem regulären Ausdruck richtig macht, kannst dir wie gesagt ja mit einem userReadings behelfen:

ftui_hide:<triggerreadingname>.* {ReadingsVal($name,'fc0_weather24','') ? return 1 : return 0}

dadoc

Zitat von: TomLee am 09 Mai 2023, 18:30:50Vorübergehend, bis sich wer meldet wie man das mit einem regulären Ausdruck richtig macht,
Nach Langzeitbeobachtung funktioniert es funktioniert anscheinend so, wie im ersten Post geschrieben:
<div
data-type="label"
class="bigger blue left-space"
data-device="newletter2_d"
data-get="state"
data-hide="ae_Wetter:fc0_cloud00"
data-hide-on="^.+$">
</div>
Danke & Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods