FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: holle75 am 12 Juli 2020, 19:08:42

Titel: [gelöst / geht nicht wirklich] Dummy:state in attr setList eines anderen Devices
Beitrag von: holle75 am 12 Juli 2020, 19:08:42
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.
   
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: flummy1978 am 12 Juli 2020, 19:16:59
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
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: holle75 am 12 Juli 2020, 19:56:54
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?
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: holle75 am 12 Juli 2020, 20:04:41
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?
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: holle75 am 12 Juli 2020, 21:20:04
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)
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: amenomade am 13 Juli 2020, 00:25:00
Ü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
Titel: Antw:Dummy:state in attr setList eines anderen Devices
Beitrag von: holle75 am 13 Juli 2020, 07:37:44
Fundiert. So verstehs auch ich. Danke dir!