VIS – Reboot Linux über die Visualisierung

In diesem kleinen Artikel zeige ich Dir, wie Du dein Linux System (z.B. Raspberry PI) direkt über eine VIS View rebooten kannst. 
Im ersten Schritt legen wir uns einen beliebigen Datenpunkt in den Objekten an, mit dem wir später den Neustart über die View starten können. Ich habe in meinen Objekten dazu folgenden Datenpunkt angelegt:

Datenpunkte.0.System.pi.reboot

 

In den Objekten sehen wir jetzt den erstellten Datenpunkt.

 

Im nächsten Schritt öffnen wir die gewünschte View in VIS und legen auf die View ein Widget vom hqWidgets on/off.

 

Nach dem Markieren des Widgets können wir die zu schaltende Object ID (Datenpunkte.0.System.pi.reboot) eintragen. Zudem muss im Bereich Wert die CheckBox „Taster“ aktiviert werden. Dadurch wird in das Objekt „Datenpunkte.0.System.pi.reboot“ mit dem Klick kurz „true“ und dann wieder „false“ eingetragen. Zudem habe ich das Kleinbild des Widgets angepasst, da ich hier ein Lampen-Symbol weniger passend finde 😉

 

Im nächsten Schritt legen wir uns nun ein neues JavaScript an, in das wir folgenden Code einfügen:

function rebootPi() { 
  log('reboot linux system', 'info'); 
  exec('sudo shutdown -r now'); 
} 

on({id: 'Datenpunkte.0.System.pi.reboot', val: true, change: 'ne'}, function (obj) { 
  rebootPi(); 
}); 

Im Script wurde eine Subscription auf den angelegten Datenpunkt angelegt, welche nur auslöst, wenn der Datenpunkt auf „true“ steht. Der Body der Subscription führt dann die Funktion rebootPi() aus, welche zunächst in das ioBroker Log einen Eintrag schreibt und dann per exec() Funktion das entsprechende Linux Kommando für den Neustart ausführt.

Nach dem Speichern können wir das Script direkt aktivieren. Für einen ersten Test würde ich noch den eigentlichen Neustart auskommentieren und einmal prüfen ob der Eintrag in das Log geschrieben wird. Um das Script nutzen zu können muss zudem die Ausführung der exec() Funktion in den JavaScript-Adapter Einstellungen aktiviert werden.

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

2 Gedanken zu „VIS – Reboot Linux über die Visualisierung

  • 13. März 2019 um 17:21
    Permalink

    Hallo Matthias,

    ich habe versucht deine Lösung mit den Reboot-Button unter ioBroker nachzubauen jedoch es gibt bei mir ein Problem mit dem JS-Skript und zwar erhalten ich zwei Meldungen:

    Zeile 1: Cannot find name „pre“
    Zeile 9: Cannot find name „rebootPi“

    Was kann/ soll ich bei Zeile 1 machen bzw. Zeile 9 bezieht sich doch auf den Funktionsnamen in Zeile 2 in deinem Skript oder?

    function rebootPi() {
    log(‚reboot linux system‘, ‚info‘);
    exec(’sudo shutdown -r now‘);
    }

    on({id: ’systeminfo.0.pi.reboot‘, val: true, change: ’ne‘}, function (obj) { rebootPi();
    });

    Ich bitte um Hilfestellung.
    Danke und Gruß Katsche

    Antwort
    • 13. März 2019 um 20:45
      Permalink

      Hallo,

      sorry, das war ein Fehler im Script der Website. Bitte verwende jetzt den aktuellen Code, dann sollte es passen.

      Grüße,
      Matthias

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere