Die WebUI zeigt, das für verschiedene Geräte neue Firmware-Versionen vorliegen.
Wie kann man aber per Script den Geräte-Firmware-Stand ermitteln.
Die aktuelle Liste der freigebenen Versionen erhalte ich per
https://ccu3-update.homematic.com/firmw ... rch/DEVICE.
Hat das jemand schonmal realisiert oder weiß wie das funktioniert?
Besten Dank vorab ......
Firmwareversion der angelernten Geräte per Script auslesen
Moderator: Co-Administratoren
-
- Beiträge: 12143
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2156 Mal
- Kontaktdaten:
Re: Firmwareversion der angelernten Geräte per Script auslesen
Für BidCos mache ich das so
Code: Alles auswählen
object oUser = dom.GetObject( system.GetSessionVar('sessionUserID') );
oUser.UserTempViewIDs3().RemoveAll();
string o;
string err;
string metaData;
string data;
foreach (o, root.Devices().EnumUsedIDs()) {
var dev = dom.GetObject(o);
var name = dev.Name();
var addr = dev.Address();
var iface = dom.GetObject(dev.Interface());
if ((iface.Name() == "BidCos-RF") &&
(addr.Length() == 10)) {
metaData = dev.MetaData("DEVDESC");
foreach (data, metaData.Split(",")) {
if (data.Substr(0,8) == "FIRMWARE") {
string fw = data.Replace("FIRMWARE:\"","");
fw = fw.Substr(0,fw.Length() -1);
}
if (data.Substr(0,10) == "RF_ADDRESS") {
string decimalAddress = data.Replace("RF_ADDRESS:","");
if (decimalAddress != "0") {
object oObj = dom.CreateObject(OT_XMLNODE);
oObj.Name(addr);
oObj.AddMetaData("NAME", dev.Name());
oObj.AddMetaData("FW", fw);
oUser.UserTempViewIDs3().Add(oObj.ID());
}
}
}
}
}
oUser.UserTempViewIDs3().SortByName();
string uid;
string rfaddresslist = "";
foreach (uid, oUser.UserTempViewIDs3().EnumIDs()) {
object o = dom.GetObject(uid);
rfaddresslist = rfaddresslist #o.Name()#", FW: "#o.MetaData("FW")#" ("#o.MetaData("NAME")#")\n";
dom.DeleteObject(o);
}
Write(rfaddresslist);