[gelöst / geht nicht wirklich] Dummy:state in attr setList eines anderen Devices

Begonnen von holle75, 12 Juli 2020, 19:08:42

Vorheriges Thema - Nächstes Thema

holle75

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.
   

flummy1978

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

holle75

#2
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?

holle75

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?

holle75

#4
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)

amenomade

Ü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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75