Neue Firmwareversion abfragen

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

Moderatoren: jmaus, Co-Administratoren

Antworten
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: 349
Registriert: 17.10.2017, 16:15
Wohnort: Wien

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: 4596
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
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.45.7.20190511 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

Stefan_S82
Beiträge: 32
Registriert: 01.10.2016, 20:17

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: 4596
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
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.45.7.20190511 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

roe1974
Beiträge: 349
Registriert: 17.10.2017, 16:15
Wohnort: Wien

Re: Neue Firmwareversion abfragen

Beitrag von roe1974 » 12.06.2019, 19:03

ich mache alles mit CUxD ;-)

Antworten

Zurück zu „RaspberryMatic“