Hallo,
das Ganze ist nun unter https://github.com/hometm/ioBroker-Standby zu finden.
> Wie ist das: Läuft das "Standby" System damit die ganze Zeit mit oder fährt es erst hoch wenn es nötig ist? Ich speche vor allem davon ob alle Skripte auch alle dort laufen bzw Gerätedaten ankommen und so?!
Der Standby läuft die ganze Zeit, lediglich die Netzwerkschnittstelle wird aktiviert/deaktiviert.
> Das Problem zum "Switch"-Zeitpunkt in meinen Augen ist genau der Stand der Daten - also Objekte und States. Wenn Du einfach nur switchst hat der Standby im Notfall einen anderen Datenstand, oder wie syncst Du das ?! Damit gehen Skripte kaputt (wäre zumindestens bei mir so).
Mir ging es weniger um lang-laufende Skripte (z.B. Verbrauchsmessung, Datenaufzeichnung, . ..), sondern um die 'lebensnotwendigen' kurz-laufenden Skripte (z.B. Rolladen, Wasser-Magnetventil, Lichter). Wenn meine lang-laufenden Skripte fehlschlagen, ist das für mich verkraftbar. Wenn ich aber nicht zu Hause bin, und das Licht nicht mehr funktioniert, habe ich ein Problem mit meiner Frau
` > Meine Idee dazu wäre:
Redis
Auf dem Standby host ist ein Slave vom Master. Damit sind alle State-Daten aktuell. Das "objects.json" kann man regelmäßig syncen (alle 30 mins sollte locker reichen, so oft ändern sich Objekte nicht wenn das System "nur" läuft)
Dann müsste man im Switch fall den Redis stoppen, zum Master machen und wieder hochfahren und dann erst den ioBroker dort hochfahren mit dem "lokalen" Redis.
Ein Auto-Switch zurück geht dann aber nicht weil man vorher den Redis wieder in sync bringen muss `
So etwas war meine erste Idee. Ich hatte ein mal pro Stunde die Engineeringdaten (Skripte, Vis Views, Zustände,…) vom Master kopiert. Und das Standby System nur gestartet, wenn der Master nicht mehr erreicht bar war.
Diese hatte ich aber verworfen, weil:
-
Es ist nicht sicher, dass die übertragenen Daten konsistent sind
-
Was, wenn während dem Kopieren der Daten der Master abstürzt?
-
Man weiß im Vorfeld nicht, ob ioBroker anläuft
-
Der Start dauert auf dem Raspi paar Minuten
=> Für soetwas benötigt man vermutlich zwei Standby Systeme, welche immer abwechselnd Syncen/Starten. Damit immer ein Standby mit Konsistenten Daten bereit steht
Tobias