[Geloest] WOL via FHEM mit Docker

Begonnen von Hackstall, 12 November 2020, 21:02:56

Vorheriges Thema - Nächstes Thema

Hackstall

Hallo ich habe gegoogelt. Es gibt auch einen Thread aber aus dem werde ich nicht schlau.

Ich habe meinen FHEM nach Docker umgestellt und möchte einfach nur einen WOL absetzen.

Das geht nicht mehr.

Auch etherwake direkt aus dem Fhem Container als Root kommt auch nicht an.

Ein WOL von einer anderen Maschine kommt jedoch an.

Was mache ich falsch oder muss gemacht werden.

Mein bisheriger Code der (ausserhalb von Docker funktioniert hat):


define KG.WzK.PC_AK WOL 74:D4:35:08:2C:73 192.168.0.45 UDP
attr KG.WzK.PC_AK room Keller
attr KG.WzK.PC_AK useUdpBroadcast 192.168.0.255


Danke für Eure Hilfe.

Gruss Andreas

Wernieman

Wie ist Dein Docker-Container eingerichtet? Was für ein "Netwerkmode"?
- 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

Hackstall

Ich denke Du meinst das hier:


bridge System - bridge false default 172.17.0.0/16 172.17.0.1 - - public
  fhem-docker_fhem-network fhem-docker bridge true default 172.27.0.0/16 172.27.0.1 - - administrators
  host System - host false default - - - - public
  none System - null false default - - - - public


Also Bridge!

kadettilac89

Thema gabs schon öfter. Docker routed die nötigen Pakete nicht. Workaround z. B. WOL-Modul über SSH oder Fritzbox ... schau mal den Thread, vielleicht findest was.

WOL Modul kann mittlerweile nativ SSH, meine Änderung im Thread ist mittlerweile im Standard ...

https://forum.fhem.de/index.php?topic=87714.0

Wernieman

Hintergrund:
WOL-Packete werden nicht geroutet, d.h. funktionieren nur im gleichen Netzwerk. (Können nicht geroutet werden).

Damit geht es eben aus dem Docker Netzwerk nicht
- 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

Hackstall

Hallo danke für die Antworten.

Ich habe die Antworten oder anderen Threads gesehen aber ich verstehe da nur Bahnhof.

Kannst Du mir bitte sagen wie ich dann tr064 in meinem Fhem benutze oder ssh benutzt word.
Ein kurzes Beispiel wäre echt super.

Danke Andreas

Wernieman

tr064 funktioniert wie bekannt

ssh raus oder reingehende? raus .. wie bekannt
- 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

kadettilac89

ssh: du konfigurierst von Docker eine ssh-Verbindung zum Host. WOL ruft dann das etherwake oder entsprechenden Befehlt auf dem Host auf. Da der Host direkt Zugriff auf das Netzwerk hat geht das WOL Paket durch.

Otto123 hat für ssh-Konfiguration gute Anleitungen im Forum und in seinem Blog. Sollte über die Suche auffindbar sein.

Zum WOL-MOdul gibt es einen Thread, da sollte auch ein Beispiel drin sein wenn in der Doku zum Modul nichts zu finden ist ... https://forum.fhem.de/index.php/topic,97064.msg1017655.html#msg1017655

In dem Thread hat Otto auch weiterführende Links für Fritzbox gepostet. Ich nutze aber WOL per SSH.

SChreib am besten mal wo du genau Probleme hast.

Hackstall

Das ist echt Neuland für mich.
-Wol via ssh,

Mein Problem ist wie sieht das in Fhem aus (.cfg) um meinen PC 192.168.0.45 aufzuwecken.

Es waere am besten wenn Ihr mal die Fhem Statements benennt.

Danke A. Krause

P.S.: per ssh komme ich auf den Pc. Getestet mit container konsole via Portainer

kadettilac89

Du sollst nicht per ssh auf den PC  "hüpfen" der aufzuwecken ist, sondern nur auf den Host. Host ist der Rechner auf dem Docker läuft. Z. B. Raspberry.

Wenn das geht -- ohne Passworteingabe!!! --  dann ist der nächste Schritt zu testen ob du mit "sudo etherwake [MAC]" den PC wecken kannst.

Wichtig bei ssh, das muss der User können unter dem auch fhem läuft. Vermutlich musst du in Portainer "su fhem" eingeben damit du mit dem User fhem testest.

Wenn beides funktioniert, dann gebe ich dir ein Beispiel. Aber erstmal müssen die beiden Dinge gehen sonst bringt das in Fhem nichts.

Hackstall

Hallo ich komme irgendwie nicht via ssh auf den host. Auch mit Passwort nicht.
Gibst Du mir noch einen Tip.
Danke

kadettilac89

kannst du aus dem Docker den Host pingen?

Host müsste sowas wie ... sein. Im Fhem-Docker ist auch ein Alias "host.docker.internal" gesetzt.
172.18.0.1      host.docker.internal


Gute Anleitung von Otto123 ... einfach mal ein Backup machen und abarbeiten. Wenn du was zerschießt hast ein Backup das du zurückspielen kannst.
http://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html


Lokaler HOst = Docker-Container
Lokaler user = fhem (oder der User unter dem dein fehm läuft)

Remote HOst = dein Host
Remote User = pi bei Raspberry, wobei ein eigener User für ssh empfohlen ist. Mein User heißt remote z. B. fhem_WOL


Hackstall

Dank aber könntest Du Dir nochmals meinen ersten Post anschauen da habe ich eine Übersicht und dort kommt auch host vor aber ohne
IP Adresse.


kadettilac89

dein erster Post zeigt den PC den du wecken willst

Der gewünschte Weg:
Docker-Container ------  ssh   ------>  Docker-Host ----- WOL -----> PC (den du wecken willst)

kannst du im  Docker-Container den Docker-Host pingen? Welche IP oder Hostname nutzt du? Wenn du den Docker-Host nichtmal pingen kannst liegt es daran. War schon mal hier ein Problem darum frage ich explizit nach.

Hackstall

Hallo sorry ich meinte den 3ten Post dieses Threads.
Dort ist leider keine Adresse fuer Host angegeben.

Bitte nicht aufgeben. Ich wuerde das gerne loesen und
Vertstehen.

Den Weg habe ich verstanden.

Danke Andreas