Readings mit HMInfo sichern

Begonnen von Rampler, 20 Dezember 2014, 15:28:29

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
ich möchte alle meine Readings periodisch sichern, um bei einem defekt schnell wieder zu restoren.
Dachte da bietet sich HMinfo an, und zwar mit dem Befehl:

set hm archConfig [-a] [config]

In der Fhem.cfg steht:
define hm HMinfo
attr hm configDir /opt/fhem/hminfo/
attr hm room FHEM
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models

Doch irgendwie tut sich nix, unter /opt/fhem/hminfo/ finde ich nix, auch kann ich keine Fehlermeldung sehen.
Sicherlich habe ich wieder etwas falsch verstanden.
Oder ist das gar der falsche weg, für mein vorhaben ?
Gruß Klaus

3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

chris1284

#1
Warum willstdu readings sichern? Sinnvoller wäre es die fhem.cfg und ggf die templists zu sichern. Die aktuelen readings holst du dann aus den devices bzw sie senden sie dir.

Des weitere commadref:

ZitatarchConfig [filter] [<file>]
Führt saveConfig für alle Instanzen aus, sobald sich deren Konfiguration ändert. Es schont gegenüber saveConfig die Resourcen, da es nur vollständige Konfigurationen sichert.
Die Option -a erzwingt das sofortige Archivieren für alle Geräte, die eine vollständige Konfiguration aufweisen.

Editiert

martinp876

Readings werden von fhem automatisch gesi hert und eingespielt. Meist korrekt. Ein saveconfig spei hert register. Das hat nichts mit dem save der atribute in fhem zu tun.

Rampler

Erstmal danke für die Infos
Habe da scheinbar noch ein Verständnisproblem.
Ich sicher des nächtens via rync den ganzen /opt/fhem tree auf eine andere Festplatte (NAS).
Damit habe ich dann also die komplette FHEM Installation - Fhem.cfg (Attribute Configuration etc.)
Ich dachte mir halt, wenn meine Keymatic kaputt geht und ich eine neue kaufen muss, dann brauch ich die Readings (also im Falle der Keymatic Haltewinkel, motordrehkraft)  welche ich extra sichern muss/sollte.

In der Hilfe von HMInfo steht aber doch:
Zitat
saveConfig

Peers und Register werden in eine Datei geschrieben. Die Daten kann man ggf. wieder in ein Gerät oder ein Austauschgerät schreiben. Die Speicherung erfolgt kumulativ, man kann alles in eine Datei schreiben.
set hm saveConfig [<filter>] [<file>] 
archConfig

Arbeitet prinzipiell wie saveConfig. Es werden jedoch nur vollständige Registersätze gespeichert, was einen höheren Level an Sicherheit der Dateninhalte gewährt.
set hm archConfig [-a] [<file>]


Nach dem Absetzen des Commands:
set hm archConfig -a meinedatei passiert nichts. Es solle dann doch eigentlich unter /opt/fem/hminfo/* die Readings der Geräte stehen.
ZitatWenn nix drin ist hast du wohl keine vollst. Konfigurierten geräte
Verstehe ich nicht, was heißt denn in dem Zusammenhang vollst. Konfiguraion.

Mein Wunsch wäre quasi ein Saveconfig für alle devices, jede Nacht, und das dachte ich macht der archConfig
mit dem Attribut autoArchive.
Aber wahrscheinlich bin ich da schon wieder daneben.



3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

martinp876

Zitatwenn meine Keymatic kaputt geht und ich eine neue kaufen muss, dann brauch ich die Readings
teilweise. Du brauchst die Register und die peers. die werden nicht mit save gespeichert. man kann es aber insbesondere mit HMInfo saveConfig machen. Also erst lesen aus dem Device und dann speichern.
mit archive kann man das auch - wenn erfolgreich gelesen worden ist wird eine kopie der register (wenn vollständig) in das Archiv geschrieben.
Versionen des Archives muss man von hand anlegen (also das archive-file kopieren).
damit kann man dann ein device restaurieren - oder gegen eine neues austauschen (das ist sinn der Sache)

ZitatMein Wunsch wäre quasi ein Saveconfig für alle devices, jede Nacht,
nicht jede nacht. immer, wenn du ein getConfig gemacht hast - und nach einem kurzen delay, damit nicht jeder einzeln geschrieben werden muss.
ACHTUNG: das ist keine Versionskontrolle. du musst hie und da eine sicherheitskopie machen. wenn dein device resetet hat werden diese Daten für es vermerkt - also immer der letzte Stand (leider kann ich den besten Stand nicht erkennen).
ZitatAber wahrscheinlich bin ich da schon wieder daneben.
knapp

Rampler

Nochmals Danke ..
Ich werde jetzt einfach manuell für meine Devices ein get WF.keymatic saveConfig WF.keymatic  absetzen, nachdem mit dem Device alles passt. Ich denke da ist weniger manchmal mehr..
Hoffe das und die Fhem Sicherung reicht im Ernstfall..
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

martinp876

noch einmal zum Hintergrund.
Configgurationen der devices bestehen aus peerings und registern. Die register sind in Listen organisiert - und die Anzahl der Listen hängt (auch) von den peerings ab.
das sichern besteht also aus
- sichern der peerings
- sichern der registerlisten.

Registerlisten sind schlecht lesbar. ein saveConfig speichert nicht die lesbaren register-readings sondern die hex-registerlisten. Das sind zum einen die Werte, die im device stehen und zum 2. (natürlich) auch die Werte, aus denen die lesbaren Readings erzeugt werden.
Alles, was man am Device configurieren kann wird mit peers und reg-listen gesichert.

Operationelle Daten sind etwas anderes (list an, desiren-temp) - klar.

gesicherten listen/peers kann man
- wieder in devices einspielen => devices restaurieren
- in ersatzdevices einspielen => defekte devices austauschen, konfig "retten"
- nach FHEM einlesen und lesbar machen => einspielen von Registern der Fernbedienungen aus einem File. Daten können manchmal nur schwer gelesen werden (config drücken...) - aber man will sie in FHEM lesen können. User muss wissen, welchen Stand er in FHEM einliest