Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Shutdown remote linux raspi

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Shutdown remote linux raspi

Geplant Angeheftet Gesperrt Verschoben JavaScript
2 Beiträge 2 Kommentatoren 255 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    rupobk
    schrieb am zuletzt editiert von
    #1

    Ich versuche einen remoten raspi über ssh abzuschalten, und zwar mit folgendem Script:
    on({id: "0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, change: "ne"}, async function (obj) {
    var value = obj.state.val;
    var oldValue = obj.oldState.val;
    if (getState("0_userdata.0.schalter.OpenMediaVaultEin").val) {
    console.debug("NAS RaspiOpenMediaVault eingeschalten!");
    setState("shelly.0.SHSW-1#8CAAB50558E3#1.Relay0.Switch"/[object Object]/, true);
    setState("0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, true);
    } else {
    console.debug("NAS RaspiOpenMediaVault ausgeschalten!");
    console.debug("exec: " + "'ssh -t rupi@192.168.1.65 'sudo shutdown -h 0'");
    /exec('/opt/iobroker/script/shutdown_raspiomv.sh');/
    exec("ssh -t rupi@192.168.1.65 'sudo shutdown -h 0'");
    setStateDelayed("shelly.0.SHSW-1#8CAAB50558E3#1.Relay0.Switch"/[object Object]/, false, 30000, false);
    setState("0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, false);
    }
    });

    Auf der Befehlszeile funktioniert der SSH-Befehl tadellos. Im Script wird interessanterweise nur der SetStateDelayed vom Shelly-Schalter ausgeführt u. der PC eiskalt ausgeschalten. Weder der console.debug, noch der exec-Befehl werden ausgeführt. Ich verstehe nicht warum. Kann mir da jemand helfen?

    mickymM 1 Antwort Letzte Antwort
    0
    • R rupobk

      Ich versuche einen remoten raspi über ssh abzuschalten, und zwar mit folgendem Script:
      on({id: "0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("0_userdata.0.schalter.OpenMediaVaultEin").val) {
      console.debug("NAS RaspiOpenMediaVault eingeschalten!");
      setState("shelly.0.SHSW-1#8CAAB50558E3#1.Relay0.Switch"/[object Object]/, true);
      setState("0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, true);
      } else {
      console.debug("NAS RaspiOpenMediaVault ausgeschalten!");
      console.debug("exec: " + "'ssh -t rupi@192.168.1.65 'sudo shutdown -h 0'");
      /exec('/opt/iobroker/script/shutdown_raspiomv.sh');/
      exec("ssh -t rupi@192.168.1.65 'sudo shutdown -h 0'");
      setStateDelayed("shelly.0.SHSW-1#8CAAB50558E3#1.Relay0.Switch"/[object Object]/, false, 30000, false);
      setState("0_userdata.0.schalter.OpenMediaVaultEin"/OpenMediaVaultEin/, false);
      }
      });

      Auf der Befehlszeile funktioniert der SSH-Befehl tadellos. Im Script wird interessanterweise nur der SetStateDelayed vom Shelly-Schalter ausgeführt u. der PC eiskalt ausgeschalten. Weder der console.debug, noch der exec-Befehl werden ausgeführt. Ich verstehe nicht warum. Kann mir da jemand helfen?

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @rupobk 1. Musst Du die ssh keys im Homeverzeichnis des jeweiligen Users einrichten und 2. Wenn Dein Script läuft, läuft es mit dem User iobroker, wenn Du die Befehlszeile aufmachst mit dem User, mit dem Du Dich angemeldet hast. Du musst also den User iobroker auch auf dem Zielsystem die entsprechenden Rechte einrichten.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      661

      Online

      32.5k

      Benutzer

      81.6k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe