[GELÖST] Softwareversion auslesen

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

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
AndiN
Beiträge: 2622
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Softwareversion auslesen

Beitrag von AndiN » 23.12.2017, 12:31

Code: Alles auswählen

! Version prüfen
! ==============
! CCU-Hardware
string tmpD= "cat /boot/VERSION";
string tmpE;
string tmpF;
system.Exec(tmpD, &tmpE, &tmpF);
integer tmpG= tmpE.Length();
if (tmpE.Length() < 18) {var tmpA = "http://update.homematic.com/firmware/download?cmd=js_check_version&version=12345&product=HM-CCU2&serial=12345";}
else {var tmpA = "https://gitcdn.xyz/repo/jens-maus/RaspberryMatic/master/release/LATEST-VERSION.js";}
         
! Firmwareupdate auslesen und reagieren (c) by Alchy
var tmpB;
system.Exec("cat /boot/VERSION | cut -d'=' -f2", &tmpB);

dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#tmpA#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
var tmpC= dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State().StrValueByIndex("'",1);
if (tmpB.Find(tmpC)==0) {WriteLine("No Update, weil alt: "#tmpB#" und neu "#tmpC);
dom.GetObject("SV_Update_vorhanden").State(true);
dom.GetObject("SV_Update_Version").State("kein Update vorhanden");} 
else 
{WriteLine("New Version, weil alt: "#tmpB#" und neu "#tmpC);
dom.GetObject("SV_Update_vorhanden").State(false);
dom.GetObject("SV_Update_Version").State("Update vorhanden: "#tmpC);}

WriteLine(dom.GetObject("SV_Update_vorhanden").State());
Keine Ahnung an welcher Stelle das mal komplett oder in Fragmenten gepostet wurde. Teile sind von Alchy, ein Teil von Jens.
tmpC ist auf jedenfall die Version aus dem Netz.

Ich habe noch die Systemvariable "SV_Update_vorhanden" Boolean genommen um bei einem vorhandenen Update darauf zu reagieren. Bsp. Sprachansage oder im Tablet wird das entsprechend angezeigt.

Die Sytemvariable "SV_Update_Version" ist nur als Text "Update vorhanden: XXXXX" oder "Kein Update vorhanden"

In dem Zusammenhang die Frage an die Cracks. Wieso ist hinter tmpC ein Umbruch?

Code: Alles auswählen

WriteLine(tmpC);
WriteLine("----");
und es kommt

Code: Alles auswählen

VERSION

-----
raus. D.h. es gibt doch inter tmpC einen Umbruch?

Eine besinnliche und schöne Weihnachtszeit wünsch ich Euch allen.

Andi
Andi (Greenhorn)

Letzter Reboot: 01.06.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.7.20240601 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

Re: [GELöST] Softwareversion auslesen

Beitrag von dll-live » 24.12.2017, 02:00

Sali Andi

Besten Dank für den Code.
Da mein Live-Raspmatic kein Internet zugriff haben wird (wenn mein Netzwerk nach meinen Vorstellungen umgebaut ist). Habe ich mir ein Script auf dem "normalen" Pi zusammen gezimmert. Der Code war sehr hilfreich und ohne Ihn, hättei ch das so nicht hinbekommen....

Im Anhang ist das Script - es kann sicher noch Verbesserungspotential....

Gruss Dani
HM_Version.txt
(673 Bytes) 85-mal heruntergeladen

Antworten

Zurück zu „RaspberryMatic“