add.zip (3,4 KB)
Ich habe gestern Abend noch weitergebastelt, heute aber andere Sachen gemacht
Da ich Homegear nur als Bridge zwischen MAX! und Homeassistant nutze, habe ich mich auf das Minimum beschränkt.
Um einen Dump der Datenbank zu machen, mus man ‘SQLite3’ nachinstallieren, danach kannst Du mit
sqlite3 /var/lib/homegear/db.sql
die Datenbank öffnen.
Danach kannst Du mit
.output SQLDump.sql
.dump
einen Dump erzeugen.
Ich habe zuerst einen Dump direkt nach dem ersten Start von Homegear gemacht, dann ein Gerät angelernt und danach wieder einen Dump gemacht.
Mit
comm -23 <(sort < dump1.sql) <(sort < dump2.sql)
bekommt man hinzugefügte Zeilen (-13 dreht die Richtung um).
Dabei kam raus:
In Devices stehen die Gateways, hier benötigt man die ID des MAX-Gateways, also familiy 4.
Die Geräte selbst stehen in peers mit Gateway, Adresse, Seriennummer und Gerätetyp.
Je nach Gerätetyp stehen in parameters die, Überaschung, Parameter Sowas wie Wochenprogramme etc…
Dann gibt es noch peerVariables, hier stehen, wie Du schon rausgefunden hast, Dinge wie der Name, Gerätetyp etc. drin, danke für die Hinweis auf die Firmwareversion!
Alles andere ist optional und wird (von mir) nicht benötigt.
Man kann die db.sql auch auf ein Windowssystem kopieren und dort mit dem DB Browser for SQLite öffnen und anschauen, das hilft auch sehr.
Für mein Skript habe ich die passenden Teile aus den Dumps verwendet, teilweise mit Notepad++ passend umgebaut, also z.B. bei den Inserts den Index entfernt, und die Stellen, die ich zuordnen konnte, für mein Script angepast (das hänge ich hier mal dran).
Der Aufruf sieht dann so aus:
/home/vklaffehn/add.sh Name Typ Adresse Seriennummer Parent
also z.B.
/home/vklaffehn/add.sh Bad.EG.Heizungsthermostat 1 170c8e NKF0004017 2
Wenn man Peers direkt per SQL hinzufügt, muss man Homegear einmal neu starten, dann tauchen die auf.
Es kann sein, dass ich bei meinen Basteleien irgendwelche falschen Verknüpfungen (Links) in Homegear erzeugt hatte, die dann auf den Geräten gelandet waren, evtl. war das mein Problem.
Genau kann ich das aber erst sagen, wenn ich, vermutlich kommendes Wochenende, versuchsweise ein drittes Zimmer versuche, umzuziehen.
MfG
Volker