Hi,
ich habe mit mehreren at Befehlen eine Art Zeitschaltuhr realisiert, die auch abhängig von Sonne auf- bzw. untergang +Offset geschaltet wird. Nun möchte ich alle At Befehle, die zu einer Funsteckdose gehören laufgelistet haben. Ich Denke ich kann dass mit ReadingsGroup und dem NTM Wert, der in den at Type gespeichert ist realisieren. Scheitere aber... Die zusamengehörigen Zeiten habe ich wie folgt angelegt:
define at_Treppenhaus1_1_an at +*{sunset_rel(ReadingsVal("Treppenhaus1_1_an","state","0")*60)} {fhem "set ELRO on";;}
define at_Treppenhaus1_1_aus at *{ReadingsVal("Treppenhaus1_1_aus","state","20:00")} {fhem "set ELRO off";;}
define at_Treppenhaus1_2__an at *{ReadingsVal("Treppenhaus1_2__an","state","05:30")} {fhem "set ELRO on";;}
define at_Treppenhaus1_2_aus at *{ReadingsVal("Treppenhaus1_2_aus","state","00:03")} {fhem "set ELRO off";;}
ich hab's schon mit:
define Treppenhaus readingsGroup at_Treppenhaus1_1_an:NTM at_Treppenhaus1_1_aus:NTM at_Treppenhaus1_2_an:NTM at_Treppenhaus1_2_aus:NTM
attr Treppenhaus room AutoLicht
attr Verbrauch valueFormat {NTM => "%.1f W"}
versucht und mit anderen Varianten, aber ich komme nicht drauf wie ich die Uhrzeiten anzeigen kann...
Kann mir jemand einen Tip geben?
NTM ist ein internal und kein reading. du kannst es mit +NTM einbinden. es gibt aber keinen longpoll update dafür.
define Treppenhaus readingsGroup at_Treppenhaus.*:+NTM
ansonsten schau dir mal WeekdayTimer an. damit lassen sich mehrere tägliche schaltzeiten für ein device besser handhaben als mit mehreren at.
gruss
andre
Danke Justme1968.
Damit funktioinert es jetzt.
Der WeekdayTimer ist auch interessant, allerdings konnte ich bisher die eingestellten Zeiten damit nicht im Frontend anzeigen. Außerdem möchte ich die Zeiten ebenfalls auch über das Frontend einstellen können. Das hab ich bisher so wie im WakeupLight Beispiel gelöst.
define Treppenhaus1_1_an dummy
attr Treppenhaus1_1_an alias Treppenhaus1_1_an X Minuten vor Sonnenuntergang
attr Treppenhaus1_1_an group Licht_DG
attr Treppenhaus1_1_an room AutoLicht
attr Treppenhaus1_1_an setList state:slider,-90,1,90
attr Treppenhaus1_1_an webCmd state
define at_Treppenhaus1_1_an at +*{sunset_rel(ReadingsVal("Treppenhaus1_1_an","state","0")*60)} {fhem "set ELRO on";;}
define ntfy_Treppenhaus1_1_an notify Treppenhaus1_1_an { fhem("modify at_Treppenhaus1_1_an *$EVENT");; }
define n_Treppenhaus1_1_an notify (Treppenhaus1_1_an|global:INITIALIZED|global:REREADCFG).* \
modify at_Treppenhaus1_1_an +*{sunset_rel(ReadingsVal("Treppenhaus1_1_an","state","0")*60)}
....
Ghet das mit dem WeekdayTimer auch?
du kannst beim WeekdayTimer die zeiten jeweils genau so über einen perl ausdruck in {} berechnen lassen.
ich weiss zwar nicht warum du den Offset interaktiv einstellen möchtest. wenn es ein mal passt muss man das doch nicht mehr anfassen... aber das geht auch mit dem auslesen des Offsets aus einem dummy. um das neu berechnen zu triggern gibt es glaube ich eine routine. schau mal in der commandref. zur not geht auch disabe/enable.
die schaltzeiten stehen jeweils in den PROFILE... internals. für jeden wochentag. wenn du die sunset_abs_dat($date, ...) variante verwendest siehst auch wie sich die schaltzeiten von tag zu tag ändern.
ich habe zum beispiel so etwas:define BaumTimer WeekdayTimer Baum {sunrise_abs_dat($date,"HORIZON=-20")}|on {sunrise_abs_dat($date)}|off {sunset_abs_dat($date,"REAL")}|on {"23:59"}|off
gruss
andre