BLOG

Computer & Software => LINUX => Thema gestartet von: Jo am 2021-02-21 | 11:05:29

Titel: ioBroker Pi4 Reboot per Vis
Beitrag von: Jo am 2021-02-21 | 11:05:29
Raspberry Pi über VIS per Datenpunkt rebooten


Dann ein neues JavaScript anlegen (pi.reboot) und folgenden Code einfügen:
function rebootPi() {
  log('Reboot Linux system by button', 'info');
  setState("0_userdata.0.Datenpunkte.0.System.pi.reboot", false, true);
  exec('sudo reboot');
}

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

Im Skript ist eine Subscription auf den pi.reboot 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 Linux Kommando für den Neustart ausführt.

Nach dem Speichern das Skript aktivieren. Für einen ersten Test würde ich noch den Neustart auskommentieren und prüfen ob der Eintrag in das Log geschrieben wird. Um das Skript nutzen zu können, habe ich im JavaScript-Adapter diese Funktionen aktiviert:

Da alles nun unter dem User iobroker rennt, müsst ihr den User in /etc/sudoers einbinden (hinter "# User privilege specification"), sonst ist kein sudo möglich:
sudo nano /etc/sudoersiobroker ALL=(ALL;ALL) ALL
iobroker ALL=NOPASSWD:/sbin/reboot
iobroker ALL=NOPASSWD:/sbin/shutdown


Quelle: smarthome-tricks.de/software-iobroker/vis-reboot-linux-ueber-die-visualisierung (https://www.smarthome-tricks.de/software-iobroker/vis-reboot-linux-ueber-die-visualisierung/)