Skript für neue Firmware

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

erik
Beiträge: 776
Registriert: 31.10.2007, 13:32
Hat sich bedankt: 6 Mal
Danksagung erhalten: 6 Mal

Skript für neue Firmware

Beitrag von erik » 23.03.2015, 20:00

Hallo,

Nutze die ccu nun fast nur noch über das Ipad und bekomme so kaum noch neue Firmwareversionen mit.

Kann man irgendwie im Skript abfragen, ob eine neue Firmwareversion vorliegt?
Möchte nächtlich prüfen lassen, ob es eine neue Version gibt und mir dann eine Mail schicken lassen. Email ist kein Problem. Nur den trigger, ob es eine neue Version hibt, weiss ich nicht, wie ich das abfragen soll.

Danke und Grüße

Erik

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Skript für neue Firmware

Beitrag von thkl » 23.03.2015, 20:17

http://update.homematic.com/firmware/do ... rial=12345

liefert die aktuelle Firmware in Form von

Code: Alles auswählen

homematic.com.setLatestVersion('2.13.7');
den AutoCheck könnte man in ein HM Script packen ...

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Skript für neue Firmware

Beitrag von thkl » 23.03.2015, 20:32

Ok here we go:
Zuerst mal eine System Variable anlegen. Name NewFirmware ... Typ Logikwert

Script:

Code: Alles auswählen

string stdout;string stderr;string cmd;cmd = 'cat /boot/VERSION';
system.Exec(cmd, &stdout, &stderr);
string version = stdout.StrValueByIndex("=",1);
cmd = 'wget -qO- http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345';
system.Exec(cmd, &stdout, &stderr);
string newversion = stdout.StrValueByIndex("'",1);
if (newversion<>version) {
 dom.GetObject("NewFirmware").State(1);
} else {
 dom.GetObject("NewFirmware").State(0);
}
Das dann zb 1x am Tag laufen lassen wenn die aktuelle Firmware Version nicht der bei homematic.com entspricht wird NewFirmware auf Ja gesetzt, Wenn die Version gleich sind ist die Variable Falsch (wird also selber zurückgesetzt).


Nachtrag: CuxD Exec kann bei Bedarf das system.exec ersetzten

lötix
Beiträge: 347
Registriert: 10.03.2014, 18:41

Re: Skript für neue Firmware

Beitrag von lötix » 24.03.2015, 20:30

Moin....

muss ich dazu zwei Programme anlegen?
1. Zu Zeitpunkt x Script ausführen
2. Wenn NewFirmware wahr, dann eMail/Pushmail?

tnx4info lötix

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Skript für neue Firmware

Beitrag von DrTob » 24.03.2015, 21:20

lötix hat geschrieben:Moin....

muss ich dazu zwei Programme anlegen?
1. Zu Zeitpunkt x Script ausführen
2. Wenn NewFirmware wahr, dann eMail/Pushmail?

tnx4info lötix
Genau.

nicolas-eric
Beiträge: 3302
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel
Hat sich bedankt: 21 Mal
Danksagung erhalten: 11 Mal

Re: Skript für neue Firmware

Beitrag von nicolas-eric » 24.03.2015, 21:51

Könntest doch anstatt mit dem Script eine Systemvariable zu setzen bei neuer Firmware gleich ne Mail verschicken über das Mail plugin zB.

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Skript für neue Firmware

Beitrag von thkl » 24.03.2015, 22:02

Naja die Geschichte mit der Variable ist in sofern günstiger, das nicht bei jedem Scriptdurchlauf eine neue Mail verschickt wird bis man das Update eingespielt hat... aber das ist ja alles anpassbar ....
Zuletzt geändert von thkl am 24.03.2015, 22:21, insgesamt 1-mal geändert.

nicolas-eric
Beiträge: 3302
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel
Hat sich bedankt: 21 Mal
Danksagung erhalten: 11 Mal

Re: Skript für neue Firmware

Beitrag von nicolas-eric » 24.03.2015, 22:14

Deswegen würde ich das Script so aufbauen (kann das aber nicht selber programmieren, leider) mit einer Systemvariable:

Prüfen, ob neue FW vorhanden.

Wenn neue FW vorhanden
Und Systemvariable auf "keine neue FW"
Dann Mail senden
Und Systemvariable auf "neue FW"

Wenn neue FW vorhanden
Und Systemvariable auf "neue FW"
Dann Script beenden (Mail wurde dann ja schon zuvor verschickt)

Wenn keine neue FW vorhanden
Und Systemvariable auf "neue FW"
Dann Systemvariable auf "keine neue FW" (dann wurde das Update ja bereits gemacht)



Man könnte sich auch zusätzlich eine weitere Systemvariable einbauen, die jedes mal wenn eine neue FW vorhanden ist und die Systemvariable schon auf "neue FW" steht einen höher zählt. So könnte man sich z.B. alle 5 Tage per Mail daran erinnern lassen, falls man das Update vergessen hat.

lötix
Beiträge: 347
Registriert: 10.03.2014, 18:41

Re: Skript für neue Firmware

Beitrag von lötix » 24.03.2015, 22:21

Naja, so oft kommt ja nix Neues. Nur die neue FW für den Zwischenstecker habe ich erst durch nen Beitrag im Forum gesehen. Wenn ich da einmal eine Pushmail bekomme und die Variable auf neu steht, ist ja der Zweck erfüllt und ich spüle sie ein, wenn ich Zeit habe.

mfg lötix

Benutzeravatar
thkl
Beiträge: 2765
Registriert: 15.07.2013, 13:32
Wohnort: dickes B
Danksagung erhalten: 5 Mal

Re: Skript für neue Firmware

Beitrag von thkl » 24.03.2015, 22:23

Achso, das ganze funktioniert natürlich nur für neue FW der CCU (und in dem Fall nur einer 2er CCU - die 1er haben eine anderen URL) .. ob es neue FW für Komponenten gibt kann man nicht so einfach prüfen. Dafür stellt, soweit ich das sehe, der Hersteller keine Checkroutine zur Verfügung.
Also fleissig weiter das Forum lesen :lol:

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“