HomeMatic Firmware-Update als Pushover senden lassen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Dragonfly » 13.09.2016, 17:30

Hallo Leute!

Hatten wir sowas schonmal?
Ich hätte nämlich gerne, daß die CCU mir eine Push sendet, wenn eine neue Firmware auf dem Markt ist....

Ich bin gerne Versuchkaninchen :mrgreen:

LG Tom


Xel66
Beiträge: 14164
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 585 Mal
Danksagung erhalten: 1500 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Xel66 » 13.09.2016, 19:20

Dragonfly hat geschrieben:Ich hätte nämlich gerne, daß die CCU mir eine Push sendet, wenn eine neue Firmware auf dem Markt ist....
Die Firmwareprüfung erfolgt im Browser und setzt diese Information in der CDU. Das kann man sehr gut ausprobieren, wenn man einen Browser mit Scriptfilter benutzt und nur Scripts der CDU-IP zulässt. Habe jetzt die URL nicht im Kopf, aber die Prüfung erfolgt auf einer externen Seite. Auch bei Netzen ohne Internetzugriff erfolgt keine Updateprüfung. Daraus folgt, dass die Info nur kommen könnte, wenn jemand mit einem Browser das GUI besucht. Von sich aus prüft die CCU nicht, kann demzufolge auch nicht informieren.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Dragonfly » 13.09.2016, 19:49

Danke!

Code: Alles auswählen

http://update.homematic.com/firmware/download?cmd=js_check_version&version="+WEBUI_VERSION+"&product=HM-CCU2&serial=" + serial;
wenn ich hier das draus mache:

Code: Alles auswählen

http://update.homematic.com/firmware/download?cmd=js_check_version&version=xxx&product=HM-CCU2&serial=xxx
bekomme ich schonmal was zum Arbeiten zurück...

Jetzt bräuchte ich nur noch einen Tipp, wie ich am elegantesten an die installierte FW-Version komme....


Dann könnt ich ein Scriptchen basteln, welches die CCU-FW-Versionen vergleicht und bei Änderung eine SysVar (FW-Update: ja/nein) setzt - diese löst dann bei Änderung eine Push aus.
Leider halt nur Shell - wenn also ein TCL-Profi hier ist :wink:

LG

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Dragonfly » 14.09.2016, 14:43

So, bin Dank Uwe wieder etwas weiter:

die installierte FW findet man in /boot/VERSION
da ist dann das drinnen:

Code: Alles auswählen

VERSION=2.21.10
mit obigen Link bekommt man das zurück:

Code: Alles auswählen

homematic.com.setLatestVersion('2.21.10', 'HM-CCU2');
jetzt geht es nur um ein paar code-zeilen zusammen - wie lese ich die zwei aus und extrahiere die FW?!

so sollte es letztendlich in etwa werden:

Code: Alles auswählen

var fw_ccu = "2.21.10";
var fw_online = "2.21.10";
var fw_up = "";
if (fw_ccu == fw_online) {fw_up = 0;} else {fw_up = 1;}
WriteLine(fw_up);
if (dom.GetObject("FW-Update").Value() != fw_up) {dom.GetObject("FW-Update").State(fw_up);}
vielleicht erbarmt sich ein Auskenner mit ein paar Hinweisen, damit ich die Zeit mit meinen Kindern verbringen kann, anstatt mit der CCU :?

LG tom

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von alchy » 14.09.2016, 15:59

So sollte es gehen, theoretisch. :|

Code: Alles auswählen

! Firmwareupdate auslesen und reagieren (c) by Alchy
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /boot/VERSION");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var sold = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("=",1);
var url = "http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
var snew = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State().StrValueByIndex("'",1);
if (sold.Find(snew)==0) {
     WriteLine("No Update");
    } else {
     WriteLine("New Version");
    }
Statt der WriteLines kannst du dann pushen mailen oder Lichter blinken lassen. :mrgreen:
Und nun raus zu den Kindern. :mrgreen:

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Dragonfly » 14.09.2016, 16:40

Mein Held!

Ich hab das ganze noch mit curl und einem eigenem Timeout verändert:

Code: Alles auswählen

    dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /boot/VERSION");
    dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
    var sold = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("=",1);
    var url = "http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345";
    var cURL="LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
    dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State(cURL#" -s -m 10 '"#url#"'");
    dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
    var snew = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State().StrValueByIndex("'",1);
    if (sold.Find(snew)==0) {
         WriteLine("No Update");
        } else {
         WriteLine("New Version");
        }
Bekomme auch schön "No Update" zurück - vielleicht kann das noch jemand nachprüfen, bei dem eines ansteht.

Danke!!!!

Benutzeravatar
Samson71
Beiträge: 1513
Registriert: 12.02.2014, 20:51
Wohnort: Niedersachsen
Hat sich bedankt: 51 Mal
Danksagung erhalten: 185 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Samson71 » 14.09.2016, 16:55

Bei mir auch "No Update". Kann aber nicht sein bei 2.15.5
Gruß, Markus

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Dragonfly » 14.09.2016, 16:57

Auch bei Alchys original?
nicht, daß ich was verhaut habe!

Benutzeravatar
Samson71
Beiträge: 1513
Registriert: 12.02.2014, 20:51
Wohnort: Niedersachsen
Hat sich bedankt: 51 Mal
Danksagung erhalten: 185 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Samson71 » 14.09.2016, 16:59

Dragonfly hat geschrieben:Auch bei Alchys original?!
Jupp, auch da :(
Gruß, Markus

Antworten

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