Synology mit Script ausschalten

Begonnen von Damu, 04 Februar 2016, 22:43:51

Vorheriges Thema - Nächstes Thema

Damu

Hallo

Ich habe ein Script das mir mein Synology Nas ausschalten kann.
#!/usr/bin/expect
spawn telnet 192.168.178.60
expect "login:"
send "root\r"
expect "assword:"
send "MeinPassword\r"
expect "> "
send "poweroff\r:"
interact
exit


Das Script hab ich auf meinem Laptop mit Ubuntu.
Expect muss naturlich installiert sein.
Sieht dann so aus:
Zitatdaniel@damu-ubuntu:~$ ./nas4aus.sh
spawn telnet 192.168.178.60
Trying 192.168.178.60...
Connected to 192.168.178.60.
Escape character is '^]'.

Nas4 login: root
Password:


BusyBox v1.16.1 (2015-11-12 17:58:02 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Nas4> poweroff

Broadcast message from root@Nas4
        (/dev/pts/5) at 19:15 ...

The system is going down for power off NOW!
Nas4> :Connection closed by foreign host.
daniel@damu-ubuntu:~$

Das Nas geht dann tatsächlich aus.
Geht das auch direkt mit FHEM?



Otto123

#1
Hi,

klar, Du kannst doch einfach ein system script starten.

So ähnlich ...

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

Danke sieht gut aus.
Super Anleitung.
Das werde ich morgen mal versuchen.
Kann ich das Script auch irgendwo in
Zitat/opt/fhem/???
legen.

Dann wäre es bei einem Backup von FHEM auch dabei?
Ich führe FHEM nicht als root aus.

Otto123

Zitat von: Damu am 04 Februar 2016, 23:03:06

Ich führe FHEM nicht als root aus.

Das ist gut so  8) ich auch nie.

Klar kannst Du das nach /opt/fhem legen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

#4
Hallo

Das Skript hab ich num auf /opt/fhem
Geht leider so nicht.
Ist "sudo chmod +x nas4aus.sh" wirklich richtig?

Zitat{ system("/opt/fhem/nas4aus.sh") }: -1


Otto123

chmod +x macht das script ausführbar. Wahrscheinlich nur für den Benutzer der den Befehl ausführt.
chmod a+x würde es für alle Benutzer und Gruppen ausführbar machen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

#6
Hallo

Der Befehl:
Zitat"/opt/fhem/nas4aus.sh"

macht das:

Zitatspawn telnet 192.168.178.60
Trying 192.168.178.60...
Connected to 192.168.178.60.
Escape character is '^]'.
2016.02.05 22:58:23 1: FHEMWEB SSL/HTTPS error:
2016.02.05 22:58:23 1: FHEMWEB SSL/HTTPS error:
2016.02.05 22:58:23 1: FHEMWEB SSL/HTTPS error:


2016.02.05 22:58:23 1: FHEMWEB SSL/HTTPS error:
2016.02.05 22:58:23 1: FHEMWEB SSL/HTTPS error:
Nas4 login: root
Password:


BusyBox v1.16.1 (2015-11-12 17:58:02 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Nas4>

Das Skript läuft nicht zuende.
Muss dann Fhem neu starten.

Otto123

Das Script läuft von der Terminalsession mit einem beliebigen User?

Die Fehler vom FHEM Web irritieren mich...
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

#8
Klappt einfach nicht, auch wenn ich das Script nach home verlege.
User Pi ist bei dir auch mit Password?

Das Script funktioniert aber scheinbar vermag fhem das nicht zu starten.

ZitatDas Script läuft von der Terminalsession mit einem beliebigen User?

Natürlich, ohne "sudo" vorab.


Damu

#9
Jetzt geht es:
ZitatNas4> :Connection closed by foreign host.
spawn telnet 192.168.178.60
Trying 192.168.178.60...
Connected to 192.168.178.60.
Escape character is '^]'.


Nas4 login: root
Password:


BusyBox v1.16.1 (2015-11-12 17:58:02 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

Nas4> poweroff
Nas4> :

Broadcast message from root@Nas4

        (/dev/pts/1) at 14:55 ...




The system is going down for power off NOW!

Connection closed by foreign host

Sieht zwar nicht so gut aus im Log, aber geht.
Muste das Script ändern.
#!/usr/bin/expect
spawn telnet 192.168.178.60
expect "login:"
send "root\r"
expect "assword:"
send "mPassword\r"
expect "> "
send "poweroff\r:"
expect eof

so geht es, keine Ahnung wieso anders nicht.
Hatte auch ein Pingservice von Fhem auf das Nas erstellt.
Habe ich mittlerweilen wieder gelöscht.
Jetzt muss ich nur noch WOL mit FHEM auf das Nas zum laufen bringen.

Die Schnittstelle heisst beim NUC "p2p1".
Normal ist "eth0" oder "eth2".




Otto123

Zitatinteract

Bei diesem Befehl wird die Steuerung zurück an den Benutzer übergeben. Das kann man z.B. dazu benutzen, den Benutzer nach dem Login automatisch an eine bestimmte Stelle einer umfangreicheren Anwendung zu navigieren und ihn dann dort weitermachen zu lassen.

Naja klingt logisch, Du hast mit dem interact die interaktive Steuerung an fhem zurückgegeben - was soll der tun?  ;D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

#11
ZitatNaja klingt logisch, Du hast mit dem interact die interaktive Steuerung an fhem zurückgegeben - was soll der tun?

Kommt aber erst nach "poweroff", sollte deshalb aber trotzdem ausgehen???


Otto123

Ich hatte Dich so verstanden. Die NAS geht aus und FHEM bleibt hängen?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Damu

#13
Nein das Nas ging gar nicht aus.
Ob FHEM dann hängen blieb weis nicht.
Hab immer sofort neu gestartet.
Das Log hat mir so gar nicht gefallen.
Egal so passt es.