Hallo Ihr! Ich such mich wund ...
Der im state als Uhrzeit gespeicherte Sonnenaufgang in einem Dummy, genannt "Sonnenaufgang", soll in einer SetList eines anderen Dummys verwendet werden.
zB
attr <Device> setList state:Elevation,Zeit Uhrzeit:Sonnenaufgang,01:00,02:00,03:00,04:00,05:00,06:00,07:00,08:00,09:00,10:00,11:00,12:00,13:00... usw
geht das irgendwie? Ich finde einfach kein Beispiel. Wahrscheinlich weil es nicht geht, aber ich will nicht aufgeben ;)
Danke und Grüße
H.
Holla,
vorrausgesetzt ich habe es richtig verstanden, würde mir aus dem Stehgreif heraus einfallen: Warum state und nicht in einem eigenen Reading ? Sprich:
Bei Änderung am betroffenen Dummy -> Reading "SonnenaufgangZeit" setzen (notify) und gleichzeitig das state des anderen Dummys auf den gleichen Wert setzen ?
Oder falsch verstanden ? Dann einfach noch mal anders beschreiben, oder warten bis es jemand besser verstanden hat als ich 8)
Viele Grüße
Andreas
Hallo Andreas, im Prinzip schon richtig verstanden, aber im speziellen Fall viel Umbau für das kleine Gimmick. An Sonnenaufgang:state hängen viele andere Devices dran.
Der Dummy Sonnenaufgang wird Nachts für die nächsten 24 Stunden befüllt. Sozusagen eine fixe Variable für einen Tag.
Meine Beregnung wird über einen anderen Dummy mit der Startzeit versorgt. Dieser Dummy soll als Zeit eben auch den Sonnenaufgang anbieten.
An dieser Zeiteinstellung hängen wiederum etliche anderen Devices neben der Beregnung.
Was ich aber machen könnte, deiner Idee folgend, ist, den Sonnenaufgang Dummy noch zusätzlich mit einem Reading auszuschmücken um dann das Reading zu verwursten.
Nur, wie würde ich das Reading eines anderen Dummys (Sonnenaufgang) in setList vom Beregnungsdummy nutzen?
... und wenn das geht, warum state nicht?
Ach so, denken dann schreiben, du meinst das (dann neue) Reading im Beregnungsdummy gleichzeitig mit dem Sonnenaufgang:state setzten?!
... und das Reading im Beregnungsdummy geht dann in setList einzusetzten, richtig? Nur Readings aus anderen Dummys dann wohl nicht?
Das Prinzip funktioniert .... nur wird nicht der ReadingWert dann genutzt sondern der Text. Was dann in den anderen Devices verständlicherweise nicht weiterhilft.
list
Internals:
FUUID 5c86875d-f33f-6bb4-6aaf-32e0a1374345b58e
NAME BeregnungNach
NR 782
STATE Zeit
TYPE dummy
READINGS:
2020-07-12 20:31:54 SonnenaufgangZeit 05:51:55
2020-07-12 20:31:54 SonnenuntergangZeit 20:44:32
2020-07-12 21:16:56 Uhrzeit SonnenaufgangZeit
2020-07-12 20:21:44 state Zeit
Attributes:
group Beregnung
readingList state Uhrzeit SonnenaufgangZeit SonnenuntergangZeit
room Beregnung
setList state:Elevation,Zeit Uhrzeit:SonnenaufgangZeit,SonnenuntergangZeit,01:00,02:00,03:00,04:00,05:00,06:00,07:00,08:00,09:00,10:00,11:00,12:00,13:00,14:00,15:00,16:00,17:00,18:00,19:00,20:00,21:00,22:00,23:00
sortby 4
webCmd state:Uhrzeit
ich mach mich hier noch zum Horst ... wie soll das auch gehen. Wie wäre die richtige Syntax (wenns überhaupt eine gibt)
Über Perl könnte man es evtl. machen.
Aber: prinzipiell ist ein attr ein Konfigurationsparameter. Es wird einmal beim Start gelesen, und dann nicht mehr angefasst.
Das heisst: auch über Perl, wird es einmal kalkuliert und richtig gesetzt, aber es wird sich am nächsten Tag nicht von alleine ändern.
Mögliche Lösung: ein notify, der dann das attr setzt. Du wirst aber jedes Mal das rote Fragezeichen neben "save config" wieder sehen
Fundiert. So verstehs auch ich. Danke dir!