Ankündigung

Einklappen
Keine Ankündigung bisher.

[Exec Binding] Script funktioniert an der Konsole aber nicht als things

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Exec Binding] Script funktioniert an der Konsole aber nicht als things

    ______________________ Lösung ________________

    Das Problem waren die Rechte.
    nach vielen Stunden an Experimenten war die Löung ganz einfach.
    Ich muss das Script mit ROOT Rechte starten.

    Code:
    Thing exec:command:Switch3P8POE [ command="sudo -u openhab /etc/openhab2/scripts/PoE-UniFi_onoff.sh %2$s", interval=0, autorun=true ]
    Schade ist nur, das ein Teil vom Scrip abgearbeitet wird, es aber keine Fehlermeldung gibt, das der ssh Teil die falsche rechte hat.

    Gruß

    ________________________ FRAGE _________________________________

    Hallo,

    ich habe ein Script geschrieben, dass am UniFi Switch PoE ein- und ausschaltet.
    Dieses Script funktioniert nur dann richtig, wenn ich es direkt an der Konsole starte.

    Wenn ich das in OpenHab einbinde wird das Script zwar abgearbeitet, aber die wichtigste Funktion (ssh) wird nicht ausgeführt.
    Dieser Teil wir einfach übersprungen.

    Anbei das Script und der Inhalt meines LOG-Files bei beiden Versuchen.

    Code:
    #!/bin/bash
    
    PORT="0/8"
    SWITCH="<IP-ADRESSE>"
    USER="<ADMINUSER>"
    
    case $1 in
     ON|1|auto)
        POWER="auto"
        ;;
     2|passive24v)
        POWER="passive24v"
        ;;
     OFF|0|3|shutdown)
        POWER="shutdown"
        ;;
     *)
        echo "Usage: $0 {auto|passive24v|shutdown}"
        exit 0
        ;;
    esac
    
    echo `date` > /tmp/SWITCH_DEBUG.txt
    echo $1 >> /tmp/SWITCH_DEBUG.txt
    
    /usr/bin/ssh -l ${USER} ${SWITCH} '(echo ""; sleep 1; echo "enable"; sleep 1; echo "configure"; sleep 1; echo "interface '$PORT'"; sleep 1; echo "poe opmode '$POWER'"; sleep 1; echo "exit"; sleep 1 ; echo "exit"; sleep 1; echo "exit") | telnet localhost 2222; exit;' >> /tmp/SWITCH_DEBUG.txt
    
    echo "ende" >> /tmp/SWITCH_DEBUG.txt
    
    exit 0
    SWITCH_DEBUG.txt wenn das Script von OpenHab ausgeführt wird.
    Code:
    Fr 12. Okt 08:37:55 CEST 2018
    ON
    ende
    SWITCH_DEBUG.txt wenn ich das ganze an der Konsole starte

    Code:
    Fr 12. Okt 08:26:58 CEST 2018
    ON
    Warning!
    The changes may break controller settings and only be effective until reboot.
    (UBNT) >enable
    
    (UBNT) #configure
    
    (UBNT) (Config)#interface 0/8
    
    (UBNT) (Interface 0/8)#poe opmode auto
    
    (UBNT) (Interface 0/8)#exit
    
    (UBNT) (Config)#exit
    
    (UBNT) #ende
    Vielleicht hat jemand eine Idee oder Tipp was das Problem ist.
    Zuletzt geändert von lo4dro; 13.10.2018, 19:09.
    --
    Gruß
    Lothar
Lädt...
X