HomeMatic Firmware-Update als Pushover senden lassen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

DoHo
Beiträge: 3
Registriert: 26.03.2020, 19:11

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von DoHo » 12.08.2020, 13:58

Baxxy hat geschrieben:
20.04.2020, 16:44
Super. Ich habe hier noch ein wenig gebastelt. Kannst du ja mal testen. :)

Bei mir lief es auf Anhieb. Konnte es zwar "nur" mit manipulierten Firmwarevariablen testen, aber da sind alle Meldungen korrekt gekommen.

Danke für das Script!
Grüsse
DoHo

Mag1984
Beiträge: 5
Registriert: 18.01.2022, 08:35
System: Alternative CCU (auf Basis OCCU)

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Mag1984 » 18.01.2022, 08:46

Dragonfly hat geschrieben:
16.06.2017, 15:45
Da RaspberryMatic sein Update ja von anderer Stelle bezieht habe ich noch eine Kleinigkeit angefügt/rausgeschnitten:

Code: Alles auswählen

! CCU-Hardware
if (dom.GetObject("Hardware").Value() == 0) {var url = "http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345";};
if (dom.GetObject("Hardware").Value() == 1) {var url = "https://gitcdn.xyz/repo/jens-maus/RaspberryMatic/master/release/LATEST-VERSION.js";};
			
    ! 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);
    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, weil alt: "#sold #" und neu "#snew);
        } else {
         WriteLine("New Version, weil alt: "#sold #" und neu "#snew);
        }
Da ja kleine aber feine Unterschiede zwischen CCU und RM vorhanden sind, ich aber nicht bei einem Wechsel darauf achten will, ob alles was mal ging noch geht, dachte ich mir es wäre recht nett, die Hardware in einer Werteliste zu hinterlegen - 0=CCU, 1=RM

Jetzt fehlt zu meinem Glück nur noch, die Hardware automatisch auslesen zu lassen - hat hierzu jemand eine Idee?!
Hallo,
ich bin neu hier im Forum und wollte deinen Code für meine Raspberrymatic auf einem RasPi 3B+ verwenden. Leider sagt mir die Skript Fehleranalyse, dass die URL nicht erreichbar ist. Kann es sein dass sich die URL geändert hat oder mache ich etwas falsch?

VG
Mag

schlichi
Beiträge: 385
Registriert: 26.08.2016, 19:26
System: Alternative CCU (auf Basis OCCU)
Wohnort: Erding
Hat sich bedankt: 60 Mal
Danksagung erhalten: 26 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von schlichi » 18.01.2022, 12:06

Hallo,

..."oder mache ich etwas falsch?"
alchy hat geschrieben:
24.11.2016, 09:06
Ich habe das Script leicht modifiziert, um das zu vereinfachen
CCU2&serial=12345" sind anzupassen
Ist Dir das bekannt, bzw. hast Du das beachtet?

Gruß
schlichi
... inzwischen autodidakter, fortgeschrittener Anfänger mit bestandener Einstiegsprüfung für den Expertenmodus Teil 3 (erfahrener Anwender) :roll:

Mag1984
Beiträge: 5
Registriert: 18.01.2022, 08:35
System: Alternative CCU (auf Basis OCCU)

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Mag1984 » 18.01.2022, 21:08

schlichi hat geschrieben:
18.01.2022, 12:06
Hallo,

..."oder mache ich etwas falsch?"
alchy hat geschrieben:
24.11.2016, 09:06
Ich habe das Script leicht modifiziert, um das zu vereinfachen
CCU2&serial=12345" sind anzupassen
Ist Dir das bekannt, bzw. hast Du das beachtet?

Gruß
schlichi
Hallo,

danke für die Rückmeldung. Da es sich ja aber bei diesen Angaben um Angaben für die CCU URL und nicht für die der Raspberrymatic URL handelt sollte dies bei mir eigentlich nicht relevant sein oder? Die Zeile wird ja dann nicht verwendet oder?

Gruß
Mag


Mag1984
Beiträge: 5
Registriert: 18.01.2022, 08:35
System: Alternative CCU (auf Basis OCCU)

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von Mag1984 » 19.01.2022, 07:40

Baxxy hat geschrieben:
18.01.2022, 23:50
Mag1984 hat geschrieben:
18.01.2022, 08:46
Kann es sein dass sich die URL geändert hat oder mache ich etwas falsch?
Ja, die url ist jetzt...
Vielen Dank. Jetzt läuft es.

Gruß
Mag

falcom
Beiträge: 8
Registriert: 28.11.2021, 21:16
System: CCU
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von falcom » 21.05.2022, 20:48

Theoretisch könnte man den oberen Teil von dem Code doch auch so umstellen, dass man nicht auf einen neue Firmware für die CCU prüft, sondern auf ein bestimmtes Gerät welches an der CCU angemeldet ist?

Also die URL habe ich schonmal angepasst bekommen aber beim Rest darüber hört´s auf :? Wenn mir jemand helfen könnte wäre es prima.
Da gerade bei dem Heizkörperthermostat EVO ein Firmware Update verfügbar ist, und sich das Ergebnis von der Überprüfung somit gut testen ließe, würde ich dieses Gerät mal als Beispiel nehmen.

Danke

! Firmwareupdate auslesen und reagieren (c) by Alchy
string slist = "";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS").State("cat /boot/VERSION");
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var sold = dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("=",1);
var url = "https://update.homematic.com/firmware/d ... PEQ1234567";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
var snew = dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_RETS").State().StrValueByIndex("'",1);
if (sold.Find(snew)==0) {
slist = "kein Update, weil alt: "#sold #" und neu "#snew;
} else {
slist = "neues Update, weil alt: "#sold #" und neu "#snew;
}

WriteLine(slist);

Code: Alles auswählen

! Firmwareupdate auslesen und reagieren (c) by Alchy
string slist = "";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS").State("cat /boot/VERSION");
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var sold = dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("=",1);
var url = "https://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
var snew = dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_RETS").State().StrValueByIndex("'",1);
if (sold.Find(snew)==0) {
slist = "kein Update, weil alt: "#sold #" und neu "#snew;
} else {
slist = "neues Update, weil alt: "#sold #" und neu "#snew;
}

WriteLine(slist);

scav
Beiträge: 80
Registriert: 26.09.2015, 16:26
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von scav » 28.04.2023, 14:35

Gibt es eine Möglichkeit die aktuelste CCU3 Firmware anzeigen zu lassen?

Hab's mit "https://update.homematic.com/firmware/d ... 3&serial=0" versucht, ergibt aber nur einen Fehler...

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

Re: HomeMatic Firmware-Update als Pushover senden lassen

Beitrag von alchy » 28.04.2023, 21:55

Code: Alles auswählen

https://update.homematic.com/firmware/download?cmd=js_check_version&version=3.21.00&product=HM-CCU3&serial=99A99B99CD
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.

Antworten

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