Status Aktor-Firmware Update abfragen
Moderatoren: jmaus, Co-Administratoren
-
- Beiträge: 55
- Registriert: 11.11.2018, 23:24
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 14 Mal
Status Aktor-Firmware Update abfragen
Moin,
gibt es eine Möglichkeit per Script abzufragen ob der Upload eines Firmwareupdates abgeschlossen ist? (Also der Update-Button angezeigt wird...)
EDIT: Mögliche Lösung:
viewtopic.php?f=65&t=77314&start=10#p750516
.
.
gibt es eine Möglichkeit per Script abzufragen ob der Upload eines Firmwareupdates abgeschlossen ist? (Also der Update-Button angezeigt wird...)
EDIT: Mögliche Lösung:
viewtopic.php?f=65&t=77314&start=10#p750516
.
.
- Dateianhänge
-
- Screenshot 2022-12-30 at 11-22-01 RaspberryMatic WebUI.png (2.96 KiB) 948 mal betrachtet
Zuletzt geändert von regedit am 02.01.2023, 11:15, insgesamt 1-mal geändert.
-
- Beiträge: 9850
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 712 Mal
- Danksagung erhalten: 1671 Mal
Re: Status Aktor-Firmware Update abfragen
Du könntest den DutyCycle auswerten. Ist der längere Zeit wieder auf normal Niveau, dann ist die Übertragung wahrscheinlich beendet.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: Status Aktor-Firmware Update abfragen
Code: Alles auswählen
object dev = dom.GetObject(ID_DEVICES).Get("GERÄTENAME");
if (dev) {
string metaData = dev.MetaData("DEVDESC");
string data;
foreach (data, metaData.Split(",")) {
if (data.Substr(0,21) == "FIRMWARE_UPDATE_STATE") {
WriteLine(data);
}
}
}
Wenn als Ergebis
Code: Alles auswählen
FIRMWARE_UPDATE_STATE:"READY_FOR_UPDATE"
Weitere mögliche Rückgabewerte siehe hier:
https://github.com/eq-3/occu/blob/maste ... #L133-L181
-
- Beiträge: 348
- Registriert: 13.02.2018, 19:23
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 127 Mal
- Danksagung erhalten: 20 Mal
Re: Status Aktor-Firmware Update abfragen
Könnte man auch einen Fortschrittsbalken in Prozent integrieren?
Ist das überhaupt möglich das abzufragen?
Ist das überhaupt möglich das abzufragen?
Raspberry Pi 3 Model B Plus Rev 1.3 mit RPI-RF-MOD Funkmodul
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: Status Aktor-Firmware Update abfragen
Neinmbhomie007 hat geschrieben: ↑30.12.2022, 12:32Könnte man auch einen Fortschrittsbalken in Prozent integrieren?
Den Übertragungsfortschritt an sich nicht.
Nur dass noch eine Übertragung stattfindet (DELIVER_FIRMWARE_IMAGE)
-
- Beiträge: 55
- Registriert: 11.11.2018, 23:24
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 14 Mal
Re: Status Aktor-Firmware Update abfragen
Danke,
scheint bei mir aber nicht zu gehen. Kann es daran liegen, dass ich ne Beta-Firmware hochlade?
Auß_Briefkasten
FIRMWARE_UPDATE_STATE:"UP_TO_DATE"
Auß_Garage_Unterverteilung
FIRMWARE_UPDATE_STATE:"UP_TO_DATE"
scheint bei mir aber nicht zu gehen. Kann es daran liegen, dass ich ne Beta-Firmware hochlade?
Auß_Briefkasten
FIRMWARE_UPDATE_STATE:"UP_TO_DATE"
Auß_Garage_Unterverteilung
FIRMWARE_UPDATE_STATE:"UP_TO_DATE"
Code: Alles auswählen
[ADDRESS:"001F18xxxxxxxx",AES_ACTIVE:1,AVAILABLE_FIRMWARE:"0.0.0",CHILDREN:{"001F18xxxxxxxx:0","001F18xxxxxxxx:1","001F18xxxxxxxx:2","001F18xxxxxxxx:3","001F18xxxxxxxx:4","001F18xxxxxxxx:5","001F18xxxxxxxx:6"},DIRECTION:0,FIRMWARE:"1.0.16",FIRMWARE_UPDATE_STATE:"UP_TO_DATE",FLAGS:1,GROUP:"",INDEX:0,INTERFACE:"",LINK_SOURCE_ROLES:"",LINK_TARGET_ROLES:"",PARAMSETS:{"MASTER","SERVICE"},PARENT:"",PARENT_TYPE:"",RF_ADDRESS:xxxxxxx,ROAMING:0,RX_MODE:4,SUBTYPE:"FCI6",TEAM:"",TEAM_CHANNELS:{},TEAM_TAG:"",TYPE:"HmIP-FCI6",UPDATABLE:true,VERSION:1]
- Dateianhänge
-
- Screenshot 2022-12-31 at 09-43-59 RaspberryMatic WebUI.png (16.81 KiB) 810 mal betrachtet
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: Status Aktor-Firmware Update abfragen
Möglicherweise wieder eine Diskrepanz zwischen ReGaDom Metadaten und Schnittstellenprozess
Was kommt, wenn du das ausführtst?
snr oben noch durch die von deinem Gerät (001F18xxxxxxxx) anpassen
Was kommt, wenn du das ausführtst?
Code: Alles auswählen
string snr="000457098CEFA9";
string a;
system.Exec ("(echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2010/ getDeviceDescription [list string "#snr#"]]'|tclsh)",&a);
WriteLine(a);
-
- Beiträge: 55
- Registriert: 11.11.2018, 23:24
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 14 Mal
Re: Status Aktor-Firmware Update abfragen
Das scheint zu klappen
Code: Alles auswählen
ADDRESS 001F1xxxxxxFF9 AES_ACTIVE 1 AVAILABLE_FIRMWARE 1.0.18 CHILDREN {001F1xxxxxxFF9:0 001F1xxxxxxFF9:1 001F1xxxxxxFF9:2 001F1xxxxxxFF9:3 001F1xxxxxxFF9:4 001F1xxxxxxFF9:5 001F1xxxxxxFF9:6} DIRECTION 0 FIRMWARE 1.0.16
FIRMWARE_UPDATE_STATE DO_UPDATE_PENDING FLAGS 1 GROUP {} INDEX 0 INTERFACE {} LINK_SOURCE_ROLES {} LINK_TARGET_ROLES {} PARAMSETS {MASTER SERVICE} PARENT {} PARENT_TYPE {} RF_ADDRESS 76xxxxx ROAMING 0 RX_MODE 4 SUBTYPE FCI6 TEAM {} TEAM_CHANNELS {} TEAM_TAG {} TYPE HmIP-FCI6 UPDATABLE 1 VERSION 1
ADDRESS 001F1xxxxxxAD0 AES_ACTIVE 1 AVAILABLE_FIRMWARE 1.0.18 CHILDREN {001F1xxxxxxAD0:0 001F1xxxxxxAD0:1 001F1xxxxxxAD0:2 001F1xxxxxxAD0:3 001F1xxxxxxAD0:4 001F1xxxxxxAD0:5 001F1xxxxxxAD0:6} DIRECTION 0 FIRMWARE 1.0.16
FIRMWARE_UPDATE_STATE DELIVER_FIRMWARE_IMAGE FLAGS 1 GROUP {} INDEX 0 INTERFACE {} LINK_SOURCE_ROLES {} LINK_TARGET_ROLES {} PARAMSETS {MASTER SERVICE} PARENT {} PARENT_TYPE {} RF_ADDRESS 65xxxxx ROAMING 0 RX_MODE 4 SUBTYPE FCI6 TEAM {} TEAM_CHANNELS {} TEAM_TAG {} TYPE HmIP-FCI6 UPDATABLE 1 VERSION 1
-
- Beiträge: 12149
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 854 Mal
- Danksagung erhalten: 2157 Mal
- Kontaktdaten:
Re: Status Aktor-Firmware Update abfragen
Dann kannst du die Ausgabe ja dann weiterverarbeiten
Code: Alles auswählen
string snr="000457098CEFA9";
string a;
system.Exec ("echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2010/ getDeviceDescription [list string "#snr#"]]'|tclsh",&a);
string s;
boolean found;
foreach (s, a.Split(" ")) {
if (found == true) {
break;
}
if (s == "FIRMWARE_UPDATE_STATE") {
found=true;
}
}
if (s == "DO_UPDATE_PENDING") {
...
}
-
- Beiträge: 55
- Registriert: 11.11.2018, 23:24
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 14 Mal
Re: Status Aktor-Firmware Update abfragen
Danke, hab mich mal an einem anderen Code-Schnipsel von dir bedient.
Ich lass das Prog alle 8h laufen. Es durchläuft alle Geräte, wenn bei einem das Update übertragen ist, lasse ich mir eine Nachricht schicken.
Werde in ein paar Tagen berichten ob es klappt.
Ich lass das Prog alle 8h laufen. Es durchläuft alle Geräte, wenn bei einem das Update übertragen ist, lasse ich mir eine Nachricht schicken.
Werde in ein paar Tagen berichten ob es klappt.
Code: Alles auswählen
string out;
string err;
string o;
string fw;
foreach (o, devices.Get().EnumIDs()) {
var dev = dom.GetObject(o);
var name = dev.Name();
var addr = dev.Address();
var iface = dom.GetObject(dev.Interface());
! WriteLine(iface);
if ((iface.Name()=="HmIP-RF") || (iface.Name()=="BidCos-RF")) {
system.Exec("echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2010/ getDeviceDescription [list string "#addr#"]]'|tclsh", &out, &err);
string s;
boolean found;
foreach (s, out.Split(" ")) {
if (found == true) {
! WriteLine(name # ": " # s);
! if (s != "UP_TO_DATE") {
! WriteLine(name # ": " # s);
! }
if (s == "DO_UPDATE_PENDING") {
fw = "Update hochgeladen: " # name;
! WriteLine(name # ": " # s);
}
break;
}
if (s == "FIRMWARE_UPDATE_STATE") {
found=true;
}
}
}
}
if (fw) {
! Update ist übertragen, sende Nachricht ... ...
WriteLine(fw);
}