NEWS
[Tester gesucht] Wake on Lan (WOL) für Philips TV
-
Aktuelle Test Version iobroker.philips-tv-script (fork) Veröffentlichungsdatum 12.2019 Github Link https://github.com/Mic-M/iobroker.philips-tv-script ( Orgnialscript) Hallo Zusammen,
ich habe mich etwas mit dem Phillips-TV-Adapter, bzw. besser gesagt mit dem Script von @Mic auseinander gesetzt. Das Originalscript ist oben im Link zu finden.
Ich habe mich etwas im bereich der TV-Anschaltung mittel WOL (Wake on Lan ) versucht. Ich versuche Schritt für Schritt, nachvollziehbar, zu erläutern, wie der Versuchsaufbau ist:
- Vorbereitungen (PC):
Zu erst ist es ratsam ein "Packet-Sniffer" auf seinem PC zu installieren, damit man Kontrollieren kann, ob ioBroker überhaupt die sogenannten magic packets versendet.
Hier empfehle ich Wireshark. Ist das Tool installiert kann man es gerne mal ausführen. Hier bitte die richtige Netzwerkschnittstelle Auswählen. (Sitzt man am Laptop und ist mit Wlan Verbunden sieht man natürlich auf der Lan-Schnittstelle kein Datenverkehr).
Danach sollte das Bild etwas so Aussehen:
Wie in dem Grünen Feld zu sehen ist, einfach mal Wol eigeben und "Entern". Dann ist der Filer so eingestellt, dass Wireshark nur nach Wake On Lan-Paketen sucht, bzw sie anzeigt.
ZUSATZINFO: Der TV benamst das Wecken über Wlan WAKE ON WLAN. Wake on Lan und Wake on Wlan ist das gleiche, da beide Protokolle und Funktionen auf dem Ethernet-Standard basieren. Nur das Übertragungsmedium ändert sich. Kurz gesagt Wake on Lan und Wake on WLan ist identisch!
============================================================================================
- Vorbereitungen TV:
Am TV muss man die Funktion Wake on Wlan Aktivieren. Hier zu in den Netzwerkeinstellung die Funktion aktivieren. Damit man auch über Wlan wecken kann, muss man sein TV natürlich auch ins Wlan lassen. Also TV mit dem Wlan Verbinden (SSID + Passwort).
Der TV wird erstmals nur den Wlan-Adapter nutzen, was für Straming nicht optimal ist, aber nach einem Standby - Ein - Übergang merkt er dass die Lan-Schnittstelle die bessere Wahl ist.In den Netzwerk-Einstellungen der TV´s gibt es noch eine Übersichtsseite. Hier bitte die IP-Adressen BEIDER Adapter und Mac-Adressen des Wlan-Adapters notieren. Wer sein Netzwerk kennt, kann dies auch mit der Firtzbox oder Tools wie "Advanced IP Scanner" machen. Wichtig ist die Wlan-MAC, da Magic-Packet´s MAC-Basierend sind.
==================================================================================================
- Scripte
Falls das ihr noch keinen Benutzernamen/Passwort vom TV zugewisen bekommen habt, bitte nach dieser Anleitung vorgehen.
Falls ihr das "Standart-Script" von Mic in Benutzung habt, dieses bitte vorläufig deaktivieren.
Nun das Modifizierte Script einfügen:
Folgende Änderungen wurden Druchgeführt:
Zeile 50: Austausch von Harmony-Switch gegen WOL-Switch ( WOL-Switch wird in anderem Script automatisch generiert)
Zeile 211-213: Hier wurde Ursprünglich der Harmony-Switch abgesetzt. Nun ist es der WOL-Switch. Ich habe den Aufruf des Switches mehrfach drin, da es hier auch etwas auf die Netzwerkgröße, Traffic und Topologie ankommt.
Zeile 243 - 245: Selbiges wie Zeile 211 ff. Je nach netzwerkgröße die "//" entfernen.
Das nachfolgende Script gibt Standardmäßig 3 Magic-Pakets aus. In meinem Netzwerk hat dies Ausgereicht. Wenn ihr ein kommentar ("//") Wegmacht, werden somit 2 x 3 = 6 Pakete Versendet. Hier einfach etwas Testen. In meinem Fall liegt überall Cat 7e, Gigabit-Ethernet, und direkt neben dem TV ist ein Access Point.
Das nächste Script ist das eigentliche Wake on Lan Skript:
Hier muss evtl. Das nötige Paket händisch im JavaScript Adapter eingefügt werden. War zumindest bei mir so.
Wenn das Script eingefügt ist und gestartet kann man händisch schon mal den Switch aktivieren und im Wireshark mal schauen, ob denn WOL-Pakete durchs Netzwerk rauschen. Hierbei nicht Wundern. Die pakete werden Als Broadcast an die IP/Subnet 255.255.255.255 gesendet. Das ist alles normal. Wer sich hierfür Interessiert, einfach mal bisschen Nach Netzwerktechnik, Broadcastadresse/Netzaaddresse googlen.
Damit ich das Ganze per Alexa Ansprechen kann, habe ich noch ein Blockly dazu gebastelt:
Hierzu muss ein "virtueller Taster" ("SmartHomeSonder.0.Tv.On") angelegt werden, der im IOT-Adapter also Virtuelles Gerät in der Alexa angelegt wird.
Hier musste ich etwas mist den Zeiten experimentieren. Zwischen Wake on Lan und dem StandyBy-Knopf. Mit dieser Verzögerung funktioniert bei mir die Einschaltung zu 100%. Ist zwar immer ne schreck-Sekunde, also ruhig bleiben, aber es geht.
=======================================================================================
- Anregungen
Was man noch testen sollte wäre Folgendes:
- Aktuell Sende ich das WOL auf die Wlan-karte (muss ja auch so sein) und Steuere den TV aber über die Lan-Karte. Wäre mal einen Versuch wert, zu testen, ob es auch über die Wlan-Karte Steuerbar ist
- Ich habe bisher keine anderen Tasten als die Standby-Taste aus Mic´s Script verwendet. Man könnte hier auch Home, etc. verwenden.
- Fazit:
Alles in allem ist es eine kleine Script-Sauerei. Liegt aber daran, dass ich eigentlich noch nie Berührungspunkte mit JavaScript hatte. Habe ein bisschen zusammenkopiert und angepasst. Man könnte sicherlich das WOL-Script direkt in Mic´s Script implementieren. Wollte ich aber erst mal nicht, damit ich Mic´s script nicht unnötig "verwurschtel". Sollte noch etwas Übersicht geben, da es doch eher weniger Anpassungen sind in seinem Code (man spielt einfach nicht in Fremder leute Code... Wie sich das anhört, wenn man es ausspricht )
Irgendwelche Abfragen sind mangels Wissens auch nicht drin. Man könnte sicherlich nen Ping absetzten, und erst wenn dieser TRUE ist, sendet man den Key. Dennoch denke ich, dass man damit mal die WOL-Funktion Testen kann.
Denkbar wäre auch in Mic´s Script, oder dann irgendwann im fertigen Adapter eine Auswahl zu geben:- Einschalten über WOL
- Einschalten über Harmony (oder andere IR-Geräte)
Würde mich freuen, wenn sich einige Leute finden, um die ganze Sache zu testen. Ich denke, es kann schon ganz reizvoll sein, ohne Zusatzgerät den TV zu Starten. Oder es läuft wie bei mir, dass ich einfach keinen Spot habe, wo ich den IR-Blaster hinsetzten kann (zudem dass die IR-Schnittstelle von machen Philips-TV´s nicht die beste ist)
Falls es (Supportan-)Fragen , Anregungen, Ideen Hierzu oder Wünsche gibt, immer her damit. Und viel Spaß beim testen
mfg Daniel
-
@freak1051
Vielen Dank hierfür!Ich habe mal bei mir getestet, von einem PC, der im LAN hängt (nicht WLAN). ioBroker hängt ebenso im LAN (nicht WLAN).
Dann mal im Philips-TV das hier aktiviert (auch wenn da nichts von reinem LAN steht).
Danach habe ich im Philips TV die WLAN-Verbindung zusätzlich eingerichtet.Dann habe ich folgendes Script verwendet (mein Philips-TV-Script weiter aktiviert):
Ergebnis:
- Mit der WiFi-MAC vom TV geht es nicht.
- Mit der LAN-MAC vom TV funktioniert es! (auch nach Ausschalten von WiFi in den TV-Einstellungen)
Also: läuft soweit nach 3 Tests
Leider muss man ja beim Testen immer mehrere Minuten nach dem Ausschalten des TV warten, bis dieser nicht mehr erreichbar ist. Werde weiter testen.
Dann baue ich das ins Script mit ein. -
Ja sauber Wobei dieses Verhalten ja absolut entgegen gesetzt meinem ist. bei mir tut es über LAN kein Stück, und über WLAN tut es.
Naja ich denke Produktiv gesehen wäre es am besten in einem potentiellen Adapter einfach beide MAC-Adressen anzufordern, und auch beide Zu wecken. Schadet nicht, und die paar Pakete tun eigentlich keinem Netzwerk weh. Nimmt aber den Stress vom Entwickler, zwecks "Es tut nicht"
Ja und das warten ist immer etwas doof. Hatte eben den Vorteil dass wir 2 Baugleiche TV´s im Haushalt haben, was die Prüfzeit klar halbiert.
Und dien Script sieht natürlich schon etwas Professioneller aus Und so wies Aussieht tut es auch mit der Key Home Taste. Dann werd ich die auch mal noch nutzen. Nur bin ich ein Fan davon in einem ersten Test so gut wie keine Variablen zu vertauschen. Die Variablen kommen im Feldtest automatisch
Danke dir auf jeden Fall fürs testen
-
@freak1051
Da es so gut bei mir funktioniert, habe ich es in eine Alpha-Version im Philips-TV-Script implementiert, Version 1.0a. Dann kann man direkt damit testen:
https://github.com/Mic-M/iobroker.philips-tv-script/blob/master/philips-tv-script.js@freak1051 sagte in [Tester gesucht] Wake on Lan (WOL) für Philips TV:
Naja ich denke Produktiv gesehen wäre es am besten in einem potentiellen Adapter einfach beide MAC-Adressen anzufordern, und auch beide Zu wecken. Schadet nicht, und die paar Pakete tun eigentlich keinem Netzwerk weh. Nimmt aber den Stress vom Entwickler, zwecks "Es tut nicht"
Sehr guter Punkt, das obige Script erlaubt 2 MAC-Adressen für WOL.
Ebenso können weitere WOL-Einstellungen vorgenommen werden:
const WOL_USE = true; // Verwendung von "Wake on Lan" / WiFi aktivieren. Falls false, dann werden die weiteren Settings nicht weiter beachtet. const WOL_MAC_ADDR_1 = 'AA:AA:AA:AA:AA:AA'; // Philips TV MAC-Adresse. Bitte entsprechend eintragen (lt. "Netzwerkeinstellungen anzeigen" im Philips TV ersichtlich. Dabei entweder "Ethernet MAC Addresse" oder "MAC-Adressse, kabellos") const WOL_MAC_ADDR_2 = ''; // 2. Philips TV MAC-Adresse. Man kann hier noch eine 2. MAC-Adresse angeben (z.B. 1. vom LAN, und diese 2. vom WiFi). Falls nicht benötigt, diese 2. Adresse leer lassen. const WOL_PACKET_NUM = 5; // Kann man so lassen; ggf. auf 6-10 erhöhen, falls es nicht funktioniert. Erklärung: Anzahl WOL-Pakete, die jeweils gesendet werden sollen (Number of packets to send). Default: 3 const WOL_PACKET_INTERVAL = 100; // Kann man so lassen. Erklärung: Interval between each packet (in ms). Default: 100 const WOL_A_DELAY = 4000; // Nach dieser Verzögerung in Millisekunden (ms) wird das eigentliche Kommando zum TV zum einschalten gesendet (COMMAND_TO_LAUNCH).
WOL_A_DELAY
reicht bei mir 4000, ggf. auf 6000ms oder 8000ms erhöhen.Wie der Fernseher dann eingeschaltet wird, kann man hier einstellen:
// Kommando das zum TV einschalten abgesetzt wird. Default ist 'Key: Standby'. // Genau so kann man hier z.B. 'Key: Home' nehmen, oder 'Launch: Netflix' für Netflix, etc. Siehe pCommands unten für alle möglichen Befehle. const COMMAND_TO_LAUNCH = 'Key: Standby';
-
Perfekt. werd ich nachher gleich mal einbauen und meine Deaktivieren. Bin mal gespannt. Mit TvOn wird dann alles Angetriggert, wenn ich WOL_USE true hab, geh ich davon aus (mobil unterwegs, nicht ins script geschaut)
Aber freut mich, dass es bei dir doch so gut klappt. Und gute Vorarbeit für den adapter. Danke dir
-
@freak1051 sagte in [Tester gesucht] Wake on Lan (WOL) für Philips TV:
Mit TvOn wird dann alles Angetriggert, wenn ich WOL_USE true hab, geh ich davon aus (mobil unterwegs, nicht ins script geschaut)
Korrekt
Ebenso dir vielen Dank, dank deiner Infos konnte ich alles relativ einfach einbauen.
-
Na so gehört es sich doch. Hab zwar anfangs etwas hilfe gebraucht, aber man hilft wo man kann.
Hoffe, das sich evtl noch ein paar finden, um das ganze zu testen. ist doch noch ein übersichtliches Feld
-
So bin doch erst heute dazugekommen zum Testen.
Im Großen und ganzen funktioniert alles an deinem Script (naja ausser die Harmony-geschichte... aber das schließt ich auf fehlende Hardware )
Allerdings komm ich durch meinen LAN-Port nicht rein. Er lässt sich tatsächlich nur über den Wlan-Adapter aufwecken. Aber das mag evtl. ein Unterschiedlicher FW-Stand am TV, unterschiedliche HW oder ein anders modell sein. Von dem her. Voll auf zufrieden.
Wie läuft es bei dir? Stabil?
Hast du gut gemacht Danke
-
@freak1051 sagte in [Tester gesucht] Wake on Lan (WOL) für Philips TV:
@Mic
Im Großen und ganzen funktioniert alles an deinem Script (naja ausser die Harmony-geschichte... aber das schließt ich auf fehlende Hardware )Die ist ja auch nur optional Ich habe sie bei mir im Script eh jetzt deaktiviert.
Allerdings komm ich durch meinen LAN-Port nicht rein. Er lässt sich tatsächlich nur über den Wlan-Adapter aufwecken. Aber das mag evtl. ein Unterschiedlicher FW-Stand am TV, unterschiedliche HW oder ein anders modell sein. Von dem her. Voll auf zufrieden.
Ja, seltsam, aber so lange es bei beiden von uns geht....
Wie läuft es bei dir? Stabil?
Ja, bislang sehr stabil
-
@freak1051 und @Mic : Vielen Dank für die tolle Erweiterung des Scripts!
Ich habe das Script mit meinem Philips 75PUS7803/12 getestet. Das Einschalten über WOL hat auf Anhieb funktioniert!
-
@baerengraben super, das freut mich, danke fürs testen
-
Hey All,
ich spiele auch gerade mit dem Skript rum mit meinem neuen PUS7334 ... Bei mir will das Power on mit WOL und folgendem Kommando nicht
Wenn ich WOL mache dann sehe ich das das Display an geht und dann manchmal auch Ambilight ... aber sonst bleibt der Schirm aus hab die verschiedensten Kommandos versucht ... Das Kommando geht wohl erfolgreich durch, auch mehrfach senden geht nicht.
Habe den gleichen Effekt aber auch mit der Philips Remote-TV App ... also scheint wohl mal wieder generell blöd zu sein
Am Ende bin ich jetzt doch wieder beim Einschalten per "IR"
Jemand noch eine Idee?
Ingo
-
@apollon77
Hi Ingo, danke fürs Testen Habe dir schon per PM geantwortet.
Habe wohl die Lösung hierfür. Mehr Infos folgen alsbald. -
@apollon77
Hier nun die mögliche Lösung, funktioniert bei mir so wunderbar@Mic sagte in Test Adapter Philips-TV v0.2.x:
Es gibt folgende neue Optionen:
// ######################### Experimental (Version 1.2) ######################### // Wie es scheint bleibt das TV-Bild schwarz trotz WOL-Einschaltung, aber TV ist an (sichtbar an nicht mehr leuchtender roter LED) // Wir testen hier folgendes: Nach dem ausführen von COMMAND_TO_LAUNCH wird nach COMMAND_AFTER_WOL_DELAY Millisekunden ein weiterer Command abgesetzt (z.B. 'Launch: Home') const COMMAND_AFTER_WOL_DO = true; // hier diesen Test ein- oder ausschalten const COMMAND_AFTER_WOL_DELAY = 5000; // falls COMMAND_AFTER_WOL_DO = true: Anzahl in Millisekunden nach WOL_A_DELAY const COMMAND_AFTER_WOL_CMD = 'Launch: Home'; // der gesendete Command. // ######################### Experimental (Version 1.2) #########################
Das habe ich so seit einigen Wochen schon in Betrieb, und damit schaltet sich immer zuverlässig der Schirm ein, wenn der TV im Tiefschlaf war. Das dauert aufgrund der Delays allerdings etwas, bis das Bild kommt.
-
Neee, mein PUS7334 (2019er Modellreihe) ist da etwas zickiger. Ich sehe Ambilighttechnisch das er auf dem Home-Screen landet ... aber Bildschirm bleibt bis auf bissl backlight aus
-
@apollon77 sagte in [Tester gesucht] Wake on Lan (WOL) für Philips TV:
Neee, mein PUS7334 (2019er Modellreihe) ist da etwas zickiger. Ich sehe Ambilighttechnisch das er auf dem Home-Screen landet ... aber Bildschirm bleibt bis auf bissl backlight aus
Wir hatten uns ja schon ausgetauscht diesbezüglich. Echt seltsam, dass es bei dir so nicht funktioniert und wie von dir vermutet wohl echt Modell- und Firmware-abhängig.
WOL scheint echt ein "pain in the a..." unter. Siehe auch hier: https://github.com/eslavnov/pylips/issues/16#issuecomment-488034130
Bei mir jetzt nun nochmal mehrfach getestet, aktuelle Script Version 1.3 https://github.com/Mic-M/iobroker.philips-tv-script/blob/master/philips-tv-script.js
1.) BeiCOMMAND_AFTER_WOL_DELAY = 5000;
: zuverlässig
2.) BeiCOMMAND_AFTER_WOL_DELAY = 1;
: TV bleibt manchmal schwarz.(1) War bei mir auch einige Wochen so erfolgreich in Betrieb, immer zuverlässig.
Aber gut, daher ist ja auch im Script die Alternative, von "extern" den TV einzuschalten ohne WOL.