FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: fichtennadel am 26 August 2023, 16:23:05

Titel: Raw definition - setstate für readings?
Beitrag von: fichtennadel am 26 August 2023, 16:23:05
Warum wird in die Raw definition für readings ein setstate genereriert?

Wenn ich den Wert im setstate dann ändere und ausführe, bewirkt das nichts, erst wenn ich aus dem setstate ein setreading mache.

Ein Beispiel:
define testSetStateSetReading dummy
#   CFGFN     
#   DEF       
#   FUUID      64ea0739-f33f-9021-d03a-f74d00e95c646a6d
#   NAME       testSetStateSetReading
#   NR         7842
#   STATE      ???
#   TYPE       dummy
#   eventCount 1
#   READINGS:
#     2023-08-26 16:08:22   dummy           123
#
setstate testSetStateSetReading 2023-08-26 16:08:22 dummy 123

Raw Definition:
defmod testSetStateSetReading dummy
setstate testSetStateSetReading 2023-08-26 16:08:22 dummy 124

Ausführen von "setstate testSetStateSetReading 2023-08-26 16:08:22 dummy 124" ändert den Wert des Readings nicht, erst ein setreading testSetStateSetReading dummy 124

In den Backups der Statefiles war das früher (~2019) auch so mit setreading, erst später sind dort setstate.

Ist das Absicht? Sollte in der Raw Defition nicht besser ein setreading stehen?
Titel: Aw: Raw definition - setstate für readings?
Beitrag von: betateilchen am 26 August 2023, 16:41:06
Das ist schon alle ok so, keine Sorge.

setstate wird verwendet, weil damit beim Start von FHEM der vor dem Neustart bestehende Zustand der readings inkl. deren altem Timestamp wiederhergestellt wird.

Titel: Aw: Raw definition - setstate für readings?
Beitrag von: fichtennadel am 26 August 2023, 17:29:50
Beim Start klarerweise ok, da hatte ich ohnehin keine Sorgen ;-)


Aber in der Raw Definition ist es schon überraschend, wenn "Execute commands" wirkungslos ist, weil dort ein setstate statt setreading ist.
Titel: Aw: Raw definition - setstate für readings?
Beitrag von: betateilchen am 26 August 2023, 18:28:43
Es ist nicht überraschend. Die raw definition ist exakt das, was bei einem "save config" abgespeichert würde.

Das setstate funktioniert sehr wohl. Du kannst das sehr einfach testen: kopiere die gesamte raw definition, lösche danach das device und führe dann die raw definition neu aus.
Titel: Aw: Raw definition - setstate für readings?
Beitrag von: fichtennadel am 26 August 2023, 22:55:08
Rein interessehalber: was spricht denn dagegen, in der Raw Definition setreading zu verwenden?
Titel: Aw: Raw definition - setstate für readings?
Beitrag von: Icinger am 27 August 2023, 00:01:23
Setreading generiert ein Event, setstate tut dies nicht.
Titel: Aw: Raw definition - setstate für readings?
Beitrag von: herrmannj am 27 August 2023, 00:04:45
Zitat von: fichtennadel am 26 August 2023, 22:55:08Rein interessehalber: was spricht denn dagegen, in der Raw Definition setreading zu verwenden?
setreading und setstate sind in der cmdref dokumentiert.