Neue Firmwareversion abfragen
Moderatoren: jmaus, Co-Administratoren
Neue Firmwareversion abfragen
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?
Ebenfalls interessant wäre, ob die Anzahl möglich Geräte-Updates per Skript auslesbar sind?
- roe1974
- Beiträge: 746
- Registriert: 17.10.2017, 16:15
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wien
- Hat sich bedankt: 52 Mal
- Danksagung erhalten: 13 Mal
Re: Neue Firmwareversion abfragen
Für RM Firmware gibt es folgendes script (CUxD)
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
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);}
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
- jmaus
- Beiträge: 9844
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: Neue Firmwareversion abfragen
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.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 115
- Registriert: 01.10.2016, 20:17
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 10 Mal
Re: Neue Firmwareversion abfragen
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?
- jmaus
- Beiträge: 9844
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: Neue Firmwareversion abfragen
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.Stefan_S82 hat geschrieben: ↑12.06.2019, 17:11Spannend. 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?
RaspberryMatic 3.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Neue Firmwareversion abfragen
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
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- jmaus
- Beiträge: 9844
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 462 Mal
- Danksagung erhalten: 1863 Mal
- Kontaktdaten:
Re: Neue Firmwareversion 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.75.6.20240316 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
-
- Beiträge: 10658
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 320 Mal
- Danksagung erhalten: 501 Mal
Re: Neue Firmwareversion abfragen
Nee, ich wollte die aktuelle FW-Version meiner CCU abfragen.
In WebUI geht das ja sehr einfach mit
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?
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);
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.