NEWS
Test Adapter Philips-TV v0.2.x
-
Hallo an alle
vielen Dank für das Script
funktioniert superHabe es jetzt selber hinbekommen! Falls es jemand anderes braucht oder es mit in das Script kommt, hier der Code für Plex:
pCommands['Launch: Plex'] = ['activities/launch', '{"id":"com.plexapp.plex.activities.SplashActivity-com.plexapp.android","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.plexapp.android }","component":{"packageName":"com.plexapp.android","className":"com.plexapp.plex.activities.SplashActivity"}},"label":"Plex"}'];
hier DS photo:
pCommands['Launch: DS photo'] = ['activities/launch', '{"id":"com.synology.dsphoto.ui.welcome.WelcomeActivity-com.synology.dsphoto","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.synology.dsphoto }","component":{"packageName":"com.synology.dsphoto","className":"com.synology.dsphoto.ui.welcome.WelcomeActivity"}},"label":"DS photo"}'];
DS video
pCommands['Launch: DS video'] = ['activities/launch', '{"id":"com.synology.dsvideo.ui.WelcomeActivity-com.synology.dsvideo","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.synology.dsvideo }","component":{"packageName":"com.synology.dsvideo","className":"com.synology.dsvideo.ui.WelcomeActivity"}},"label":"DS video"}'];
TV-Guide:
pCommands['Key: TV-Guide'] = ['activities/launch', '{"id":"org.droidtv.channels.ChannelsActivity-org.droidtv.channels","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.droidtv.channels }","component":{"packageName":"org.droidtv.channels","className":"org.droidtv.channels.ChannelsActivity"}},"label":"TV-Guide"}'];
App Settings
pCommands['Key: App-Settings'] = ['activities/launch', '{"id":"com.android.tv.settings.device.apps.AppsActivity-com.android.tv.settings","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.android.tv.settings }","component":{"packageName":"com.android.tv.settings","className":"com.android.tv.settings.device.apps.AppsActivity"}},"label":"App-Settings"}'];
TV Settings:
pCommands['Key: TV-Settings'] = ['activities/launch', '{"id":"org.droidtv.settings.setupmenu.SetupMenuActivity-org.droidtv.settings","order":0,"intent":{"action":"Intent{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.droidtv.settings }","component":{"packageName":"org.droidtv.settings","className":"org.droidtv.settings.setupmenu.SetupMenuActivity"}},"label":"TV-Settings"}'];
-
Was noch cool wäre wenn der powerstate als on oder Standby als extra Object mit aufgeführt wird!
-
Hallo,
ich würde ebenfalls gerne meinen Philips 70PUS6724 über Iobroker steuern, leider komme ich aber nicht so richtig weiter. Folgende Schritte habe ich bisher unternommen:
- Api Version 6.1 herausgefunden http://192.168.1.12:1925/6/system
{ "menulanguage": "German", "name": "70PUS6724/12", "country": "Germany", "serialnumber_encrypted": "K2kseVsmQFgkd15gKkJ+ajWjm5IGwUN0zi/cgHa2Dek=", "softwareversion_encrypted": "K2kseVsmQFgkd15gKkJ+amueMe3DHAmDQ8d/R/pbq74m8OUGE0B+OUE0k6rOJGUV", "model_encrypted": "K2kseVsmQFgkd15gKkJ+arutraKiG7GwVgyXxP8LDqE=", "deviceid_encrypted": "K2kseVsmQFgkd15gKkJ+anywDDin3kWZBOZxaJliRr0=", "nettvversion": "4.6.0.1", "epgsource": "no_epg", "api_version": { "Major": 6, "Minor": 1, "Patch": 0 }, "featuring": { "jsonfeatures": { "recordings": [ "List", "Schedule", "Manage" ], "ambilight": [ "Hue", "HueStreaming", "Ambilight" ], "textentry": [ "context_based", "initial_string_available" ], "inputkey": [ "key", "unicode" ], "pointer": [ "context_based" ], "activities": [ "browser" ] }, "systemfeatures": { "tvtype": "consumer", "content": [ "dmr" ], "pairing_type": "none", "companion_screen": true, "os_type": "Linux" } } }
Da kein Benutzername/Passwort abgefragt wurde, habe ich die Scripte zur Ermittlung von User/Passwort und zur Einbindung in Iobroker nicht verwendet. Ist das korrekt oder muss ich dies trotzdem tun?
Habe dann sowohl mit dem Adapter getestet, dieser bleibt leider gelb, als auch mit dem Script von MIC, welches ich über den Javascript-Adapter eingespielt habe. Die beiden Möglichkeiten sind doch unabhängig von einander oder hängen sie in irgendeiner Art und Weise voneinander ab?
/******************************************************************************* * --------------------------- * Philips TV Script for ioBroker * --------------------------- * * Da der Philips-TV-Adapter noch nicht wie gewünscht funktioniert, habe ich dieses * Script geschrieben, um Philips-TVs zu steuern. * * ---------------------------------------------------- * Aktuelle Version: https://github.com/Mic-M/iobroker.philips-tv-script * Support: https://forum.iobroker.net/topic/8791/aufruf-philips-tv-v0-1-0-testen * ---------------------------------------------------- * Resources: * - ioBroker Philips TV Adapter: https://forum.iobroker.net/topic/8791/aufruf-philips-tv-v0-1-0-testen * - Many thanks to Evgeny Slavnov for the unofficial Philips TV API Reference: https://github.com/eslavnov/pylips/wiki * - Python Script with MQTT support: https://github.com/eslavnov/pylips * - Some info: https://community.openhab.org/t/philips-tv-2016-binding/64579/61 * ---------------------------------------------------- * Change Log: * 0.6 Mic-M * Added Commands Ambilight Hue On/Off - thanks to BeautyBoyBob * 0.5 Mic-M * Initial release on Github *******************************************************************************/ /******************************************************************************* * Settings *******************************************************************************/ // Pfad, unter dem die Objekte angelegt werden. const STATE_PATH = 'javascript.0.PhilipsTV-Script.'; // Generate User/Password: see https://github.com/nstrelow/ha_philips_2016 const PHILIPS_USER = ''; const PHILIPS_PASS = ''; // URL, change IP address accordingly (and you may also need to change port, see for example https://github.com/eslavnov/pylips) const PHILIPS_URL = 'http://192.168.1.12:1925/6/'; // Logging const LOG_INFO = true; const LOG_DEBUG = true; /** * Falls Philips-TV für mehrere Minuten im Standby ist, ist dieser nicht mehr per PHILIPS_URL erreichbar. * Dann lässt dieser sich nicht per Script einschalten. Daher verwenden wir ein separates Gerät, * um den TV einzuschalten. Bei mir: Logitech Harmony */ // Auf false setzen, wenn man kein Gerät hat, um den Philips zu schalten. Dann werden die weiteren 2 Settings nicht weiter beachtet. const CONTROL_DEVICE_USE = false; // State zum Gerät, das den TV ein/aus schaltet const CONTROL_DEVICE_STATE = 'harmony.0.Harmony_Hub_4.Philips_TV.PowerToggle'; // Was in den Datenpunkt zum einschalten gesetzt werden muss. Bei Harmony ist dies ein Toggle, es wird 1 erwartet. const CONTROL_DEVICE_CMD_ON = 1;
Auch beim Einsatz des Scriptes passiert leider nichts. So sieht der Log aus:
2019-12-10 15:20:53.365 - info: javascript.0 (25888) script.js.Eigene_Skripte.Philips-TV-script: We have connection to the TV. Power State: On 2019-12-10 15:20:53.379 - info: javascript.0 (25888) script.js.Eigene_Skripte.Philips-TV-script: Execute turning TV off: turning it off now... 2019-12-10 15:20:53.406 - info: javascript.0 (25888) script.js.Eigene_Skripte.Philips-TV-script: stdout: Service Unavailable 2019-12-10 15:20:53.406 - info: javascript.0 (25888) script.js.Eigene_Skripte.Philips-TV-script: 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 92 100 92 0 0 6252 0 --:--:-- --:--:-- --:--:-- 6571
Würde mich freuen, wenn mich jemand unterstützen würde. Vielen Dank im Voraus!
-
Hallo Zusammen,
habe mich jetzt auch mal Dran gemacht:
Ich habe Folgenden TV: 55PUS8503/12 (Android)
Folgende IP´s geben mir das zurück:
-
http://TVIP:1925/1 --> Not Found
-
http://TVIP:1925/5 --> Not Found
-
http://TVIP:1926/1 --> Nicht erreichbar
-
http://ip-des-fernsehers:1925/1/audio/volume --> Not Found
-
http://ip-des-fernsehers:1925/5/audio/volume --> Not Found
-
https://ip-des-fernsehers:1926/6/audio/volume --> Not Found
-
https://fernseher:1926/6 --> Unsicher, möchten sie weitermachen (Unsicher), Not Found
-
http://ip-des-fernsehers:49154/nmrRenderingControl.xml -->nicht erreichbar
{"notifyChange":"http","menulanguage":"German","name":"Phillips Daniel","country":"Germany","serialnumber_encrypted":"aRbjSYC9yhiXxO4IIfm8xvOpPgNtSb4U+D5ct5nQVNY=\n","softwareversion_encrypted":"Js00tm/xfYDLzrFRr6OUimoGg1EQadrcjitA7CMi4hzoHYoAoMNM0fHpS8kulNGk\n","model_encrypted":"YKnVNNBLj77zZq47VjPDiecqeeAgKaOnEVT/xXmHNy0=\n","deviceid_encrypted":"OOgsOSJOtGsOMiLoXc/2/FtRdv5dPrBMplta6y1J/Po=\n","nettvversion":"8.0.2","epgsource":"one","api_version":{"Major":6,"Minor":1,"Patch":0},"featuring":{"jsonfeatures":{"editfavorites":["TVChannels","SatChannels"],"recordings":["List","Schedule","Manage"],"ambilight":["LoungeLight","Hue","Ambilight"],"menuitems":["Setup_Menu"],"textentry":["context_based","initial_string_available","editor_info_available"],"applications":["TV_Apps","TV_Games","TV_Settings"],"pointer":["not_available"],"inputkey":["key"],"activities":["intent"],"channels":["preset_string"],"mappings":["server_mapping"]},"systemfeatures":{"tvtype":"consumer","content":["dmr","pvr"],"tvsearch":"intent","pairing_type":"digest_auth_pairing","secured_transport":"true","companion_screen":"true"}},"os_type":"MSAF_2018_O"}
https://tvip:1926/input/Key --> Benutzername/Passwort
http://10.0.0.112:49154/nmsDescription.xml -->nicht erreichbar
http://10.0.0.112:49154/nmrAVTransport.xml -->nicht erreichbar
http://10.0.0.112:49154/nmsContentDirectorySCPD.xml -->nicht erreichbar
http://10.0.0.112:49154/nmrConnectionManager.xml -->nicht erreichbar===========================================================
Dieses Skript hab ich auch am laufen, allerdings wüsste ich nicht, woher ich diese Verschlüsselten Username/Passwort-Daten herbekommen sollte. Habe einfach mal irgendwas eingeben
Witzigerweise Verbindet sich mein Adapter:
@akr1983 said in Test Adapter Philips-TV v0.2.x:
Hiho,
hier das Script:
const obj = getObject("system.adapter.philips-tv.0"); obj.native.username = "**OlzSQ3PYMBMZfPDS**"; obj.native.password = "**250ff7b75e22da0144b0da7086382b3f11b9bf1e771a3db30451f971f0b01fea**"; setObject("system.adapter.philips-tv.0", obj);
Siehe Hier:
===============================================================================
Und wenn ich Versuche in den Objekten einen Taste zu drücken, bekomme ich auch die meldung, welche Schmuh bekommt:
@schmuh said in Test Adapter Philips-TV v0.2.x:
Ich schliesse mich an, ich bekomme die gleiche Fehlermeldung bei pressKey:
philips-tv.0 2018-07-11 19:49:10.871 debug connection is ALIVE
philips-tv.0 2018-07-11 19:49:10.858 debug checking if connection is alive
philips-tv.0 2018-07-11 19:49:00.851 debug connection is ALIVE
philips-tv.0 2018-07-11 19:49:00.840 debug checking if connection is alive
philips-tv.0 2018-07-11 19:48:56.494 error Error handling state change philips-tv.0.pressKey => Mute: Cannot read property 'username' of undefined
philips-tv.0 2018-07-11 19:48:56.494 debug state with id philips-tv.0.pressKey updated: ack=false; val=Mute
Hoffe ich konnte damit helfen. Oder gibts denn mittlerweile Fortschritte? Wenn ja bitte Anfänger-tauglich Schreiben
grüße Daniel
-
-
Nachdem ich mich etwas in dein Sript Eingelesen habe, komme ich leider nicht ganz weiter.
Hab mir deinen Code Angeschaut und Hänge bei dem Punkt Generate User/password.Pairing the TV First you need to pair the TV. This gets you a username and a password to be used in the configuration of the component. 1. Clone the repo with pairing script: git clone https://github.com/suborb/philips_android_tv 2. Install the requirements (for Python 3, so you may need to use pip3): pip3 install -r requirements.txt 3. Execute pairing. A PIN code will appear on your TV. Input that in your terminal python3 philips.py --host <IP of TV> pair
Das ist die Anleitung aus deinem Script, auf die du verweist. Wo muss ich das denn machen? In einem Javascript? Oder auf nem "Normalen" PC?.
Kannst du mir da bitte etwas helfen dabei?
Und ist es am ende Möglich den TV via Alexa auszuschalten, Muten und pausieren?
grüße
Daniel
-
Hier mal eine Anleitung für Linux für die Generierung von User-Name und Passwort für den Philips-TV. Ich habe hierzu eine frische Debian-Installation (Proxmox-Container) genommen.
Muss man sich halt mal 10 Minuten Zeit nehmen. Danach kann man die Installation wieder verwerfen, braucht man nur einmalig.A) Debian Basis-Einrichtung
- Debian-Container (CT) erstellen
- In Proxmox den CT starten und auf die Konsole gehen
- Neuen Nicht-Root-User anlegen:
adduser <username>
- Ausführen:
apt-get update && apt-get upgrade && apt-get dist-upgrade
- sudo installieren:
apt-get install -y sudo
- User zur sudo-Gruppe hinzufügen:
adduser <username> sudo
- Mit
ip addr
die IP-Adresse anzeigen - Anhand der IP-Adresse mit Putty verbinden, dabei den neu angelegten User nehmen, nicht den root-User.
- Nun geht es in Putty weiter
- Ausführen:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
- curl installieren:
sudo apt-get install curl
- git installieren:
sudo apt install git
- pip für Python 3 installieren:
sudo apt update && sudo apt install python3-pip
B) Benutzername und Passwort bekommen (Quelle)
- Wir wechseln ins tmp-Verzeichnis:
cd /tmp
git clone https://github.com/suborb/philips_android_tv
cd philips_android_tv
pip3 install -r requirements.txt
- Philips TV einschalten und warten bis Startbildschirm erscheint
- Nun ausführen:
python3 philips.py --host <IP> pair
, dabei statt <IP> die IP-Adresse vom Philips-TV eintragen, z.B.python3 philips.py --host 192.168.10.20 pair
- Auf dem Philips-TV erscheint nun ein (4?)stelliger Code, diesen in die Konsole eingeben.
- Nun erhält man bei Erfolg Benutzername und Passwort
Auszug aus Konsole:
me@test:/tmp/philips_android_tv$ python3 philips.py --host 192.168.10.20 pair Starting pairing request Enter onscreen passcode: 1234 Attempting to pair {'error_id': 'SUCCESS', 'error_text': 'Pairing completed'} Username for subsequent calls is: xxxxxxxxxxxxxx Password for subsequent calls is: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
@freak1051 sagte in Test Adapter Philips-TV v0.2.x:
Und ist es am ende Möglich den TV via Alexa auszuschalten, Muten und pausieren?
Ja, wenn du bei dir ioBroker so eingerichtet hast, dass du Datenpunkte mittels Alexa schalten kannst (z.B. über iot-Adapter oder z.B. über https://forum.iobroker.net/topic/10476/alexa-anbindung-ohne-cloud-und-skill
-
Perfekt. Das werd ich morgen dann mal in Angriff nehmen. Vielen dank, für die Super Anleitung.
Ich denke, ich werd das ganze nebenbei Screenshotten, oder vielleicht Sogar aufnehmen, und gerne dir/der Allgemeinheit zur Verfügung stellen.
Zur Debian Instnaz: Ist es egal Welche Distri? Habe glaube ich Sketch eh als iso da. Oder sollte sie Aktueller sein?
=================EDIT/NACHTRAG===========================
Was mir bzgl. dem ausgeschaltetem TV aufgefallen ist, was du evtl auch einbauen könntest:
Ich habe bisher die Philips eigene Ferbedienungs-App für Android genutzt. Ist der TV ausgeschaltet, erkennt die App den TV auch nicht. Mit einem Wake On Lan kann man aber den TV soweit aufwecken, dass die Fernbedienungs-App den TV erkennt und ich den TV einschalten kann. Werde das evtl versuchen zu testen/einzubauen und dir bescheid geben
-
@Mic said in Test Adapter Philips-TV v0.2.x:
python3 philips.py --host <IP> pair
So, also der erste teil hat bedingt funktioniert. Mein TV zeigt mir sporadisch mal nur eine, mal mehrere Zahlen in dem Code an. Sieht ein bischen so aus, als ob das Textfeld zu klein ist. Werde morgen mal andere Menüsprachen testen, vllt seh ich dann den kompletten code.
Allerdings habe ich in deinem code noch ein kleines problem:
Er mahnt mir
SetTimeout(subscribeStates, 2000);
und
require('child_process')
an. An was könnte das liegen?
-
@freak1051 sagte in Test Adapter Philips-TV v0.2.x:
An was könnte das liegen?
Skript-Adapter aktualisieren. Die Version im Latest hat das gefixt.
-
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