NEWS
Einen PI3 durch ioBroker herunterfahren?
-
Hallo zusammen,
ich habe in meinem Geschäft jetzt einen Monitor auf dem eine Diashow läuft (Werbung ohne Ton). Am Monitor sitzt ein PI3 der sich die Bilder von meinem Server holt.
Ich möchte, das der Monitor und auch der PI3 zusammen mit der Ladenbeleuchtung ausschaltet wird. Dazu soll der PI3 aber vernüftig herunterfahren.Ich suche jetzt ein/e Skript oder Funktion die per ioBroker zusammen mit der Beleuchtungssteuerung an den PI3 gesendet wird. Der fährt dann runter und nach ca. 1 Minute wird die Steckdose geschaltet an dem alles hängt.
Morgens wird die Steckdose dann einfach wieder an geschaltet und alles läuft automatisch an (das funktioniert ja so schon).Was bzw. wie kann ich das am einfachsten machen?
Habe schon mal das gefunden:
Im Verzeichnis von Putty liegt die Datei "plink.exe". Mit der kann ich das mit diesem Befehl machen.plink.exe -pw openelec root@xxx.xxx.x.xxx poweroff
Kann ich die Datei plink.exe von ioBroker aufrufen? Mit Blockly?
Grüße
Manfred -
wo läuft den dein iobroker ?? auf windows ??
-
Über ein Script geht das herunterfahren recht einfach:
node_ssh = require('node-ssh'); ssh = new node_ssh(); ssh.connect({ host: 'xxx.xxx.x.xxx', username: 'root', password: 'yourRootPasswordHere' }).then(() => { ssh.execCommand("YourShutdownCommandHere"); })
Damit das geht musst du im Admin Panel vom JS Adapter die Bibliothek "node-ssh" hinzufügen.
A.
-
Hallo Asgothian,
ich habe jetzt "node-ssh" bei den Instanzen bei "javascript.0" bei dem "Schraubenschlüssel" in der Zeile "Zusätzliche NPM-Module" eingetragen.
Das ist doch so richtig, oder?
Nach Eingabe der entsprechenden Daten im Skript, fährt der PI3 auch runter. Das ist doch dann so alles, oder?
Grüße und Danke für die schnelle Hilfe.
Manfred -
@Beowolf Ja, das ist alles.
-
Ich mußte ioBroker neu aufsetzten.
Jetzt bekomme ich diese Fehlermeldung in der LOG-Datei.
javascript.0 2020-08-07 15:08:47.189 error (24264) at Script.runInContext (vm.js:130:18) javascript.0 2020-08-07 15:08:47.189 error (24264) at script.js.common.PI3_CopyShop_PowerOff:2:7 javascript.0 2020-08-07 15:08:47.188 error (24264) TypeError: node_ssh is not a constructor javascript.0 2020-08-07 15:08:47.188 error (24264) ^ javascript.0 2020-08-07 15:08:47.188 error (24264) ssh = new node_ssh(); javascript.0 2020-08-07 15:08:47.188 error (24264) script.js.common.PI3_CopyShop_PowerOff: script.js.common.PI3_CopyShop_PowerOff:2
Was mache ich noch falsch?
Grüße
Manfred -
@Beowolf
Ist das Modul 'node-ssh' in die Konfiguration der Javascript-Instanz eingetragen ? -
So sieht das bei mir aus
Wenn ich das Skript unter iobroker "neustarte", kommt die Meldung im unteren LOG-Feld
16:22:20.233 info javascript.0 (24264) Stop script script.js.common.PI3_CopyShop_Neustart 16:22:20.297 info javascript.0 (24264) Start javascript script.js.common.PI3_CopyShop_Neustart 16:22:20.305 error javascript.0 (24264) script.js.common.PI3_CopyShop_Neustart: script.js.common.PI3_CopyShop_Neustart:2 16:22:20.306 error javascript.0 (24264) at script.js.common.PI3_CopyShop_Neustart:2:7
Ich habe zwei Skripte. Einmal für einen Neustart und einmal zum Ausschalten.
-
@Beowolf
Getestetconst node_ssh = require('node-ssh'); const ssh = new node_ssh();
und erhalte den gleichen Fehler:
javascript.1 2020-08-07 16:36:57.322 error (5051) at script.js.common.Test:13:13 javascript.1 2020-08-07 16:36:57.322 error (5051) TypeError: node_ssh is not a constructor javascript.1 2020-08-07 16:36:57.322 error (5051) ^ javascript.1 2020-08-07 16:36:57.322 error (5051) const ssh = new node_ssh(); javascript.1 2020-08-07 16:36:57.321 error (5051) script.js.common.Test: script.js.common.Test:13
-
-
@Beowolf bekomme den gleiche Fehler, aber erst seit dem letzten Javascript Adapter Update.
Im Script wird angezeigt, dass das Modul "node-ssh" nicht gefunden wird. -
Ist das den "rausgeflogen", oder nur ein Fehler?
-
@Beowolf gute Frage, weiß ich nicht. Mir ist es gestern nur aufgefallen, als ich meinen Po der am 3d Drucker hängt über iobroker runter fahren wollte. Ging bisher immer, vllt mal die Javascript Version downgraden, ob es dann funktioniert
-
-
@Thomas-Braun da kommt node-ssh@11.0.0
-
@coyote Genaue Rückmeldung?
-
Genaue Rückmeldung?
/opt/iobroker$ npm list node-ssh iobroker.inst@2.0.3 /opt/iobroker └─┬ iobroker.javascript@4.6.21 └── node-ssh@11.0.0
-
@coyote sagte:
Javascript Version downgraden, ob es dann funktioniert
Funktioniert auch mit Version 4.6.4 nicht. Muss wohl am Modul liegen.
-
Muss wohl am Modul liegen.
Der Zugriff wurde in Version 11.0.0 geändert:
const node_ssh = require('node-ssh').NodeSSH; const ssh = new node_ssh();
Die Doku unter npmjs.com ist noch nicht angepasst.
-