FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Fistandantilus am 15 Februar 2017, 00:25:24

Titel: Restart automatisieren
Beitrag von: Fistandantilus am 15 Februar 2017, 00:25:24
Hallo,

ich habe 2 FHEM im Einsatz. Der erste Pi ist für die Haussteuerung zuständig, der Zweite regelt die Heizung. Am Heizungs-Pi, hängt ein 1-Wire Bus, der in unregelmäßigen Zeiträumen immer mal wieder ausfällt (1x alle 4-8 Wochen). Sobald das passiert lasse ich mich informieren, also soweit ok. Da der 1Wire aber nur durch einen kompletten Shutdown und Trennung der Netzspannung wieder Daten liefert, bedeutet das einigen Aufwand. Was ich jetzt machen möchte, ist den Restart zu automatisieren. So stelle ich mir das vor:

- Pi2 ruft per URL ein Kommando am Pi1 auf
- Pi1 initiiert sauberen Shutdown von Pi2
- Pi1 schaltet danach die Steckdose von Pi2 für ein paar Sekunden aus, schaltet sie danach wieder ein
- nachdem der Pi2 wieder oben ist (einfach per delay von x Sekunden), setze ich am Pi1 ein paar Dummy Werte auf den aktuellen Wert, damit die Übertragung der Werte an den Pi2 direkt getriggert wird (FHEM2FHEM) und Pi2 alle initialwerte hat

Von der Umsetzung her hab ich ein Notify angelegt, welches ich vom Pi2 aus per URL Aufruf antriggere. Wie erreiche ich jetzt, dass ich die Dummywerte an den Pi2 übermittle. Manuell kann ich das z.B. per "set Heizung.OG.VorlaufSoll 33" ja antriggern. Die Werte sind aber dynamisch, so dass ich eigentlich den aktuellen Wert des Dummys auslesen und nochmal mit set drüber schreiben müsste.

VG
F.
Titel: Antw:Restart automatisieren
Beitrag von: KölnSolar am 15 Februar 2017, 08:23:29
Hi,
zuerst einmal: Nur der 1W-Bus geht hops und FHEM und PI laufen noch? Seltsam. Kann ja fast nur eine unsaubere Kabelverbindung sein.

Ist es so etwas wonach Du suchst:

notiy global:INITIALIZED set Heizung.OG.VorlaufSoll [Dummy:temperatur]

in Klartext: nach dem hochfahren von FHEM wird  Heizung.OG.VorlaufSoll auf den Wert des readings temperatur des devices dummy gesetzt.

Grüße Markus
Titel: Antw:Restart automatisieren
Beitrag von: Otto123 am 15 Februar 2017, 09:38:36
Hi,

Du kannst doch mit F2F den kompletten Befehl übertragen. Ich hatte so was zum ermittteln der BT Anwesenheit.
Auf FHEM1 existiert dazu ein notify und ein Dummy (Datentransfer2Raspi)
defmod nty_AlleHandy notify (BT_.*) set Datentransfer2Raspi set $NAME $EVENT
Wenn also ein Event von einem Device BT_.* kommt, wird der Inhalt des Dummys "set $NAME $EVENT" per Log Filter -> LOG:Datentransfer2Raspi.* -> auf den FHEM2 übertragen. Dort gibt es wieder ein notify:
defmod nty_DatentransferFromRaspifhem notify Datentransfer2Raspi {fhem "$EVENT"}

der den in FHEM1 in den Dummy geschriebenen Befehl einfach ausführt.
In FHEM2 muss lediglich alles was als BT_.* in FHEM1 gilt als Device (Dummy) existieren.

Ich habe das mittlerweile anders, aber vielleicht ist dies das Konstrukt was Dir hilft?

Gruß Otto
Titel: Antw:Restart automatisieren
Beitrag von: Fistandantilus am 15 Februar 2017, 21:55:33
Ich danke Euch Beiden.

@Markus: Der Bus selbst ist noch da, nur die Sensoren liefern keine Werte mehr. Aktuell hab ich den 1Wire aber auch nicht über einen Busmaster angeschlossen, sondern direkt über gpio, ich denke das ist die Ursache. Aber so lange dass nicht öfterns passiert, kann ich damit leben. Das mit dem global:INITIALIZED muss ich mal probieren, könnte mir aber vorstellen, dass das nicht funktioniert, da das Reading vom Pi1 nur alle 15min kommt oder hat FHEM den letzten Wert vor dem Neustart noch im "Bauch"?

@Otto: Ich geb Dir grundsätzlich recht, allerdings wollte ich nicht noch zusätzliche Dummies anlegen.

VG
F.
Titel: Antw:Restart automatisieren
Beitrag von: Otto123 am 15 Februar 2017, 22:30:06
Hi,

mag sein wir haben uns beide missverstanden. Ich wollte das nur als Beispiel bringen, ob Du zusätzliche Dummys oder die original Geräte mit Werten setzt ist ja egal. Lediglich der Transfer Dummy ist zusätzlich.

Gruß Otto
Titel: Antw:Restart automatisieren
Beitrag von: KölnSolar am 15 Februar 2017, 23:00:40
Zitathat FHEM den letzten Wert vor dem Neustart noch im "Bauch"?
nach shutdown, na klar  :), ansonsten wird täglich 23:59 "gegessen"  ;)
Sollte also klappen, da Du ja keinen Komplettabsturz hast.

Ich hab 1W auch an GPIO4. Einen "busabsturz" aber noch nie. Schon mal 0-, 85er Werte, Lesefehler, weil ich nicht sauber verkabelt hab.