NEWS
IOBroker Backup und Werte von Javascript Datenpunkten.
-
Ich habe da mal eine Frage, vllt kann die jemand beantworten weil er das Ergebnis weiss, ich möchte dies ungerne am Produktivsystem empirisch ermitteln.
Ich habe unter javascript.0.xxxx einige Datenpunkte, deren Werte (Inhalte der Variablen) ich auch gerne gesichert wüsste.
heisst, Zählerstände von den Verbrauchszählern.
Ich mach auch brav regelmäßig die IOBroker backups. (in SSH : IOBroker Stop, IOBroker backup)
das backup wird auch von der PI- Platte auf ein anderes Laufwerk gesichert.
Nun die Frage, wenn ich aufgrund eines Crashes (Plattencrash oder Installation zersägt) Iobroker restoren müsste,
sind dann nur die Datenpunkte neu angelegt mit leerem Inhalt oder ist da auch der Wert der Variablen drin vorhanden, den diese im Augenblick der Datensicherung hatten ?
Vllt kennt einer hier ja die Antwort,
Thnx und einen schönen Sonntag noch, Black
-
Wo hast Du denn die "States" liegen?
In einem File (Standard) oder im Redis?
Wenn File, dann sollte der Stand im Backup drin sein- kannst ja mal in ein Backupfile reinschauen.
Wenn Redis dann musst Du die Redis-DB sichern …
-
Jetzt entführe ich mal ein Fred. @apollon77 könnte die Backup-Routine nicht selbst schon ein dump machen?
-
klingt logisch aber….
wo sehe ich ob redis oder nicht ?
meine installation ist vom herbst letzen Jahres mit dem Raspi Image von der Seite hier.
Ich kann mich nicht entsinnen, bewusst irgendwas auf redis gestellt zu haben.
Gruss, Black
-
Du meinst nen redis-Dump anstoßen ?! An sich geht das, aber die Frage ist wie man das dann in das Backup rein bekommt - der Redis-Server kann ja auf nem anderen Server liegen …
Am Ende des Tages kann man ja den Redis in ganz anderen Intervallen seinen Status persistieren lassen und am Ende ist das auch gut so. Dann hat man im Zweifel aktuellere "letzte Werte" als im Backup...
-
Ich kann mich nicht entsinnen, bewusst irgendwas auf redis gestellt zu haben. `
Wenn Du nichts explizit eingestellt und nen Redis-Server installiert hast, dann hast Du kein Redis
Schau doch mal in so ein Backup-File rein, ist da ne "states.json" oder so drin?
-
Entweder stell ich mich blöd an oder…
also:
reingeguckt im Backup von gestern
enthält einen Ordner Files und eine backup.json
Im ordner Files sind wohl nur Sachen von Vis.0 drin wie Bilder etc
Die Backup.json enthält vieles, ich hab mir mal den Inhalt eines Datenpunktes in der Backup.Json gesucht. Eine States.Json hab ich da nicht drinne
{ "id": "javascript.0.ENERGIE.OEL.ZAEHLER.GESTERN", "value": { "common": { "role": "javascript", "type": "number", "unit": "h", "desc": "Laufzeit Kessel Jahresanfang", "name": "ENERGIE.OEL.ZAEHLER.GESTERN" }, "native": { "role": "javascript", "type": "number", "unit": "h", "desc": "Laufzeit Kessel Jahresanfang", "name": "ENERGIE.OEL.ZAEHLER.GESTERN" }, "type": "state", "_id": "javascript.0.ENERGIE.OEL.ZAEHLER.GESTERN" }, "doc": { "common": { "role": "javascript", "type": "number", "unit": "h", "desc": "Laufzeit Kessel seit gestern", "name": "ENERGIE.OEL.ZAEHLER.GESTERN" }, "native": { "role": "javascript", "type": "number", "unit": "h", "desc": "Laufzeit Kessel gestern", "name": "ENERGIE.OEL.ZAEHLER.GESTERN" }, "type": "state", "_id": "javascript.0.ENERGIE.OEL.ZAEHLER.GESTERN" } },
Der Inhalt wäre 517,27 Stunden.
Nur die Finde ich nicht .
Gruss, Black
-
Hey,
das sollte eine Objektbeschreibung sein … damit ist nur die objects.json drin verbandelt.
Die states.json fehlt damit
-
ok.. das heisst, bei mir werden also die State Inhalte zur zeit nicht gesichertert.
Vorhin grad mal ne BildschirmHardcopy der Inhalte gemacht und gespeichert.
Ist dieses generell so ? Oder kann man irgendwo einstellen das doch gesichert werden soll ?
mit der zweiten tasse kaffee kommt mir was im Hinterkopf, ist nicht mal letztes jahr iobroker auf redis umgestellt worden ? ich meine, ich hab das gelesen bevor ich mein system aufgesetzt habe.
grmmlz,
weisst du wo ich sowas nachschauen könnte ?
danke für deine Mühe schon mal, Black
-
ist nicht mal letztes jahr iobroker auf redis umgestellt worden ? `
nicht unbedingt.Du kannst mit redis arbeiten.
Dazu musst du den redis-Server installieren und die ioBroker Konfiguration anpassen.
Ich empfehle redis, da dadurch der Host deutlich weniger Last hat.
Wenn du das nicht gemacht hast (oder ein Image mit redis genommen hat) liegen diese Daten als JSON vor.
Gruß
Rainer
-
Die Staes kann man aktuell FIle-basiert oder im Redis speichern. Redis ist nur eine Option.
In /opt/iobroker/iobroker-data/iobroker.json findest Du die Konfig vom iobroker. Was steht denn da bei states? "file" oder "redis"?
DU musst das File /opt/iobroker/iobroker-data/states.json wegsichern wenn Du ne Sicherung haben willst
-
so, ich denke ich bin mal ne runde weiter…
also im reinen Backup File habe ich die States.json nicht drin
ich dicher mir aber nach dem iobroker backup sowohl das iobrocker backup file als auch das verzeichnis
iobroker-data.
und dort ist eine states.json.
Diese mal geöffnet.
dort findet sich dann besagter datenpunkt.
"javascript.0.ENERGIE.OEL.ZAEHLER.GESTERN":{"val":509.13,"ack":false,"ts":1487977260189,"q":0,"from":"system.adapter.javascript.0","lc":1487977260189},
der Wert ist auch stimmig.
Nun die Frage, wenn ich bei einem Crash iobroker neu aufsetze, das backup einspiele und die iobroker.data zurückkopiere, sollte ich doch den stand seit dem backup haben incl allem, oder ?
gruss, Black
edit… nachgeguckt... sollte bei mir auf files stehen so, richtig ?
"states": { "type": "file", "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].", "host": "127.0.0.1", "port": 9000, "options": { "auth_pass": null, "retry_max_delay": 15000 } },
-
Damit sollte das gegeben sein.
Fallsu Du noch Histpry als Adapter einsetzt muss Du ggf noch das History-verzeichnis mit sichern und zurückspielen.
-
history habe ich und wird beim Kopieren der iobroker-data mitkopiert.
also in sofern bin ich dann grün.
bis jetzt macht mein iobroker auf einem PI3 mir pidrive-HD keinen ärger auch von der performance her. und solange das nicht nötig ist,
möchte ich nach dem Prinzip verfahren: Never change a running system.
für irgendwann später mal, ist denn ein umzug / konvertierung von File auf redis möglich ?
thnx, black
-
Umstellung auf Redis geht quasi jederzeit. Man verliert aktuell nur dann erstmal alle States. Es gibt aktuell noch kein "Fülle Redis-States initial aus dem File"-Skript
-
ich weiss. Ich musste schon 2 meiner Scripte desswegen anpassen, dass die merken, wenn plötzlich 'null' statt '0' im Datenpunkt drinsteht.