HC2 Update auf 4.110 Stable

In dem Beispiel von Matthias ist ja auch ein Part für eine normale Szene vorhanden :slight_smile: Danke dafür…

HomeCenter.SystemService.reboot();

Gruß

Und wer sich fragt, was mach beim Update beachten sollte:
https://forum.fibaro.com/index.php?/topic/23474-chaickas-update-procedure/:

Performed the usual ‘HC2 Update’ SOP steps I have been using for many releases now:

Perform a configuration backup,
Reboot HC2 (logic: flush out non-visible stuffs such as abnormalities, cache, hung processor threads, etc),
Sanity Check for 5-15 minutes (logic: reboot usually boots up fine but just in case of unforeseeable abnormal behaviour),
Proceed to firmware update,
Clear web browser cache,
Terminate web browser,
Relaunch web browser,
Repeat step 5-7 if firmware update still in progress,
Change Freeze for 1 hour (logic: allows non-visible backend scripts/processes to complete any conversions, system changes, etc that the new firmware has to perform).

All credit goes to @chaicka. Thanks!

Hier noch zur Vervollständigung die Shutdown-Scene, die ich im Einsatz habe, wenn beim Stromausfall meine USV anspringt (wird über ein Türsensor mit einem Ruhestromrelais getriggert):

–[[
%% properties
%% events
%% globals
–]]

– Shutdown system

fibaro:setGlobal(“Neustart”,1)
fibaro:call(2, “sendDefinedEmailNotification”, “556”);
fibaro:call(638, “sendDefinedPushNotification”, “556”);
fibaro:call(455, “sendDefinedEmailNotification”, “556”);
fibaro:sleep(10*1000);
HomeCenter.SystemService.shutdown();

Dann fährt mein HC2 nach x Minuten sauber runter und meldet mir das per Push und Mail … :slight_smile:

Hatte auch mal eine Szene die geht nicht mehr.
Aus deiner kann ich raus Lessen:
Neustart ok
call 2 Email ok
call 638 Push ok
call 455 Email ok
Sleep ok
Den Rest weis ich nicht, gibt es den nicht die Möglichkeit die alte Szene zu erneuern das diese läuft.

--[[
%% properties

%% globals
--]]
 
function postMethod(data) 
    local http = net.HTTPClient() 
  
      http:request("http://127.0.0.1:11111/api/settings/reboot", { 
        options = { 
            method = 'POST', 
              headers = {}, 
              data = data.payload, 
              timeout = data.timeout or 5000 }, 
        success = data.success, 
          error = function(err) 
            print('[ERROR] ' .. err) 
        end 
    }) 
end
    
    fibaro:debug("HC2 wird jetzt neu gestartet...")
    fibaro:sleep(3000)
    postMethod("reboot")


Hi,

den Neustart führst du mit HomeCenter.SystemService.shutdown(), bzw. HomeCenter.SystemService.reboot() durch. Der Rest ist für dich nicht interessant, weshalb deine Szene nicht angepasst werden muss.

Gruß

Habe meine Szene nicht selber geschrieben ich kenne mich mit dieser leider nicht aus, hat aber funktioniert.
Was muss ich von den beiden Befehlen , und wo, in was für einer Zeile einbauen das die Funktion der Scene wieder geht das ist die Frage.
Wenn du mir weiterhelfen willst kannst du das machen.

nimm einfach die Benachrichtigungen aus der Scene, weil für dich uninteressant:

Scene Shutdown:

–[[
%% properties
%% events
%% globals
–]]

— Shutdown system

fibaro:sleep(10*1000);
HomeCenter.SystemService.shutdown();

Scene Reboot:

–[[
%% properties
%% events
%% globals
–]]

— Reboot system
fibaro:sleep(10*1000);
HomeCenter.SystemService.reboot();

Reboot in einem VD: (hier IP-Adresse, Benutzerkennung und Benutzerpasswort anpassen!)

HC2 = Net.FHttp(„xxx.xxx.xxx.xxx“);
HC2:setBasicAuthentication(„adminuser“,“adminpasswort“);

response, status, errorCode = HC2:POST(„/api/service/reboot“, „data=reboot“);

if errorCode == 0 then
fibaro:log(status);
else
fibaro:log(„error“);
end

Da tut sich aber nichts

–[[
 %% properties
 %% events
 %% globals
–]]

— Shutdown system

fibaro:sleep(10*1000);
 HomeCenter.SystemService.shutdown();

Scene Reboot:

Und hier habe ich das rausgenommen geht auch nicht:

–[[
 %% properties
 %% events
 %% globals
–]]

— Reboot system
 fibaro:sleep(10*1000);
 HomeCenter.SystemService.reboot();

response, status, errorCode = HC2:POST(„/api/service/reboot“, „data=reboot“);

if errorCode == 0 then
 fibaro:log(status);
 else
 fibaro:log(„error“);
end

–[[
%% properties
%% events
%% globals
–]]

— Shutdown system

fibaro:sleep(10*1000);
HomeCenter.SystemService.shutdown();

–[[
%% properties
%% events
%% globals
–]]

— Reboot system
fibaro:sleep(10*1000);
HomeCenter.SystemService.reboot();

HC2 = Net.FHttp(„xxx.xxx.xxx.xxx“);
HC2:setBasicAuthentication(„adminuser“,“adminpasswort“);

response, status, errorCode = HC2:POST(„/api/service/reboot“, „data=reboot“);

if errorCode == 0 then
fibaro:log(status);
else
fibaro:log(„error“);
end

die Scenen und das VD bitte nicht mixen… hab doch extra drübergeschrieben, was was ist…

Ich habe den oberen Post von Matthias formatiert, dann sollte es klarer sein, was er meint.

@Matthias: Bevor Du den Code einfügst, drücke bitte den Code-Button (oberhalb dieser Textbox) und zum Ende des Codes, erneut den Code-Button drücken.

@ Matthias: Bevor Du den Code einfügst, drücke bitte den Code-Button (oberhalb dieser Textbox) und zum Ende des Codes, erneut den Code-Button drücken.

sorry, mach ich beim nächsten Mal… Hier aber mal ein paar Screenshots:

… der Rest

Kommt ein Fehler im Debug:[DEBUG] 20:05:55: line 1: unexpected symbol near char(226)

–[[
 %% properties
 %% events
 %% globals
–]]

— Reboot system
 fibaro:sleep(10*1000);
 HomeCenter.SystemService.reboot();

@ Hoggle, kannst du bitte meine png löschen?