Synology Nas mit FHEM ein und aus schalten

Begonnen von Damu, 07 Februar 2016, 15:02:12

Vorheriges Thema - Nächstes Thema

Damu

Synology Nas über FHEM ein und ausschalten.
FHEM ist auf einem NUC mit Ubuntu Server.

Mit PuTTY auf den (in meinem Fall) NUC mit der FHEM Installation zugreifen.
Wenn nötig den NUC wieder mal auf den neusten Stand bringen.

Zitatsudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y autoremove && sudo reboot

Danach "expect" installieren.

Zitatsudo apt-get install expect

Script zum auschalten des Syno_nas für denn Nuc erzeugen.

Zitatsudo nano /opt/fhem/synonas_off

#!/usr/bin/expect
spawn telnet ipsyno_nas
expect "login:"
send "root\r"
expect "assword:"
send "PasswordSyno_nas\r"
expect "> "
send "poweroff\r"
expect eof


Mit F3 Speichern NANO mit F2 beenden.

Script ausführbar machen:

Zitatcd /opt/fhem
chmod +x synonas_off

Script testen.
Dazu das Syno_Nas einschalten.

Zitat./synonas_off.sh

Sieht in etwa so aus.

spawn telnet 192.168.178.8
Trying 192.168.178.8...
Connected to 192.168.178.8.
Escape character is '^]'.

NAS3 login: root
Password:


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

NAS3> poweroff
NAS3> :
Broadcast message from root@NAS3
        (/dev/pts/1) at 15:06 ...

The system is going down for power off NOW!
Connection closed by foreign host.



Script mit FHEM im Eingabefenster Testen:

Zitat{ system("/opt/fhem/synonas_off.sh") }

Wenn alles ok ist.
"Sieht aber nicht so gut im LOG aus."
Scheint aber Normal zu sein.

WOL in FHEM für Syno_nas einrichten

Zitatdefine Syno_Nas WOL <macsyno_nas> <ipsyno_nas>  BOTH

Beim Nuc muss ich hier noch die Lan Schnittstelle angeben.
Die steht auf  "/etc/network/interfaces".



Zitatnano /etc/network/interfaces

Bei  mir ist es  "p2p1"

   # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto p2p1
iface p2p1 inet dhcp


Das so bei WOL in Fhem eintragen:
   
Zitatattr Syno_nas sysInterface p2p1

Dann noch das ausschalt Script in WOL eintragen:

Zitatattr Syno_nas shutdownCmd  system("/opt/fhem/synonas_off.sh") }

Interval hab ich bei mir auf 60:

Zitatattr Syno_nas Interval 60

Habe bei mir so zwei Synology Nas eingerichtet.
Wenn es Probleme beim ausschalten gibt, weil das Syno_Nas nicht so schnell erreichbar ist.
Ein "sleep" nach "spawn telnet ipsyno_nas" einbauen:

#!/usr/bin/expect
spawn telnet ipsyno_nas
sleep 2
expect "login:"
send "root\r"
expect "assword:"
send "PasswordSyno_nas\r"
expect "> "
send "poweroff\r"
expect eof



Beim DS207 kommt nach dem Poweroff noch ein "wait".

#!/usr/bin/expect
spawn telnet ipsyno_nas
sleep 2
expect "login:"
send "root\r"
expect "assword:"
send "PasswordSyno_nas\r"
expect "> "
send "poweroff\r"
wait
expect eof




Vielen Dank an alle die an FHEM ARBEITEN und sowas überhaupt möglich machen.

Und natürlich an allen die im Forum hier mitwirken.

chr2k

Top, danke.

Du hast in deinen Codeschnipseln mal ein .sh vergessen. Auch bei dem attr shutdownCmd fehlt nocht eine {

Da ich mich mit diesen Befehlen nicht so auskenne, hat mich das gerade viel Zeit gekostet  ;) Vielleicht macht es für andere Sinn, dies zu korrigieren?!  8)

Mich beschleicht der Gedanke, dass es bei dieser Variante aber auch Nachteile oder Sicherheitsbedenken gibt. Habe, bevor ich auf deinen Thread hier gestoßen bin, schon andere Thread gefunden, die sich - für mich - noch komplizierter mit diesem Thema (Shutdown der Synology) befassen. Was ist an meinem Gedanken dran?

volschin

Die Sicherheitsbedenken gibt es sicher.  ;)
Bei vielen ist auf der Syno telnet aus Sicherheitsgründen deaktiviert. Man kann das Ganze aber auch mit ssh und Key machen. Beschreibungen dazu gibt es auch und es entspricht aktuellen Sicherheitsstandards.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

ujaudio

#3
Das funktionert aber nur solange die Synology noch vom Netz versorgt wird. Da ich meine externen Netzteile alle komplett abschalte, gibt es dann auch keine Versorgung der Synology, damit WOL funktioniert.

Aus FHEM heraus kann ich meine Synology wie folgt herunterfahren:
system ('ssh root@xxx.xxx.xxx.xxx poweroff');
# statt der xxx die IP-Adresse

Zum Einschalten muss ich aber den Knopf an der Synology drücken, weil ich nach(!) dem Shutdown auch die Spannungsversorgung abschalte.

Alternativ kann ich brutal die Spannungsversorgung wegnehmen und bei Spannungswiederkehr fährt die Synology automtisch wieder hoch. Wie das Beste aus beiden Verfahren funktioniert weiß ich nicht.

Einen lieben Gruß
Jürgen

volschin

#4
Nimm zusätzlich eine über FHEM schaltbare Steckdose.  ;)

Und auf eine abgesicherte Syno mit DSM 6 kommst Du über root nicht einfach rein.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

ujaudio

Ich schalte ja die Steckdose mit FHEM. Schicke ich nur den Befehl zum herunterfahren funktioniert auch WOL, schalte ich aber die Steckdose aus, dann funktioniert nach dem Einschalten der Steckdose WOL nicht mehr, weil die dazu notwenidige Elektronik halt abgeschaltet war und sich an nichts mehrerinnert...
Einen lieben Gruß
Jürgen

volschin

Du musst natürlich 2 Befehle senden bzw. 3 beim Einschalten.

  • Steckdose einschalten
  • 10s Pause
  • WOL on

Beim Auschalten natürlich

  • WOL off
  • z.B. ein at mit +5min für Steckdose ausschalten (wielange eben das NAS zum Runterfahren braucht), besser evtl. mit Watchdog, falls während der Zeit wieder eingeschaltet wird
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

ujaudio

Das Auschalten mache ich genauso - funktioniert.
Das Einschalten funktioniert bei meinen beiden Synology so eben leider nicht!

Oder HALT: habe ich einen Denkfehler??!? Du schreibst:
ZitatBeim Auschalten natürlich

    WOL off
    z.B. ein at mit +5min für Steckdose ausschalten...

Ich mache Shutdown - WOL off ist mir gar nicht bekannt. Kannst du mir ggf. dazu noch einen Tipp geben?
Einen lieben Gruß
Jürgen

Damu

Zitatsystem ('ssh root@xxx.xxx.xxx.xxx poweroff');

Tönnt super einfach.
Und wie machst du das mit dem Password.
Das mit ssh und Key hab ich irgendwie nicht hinbekommen.

ZitatDu musst natürlich 2 Befehle senden bzw. 3 beim Einschalten.

    Steckdose einschalten
    10s Pause
    WOL on


Beim Auschalten natürlich

    WOL off
    z.B. ein at mit +5min für Steckdose ausschalten (wielange eben das NAS zum Runterfahren braucht), besser evtl. mit Watchdog, falls während der Zeit wieder eingeschaltet wird

Welche Nas hast du?
Bei meinem 213j geht das glaube ich nicht.


Wernieman

Woran harkt es denn bei der Keyauthentifizierung bei Dir?

Auch wenn es hier (meiner Meinung nach) zu kompliziert geschrieben ist:
http://www.synology-wiki.de/index.php/Ssh_mit_Zertifikaten_absichern
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

justme1968

nicht alle modelle unterstützen   wol. mit shutdown wird sich komplett abgeschaltet. wenn man per wol aufwecken will muss man in standby gehen. vermutlich musst du auch noch einstellen das sie automatisch wieder starten wenn der strom wieder kommt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

volschin

Muss man zumindest bei meinem DS1515 nicht.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

justme1968

bei den kleineren/älteren modellen gibt es den unterschied aber.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

johndoe

Hallo zusammen,

ich krame mal den alten Thread raus, weil ich keinen besseren aus neuerer Zeit zum Thema gefunden habe.
Erstmal vielen Dank an den Ersteller, funktioniert soweit super, folgende Ergänzungen:

Das Skript muss unter
sudo nano /opt/fhem/synonas_off.sh
angelegt werden, im Eingangspost fehlt die Endung .sh

Dann ist es seit einiger Zeit notwendig, dass der User auf dem Synology mit Root-Rechten arbeitet, mit dem Eingangsskript gibt es den entsprechenden Hinweis. Siehe dazu auch https://www.synology.com/de-de/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

Daher habe ich den Code im Skript noch um das Erlangen der Root-Rechte ergänzt:

#!/usr/bin/expect
spawn telnet *MEINEIP*
expect "login:"
send "*ADMIN-USERNAME*\r"
expect "Password:"
send "*ADMIN-PASSWORD*\r"
expect "> "
send "sudo -i\r"
expect "Password:"
send "*ADMIN-PASSWORD*\r"
expect "> "
send "poweroff\r"
expect eof


Mit Aufruf von
{ system("/opt/fhem/synonas_off.sh") }
in FHEM funktioniert der Code so einwandfrei und fährt die Synology runter!  :)

Beim unten aufgeführten Attribut ist dann auch noch ein Fehler, da fehlt die offene geschwungene Klammer, hatte mich erst schon gewundert warum das nicht funktioniert:
attr Syno_nas shutdownCmd  { system("/opt/fhem/synonas_off.sh") }

Otto123

Hi,

wenn Du das {system()} weglässt funktioniert das Shell Script genauso und der Vorteil: FHEM blockiert nicht.
"/opt/fhem/synonas_off.sh"

Beschreibung in der commandref ganz am Anfang, FHEM Befehle :)

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