HomeMatic Firmware-Update als Pushover senden lassen
Moderator: Co-Administratoren
Re: HomeMatic Firmware-Update als Pushover senden lassen
Der Link "http://update.homematic.com/firmware/do ... rial=12345" um die aktuelle CCU2 Firmware version angezeigt zubekommen, funzt nicht mehr.
Hat jemand einen alternativen Link dafür?
Hat jemand einen alternativen Link dafür?
Re: HomeMatic Firmware-Update als Pushover senden lassen
Hab die Lösung gefunden, man muß nur die "version" und "serial" mit gültigen Werten ersetzen und schon läufts wieder.
Poste hier mal meinen Script, falls einer interessiert ist (der Script ist nicht von mir alleine, hab nur verschiedene Scripts hier aus dem Thread zusammengefügt und für meine Zwecke angepasst.
Man muß nur eine Systemvariable mit dem Namen "SV Latest Update" erstellen, die beiden Token und Benutzernamen im pushover Script und den CUxD Kanal anpassen und fertig.
Poste hier mal meinen Script, falls einer interessiert ist (der Script ist nicht von mir alleine, hab nur verschiedene Scripts hier aus dem Thread zusammengefügt und für meine Zwecke angepasst.
Code: Alles auswählen
! Check if there is a new CCU2 firmware available ----------------------------------------------------------------------
string LatestUpdate = dom.GetObject("SV Latest Update");
string Serial;
object Dev;
! Get CCU2 serial ----------------------------------------------------------------------------------------------
Dev = devices.Get("CCU2");
string MetaData = Dev.MetaData("DEVDESC");
integer Pos = MetaData.Find("INTERFACE:");
if(Pos >= 0)
{Serial = MetaData.Substr((Pos + 11 ),10);}
! Check installed firmware version -----------------------------------------------------------------------------
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("cat /boot/VERSION");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var CurrentInstalled = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("=",1);
integer CurrentLength = CurrentInstalled.Length() - 1;
CurrentInstalled = CurrentInstalled.Substr(0, CurrentLength);
! Check latest firmware version --------------------------------------------------------------------------------
var url = "http://update.homematic.com/firmware/download?cmd=js_check_version&version=" # CurrentInstalled # "&product=HM-CCU2&serial=" # Serial;
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var LatestOnline = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex("'",1);
! Check if LatestOnline is a valid string ----------------------------------------------------------------------
var CheckVar = LatestOnline.Substr(0,2);
if (CheckVar != "2.")
{
string Message = "INFO: Checking for latest CCU2 update failed!";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=aTfmaDJHTC9cqcyY8bP6fkKc25Mo91 -d user=u74VKXFbxr1ZNCzhWxbtsKWxTkp6pf -d message='"#Message#"' -d priority=0 https://api.pushover.net/1/messages.json &");
quit;
}
! Check if SV is set and if not, do it -------------------------------------------------------------------------
if ((LatestUpdate.Value() == "") || (LatestUpdate.Value() == "???"))
{LatestUpdate.State(CurrentInstalled);}
! Update SV in case if firmware has been updated ---------------------------------------------------------------
if ((CurrentInstalled == LatestOnline) && (LatestUpdate.Value() != CurrentInstalled))
{LatestUpdate.State(CurrentInstalled);}
! Send notification if new firmware is available and update SV -------------------------------------------------
if ((LatestUpdate.Value() != LatestOnline) && (CurrentInstalled != LatestOnline))
{
string Message = "INFO: New CCU2 firmware available:\r\nInstalled version: " # CurrentInstalled # "\r\nLatest available: " # LatestOnline;
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=aTfmaDJHTC9cqcyY8bP6fkKc25Mo91 -d user=u74VKXFbxr1ZNCzhWxbtsKWxTkp6pf -d message='"#Message#"' -d priority=0 https://api.pushover.net/1/messages.json &");
LatestUpdate.State(LatestOnline);
}
Re: HomeMatic Firmware-Update als Pushover senden lassen
Ich bin einfach zu dumm dazu
Ich kann tun und machen was ich will.
Ich bekomme einfach keine Mitteilung........
Gut, lebensnotwendig ist das jetzt wirklich nicht.
Wäre halt ein schönes Gadget.
Gruß,
Mathias
Ich kann tun und machen was ich will.
Ich bekomme einfach keine Mitteilung........
Gut, lebensnotwendig ist das jetzt wirklich nicht.
Wäre halt ein schönes Gadget.
Gruß,
Mathias
-
- 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
Dumm?
Eines machst du jedenfalls falsch.
Wenn ein Script nicht funktioniert postet man das Fehlerprotokoll vom Zeitpunkt der Ausführung und einen Link auf das Script bzw. wenn geändert dann das verwendete Script in Codetags. Ausserdem das Programm als Bildschirmcopy angegangen. Und weil hier im Script curl im Spiel ist, ist es erst Recht hilfreich die CCU FW Version zu posten.
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.
Re: HomeMatic Firmware-Update als Pushover senden lassen
@Alchy
Bin leider noch nicht dazu gekommen.
Stecke gerade in anderen Dingen fest.
Sobald ich dazu komme melde ich mich.
Gruß,
Mathias
Bin leider noch nicht dazu gekommen.
Stecke gerade in anderen Dingen fest.
Sobald ich dazu komme melde ich mich.
Gruß,
Mathias
Re: HomeMatic Firmware-Update als Pushover senden lassen
Hallo,
bei mir leider das gleiche Ergebnis: Das Script läuft nicht durch. Ich habe deshalb zur Fehlersuche ein paar Writeline eingefügt.
Dabei habe ich (hoffentlich) den 1. Fehler gefunden:
Die Zeile
string LatestUpdate = dom.GetObject("CCU SV Latest Update");
müsste korrekt lauten
string LatestUpdate = dom.GetObject("CCU SV Latest Update").Value();
Die Serial wird nicht ermittelt. Was da falsch im Script ist, habe ich leider noch nicht gefunden.
Wenn ich meine korrekte Serial direkt im Script angebe, läuft die Anfrage korrekt durch und ich erhalte die richtige Antwort vom Update-Server.
Kann sich bitte jemand das Script (die Ermittlung der Serial) noch mal ansehen?
Vielen Dank!
kpm
bei mir leider das gleiche Ergebnis: Das Script läuft nicht durch. Ich habe deshalb zur Fehlersuche ein paar Writeline eingefügt.
Dabei habe ich (hoffentlich) den 1. Fehler gefunden:
Die Zeile
string LatestUpdate = dom.GetObject("CCU SV Latest Update");
müsste korrekt lauten
string LatestUpdate = dom.GetObject("CCU SV Latest Update").Value();
Die Serial wird nicht ermittelt. Was da falsch im Script ist, habe ich leider noch nicht gefunden.
Wenn ich meine korrekte Serial direkt im Script angebe, läuft die Anfrage korrekt durch und ich erhalte die richtige Antwort vom Update-Server.
Kann sich bitte jemand das Script (die Ermittlung der Serial) noch mal ansehen?
Vielen Dank!
kpm
Zuletzt geändert von kpm am 14.02.2020, 22:28, insgesamt 2-mal geändert.
-
- 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
Welches der Scripte?
und wieso?
Man könnte optimaler Weise
Code: Alles auswählen
object LatestUpdate = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("CCU SV Latest Update");
Ansonsten musst du natürlich Bedingungen erfüllen. Systemvariable SV Latest Update muss da sein, der CCU Name in Dev = devices.Get("CCU2");
muss stimmen.....
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.
Re: HomeMatic Firmware-Update als Pushover senden lassen
Hallo alchy,
ich meine das Script von scav vom 20.12.2019.
Ich habe meinen Beitrag soeben noch mal editiert. Die SV "CCU SV Latest Update" ist vorhanden.
Die Änderung hier noch mal:
Die Serial wird nicht ermittelt. Was da falsch im Script ist, habe ich leider noch nicht gefunden.
Wenn ich meine korrekte Serial direkt im Script angebe, läuft die Anfrage korrekt durch und ich erhalte die richtige Antwort vom Update-Server.
Könntest Du Dir bitte das Script (die Ermittlung der Serial) noch mal ansehen?
Danke schon mal.
kpm
ich meine das Script von scav vom 20.12.2019.
Ich habe meinen Beitrag soeben noch mal editiert. Die SV "CCU SV Latest Update" ist vorhanden.
Die Änderung hier noch mal:
Die Serial wird nicht ermittelt. Was da falsch im Script ist, habe ich leider noch nicht gefunden.
Wenn ich meine korrekte Serial direkt im Script angebe, läuft die Anfrage korrekt durch und ich erhalte die richtige Antwort vom Update-Server.
Könntest Du Dir bitte das Script (die Ermittlung der Serial) noch mal ansehen?
Danke schon mal.
kpm
-
- 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
1. nicht mein Script
2. Du brauchst das doch gar nicht. Die Seriennummer muss nicht stimmen.
naja, auf die Schnelle:
Theoretisch sollte der Code stimmen, aber ist der Name deiner CCU (und zwar der RF Teil !) denn wie im Script angegeben CCU2
Alchy
2. Du brauchst das doch gar nicht. Die Seriennummer muss nicht stimmen.
naja, auf die Schnelle:
Theoretisch sollte der Code stimmen, aber ist der Name deiner CCU (und zwar der RF Teil !) denn wie im Script angegeben CCU2
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.
Re: HomeMatic Firmware-Update als Pushover senden lassen
Na ja, Du hast schon Recht.
Meine Serial ändert sich ja nicht - da brauche ich sie auch nicht jedes Mal neu ermitteln. Der feste Eintrag im Script reicht.
Danke - und schönes Wochenende!
kpm
Meine Serial ändert sich ja nicht - da brauche ich sie auch nicht jedes Mal neu ermitteln. Der feste Eintrag im Script reicht.
Danke - und schönes Wochenende!
kpm