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

  • Developer

    @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
                 })
      });

Suggested Topics

  • 12
  • 9
  • 6
  • 3
  • 3
  • 7
  • 17
  • 1

2.1k
Online

36.9k
Users

42.7k
Topics

591.6k
Posts