WeekDayTimer - Schaltzeiten anzeigen / Readinggroups - gelöst

Begonnen von Müller, 24 Februar 2019, 07:53:57

Vorheriges Thema - Nächstes Thema

Müller

Hallo,

Ist es möglich die eingestellte Zeit neben dem Icon anzeigen zu lassen?
Konkret habe ich einen WeekDayTimer für den Rollladen, für den ich mir gerne die Uhrzeit fürs Hoch bzw. Runterfahren anzeigen lassen möchte.
   
DEF    Rollo1 12345|05:45|off

Profil 1: Montag   05:45:00 off
Profil 2: Dienstag 05:45:00 off
Profil 3: Mittwoch 05:45:00 off
Profil 4: Donnerstag 05:45:00 off
Profil 5: Freitag 05:45:00 off

in diesem Bespiel würde ich gerne die Anzeige "05:45" neben dem DevStateIcon (oder auch anstatt des DevStateIcon) anzeigen lassen. Hat jemand eine Idee, wie dies realisierbar ist. Vielen Dank.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Erster Ansatz: stateFormatattr rr_Kind1_Presence_Timer stateFormat Nächster Update: nextUpdate Status: state

Wenn es hübscher werden soll: Perl-Variante des Attributs verwenden, um den Text zu kürzen und ggf. mit der neuen multi-Line=>Multi-Icon-Variante experimentieren (kurze Beispiele sind in Device Overview anpassen und devStateIcon im Wiki zu finden).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

Hallo Danke für die Hilfe.

ich habe nun bei attribut stateFormat "nextUpdate: state" eingetragen und bekomme die gewünschte Anzeige.

2019-02-24 23:30:00: Zu

Lediglich das Datum ist mir noch zuviel. (Ist die Zeitschaltung von meinem Rolladen, deswegen "Zu")
Mit einem devStateIcon wird es nicht sondern das Icon angezeigt.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Zitat von: Müller am 24 Februar 2019, 22:58:40
Lediglich das Datum ist mir noch zuviel.
Zitat von: Beta-User am 24 Februar 2019, 11:01:03Wenn es hübscher werden soll: Perl-Variante des Attributs verwenden, um den Text zu kürzen
Wie gesagt: Dann mußt du auf die Perl-Ebene, um den Text zu kürzen. Ginge auch mit einem userreading, das dann im stateFormat verwendet wird.

Was die neue Multi-Icon Variante von devStateIcon angeht, müßte ich auch erst testen, wie das geht. Aber es sollte möglich sein...
Ich habe sowas bisher mit der Perl-Variante gelöst, Codebeispiel (RAW-Definition):
attr MYSENSOR_97 devStateIcon {my $alivecolor = 'lan_rs485@red';;$alivecolor='lan_rs485@green' if (ReadingsVal($name, "state", "dead") eq "alive");;"<div>" . FW_makeImage("$alivecolor","lan_rs485") . FW_makeImage("temp_temperature","temp_temperature") . ReadingsVal($name,"temperature2",0) ."°C ". FW_makeImage("humidity","humidity"). ReadingsVal($name,"humidity3",0) . "%rH</div>"}
Das Bild dazu findest du als Beispiel 2 für die Perl-Variante im Wiki: https://wiki.fhem.de/wiki/DeviceOverview_anpassen
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

Hallo,

mittlerweile habe ich mich etwas fortgebildet und "readingsgroup" entdeckt.
Damit ist es möglich die Info anzuzeigen, ggf Icons einzubinden und diese auch schaltbar zu machen. Das ist auch eleganter als jeden Timer einzeln zu bearbeiten. Über die "readingsgroup" kann auch der einzelne Timer aufgerufen werden und die Uhrzeit verändert werden.

Beispielsweise für Zeitschaltung von Rollläden:

define Timer readingsgroup <Rollo>,<Aktion>,<Zeit>,<Aktiv> Rollo1_MoFrAuf:nextValue,nextUpdate,disabled, Rollo1_MoFrZu:nextValue,nextUpdate,disabled, Rollo2_MoFrAuf:nextValue,nextUpdate,disabled, Rollo2_MoFrZu:nextValue,nextUpdate,disabled

WeekDayTimer heißt bei mir Rollo1_MoFrAuf. Damit wird nextValue (was wird gemacht Auf oder Zu/ on oder off), nextUpdate (Tag und Uhrzeit) und disabled (Ist der Timer aktiviert oder deaktiviert) angezeigt.

Mit diesem Code werden manche Infos als Icons dargestellt:
attr Timer valueIcon {'disabled.1' => 'rc_RED', 'disabled.0' => 'rc_GREEN', 'nextValue.Auf' => 'control_arrow_up', 'nextValue.Zu' => 'control_arrow_down'}

(Bei mir ist es Auf und Zu, weil ich im EventMap des Rollladenschalters (Dooya) )

eventMap off:Auf on:Zu stop:Stop

eingetragen habe

und hiermit wird der Timer  aktivierbar/deaktivierbar per Icon:
attr Timer commands { 'disabled.0' => 'set $DEVICE disable', 'disabled.1' => 'set $DEVICE enable' }

Ich hoffe diese Beschreibung hilft dem Einen oder Anderen.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung