98_WOL: Neue Version zum Testen

Begonnen von KernSani, 07 Februar 2019, 19:57:10

Vorheriges Thema - Nächstes Thema

KernSani

Hallo zusammen,

aufgrund dieser Diskussion https://forum.fhem.de/index.php/topic,97049.msg902378.html#msg902378 habe ich 98_WOL angepasst, um die Abhängigkeit zum Twilight Modul zu entfernen.
Da ich selbst nur eingeschränkt testen kann, wäre ich dankbar, wenn jemand mit komplexeren Szenarien das Ganze testen könnte und hier Feedback geben kann.

Anmerkung: Ich habe mich im ersten Schritt darauf beschränkt die Abhängigkeit zu entfernen, weitere kleinere Anpassungen (z.B. in der Commandref, oder bei den Set-Befehlen) werden bald nachgereicht.

Danke!

EDIT: Schon die erste Aktualisierung  :)
Zitat
#        Changelog:
#      2019-02-07, v1.02:   First quick revision of commandref
#                       Added German commandref
#                  Removed textboxes for set commands
#                                              Added version Info
#      2019-02-07, v1.01:   Removed dependency with Twilight Module

EDIT 12.02.2019: Kommt ab morgen über das offizielle Update.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Hat von der 4 Runterladern schon jemand ein Feedback? (auch "funktioniert wie zuvor" wäre ein schönes Feedback :-))
Würde ggf. die nächsten Tage einchecken...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KölnSolar

ZitatHat von der 4 Runterladern schon jemand ein Feedback?
die scheinbar nicht, aber der Fünfte  ;D
Weil mein WOL gerade nicht wollte, hab ich mal gespielt und geguckt. Absturz, wenn man Unsinn in useUdpBroadcast schreibt  ::)
Zitat
2019.02.10 10:11:55 3: [WOL_TV] invalid Broadcastadress<*.255.255.255> - use ddd.ddd.ddd.ddd
2019.02.10 10:11:57 3: [WOL_TV] set WOL_TV on
2019.02.10 10:11:58 3: [WOL_TV] waking  WOL_TV with MAC ab:1C:B0:0F:79:zz IP 192.168.xyz.abc
2019.02.10 10:11:58 4: [WOL_TV] keeping WOL_TV with MAC ab:1C:B0:0F:79:zz IP *.255.255.255 busy
Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/lib/arm-linux-gnueabihf/perl/5.24/Socket.pm line 157.
scheinbar wird geprüft aber trotzdem gespeichert. Dann ist mir beim udp der Port ins Auge gefallen. Das macht so ja keinen Sinn. Es wird immer Port 9 benutzt.
<OT> Könnte das mein Problem sein ? <OT>

hab dann mal Deine Version ausprobiert:  funktioniert wie zuvor. ;D
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

KernSani

Hi Markus,
gefühlt werden alle meine "geerbten" Module von genau einer Person genutzt :D
Den fehlerhaften Check beim Attribut habe ich gefixt (im ersten Post aber noch nicht angehängt).
WOL nutzt UDP port 9 wenn kein anderer Port angegeben ist, allerdings gibt es beim broadcast garnicht die Möglichkeit einen port anzugeben... Da beißt sich die Katze in den Schwanz ;-)
Ich könnte natürlich noch erlauben einen Port mitzugeben, oder zumindest zwischen 7 und 9 auszuwählen... Deine Meinung?
Wieso machst du überhaupt einen broadcast? Oder war das nur zum Testen? 
Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KölnSolar

Hi Oli,
ZitatOder war das nur zum Testen?
Ja.
ZitatIch könnte natürlich noch erlauben einen Port mitzugeben, oder zumindest zwischen 7 und 9 auszuwählen... Deine Meinung?
(fast)keine Meinung, da ich nicht verstehe, was der Port im Zusammenhang bedeutet.  :'( Ich hab halt ein WOL mit udp f. ein WLAN-device. mal geht's, dann aber nicht. Wenn es nicht klappt, hilft auch 1.000-mal on nichts. Ob da der Port Schuld sein könnte ?  :-\ Wenn es mal wieder passiert, probier ich mal andere Ports.
Ich würd vorerst die jetzige Port-Logik auskommentieren u. auf fix 9 belassen.
Danke&Grüße
Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Frank_Huber

#5
Ich würde die neue Version mo/Di auch mal antesten.
Nutze wol um bei Bedarf meinen home PC  vom Büro aus anzuschalten.

Gesendet von meinem Doogee S60 mit Tapatalk

KernSani

@Markus: UDP Pakete für wake-on-lan werden typischerweise über port 9 oder 7 geschickt. Hat dein Device immer Strom? Wenn ein Gerät stromlos war, geht WOL normalerweise nicht mehr.
Ich belasse es erstmal bei der derzeitigen Logik.

@Frank: Danke, werde deinen Test mal noch abwarten.



Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KölnSolar

ZitatHat dein Device immer Strom?
Im konkreten Fall ja.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Intruder1956

Hallo, bei mir funktioniert es so
Ich habe an der Eingangstüre einen DashButton, wenn ich dort drücke, schaltet im Arbeitszimmer erst die PCA301 auf ON, danach kommt der WOL Befehl zum Einschalten des PC
"set AZ_PC_Steckdose on;; sleep 10 ;; set WernerPC on;;"

Das funktioniert mit dem alten WOL gut.
Wenn ich dann am PC sitze, habe ich auch einen DashButton der dann den PC per WOL runterfährt, dann die Steckdose ausschaltet und im Schlafzimmer die Bettlampe und Steckdose einschaltet.
{fhem("set WernerPC off; sleep 1 ; set Schlaf_Bett_Werner on; sleep 120 ; set AZ_PC_Steckdose off")}

so bin ich auch zufrieden  ;) :)

Gruß Werner

PS: am nächsten WE kann ich das neue WOL ja mal testen
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

Frank_Huber

Moin Moin,

die "neue" WOL Version läuft genauso wie die "alte"
Ich kann keine Veränderung feststellen.

KernSani

Zitat von: Frank_Huber am 12 Februar 2019, 08:40:39
Moin Moin,

die "neue" WOL Version läuft genauso wie die "alte"
Ich kann keine Veränderung feststellen.
So soll das sein :-) Danke für's Testen.
Kommt dann ab morgen über's reguläre Update.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

kadettilac89

#11
Hallo KerniSani,

du bist der neue Maintainer vom WOL-Modul. Darf ich dich um eine Erweiterung des Moduls bitten?

Docker wird mehr und mehr auch hier genutzt. WOL geht aber nicht über Subnetze hinweg (MagicPackage), wird per Default nicht geroutet. Damit das im Modul auch funktioniert könnte mal den etherwake-Call über SSH auf den Host durchführen. Mach ich aktuell so.

Siehe Thread https://forum.fhem.de/index.php/topic,87714.0.html

Andere Idee, ähnlich wie im Bluetooth-Modul per Daemon auf dem Host. https://wiki.fhem.de/wiki/PRESENCE#Unterschied_presenced_.2F_lepresenced_.2F_collectord

Ich selber habe mir dazu das Modul modifiziert, aber die Frage war schon mehrfach da. Vielleicht wäre es mit geringem Aufwand einzubauen. Ich kann gerne testen wenn es dir helfen würde.

Danke dir

KernSani

Zitat von: kadettilac89 am 24 Mai 2019, 21:59:12
Ich selber habe mir dazu das Modul modifiziert, aber die Frage war schon mehrfach da. Vielleicht wäre es mit geringem Aufwand einzubauen. Ich kann gerne testen wenn es dir helfen würde.
Sorry, ich war länger nicht aktiv. Magst du mir deine modifizierte Version schicken, dann schaue ich mir das an, und übernehme es (ggf. mit Modifikationen). Ich habe keine Docker am Laufen, daher würde ich gerne auf das Angebot zu testen zurückkommen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

Hi,
Zitat von: kadettilac89 am 24 Mai 2019, 21:59:12
WOL geht aber nicht über Subnetze hinweg (MagicPackage), wird per Default nicht geroutet.
Aber dafür gibt es doch den gezielten Broadcast mit dem Attribute packet_via_UDP
Damit funktioniert das wunderbar über Subnetze hinweg. etherwake sehe ich bei mir als völlig obsolete an.

Ich arbeite nur mit UDP Methode und setze generell die Broadcast Adresse via Attribute packet_via_UDP.
Ich arbeite analog auch aus Windows heraus mit Powershell Scripts so.

Eine Begründung für die Behauptung in Magicpacket gibt es aus meiner Sicht nicht:
https://de.wikipedia.org/wiki/Wake_On_LAN#Magic_Packet

Aber ich  muss nicht Recht haben :)

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

kadettilac89

Zitat von: Otto123 am 20 Dezember 2019, 23:39:35
Hi,Aber dafür gibt es doch den gezielten Broadcast mit dem Attribute packet_via_UDP
Damit funktioniert das wunderbar über Subnetze hinweg. etherwake sehe ich bei mir als völlig obsolete an.

Ich arbeite nur mit UDP Methode und setze generell die Broadcast Adresse via Attribute packet_via_UDP.
Ich arbeite analog auch aus Windows heraus mit Powershell Scripts so.

Anforderung war bezogen auf Docker-Fhem ... UDP-Paket fehlt... "# method to wake via lan, taken from Net::Wake package"


perl -MNet::Wake -e ''
Can't locate Net/Wake.pm in @INC (you may need to install the Net::Wake module)

--> Nicht im Container enthalten. Man könnte natürlich nachinstallieren ....

Zitat von: Otto123 am 20 Dezember 2019, 23:39:35
Eine Begründung für die Behauptung in Magicpacket gibt es aus meiner Sicht nicht:
https://de.wikipedia.org/wiki/Wake_On_LAN#Magic_Packet

Englisches Wiki ist ausführlicher ... https://en.wikipedia.org/wiki/Wake-on-LAN#Subnet_directed_broadcasts

A principal limitation of standard broadcast wake-on-LAN is that broadcast packets are generally not routed. This prevents the technique being used in larger networks or over the Internet. Subnet directed broadcasts (SDB)[8][9] may be used to overcome this limitation.

Es gibt Wege aber das Bedarf Konfiguration wie Host-Mode. Aus Docker im Default Netzwerk kommt nichts raus, UDP könnte gehen wenn man weitere Ports durchreicht.

Zitat von: Otto123 am 20 Dezember 2019, 23:39:35
Aber ich  muss nicht Recht haben :)

Ich auch nicht :)
Mir geht es darum ggf. nützliche Funktionen für Module anzufragen ...

Für mich ist meine Modifikation ausreichend. Ich will keine Zusatzpakete im Docker oder weitere Ports NAT'en oder Firewall anpassen. Ich sehe an PM und ein paar Posts hier dass es Nachfrage gibt. Daher die Nachfrage an den Modulauthor.

Zitat von: KernSani am 20 Dezember 2019, 21:19:01
Sorry, ich war länger nicht aktiv. Magst du mir deine modifizierte Version schicken, dann schaue ich mir das an, und übernehme es (ggf. mit Modifikationen). Ich habe keine Docker am Laufen, daher würde ich gerne auf das Angebot zu testen zurückkommen...

Phil1602 hat das Modul um einen Parameter erweitert, vielleicht gibt er dir die Version wenn du ihn anschreibst.
https://forum.fhem.de/index.php/topic,87714.msg968916.html#msg968916

Meine Modifikation im Modul habe ich im selben Thread ein paar Beiträge weiter oben gepostet ..
https://forum.fhem.de/index.php/topic,87714.msg943068.html#msg943068

Vielleicht macht es Sinn das Thema etwas generischer anzugehen. Einfach ein Attribut wie von Phil1602 vorgeschlagen

Ich hab das Modul mal um einen "CMD" Mode erweitert, sodass ein Command (Fhem, Perl oder System) ähnlich des ShutdownCmd definiert werden kann und dann direkt aufgerufen wird ohne dass Etherwake oder Wakeonlan verwendet wird. Den Entwurf davon werde ich mal im zugehörigen Forum posten.

Finde das besser, bietet viel mehr Möglichkeiten da losgelöst von ssh oder Docker.

Testen ist kein Problem, Version hier anhängen oder PM.