FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Sailor am 03 Dezember 2014, 21:59:12

Titel: Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: Sailor am 03 Dezember 2014, 21:59:12
Hallo zusammen, Hallo martin

ich habe eine Frage bzw. einen Wunsch (Ist ja bald Weihnachten)  8)

Ich habe gerade die Situation, dass ich einen Heizkoerper-Thermostat austauschen muss, der nebenbei sowohl mit seinem Kollegen vom rechten Heizkoerper als auch mit dem Fenstersensor und dem Raum-Thermostat gepeert ist.

Ganz zu schweigen vom pairen mit dem HMLAN an fhem.

Meine Frage/Wunsch: Gibt es einen Befehl mit dem man ganz einfach die Geraete austauschen kann und der gleichzeitig das entsprechenden Peering der Geraete untereinander vornimmt.

Zum Beispiel:


HmReplace <Name> <SerialOld> <SerialNew>
HmReplace BR_RadiatorL KXQ1234567 LEQ12345678


Ansonsten bleibt mir nur das Loeschen in fhem, der Reset aller Geraete im betroffenen Raum und das erneute Peeren aller Geraete im Raum und Pairen mit anschliessendem Umbenennen auf den alten fhem-Namen.  :o

Ich bin doch bestimmt nicht der Erste der defekte Geraete austauscht, oder?  ;)

Gruss
    Sailor
Titel: Antw:Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: Bennemannc am 04 Dezember 2014, 07:29:55
Hallo,

es steckt ja bei HM etwas mehr dahinter. In Fhem könnte man solch eine Ersetzung machen, aber das bringt Dir nichts - In Register des Fensterkontaktes ,des anderen Heizkörpers und des Raumthermostates steht ja immer noch die ID des "alten" Ventils. Im Register des "neuen" Ventils ist keine Zentrale eingetragen.
Der gesamte Vorgang müsste ja eigentlich so laufen:
alte peers löschen - alle bei denen das Ventil beteilift war.
altes Ventil in fhem löschen
neues anlernen
peers wieder herstellen - einzelnd, da bei einigen Geräten (z.B. Fensterkontakt) ja die Configtaste gedrückt werden muss.

Durch das drücken von Configtasten - also Usereingriff - wird das ganze sehr komplex. Man müsste dem User ja sagen "drücken Sie jetzt bitte dort die Taste", "klicken Sie dann OK" -> weiter im Script.

BTW. Warum resettest Du alle Geräte im Raum. Du müsstest lediglich das peering löschen. Das funktioniert genauso wie das Anlegen von peering über fhem. Lese mal nach, wie man peering in fhem erstellt.
Das "normale" vorgehen sollte sowieso - erst pairing mit fhem (als Zentrale) - dann die Geräte peers untereinander mit fhem erstellen.

Gruß Christoph
Titel: Antw:Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: frank am 04 Dezember 2014, 13:05:18
man kann auch die komplette konfiguration sichern und wieder einspielen.
die anderen peers muss man natürlich ändern. das könnte eventuell auch über peerBulk oder regBulk funktionieren. also config sichern, ändern und einspielen.
die devices in fhem müssen auch nicht gelöscht werden. einfach die def auf die neue hmid ändern. natürlich alle kanäle. autocreate würde ich abschalten, dann das neue device pairen.
wenn du eine vccu hast und das neue device einschaltest, sollte in der vccu nach ein paar minuten ein reading mit der neuen hmid auftauchen, da der neue rt ja noch unbekannt ist.
Titel: Antw:Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: martinp876 am 06 Dezember 2014, 13:04:42
hm - wie würde ich es machen.

zum einen habe ich immer eine liste der Register gespeichert. Also alles, was aus getConfig kommt. Zum einen noch einmal mein beliebter Hinweis auf HMInfo autoArchive ;)
=> erster Schritt ist also, dass du von allen betroffenen Devices die register und peers hast. kannst du alle mittels saveConfig in ein File schreiben lassen.

Nun ermittlst du alle betroffenen Devices. Also erst einmal das, was du austauschst und danach die peers (hmInfo peerXref).

Im nächsten Schritt wirfst du das alte Device raus, baust das neue ein und pairst es.
Nun kannst du alle Attribut wieder setzen. Hierzu kannst du (was man sonst nicht machen soll!!) fhem.cfg oder die verwandten Files editieren. Einfach ist: den "define" Eintrag des Alten editieren und die neue HMID einsetzen - den Eintrag des neuen löschen
neustart oder rereadconfig machen.

=> Stand bis hier her:
das Device ist angelegt unter dem alten Namen und mit der neuen ID.

Jetzt muss man die Configuration zurückspielen. Im vorne erwähnten Registerfile stehen die Kommando. Einfach alle Kommandos zu diesem Device aus dem File kopieren und in die kommandozeile pasten.
=> Nun sollte das Device mit allen vorigen Devices gepeert sein und alle Register sind wieder gesetzt.

HMInfo verifyConfig prüft dies

Schließlich noch die neue HMId des Device bei den peers bekannt machen. Das ist Handarbeit - bisher zumindest. Du kannst jeweils mit
set <peerEntity> peerbulk <alteId> unset
set <peerEntity> peerChan 0  <neuerChan> single set

Prüfen alles mit
configCheck (werden peerings geprüft)
verifyConfig - test der Register gegen gelesene Dten

Titel: Antw:Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: Sailor am 06 Dezember 2014, 19:45:39
Hallo Martin

danke fuer den Hinweis, leider war ich ungeduldig und habe das alte device geloescht, mit allen Aktoren neu gepeert, und mit HMLAN gepairt und anschliessend umbenannt.

Sonst waere der WAF im Schlafzimmer im Eimer gewesen!  ;)
Der Druck war enorm!!!

Da bei 41 HM Geraeten sicher bald der naechste ausgetauscht werden muss, habe ich Deine Anleitung an die Pinnwand geheftet.

Mal schauen, vielleicht juckt es mich ja, aus deiner Anleitung ein Skript zu machen... Wenn ich denn mal mit meinem 73_km200.pm Modul fuer meine Buderus Heizung fertig werde.

Danke aber trotzdem!!!

Gruss
   Sailor

PS: ELV war wirklich sehr hilfreich un kulant. Nach Beschreibung des Fehlers (Motor dreht nur hin und her) haben die mir ein Ruecksendeschein zugemailt und innerhalb von 5 Tagen hatte ich mein neues Ventil.
Titel: Antw:Wunschliste: Befehl zum einfachen Austausch der HM-Geraete
Beitrag von: martinp876 am 07 Dezember 2014, 15:22:00
vorab die Empfehlung: Parameter der Devices sichern - also alles, was man ins Device schreibt. Das sind register und peerings.
HMInfo sollte autoArchive aktiviert haben (meine empfehlung).
sinnvoll ist, eine known-good-config zu sichern. Mittel zum prüfen
- autoarchive an
- getConfig ausgeführt?
- configCheck ausgeführt, gg probleme lösen.
- verifyConfig

wenn man genug geprüft hat, das Archive-file sichern, evtl komprimieren.
ein restoreConfig könnte ich dann noch bauen - was die Aktionen kompletiert.
Fehlen würde dann noch das setzen der Peers.... da gibt es kleine Fussangeln... sind aber lösbar