NEWS
Javascript: Synology NAS per ssh beep oder LED ansteuern
-
Hallo,
wie kann ich LED und Beep auf meinem Synology per Javascript ansteuern?Ich bekomme es nicht hin, das Root-Passwort zu übergeben, Beeper und LED dürfen aber nur durch root angesteuert werden...
Irgendwelche Ideen?Hier mein Skript; shutdown selber funktioniert.
SetState('0_userdata.0.WarteShutdown',true); on({id: '0_userdata.0.WarteShutdown', val:false}, function (obj) { const {NodeSSH} = require('node-ssh') const ssh = new NodeSSH() ssh.connect({ host: 'MeinNas', port: 222, username: 'axel', password: 'Passwort'}).then(()=> { console.log("Shutdown startet"); ssh.execCommand('echo "Passwort"|sudo -i sh -c "echo 9 > /dev/ttyS1"'); //* LED blinkt grün ssh.execCommand('echo "Passwort"|sudo -S shutdown -h +1'); ssh.execCommand('echo "Passwort"|sudo -i sh -c "echo 2 > /dev/ttyS1"'); //* kurzer Beep }) });
Gruß, Axel
-
@axel_k Wenn dein Benutzer in der sudoer Liste ist, kannst du, soviel ich weiss, direkt den SSH Befehl mit deinem Benutzer und Passwort ausführen (aber lokal, also zB
ssh axel@MeinNas sudo dein-befehl
, dann brauchst du auch keine SSH Nodejs Library). -
Habs hinbekommen statt sudo -i gehört da sudo - S hin...
SetState('0_userdata.0.WarteShutdown',true); on({id: '0_userdata.0.WarteShutdown', val:false}, function (obj) { const {NodeSSH} = require('node-ssh') const ssh = new NodeSSH() ssh.connect({ host: 'MeinNas', port: 222, username: 'axel', password: 'Passwort'}).then(()=> { console.log("Shutdown startet"); ssh.execCommand('echo "Passwort"|sudo -S sh -c "echo 9 > /dev/ttyS1"'); //* LED blinkt grün ssh.execCommand('echo "Passwort"|sudo -S shutdown -h +1'); ssh.execCommand('echo "Passwort"|sudo -S sh -c "echo 2 > /dev/ttyS1"'); //* kurzer Beep }) });