NEWS
Synology fernsteuern (reboot/shutdown) möglich?
-
@Latzi Hm, kommt davon wenn man ein Skript fast 1:1 übernimmt
Ich werd das herausnehmen, danke für den Tip! -
@horos73 hmm da würd ich in dem Script zum runterfahren den Adapter stoppen.
und beim script fürs Hochfahren ( per WOL ?) dann den Adapter wieder starten lassen.. -
@ilovegym Oh, ja, ist ne gute Idee!!! Hat ich gar nicht dran gedacht, danke, Bernd!
Wie müsste ich das Skript anpassen um die Adapter Instanz "synology.0" dann zu stoppen [und umkehrt im WOL-Skript wieder zu starten]?Bin leider kein Skript-Experte und taste mich da langsam ran
-
@ilovegym Mein WOL-Skript (hab ich hier aus dem Forum) sieht so aus:
createState("javascript.0.MusikDSstarten", 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var MusikDS = "MeineMAC; // MAC definieren // Ab hier automatisch on({id: "javascript.0.MusikDSstarten", change: 'any'}, function (obj) { wol.wake(MusikDS); log("Script WOL - MusikDS aufgeweckt", "info"); } );
-
@horos73
du musst nur ne Zeile zum starten oder stoppen einfügen.setState("system.adapter.synology.0.alive"/*synology.0 alive*/, false);
false stoppt, true startet den Adapter. Das geht mit jedem Adapter so, nur den Javascript würd ich nie stoppen, sonst gehen die Scripte nicht mehr
Würd das zwischen Zeile 3 und 4 reinschieben, dann startet der Adapter schonmal.. halt später, sonst hast du vielleicht ein paar Fehlermeldungen, wenn das NAS noch nicht online ist...
je nachdem wie schnell es ist... -
@ilovegym Super, ich danke DIr! Werde das nachher noch umsetzen. Wenn Du nicht mehrs von mir hörst, läuft alles
Ja, den JS-Adapter anzuhalten fände ich auch keine gute Idee, sonst sind graue Haare vorprogrammiert
EDIT: inwelcher Zeile beim Shutdown-Skript kann ich Deine Zeile einfügen?
-
@horos73 Zeile 17, nach dem Logeintrag und bevor er das kommando schickt.. so solltest du keine Fehlermeldung im Log haben.
-
@ilovegym Hmm, irgendwas stimmt nicht: das Skript wird nicht ausgelöst/der Adapter nicht gestoppt und das Nas auch nicht.
Habe in Userdata einen Datenpunkt "button" erstellt
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1593351799846, "common": { "name": "SHUTDOWN-MusikNAS-Button", "role": "button", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Schalter.SHUTDOWN-MusikNAS-Button", "type": "state" }
Dann ein Blockly erstellt, das auf Änderung des Buttons reagiert und das Skript startet:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="m--eciX;Kl5HJ0iLhR@A" x="38" y="63"> <field name="OID">0_userdata.0.Schalter.SHUTDOWN-MusikNAS-Button</field> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="control" id="oo_;TmwS[)/3j-%JP%EN"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.WOL-und-Shutdown-Skripte.MusikDS-Shutdown-Script</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="$hpt[hrR6,wS4rzy/T?S"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </xml>
Hier das Blockly als Bild:
Nur: es passiert nichts...
-
@horos73 huch, warum machst du ein Script, das ein Script startet? Das ist so nicht im Sinne des Erfinders
-
@ilovegym Ich hatte mal gelesen, dass man Skripte nie direkt ansteuern sollte.
Edit: wäre möglich,d ass ich das mißverstanden habe..Wie würdest Du es lösen: möchte in iQontrol einen Button einfügen, der das (irgendein) Skript startet?
Hast Du eine Idee, warum das Shutdown.Skript nichts stoppt? IP, Passwort etc sind korrekt..
-
@horos73 Also von der Logik her macht man kein Script, das ein anderes startet oder stoppt..
man baut im script den trigger ein, den man abfragt.D.h. du fragst in deinem script den Datenpunkt ab, den du mit iqontrol steuerst, und wenn der sich ändert, dann passiert dies oder jenes..
Die funktion "erlaube exec" im Javascript enabled?
Funktionieren die Befehle, wenn du sie selbst per konsole eingibst? -
@ilovegym Klingt logisch. Hab das so an anderer Stelle allerdings schon erfolgreich im Einsatz, werde mir diese aber demnächst nochmal anschauen.
"Erlaube exec" im JS ist angehakt. Hab vorhin im JS-Adapter auch noch bei "zusätzl. NPM-Module" "simple-ssh" hinzugefügt.
Den JS-Adapter hatte ich vorhin auch schonmal neu gestartet.Ich habe eben in Termius mich auf dem MusikNas eingeloggt und dort
echo "MusikNASPasswort!"|sudo -S shutdown -h now
eingegeben: das NAS fuhr herunter.
Ich glaub ich mach hier für heute einen Punkt und schau mir das nächstes Wochenende nochmal an. Irgendwo ist da ein Fehler..