FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Dracolein am 02 November 2021, 17:10:36

Titel: Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Dracolein am 02 November 2021, 17:10:36
Hallo zusammen,

Elektriker war heute vor Ort und hat mehrfach den Strom im Haus abgestellt. Dadurch wurde auch mein FHEM Server mehrfach restartet und mir fiel auf, dass sämtliche meiner Dummy-Devices einen "undefined" Zustand hatten.

Lässt sich das irgendwie vordefinieren, welchen Zustand Dummy nach FHEM-Restart haben soll?
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Beta-User am 02 November 2021, 17:17:05
Eigentlich ergibt sich das aus der stateFile.

Wenn die aber "kaputt" oder unvollständig ist, klappt das halt nicht mehr...
Maßnahmen können sein
- USV installieren (ist für die SD-Karte eh' besser!)
- stateFile regelmäßig schreiben / wegsichern (das kann aber auch kontraproduktiv sein und verbraucht ggf. auch Schreibzyklen auf der SD-Karte)
- INITIALIZED-notify erstellen, das feste Initialwerte vergibt,
- checken, warum ggf. was anderes irgendwoher in den dummy geschrieben wird;
- auf dummy möglichst ganz verzichten (mein Favorit...)
(-there's more than...")
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: enno am 02 November 2021, 17:33:20
Moin

bei mir geht es manchmal, aber wenn der Rechner mehrfach hintereinander startet sind die Werte oft weg. Daher habe ich wie Beta-User vorschlägt ein DOIF bei Neustart und eine USV (Gürtel und Hosenträger 8))

defmod di_Set_Neustart DOIF ([global:"INITIALIZED"])(set KWL_Timer_Dummy off,set TYPE=CUL_HM:FILTER=NAME=.*_Rauchmelder statusRequest)


Gruss
  Enno
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Beta-User am 02 November 2021, 17:38:33
...das wäre was neues, DOIF kann ich nicht, daher hatte ich ein notify vorgeschlagen... (diese Klammern für einfachste Übungen sind doch grausam, oder...?)
defmod n_Set_Neustart notify global:INITIALIZED set KWL_Timer_Dummy off,set TYPE=CUL_HM:FILTER=NAME=.*_Rauchmelder statusReques

(Wobei ich nicht sicher bin, ob das mit dem statusRequest sein müßte, v.a., wenn man HMinfo eingerichtet hat).
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Damian am 02 November 2021, 17:47:03
Ich sichere bei mir regelmäßig für solche Ausfälle die Zustände mit:

defmod di_save DOIF {[:00];;fhem"save"}

Über den Ausfall der sd-Karte mache ich mir bei dieser Häufigkeit keine Gedanken.
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: McShire am 02 November 2021, 17:56:05
Hallo,
kann man nicht die Initialwerte einfach mit set <dummy-name> <dummy-value> in die fhem.cfg schreiben?
das wäre aus meiner Sicht die einfachste und ressoucenschonende Lösung.
mfg
Werner
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Dracolein am 02 November 2021, 17:56:22
Zitat von: enno am 02 November 2021, 17:33:20
Moin

bei mir geht es manchmal, aber wenn der Rechner mehrfach hintereinander startet sind die Werte oft weg. Daher habe ich wie Beta-User vorschlägt ein DOIF bei Neustart und eine USV (Gürtel und Hosenträger 8))

defmod di_Set_Neustart DOIF ([global:"INITIALIZED"])(set KWL_Timer_Dummy off,set TYPE=CUL_HM:FILTER=NAME=.*_Rauchmelder statusRequest)


Gruss
  Enno

Praxistaugliches Beispiel, das werde ich übernehmen, dankeschön.
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Beta-User am 02 November 2021, 17:57:57
...wobei das - möglicherweise ungewollt - etwas mehr "sichert"  ;) ...
Jede Stunde statefile per at schaut auch nicht wild aus:
define a7 at +*01:00 save statefile
Wer es "punktgenau" mag, muss dann halt zu einem Attribut greifen, siehe die ziemlich übersichtliche commandref zu at (wobei ich eher empfehlen würde, sowas nicht zwanghaft auf die genauen Uhrzeiten festzuzurren):
define at2 at +*01:00 set Chime on-for-timer 1
attr at2 alignTime 00:00

Zitat von: McShire am 02 November 2021, 17:56:05
Hallo,
kann man nicht die Initialwerte einfach mit set <dummy-name> <dummy-value> in die fhem.cfg schreiben?
das wäre aus meiner Sicht die einfachste und ressoucenschonende Lösung.
mfg
Werner
...mach das mal mit configDB...

Und NEIN: cfg-Editieren ist zwar möglich, aber eigentlich keine Option. Hände weg (für die, die nicht genau wissen, was sie tun)!
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Damian am 02 November 2021, 18:01:35
Es sind ja nicht nur Dummys, die falsche Zustände nach dem Neustart haben.

Es gibt z. B. auch HM-Komponenten, die nach einem Neustart falsche Zustände aufweisen können.
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Beta-User am 02 November 2021, 18:11:36
Deswegen auch der Hinweis auf HMinfo - was aber auch nichts hilft, wenn der Aktor seinen Zustand auch nicht mehr kennt...
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Damian am 02 November 2021, 18:28:28
Zitat von: Beta-User am 02 November 2021, 18:11:36
Deswegen auch der Hinweis auf HMinfo - was aber auch nichts hilft, wenn der Aktor seinen Zustand auch nicht mehr kennt...

Das ist insb. beim batteriebetriebenen HM-MOD-EM-8 der Fall, dessen aktueller Zustand sich nicht abfragen lässt.
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Dracolein am 06 November 2021, 09:47:42
Wo ist mein Fehler?

Das notify funktioniert zuverlässig nach Systemstart und setzt die gesamte Befehlskette richtig um bis auf eine Ausnahme:
Der erste Befehl "set Badrolloautomatikschalter on" wird nicht ausgeführt, sondern statt dessen die gesamte Befehlskette als String auf dessen Reading "state" geschrieben.


Internals:
   DEF        global:INITIALIZED set Badrolloautomatikschalter on, set Beschattungsautomatikschalter on, set Beschattungsstufe1 off, set Beschattungsstufe2 off, set Lauflichtschalter off, set Nachtlichtautomatikschalter on, set Rolloautomatikschalter on, set alleRollosAb off, set alleRollosAuf off, set alleRollosStop off, set dummy_Haustuerklingel off
   FUUID      61816e5a-f33f-4dec-1584-903ddac9a4efe83e
   NAME       notify_Set_Neustart
   NOTIFYDEV  global
   NR         152
   NTFY_ORDER 50-notify_Set_Neustart
   REGEXP     global:INITIALIZED
   STATE      2021-11-06 09:40:03
   TRIGGERTIME 1636188010.90023
   TYPE       notify
   READINGS:
     2021-11-06 09:40:02   state           active
     2021-11-06 09:40:03   triggeredByDev  global
     2021-11-06 09:40:03   triggeredByEvent INITIALIZED
Attributes:
   room       Befehle
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Beta-User am 06 November 2021, 10:17:38
Strichpunkt statt Komma...?
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: MadMax-FHEM am 06 November 2021, 10:48:18
Zitat von: Beta-User am 06 November 2021, 10:17:38
Strichpunkt statt Komma...?

Denke ich auch, siehe z.B.: https://wiki.fhem.de/wiki/Erste_Schritte_in_FHEM#Mehrere_Devices_schalten

Und je nachdem wo du eingibst (DEF oder RawDef) ein oder zwei Strichpunkte... ;)

Gruß, Joachim
Titel: Antw:Vordefinierte Werte für "Dummy" (z.B. nach Stromausfall)
Beitrag von: Dracolein am 07 November 2021, 09:21:26
Vielen Dank, das war die Lösung.