Neue Firmwareversion abfragen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

ehohz
Beiträge: 19
Registriert: 19.11.2015, 14:27

Neue Firmwareversion abfragen

Beitrag von ehohz » 11.06.2019, 19:04

Gibt es eine Möglichkeit per Skript oder Abfrage von Systemvariablen zu erkennen, ob eine neue Firmwareversion vorliegt?

Ebenfalls interessant wäre, ob die Anzahl möglich Geräte-Updates per Skript auslesbar sind?

roe1974
Beiträge: 518
Registriert: 17.10.2017, 16:15
Wohnort: Wien
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

Re: Neue Firmwareversion abfragen

Beitrag von roe1974 » 12.06.2019, 14:43

Für RM Firmware gibt es folgendes script (CUxD)

Code: Alles auswählen

! Firmwareupdate auslesen und reagieren (c) by Alchy
var url = "https://gitcdn.xyz/repo/jens-maus/RaspberryMatic/master/release/LATEST-VERSION.js";
dom.GetObject("CUxD.CUX2801001:14.CMD_SETS").State("cat /boot/VERSION");
dom.GetObject("CUxD.CUX2801001:14.CMD_QUERY_RET").State(1);
var sold = dom.GetObject("CUxD.CUX2801001:14.CMD_RETS").State().StrValueByIndex("=",1).Substr(0,16);
dom.GetObject("CUxD.CUX2801001:7.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:7.CMD_QUERY_RET").State(1);
var snew = dom.GetObject("CUxD.CUX2801001:7.CMD_RETS").State().StrValueByIndex("'",1);
dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU Firmware").State(sold);
if (sold.Find(snew) == 0) { WriteLine("Kein Update verfügbar");dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU Firmware Status").State(false);} 
else { WriteLine("Neuere Version vorhanden");dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU Firmware Status").State(true);}
lass ich 1x pro Tag (00h05) laufen.
Variablen:
"CCU Firmware" Typ Zeichenkette (Hier wird die aktuelle Version hineingeschrieben)
"CCU Firmware Status" Typ boolean (war="neue Version vorhanden", falsch="Version aktuell"

lg RIchard

Benutzeravatar
jmaus
Beiträge: 5553
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 11 Mal
Danksagung erhalten: 214 Mal
Kontaktdaten:

Re: Neue Firmwareversion abfragen

Beitrag von jmaus » 12.06.2019, 15:10

Das kann man IMHO auch einfacher bzw. ohne CUxD haben/machen:

Code: Alles auswählen

string newversion;
string curversion;
system.Exec("wget -q -O - --timeout=5 https://gitcdn.xyz/repo/jens-maus/RaspberryMatic/master/release/LATEST-VERSION.js | cut -d\\' -f2", &newversion);
system.Exec("grep VERSION= /VERSION | cut -d= -f2", &curversion);
boolean update = ( newversion.Trim() != curversion.Trim() );
dom.GetObject(ID_SYSTEM_VARIABLES).Get("CCU Firmware Status").State(update);
RaspberryMatic 3.49.17.20191225 @ ESXi mit ~160 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

Stefan_S82
Beiträge: 45
Registriert: 01.10.2016, 20:17
Danksagung erhalten: 1 Mal

Re: Neue Firmwareversion abfragen

Beitrag von Stefan_S82 » 12.06.2019, 17:11

jmaus hat geschrieben:
12.06.2019, 15:10
...ohne CUxD haben/machen:
Spannend. Hatte gestern noch über die alte, und gefühlt unendliche Diskussion erinnert, ob man WGET nun per CUXD abbilden sollte, oder nicht. Du hältst das also nicht für erforderlich, oder? Sind also die "alten" Probleme der Hänger gelöst, ja?

ehohz
Beiträge: 19
Registriert: 19.11.2015, 14:27

Re: Neue Firmwareversion abfragen

Beitrag von ehohz » 12.06.2019, 17:34

Danke für die Skripte. Hat geklappt.

Benutzeravatar
jmaus
Beiträge: 5553
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 11 Mal
Danksagung erhalten: 214 Mal
Kontaktdaten:

Re: Neue Firmwareversion abfragen

Beitrag von jmaus » 12.06.2019, 17:45

Stefan_S82 hat geschrieben:
12.06.2019, 17:11
jmaus hat geschrieben:
12.06.2019, 15:10
...ohne CUxD haben/machen:
Spannend. Hatte gestern noch über die alte, und gefühlt unendliche Diskussion erinnert, ob man WGET nun per CUXD abbilden sollte, oder nicht. Du hältst das also nicht für erforderlich, oder? Sind also die "alten" Probleme der Hänger gelöst, ja?
Gelöst ist relativ :9 Du hast natürlich recht (und das hatte ich übersehen), das ein zu langer wget Aufruf innerhalb eines system.Exec() ohne & am Ende prinzipiell die ReGaHss zum "hängen" bringen kann. Deshalb habe ich mein Skript noch einmal überarbeitet und ein "--timeout=5" hinzugefügt sodass ein wget nicht länger als 5 Sekunden brauchen darf und ansonsten abgebrochen wird.
RaspberryMatic 3.49.17.20191225 @ ESXi mit ~160 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

roe1974
Beiträge: 518
Registriert: 17.10.2017, 16:15
Wohnort: Wien
Hat sich bedankt: 8 Mal
Danksagung erhalten: 2 Mal

Re: Neue Firmwareversion abfragen

Beitrag von roe1974 » 12.06.2019, 19:03

ich mache alles mit CUxD ;-)

dtp
Beiträge: 7547
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 35 Mal
Danksagung erhalten: 101 Mal

Re: Neue Firmwareversion abfragen

Beitrag von dtp » 06.02.2020, 09:57

Kurze Frage. Kann ich die Firmware der CCU auch in entsprechender Weise direkt von einem anderen Rechner im lokalen Netz (z.B. über den ioBroker) abfragen?

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
jmaus
Beiträge: 5553
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 11 Mal
Danksagung erhalten: 214 Mal
Kontaktdaten:

Re: Neue Firmwareversion abfragen

Beitrag von jmaus » 06.02.2020, 11:00

dtp hat geschrieben:
06.02.2020, 09:57
Kurze Frage. Kann ich die Firmware der CCU auch in entsprechender Weise direkt von einem anderen Rechner im lokalen Netz (z.B. über den ioBroker) abfragen?
Was meinst du konkret? Du willst die Firmwareversion deiner CCU Abfragen oder du willst rausbekommen welche CCU Firmware gerade die aktuellste auf dem eQ3 server bzw. RaspberryMatic ist?!?
RaspberryMatic 3.49.17.20191225 @ ESXi mit ~160 HomeMatic Geräten + ioBroker – GitHubGitHub Sponsors / PayPalTwitter

dtp
Beiträge: 7547
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 35 Mal
Danksagung erhalten: 101 Mal

Re: Neue Firmwareversion abfragen

Beitrag von dtp » 06.02.2020, 12:23

Nee, ich wollte die aktuelle FW-Version meiner CCU abfragen.

In WebUI geht das ja sehr einfach mit

Code: Alles auswählen

string firmware;
system.Exec("grep VERSION= /VERSION | cut -d= -f2", &firmware);  
WriteLine(firmware);
Aber ich wollte diese Info gerne im ioBroker zur vis-Anzeige haben. Das einfachste wäre natürlich, die Info in eine Systemvariable der CCU zu schreiben, aber geht es ggf. auch direkt ohne Systemvariable?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Antworten

Zurück zu „RaspberryMatic“