Hi
Ich versuche das WOL Modul zum Laufen zu bringen aber irgendwie will es meine Synology nicht starten... Meine Fritzbox kann es also liegt es nicht am Nas...
Hat einer eine IDEE? DIE MODES HABE ICH SCHON ALLE DURCH...
Hier das List:
Internals:
CFGFN
DEF MAC 192.168.1.11
FUUID 5d9ae1aa-f33f-84b4-c3dd-78b1d2f790746180
IP 192.168.1.11
MAC MAC
MODE BOTH
NAME VideoStation
NR 72346
REPEAT 000
STATE off
TYPE WOL
VERSION 1.03
READINGS:
2019-10-07 09:04:07 active on
2019-10-07 09:08:24 isRunning false
2019-10-07 09:04:07 packet_via_EW MAC
2019-10-07 09:04:07 packet_via_UDP 192.168.1.11
2019-10-07 09:08:24 state off
helper:
Attributes:
alexaName Server
room ALEXA,NAS
VIELEN DANK!
Wie ist das Netzwerk verkabelt? Ich hatte mal einen Switch, da kam das WOL-Paket nicht durch.
Hi,
die Definition ist Unsinn - oder ein Fake? ::)
Ich verwende es immer so:
defmod debian350 WOL AA:BB:CC:DD:EE:FF 192.168.56.210 UDP
attr debian350 event-on-change-reading .*
attr debian350 interval 30
attr debian350 shutdownCmd "ssh xxxx@192.168.56.210 sudo poweroff"
attr debian350 useUdpBroadcast 192.168.56.255
Dabei sind folgende 2 Dinge wichtig:
Verwende UDP und man braucht NICHTS zusätzlich installieren (irgendwelche Wakeup tools)
Definiere die Broadcast Adresse sonst "weiß das Paket nicht wo es hin soll". ;)
Gruß Otto
Hallo misux,
nicht alle NAS unterstuetzen Wake on Lan. Siehe: https://www.synology.com/de-de/knowledgebase/DSM/tutorial/General_Setup/Which_Synology_DiskStation_supports_WOL_Wake_on_LAN
Laesst sich Dein NAS mit einem der unzaehligen anderen WOL Tools starten? Wenn das sichergestellt ist weisst Du automatisch mit welcher Methode und Adressen das funktioniert hat und kannst es auf das WOL Modul uebertragen.
Gruss Michael
Klasse! OTTO123 hats mal wieder gerichtet! 💪 Vielen Dank!
Aber der shutdown Befehl will nicht so recht... Die xxxx vor der IP, soll das der Benutzer sein oder das Passwort?
Der shutdownbefehl in meinem Beispiel ist nach dem Schema ssh user@host 'Befehl'
und funktioniert so natürlich nur wenn der ssh Zugang mit public Key Authorisierung ohne Passwort eingerichtet wurde. ;) Meine Notiz (https://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html) :)
Ich habe aber keine Synology.
8)
Alles klar! 🤝🏼 Vielen Dank!
Hallo Udo.. Ich habe mir deine Anleotung mal angesehen und die hats schon in sich...
HAbe eine Einfache, auch wenn nicht so sichere, was mich aber nicht stört, gefunden...
Vorher das Root Passwort gesetzt mit der Anleitung: https://www.dennis-henss.de/2017/11/07/synology-diskstation214-root-passwort-aendern/ (https://www.dennis-henss.de/2017/11/07/synology-diskstation214-root-passwort-aendern/)
Dann SSh Aktiviert in der Synology.
Leider haut mir der Log ein "Bad Port "w"" raus... woran könnte das liegen? Hast du eine Idee?
2019.10.09 20:33:41.172 3: [VideoStation] shutdownCmd: "ssh root@192.168.1.11 -pw HuxxxXXXXxxx6 sudo shutdown -h0" executed
Bad port 'w'
Vielen Dank!
Ich bin nicht sicher ob Du mich meinst :)
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
Die Fehlermeldung meint das was sie sagt: mit -p kannst Du eine Port angeben, Du gibst ihm w mit, das ist für ihn kein Port :)
Gruß Otto
Oh... Sorry... Udo ist einer im LautspercherForum.. ;D
Meinte aber dich!
Vielen Dank!
Werde es gleich Testen...
Was ich an Deiner "einfachen" Anleitung nicht verstehe: Da geht es um erlangen von root auf der Synology. Aber da geht es doch nicht um sie per Remote Kommando runterzufahren?
Dazu brauchst Du einen "passwortlosen" Zugang, entweder mit public key (meine Anleitung) oder etwas mit Passwort Manager. Was aus meiner Sicht alles komplizierter ist.
Hmm... ja... dieses -pw sollte das Passwort für den Root sein...
Habe die Anleitung verfolgt:
https://www.dennis-henss.de/2017/11/07/synology-diskstation-ein-klick-starten-herunterfahren-ssh/ (https://www.dennis-henss.de/2017/11/07/synology-diskstation-ein-klick-starten-herunterfahren-ssh/)
Nun bin ich etwas zu doof.. weil ich nicht weiß wie oder wo das Passwort stehen soll...
Ach jetzt kapiere ich.. ich habe irgendwie überlesen das es ein Skript ist der auf der Diskstation ist der ausgeführt wird...
hmmm es muss doch irgendwie möglich sein ohne irgendwelche Skripte oder Batch Dateien... Nur ein Befehl im Lan muss doch irgendwie reichen..
Ja, mit Plink (PuttyLink solls einfach gehen indem man das Programm startet und dann xxx.xxx.xxx.xxx -l root -pw password poweroff
eingeben... damit muss man keine Skripte oder sonstiges haben so wie ich es verstanden habe...
Ach ich sehe schon... komme irgendwie nicht drumrum um das genze Key gedöns...
Was wäre wenn ich das SSH Root Passwort auf der Synology ausschalte? Geht das? Was könnte im schlimmsten Fall passieren?
ich weiß gar nicht was Du für ein Problem siehst? Nur weil es unbekannt ist?
Wozu root freischalten? Sicherheitsrisiko! Besser User Account mit sudo verwenden.
Warum sich mit passwort gedöns rumärgern? ssh mit public key geht doch einfach?
Schon probiert? Erstmal interaktiv mit deinem normalen User? Oder einfach Angst vor dem Unbekannten?
Ich denke zu viel auf ein mal...
Skript hier Skript da...Batch Datei Trallala.. ;D :-[
Warum ist es denn so kompliziert... Einschalten ist sooo einfach und Aus ein Graus... ???
Hattest Du was schönes im Glas ? ;D ;D ;D
Alternativ: Funk-Hardwaretaster an die Synology anschließen.
Prost und gute Nacht :)
Da du ein Freund von Script Dateien bist - Ein Weg andersrum :)
Du lässt auf der Synology zyklisch (cronjob) ein Script laufen, das fragt in FHEM einen Zustand (Reading von deinem WOL Device) wenn da off steht fährt die Synology runter.
Nur laut gedacht :) wenn Du willst teste ich das morgen mal exemplarisch (ich habe keine Synology).
Gruß Otto
??? Hmmm... Na das wäre doch auch was...
Eine .sh Datei auf der Synology die der Synology sagt schau mal im Fhem Nach ob ein "dummy" den Status off hat, wenn ja fahre die Synology runter...
Warum nicht! Ohne das ganze Trara... ;D Also wenn du mir das irgendwie erläutern könntest... :-*
Naja, das Glas hätte ruhig voller sein können... ;D
Guten Morgen,
na hoffentlich hatte ich nicht eine zu große Klappe. Ich konnte ermitteln:
Auf der Synology ist per default wohl kein curl installiert, das brauche ich aber.
Ich könnte das im Script machen, aber die Synology hat wohl auch per default keinen Paketmanager (ipkg)
Da musst Du sicher Hand anlegen ;)
Ich brauche für die Ausführung noch einen "HTTP Client" fürs Script, den lade ich im Script falls er fehlt von meinem Repository (https://github.com/heinz-otto).
Am Anfang vom Script musst Du die URL vom FHEM Server, das WOL Device und das Reading active definieren. Wenn Du hier Benutzer Name und Passwort brauchst musst Du das in der URL angeben (http://user:password@hostname:portnumber)
Das Script ist so erstmal "unschädlich" es wird nicht wirklich was gemacht, außer mein Script nachgeladen, getestet und bei Erfolg bei FHEM abgefragt.
Das Reading active wird durch den Schaltbefehl im WOL Device gesetzt (on/off) damit brauchen wir keinen Dummy und kein weiteres Gerät
Hier mein Script mit Kommentaren ich hoffe es ist so verständlich:
#!/bin/bash
# Abfrage in FHEM als Variable
hosturl="http://raspib3:8083"
device="debian350"
reading="active"
#functions
# getFile FileName RepositoryName
function getFile {
if [ ! -e $1 ]
then
echo "$1 is missing"
wget https://raw.githubusercontent.com/heinz-otto/$2/master/$1
chmod +x $1
fi
}
# get the HTTP Client
getFile fhemcl.sh fhemcl
# test ob notwendige programme vorhanden sind
prog="curl"
if ! which $prog > /dev/null
then
echo "$prog fehlt, bitte installieren"
#ipkg update
#ipkg install curl
# erstmal Notausgang
exit
else
echo "$prog vorhanden"
fi
# Abfrage eines Reading in FHEM
status=$(./fhemcl.sh $hosturl "{ReadingsVal('$device','$reading','')}")
if [[ $status == "off" ]]
then
echo "ich soll ausschalten"
else
echo "der Status ist $status"
fi
Na ich bin gespannt ob das auf der Syno funktioniert :)
Gruß Otto
Damit es vielleicht nicht so gewaltig aussieht, habe ich den Test ob curl vorhanden ist in das fhemcl.sh eingebaut und den Code minimiert:
#!/bin/bash
# Abfrage in FHEM als Variable
hosturl="http://raspib3:8083"
device="debian350"
reading="active"
# HTTP Client holen
script="fhemcl.sh"
rep="fhemcl"
if [ ! -e $script ] ;then wget https://raw.githubusercontent.com/heinz-otto/$rep/master/$script;chmod +x $script;fi
# Abfrage eines Reading in FHEM
status=$(./fhemcl.sh $hosturl "{ReadingsVal('$device','$reading','')}")
if [[ $? > 0 ]] ;then echo "Es ist ein Fehler aufgetreten: $status";exit;fi
# Rückgabe auswerten und etwas tun
if [[ $status == "off" ]]
then
echo "ich soll ausschalten"
else
echo "der Status ist $status"
fi
Damit das mit dem neuen fhemcl.sh funktioniert vorher den alten löschen.
rm fhemcl.sh
:o
Hätte ich mel mehr getrunken... ;D
OKAYYY... werde es mir heute Abend mal ansehen... muss jetzt leider Malochen... Schon mal veielen Dank "Udo..." ;D ;D ;D
Falls Du nochmal die Sche mit ssh angehen willst, ich habe mich erinnert das es da schon mal Fragen und Antworten dazu gab:
https://forum.fhem.de/index.php/topic,71801.msg633456.html#msg633456
https://forum.fhem.de/index.php/topic,70185.msg617104.html#msg617104
https://forum.fhem.de/index.php/topic,37090.msg579770.html#msg579770
Also nur zur Info :)
OTTO123, ich habe es leider noch nicht geschafft... bin nächets Woche wieder unterwegs, also erst in einer Woche wieder..
Wollte nur mal bescheidgeben. Nicht das du denkst ich habe es aufgegeben... ich bleibe dran und berichte wenn ich soweit bin.
Dennoch vielen DANK!!!