NEWS
Test Adapter Philips-TV v0.2.x
-
Also schon mal vielen Dank. Ich habe alles soweit am laufen.
Leider ird der TV aber nicht gesteuert, wenn ich in den Objekten versuche eine Taste zu drücken, oder ihn auszuschalten. Er bringt mir aber auch nicht wirklich nen Fehler im Log. Habe die const LOG_DEBUG mal auf true gesetzt, damit ich evtl was sehe. Ich wollte den Crusor rechts bedienen:
javascript.0 (31224) script.js.common.TestTV: stdout: <html> <head> <title>Status page</title> </head> <body style="font-family: sans-serif;"> <p style="font-size: 1.2em;font-weight: bold;margin: 1em 0px;">Unauthorized</p> <p>The request requires user authentication</p> <p>You can get technical details <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2">here</a>.<br> Please continue your visit at our <a href="/">home page</a>. </p> </body> </html> javascript.0 (31224) script.js.common.TestTV: stderr: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 424 100 424 0 0 5108 0 --:--:-- --:--:-- --:--:-- 5108 100 444 100 424 100 20 4000 188 --:--:-- --:--:-- --:--:-- 4188
Das wirft er mir aus, falls es was hilft.
Zu der WakeOnLan Geschichte. Da bin ich dafür etwas weiter:
In den Einstellungen des TV´s kann man das WakeOnWlan aktivieren. Allerdings muss er hierzu natürlich auch im Wlan eingewählt sein, was natürlich etwas Unglücklich ist. Muss hier die Performance noch etwas testen.
Allerdings Bekomme ich ihn mit folgendem Script aufgeweckt, damit ich zumindest mit der zugehörigen App-Fernbedieung ihn einschalten kann:
createState("javascript.0.TVStarten", 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var myPC1 = "FF:FF:FF:FF:FF:FF"; // MAC definieren ( auszulesen aus Einstellungen des TV oder Fritbox. MUSS WLAN-Mac sein!!) // Ab hier automatisch on({id: "javascript.0.TVStarten", change: 'any'}, function (obj) { wol.wake(myPC1); log("Script WOL - PC1 aufgeweckt", "info"); } );
-
Diese Fehlermeldung, die du bekommst (von mir gekürzt)
Unauthorized The request requires user authentication
deutet darauf hin, dass dein im Script vergebener Username/Passwort nicht passt.
Zu Wake On Lan:
Sehr interessant, dass das bei dir funktioniert. Bitte beobachte mal, ob das immer zuverlässig geht. eslavnov (Owner von github.com/eslavnov/pylips) merkt hier im GitHub Issue 16 an, das WOL wohl ziemlich unzuverlässig läuft:I was actually waiting for somebody to bring up WoL support sooner or later... I've struggled A LOT with trying to turn the TV on:
- The API indeed stops responding after the TV has been off for some time. I've also tried various deep sleep/eco options in the TV, but still no luck.
- HDMI-CEC works with something like a Raspberry Pi, but I've had mixed experience with it: when it works - it works, but sometimes it just failed on me. Could be a problem with my RPi, though - I didn't troubleshoot it much.
- WoL sorta works, but it sucks. If I remember correctly, I had to enable WoL option somewhere in the network settings of the TV, then you send a magic packet with the TV's MAC address and it works for me (at least on Oreo, haven't tested it on Pie). But the problem is that it's quite unreliable (sometimes one packet does the job, but sometimes I need to send several) and the whole process takes a rather long time to work (sometimes up to 20-30 seconds). Not sure why Philips TVs behave this way (WoL works perfectly with my other tech)...
- Your best choice is indeed an ir transmitter, I am using Broadlink rm mini 3 which works on Wi-Fi and it's the best $15 I've ever spent. I use Pylips (in MQTT mode) to monitor the current state of the TV and to turn it OFF with the API, while using Broadlink to turn it ON. Works great!
So, the lack of WoL support in Pylips is a design choice of mine: it's super-easy to implement, but it's impossible to guarantee a reasonable performance with Philips TVs (at least in my experience). I'd rather have no functionality than a broken one, so no plans to implement it...
-
@Mic
Okay dann werd ich nachher nochmal schaun, ansonsten nochmal schnell neu vergeben.
Dem ganzen tut aber nichts zur Sache, dass es ein Android TV ist? Die meisten Modelle, die ich belesen habe waren keine Androiden.EDIT:
Name/PW nochmal neu generiert. Jetzt tut es. Werd morgen mal vernünftig die WOWL Sache testenMir ist jetzt folgendes aufgefallen (validiert mit wireshark) :
-
Die Handy-App sendet ein Magic packet, subnet 255.255.255.255. Hier tuts tatsächlich so lala
-
Das JS-script schiebt 3 Pakete, funktioniert zu 70%. Sendet auch an 255.255.255.255
-
Die fritzbox sendet 5 Pakete, 90% Trefferquote, sendet aber ans subnet "Broadcast"
Mir ist schon klar, dass 255.255.255.255 auch Broadcast ist, aber komisch das die FB anders auflöst.
Nun ist die Frage ob die größere Zuverlässigkeit eher an der Namensauflösung liegt, daran dass es ne Fritzbox ist oder daran, dass sie das Paket häufiger sendet.
Wäre zwar traffic-massig gemein, aber man könnte ja mal ins JS-script ne Schleife machen, dass man mit. Dem. Scrip n x 3 Pakete versendet.Andere Alternative ist Wake On Chromecast. Hab ich bei dem eslavonv gesehen, dass user meinten, damit würde es gehen. Werde ich morgen auch testen. Man muss den **** TV doch angeschaltet bekommen, ohne zusätzliche HW
Werde ich morgen mal nochmal testen
-
-
Guten Morgen,
Also ich habe nun mit folgenden Versuchsaufbau gute Ergebnisse erzielt:
- TV an LAN angeschlossen, feste IP vergeben
- TV in Wlan eingebunden, feste IP vergeben
Das Wake on Lan Script schaut auf die Mac-Adresse des Wlan-Adapters.
Anstatt Mic´s Harmony Hub anzusteuern, habe ich mein Script angeworfen. In Mic´s Script habe ich an der stelle, wo er an die Harmony den Befehl gibt, den gleichen befehl ein zweites mal eingefügt. Bedeutet er wirft das WOL-Script 2 mal an, ergo macht er 6 WOL-Pakete.Interessanterweise ist dann der Ethernet-Adapter in meiner Fritz Box aktiv geworden. Bedeutet Mic´s Script schaut nicht auf die IP-Adresse des W-Lan Adapters sondern auf den Lan Adapter.
Habe es gestern Abend so schon getestet, wobei ich natürlich nicht weiß, nach welcher Standby-Zeit der TV in den Deep-Sleep geht. Somit habe ich das heute morgen (6 Stunden Standby) nochmal getestet und es ging auf Anhieb. Auch habe ich nun Mehrfach den TV ausgesteckt, und es direkt nach dem einstecken Getestet. Also grundsätzlich bekomme ich ihn so an.
Nun ist die Frage ob jemand eine halbe stunde Investieren kann, um Dies bei sich auch mal zu testen. Ich gebe gerne dann mein modifiziertes Script raus, möchte es aber um Verwirrung vorzubeugen hier nicht direkt Posten. Zudem ist es sicherlich nur Quick and Dirty Programmiert, da ich eigentlich keine Ahnung von Java Script habe. Wenn das also alles klappt, müsste da mal noch nen Profi ran Dachte mir, evtl könnte man es dann so gestalten, dass man wir bisher ein Steuerbit setzt: Nimmt man ein externes Gerät, oder nimmt man WOL/WOWL. Aber wie gesagt, um dies sauber zu machen, fehlt mir das JS-Wissen.
Falls das jemand testen will, empfehle ich auch noch das Tool Wireshark herunter zu laden. Damit kann man den Lan-Traffic mitloggen, und Wake-On-Lan Pakete filtern. Um zu sehen, ob überhaupt das Paket raus geht. Falls es jemand wirklich testen möchte, stehe ich hier und gerne auch per Discord gerne zur Verfügung.
Grüße
Daniel
-
@Mic said in Test Adapter Philips-TV v0.2.x:
Diese Fehlermeldung, die du bekommst (von mir gekürzt)
Unauthorized The request requires user authentication
deutet darauf hin, dass dein im Script vergebener Username/Passwort nicht passt.
Zu Wake On Lan:
Sehr interessant, dass das bei dir funktioniert. Bitte beobachte mal, ob das immer zuverlässig geht. eslavnov (Owner von github.com/eslavnov/pylips) merkt hier im GitHub Issue 16 an, das WOL wohl ziemlich unzuverlässig läuft:I was actually waiting for somebody to bring up WoL support sooner or later... I've struggled A LOT with trying to turn the TV on:
- The API indeed stops responding after the TV has been off for some time. I've also tried various deep sleep/eco options in the TV, but still no luck.
- HDMI-CEC works with something like a Raspberry Pi, but I've had mixed experience with it: when it works - it works, but sometimes it just failed on me. Could be a problem with my RPi, though - I didn't troubleshoot it much.
- WoL sorta works, but it sucks. If I remember correctly, I had to enable WoL option somewhere in the network settings of the TV, then you send a magic packet with the TV's MAC address and it works for me (at least on Oreo, haven't tested it on Pie). But the problem is that it's quite unreliable (sometimes one packet does the job, but sometimes I need to send several) and the whole process takes a rather long time to work (sometimes up to 20-30 seconds). Not sure why Philips TVs behave this way (WoL works perfectly with my other tech)...
- Your best choice is indeed an ir transmitter, I am using Broadlink rm mini 3 which works on Wi-Fi and it's the best $15 I've ever spent. I use Pylips (in MQTT mode) to monitor the current state of the TV and to turn it OFF with the API, while using Broadlink to turn it ON. Works great!
So, the lack of WoL support in Pylips is a design choice of mine: it's super-easy to implement, but it's impossible to guarantee a reasonable performance with Philips TVs (at least in my experience). I'd rather have no functionality than a broken one, so no plans to implement it...
Habe jetzt hete ausgiebig getestet:
Wenn ich auf deinen TvOn knopf gedrückt habe, hat sich erst mal nichts getan. Dennoch habe ich anstatt den Harmony anzusteuern ein WOL-Paket an die W-Lan Mac-adresse geschickt.
Dennoch ging der TV nach den On-Switch nicht an. ABER : Nachdem ich deinen TvOn gedrückt habe und danach mit dem Pulldown Key:Standby gesendet hat ging er IMMER an. Habe nun Pausen zwischen den Versuchen gemacht Zwischen 10 minuten und 5 Stunden. Also war er sicher im Deep Sleep (Habe 2 mal das selbe Gerät)Nun weiß ich nicht, ob es mit dem Standby-key zu tun hat, oder durch das Aufwecken. Aber Es scheint aktuell zu funktionieren.
Habe auch ein IOT-Blockly-Alexa script gebaut. Das script schält mir erst Mic´s TvOn und 2 Sekunden Später sendet es Key:Standby. Hat jetzt immer gut geklappt. Und hab den TV heute (absichtlich) öfter mal aus und wieder Angemacht.
In diesem Sinne, wäre cool, wenn sich jemand anders zum Testen findet, evtl. Bekommt man das in das Script, und später evtl in den Adapter implementiert.
-
Hi @freak1051
vielen Dank für deinen Einsatz und deine "Investigations"
@freak1051 sagte in Test Adapter Philips-TV v0.2.x:
Habe auch ein IOT-Blockly-Alexa script gebaut. Das script schält mir erst Mic´s TvOn und 2 Sekunden Später sendet es Key:Standby. Hat jetzt immer gut geklappt. Und hab den TV heute (absichtlich) öfter mal aus und wieder Angemacht.
In diesem Sinne, wäre cool, wenn sich jemand anders zum Testen findet, evtl. Bekommt man das in das Script, und später evtl in den Adapter implementiert.Ich kann im Bedarfsfall gerne testen, geht aber zeitlich erst in mehreren Tagen. Cool wären ja mehrere Tester. Falls du mal die Tage die Muße hast, könntest du ja auch einen neuen Forumthread "[Tester gesucht] Wake on Lan (WOL) für Philips TV" aufmachen und reinschreiben/zusammenfassen, wie man vorgeht beim testen.
-
Okay, werd ich morgen mal Machen. Dann stelle ich dort auch mal deinen Modifizierten Code zur Verfügung. Vorallem werd ich dir Unterschiede deutlich Kennzeichnen.
Dann wirds ne kleine Anleitung geben und Bilder. Dann mal schauen, ob das bei anderen Auch so klappt.
Frage Hierzu. Fremdlinks mit Software (eben Wireshark) im Forum erlaubt=?
-
@freak1051 sagte in Test Adapter Philips-TV v0.2.x:
@Mic
Okay, werd ich morgen mal Machen. Dann stelle ich dort auch mal deinen Modifizierten Code zur Verfügung. Vorallem werd ich dir Unterschiede deutlich Kennzeichnen.
Dann wirds ne kleine Anleitung geben und Bilder. Dann mal schauen, ob das bei anderen Auch so klappt.Frage Hierzu. Fremdlinks mit Software (eben Wireshark) im Forum erlaubt=?
Meine Erfahrung: Das wird hier herausragend super gehandhabt! Das heißt: klar soll keiner Werbung posten, aber Links zu relevanten Websites im Bezug auf den Artikelinhalt sind immer erlaubt und willkommen. Auch Links auf Shops sind erlaubt, wenn man eine bestimmte Hardware bespricht. Sicherlich nicht erlaubt ist halt persönliche Bereicherung, also Affiliate-Links, die per Klick etc. dem Poster Einnahmen bescheren.
-
Perfekt. Weil denke macht dann doch sinn, wenn man ne Testumgebung schaft, die halbwegs einheitlich ist. Vermeidet dann doch fragen wie " wie stelle ich mein Sniffing Tool jetzt ein, dass ich nur die WOL´s sehe?".
Zum Zischenstand bei mir:
bei 2 TV´s Funktioniert die Einschaltung zu 100%. Musste etwas mit Timings spielen, da der Adapter im TV recht lange braucht bis er wach ist, aber es läuft!
-
@Mic
Aktuell sieht es so aus, dass ich kein Test aufmachen kann, da ich weder entwickler bin, noch die Beauftragung dazu habe etwas zu testen. ... So als info.Also wenn jemand mit den Auftrag geben darf/kann/will: Her damit
-
@freak1051 @Jey-Cee Soll ich den Auftrag geben? Ist ja quasi (hoffentlich temporärer) Ersatz für meinen Adapter.
-
Klaro, dann kann man das Testen, und du evtl einbinden wenn es passt.
-
Neue Script-Version 1.2
@apollon77 hat sich das Script vorgenommen und ziemlich verbessert:
- Kein curl mehr, nutzt jetzt "request", was immer da ist in JS
- Channel werden ausgelesen und man kann Kanäle ansteuern
- Powerstate polling
- Weitere Optimierungen
Vielen Dank an Ingo hierfür! Ich kann hierdurch noch einiges lernen, wie du das umgesetzt hast.
Zudem habe ich eine "Experimental"-Option für das leidige Thema WOL (Tester gesucht: Wake on Lan (WOL) für Philips TV) eingebaut.
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.
Freue mich über eure Rückmeldungen.
Link: Script-Version 1.2
-
@Mic Funktioniert sehr gut! Vielen Dank für die Entwicklung! Ich finde es auch klasse, dass man nun sehen kann ob der Fernseher an oder aus ist.
Mir fehlt nun leider die Erklärung, wie ich die Daten an HomeKit/Yahka weitergeben und aus iOS heraus meinen Fernseher steuern kann. Gibt es dazu ein HowTo?
Bis dahin nochmals vielen Dank!
Bleibt gesund!
Fabian -
@fabib sagte in Test Adapter Philips-TV v0.2.x:
Danke für dein Feedback.Mir fehlt nun leider die Erklärung, wie ich die Daten an HomeKit/Yahka weitergeben und aus iOS heraus meinen Fernseher steuern kann. Gibt es dazu ein HowTo?
Dazu musst du dir ansehen, wie du in Homekit/Yahka entsprechend Datenpunkte ansteuern kannst (ist dann im Prinzip egal ob Philips TV Datenpunkte oder Heizungsdatenpunkte, etc.). Ggf. machst du diesbezüglich einen neuen Thread auf.
-
Hi,
habe das Script am Laufen und kann auch verschiedene Kommandos absetzen.
Woran ich aber scheitere ist es, auf die verschiedenen HDMI Kanäle zu wechseln.
Hat hier jemand Rat?Danke
-
Hallo,
bin seit kurzer Zeit stolzer Besitzer eines neuen PhilipsTVs (55OLED804/12) und habe mich auf den Einsatz des Scripts gefreut.
Leider funktioniert es bei mir jedoch nicht.
Nutzername und Passwort habe ich ausgelesen. IP- und MAC-Adresse sind im Script eingegeben. Das script läuft, der TV ist an doch leider bleibt der state "power status" auf false. Im Log habe ich folgende Einträge:javascript.0 2020-05-03 12:34:43.975 info (9272) script.js.Medien.Philips_TV: Current PowerState: Off javascript.0 2020-05-03 12:34:43.974 info (9272) script.js.Medien.Philips_TV: [Debug] Error message: HTTP Error 401 javascript.0 2020-05-03 12:34:43.974 warn (9272) script.js.Medien.Philips_TV: TV seems to be off and in deep sleep, so we could not GET powerstate from the TV. javascript.0 2020-05-03 12:34:43.974 info (9272) script.js.Medien.Philips_TV: [Debug] response: "<html>\n<head>\n <title>Status page</title>\n</head>\n<body style=\"font-family: sans-serif;\">\n<p style=\"font-size: 1.2em;font-weight: bold javascript.0 2020-05-03 12:34:43.973 info (9272) script.js.Medien.Philips_TV: GET powerstate from Philips TV. javascript.0 2020-05-03 12:34:43.868 info (9272) script.js.Medien.Philips_TV: registered 0 subscriptions and 0 schedules javascript.0 2020-05-03 12:34:43.845 info (9272) Start javascript script.js.Medien.Philips_TV
Meine API-Version ist wohl 6. Unter http://IP:1925/6 und https://IP:1926/6 bekomme ich aber keine Verbindung (--> not found)
Hat jemand einen Tipp?
-
@nathan1312
Funktioniert das Script, wenn der TV an ist? -
@Mic sagte in Test Adapter Philips-TV v0.2.x:
@nathan1312
Funktioniert das Script, wenn der TV an ist?Das ist es ja... Der TV WAR an. Das script hat das aber nicht erkannt.
-
Gehe mal in die Konsole des ioBrokers und führe aus (TV muss an sein!):
curl -X GET --digest --insecure -u USER:PASSWORT https://xx.xx.xx.xx:1926/6/ambilight/currentconfiguration
- USER: Username (https://forum.iobroker.net/post/352828)
- PASSWORT: Passwort (https://forum.iobroker.net/post/352828)
- xx.xx.xx.xx: IP deines TVs
Bekommst du damit eine Ausgabe?
Bei mir kommt da:{"styleName":"FOLLOW_VIDEO","isExpert":false,"menuSetting":"STANDARD","stringValue":"Standard"}
Falls da keine Ausgabe kommt, passt was beim Setup, User/PW etc. nicht oder der TV unterstützt das nicht (was ja schon verwunderlich wäre).