Hallo,
das aktuelle Samsung TV Module unterstützt leider nur alte TVs.
Da ich hier einen UE65JS9000 stehen habe, und gerne an FHEM anbinden möchte, habe ich mir gedanken gemacht, welche Wege es gibt, ein passendes Module zu schreiben.
Ich habe im Netz keine passende Schnittstellenbeschreibung gefunden.
Ich habe im Android Store die App "TVisted für Tizen TVs" gefunden. Die Source kann man sich ja mit gängigen Convertern Online erstellen lassen. (Den Trick sollten wir mal im Hinterkopf behalten...)
Daraus könnte man dann ein neues Module schaffen, oder das vorhandene erweitern.
Ich Suche dafür Unterstützung!
Habe einen 55KS8090 und auch Interesse!
Gesendet von meinem SM-T800 mit Tapatalk
Habe einen UE49KS8090 und auch grosses Interesse.
ZitatDie Source kann man sich ja mit gängigen Convertern Online erstellen lassen.
Ich befürchte ganz so einfach wird es nicht werden. Ich hab damals verdammt viel gegoogeld, gelesen, gelernt und geschwitzt, bis ich die E-Serie ans rennen bekam.
Wenns um den Einbau ins Modul geht, bin ich gerne behilflich.
Grüße Markus
Falls es jemand interessiert: Ich gabe gestern mal versucht so einen Fernseher ans Laufen zu bekommen. Netterweise haben das schon Leute für Homebridge geschafft (https://github.com/kyleaa/homebridge-samsungtv2016).
Ich habe das mal nach FHEM portiert und ausprobiert. Das Ergebnis: Man bekommt eine Antwort vom Fernseher (juhuu), aber er reagiert nicht wenn man Key Events sendet sondern antwortet mit einem wunderbaren Fehler. Vielleicht liegt das aber ja auch nur an meinem Fernseher...
Wenn jemand Lust hat daran weiter zu probieren - ich habe den Code mal in den Anhang verfrachtet.
Matthias
Zitat von: Matthias am 01 November 2016, 11:14:54
Falls es jemand interessiert: Ich gabe gestern mal versucht so einen Fernseher ans Laufen zu bekommen. Netterweise haben das schon Leute für Homebridge geschafft (https://github.com/kyleaa/homebridge-samsungtv2016).
Ich habe das mal nach FHEM portiert und ausprobiert. Das Ergebnis: Man bekommt eine Antwort vom Fernseher (juhuu), aber er reagiert nicht wenn man Key Events sendet sondern antwortet mit einem wunderbaren Fehler. Vielleicht liegt das aber ja auch nur an meinem Fernseher...
Wenn jemand Lust hat daran weiter zu probieren - ich habe den Code mal in den Anhang verfrachtet.
Matthias
ich denke so vom ersten Vergleich her, auf den ersten blick, fehlt da noch das ein oder andere, z.B. die Aktivierung des neuen Steuerungsgerätes. Keine Ahnung wie das bei der Homebridge vernünftig funktioniert, aber von dem was ich an SourceCode in der App gesehen habe, sollte da noch einiges mehr an Code sein.
Die MAC-Adresse, in der Konfiguration, ist das die vom TV, oder von dem FHEM-Server?
Ganz genau ja, die Mac Adresse ist die vom Fernseher.
Ich glaube nicht dass die HomeBridge noch viel beiträgt, Stimme dir aber voll zu dass eigentlich noch eine Menge Code fehlt / fehlen müsste. Wenn man den Code der Android Apps decompiliert stößt man auf hunderte Zeilen Code fürs Paring der App mit dem Server.
Mir ist schleierhaft wie der HomeBridge Code überhaupt funktionieren kann - aber es gibt Nutzer die schreiben, dass sie damit den Fernseher steuern können.
An der Stelle habe ich dann irgendwann aufgegeben ...
Zitat von: Matthias am 01 November 2016, 22:02:15
Ganz genau ja, die Mac Adresse ist die vom Fernseher.
Ich glaube nicht dass die HomeBridge noch viel beiträgt, Stimme dir aber voll zu dass eigentlich noch eine Menge Code fehlt / fehlen müsste. Wenn man den Code der Android Apps decompiliert stößt man auf hunderte Zeilen Code fürs Paring der App mit dem Server.
Mir ist schleierhaft wie der HomeBridge Code überhaupt funktionieren kann - aber es gibt Nutzer die schreiben, dass sie damit den Fernseher steuern können.
An der Stelle habe ich dann irgendwann aufgegeben ...
Aufgeben ist keine Möglichkeit! :D
Lass uns doch einfach ignorieren, was die anderen da treiben, und mal auf Basis der App, die hat auch bei mir genau so funktioniert, wie man es sich vorstellt, und wie es sein sollte, ein neues FHEM Module schreiben.
What a mess... Mein Lehrer hat mal gesagt, für Code der nicht vernünftig durch Kommentare dokumentiert ist, fällt im Test durch... Jetzt sieht man auch warum! Aber ich denke wir können Glücklich sein, dass wir Code haben, wo wir abgucken können, so müssen wir kein pcap File durchforsten ;)
Lass uns doch damit anfangen, Schritt für Schritt den Code zu verstehen, und aufzuschreiben, was dort passiert...
EDIT:Wobei... Habe gerade https://forum.samygo.tv/viewtopic.php?f=74&t=7707&start=30 (//http://) gefunden, die Paring URL funktioniert schon mal :O
@Matthias: welcher perl-module braucht 70_STV2016.pm? und wie instalieren (raspi)?
Hi,
relevant sind wahrscheinlich IO::Socket::INET und Net::Async::WebSocket::Client.
Ehrlich gesagt habe ich die Module einfach über cpan installiert - ohne großartig Debian Pakete zu suchen.
@afloria: Cool, das ist schon ein wichtiger Schritt. Ich fürchte ich werde gerade keine große Hilfe sein, nachdem ich jetzt erstmal in den Urlaub fahre. Übrigens ist der Code vermutlich sogar dokumentiert - was wir sehen ist ja nur die dekompilierte Variante ohne Debug-Flag - heißt keine vernünftigen Parameternamen, keine Kommentare usw.. Im ByteCode steht dann eben nur noch der Klassenname - und der restliche "Mess" ;-).
Matthias
o.k. Mathias,
aber wie ist der Aufruf in telnet um diese Module zu installieren??
Zitat von: Gerhard am 05 November 2016, 10:58:18
o.k. Mathias,
aber wie ist der Aufruf in telnet um diese Module zu installieren??
Gibt es nicht, musst du per SSH machen.
Siehe Anleitung hier: http://www.pro-linux.de/kurztipps/2/1286/perl-module-einfach-installieren.html (http://www.pro-linux.de/kurztipps/2/1286/perl-module-einfach-installieren.html)
Hallo,
wenn ich folgende url aufrufe erscheint die "Verbindungsanforderung" mit einer 4 stelligen Zahl auf dem TV Bildschirm !!
http://<ip>:8080/ws/pairing?step=0&app_id=my-app&device_id=ffy-device
Darauf lässt sich aufbauen.
Ich bin gerne bereit zum testen!!
Ausgabe von http://<ip>:8001/api/v2/
{
"id": "07270e01-0078-1000-8cd0-bc14851b56bb",
"name": "[TV]Samsung LED40",
"version": "2.0.24",
"device": {
"type": "Samsung SmartTV",
"duid": "07270e01-0078-1000-8cd0-bc14851b56bb",
"model": "14_X14_BT",
"modelName": "UE40H6400",
"description": "Samsung TV RCR",
"networkType": "wireless",
"ssid": "meine_ssid...",
"ip": "meine_ip",
"firmwareVersion": "Unknown",
"name": "[TV]Samsung LED40",
"id": "07270e01-0078-1000-8cd0-bc14851b56bb",
"udn": "07270e01-0078-1000-8cd0-bc14851b56bb",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.24",
"smartHubAgreement": "true",
"developerMode": "0",
"developerIP": "0.0.0.0"
},
"type": "Samsung SmartTV",
"uri": "http://<ip>:8001/api/v2/"
}
Viele Grüße
Heinz
yo, geht bei mir auch ... ;){
"id": "uuid:78116b2f-6a59-4b0d-91ad-87e0323d457e",
"name": "[TV] Samsung 5 Series (40)",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:78116b2f-6a59-4b0d-91ad-87e0323d457e",
"model": "16_HAWKM_FHD",
"modelName": "UE40K5579",
"description": "Samsung DTV RCR",
"networkType": "wireless",
"ssid": "9c:c7:a6:99:d1:cc",
"ip": "192.168.178.67",
"firmwareVersion": "Unknown",
"name": "[TV] Samsung 5 Series (40)",
"id": "uuid:78116b2f-6a59-4b0d-91ad-87e0323d457e",
"udn": "uuid:78116b2f-6a59-4b0d-91ad-87e0323d457e",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"VoiceSupport": "false",
"wifiMac": "F8:77:B8:5F:12:4A",
"developerMode": "0",
"developerIP": "",
"OS": "Tizen"
},
"type": "Samsung SmartTV",
"uri": "http://192.168.178.67:8001/api/v2/",
"remote": "1.0",
"isSupport": "{\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"false\",\"DMP_available\":\"true\",\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\"}"
}
Gibt's schon neue Erkenntnisse was das Protokoll angeht?
Zitat von: RappaSan am 22 Dezember 2016, 15:27:45
Gibt's schon neue Erkenntnisse was das Protokoll angeht?
Gibt es zu dem Thema keinerlei Neuigkeiten? :(
Sofort etwas Testbares mit den ersten Funktionen verfügbar ist Teste ich gerne!
Hi,
funktioniert bei mir auch
{
"id": "09896800-00a0-1000-b47c-bc1485d9577c",
"name": "[TV] Samsung",
"version": "2.0.24",
"device": {
"type": "Samsung SmartTV",
"duid": "09896800-00a0-1000-b47c-bc1485d9577c",
"model": "14_X14_BT",
"modelName": "UE55H6800",
"description": "Samsung TV RCR",
"networkType": "wired",
"ssid": "",
"ip": "10.0.4.111",
"firmwareVersion": "Unknown",
"name": "[TV] Samsung",
"id": "09896800-00a0-1000-b47c-bc1485d9577c",
"udn": "09896800-00a0-1000-b47c-bc1485d9577c",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.24",
"smartHubAgreement": "true",
"developerMode": "0",
"developerIP": "0.0.0.0"
},
"type": "Samsung SmartTV",
"uri": "http://10.0.4.111:8001/api/v2/"
}
Ware cool wenn das jemand weiter entwickeln wuerde... :-)
Cheers
(C)arlos
Nabend,
bei mir auch:
{
"id": "uuid:58578d62-eaf3-4971-bd26-afad1e4b4afa",
"name": "[TV] UE65JU6050",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:58578d62-eaf3-4971-bd26-afad1e4b4afa",
"model": "15_HAWKM_UHD_2D_BASIC",
"modelName": "UE65JU6000",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "192.168.1.110",
"firmwareVersion": "Unknown",
"name": "[TV] UE65JU6050",
"id": "uuid:58578d62-eaf3-4971-bd26-afad1e4b4afa",
"udn": "uuid:58578d62-eaf3-4971-bd26-afad1e4b4afa",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"wifiMac": "14:bb:6e:49:7a:78",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://192.168.1.110:8001/api/v2/"
}
grüße
torte
Hallo, ich hab auch zwei so Dinger und vermisse die FHEM Integration :D
{
"id": "uuid:2d5afed7-ac6f-43b2-b99e-8222216ec000",
"name": "[TV] Living room",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:2d5afed7-ac6f-43b2-b99e-8222216ec000",
"model": "15_HAWKM_UHD",
"modelName": "UE55JU7000",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "10.222.11.71",
"firmwareVersion": "Unknown",
"name": "[TV] Living room",
"id": "uuid:2d5afed7-ac6f-43b2-b99e-8222216ec000",
"udn": "uuid:2d5afed7-ac6f-43b2-b99e-8222216ec000",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"wifiMac": "78:bd:bc:20:83:59",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://10.222.11.71:8001/api/v2/"
Bin gern beim Testen und verbessern dabei!
UE55H ... Wäre ebenfalls beim Test dabei
Ich kann auch wenn es ein Modul geben wird gerne an ein paar TV testen.
HU6590 und K5579.
Edit: Ist hier vielleicht was zu finden? http://img-developer.samsung.com/onlinedocs/samsung_webapi_guide_public_1.0/html/index.html
Gruß Robert
Da sich hier nix tut, scheint Samsung es zu schwer gemacht zu haben.
Das können die ja besonders gut...
Nächstes mal überlege ich, ob nicht besser eine andere Marke gekauft werden sollte.
Vielleicht gibt's ja noch einen Hersteller, der ein Herz für Technikbastler wie uns hat.
Zitat von: RappaSan am 15 Februar 2017, 14:28:12
Da sich hier nix tut, scheint Samsung es zu schwer gemacht zu haben.
Das können die ja besonders gut...
Nächstes mal überlege ich, ob nicht besser eine andere Marke gekauft werden sollte.
Vielleicht gibt's ja noch einen Hersteller, der ein Herz für Technikbastler wie uns hat.
Jup, sehe ich genauso!
Meine Meinung nach hat Samsung aber die schönste und beste Smart TV Oberfläche.
Habe mich seit 1-2 Jahren nicht mehr Informiert abe war vor 3 Jahren zumindest so.
Finde es echt schade das hier kein einfacher Tizen Fhem Suppor geschafft werden kann :-[ :'(
Zitat von: Fixel2012 am 15 Februar 2017, 14:33:18
Jup, sehe ich genauso!
Meine Meinung nach hat Samsung aber die schönste und beste Smart TV Oberfläche.
Habe mich seit 1-2 Jahren nicht mehr Informiert abe war vor 3 Jahren zumindest so.
Finde es echt schade das hier kein einfacher Tizen Fhem Suppor geschafft werden kann :-[ :'(
Schwer, naja sicherlich geht so, man muss sich halt einarbeiten in das Thema.
Mir fehlt nur leider aktuell die Zeit dazu...
Zitat von: RappaSan am 15 Februar 2017, 14:28:12
Da sich hier nix tut, scheint Samsung es zu schwer gemacht zu haben.
Das können die ja besonders gut...
Nächstes mal überlege ich, ob nicht besser eine andere Marke gekauft werden sollte.
Vielleicht gibt's ja noch einen Hersteller, der ein Herz für Technikbastler wie uns hat.
So sehe ich das nicht ganz.
Wie afloria schon geschrieben hat, ist das meiste der Zeit Faktor.
Dass es Schnittstellen gibt, die man ansprechen kann sieht man ja bei Diversen Apps oder Projekten.
Es muss sich nur einer dahinter klemmen und es programmieren.
Wenn ich es könnte würde ich es machen, aber leider übersteigt das meine Fähigkeiten bei weitem.
Ich hoffe immer noch darauf, dass jemand der Entwickler hier Zeit findet etwas auf die Beine zu stellen.
Das ich die Samsung TVs die ich habe, jetzt nicht mit fhem ansprechen kann, ist für mich kein Grund die Marke nicht weiter zu kaufen.
TV ohne FHEM ist zwar Old School geht aber auch ;)
Gruß Robert
Ich gebe Dir recht, Robert. Daß man den Fernseher nicht mit FHEM steuern kann, finde ich auch nicht so tragisch.
Mehr stört mich, daß Samsung die Produkte, die nicht der neuesten Generation entsprechen, meist nicht oder nur verspätet mit Updates versorgt. Sie ist beileibe aber nicht die einzige Marke, die die Kunden damit im Regen stehen läßt.
Schön, wenn sich in diesem Fall eine community um Lösungen bemühen kann. Das geht aber nur dann, wenn genügend Dokumentation vorhanden ist.
Zitat von: RappaSan am 20 Februar 2017, 13:51:00
Ich gebe Dir recht, Robert. Daß man den Fernseher nicht mit FHEM steuern kann, finde ich auch nicht so tragisch.
Mehr stört mich, daß Samsung die Produkte, die nicht der neuesten Generation entsprechen, meist nicht oder nur verspätet mit Updates versorgt. Sie ist beileibe aber nicht die einzige Marke, die die Kunden damit im Regen stehen läßt.
Schön, wenn sich in diesem Fall eine community um Lösungen bemühen kann. Das geht aber nur dann, wenn genügend Dokumentation vorhanden ist.
Da geb ich dir recht.
Das mit den Updates ist mir schon länger ein dorn im Auge.
Siehe Android Smartphones. Da geht es nur um den maximalen Erlös, alles andere ist dem Kunden sein Problem.
Da gibt es bloß die Möglichkeit auf Community Projekte zu setzten.
Raspi mit Kodi/Plex oder so.
Früher habe ich so was gerne gebastelt. Auch weil es vor 5 Jahren noch überhaupt keine so guten TVs gab wie heute, naja kann man auch sehen wie man will :-)
Mittlerweile habe ich dazu keine Lust mehr, ständig von Hand updates installieren und das System aufsetzen usw.
Da ist mir meine Zeit zu wertvoll für, da selbst der TV eine Plex App/Amazon/usw. bei mir hat.
Gruß Robert
ZitatMittlerweile habe ich dazu keine Lust mehr, ständig von Hand updates installieren und das System aufsetzen usw.
Da ist mir meine Zeit zu wertvoll für, da selbst der TV eine Plex App/Amazon/usw. bei mir hat.
Da gebe ich dir Recht. Mein HTPC wurde durch den Update auf Kodi 17 quasi über Nacht unbrauchbar. Es hat Monate gedauert den WAF für den HTPC hinzubekommen. Kaputt war der WAF nach 2 Tagen. Ich habe nun keine Lust mehr hier den Fummler zu geben. Ist aber ein anderes Thema, welches man in einem anderen Forum behandelt. Ich gehe nun aber rüber auf die Apps im Smart-TV.
Was mir aber doch fehlt ist die FHEM Integration mit Kodi, vorallem Info auf dem Bildschirm anzeigen (Telefonanruf, um zu sehen, ob man Bock hat vom Sofa aufzustehen); deshalb verfolge ich diesen Thread mit großem Interesse.
Zitathttp://<ip>:8080/ws/pairing?step=0&app_id=my-app&device_id=ffy-device
liefert bei mir
<?xml version="1.0" standalone="yes"?><auth_data></auth_data>
Weiß ich nicht, ob das jetzt gut ist. Die Pin wird aber auf dem TV angezeigt.
Sehe ich das richtig, dass der Fortschritt für die FHEM Anbindung hier seit einiger Zeit nicht so hoch ist?
Kann ich was helfen? ich kann gerne z.B. mal mit Wireshark ein bisschen sniffen, was zwischen der App und dem TV so über das Netz geht. Oder gibt es sonst was z.B. APIs?
ZitatEs muss sich nur einer dahinter klemmen und es programmieren.
auch da mische ich gerne mit, wenn mir jemand einen Jump-Start gibt, wo anfangen. Wenn ich mich erst ab Null einlesen muß, dann dauert das. Was gibt es bereits an Erkenntnissen?
Ich hatte mich gestern abend mal mit einem halben Auge auf der Samsung Webseite für Tizen Developers eingelesen. Puh, das ist zäh (im koreanischen scheint es keine Verben zu geben :-). Und die Hälfte der Links führen entweder nach 404 oder auf irgendeine generische Seite, aber nicht dahin, wo man hin möchte. Also erste Recomendation an Samsung: besorgt euch mal ein Google Developer Account und schaut euch an, wie man es richtig macht. Dann wird den Samsung Leuten auch klar, warum Google 80% Marktanteil mit Android hat. Und wenn sie beim Batterieentwickeln genauso schusselig arbeiten wie bei Webseiten Erstellung, dann wundert mich nix.
Erkenntnisse bisher
1. ich habe keinerlei Hinweise auf eine externe (HTML/JSON) API für die TVs gefunden. Wenn es die gibt, dann ist die Doku gut versteckt und wir können hier einiges an Re-Engineering machen (siehe Seite 1 dieses Freds). Die auf Seite 1 verlinkte API Doku ist aus 2014. Ob das noch gilt?
2. Alternativ wäre natürlich die Erstellung einer App für den TV, die dann Schnittstellen zu FHEM aufmacht. Apps für deren Telefone und Smartwatches sind brauchbar dokumentiert. Wie man Apps für einen TV baut, kann man sich dann wieder auf der 404 Seite ansehen :-(. Und ob so eine App im Hintergrund laufen kann erschliesst sich nicht wirklich
Das was Samsung mit Developer meint sind die Leute welche Apps für den TV schreiben.
Ein Zugang muss es aber wohl geben da es ja auch Apps gibt mit denen man den TV steuern kann. Also entweder besser suchen im Netz oder versuchen zu reverse engineeren.
ZitatAlso entweder besser suchen im Netz oder versuchen zu reverse engineeren.
Hast Du Hinweis zu besseren Suchbegriffen?
Samsung TV remote
Samung TV api
Samsung TV json
und verschiedenste Varianten davon liefern entweder Hinweise auf Interfaces für Fernseher vor 2014 und dort eigentlich immer reverse engineered oder Links auf die Samsung Developer Webseite, in der dann auf die Entwicklung der Apps eingegangen wird.
ZitatEin Zugang muss es aber wohl geben da es ja auch Apps gibt mit denen man den TV steuern kann.
Ironie: Echt? Ich dachte das geht per Telephatie oder so. Ironie aus.
Wenn ich das richtig sehe, dann ist die Remote App für Android im Playstore von Samsung selbst. Alle anderen Apps steuern die TV Modelle bis 2014 an.
Verleitet mich zu der Annahme, dass es zwar eine API für Modelle ab 2015 gibt, diese aber nicht offengelegt ist; sprich reverse engineering ist angesagt.
Wie hier im Fred ja schon diskutiert, wurde dabei folgende Möglichkeiten vorgeschlagen:
- aus anderen Programmiersprachen / Anwendungen das heraus zu fischen
- eine App, die es ja auch gibt zu dekompilieren
Es wundert mich aber, dass ich im Netz eigentlich keine Hinweise auf solch eine erfolgreiche Reverse-Engineering Aktion finde. Normalerweise ist doch immer jemand dabei, der seine erfolgreiche Aktion dann auch dokumentiert.
Dritte Alternative ist natürlich das Sniffen des Netzwerkverkehrs via Wireshark. Bei verschlüsseltem Verkehr ist das aber mal mindestens zäh.
Da für das Wochenende aber Regen angesagt ist und meine Frau eh unterwegs, schmeisse ich den Wireshark mal an. Mal sehen was er mir so erzählt.
https://github.com/Ape/samsungctl
https://pypi.python.org/pypi/samsungctl
Danke
Hi,
ich habe einen UE55KU, Kaufdatum Dez. 2016
- die Phyton Software aus dem Link geht bei mir nicht
- das Kommando zum Anzeigen der JSON Daten beim Verbinden geht nur bedingt. Bei mir liefert er nur eine minimale JSON Info zurück (siehe früherer Eintrag in diesem Thread)
- die offizielle Samsung App kann den TV nicht einschalten. Er muß bereits eingeschaltet sein, damit sie sich verbinden kann. Aber genau das wäre mein Use-Case gewesen ... ("Siri Fernsehabend")
Per Wake-on-LAN kann man den TV starten; somit also mit dem bekannten WOL Modul und etherwake ist der Fernseher startbar. Per Presence Modul weiß man dann ob er läuft und kann z.B. Lampen etc. entsprechend schalten.
Zitat von: bugster_de am 04 März 2017, 15:40:39
Hi,
ich habe eine UE55KU, Kaufdatum Dez. 2016
- die Phyton Software aus dem Link geht bei mir nicht
In wie fern geht die Software bei dir nicht? Geht sie nicht mit deinem Fernseher oder kriegst du sie nicht zum laufen?
Bei mir ist es letzeres. ???
Bei mir ist es auch letzteres. Führt mich zu der Vermutung, dass es noch ein neues Protokoll gibt.
Erste Erkenntnisse mit Wireshark um den Datenverkehr zwischen der App un dem TV zu belauschen
App and TV:
- App von 59016 nach TV auf 8080
- TV von 8080 an App auf 59016
- das geht ein paar mal so
dann sendet die App von Port 54508 nach Port 8080 am TV
- dann wechselt der Sende Port der App dauernd !
- der TV empfängt auf den Ports 57039, 57040,57041, 57042
- die App sendet immer zuerst ein Paket mit 74 Bytes, dann ein Paket mit 66 Bytes. Kein Muster erkennbar (aber ich bin da auch nicht der Crack)
Fazit für mich: die Analyse dieses Protokolls übersteigt meine Netzwerk-Analyse Kenntnisse bei weitem. Ich stell egerne mein Wireshark File hier bereit, aber ich komme eher nicht weiter.
wenn ich das Modul von Seite 1 aus diesem Fred nutze, dann kommt beim ersten define dieses Moduls die Meldung auf dem Fernseher, das FHEM sich verbinden möchte. Wenn man dies dann am TV zulässt, habe ich im Logfile nur einen Eintrag mit don't match. Dann das define nochmal löschen und nochmal anlegen und ich habe dann eine ganze Menge im Logfile. Sprich der Fernseher antwortet wohl irgendwie.
Funktioniert bei irgendjemand das samsungctl Tool (https://github.com/Ape/samsungctl)?
Wenn das geht, könnte man ja das per Commandline oder Inline Python aus einem FHEM Modul aufrufen.
Zitat von: dominik am 05 März 2017, 09:03:54
Funktioniert bei irgendjemand das samsungctl Tool (https://github.com/Ape/samsungctl)?
Wenn das geht, könnte man ja das per Commandline oder Inline Python aus einem FHEM Modul aufrufen.
Wie bugster und ich geschrieben haben, hat es bei uns beiden wohl nicht funktioniert.
Bei mir ist es schon daran gescheitert, dass ich keine Befehle innerhalb des Tools auszuführen konnte. Habe immer Fehlermeldungen bekommen mit denen ich Nichts anfangen konnte.
Bin da aber nicht der Profi, vielleicht kriegt es wer anderes zum laufen!
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Das lag wahrscheinlich daran, dass du Python2 verwendest. Habe gerade eine Änderung durchgeführt, damit es auch mit Python2 läuft. Kann es aber erst später testen.
Diese Änderung ist erforderlich dann klappts auch mit Python2:
https://github.com/Ape/samsungctl/pull/30/commits/f9b246c949324b375bbf80d1af39e56c32a97e36
Wer baut nun das Modul welches die Commandline aufruft? Das sollte nicht so schwer sein :)
dann kann ich mich endlich von der E-Serie trennen ? ;D ;D ;D
Zwiebel hatte ja das 70_STV geschrieben. Die commands sind doch vermutlich gleich geblieben. Dann würde die dortige Integration doch Sinn machen, oder ? Zwiebel ist auch noch aktiv im Forum.
Grüße Markus
Zitat von: dominik am 05 März 2017, 09:03:54
Funktioniert bei irgendjemand das samsungctl Tool (https://github.com/Ape/samsungctl)?
Wenn das geht, könnte man ja das per Commandline oder Inline Python aus einem FHEM Modul aufrufen.
Hallo,
also bei meinem UE55HU8500 bekomme ich keine Antwort vom TV, weil dieser die Verbindung verweigert. Ich sehe kurz am oberen linken TV Bildschirm eine Fehlermeldung die jedoch sofort verschwindet.
#!/usr/bin/env python3
import samsungctl
import time
config = {
"name": "samsungctl",
"description": "PC",
"id": "068e7781-006e-1000-bbbf-84a4666073a8",
"host": "10.0.0.3",
"port": 55000,
"method": "legacy",
"timeout": 0,
}
with samsungctl.Remote(config) as remote:
for i in range(10):
remote.control("KEY_MENU")
time.sleep(0.5)
das ist der Python Code
Traceback (most recent call last):
File "C:/Program Files (x86)/Python36-32/setup.py", line 16, in <module>
with samsungctl.Remote(config) as remote:
File "C:/Program Files (x86)/Python36-32\samsungctl\remote.py", line 8, in __init__
self.remote = RemoteLegacy(config)
File "C:/Program Files (x86)/Python36-32\samsungctl\remote_legacy.py", line 21, in __init__
self.connection.connect((config["host"], config["port"]))
ConnectionRefusedError: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte
hier die Python Fehlermeldung
Auf dieser Adresse ( http://10.0.0.3:8001/api/v2/ ) bekomme ich allerdings alle Infos vom TV:
{
"id": "068e7781-006e-1000-bbbf-84a4666073a8",
"name": "[TV]Samsung LED55",
"version": "2.0.24",
"device": {
"type": "Samsung SmartTV",
"duid": "068e7781-006e-1000-bbbf-84a4666073a8",
"model": "14_GOLFP_UHD",
"modelName": "UE55HU8500",
"description": "Samsung TV RCR",
"networkType": "wired",
"ssid": "",
"ip": "10.0.0.3",
"firmwareVersion": "Unknown",
"name": "[TV]Samsung LED55",
"id": "068e7781-006e-1000-bbbf-84a4666073a8",
"udn": "068e7781-006e-1000-bbbf-84a4666073a8",
"resolution": "1920x1080",
"countryCode": "AT",
"msfVersion": "2.0.24",
"smartHubAgreement": "true",
"developerMode": "0",
"developerIP": "0.0.0.0"
},
"type": "Samsung SmartTV",
"uri": "http://10.0.0.3:8001/api/v2/"
}
TV ist Baujahr 2014 (Modell 2015).
LG
Reinhart
Probiere es mal mit samsungctl und dem Patch, damit sollte es funktionieren.
Schön das sich meine 10min Suche bezahlt gemacht hat.
Nun einfach die Logik des Codes nach Perl portieren und dann wird das schon gehen.
Zitatalso bei meinem UE55HU8500 bekomme ich keine Antwort vom TV, weil dieser die Verbindung verweigert.
ich vermute Du musst wie bei älteren Geräten erst den Zugriff zulassen. Skript starten -> zu bestätigende Meldung auf dem TV -> bestätigen. Danach funktioniert dann jeder weitere Zugriff ohne Abfrage.
ich habs jetzt mit der SmartTVRemotecontroll.exe versucht und da funktioniert die Verbindung zum TV, nach Eingabe des PINS öffnet sich am TV dann das Menü.
Discovery started...
Model 2014 Samsung TV found.
UPnP connection extablished with TV - uuid:068e7782-006e-1000-a675-84a4666073a8
DeviceConnected added TV: http://10.0.0.3:51311/
InitSPCContext stdout
pPWd : 7679
CleintHello's Hash Value same
InitTargetDevice - started...
InitTargetDevice - Created Tv device.
Create MultiScreenController
InitTargetDevice - Set current device.
InitTargetDevice - Initialize Tv device.
InitTargetDevice is complete
Previously paired TV found.
Menu command was sent to the TV as a test. Please verify it worked before procee
ding
Initial Setup Complete. Relaunch with command that you want sent to the TV
A list of commands that can be sent to the TV are below.
ButtonA ButtonB ButtonC ButtonD ChannelDown
ChannelList ChannelUp DiscMenu Exit FastForward
FastRewind Forward Guide Home Info
JoystickDown JoystickLeft JoystickOk JoystickRight
JoystickUp Keypad MbrPower Menu Minus Mute
Num0 Num1 Num2 Num3 Num4
Num5 Num6 Num7 Num8 Num9
Pause Play Power PreviousChannel Record
Rewind Search SmartHub StbMenu Stop
SubTitle Tools VolumeDown VolumeUp
Example: SmartTVRemoteControl.exe -c Power
Press any key to exit.
PS: und ja, die Pinabfrage erfolgte nur beim ersten Mal!
LG
Wer sich berufen fühlt ein Modul zu schreiben kann sich gerne das 82_LGTV_WebOS Modul anschauen. Ist das selbe Prinzip was Verbindung an geht. So hätte man schon mal ein Gerüst zum drauf aufbauen.
Anbei ein ganz schneller Hack um 70_STV.pm mit samsungctl zu nutzen.
Voraussetzung:
- sudo pip install websocket-client
- sudo pip install samsungctl
- File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py öffnen
o except FileNotFoundError: in except: ändern
o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config"))
define samsungTv STV <ip> ws
Ist nur ein schneller Hack als PoC.
Wow, danke dir!!!
Werde es morgen testen!
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Tut mir leid, aber ich bekome es nicht hin.
Zitatdefine samsungTv STV <ip> ws
"ws" wird so nicht akzeptiert. Wenn ich nichts eingebe dann wird Port 55000 benutzt, was aber nicht funktioniert.
Die Portangabe 8001 wird auch nicht zugelassen. :(
Bevor wir das Fhem-Modul testen die Frage:
Wie kann ich mit einfachen Mitteln eine Websocket Verbindung zu meinem Samsung TV testen?
Danke für eure Mühe.
LG
Thomas
Hallo Papaloewe
Ich vermute, Du hast nach dem Laden des Moduls noch einmal ein Update gemacht, und dabei das originale Modul 70_STV wieder darüberinstalliert. Ging mir zumindest so. Habe das jetzt vorerst vom Update ausgeschlossen.
Mir stellt sich aber folgende Frage:
Mit welcher Aktion verbinde ich eigentlich das Modul mit dem Fernseher? So tut sich zumindest erst einmal nichts bei meinem UE49KS9090.
Gruß
Gigafix
Danke Dominik!
Habe es gerade installiert und werde es später test und Feedback geben.
Mal noch eine Frage, kann man denn mit dem Modul Nachrichten am TV einblenden?
An meinem alten Samsung ging das und ich habe mir dort bei Anruf den Namen einblenden lassen.
@papalowe: was meinst Du mit
Zitat"ws" wird so nicht akzeptiert.
Ich hab die Version von Dominik installiert und kann problemlos als Port ws eingeben.
Es gab aber bei der ganzen Installation ein paar andere Problemchen, die ich zu lösen hatte. Ausgangssituation ist ein RPiB+ mit aktuellem Wheezy. Für die Installation des Skripts und zusätzlicher Module musste ich folgende Schritte durchführen.
1. sudo apt-get update
2. sudo apt-get upgrade
3. pip installieren. wheezy bietet nur eine V. 1.1, von der im Inet abgeraten wird. Deshalb habe ich die v 9.0.1 mit
wget https://bootstrap.pypa.io/get-pip.py
geladen.
4. sudo python get-pip.py (ohne sudo gab es eine exception meldung)
5. sudo pip install websocket-client
6. sudo pip install samsungctl (das package wird dann automatisch heruntergeladen und installiert)
7. das File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py editiert
o except FileNotFoundError: in except: ändern
o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config"))
8. Damit das geänderte 70_STV lief, musste ich einerseits "use Blocking;" am Anfang des Moduls hinzufügen und scheinbar ist der /usr/local/bin bei mir nicht bekannt, so dass ich den einfachen Aufruf von samsungctl in /usr/local/bin/samsungctl ändern musste.
Mit "normalem" Port war die Funktion des Moduls nicht beeinträchtigt bei meiner E-Serie.
Und mit ws als Port, bekomme ich beim Schalten des TV "socket.error: [Errno 111] Connection refused", was ja wahrscheinlich daran liegt, dass ich gar keinen Tizen, sondern eben noch E-Serie habe. ;)
Grüße Markus
Ja genau, GigaFix du hast Recht, so war es :-)
Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 9, in <module>
load_entry_point('samsungctl==0.6.0', 'console_scripts', 'samsungctl')()
File "/usr/local/lib/python3.5/dist-packages/samsungctl/__main__.py", line 93, in main
config = _read_config()
File "/usr/local/lib/python3.5/dist-packages/samsungctl/__main__.py", line 31, in _read_config
directories.append(os.path.join(os.getenv("HOME"), ".config"))
File "/usr/lib/python3.5/posixpath.py", line 89, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib/python3.5/genericpath.py", line 143, in _check_arg_types
(funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
Was kann das jetzt sein?
Hat noch jemand einen Tip für mich?
LG
Thomas
ich würd mal spekulieren, Du hast Dominiks Vorgabe aus Post 48 nicht befolgt und die __main__.py nicht angepasst :o
...doch eigentlich schon!
Aber habe es zweimal installiert. Eimal für python2.7 und einmal für python3.5.
Die Datei __main__.py für python3.5 hatte ich eben noch nicht angepasst.
Jetzt wirft die Konsole nur noch:
Error: Connection refused
Muss denn die Datei "samsunctl.conf" bereitgestellt wreden?
ich denke nicht. Die ist wohl nur dafür, wenn man es von der Konsole aus aufruft. Dann kann man sich das tippen ersparen.
Also bei mir geht es leider nicht.
Folgende Fehlermeldung im Log, wenn ich set 1 schicken:
NameError: global name 'FileNotFoundError' is not defined
except FileNotFoundError:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 36, in _read_config
config = _read_config()
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 92, in main
load_entry_point('samsungctl==0.6.0', 'console_scripts', 'samsungctl')()
File "/usr/local/bin/samsungctl", line 9, in <module>
Traceback (most recent call last):
auch Du scheinst nicht editiert zu haben oder wie papaloewe bei doppelter Installation nur an einer Stelle, sonst dürfte das vermutlich nicht kommen
Zitatexcept FileNotFoundError:
und das
ZitatMal noch eine Frage, kann man denn mit dem Modul Nachrichten am TV einblenden?
wird wohl auch nicht gehen, da man ja nur Tastendrücke senden kann :(
Zitat von: KölnSolar am 07 März 2017, 19:01:46
ich würd mal spekulieren, Du hast Dominiks Vorgabe aus Post 48 nicht befolgt und die __main__.py nicht angepasst :o
so, geht, Danke, hatte einen Tipfehler :-[
@KölnSolar
Du hast ja bei deiner E-Serie die samsungctl schon am laufen, kannst du mir bitte deine Aufrufzeile aus der Konsole einmal posten?
pi@raspberry ~ $ /usr/local/bin/samsungctl --host 10.0.0.3 --port 55000 --timeout 5 --method legacy --name FHEMRemote KEY_MENU
Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 9, in <module>
load_entry_point('samsungctl==0.6.0', 'console_scripts', 'samsungctl')()
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 100, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 8, in __init__
self.remote = RemoteLegacy(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 21, in __init__
self.connection.connect((config["host"], config["port"]))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
ich bekomme trotz "normalen" Port Connection refused. Die Windows Version "SamsungRemoteCotrol" funktioniert ja fehlerfrei bei mir.
Den Rest habe ich auch nach deiner Beschreibung anpassen müssen, speziell den Pfad für die samsungctl.
LG
Damit wir hier nicht wie wild durcheinander diskutieren, wäre es sehr hilfreich, wenn immer das Modell, bzw.
die Frage:
Ist das TV-OS bereits Tizen, oder nicht?
beantwortet wird.
Der große Unterschied scheint folgender zu sein:
ZitatPort 8001 is for Tizen / 2016+ TVs and uses websockets - older TVs need to be on the original port 55000.
Ich versuch heute Abend mal zunächst eine Verbindung auf der Konsole mittels "samsungctl" herzustellen.
Das hat bisher schon nicht bei meinem Samsung "Tizen" TV funktioniert.
Mir ist auch nicht klar, ob ein einmaliges Pairing notwendig ist und wie und wo der 4-stellige Pairingcode abgelegt wird, bzw. werden muß?
Gruß
Thomas
Bei mir habe ich es bisher auch nicht geschafft es zum laufen zu bringen.
Ich bin bisher davon ausgegangen, dass ich tizen besitze, da ich es mit dem Modul für die älteren Modelle es nicht zum laufen bringen konnte.
Gibt es eine Möglichkeit zu sehen welches OS installiert ist?
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
ja hast recht Papaloewe ist ein wichtiger Punkt, aber in diesem Fall schreibt ja KölnSolar das er es an der E-Serie getestet hat und die hat kein Tizen!
ZitatMit "normalem" Port war die Funktion des Moduls nicht beeinträchtigt bei meiner E-Serie.
Und mit ws als Port, bekomme ich beim Schalten des TV "socket.error: [Errno 111] Connection refused", was ja wahrscheinlich daran liegt, dass ich gar keinen Tizen, sondern eben noch E-Serie habe.
Nur soweit ich bis jetzt gelesen habe, ist es ja egal ob Tizen oder nicht, es funktioniert bei beiden Varianten nur eben mit kleinen Änderungen.
Ich verfolge den Thread ja nur aus technischem Interesse, ich habe ohnehin eine funktionierende Lösung mit einem billig Sonoff Modul ( 5.- € ) mit einer IR-Diode und kann damit jedes FB Signal senden. Außerdem dient für mich so eine Steuerung nur für Szenen, da der TV ohnehin über eine perfekt funktionierende Sprach- und Gestensteuerung verfügt.
LG
ZitatGibt es eine Möglichkeit zu sehen welches OS installiert ist?
Ja, gibt es natürlich, schau mal hier:
http://www.samsung.com/de/support/skp/faq/439850 (http://www.samsung.com/de/support/skp/faq/439850)
ZitatIch verfolge den Thread ja nur aus technischem Interesse, ich habe ohnehin eine funktionierende Lösung mit einem billig Sonoff Modul ( 5.- € ) mit einer IR-Diode und kann damit jedes FB Signal senden.
Klar, wenn das funktioniert auch gut!
Für mich riecht das jedoch auch ein wenig nach "Von-hinten-durch-die-Brust-ins-Auge", oder?
sorry, wenn ich Euch verwirrt habe. das
ZitatDu hast ja bei deiner E-Serie die samsungctl schon am laufen
stimmt so nicht. Ich schrieb doch
ZitatUnd mit ws als Port, bekomme ich beim Schalten des TV "socket.error: [Errno 111] Connection refused", was ja wahrscheinlich daran liegt, dass ich gar keinen Tizen, sondern eben noch E-Serie habe.
Ich weiß gar nicht, wie ich es noch klarer ausdrücken soll :-[
Und mit
ZitatMit "normalem" Port war die Funktion des Moduls nicht beeinträchtigt bei meiner E-Serie.
wollte ich nur zum Ausdruck bringen, dass die ursprüngliche Funktionsweise des Moduls erhalten geblieben ist, also mehr der Hinweis an Dominik, dass er nichts kaputt modifiziert hat. Edit: Vielleicht schafft das für mich Selbstverständliche für mehr Klarheit: NUR bei Konfiguration mit Port "ws" wird das samsungctl aufgerufen !
Zusammenfassend: es gibt die 3 "Elemente" 70_STV, samsungctl und den TV. Folglich 2 Schnittstellen. Mit meiner kleinen Anleitung installiert man samsungctl nebst abhängigen Komponenten. Die Schnittstelle 70_STV-samsungctl funktioniert bei mir. Konfiguriere ich das FHEM-device mit Port 55000 funktioniert die Schnittstelle 70_STV-TV(wie mit der unmodifizierten Modulversion). Konfiguriere ich mit dem Port "ws", laufe ich auf einen Fehler(socket.error: [Errno 111] Connection refused), der ja logisch ist, weil ich keinen Tizen, sondern alte E-Serie habe.
Und kurz für die, die Serien, Baujahr, Tizen.... nicht so recht einordnen können:
Jedes Modelljahr zählt Samsung einen Buchstaben hoch, angefangen in 2008. Bis zur H-Serie(lt. SamyGo-Forum), also Modelljahr 2014, müsste eigentlich das unmodifizierte 70_STV funktionieren. Innerhalb dieser Modelljahre gab es kleinere Veränderungen, so dass das Modul mal mehr, mal weniger Funktionalität liefert. Ab Modelljahr 2015, also J-Serie(I gibt es glaub ich nicht ?), wurde Tizen implementiert. Und die Doku von samsungctl suggeriert mir, dass es auch bei Tizen Unterschiede gibt bzgl. Modelljahr bzw. Serie. Und ich denke es ist weniger wichtig, welche firmware auf dem TV installiert ist, als die Serie bzw. das Modelljahr.
Nun aber zurück zu Euch Tizen-Besitzern. Bekommt niemand, nach erfolgreicher Installation, die Verbindung zum TV hin ?
@Dominik: Hast Du nur das Modul modifiziert aber selber gar keinen Tizen zum Testen ? Oder bist Du der einzige Erfolgreiche ?
Doch, bei mir funktioniert es auf einer K-Serie ohne Probleme.
Ich wollte es eigentlich um nachrichten am TV auszugeben, aber das geht leider nicht.
Der Rest ist für mich uninteressant, weil ich sowieso über Harmony alles mit fhem machen kann.
Zitat@Dominik: Hast Du nur das Modul modifiziert aber selber gar keinen Tizen zum Testen ? Oder bist Du der einzige Erfolgreiche ?
Ja bitte mal darauf antworten. Das interessiert mich auch brennend ;-).
@Mitch
Könntest du für uns nochmal Schritt-für Schritt posten, was du alles dafür angestellt hast?
Vielen Dank.
Zitat von: dominik am 05 März 2017, 22:40:30
Ist nur ein schneller Hack als PoC.
Ich möchte da mal auf diesen Kleinen aber feinen Nebensatz hinweisen.
PoC = proof of concept
kann muß aber nicht gehen
@KölnSolar!
Danke für deine genaue Aufklärung. Ich hatte das leider fehlinterpretiert und so gelesen als würde es funktionieren bei deiner E-Serie. Warum Samsung bei den "alten" Geräten kein Softwareupdate auf Tizen anbietet ist mir nicht klar, aber die haben alle dieselbe anwenderunfreundliche Taktik aus allem ein Geheimnis zu machen anstatt dokumentierte Schnittstellen anzubieten.
Wenn ein TV Gerät schon eine Serviceschnittstellte für Fernwartung hat dann kann mir keiner von den Herstellern erzählen das sei technisch nicht möglich mit dem Gerät zu kommunizieren.
@Mitch
eine Möglichkeit um Nachrichten am TV auszugeben wäre eine Sat Box mit E2 vorzuschalten, das habe ich schon mit Erfolg getestet ( mit Titan ) . Aber das Problem ist halt, dass man nicht ständig vor dem TV sitzt und den auch nicht wegen reinem Monitoring ewig einschaltet, aber wenn er läuft kommen die Nachrichten durch.
LG
Reinhart
ZitatWarum Samsung bei den "alten" Geräten kein Softwareupdate auf Tizen anbietet
ZitatWenn ein TV Gerät schon eine Serviceschnittstellte für Fernwartung hat
Update und Fernwartung waren die ersten Dinge, die ich damals abgeschaltet habe ;D
E2 ist das, was ich als erstes mit "SAT E2" gegoogeld bekomme, ein Linux-Sat-Receiver mit dem sich über FHEM kommunizieren lässt ?
@Mitch
Ja, endlich :-* :-* :-* Dann guck ich jetzt mal nach nem neuen TV, den ich dann wie gewohnt über Alexa schalten kann ;D
ZitatIch wollte es eigentlich um nachrichten am TV auszugeben, aber das geht leider nicht.
Da bin ich mittelprächtig optimistisch, nachdem wir überhaupt mal den Zugang haben. Ich hab das damals bei der E-Serie( 8)) über SOAP-Messages, Port 7676, InfoPanel, Smart-Hub, und http-Aufrufe gelöst.
Angefangen hatte ich glaub ich mit einer wireshark-Analyse, so ähnlich wie hier beschrieben http://www.android-hilfe.de/thema/samsung-smart-view-app.270517/page-8#post-4994128, kannst ja schon mal wiresharken.... ;)
das mit dem SAT hatte ich früher, habe aber kein SAT mehr. Habe alle Geräte rausgeschmissen ;D
Was ich installiert habe, ist genau das was Dominik geschrieben hatte:
Zitatsudo pip install websocket-client
- sudo pip install samsungctl
- File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py öffnen
o except FileNotFoundError: in except: ändern
o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config"))
define samsungTv STV <ip> ws
Wie gesagt, funktionierte ohne Problem auf Anhieb (bis auf einen Tipfehler, den ich erst gemacht hatte)
Ich habe es auf einer K Serie getestet und da funktioniert es. Prüft mal ob im Menü eingestellt ist, dass eine Abfrage kommt wenn ein Device zugreifen will. Hab den Menüpunkt nicht mehr im Kopf, kann das aber morgen nachschauen wenn ich wieder zu Hause bin.
Ansonsten samsungctl nach den Anpassungen auf der Konsole ausführen und den Fehler Posten.
ZitatHab den Menüpunkt nicht mehr im Kopf, kann das aber morgen nachschauen wenn ich wieder zu Hause bin.
Das wäre sehr gut, denn ich denke an dieser Einstellung hapert es noch bei mir.
ZitatAnsonsten samsungctl nach den Anpassungen auf der Konsole ausführen und den Fehler Posten.
Bin jetzt soweit, dass ich auf der Linux-Konsole den "samsungctl"-Befehl mit den entsprechenden Parametern absetzen kann und keinen Fehler mehr bekomme, sondern im verbose Modus (-v) sogar eine kurze Bestätigung über das Senden des jeweiligen Keys.
Aber auf dem Fernseher sieht man absolut keine Reaktion???
Einstellungen - Netzwerk - Experteneinstellungen - Mobilgerätemanager
Zugriffsbenachrichtigung: Nur beim ersten Mal
Mobilgeräteliste: Dort sollte danach "FHEMRemote" auftauchen
Gruß,
Dominik
Danke für die Info, Dominik.
Leider gibt es einen solchen Menüpunkt bei mir nicht.
Unter Netzwerk-Gerätemanger sind nur zwei Devices eingetragen und erlaubt.
Smart Devices und Twonky Media Server.
Ich habe aber auch einen Samsung aus der J-Serie mit der genauen Typenbezeichnung: UE55JU6900
Gibt es vielleicht noch einen Trick um diese Expertenmenüfunktionen freizuschalten?
Sehr geil,
mit Dominiks Anleitung (#48) und Markus Modifikation (#53) kann ich jetzt meinen UE40K5579 ansprechen! Lässt sich sogar mit "set POWER on" einschalten, was bei meinem E-Series nicht geht ... 8)
Grüße, Dieter
Sehr cool! Jetzt fehlt nur noch ein bisschen Zeit, um das vorhandene Samsung Module im Websockets (https://github.com/Ape/samsungctl/commit/e5f7f4420213597c826053b2beda544e053d4a55) zu erweitern. Dann braucht man auch kein zusätzliches Python Skript mehr...
Websocket mit Perl: http://stackoverflow.com/questions/37318581/simple-perl-websocket-client
Die Samsung Tizen TV zumindest, haben auch ein Message Gateway. Hat da schon mal jemand eine Anbindung gesehen? So wenn TV an, und wichtige Nachricht, wäre ja cool die dort auch anzuzeigen ;)
Funktioniert es bei irgend jemanden mit einer J-Serie?
afloria hat doch Einen. Hab ich gerade gesehen, weil ich gucken wollte, wer den Thread eröffnet hatte.
@afloria: Magst Du vielleicht nach Forumsmanier im ersten Post die key findings zusammen paste'n und eine Liste der funktionierenden Geräte ? Letzteres aber erst, wenn sich herausstellt, dass manche Modelle tatsächlich nicht funktionieren.
Hallo Samsung-TV - Besitzer, ich bin gestern auf diesen Thread gestoßen. Habe versucht, alles nachzuvollziehen (#48, #53, Vielen Dank für die Anleitung!). Mein Samsung ist ein UE48JS8590. Ich kann mit samsungctl Befehle absetzen, Es gibt keine Fehlermeldung, aber auch keinerlei Reaktion. Habe nun mal mit strace versucht, Hinweise zu bekommen. Ergebnis:
.....
send(3, "GET /api/v2/channels/samsung.rem"..., 238, 0) = 238
recv(3, "H", 1, 0) = 1
..... alles zeichenweise. Ergibt zusammengesetzt (Zeilenende ist \r\n)
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-Websocket-Accept: ffRo8xYtrwWOOi6S9u....
recv(3, "\201~", 2, 0) = 2
recv(3, "\0\351", 2, 0) = 2
recv(3, "{\"event\":\"ms.channel.connect\",\"d"..., 233, 0) = 233
Kann damit evtl. jemand etwas anfangen?
Helfe gern beim Testen.
Viele Grüße Achim
Hallo
Ich habe mich auch herangewagt alles wie in post #48 gemacht folgende Fehlermeldung bekomme ich beim define im logfile
Samsung JU serie
Tizen ist installiert
Wenn ich /usr/local/bin/samsungctl --host xxxxx aufrufe bekomme ich folgende meldung
Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 100, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 8, in __init__
self.remote = RemoteLegacy(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 21, in __init__
self.connection.connect((config["host"], config["port"]))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 111] Connection refused
Und beim define steht folgende Meldung im logfile
Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 100, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 10, in __init__
self.remote = RemoteWebsocket(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_websocket.py", line 23, in __init__
self._serialize_string(config["name"])))
File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 211, in connect
options.pop('socket', None))
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 71, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 114, in _open_socket
sock.connect(address)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 110] Connection timed out
Sorry, ist vielleicht eine dumme Frage aber wo genau kann ich denn sehen ob ich nun Tizen habe oder nicht?
Die Softwareversion weiß ich aber ab welcher Softwareversion ist es Tizen? :o
Extrakt aus meinem Post #68
ZitatUnd kurz für die, die Serien, Baujahr, Tizen.... nicht so recht einordnen können:
Jedes Modelljahr zählt Samsung einen Buchstaben hoch, angefangen in 2008. Bis zur H-Serie(lt. SamyGo-Forum), also Modelljahr 2014, müsste eigentlich das unmodifizierte 70_STV funktionieren. Innerhalb dieser Modelljahre gab es kleinere Veränderungen, so dass das Modul mal mehr, mal weniger Funktionalität liefert. Ab Modelljahr 2015, also J-Serie(I gibt es glaub ich nicht ?), wurde Tizen implementiert. Und die Doku von samsungctl suggeriert mir, dass es auch bei Tizen Unterschiede gibt bzgl. Modelljahr bzw. Serie. Und ich denke es ist weniger wichtig, welche firmware auf dem TV installiert ist, als die Serie bzw. das Modelljahr.
Zitat von: KölnSolar am 16 März 2017, 08:34:43
Extrakt aus meinem Post #68
Danke, das muss ich wohl übersehen haben...
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
ZitatUnd die Doku von samsungctl suggeriert mir, dass es auch bei Tizen Unterschiede gibt bzgl. Modelljahr bzw. Serie. Und ich denke es ist weniger wichtig, welche firmware auf dem TV installiert ist, als die Serie bzw. das Modelljahr.
Ich habe immer noch den bisher unbestätigten Verdacht, dass die K-Serie funktioniert und die J-Serie bisher nicht!
Hallo, ich kann noch einiges zu meinem gestrigen Post ergänzen.
Mein samsungctl-Kommando (mit strace, zeigt alle Systemrufe an):
strace -s 300 samsungctl -v --host 192.168.2.11 --method websocket --name ABC KEY_VOLDOWN
Das erste send() komplett:
send(3, "GET /api/v2/channels/samsung.remote.control?name=QUJD HTTP/1.1\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nHost: 192.168.2.11:8001\r\nOrigin: http://192.168.2.11:8001\r\nSec-WebSocket-Key: h8+WVvWnwrXXwEbUO"..., 238, 0) = 238
Danach siehe gestriges Post.
Das letzte recv() ist die Antwort vom TV:
recv(3, "{\"event\":\"ms.channel.connect\",\"data\":{\"id\":\"183db8f0-0a27-11e7-88b6-170b7192c982\",\"clients\":[{\"id\":\"183db8f0-0a27-11e7-88b6-170b7192c982\",\"connectTime\":1489654868480,\"attributes\":{\"name\":\"QUJD\"},\"deviceName\":\"QUJD\",\"isHost\":false}]}}", 233, 0) = 233
Danach folgt die Meldung auf der Console
write(2, "Sending control command: KEY_VOLDOWN\n")
Nun werden verschlüsselt Daten an den TV gesandt. Dieser meldet dann im Klartext zurück:
recv(3, "{\"event\":\"ms.error\",\"data\":{\"message\":\"unrecognized method value : ms.remote.control\"}}", 87, 0) = 87
@joe99
Das kann ich 100% so bestätigen.
Es sieht bei mir genau so aus!
@Papaloewe
Fehler wurde auch schon hier gemeldet:
https://community.home-assistant.io/t/samsung-tizen-support/4816/29 (https://community.home-assistant.io/t/samsung-tizen-support/4816/29)
Da die GET und "event" im Klartext gesendet werden, kann man vielleicht mittels Wireshark den Verkehr mit einer entsprechenden Samsung-App auswerten. Werde das mal versuchen.
Habe das mal mit der APP: "myTifi" auf dem iphone probiert.
Bei der Einrichtung mußte ich allerdings einmal die 4-stellige Pin vom Fernseher eintragen.
Danach lief es.
Leider habe ich diesen Vorgang nicht sniffern können....
Beim Datenverkehr zwischen TV (J-Serie) und der Samsung-App Smart View kann ich leider nicht viel erkennen, was uns weiterhelfen könnte. Es werden von beiden Seiten Broad- und Multicasts abgesetzt, vieles deutet auf upnp hin.
Es wird auf zwei Schnittstellen des TV verwiesen:
v1:
http:// 192.168.2.11:8001/ms/1.0/
der TV liefert hier :
{
"DUID": "uuid:2319426b...",
"Model": "15_HAWKM_UHD",
"ModelName": "UE48JS8500",
"ModelDescription": "Samsung DTV RCR",
"NetworkType": "wired",
"SSID": "",
"IP": "192.168.2.11",
"FirmwareVersion": "Unknown",
"DeviceName": "[TV] UE48JS8590",
"DeviceID": "uuid:2319426b...",
"UDN": "uuid:2319426b...",
"Resolution": "1920x1080",
"CountryCode": "DE",
"SmartHubAgreement": "true",
"ServiceURI": "http://192.168.2.11:8001/ms/1.0/",
"DialURI": "http://192.168.2.11:8001/ws/apps/",
"Capabilities": [
{
"name": "samsung:multiscreen:1",
"port": "8001",
"location": "/ms/1.0/"
}
]
}
v2:
http:// 192.168.2.11:8001/api/v2/
hier liefert der TV:
{
"id": "uuid:2319426b....",
"name": "[TV] UE48JS8590",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:2319426b....",
"model": "15_HAWKM_UHD",
"modelName": "UE48JS8500",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "192.168.2.11",
"firmwareVersion": "Unknown",
"name": "[TV] UE48JS8590",
"id": "uuid:2319426b....",
"udn": "uuid:2319426b....",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"wifiMac": "xx:xx:xx:xx:xx:xx",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://192.168.2.11:8001/api/v2/"
}
192.168.2.11 ist die IP meines TV, die UUID habe ich abgekürzt.
Gibt es eine App, die mit dem J-Serien-TV über die WS-Schnittstelle kommuniziert?
Probiere doch mal die APP: "myTifi"
Habe Android, kein iPhon.
Zitat von: joe99 am 17 März 2017, 13:12:13
Beim Datenverkehr zwischen TV (J-Serie) und der Samsung-App Smart View kann ich leider nicht viel erkennen, was uns weiterhelfen könnte. Es werden von beiden Seiten Broad- und Multicasts abgesetzt, vieles deutet auf upnp hin.
Es wird auf zwei Schnittstellen des TV verwiesen:
v1:
http:// 192.168.2.11:8001/ms/1.0/
der TV liefert hier :
{
"DUID": "uuid:2319426b...",
"Model": "15_HAWKM_UHD",
"ModelName": "UE48JS8500",
"ModelDescription": "Samsung DTV RCR",
"NetworkType": "wired",
"SSID": "",
"IP": "192.168.2.11",
"FirmwareVersion": "Unknown",
"DeviceName": "[TV] UE48JS8590",
"DeviceID": "uuid:2319426b...",
"UDN": "uuid:2319426b...",
"Resolution": "1920x1080",
"CountryCode": "DE",
"SmartHubAgreement": "true",
"ServiceURI": "http://192.168.2.11:8001/ms/1.0/",
"DialURI": "http://192.168.2.11:8001/ws/apps/",
"Capabilities": [
{
"name": "samsung:multiscreen:1",
"port": "8001",
"location": "/ms/1.0/"
}
]
}
v2:
http:// 192.168.2.11:8001/api/v2/
hier liefert der TV:
{
"id": "uuid:2319426b....",
"name": "[TV] UE48JS8590",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:2319426b....",
"model": "15_HAWKM_UHD",
"modelName": "UE48JS8500",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "192.168.2.11",
"firmwareVersion": "Unknown",
"name": "[TV] UE48JS8590",
"id": "uuid:2319426b....",
"udn": "uuid:2319426b....",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"wifiMac": "xx:xx:xx:xx:xx:xx",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://192.168.2.11:8001/api/v2/"
}
192.168.2.11 ist die IP meines TV, die UUID habe ich abgekürzt.
Gibt es eine App, die mit dem J-Serien-TV über die WS-Schnittstelle kommuniziert?
die ich bereits genannt hatte.
PS: Nur 48 Zoll? 65 viel besser :D
Hallo,
ich hab es auch mal getestet, leider dürfte bei mir noch was nicht stimmen:
2017.04.01 14:45:52 1: PERL WARNING: Argument "ws" isn't numeric in numeric ne (!=) at ./FHEM/70_STV.pm line 286.
Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 100, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 10, in __init__
self.remote = RemoteWebsocket(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_websocket.py", line 23, in __init__
self._serialize_string(config["name"])))
File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 211, in connect
options.pop('socket', None))
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 71, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 114, in _open_socket
sock.connect(address)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 113] No route to host
Hat da wer eine Idee?
Schau einfach mal weiter oben im Thread.
Du musst noch zwei Änderungen im Script vornehmen.
@Papaloewe
Danke für deine Antwort!
Wäre nett wenn du mir noch sagen könntest, welchen Post du meinst.
Ich habe alles gemacht was im Post 48 steht.
@GerhardSt
ja, genau den Post 48 meinte ich. Sorry das war etwas zu knapp gehalten. ;)
Ansonsten könnte es noch mit den beiden python Versionen 2.7 und 3.5 zu Problemen kommen.
Ich meine du solltest den Aufruf zunächst von der Konsole aus testen.
Nur "python" benutzt Version2.7 und "python3" die Version3.5, falls beide installiert sind.
Bin mir aber nicht mehr ganz sicher, das ist schon wieder ein paar Tage her und man wird immer älter. 8)
Gruß
Thomas
Danke!
Fehler kommt jetzt keiner mehr, aber der TV (JS-Serie) reagiert trotzdem nicht.
Es kommt nicht mal eine Einblendung ob FHEM den TV steuern darf. :(
Ja, diese Erfahrung habe ich leider auch gemacht.
Das scheint zur Zeit nur bei der K-Serie zu funktioniren.
Hallo,
habe einen relativ neuen ue65ks7090 mit Tizen und der neusten Software .
Nach der Anpassung des Pfades im pm modul und der Beschreibung aus Post 48 läuft es gut.
Danke für die Arbeit.
Gruß
Christoph
wie bekomme ich fhem überhaupt authenifiziert ich kann ja keine PIN eingeben im samsungctl, auch fehlt mir jegliche möglichkeit dies im Menü meines Tizen
UE48JU7590 THKMDEUC-1452 so einzustellen dass keine Authentifizierung nötig ist.
mod25
moin,
ich habe hier http://developer.samsung.com/tv/develop/specifications/tv-model-lineup (http://developer.samsung.com/tv/develop/specifications/tv-model-lineup) eine tabelle gefunden, um etwas mehr klarheit in der tizen/legacy-platform-frage zu bekommen. demnach haben alle h-modelle und sogar einige j-modelle keine tizen platform. da bleibt für mich allerdings die frage, ob das wirklich firmware unabhängig ist.
mit meinem UE32H5373 kann ich zwar auch die pin eingabe über port 8080 triggern, aber im gegensatz zu anderen mit einem h-modell, ist bei mir der port 8001 geschlossen. firmware:T-NT14MDEUC-1149.1
Nmap scan report for 192.168.1.26
Host is up (0.0042s latency).
Not shown: 65530 closed ports
PORT STATE SERVICE
4443/tcp open pharos
7011/tcp open unknown
7676/tcp open imqbrokerd
8080/tcp open http-proxy
8443/tcp open https-alt
hat hier eventuell schon jemand die pin eingabe gesnifft?
leider habe ich hier kein gerät, das ich regulär pairen könnte. ich hoffe, dass sich nach erfolgreichem pairen weitere ports öffnen könnten.
gruss frank
Zitat von: frank am 27 April 2017, 13:53:08
moin,
leider habe ich hier kein gerät, das ich regulär pairen könnte. ich hoffe, dass sich nach erfolgreichem pairen weitere ports öffnen könnten.
gruss frank
Es gibt Apps, die als Fernbedienung dienen, diese Fragen eine Pin ab. ich glaube sie heißt Sam Fernsteuerung.
Für meine Samsung H Serie funktioniert die App Samsung Smart View:
https://play.google.com/store/apps/details?id=com.samsung.smartviewad
Das ganze läuft über Websockets
https://forum.samygo.tv/viewtopic.php?f=74&t=7707&start=10#p89177
Und hier ein paar offizielle Sourcen zur Samsung Cast Anbindung:
https://github.com/SamsungDForum
Hallo
Habe das von dem Entwickler der Samsung Smart Remote App (Android) bekommen. Vielleicht hilft es ja dem einen oder dem anderen:
https://github.com/krzynio/python-samsung-smarttv-2016/blob/master/sstv2016.py
Hab da vielleicht nen interessante Seite gefunden?
https://github.com/openremote/Documentation/wiki/Samsung-Smart-TV (https://github.com/openremote/Documentation/wiki/Samsung-Smart-TV)
Würd mir ja gerne eine M-Serie neu zulegen. Aber ohne Funktionsnachweis bleibe ich lieber bei der E-Serie :(
Keiner da, der M-Serie am laufen hat ?
Grüße Markus
Habe es mit meiner H Serie versucht aber leider gescheitert...
Jetzt habe ich mir über einen sonoff eine Fernbedienung gebaut funktioniert super ;)
Mein Samsung der M-Serie ist leider nicht ansteuerbar... :'(
na wenigstens schon mal ein Testobjekt. ;)
Hast Du es so (https://forum.fhem.de/index.php/topic,57595.msg600981.html#msg600981) probiert ? Keine Meldungen am TV für die Berechtigung übersehen ? Wo hakte es denn eigentlich genau? Meldungen im Log, durch die Dir die Gemeinschaft weiterhelfen kann ?
Jup, alles so gemacht. Ich habe jetzt mal was anderes getestet: ein Teil der Kommandos geht. Das Problem ist, dass weder POWERON noch POWER funktionieren, um den TV anzuschalten. Wenn er aber an ist, dann kann man ihn mit POWER ausschalten. Ein paar Kommandos, die ich getestet habe, gehen, z.B. Exit, Menu, Right. Bei iHDMI, HDMI1 usw. tut sich bspw. nichts. Und an bekomme ich ihn eben auch nicht - nur über den Umweg über die Harmony ;-)
OK, Power on ging noch nie, bei keiner Serie. Grund: keine Netzwerkverbindung ;)
Du hast mit den schwierigen Tasten begonnen. Was ist mit den wichtigen: 0-9, mute, lautstärke, progup,-down ?
Dein letzter Post stimmt mich zuversichtlich, dass Alexa funktionieren wird. ;D Aber das ist nur die Pflicht. :( Kür ist die Statusanzeige von FHEM. Lust zu experimentieren ? Dann würd ich gucken, wie ich das damals für die E-Serie gemacht habe.
Gerade getestet - laufen alle. mit progup und down meinst du chup nehme ich an. Menu und exit gehen auch. Und klar bin ich experimentierfreudig - ich habe FHEM ;-) Also wenn ich was für dich testen soll, her damit. Einen Status bekommt man in Fhem übrigens nicht. Nur STATE initialized. Aber sei vorgewarnt, ich bin absoluter perl- und linux Laie. Ich bekomme zwar alles zum Laufen, aber in der Regel nur mit Hilfe. Also versprich dir nicht zu viel ;-)
Schööööön. Dann lasset die Spiele beginnen ;D
Perl werde ich auch nie verstehen u. Linux, na ja. Aber das brauchen wir erst einmal gar nicht.
Zum groben Hintergrund:
Die Kommunikation erfolgt über Netzwerk, also TCP/IP. Dafür braucht man die "Adresse", die sich aus IP-Adresse und Port ergibt. Der Port ist aber oftmals genau die erste Hürde. Auf welchem lauscht das Gerät, also welcher Port ist "offen" ? Die 2. ist dann, mit welchem Dienst und schließlich 3., wie ist die Syntax, um mit dem Dienst zu kommunizieren.(Experten, verzeiht mir die laienhafte Ausdrucksweise)
Für die E-Serie war es der Port 7676(verändert gegenüber vorherigen Serien) mit einem Dienst für SOAP (https://de.wikipedia.org/wiki/SOAP) messages(ebenfalls neu seit der E_Serie). Und es gab eine SOAP-message, mit der man den Browser mit einer URL starten konnte und genau das habe ich mir zu eigen gemacht. Aus FHEM die SOAP-message mit url für meine InfoDisplay-Seite an SamsungTV:7676 geschickt. Fertig war mein bis heute perfekt funktionierender Anrufmonitor u. FHEM-Statusdisplay auf dem TV.
Da das nicht mein Tagesgeschäft ist u. ein paar Jahre her ist, muss ich meine damalige Vorgehensweise hervorkramen. Das erste, was Du machen kannst, ist wireshark auf Windoof zu installieren und die Kommunikation in Deinem Netzwerk sniffen, wenn Du über was auch immer (Handy-App ?; ich habs damals glaub ich über ruSamsungComunicator gemacht) mit dem STV kommunizierst. So sollten die offenen Ports ermittelbar sein. Ob es immer noch 7676 mit SOAP ist ?
Ich versuche mal parallel die Technik hinter der aktuellen Kommunikationsmöglichkeit zu verstehen.
Edit: kurze Zusammenfassung: nachdem cooltux das Pythonskript gefunden hatte, hat Dominik den Aufruf in das altbewährte 70_STV eingebaut. Das Skript kann "nur" Tastenbefehle per Netzwerkverbindung und websocket (https://de.wikipedia.org/wiki/WebSocket) senden. Port scheint 8001 zu sein.
Ich spekulier jetzt mal: wenn S. nun websocket einsetzt, wird SOAP gestorben sein :'(
Der http://TV_IP:8001/api/v2/ geht bei Dir, oder ?
Habe es jetzt einfach mal platt mit dem Port 7676 probiert und siehe da, eine Antwort:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>402</errorCode>
<errorDescription>Invalid Args</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Bereit für den nächsten Test ;-)
ja geil, guck mal mein edit einen post vorher :o
Dann würd ich sagen Planänderung und einfach mal meine angehängte modifizierte STV nehmen. Vorher die alte Version sichern, denn meine hat eine "keineAhnungvonwann-Basisversion" und ist auch nicht für den problemlosen universellen Betrieb geeignet, also NUR für die jetzigen Tests.
Edit: Mist, hatte die IP hart codiert. Schick mir bitte ne PN mit der IP des FHEM-Servers und Deine email dann baue ich morgen um und schicke Dir die Version per Mail.
Hallo KölnSolar
Zitat von: KölnSolar am 28 Oktober 2017, 18:23:45
OK, Power on ging noch nie, bei keiner Serie. Grund: keine Netzwerkverbindung ;)
Ich habe das Power on bei meinem KS9090 so gelöst:
{system (qx(etherwake -i eth0 5c:49:7d:0a:83:7c))}
Der TV hängt allerdings auch am Lan-Kabel. Kannst Du ja bei Dir mal testen - natürlich mit Deiner MAC-Adresse...
Grüße sendet
Gigafix
Tip top,
ich habe das gleichmal mit dem WOL Modul eingebaut und schon funktioniert ein- und ausschalten ;-)
I love FHEM ;-)
Hier mal mein Device falls das jemand nachbauen will - natürlich MAC und IP in der DEF durch eigene Werte ersetzen und beim attr shutdowncmd den Namen des eigenen devices reinsetzen (bei mir heißt er halt TV_Samsung).
Internals:
CFGFN
DEF MAC IP
IP IP
MAC MAC
MODE BOTH
NAME TVSamsung_wol
NR 14000
REPEAT 000
STATE on
TYPE WOL
READINGS:
2017-10-29 09:54:50 active off
2017-10-29 09:52:12 isRunning true
2017-10-29 09:52:08 packet_via_EW MAC
2017-10-29 09:52:08 packet_via_UDP IP
2017-10-29 09:52:12 state on
TIMER:
TVSamsung_wol_ping:
HASH TVSamsung_wol
MODIFIER ping
NAME TVSamsung_wol_ping
helper:
Attributes:
shutdownCmd set TV_Samsung POWER
docb, Du denkst an die PN(s.o) ?
@Gigafix Danke für den Hinweis. Probier ich bestimmt noch ;) Ich hab den Workaround: Strom an/Strom aus ;D
Die PN ist heute früh schon raus.
Und noch ein Workaround: harmony. Mit dem Ding schalte ich alles, was sonst nicht will ;-)
Da halt ich mit der Betty dagegen ;)
Habe jetzt dank PN von docb folgendes gemacht:
- sudo pip install websocket-client
- sudo pip install samsungctl
- File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py öffnen
o except FileNotFoundError: in except: ändern (<----war bei mir nicht vorhanden)
o Folgende Zeile löschen directories.append(os.path.join(os.getenv("HOME"), ".config")) (<----war bei mir auch nicht vorhanden)
Die 70_STV.pm ins Verzeichnis FHEM.
Und das hier in die fhem.cfg:
define tv00 STV 192.168.0.203 ws
define tv00_wol WOL e4:7d:bd:98:60:38 192.168.0.203
attr tv00_wol shutdownCmd POWER
Das Device tv00 ist dann zwar "Initialized" aber reagiert auf keinen Befehl. Habe auch die Ports 7676 und 8001 versucht, aber in beiden Fällen meckert FHEM "STV Port not supported".
hiermit: http://192.168.0.203:8001/api/v2/ komme ich an den TV der übrigens ein "modelName": "UE55KU6170", ist.
Kann mir jemand helfen?
Puh, ich bin da leider ratlos - die beiden Zeilen müssen eigentlich vorhanden sein. Hast du manuell oder mit Suchfunktion gesucht? Bei mir waren beide da. Daran hängt sicher der Fehler. Installiere doch beides einfach nochmal neu.
import argparse
import collections
import json
import logging
import os
import socket
import errno
from . import __doc__ as doc
from . import __title__ as title
from . import __version__ as version
from . import exceptions
from . import Remote
def _read_config():
config = collections.defaultdict(lambda: None, {
"name": "samsungctl",
"description": "PC",
"id": "",
"method": "legacy",
"timeout": 0,
})
file_loaded = False
directories = []
xdg_config = os.getenv("XDG_CONFIG_HOME")
if xdg_config:
directories.append(xdg_config)
directories.append(os.path.join(os.getenv("HOME"), ".config"))
directories.append("/etc")
for directory in directories:
path = os.path.join(directory, "samsungctl.conf")
try:
config_file = open(path)
except IOError as e:
if e.errno == errno.ENOENT:
continue
else:
raise
else:
file_loaded = True
break
if not file_loaded:
return config
with config_file:
try:
config_json = json.load(config_file)
except ValueError as e:
logging.warning("Warning: Could not parse the configuration file.\n %s", e)
return config
config.update(config_json)
return config
def main():
parser = argparse.ArgumentParser(prog=title, description=doc,
epilog="E.g. %(prog)s --host 192.168.0.10 --name myremote KEY_VOLDOWN")
parser.add_argument("--version", action="version",
version="%(prog)s {0}".format(version))
parser.add_argument("-v", "--verbose", action="count",
help="increase output verbosity")
parser.add_argument("-q", "--quiet", action="store_true",
help="suppress non-fatal output")
parser.add_argument("-i", "--interactive", action="store_true",
help="interactive control")
parser.add_argument("--host", help="TV hostname or IP address")
parser.add_argument("--port", type=int, help="TV port number (TCP)")
parser.add_argument("--method", help="Connection method (legacy or websocket)")
parser.add_argument("--name", help="remote control name")
parser.add_argument("--description", metavar="DESC",
help="remote control description")
parser.add_argument("--id", help="remote control id")
parser.add_argument("--timeout", type=float,
help="socket timeout in seconds (0 = no timeout)")
parser.add_argument("key", nargs="*",
help="keys to be sent (e.g. KEY_VOLDOWN)")
args = parser.parse_args()
if args.quiet:
log_level = logging.ERROR
elif not args.verbose:
log_level = logging.WARNING
elif args.verbose == 1:
log_level = logging.INFO
else:
log_level = logging.DEBUG
logging.basicConfig(format="%(message)s", level=log_level)
config = _read_config()
config.update({k: v for k, v in vars(args).items() if v is not None})
if not config["host"]:
logging.error("Error: --host must be set")
return
try:
with Remote(config) as remote:
for key in args.key:
remote.control(key)
if args.interactive:
logging.getLogger().setLevel(logging.ERROR)
from . import interactive
interactive.run(remote)
elif len(args.key) == 0:
logging.warning("Warning: No keys specified.")
except exceptions.ConnectionClosed:
logging.error("Error: Connection closed!")
except exceptions.AccessDenied:
logging.error("Error: Access denied!")
except exceptions.UnknownMethod:
logging.error("Error: Unknown method '{}'".format(config["method"]))
except socket.timeout:
logging.error("Error: Timed out!")
except OSError as e:
logging.error("Error: %s", e.strerror)os.pa
if __name__ == "__main__":
main()
Habe reinstalled und die zweite Zeile jetzt gefunden und gelöscht, aber die "FileNotFoundError" finde ich nirgends.
Hm, da sind einige Zeilen anders als bei meiner Datei. Bist du sicher, dass du Python2.7 hast?
Vermutlich hast du eine neuere Version. Ich schicke dir mal meine per PN. Habe aber keine Ahnung ob das dann mit den anderen Neuerungen zusammen funktioniert, bin ein völliger Python-Noob.
Viele Grüße
Hab es jetzt mit deiner versucht, immer noch nichts. Welchen "state" hat denn bei dir das Device und wie sieht dein FHEM-Code aus?
Zwecks Python: pi@raspberrypi:~ $ python -V
Python 2.7.9
So schaut der List des TV aus:
Internals:
DEF MeineIP ws
Host MeineIP
NAME TV_Samsung
NR 1141
Port ws
STATE Initialized
TYPE STV
READINGS:
2017-11-05 08:26:53 state disconnected
Attributes:
alias Samsung
group Fernseher
icon it_television
room Multimedia
sortby 1
verbose 5
und so der List auf das WOL Device:
Internals:
DEF MeineMAC MeineIP
IP MeineIP
MAC MeineMAC
MODE BOTH
NAME TVSamsung_wol
NR 1140
REPEAT 000
STATE off
TYPE WOL
READINGS:
2017-11-23 14:53:20 active off
2017-11-23 14:45:45 isRunning false
2017-11-23 14:52:06 packet_via_EW MeineMAC
2017-11-23 14:52:06 packet_via_UDP MeineIP
2017-11-23 14:45:45 state off
TIMER:
TVSamsung_wol_ping:
HASH TVSamsung_wol
MODIFIER ping
NAME TVSamsung_wol_ping
helper:
Attributes:
alias Samsung (WOL)
devStateIcon on:it_television@green off:it_television@red
group Fernseher
icon it_television
room Multimedia
shutdownCmd set TV_Samsung POWER
sortby 2
webCmd refresh:on:off
Python habe ich die Version 2.7.13.
Ich denke eher, dass du vielleicht eine neuere Versoin des samsungctl hast.
Sieht bei mir ganz gleich aus, aber klappt nicht :( Gibt es eine Möglichkeit herauszufinden welchen Port ich brauche, bzw. mit welchen TVs SamsungCTL kompatibel ist?
das (https://forum.fhem.de/index.php/topic,57595.msg600981.html#msg600981) hast Du gemacht ? Fehlermeldungen ? Mal das Skript aus der Konsole gestartet ? Zugriff authorisiert ?
Ich fasse einmal zusammen, raspi 3:
1.) sudo apt-get update
2.) sudo apt-get upgrade
3.) wget https://bootstrap.pypa.io/get-pip.py
4.) sudo python get-pip.py
5.) sudo pip install websocket-client
6.) sudo pip install samsungctl
7.) sudo nano /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py
7.1: #directories.append(os.path.join(os.getenv("HOME"), ".config"))
7.2: FileNotFounError findet er mit STRG+W nicht <-------------------------------------------!!!
8.) FileZilla: /opt/fhem/FHEM/70_STV.pm -->
package main;
use Blocking;
use strict;
use warnings;
use IO::Socket::INET;
use Sys::Hostname;
use MIME::Base64;
use DevIo;
9.) fhem.cfg define tv00 STV 192.168.0.203 ws
attr tv00 alias TV
attr tv00 group TV
attr tv00 room Devices
10.) Fhem Konsole: shutdown restart
11.) Fhem Konsole: set tv00 MUTE <------------- nichts passiert
Logfile: Traceback (most recent call last):
File "/usr/local/bin/samsungctl", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 105, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 10, in __init__
self.remote = RemoteWebsocket(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_websocket.py", line 22, in __init__
self._serialize_string(config["name"])), config["timeout"])
File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 487, in create_connection
websock.connect(url, **options)
File "/usr/local/lib/python2.7/dist-packages/websocket/_core.py", line 211, in connect
options.pop('socket', None))
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 71, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File "/usr/local/lib/python2.7/dist-packages/websocket/_http.py", line 125, in _open_socket
raise err
socket.error: [Errno 111] Connection refused
Das mit dem "Aufruf ändern" bräuchte ich bitte ein Bisschen genauer erklärt. /usr/local/bin/samsungctl ist vorhanden.
Fernseher Werksreset und plötzlich geht es?!?! Kapier ich nicht :D
und ich müh mich für ne Antwort. ::)
Prima, dass es jetzt klappt. War es vielleicht
ZitatZugriff authorisiert ?
:-\
Hallo!
Dank dieser super Anleitung schaffe ich es jetzt meine Samsung Tv der 8 Serie zu steuern, gibt es aber die Möglichkeit ein Programm auf dem Tv über Stv zu starten?
In meinem Fall wäre das Plex was ich installiert habe...
Mfg Steffen
Puh, direkt wüsste ich nicht - aber vielleicht mit Workaround, indem du die Tasten schickst, die du benötigst, um Plex zu starten. Also in der Art Menü, runter, rechts, rechts, enter. Was besseres fällt mir leider auch nicht ein.
@KölnSolar: Ne, die Frage der Authorisierung kam gar nie. Vielleicht saß ich auf der Fernbedienung als ich das erste Mal gefragt wurde und mein Hintern hat es verneint :D Nach dem Werksreset war es nach dem ersten Aufruf da. Womöglich hatte ich irgendwann im Menü "Always No" aktiviert.
Ich hätte großes Interesse, das zu testen. Habe eine h Serie und suche schon lange nach einer Lösung. Gibt es da schon etwas?
H geht wohl mal, mal nicht :-\
Das hast Du gelesen u. probiert ?
ZitatDominiks Anleitung (#48) und Markus Modifikation (#53)
"STATE Initialized"
Mehr geht leider nicht. Via HTTP meldet sich der Fernseher auf Port 8001 (http://192.168.0.65:8001/api/v2/):
id "07270e01-0078-1000-8cd0-c4576e33f5de"
name "[TV]Samsung LED55"
version "2.0.24"
device
type "Samsung SmartTV"
duid "07270e01-0078-1000-8cd0-c4576e33f5de"
model "14_X14_BT"
modelName "UE55H6850"
description "Samsung TV RCR"
networkType "wireless"
ssid "xxxxxxxxxxxxxx"
ip "192.168.0.65"
firmwareVersion "Unknown"
name "[TV]Samsung LED55"
id "07270e01-0078-1000-8cd0-c4576e33f5de"
udn "07270e01-0078-1000-8cd0-c4576e33f5de"
resolution "1920x1080"
countryCode "DE"
msfVersion "2.0.24"
smartHubAgreement "true"
developerMode "0"
developerIP "0.0.0.0"
type "Samsung SmartTV"
uri "http://192.168.0.65:8001/api/v2/"
Zitat"STATE Initialized"
heißt was ? :o
Heißt : geht nicht.
Hmmm, neueste Version mit "WS", trotzdem kommt im Log
2017.12.10 14:26:06 1: PERL WARNING: Argument "ws" isn't numeric in numeric ne (!=) at ./FHEM/70_STV.pm line 287, <$fh> line 1687.
Habe drei Varianten durch, keine funktioniert leider.
define SamsungTv1 STV 192.168.0.65
attr SamsungTv1 room Wohnzimmer
attr SamsungTv1 verbose 5
define SamsungTv2 STV 192.168.0.65 ws
attr SamsungTv2 room Wohnzimmer
attr SamsungTv2 verbose 5
define SamsungTv3 STV 192.168.0.65 8001
attr SamsungTv3 room Wohnzimmer
attr SamsungTv3 verbose 5
ZitatDas hast Du gelesen u. probiert ?
Zitat
Dominiks Anleitung (#48) und Markus Modifikation (#53)
Dann hast Du es also nicht gelesen. :o
Zumindest suggeriert mir Deine Fehlermeldung, dass Du gar nicht die Version von 70_STV aus Post 48 aktiv hast. ::) Nicht kopiert, kein reload oder shutdown/restart :-\
Edit: und wie das define aussehen muss, steht auch in #48.
Zitat von: KölnSolar am 10 Dezember 2017, 15:17:37
Dann hast Du es also nicht gelesen. :o
Weißt Du was ich hier manchmal echt nervig finde? Das man hin und wieder für blöd verkauft wird. Ich habe #48 sehr wohl gelesen und mir auch die 70_STV.PM geladen, installiert, angeschaut bzw versucht, anzupassen. Ich habe die .PY modifiziert. Ich habe x mal reloaded, FHEM neu gestartet, die Hardware neu gestartet. Ich habe PIP gelöscht, neu installiert. Und trotzdem funktioniert es nicht.
Wenn ich mir die 70_STV.PM anschaue, dann gibt es dort STV_55000, STV_52235, STV_WS und auf meine Art der Definition habe ich lediglich alle Möglichkeiten der PM versucht.
ZitatZumindest suggeriert mir Deine Fehlermeldung
ist meines Erachtens ungleich
ZitatDas man hin und wieder für blöd verkauft wird.
Aber gut, ich werde nicht weiter nerven.
Anyway ... Es funktioniert leider nicht mit einem 55'er H Serie. Gestern abend kam außerdem noch eine neue Firmware, Version 2.2, glaube ich (war zu schnell weggeklickt).
Beitrag #48 und #53 betrachtet. Wenn ich den "samsungctl" Befehl mit entsprechenden Parametern von Hand im Terminal absende, kommt nix zurück (also kein Fehler oder so), es passiert aber auch nix.
Falls es noch was zu testen, bin mehr als gerne dabei.
schaut euch mal folgenden github an:
https://github.com/eclair4151/samsung_encrypted_POC/tree/master
bei mir j-series hat es funktioniert!
mod25
Hallo mod25,
sieht gut aus, könntest du in ein par Stichworte was zu tun ist, beschreiben?
Ich habe 2 x H-Serie und eine J-Serie, aber erst nächste Woche kann ich was Testen.
Danke, Gerhard
Naja, installieren, testen u. ein FHEM-Modul drumherum schreiben. 8)
Mir stellt sich erst einmal die Frage, was zu dem im Modul implementierten samsungctl anders ist ?
@mod25: Du hattest es mit samsungctl u. Dominik's Anpassung bei Deinem J-Serie mit welchem Ergebnis probiert ?
Zitatschaut euch mal folgenden github an:
https://github.com/eclair4151/samsung_encrypted_POC/tree/master
bei mir j-series hat es funktioniert!
mod25
ich habe verstanden, da ist irgend wie eine Lösung ("bei mir j-series hat es funktioniert!"), oder habe ich da was falsches verstanden??
Darf ich nochmal pushen? Trotz aller Aktualisierung bekomme ich im Log den Fehler "PERL WARNING: Argument "ws" isn't numeric in numeric ne (!=) at ./FHEM/70_STV.pm line 287, <$fh> line 1694."
ist erst einmal nur eine
ZitatPERL WARNING
, also nicht wirklich ein Problem. Dass bei Dir die samsungctl-Variante nicht funktioniert, liegt an etwas anderem.
Du könntest ja mal mod25's Link probieren....
Dachte ich auch schon, leider bin ich überhaupt nicht in der Modul-Entwicklung zu Hause.
Die 70_STV.PM muss man nur umstricken, damit zuerst auf "ws" und damit auf eine Zeichenkette geprüft wird. Dann kommt der Fehler nicht mehr ... Es wird aber leider auch kein TV erkannt. Schade.
Von
if ( $hash->{Port} != 55000 && ...
in
if ( $hash->{Port} ne "ws" && $hash->{Port} != 55000 ...
schaut euch mal folgenden github an:
https://github.com/eclair4151/samsung_encrypted_POC/tree/master
bei mir j-series hat es funktioniert!
mod25
Geht bei meinem HU6900 auch ;-)
Einmal gepaired bleibt die Verbindung erhalten, d.h. man kann nur noch mit debug.py arbeiten... auch nach einem tv neustart.. ;D ;D ;D ;D ;D ;D
Zitat von: KölnSolar am 13 Dezember 2017, 15:13:39
Naja, installieren, testen u. ein FHEM-Modul drumherum schreiben. 8)
Mir stellt sich erst einmal die Frage, was zu dem im Modul implementierten samsungctl anders ist ?
@mod25: Du hattest es mit samsungctl u. Dominik's Anpassung bei Deinem J-Serie mit welchem Ergebnis probiert ?
ja hatte ich versucht aber ohne Erfolg.
mal sehen eventuell kann einer von den Pros es in 70_STV.PM mit aufnehmen wäre TOP.
mod25
Naja, bevor man ein Modul darum bauen kann sollte man wohl erst das Problem lösen, dass der Key nach jedem Neustart des Fernsehers kaputt geht. Jedesmal ein Pairing auszuführen ist irgendwie keine Lösung.
Hier fehlt noch irgendetwas - deswegen ist es aber auch wohl nur ein POC.
... und noch eine Erkenntnis: samsungctl kann via pip nicht funktionieren, weil der Code Stand zu alt ist. Pairing ist erst im aktuellen Github Stand mit drin. Deswegen:
Von Github klonen und das Modul direkt aufrufen. Dann reicht aber ein einfaches Absetzen des Kommandos auch nicht - man muss ein explizites pair vorher aufrufen:
python3 -m samsungctl --host 192.168.0.24 --timeout 5 --method websocket --name FHEMRemote --pair KEY_CHUP
Damit bekommt man dann auch die Pin-Abfrage. Nur Schalten kann man nicht ...
Edit: Jetzt kann ich auch Schalten. Aber zuerst - der Code im samsunctl ist _exakt_ der Gleiche wie im POC. Die zugehörige Methode heißt "pin" (und es gibt sie ausschließlich im Github Repo). Was muss man nun tun:
* Einmal python3 -m samsungctl --host $IP --timeout 5 --method pin --name FHEMRemote --pair KEY_CHUP
ausführen. Den Session Key und die ID merken
* Eine samsungctl.conf anlegen und die Werte austauschen (unter ~/.config/samsungctl.conf): {
"name": "samsungctl",
"description": "PC",
"id": "myControl",
"method": "pin",
"timeout": 0,
"session_key": "$session_key",
"session_id": $session_id
}
* Jetzt kann man mit python3 -m samsungctl --host 192.168.0.24 --timeout 5 --method pin --name FHEMRemote KEY_CHDOWN
schalten.
Der große Haken: Das Ganze hat das gleiche Problem wie der POC. Ausschalten, Einschalten. Der Session-Key ist kaputt und man fängt von vorne an.
Darf ich dieses Thema hier nochmal aufgreifen? https://github.com/kyleaa/homebridge-samsungtv2016
Ich habe mir das grade nochmal genauer angeguckt und konnte einen MU6300 (US-Fernseher, teste zu Hause nochmal in den kommenden Wochen) auf der Basis steuern, inklusive Lautstärke hoch, runter, ein, aus, etc.. Das Homebridge-Modul hat bei mir zu Hause schon mit einem 2017er Samsung-Fernseher funktioniert.
Mit der Websocket-Adresse aus dem Projekt konnte ich komplett ohne Verschlüsselung mit dem Fernseher kommunizieren, ich musste nur einmal in einem Popup erlauben, dass der Fernseher durch mein anderes Gerät gesteuert werden darf.
Zitat von: yanniks am 04 Januar 2018, 02:24:33
Darf ich dieses Thema hier nochmal aufgreifen? https://github.com/kyleaa/homebridge-samsungtv2016
Ich habe mir das grade nochmal genauer angeguckt und konnte einen MU6300 (US-Fernseher, teste zu Hause nochmal in den kommenden Wochen) auf der Basis steuern, inklusive Lautstärke hoch, runter, ein, aus, etc.. Das Homebridge-Modul hat bei mir zu Hause schon mit einem 2017er Samsung-Fernseher funktioniert.
Mit der Websocket-Adresse aus dem Projekt konnte ich komplett ohne Verschlüsselung mit dem Fernseher kommunizieren, ich musste nur einmal in einem Popup erlauben, dass der Fernseher durch mein anderes Gerät gesteuert werden darf.
Das Modul sieht ja interessant aus.... Funktioniert das auch mit der F-Serie ?
Zitat von: frosch6669 am 22 Dezember 2017, 19:23:34
schaut euch mal folgenden github an:
https://github.com/eclair4151/samsung_encrypted_POC/tree/master
bei mir j-series hat es funktioniert!
mod25
Geht bei meinem HU6900 auch ;-)
Einmal gepaired bleibt die Verbindung erhalten, d.h. man kann nur noch mit debug.py arbeiten... auch nach einem tv neustart.. ;D ;D ;D ;D ;D ;D
Hallo, mit meinem UE-55H6740SV (Bj. 2014) hat das auch geklappt, weshalb ich mich mal an die Portierung des Python-Scriptes nach Perl gemacht habe. Die Registrierung der App im TV und die Erzeugung des Keys funktionieren schon mal. Es kommt der identische Befehl raus. Jetzt noch die Websocket-Sache ... ;D
ZitatPortierung des Python-Scriptes nach Perl
Das ist prima :-* u.U. kann ich später einen "message-part" beitragen, sofern SOAP-messages bei Tizen unterstützt werden :-\
Zitat von: KölnSolar am 14 Januar 2018, 09:43:41
Das ist prima :-* u.U. kann ich später einen "message-part" beitragen, sofern SOAP-messages bei Tizen unterstützt werden :-\
Anbei zwei Perl-Scripte zum Testen. Das erste registriert die App und schreibt die Session-ID in ein File. Das zweite führt dann den Befehl aus. Bitte beide Scripte an eigene IP etc. anpassen und aus demselben Directory starten.
Das ist jetzt mal eine erste Version. Ich versuche noch, ohne das AnyEvent-Modul auszukommen.
Good luck ;)
EDIT: do.pl ist/war nur zum testweisen Ausführen der Befehle. Es wurde hier entfernt und ist jetzt im STV-Modul integriert.
Hallo!
Bei mir zu Hause einem K Model läuft es gut, nun
wollte ich es bei meiner mam mit einem J Model auch versuchen aber da passiert irgendwie nix?!
Habe es hiermit versucht:
pi@JuttaHomeServer:~ $ python -m samsungctl --host 192.168.178.29 --port 8001 --timeout 5 --method legacy KEY_POWERON
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 126, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 104, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 8, in __init__
self.remote = RemoteLegacy(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 31, in __init__
self._read_response(True)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 63, in _read_response
tv_name_len = int.from_bytes(header[1:3],
AttributeError: type object 'int' has no attribute 'from_bytes'
hier die anfragen:
{ "DUID": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "Model": "15_HAWKM_UHD_2D_BASIC", "ModelName": "UE55JU6000", "ModelDescription": "Samsung DTV RCR", "NetworkType": "wired", "SSID": "", "IP": "xxxxxx", "FirmwareVersion": "Unknown", "DeviceName": "[TV] UE55JU6050", "DeviceID": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "UDN": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "Resolution": "1920x1080", "CountryCode": "DE", "SmartHubAgreement": "true", "ServiceURI": "http://xxxxx:8001/ms/1.0/", "DialURI": "http://xxxxcx:8001/ws/apps/", "Capabilities": [ { "name": "samsung:multiscreen:1", "port": "8001", "location": "/ms/1.0/" } ] }
{ "id": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "name": "[TV] UE55JU6050", "version": "2.0.25", "device": { "type": "Samsung SmartTV", "duid": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "model": "15_HAWKM_UHD_2D_BASIC", "modelName": "UE55JU6000", "description": "Samsung DTV RCR", "networkType": "wired", "ssid": "", "ip": "192.168.178.29", "firmwareVersion": "Unknown", "name": "[TV] UE55JU6050", "id": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "udn": "uuid:f32c97ba-d339-4aca-9903-9e218e9c0764", "resolution": "1920x1080", "countryCode": "DE", "msfVersion": "2.0.25", "smartHubAgreement": "true", "wifiMac": "14:bb:6e:e8:a3:32", "developerMode": "0", "developerIP": "" }, "type": "Samsung SmartTV", "uri": "http://xxxxxx:8001/api/v2/" }
Klappt es nicht auf einem J Model???
Mfg Steffen
versuch mal das Skript aus #150.
perl regapp.pl
Enter TV Pin: xxxx
HTTP_Request 34.210.190.209: Can't connect.
STEP 1 POST #1: Couldn't get the document.
Hat jemand eine Idee?
Hallo!
Ich versuche es mal mit dem Script, muss nur mal sehen ob ich das verstehe...
Kann mir trotzdem jemand sagen was dieser Fehler aussagt???
AttributeError: type object 'int' has no attribute 'from_bytes'
Mfg Steffen
Zitat von: Papaloewe am 15 Januar 2018, 18:55:53
perl regapp.pl
Enter TV Pin: xxxx
HTTP_Request 34.210.190.209: Can't connect.
STEP 1 POST #1: Couldn't get the document.
Hat jemand eine Idee?
Internet aus Deinem Netzsegment erreichbar?
ja
ping web.de
PING web.de (82.165.229.138) 56(84) bytes of data.
64 bytes from bs.web.de (82.165.229.138): icmp_seq=1 ttl=246 time=19.0 ms
64 bytes from bs.web.de (82.165.229.138): icmp_seq=2 ttl=246 time=35.8 ms
64 bytes from bs.web.de (82.165.229.138): icmp_seq=3 ttl=246 time=20.8 ms
Zitat von: Papaloewe am 15 Januar 2018, 20:31:26
ja
ping web.de
PING web.de (82.165.229.138) 56(84) bytes of data.
64 bytes from bs.web.de (82.165.229.138): icmp_seq=1 ttl=246 time=19.0 ms
64 bytes from bs.web.de (82.165.229.138): icmp_seq=2 ttl=246 time=35.8 ms
64 bytes from bs.web.de (82.165.229.138): icmp_seq=3 ttl=246 time=20.8 ms
Hallo, also zuerst mal: ich habe das Script aus #158 lediglich nach Perl portiert. Was die genauen Hintergründe dieses Scriptes sind kann ich nur vermuten. Jedenfalls läuft es bei mir und ich kann den TV (H-Serie) steuern, sowohl unter Python wie unter Perl.
Die IP 34.210.190.209 reagiert nicht auf ping. Aber man kann mal mit dem Browser testen: https://34.210.190.209:5443/
Es sollte eine Authentifizierungsabfrage kommen. Das wäre mal der nächste Schritt ;D
Zum Ausführen der Befehle mit do.pl muss das Modul AnyEvent installiert sein. Eine Möglichkeit zur Installation ist in Zeile 11 dieses Scriptes angegeben.
Für den FHEMler wäre im Weiteren dann die Erweiterung des bestehenden FHEM-Moduls 70_STV.pm oder eine Neuerstellung zu erwägen. Umfang der Steuerungsmöglichkeiten sind aber wohl nur die einer Fernbedienung.
ZitatDas Modul sieht ja interessant aus.... Funktioniert das auch mit der F-Serie ?
Geht das nicht mit dem offiziellen STV-Modul mit Port 55000 ?
Hallo!
Wie sende ich denn mit dem Script die Befehle?!?
sudo perl do.pl
session_key: ADE3BCEDCFxxxxxxxxxxxxxx
session_id: 1
finished.
Zitat von: Steffen am 16 Januar 2018, 20:52:52
Hallo!
Wie sende ich denn mit dem Script die Befehle?!?
sudo perl do.pl
session_key: ADE3BCEDCFxxxxxxxxxxxxxx
session_id: 1
finished.
Hallo,
wie unten bereits geschrieben, handelt es sich bei regapp.pl und do.pl um eine Portierung der POC-Scripte (siehe #158) von Python nach Perl. Sozusagen als Machbarkeitsstudie, eben POC.
Um den mit regapp.pl erzeugten Session Key für mehrere Befehle wieder benutzen zu können, wird er persistent in einem File gespeichert. regapp.pl muss also nur 1x pro TV ausgeführt werden. Zur Erzeugung wird 2x auf einen externen Webserver in USA zugegriffen, offensichtlich wohl um dort etwas zu verschlüsseln. Das Script bzw. der ausführende Rechner benötigt also unbedingt Internetzugang! Ob das eine zukunftsträchtige Methode ist, weiß ich nicht.
Danach greift do.pl auf diesen Session Key zurück und kann somit mehrfach, auch nach Abschalten von TV und Raspberry (or whatever) ausgeführt werden (so die bisher bei mir bestätigte Theorie).
Wie im genannten Python-Script (main.py) wird jeweils nur ein bestimmter Befehl ausgeführt und der steht fest verdrahtet im Script. Ich habe ihn in do.pl ganz nach oben geholt und mit "Change here" überschrieben.
Ein paar weitere der ausführbaren Befehle (z.B. KEY_VOLDOWN) stehen bereits (auskommentiert) im Script, andere finden sich z.B. hier: https://knx-user-forum.de/forum/supportforen/wiregate/23204-steuerung-von-samsung-tvs
Also: in beiden Scripten die eigene TV-IP einstellen. Dazu die Scripte editieren (Change here!). Dann mit regapp.pl die Scripte einmalig im TV registrieren, dann mit do.pl den darin auskommentierten Befehl ausführen und gespannt in die "Röhre" schauen, was sich da tut (daher do.pl :-).
Inzwischen habe ich eine neue Version von do.pl mit gleicher Funktion erstellt: do_v2.pl. Diese Version erfordert NICHT mehr die vorherige Installation des AnyEvent-Moduls, sollte also "sofort" funktionieren.
EDIT: do.pl ist/war nur zum testweisen Ausführen der Befehle. Es wurde hier entfernt und ist jetzt im STV-Modul integriert.
Zitat von: Raymund am 16 Januar 2018, 23:09:18
dann mit do.pl den darin auskommentierten Befehl ausführen und gespannt in die "Röhre" schauen, was sich da tut (daher do.pl :-).
und da tut sich leider nichts....
Vielen dank erstmal nochmal für deine ausführliche Beschreibung und Hilfe!
Ich hatte die anderen Schritte schon durchgeführt und bekam dann auch am Tv eine Pin abfrage die ich eingegeben hatte,
da hatte ich mir schon gedacht das immer nur ein Befehl über das Script ausgeführt werden kann als ich es mir angesehen hatte.
Da aber nichts am Tv passierte wollte ich nochmal nachfragen.
Gibt es da vielleicht noch andere Ports die man eintragen muss und vielleicht Ports aus dem Internet freigeben kann?!?
Das Model um es sich handelt ist ein UE55JU6050.
Mfg Steffen
Zitat von: Steffen am 17 Januar 2018, 05:41:53
und da tut sich leider nichts....
Hallo Steffen,
zunächst einmal sollte bei Dir das Python-Script erfolgreich laufen. Ansonsten wird auch die Portierung nicht besser sein. Die macht nämlich bis auf's Bit dasselbe. Wenn es (nur) an den Ports läge, würden die Scripte allerdings gar nicht durchgehen, weil mehrfach Antworten von TV und dem USA-Server verarbeitet werden. Wenn am Ende "KEY_xxx sent" steht, war der eigentliche Ablauf ja schon mal richtig. Aber sogar der Autor des Python-Scriptes schreibt ja in seinem README.md, dass manche Geräte nicht reagieren.
ZitatNote the the following TV Models are most likely incompatible for one reason or another
J4xxx, J50xx, J51xx, J52xx, J53xx, UNxxJ6200, J6201, J6203, J620D
H4xxx, H510x, H52xx, H53x3, H5403, H6003, H61x3, H6201, H6203, S9, S9C
Da es hier ja ein wenig drunter und drüber geht u. S. leider zig verschiedene Versionen für Kommunikation mit dem TV u. erforderliche Zugangsberechtigung hat, erstelle ich die Tage mal einen neuen Thread (https://forum.fhem.de/index.php/topic,82890.0.html) als Zusammenfassung, was mit welchem TV(Serie, Modell, Firmware) wie geht. Dazu habe ich bereits den Thread durchgepflügt u. mir die verwertbaren Ergebnisse herausgefiltert. Ich bräuchte noch von jemand die Abbildung der Zugangsberechtigung für Serien ab H u. ob die dann bis M bei allen gleich ist.
Zugangsberechtigung bis F-Serie(vermutlich, definitiv bei E-Serie):
Einstellungen findet man unter:
Menü->Netzwerk->AllShare-Einstellungen->Liste der registrierten Endgeräte->Zulassen|Verbieten|Aus der Liste löschen
Registrierung:
Bei erstmaligem Zugriff eines Endgeräts erscheint auf dem TV ein pop-up: Neues Netzwerkgerät erkannt......: Zulassen|Verbieten
Eine Pin-Eingabe ist nicht erforderlich. Eine Einmalige Registrierung berechtigt für den Dauerbetrieb des Endgeräts, wobei (bei mir) das Gerät "Perl Samsung Remote" mit der IP 127.0.0.1 angelegt wurde und mit dieser Zugangsberechtigung nun ALLE devices über FHEM für die Steuerung zugelassen sind.
Und nachdem Raymund ja das POC-Python-Skript in Perl übersetzt hat, baue ich das mal vergleichbar samsungctl in die STV-Version v. Dominik ein. Sollte eigentlich relativ simpel sein, dauert aber noch etwas..... Sollte jemand schon damit begonnen haben, bitte Meldung zur Vermeidung v. Doppelarbeit ???
Hallo!
sudo perl do_v2.pl
KEY_POWER sent
Der Aufruf scheint durch zugehen aber auf dem Tv passiert leider nichts.
Ich hatte sehr gehofft das es klappt denn es wäre für meine Mutter die immer durch Ihre Augen mit der Fb schwierigkeiten hat.
Gibt es doch noch irgendwas was man versuchen kann?
Was ich nicht verstehe das die Pin abfrage startet und der Tv ja wohl erreichbar ist aber warum kommen dann keine Befehle an?!?
Mfg Steffen
Zitat von: Steffen am 17 Januar 2018, 19:00:06
Gibt es doch noch irgendwas was man versuchen kann?
Hallo Steffen, wenn das Script durchläuft, dann sind wir sicher auf der richtigen Fährte. Aber was genau die TV-Serien unterscheidet, kann man (bisher) nur die Koreaner fragen und die spielen derzeit wohl eher Eishockey :-)
Bzgl. der KEYs gibt es im Internet verschiedene Varianten, die ich auch noch nicht alle sondiert habe. Ich denke, Du hast sicher auch andere Befehle probiert, wie z.B. KEY_MUTE oder KEY_VOL_UP bzw. KEY_PANEL_VOL_UP ?
Hallo!
Vielen dank erstmal für deine geduld....
Über Perl versendet er ja die Befehle ja wohl ohne Fehler aber über Python bekomme ich immer diese Fehlermeldung:
pi@JuttaHomeServer:/ $ sudo python -m samsungctl --host 192.168.178.29 --port 8001 --timeout 5 --method legacy --name FHEMRemote KEY_MENU
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 126, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py", line 104, in main
with Remote(config) as remote:
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote.py", line 8, in __init__
self.remote = RemoteLegacy(config)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 31, in __init__
self._read_response(True)
File "/usr/local/lib/python2.7/dist-packages/samsungctl/remote_legacy.py", line 63, in _read_response
tv_name_len = int.from_bytes(header[1:3],
AttributeError: type object 'int' has no attribute 'from_bytes'
pi@JuttaHomeServer:/ $
Ist die letzte Fehler Meldung normal in diesem Aufruf???
Mfg Steffen
Wie angekündigt, hab ich das Perl-Skript von Raymund(do_v2.pl) in das 70_STV eingearbeitet. Basisversion ist die in diesem Thread bzgl. samsungctl(wohl K-/M-Serie) von Dominik veröffentlichte Version. Raymund hat es dann mit einem H-Serie getestet und für funktionsfähig befunden. Aber auch dies ist mehr ein POC, also mit äusserster Vorsicht zu genießen :-\
Voraussetzungen:
1. Erstellen der samsung_session_key.txt mit Raymund's Skript regappl.pl
(https://forum.fhem.de/index.php/topic,57595.msg752203.html#msg752203)2. Bei ERFOLG(lieber mal reingucken ;)) die Datei in das FHEM-Verzeichnis kopieren, wo auch die fhem.cfg liegt
3. Manchen wird noch das Perl-Modul Crypt::Rijndael fehlen. Das installiert man(für Debian):
a) sudo apt-get update
b) sudo apt-get upgrade
c) sudo apt-get install libcrypt-rijndael-perl
d) ein reboot schadet an dieser Stelle nie ;)
4. define MeinTV STV MEINE_IP wse (wse in Anlehnung an Dominiks ws = websocket encrypted)
Have Fun (und immer schön funktionierende Modelle zurückmelden)
Markus
Hallo Steffen,
Du probierst ja jetzt für Deinen J-Series. Dann geht das
Zitatpython -m samsungctl --host 192.168.178.29 --port 8001 --timeout 5 --method legacy --name FHEMRemote KEY_MENU
nicht. Funktioniert wohl nur für K-/M-Serie.
Probier mal meine Version aus dem vorherigen Post.
ich hab das jetzt mit dem UE40H6400 getestet => mit Erfolg!
Es sind ja ne menge Befehle die ich senden könnte vorhanden. Mute /Key up / down geht!
Mfg
Zitat von: KölnSolar am 18 Januar 2018, 19:49:09
Hallo Steffen,
Du probierst ja jetzt für Deinen J-Series. Dann geht dasnicht. Funktioniert wohl nur für K-/M-Serie.
Probier mal meine Version aus dem vorherigen Post.
Geht leider auch nicht, habe im Log von Fhem die bestätigung das gesendet aber kommt leider nichts an... :'(
sonst keine Meldung ? regappl.pl hat Dir die Datei erstellt ? Ggfs. mal den Inhalt posten, ob jemand anderem was auffällt.
Hier (https://forum.fhem.de/index.php/topic,82890.msg750391.html#msg750391) schon mal geguckt, ob Dein Modell aufgeführt ist und vielleicht deshalb nicht, sondern irgendwie gaaanz anders funktioniert ? Wenn Du mit nmap(linux) oder wireshark mal die offenen Ports scannst, könnte das vielleicht auf den bei Dir realisierten Server hinweisen.
Zitat von: KölnSolar am 18 Januar 2018, 20:45:39
sonst keine Meldung ? regappl.pl hat Dir die Datei erstellt ? Ggfs. mal den Inhalt posten, ob jemand anderem was auffällt.
Hier (https://forum.fhem.de/index.php/topic,82890.msg750391.html#msg750391) schon mal geguckt, ob Dein Modell aufgeführt ist und vielleicht deshalb nicht, sondern irgendwie gaaanz anders funktioniert ? Wenn Du mit nmap(linux) oder wireshark mal die offenen Ports scannst, könnte das vielleicht auf den bei Dir realisierten Server hinweisen.
Hallo...
Hier mal der Dateiinhalt:
Zitat
{"session_key":"ADE3BCEDCFEA5A10BBE5B03E98XXXXX","session_id":"1"}
sehen die bei euch anderes aus???
Fhem
2018.01.18 20:00:32 1: RMDIR: ./restoreDir/2018-01-10
KEY_POWER sent
KEY_1 sent
KEY_POWEROFF sent
KEY_9 sent
Port versuche ich am We nochmal, muss mich dann da auch erstmal einarbeiten.
Mfg Steffen
Schon ähnlich, allerdings ist die session_id in der Datei, die Raymund mir zur Verfügung gestellt hatte eine "2" :-\
Raymund kann da vielleicht mehr zu sagen.
Die sent-Zeilen sagen eigentlich, dass kein Fehler aufgetreten ist. Muss vielleicht noch mehr Logging eingebaut werden.
Guten Morgen!
Hier mal der Scan von den Ports:
pi@JuttaHomeServer:~ $ sudo nmap -sT -r 192.168.178.29
Starting Nmap 7.40 ( https://nmap.org ) at 2018-01-19 08:47 CET
Nmap scan report for SamsungTv.fritz.box (192.168.178.29)
Host is up (0.0013s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
7676/tcp open imqbrokerd
8000/tcp open http-alt
8001/tcp open vcom-tunnel
8002/tcp open teradataordbms
8080/tcp open http-proxy
9999/tcp open abyss
MAC Address: 14:BB:6E:E8:A3:32 (Samsung Electronics)
Ich kann damit aber wie gesagt wenig anfagen ::)
Vielleicht können die anderen bei denen es klappt hier auch mal ihr Ergebnisse teilen, damit man vielleicht sieht wo die Unterschiede liegen?!?
Mfg Steffen
Hallo Steffen,
session_key und (!) session_id werden bei jedem Pairing von Deinem TV (der key nach 3-maliger Verschlüsselung) individuell vergeben. Ein Vergleich mit anderen ist daher m.E. sinnfrei. Solange das JSON-Format passt, zeigt das, dass Dein TV dieses Pairing verstanden hat.
Wenn zum Schluss "sent" steht, hat das Programm auch alle Schritte (siehe auch STEP 0 - 4 im Script) beim Senden erfolgreich absolviert. Eine Rückmeldung vom TV wird nicht abgefragt, da mir nicht bekannt ist, ob und wie das geht.
Es bleibt vermutlich nur die genauen Unterschiede der Geräte zu eruieren. Ich kann an dieser Stelle (derzeit) leider nicht weiter helfen.
Zitat von: Steffen am 19 Januar 2018, 09:00:07
Vielleicht können die anderen bei denen es klappt hier auch mal ihr Ergebnisse teilen, damit man vielleicht sieht wo die Unterschiede liegen?!?
Hallo Steffen, sieht aus meiner Sicht gut aus. Das Python-Script und meine Portierung benötigen nur die Ports 8080 und 8000. Das bestätigt meine These, dass die Problemlösung nicht an dieser Stelle zu suchen ist. Wenn Pairing und Senden funktionieren, kann es m.E. nicht an geschlossenen Ports liegen.
Hier "meine" Ports (H-Serie):
Starting Nmap 6.47 ( http://nmap.org ) at 2018-01-19 10:03 CET
Nmap scan report for XXX (192.168.x.x)
Host is up (0.012s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
7676/tcp open imqbrokerd
8000/tcp open http-alt
8001/tcp open vcom-tunnel
8080/tcp open http-proxy
8443/tcp open https-alt
9900/tcp open iua
Sehe ich ähnlich. Steffen, Du hattest noch nicht meine Frage beantwortet
ZitatHier schon mal geguckt, ob Dein Modell aufgeführt ist und vielleicht deshalb nicht, sondern irgendwie gaaanz anders funktioniert ?
Und die Zugriffsberechtigung ? Raymund, ist die irgendwo bei Dir im Menu "sichtbar/veränderbar" u. lässt sich da evtl. so etwas wie verbieten|zulassen einstellen ? Wäre schön, wenn das jemand mal in groben Zügen beschreibt, damit ich das in die allgemeine Doku aufnehmen kann. Bei der E-Serie lässt sich der Zugriff eben über das Menü verbieten und dann hat man genau die Symptome, wie Steffen es beschreibt: FHEM glaubt, alles hat funktioniert, nur am TV tut sich nichts.
Da ja einige J-Series-Besitzer(afloria, torte, swhome, papaloewe, joe99,leachim200, Gerhard) hier gepostet hatten, wäre es schön, wenn die sich mal versuchen würden und sich melden.....
Hallo KölnSolar,
ich habe eine J-Serie und zwei H-Serie (Ausland). Werde am Sonntag mit der J testen und berichten.
H-Serie werde erst Ende Februar testen können.
Gerhard
Nur zur Info - bei der M-Serie funktioniert die Zugriffsberechtigung so:
- Popup mit Bestätigung
- dann unter Einstellungen -> Allgemein -> Geräteverbindungsmanager findet man eine Geräteliste (da kann man die einzelnen zugriffsberechtigten Geräte auch wieder rausschmeissen) und man kann sogar die Zugriffsbenachrichtigung verändern (nur einmal, jedes Mal).
Dh. für Fhem -> einmal verbinden und gut ist.
Viele Grüße
doc
dank der regapp.pl konnte ich nun erstmalig ein gerät an meinem H5303 registrieren.
root@raspberrypi:/home/pi/samsung# perl regapp.pl
Enter TV Pin: 4206
session key saved to file 'samsung_session_key.txt'
ich musste dazu allerdings folgende zeile unter step0 ändern, damit die einzugebende pin auf dem tv erscheint:
# my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=1";
my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=0&type=2";
befehle funktionieren natürlich noch nicht, da mir der port 8000 fehlt. aber die hoffnung stirbt zuletzt. ;)
Starting Nmap 6.47 ( http://nmap.org ) at 2018-01-19 14:07 CET
Nmap scan report for 192.168.1.26
Host is up (0.023s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
4443/tcp open pharos
7676/tcp open imqbrokerd
8080/tcp open http-proxy
8443/tcp open https-alt
Zitat von: frank am 19 Januar 2018, 15:16:44
ich musste dazu allerdings folgende zeile unter step0 ändern, damit die einzugebende pin auf dem tv erscheint:
# my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=1";
my $step0_url = "http://$tv_address:$tv_port/ws/pairing?step=0&app_id=$app_id&device_id=$device_id&type=0&type=2";
Hallo Frank,
verräts Du auch, wie Du darauf gekommen bist (z.B. Link) und ob es wirklich 2x type sein muss? Nach meiner Kenntnis dürfte da nur eines im Webserver ankommen. Eventuell kann man das vereinheitlichen.
Danke und schönes WE
Raymund
Danke docb, dann pack ich das mal in die allgemeine Doku. Wird vermutlich für K-Serie genauso sein.
Fehlt uns noch H- u. J-Serie.
Hallo Jungs,
ich habe einen Samsung von der J-Serie und komme immer noch nicht weiter:
https://forum.fhem.de/index.php/topic,57595.msg749314.html#msg749314 (https://forum.fhem.de/index.php/topic,57595.msg749314.html#msg749314)
Die Pin wird auf dem Fernseher angezeigt und nach Eingabe dieser im Script bricht es mit der Fehlermeldung ab:
perl regapp.pl
Enter TV Pin: xxxx
HTTP_Request 34.210.190.209: Can't connect.
STEP 1 POST #1: Couldn't get the document.
Folglich wird auch kein Key-File erzeugt und es findet kein Pairing mit dem Fernseher statt.
Im Gerätemanager wird kein Device angelegt.
Rufe ich die URL:
https://34.210.190.209:5443/ (https://34.210.190.209:5443/)
über den Browser auf wird nach einem User und Passwort verlangt.
Bei wem funktioniert das jetzt überhaupt mit der J-Serie?
Gruß
Thomas
Hi Thomas,
Erfolgsmeldung J-Serie. (https://forum.fhem.de/index.php/topic,82890.msg750391.html#msg750391)
(war über die Python-Skripte. Ich glaub aber nicht, dass das einen Unterschied macht).
Grüße Markus
Zitat von: Papaloewe am 19 Januar 2018, 21:24:45
Hallo Jungs,
ich habe einen Samsung von der J-Serie und komme immer noch nicht weiter:
Hallo Papaloewe,
wenn Du mal bzgl. STEP 1 POST #1 in das Script schaust (ab Zeile 48), dann siehst Du, dass dort im Payload nur die eingegebene PIN sowie eine frei vergebene device_id an den Server nach USA geschickt werden. Mit der Serie des TV hat das an dieser Stelle noch nichts zu tun. Von Deinem TV werden bis dahin keinerlei Daten verwendet.
Wenn da die Meldung kommt, dass kein Connect möglich ist, dann kann das m.E. nur an dem Rechner liegen, der den Request ausführt. Ich vermute mal, dass Dein Browsertest von einem anderen Gerät erfolgte (PC?). Mach doch mal ein wget https://34.210.190.209:5443/ und poste, was da kommt. Der Server sollte auch hier wegen Zertifikatsproblemen ablehnen. Dann weißt Du aber, ob der Request rausgeht.
Der Test erfolgte von ein und demselben PC (Ubuntu):
wget https://34.210.190.209:5443/
--2018-01-19 22:00:58-- https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443... verbunden.
FEHLER: Kann das Zertifikat von »34.210.190.209« nicht prüfen, ausgestellt von »»CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB««:.
Ein selbst-signiertes Zertifikat gefunden.
FEHLER: Der Common Name »»kraftwerk9.com«« des Zertifikates entspricht nicht dem angeforderten Hostname »»34.210.190.209««.
Verwenden Sie »--no-check-certificate«, um zu dem Server »34.210.190.209« eine nicht gesicherte Verbindung aufzubauen.
Ist das (mal wieder) ein Sicherheitsding?
wget https://34.210.190.209:5443/ --no-check-certificate
--2018-01-19 22:04:12-- https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443... verbunden.
WARNUNG: Kann das Zertifikat von »34.210.190.209« nicht prüfen, ausgestellt von »»CN=COMODO RSA Domain Validation Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB««:.
Ein selbst-signiertes Zertifikat gefunden.
WARNUNG: Der Common Name »»kraftwerk9.com«« des Zertifikates entspricht nicht dem angeforderten Hostname »»34.210.190.209««.
HTTP-Anforderung gesendet, warte auf Antwort... 401
Authentifizierung mit Benutzername/Passwort fehlgeschlagen.
Zitat von: Papaloewe am 19 Januar 2018, 22:03:08
Der Test erfolgte von ein und demselben PC (Ubuntu):
Ist jetzt ein Schnellschuss, aber probiere mal bitte die angehängte Version.
Läuft (noch) nicht:
perl regapp_v2.pl
Bareword "SSL_VERIFY_NONE" not allowed while "strict subs" in use at regapp_v2.pl line 115.
Execution of regapp_v2.pl aborted due to compilation errors.
Zitat von: Papaloewe am 19 Januar 2018, 22:21:29
Läuft (noch) nicht:
perl regapp_v2.pl
Bareword "SSL_VERIFY_NONE" not allowed while "strict subs" in use at regapp_v2.pl line 115.
Execution of regapp_v2.pl aborted due to compilation errors.
Bitte dieselbe Datei nochmal downloaden. Habe sie geändert.
Jetzt schaut es schon besser aus:
perl regapp.pl
Enter TV Pin: 1234
session key saved to file 'samsung_session_key.txt'
Mal sehen, ich melde mich.
Vielen Dank.
Thomas
Zitat von: Raymund am 19 Januar 2018, 19:39:24
Hallo Frank,
verräts Du auch, wie Du darauf gekommen bist (z.B. Link) und ob es wirklich 2x type sein muss? Nach meiner Kenntnis dürfte da nur eines im Webserver ankommen. Eventuell kann man das vereinheitlichen.
Danke und schönes WE
Raymund
hi raymund,
vermutlich kommt der doppel-type von hier, bin mir aber nicht sicher, da es schon eine ewigkeit her ist:
http://forum.samygo.tv/viewtopic.php?f=74&t=7707#p61694 (http://forum.samygo.tv/viewtopic.php?f=74&t=7707#p61694)
jedenfalls habe ich vor dem doppel-type 2-3 erfolglose versuche mit dem original versucht. jeweils mit unterschiedlichen einstellungen für app_id und device_id. da mein httpmod-test-device bereits über ein halbes jahr zuverlässig mit dem doppel-type funktionierte, habe ich das gleich probiert. wenn ich mich recht erinnere, gab es auch mehrere erfolgreiche kombinationen der beiden type-werte, um die pin-box auf dem tv zu erzeugen.
Session-Keyfile wurde erzeugt und ein Device im TV Gerätemanager eingetragen.
Jetzt folgt (debug=1):
perl do_v2.pl
session_key: 542306DCAE9395B6738D8BBA0F4F4030
session_id: 1
'5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[244,77,250,192,27,151,76,127,43,181,223,65,39,45,251,171,161,149,102,137,137,131,207,115,5,30,246,119,166,255,123,245,248,164,145,75,158,156,8,76,143,43,129,127,207,201,26,210,55,108,54,253,243,232,127,150,123,106,29,231,160,58,202,15,20,79,7,244,58,93,252,208,29,62,117,93,141,95,250,253,236,231,239,145,215,131,140,247,41,184,4,95,235,205,237,161,135,184,81,77,110,242,243,40,112,1,10,228,146,95,50,65,68,247,90,114,240,84,16,34,158,46,51,49,94,203,4,211,239,178,219,200,25,35,185,95,6,0,255,61,215,98,160,0,117,81,20,176,155,227,230,10,22,156,185,246,167,246,121,172,104,129,187,178,100,32,208,112,221,232,17,178,184,65,101,85]"}]}'
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Websocket Handshake OK (101)
-- Building frame (1, 0, 0, 0, 1)
-- Small payload (25)
-- Building frame (1, 0, 0, 0, 1)
-- Extended 16-bit payload (714)
-- Building frame (1, 0, 0, 0, 8)
-- Small payload (0)
KEY_MUTE sent
Leider keinerlei Reaktion am TV, also auch kein Mute!
Zitat von: Papaloewe am 20 Januar 2018, 00:05:34
Leider keinerlei Reaktion am TV, also auch kein Mute!
Hallo,
leider kann ich jetzt auch nicht mehr weiter helfen. Ich habe nur den einen TV ;-)
Versuche doch mal die verschiedenen type=X- Einstellungen in der $step0_url von regapp.pl, von denen Frank geschrieben hat. Vielleicht geht ja da etwas.
Gruß
Hallo!
Konnte Gestern erstmal mit dem Perl Script ein Tv der "J" Serie steuern, hatte das Gerät über eine "Factory Reset"(über das Service Menu) zurückgesetzt und dann die Pin anfrage nochmal durch geführt und auf einmal ging alles "Power,Mute usw.".
Mfg Steffen
Der UE55JU6000 oder ? Mit wse oder ws als Port ?
Im Moment bastel ich ja an der Bildschirmbenachrichtigung. Im Moment sieht es so aus, als ob bis H-Serie meine Lösung über Port 7676 und Browseraufruf funktioniert. Für spätere Serien gehe ich den komplizierteren Weg über DLNA(funktioniert dann auch f. ältere Serien). Wer Informationen aus wireshark oder sonst woher hat, welche services sein TV (per SSDP) anbietet, bitte hier posten.
Meine bisherige Erkenntnis: bis H-Serie wird auf Port 7676 gelauscht; spätere Serien nutzen wohl 9197(festzustellen über Eingabe von http://TV_IP:9197/dmr im Browser)
Grüße Markus
Hallo, bin ebenfalls Interessiert.
Könnte mir jemand Schritt für Schritt erklären wie ich das zum laufen bekomme ?
Habe die KS8090 Serie und Putty oder WInSCP. Wie starte ich den skript regapp.pl usw auf dem Raspberry...
LG und Danke.
Es scheint vollbracht. Ich habe Bildschirmnachrichten per DLNA für alle(hoffentlich) Serien von Samsung realisiert. Modul u. Beschreibung findet Ihr hier (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500)
Eigentlich müssten jetzt sich jetzt ALLE Serien per FHEM steuern lassen
- remote key
- message display
Rückmeldungen über die erfolgreiche Installation mit Meldung des Samsung-Typs also UExy?ModellNo wären für die Folge hilfreich.
Klappt etwas speziell mit Eurem Modell nicht, so solltet Ihr einen eigenen Thread eröffnen, da die Probleme dann möglicherweise modell- oder gar firmwarespezifisch sind und Lösungen dann hier untergehen.
(Edit: Ich meine damit die User, die nun erstmalig das STV-Modul einsetzen. Bei Problemen von Alt-Installationen ist hier im Thread sicherlich eine allgemeine Abhandlung v. Problemen/Lösungen sinnvoller)
Have Fun
Markus
Ich habe leider etwas den Überblick verloren. Muss ich meinen H'ler nun pairen? Und wenn ja, wie? Also welche PL's brauche ich dafür.
Brauche ich den DLNA auch für die normale Steuerung oder nur für Nachrichten-Senden?
Aktuell steht nach "define SamsungTv STV 192.168.0.65 wse" nur "Initialized"
Dort stehen eigentlich Antworten zur H-Serie (https://forum.fhem.de/index.php/topic,82890.msg750390.html#msg750390) und der DLNA-Funktionalität (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) für Bildschirmnachrichten.
Wenn ich es richtig interpretiere, hattest Du noch nie das STV-Modul installiert bekommen. Unter dem angegebenen Link findest Du eine Version, wo alle (bekannten) Technologien vereint sind. Du solltest also einen download/install machen und wenn etwas nicht klappt, einen eigenen Thread eröffnen und beschreiben was Du versucht hast und wie das Ergebnis ist.
Grüße Markus
Ja, es lief noch nie. Habe mir die Guides auch nochmal durchgelesen, allerdings gibt es z.B. dieses Menü auf meinem TV nicht:
Menü/Netzwerk/Multimedia-Geräteeinstellungen. Dort kann man "SmartDevices" erlauben, verbieten und löschen.
Muss ich die regapp.pl und do.pl noch ausführen? Oder ist das nicht mehr notwendig? Oder muss ich das Ergebnis von regapp dann in Deinem Modul hinterlegen?
Zitatallerdings gibt es z.B. dieses Menü auf meinem TV nicht
Das ist schlecht für die Fernbedienungsfunktion. :'( Dann musst Du erst einmal nach einem ähnlichen Menüpunkt auf Deinem TV suchen. Ansonsten sehe ich schwarz, wenn es diese Einstellung nicht gibt. Bei H-Serie(mit Verschlüsselung) müssen die Skripte von Raymund zuerst gestartet werden.
Die Bildschirmnachrichtenfunktion über DLNA müsste auch ohne Skripte/Pairing/..... gehen.
Besser wäre es einen eigenen Thread zu eröffnen :o
Zitat von: KölnSolar am 31 Januar 2018, 10:31:09
Es scheint vollbracht.
Hallo,
habe die neue Version an meiner H-Serie erfolgreich getestet. KEY-Befehle gehen sowie caller und screen.
Habe allerdings noch nicht raus, wie das mit caller/screen erzeugte Bild wieder verschwindet, außer mithilfe des Renderers !?
Gruß
Zitat von: Det20 am 31 Januar 2018, 14:26:48
Muss ich die regapp.pl und do.pl noch ausführen? Oder ist das nicht mehr notwendig? Oder muss ich das Ergebnis von regapp dann in Deinem Modul hinterlegen?
Das Script regapp.pl erzeugt die Schlüsseldatei. Dazu ist
Internetzugriff des das Script ausführenden Rechners erforderlich. Das Ergebnis (Datei samsung_session_key.txt) muss in das fhem-Rootverzeichnis kopiert werden oder man startet das Script von dort aus. Dieser Schlüssel sollte dann dauerhaft gelten (so bei meiner H-Serie zumindest). Ein erneutes Ausführen von regapp.pl macht den alten Schlüssel ungültig !
do.pl ist/war nur zum testweisen Ausführen der Befehle und ist jetzt im STV-Modul integriert.
Gruß
REGAPP hat tatsächlich von meinem H-Serie-TV die TXT erzeugt. Muss sich die TXT nun im Root von FHEM befinden?
Es steht als state nur "Initialized", trotzdem konnte ich den TV mittels POWEROFF abschalten. :)
Zitat von: Det20 am 31 Januar 2018, 17:37:55
Muss sich die TXT nun im Root von FHEM befinden?
Ja ! (siehe unten)
Alles klar, dann kann ich soweit rudimentär steuern. Sollte unter state was anderes als Initialized stehen?
Zitat von: Det20 am 31 Januar 2018, 17:44:47
Alles klar, dann kann ich soweit rudimentär steuern. Sollte unter state was anderes als Initialized stehen?
Was hättest Du denn gerne?
Hallo!
Stehe gerade ein wenig auf dem Schlauch, was ist den mit dem:
define MeinRenderer DLNAClient EUERfriendlynamedesSamsungTV
gemeint, der name vom Server oder SamsungTv?!
Wie und wo finde ich denn den Namen?
Mfg Steffen
ZitatHabe allerdings noch nicht raus, wie das mit caller/screen erzeugte Bild wieder verschwindet, außer mithilfe des Renderers !?
set .... EXIT
Habe ich in einem notify, das durch das event connect von der FritzBox getriggert wird.
Zitatgemeint, der name vom Server oder SamsungTv?!
Wie und wo finde ich denn den Namen?
Dem Renderer ;), also dem TV. Findest Du im Menü des TV oder über auslesen der SSDP messages mit einem Netzwerksniffer.
Grüße Markus
Zitat von: Raymund am 31 Januar 2018, 17:45:34
Was hättest Du denn gerne?
Ist an, ist aus, ist erreichbar, es läuft gerade was ...
Aber ansonsten: Super Arbeit! Vielen Dank, damit komme ich ein riesen Stück weiter.
Zitatist aus
siehst Du als "disconnected"
Hmmm, einen Tag später übernimmt er laut Log zwar die Befehle (wird ans Gerät gesendet), passieren tut da aber nix. Paire ihn jetzt nochmal neu.
=== 13:43 ===
Pairing neu, nun kann ich ihn wieder steuern. Mal schauen, ob das Pairing jetzt bleibt oder wieder verloren geht. Es steht aber weiterhin nur "Initialized", egal ob der TV an oder aus ist. Hier wäre ein Presence-Modul ideal. Auch ein Hinweis, bei welchem Modell ich welchen Port nehmen sollte. Habe jetzt WSE genommen (laut Source für H-Series).
Mal was anderes: Hast Du einen Guide bzw ein Beispiel für die miniDLNA Geschichte? Habe installiert:
- MiniDLNA
- DLNAClient wie im Link beschrieben
Der DLNAClient hat zwar ne Lampe als Icon, meldet aber dauernd als STATE "off". Ich verstehe den Zusammenhang noch nicht so ganz.
Hier (https://wiki.ubuntuusers.de/ReadyMedia/) recht gut beschrieben. Um die als zusätzliche Voraussetzung erwähnten Pakete hab ich mich erstmal nicht gekümmert. Sind überwiegend nur Pakete für bestimmte Medienformate. Lediglich sqlite3 ist wichtig, da darüber die Datenbank aufgebaut wird.
Die abgelegten Medien sind später nicht über ihren OriginalDateinamen abrufbar, sondern über einen indizierten Namen. Das hat den negativen Nebeneffekt, dass, hat man sich den aktuellen Dateinamen eines Medienobjekts z.B. über den WindowsMediaplayer beschafft, dieser bei Änderung des Medienobjekts wieder neu indiziert, also verändert, wird. Schwierig zu beschreiben :-\
Deshalb aber wichtig zur Vermeidung dieses unerwünschten Effekts: den Parameter inotify=no in der Konfigurationsdatei setzen, damit die Neuindizierung unterbleibt.
Danke.
Aber wie kommt nun der Text vom FHEM über den DNLA zum Fernseher? Oder muss ich alle möglichen Texte als Grafik hinterlegen?
Das ist der Teil, den ich nicht verstehe.
ZitatOder muss ich alle möglichen Texte als Grafik hinterlegen?
Ja klar. Willst Du unterschiedliche Nachrichten, musst Du die als erstes erzeugen und auf dem Mediaserver(in den Pfad des MediaServers) ablegen. Dort abgelegte Medien-Objekte kannst Du mit set DeinDLNAClient stream DeinMedienobjekt an den TV schicken.
Hat also eigentlich gar nichts mit dem Modul STV zu tun. Dort habe ich lediglich den Aufruf mit den beiden URI-Attributen implementiert, weil das dann konform zur Browserausgabe(bis F-Serie) von Bildschirmnachrichten ist. (Für Dich unwichtig und nur zur Erklärung des Hintergrunds ;) )
ZitatAuch ein Hinweis, bei welchem Modell ich welchen Port nehmen sollte. Habe jetzt WSE genommen (laut Source für H-Series).
Steht in der "allgemeinen" Samsung-Doku in rot zur jeweiligen Serie. ::) Und nimm sicherheitshalber wse klein geschrieben. Bin mir nicht sicher, ob das case insensitiv funktioniert. :-\
ZitatDer DLNAClient hat zwar ne Lampe als Icon, meldet aber dauernd als STATE "off". Ich verstehe den Zusammenhang noch nicht so ganz.
Nach meinen Beobachtungen: on ist das icon immer dann, wenn aktuell eine Verbindung besteht, also gerade ein stream ausgegeben wird. Danach wird auf off geschaltet. Mit Klick auf on lässt sich der letzte Stream erneut abspielen. Mit off das Abspielen beenden.
Einfach mal ein bißchen mit dem DLNAClient spielen........
Ich vermute stark, dass das mit dem aktuellen Status im STV-Modul nur bis F-Serie funktioniert. Dort gibt es folgende Zustände:
define --> Initialized
Off --> disconnected
On --> opened
kommt vermutlich aus DevIO, das vermutlich mit websocket nicht funktioniert.
Ich gucke.....
Danke für die ausführliche Erklärung. Ich warte am besten erstmal auf die ersten How-To's und "klaue" dann Ideen.
Bin froh, dass ich den Samsung überhaupt irgendwie ansteuern kann. Also, dickes Kompliment an der Stelle nochmal.
===
Ausschalten kann ich, trotzdem ändert sich state nie. Egal ob an, aus oder sonstwas.
BTW: Habe eine Warning-Meldung im Log:
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/70_STV.pm line 212, <$fh> line 1579.
wie vermutet, kommt der state über DevIO. Ich hab da mal flink als Ahnungsloser etwas für die Serien > "F" geändert.
Kann das bitte jemand mal bzgl. Status testen.....
Edit: Testversion gelöscht
STATE: opened
und nach abschalten: disconnected ?
Nein. DLNARenderer meldet korrekt "online" bzw. "offline", STV nur "Opened", auch wenn er aus ist. Und ist seeeeehr träge (ist ja offline).
Kannst Du den TV im ausgeschalteten Zustand noch anpingen ?
Edit: attached eine Version mit geändertem Port: Klappt der Status ?
Edit2: Testversion gelöscht
Kinder schauen gerade TV, kann es erst später testen. Die kennen bei sowas keinen Spaß :)
;D ;D ;D wer alles so Macht über einen besitzt ;D ;D ;D
Also, da meldet er immer disconnected, egal ob an oder aus
Jetzt meldet er opened, hat wohl nur nen Moment gebraucht. Aber aus erkennt er trotzdem nicht. Oder 5 Minuten haben nicht gereicht
Aber: power, volume, mute usw funktionieren :)
disconnect müsste sofort kommen und opened dauert ca. ne Minute. Eigentlich müssten auch die events DISCONNECTED bzw. RECONNECTED im event monitor kommen. Das könntest Du mal ausprobieren. Ansonsten harre ich mal der Tests von anderen. Ich hab nämlich so durch die Glaskugel keine Idee, warum das nicht funktioniert.
Alles klar, warte dann noch ab. Danke aber schonmal
Kurzes Update: Nun ist er disconnected. Er brauchte nur seine Zeit, bis er das gemerkt hat. Wie lange kann ich Dir nicht sagen, habe leider nicht drauf geachtet.
Das ist ja interessant. Ich hab das auf dem selben Port nachstellen können und hab keine Ahnung, warum DevIO bei den Ports unterschiedlich reagiert (https://forum.fhem.de/index.php/topic,83712.0.html).
Ich lösche jetzt mal die Testversionen aus den Posts, um weitere Verwirrung zu vermeiden und hoffe eine Erklärung eines Experten zu bekommen. :-\
Das steuern der h Serie klappt, auch wenn ich mich erstmal durch die Auswahlliste vom Set kämpfen muss. Aber kann ich auch Daten abrufen, zb die Lautstärke oder den aktuellen hdmi Kanal?
Nein, das geht (aktuell) nicht. Mir stellt sich dabei die Frage nach dem use case. Ist zwar immer "nett" alle Möglichkeiten auszuschöpfen u. solche Dinge nutzbar zu machen, aber Implementierung/Testing/Wartung ist speziell beim Samsung mit seinen immer neuen Serien und Technologien extrem aufwändig. :'(
Lautstärke ist z.B. im DLNAClient jetzt schon sichtbar/nutzbar und über slider veränderbar, sofern das für Deinen use case genügt.
Sagst Du noch kurz für die Doku, was es für ein Typ H-Serie ist ?
Hat jemand den DLNAClient f. Serien ab J laufen ?
UE55H6890
Der alte DLNAclient erkennt leider garnichts und DLNARenderer zeigt nur an/aus, der Rest wie Lautstärke, mute usw wird nicht korrekt angezeigt, angeblich habe ich immer volume 8. Steuern kann ich darüber auch nicht, weder an/aus noch Lautstärke. Über das STV kann ich zumindest Steuern,dafur ist die an/aus Anzeige sehr verspätet. Irgendwie brauche ich nen mix aus allem.
Hallo KölnSolar,
hier aus list:
STV:
SamsungTV_46J (Initialized)
DLNAClient:
myRenderer (off)
DLNARenderer:
DLNASocket-dlnadevices-12 ()
DLNASocket-dlnadevices-13 ()
DLNASocket-dlnadevices-14 ()
DLNA_3393509badba (online)
dlnadevices (initialized)
und hier aus cfg:
define dlnadevices DLNARenderer
attr dlnadevices userattr acceptedUDNs defaultRoom ignoreUDNs
define myRenderer DLNAClient [TV] UE48J5550
attr myRenderer room Media
define SamsungTV_46J STV 192.168.0.28 wse myRenderer
attr SamsungTV_46J icon it_television
attr SamsungTV_46J room Media
FHEM auf pi mit lightDLNA und Samsung Serie J.
Über STV kann ich Kanäle 1,2,3 etc., mute CHUP, CHDOWN und vllt. noch ein paar Kleinigkeiten.
Wie kann ich helfen?
Gerhard
@Gerhard,
lightDLNA kenne ich nicht. Ist ein Media Server, oder ?
Funktionieren DLNARenderer und/oder DLNAClient bei Dir ? Das off beim DLNAClient suggeriert mir ein ja :D Hast Du den erfolgreich getestet ? Wenn noch nicht, dann mit einem stream des Mediaservers testen und etwas mit dem DLNAClient "spielen".
@Det20,
Hast Du auch einen friendlyname mit Leerzeichen ? Eigentlich sucht der DLNAClient alleine die im Netzwerk verfügbaren Renderer, was dann mit verbose=5 so aussieht 2018.02.03 00:19:58 5: DLNAClient: Found device friendlyname
2018.02.03 00:19:58 4: DLNAClient: Found specified device friendlyname
2018.02.03 00:19:59 4: DLNAClient: Using device "friendlyname".
Ggfs. mal den Namen im Menü des TV ohne Leerzeichen nehmen.
Attached eine neue Testversion. Ich habe extrem viel am Coding modifiziert. Also Achtung !!! U.a. ist jetzt eine Statusabfrage enthalten die jede Minute den Status und ein event connected/disconnected liefert. Für Serien ab H(wse) wird Port 8000 geprüft, ab K(ws) 8001. Bitte vorab einfach mal im Browser prüfen: http://EureSamsungIP:800x/ Gibt es irgendeine Rückmeldung vom TV, so sollte die Statusprüfung klappen.
Edit: Attachement gelöscht. Verbesserte Version hier (https://forum.fhem.de/index.php/topic,57595.msg760373.html#msg760373).
sorry, ich meinte miniDLNA, eben was du in der Anleitung vorgesclagen hast.
ich werde testen, und dann die ergebnisse berichten.
Gerhard
OK. Nur dass keine Missverständnisse aufkommen: ich hab miniDLNA nur genommen, weil ich bis dato keinen "richtigen" MedienServer hatte und auch nicht ein superkomfortables Prog installieren wollte, sondern etwas Schlichtes. Und da hat mir die Suchmaschine miniDlLNA f. den Rpi genannt. Käse ist eben, dass man nicht mit dem Originalnamen des Bildes zugreifen kann(oder ich habs noch nicht gefunden :-[) Mit der Einstellung inotify=no kann ich aber vorerst damit leben. ;)
miniDLNA läuft soweit, siehe Bild (piIp:8200).
über DLNAclient in FHEM (siehe Bild) lässt sich nichts steuern,
über den neuen STV auch nichts?
Gerhard
NO_MEDIA_PRESENT sagt aus, dass der stream noch nicht gefunden wird. :'( Halt das Problemchen mit der Indizierung beim miniDLNA :'(
Zitat von: KölnSolar am 03 Februar 2018, 14:37:52
U.a. ist jetzt eine Statusabfrage enthalten die jede Minute den Status und ein event connected/disconnected liefert.
... die neue Statusabfrage funktioniert bei meiner H-Serie einwandfrei. Leerzeichen im Friendlyname machen in Verbindung mit dem DLNAClient keine Probleme. Also z.B. "[TV] Wohnzimmer" (natürlich ohne die ").
Statt miniDLNA nehme ich FritzBox und/oder den Apachen. Gehen beide.
Gruß
Hallo Raymund,
könntest du eine kurze Anleitung geben, wie man die FritzBox anstatt miniDLNA einsetzt?
Danke, Gerhard
Zitat von: Gerhard am 03 Februar 2018, 18:02:13
könntest du eine kurze Anleitung geben, wie man die FritzBox anstatt miniDLNA einsetzt?
Hallo Gerhard,
in der FB den Mediaserver einrichten (Heimnetz/Mediaserver) und mit Bildern füttern. Dann z.B. mit dem Windows Media Player das Bild anklicken und unter Eigenschaften (die rechte der beiden Maustasten drücken, während man das Bild angeklickt hat ;-) den "Speicherort" (alles bis zum ? reicht) kopieren und unter z.B. Attribut callerURI im neuen Modul 70_STV eintragen. Dann set ... caller.
Grüße
Ah, Raymund is back ;)
Die FB hatte ich noch gar nicht als Media-Server am Schirm. Hat den großen Vorteil, dass man dort mit dem Originalbildnamen zugreifen kann. Ist dann bei Tests weniger verwirrend als mit dem miniDLNA(und dessen Indizierung). Klappt das curl vom Rpi auf die Fritte ?
Ich häng hier jetzt eine neue Version an, die noch ein paar Plausiabfragen für diejenigen hat, die sich nicht an meinen Hinweis halten, zuerst das DLNA-Thema lauffähig zu machen ::) Außerdem erfolgt die Generierung der set-commands wieder dynamisch. Die events connected/disconnected kommen nur noch einmal nach dem an-/abschalten.
Grüße Markus
Zitat von: KölnSolar am 03 Februar 2018, 19:08:17
Ah, Raymund is back ;)
Nee, nee, nix back. Grüße aus dem Kleinwalsertal. VPN sei Dank. :-)
Warum soll ein curl im Heimnetz nicht klappen? Bei mir geht das. Im Übrigen sollte auch jede URL aus dem Intra-/Internet klappen, die zu einem JPG zeigt. Also ist nicht unbedingt ein DLNA-Server notwendig. Ich nehme ein Bild von meiner Homepage. Geht ...
Weil ich vermutlich erst wieder Stunden nach Port, User, Passwort und deren richtige Einbindung in den curl-Befehl suchen muss ;D ;D
Hast du ev ein funktionierendes howto für die fritzbox mit bilderzeugung? Will nicht so recht klappen.
Zitat von: Det20 am 04 Februar 2018, 01:36:59
Hast du ev ein funktionierendes howto für die fritzbox mit bilderzeugung? Will nicht so recht klappen.
Bilder erzeugen können die Dinger soweit ich weiß nicht selbst ;)
https://avm.de/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/274_FRITZ-Box-Mediaserver-einrichten/ (https://avm.de/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/274_FRITZ-Box-Mediaserver-einrichten/)
Moin. Weiss nicht in welchem der beiden FHEM Samsung Threads die Frage richtig ist. Da mein TV aber ein H-Series ist stelle ich es auch nochmal hier rein. ERsmal der H6900 ist dank der Anleitung steuerbar. Raffe aber nicht wie ich ein Bild mit Screen testweise anzeigen lassen kann. Hat hier jmd ein Beispiel für mich? Muss screen und callerURl als dummy definiert werden? Danke :)
PN hast Du gesehen/gelesen ?
Bleib dann aber bitte jetzt hier im Thread, wenn Du noch Fragen hast.
Zitat von: KölnSolar am 05 Februar 2018, 13:17:51
PN hast Du gesehen/gelesen ?
Bleib dann aber bitte jetzt hier im Thread, wenn Du noch Fragen hast.
Jetzt erst gelesen. Danke für die Antwort. In der Beschreibung stand
Durch Definition der jeweiligen URI, wird dynamisch das Befehlsset erweitert. Für den Aufruf der callerURI der set-Befehl caller und für screenURI entsprechend screen.
Also hatte ich das als dummy Definition interpretiert. Wie ist der Satz denn gemeint?
Die Attribute habe ich natürlich aber was genau mache ich damit.
Mir fehlt die Verbindung wie ich ein Bild aus FHEM, also z.B. ein Beispielbild jetzt auf dem Fernseher ausgebe. Muss ich eine URL ins attribut schreiben? Oder in den SET? Wenn es hier ein Beispiel gibt dann kann ich versuchen es zu rekonstruieren aber irgendwie raff ich die Verbindung noch 0 :(
----
Hab jetzt kapiert das die url dann in das atribut muss. Ein test mit einem Internetbild war erfolgreich. Dachte nur das bild wird irgendwie ONScreen eingeblendet. Das ist ja leider nicht der Fall. Sollte es irgendwie gehen einen Text Overlaymäßig einzubinden dann bin ich für Tipps dankbar!
ZitatDachte nur das bild wird irgendwie ONScreen eingeblendet. Das ist ja leider nicht der Fall. Sollte es irgendwie gehen einen Text Overlaymäßig einzubinden dann bin ich für Tipps dankbar!
Das hätten wir alle gerne ;D Geht aber nicht oder zumindest müsste man sich dann in die Tiefen der App-Entwicklung einarbeiten. Wenn ich dann mal meinen neuen M-/Q-Serie habe, dann lässt sich vielleicht wenigstens was über PIP machen(so habe ich das derzeit bei meiner E-Serie)
Wieso die das Feature entfernt haben, ist mir ein absolutes Rätsel!
Hallo,
bis jetzt komme ich gut klar mit der Dokumentation, allerdings habe ich ein Problem damit, dass die Zeile:
7. das File /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py editiert
o except FileNotFoundError: in except: ändern
in dieser Datei /usr/local/lib/python2.7/dist-packages/samsungctl/__main__.py
überhaupt nicht existiert.
Hat jemand eine Idee, wo mein Fehler ist?
Ich habe einen BN59-0075P - J-Serie und das pairen nach Anleitung hat soweit erstmal geklappt. Alledings kann ich "ws" nicht als Port eingeben, was wohl mit meinem benannten Problem zusammenhängt.
Vielen Dank bis hierher auch für die tolle Umsetzung.
wolf
Hallo Wolfram,
Zitatbis jetzt komme ich gut klar mit der Dokumentation
scheint mir nicht so ???
Du schmeisst da Dinge durcheinander . samsungctl brauchst Du (eigentlich) gar nicht. Und J-Serie sollte auch wie H-Serie einzurichten sein, also mit wse. (Ich kann aber nicht ausschließen, dass spätere J-Modelle/Firmwares wie K-Serie einzurichten sind).
Aber für die Porteingabe ist das egal. Wo hast Du die Version her ? Nicht von hier (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) oder ?
Und
ZitatBN59-0075P
ist das nicht eine Bezeichnung der Fernbedienung ?
Grüße Markus
Hallo Marcus,
Asche auf mein Haupt, da hast Du wohl recht - es hatte immer irgendetwas geklappt, aber nie das was ich wollte. So richtig bin ich in der Tat noch nicht durchgestiegen.
Ok, dann nochmal ganz langsam... Ich habe einen UE32J5550SUXZG
. Das andere war in der Tat die Fernbedienung (iOS-App).
Scheinbar habe ich auch erst jetzt die korrekte 70_STV.pm "erwischt" und installiert. Nun kann ich zumindest schonmal wse angeben. Jetzt hänge ich halt am "disconnected".
Vielen Dank erstmal für den Schubs in die richtige Richtung - ich forsche jetzt weiter!
wolf
disconnected des TV ? Das dürfte nicht sein(,wenn der TV an ist ;D)
Kriegst Du eine response, wenn Du im Webbrowser DeineIP:8000 oder DeineIP:8000/ws oder DeineIP:8000/ws/app oder DeineIP:8000/ws/apps eingibst ? Ansonsten mal das selbe mit 8001 anstatt 8000 probieren.
Danke Marcus für Deine Antwort.
Also fhem ist auf einem raspi3 installiert und läuft. die korrekte(!) 70_STV.pm in /opt/fhem/FHEM installiert und so definiert:
define samsungTV STV 192.168.1.55 wse
Die "regapp.pl" in /opt/fhem abgelegt, ausführbar gemacht und mit "sudo" ausgeführt. PIN-Abfrage am TV kommt und ich gebe die P'IN auf der Konsole ein. Eine "samsung_session_key.txt" wird angelegt und das Pairing hat geklappt.
Alle Abfragen die Du mir geschrieben hast http://meinesamsungIP/:8000 oder 8001 usw bringen die Antwort "Cannot GET /ws/app", oder "OOPS...not found".
Da ich in der Tat wahrscheinlich inzwischen alles durcheinander bringe habe ich folgendes versucht (irgendwo in den Tiefen dieses Threads gefunden): http://192.168.1.55:9197/dmr und bekomme ich ne schöne XML angezeigt - aber das hat wahrscheinlich gar nichts damit zu tun.
Also, ich glaube, ich bin kurz davor, aber irgendwie hab ich den Anschluss verloren :'(
wolf
Uah, da wird Samsung doch nicht wieder was an den Ports verändert haben ? :-\ http://192.168.1.55:9197/dmr klingt wie K-Serie :-\
Das
ZitatEine "samsung_session_key.txt" wird angelegt und das Pairing hat geklappt.
wiederum nach H.
Aber erstmal egal. Auch, wenn der state=disconnected ist, müssten die set-Befehle funktionieren.
Hallo Marcus, danke erstmal wieder für die hilfe, aber, leider bekomme ich, wenn ich einen set Befehl ausführe nur ein:
samsungTV currently not available. Try later.
Das xml das ich unter "http://192.168.1.55:9197/dmr" bekomme sieht so aus.
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation" xmlns:sec="http://www.sec.co.kr/dlna">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId>
<df:X_deviceCategory>Display.TV.LCD Multimedia.DMR</df:X_deviceCategory>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
<friendlyName>[TV] Samsung</friendlyName>
<manufacturer>Samsung Electronics</manufacturer>
<manufacturerURL>http://www.samsung.com/sec</manufacturerURL>
<modelDescription>Samsung TV DMR</modelDescription>
<modelName>UE32J5500</modelName>
<modelNumber>AllShare1.0</modelNumber>
<modelURL>httpXXXXXXXX</serialNumber>
<UDN>uuid:XXXXXXXX</UDN>
<sec:deviceID/>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/icon_SML.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/icon_LRG.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/icon_SML.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/icon_LRG.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/control/RenderingControl1</controlURL>
<eventSubURL>/upnp/event/RenderingControl1</eventSubURL>
<SCPDURL>/RenderingControl_1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<controlURL>/upnp/control/ConnectionManager1</controlURL>
<eventSubURL>/upnp/event/ConnectionManager1</eventSubURL>
<SCPDURL>/ConnectionManager_1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<controlURL>/upnp/control/AVTransport1</controlURL>
<eventSubURL>/upnp/event/AVTransport1</eventSubURL>
<SCPDURL>/AVTransport_1.xml</SCPDURL>
</service>
</serviceList>
<sec:ProductCap>
Tizen,Y2015,WebURIPlayable,NavigateInPause,ScreenMirroringP2PMAC=fe:f1:36:35:2e:fd
</sec:ProductCap>
<pnpx:X_hardwareId>VEN_0105&DEV_VD0001</pnpx:X_hardwareId>
</device>
</root>
Ich habe das Gefühl 8) , dass die Verbindung von fhem zum key.txt gar nicht gezogen wird.
Ok, da kannte ich meine eigene Änderung vom WE nicht mehr :-[
Attached eine Version ohne die Prüfung. Wenn Du mit der keine Befehle senden kannst, dann musst Du vermutlich den K-Serien-Weg gehen. :'( Poste auch einmal die xml-Ausgaben bei http:/DeineIP:7678/nservice.xml dial.xml, http:/DeineIP:9119/ScreenSharingService1_1.xml ?
Und den Inhalt Deiner samsung_session_key.txt posten. Müsste in etwa so {"session_key":"ADE3BCEDCFEA5A10BBE5B03E98XXXXX","session_id":"1"
} aussehen. Und im TV-Menü prüfen, dass das Gerät, also der FHEM-Server, zugelassen ist.
DLNAClient schon installiert und getestet ? Könntest Du dann parallel machen, während wir nach einer Lösung für Deinen TV suchen. ;)
Grüße Markus
Edit: Testversion für Wolfram wieder entfernt.
Guten Morgen Markus,
danke für's Dranbleiben.
Also, der Aufruf der "http://192.168.1.55:7678/nservice.xml" bringt:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>402</errorCode>
<errorDescription>Invalid Args</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Der Aufruf der "dial.xml" bringt:
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>SendKeyCode</name>
<argumentList>
<argument>
<name>KeyCode</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_KeyCode</relatedStateVariable>
</argument>
<argument>
<name>KeyDescription</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_KeyDescription</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_KeyCode</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_KeyDescription</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>
und der Aufruf der "http://192.168.1.55:9119/ScreenSharingService1_1.xml":
Diese Website ist nicht erreichbar
192.168.1.55 hat die Verbindung abgelehnt.
ERR_CONNECTION_REFUSED
Meine "samsung_session_key.txt" hat folgenden Inhalt:
{"session_key":"033DCF510D7CD38AA66DE00AB406C324","session_id":"5"}
und das Gerät ist am TV zugelassen, die Frage kam während des Pairings und das Gerät ist erlaubt.
Deine neue "70_STV.pm" sieht ganz gut aus. Ich kann trotz STATE "disconnected" einige Befehle absetzen. Z.B. "Red", "0" haben funktioniert. SUPER :)
Zu guter Letzt: DLNAClient habe ich versucht. Der MiniDLNA Server läuft auf dem Raspi und ist im Netzwerk (auch am Samsung TV) zu sehen und ich kann auf Bilder des Raspi zugreifen. Allerdings bekomme ich den Client ums Verrecken nicht zum Laufen. Ich bin nach Anleitung von Dir vorgegangen (meine ich 8) ) und habe die fehlenden Perl Module nachinstalliert - alles, soweit ich das überblicke, mit Erfolg. Allerdings scheitere ich wenn ich:
define SamsungRenderer DLNAClient Samsung
leider immer ein "Cannot load module DLNAClient". Ich meine auch, dass ich extra die veraltete Version genommen habe - hier irgendwo aus dem Threat.
Vielen Dank erstmal und einen wunderschönen Tag
wolf
Zitat von: wolfram am 06 Februar 2018, 09:01:27
leider immer ein "Cannot load module DLNAClient".
Liegt meistens an fehlenden Zusatzmodulen. Was steht den im Log, wenn Du mit Reload neu lädst?
Hallo Markus,
im Log steht, wenn ich das define "define SamsungRenderer DLNAClient Samsung" absetze:
2018.02.06 09:19:04 1: reload: Error:Modul 98_DLNAClient deactivated:
Can't locate Net/UPnP/ControlPoint.pm in @INC (you may need to install the Net::UPnP::ControlPoint module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl) at ./FHEM/98_DLNAClient.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/98_DLNAClient.pm line 32.
2018.02.06 09:19:04 0: Can't locate Net/UPnP/ControlPoint.pm in @INC (you may need to install the Net::UPnP::ControlPoint module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl) at ./FHEM/98_DLNAClient.pm line 32.
BEGIN failed--compilation aborted at ./FHEM/98_DLNAClient.pm line 32.
Liebe Grüße
wolf
EDIT:
Habe Net::UPnP::ControlPoint
nachinstalliert, jetzt konnte ich es auch definieren - danke erstmal für diesen Hinweis. :)
you may need to install the Net::UPnP::ControlPoint module
Na prima. Wenn ein set-Befehl funktioniert, sollten alle funktionieren(abgesehen von denen, die Dein TV gar nicht hat ;D)
Es scheint also tatsächlich bei Dir der Fall vorzuliegen, dass der TV eine Mischung aus H- u. K-Serien "Technik" hat. Da müssen wir dann irgendwann mal ran, dass ich auch für diesen Fall den connect-Status realisiert bekomme. Ein Modul nach Vorgabe zu editieren/modifizieren kannst Du, oder ?
Hallo Markus,
Nach Vorgabe bekomme ich das schon hin. ....Du bist ja da [emoji846]
Ich probiere Mal heute Abend wie weit ich komme, auch mit dem dlna.
Vielen Dank bis hierher schon einmal.
Wolf
Gesendet von iPhone mit Tapatalk Pro
Guten Abend,
also, die neuesten Erkenntnisse: Manche Befehle - über STV gehen, manche nicht, obwohl es die Option/Funktion gibt - z.B. channel List....aber, Volume up und Volume down und ein paar andere funktionieren. Status ist disconnected, was mir im Prinzip egal wäre
Was nicht geht, ist der DLNAClient - da passiert gar nichts. Eigentlich habe ich die angepasste Version verwendet, aber weder reagiert Lautstärke, noch kann ich ein Bild auf den Fernseher streamen (wahrscheinlich bin ich damit in dem anderen Threat besser aufgehoben?).
ein:
set SamsungRenderer stream http://www.tv-testbild.com/ont/10.jpg
bringt gar nix....
Liebe Grüße
wolf
im xml hast du gepostet:
friendlyName>[TV] Samsung</friendlyName>
wenn das noch stimmt, musst du deine definition ändern:
define SamsungRenderer DLNAClient [TV] Samsung
Hallo Frank,
Stimmt meine Definition war oben falsch (Copy & Paste Fehler) aber so ist der Renderer definiert:
define SamsungRenderer DLNAClient [TV] Samsung
oder verstehe ich jetzt was falsch?
wolf
Edit: Der Renderer springt auch immer wieder, wenn ich ihn auf "on" gestellt habe auf "off"
Edit 2: Stelle ich den Renderer auf verbose 5 und setze folgendes Kommando ab:
set SamsungRenderer stream http://www.tv-testbild.com/ont/10.jpg
bekomme ich das im Logfile:
2018.02.06 21:15:16 4: DLNAClient: start play for http://www.tv-testbild.com/ont/10.jpg
2018.02.06 21:15:16 5: DLNAClient: setAVTransportURI Start
2018.02.06 21:15:16 5: DLNAClient: setAVTransportURI End
2018.02.06 21:15:16 5: DLNAClient: play started
bei mir sieht das log so aus, wenn es funktioniert.
zusätzlich alle 65s:
2018.02.06 19:53:34.273 5: DLNAClient: Found device [TV]wz
2018.02.06 19:53:34.274 4: DLNAClient: Found specified device [TV]wz
2018.02.06 19:53:34.408 4: DLNAClient: Using device "[TV]wz".
kann der tv ins internet?
Ja, der TV kann ins Internet und deine Meldung habe ich auch in meinem Log gesehen....
Gesendet von iPhone mit Tapatalk Pro
Don't panic, bei mir geht der externe Link auch nicht. >:( Dass Du die 3 Logzeilen wie aus Franks Post hast, stimmt mich positiv. Bau Dir einen lokalen Server auf und es wird klappen.
ZitatDer Renderer springt auch immer wieder, wenn ich ihn auf "on" gestellt habe auf "off"
Das ist normal.
ZitatStatus ist disconnected, was mir im Prinzip egal wäre
das kriegen wir hin, wenn sonst alles funktioniert.
ZitatVolume up und Volume down und ein paar andere funktionieren
Klingt so negativ :( Wenn es funktioniert, funktionieren alle Tasten von einzelnen Ausnahmen vielleicht abgesehen.
Guten Morgen Markus,
erstmal wieder ein großes Danke für Deinen Support.
ZitatDon't panic, bei mir geht der externe Link auch nicht. >:( Dass Du die 3 Logzeilen wie aus Franks Post hast, stimmt mich positiv. Bau Dir einen lokalen Server auf und es wird klappen.
Zitat
Also einen DLNAMini Server habe ich bereits installiert und der funzt auch. Ich kann mit meinem TV auch auf diesen zugreifen. Wenn ich über die normale Fernbedienung gehe und dann über "Input" sehe ich den raspi3 DLNA und kann die Bilder meiner Webcam anschauen. Was meinst Du, könnte ich hier anders machen? Oder hab ich was falsch verstanden?
ZitatDer Renderer springt auch immer wieder, wenn ich ihn auf "on" gestellt habe auf "off"
Das ist normal.
Ok, gut zu wissen.
ZitatStatus ist disconnected, was mir im Prinzip egal wäre
das kriegen wir hin, wenn sonst alles funktioniert.
das sind gute Aussichten :)
ZitatVolume up und Volume down und ein paar andere funktionieren
Klingt so negativ :( Wenn es funktioniert, funktionieren alle Tasten von einzelnen Ausnahmen vielleicht abgesehen.
Sorry, das sollte nicht negativ klingen. Ich freue mich, dass wir soweit gekommen sind, ich verfolge das Thema schon sehr sehr lange und hatte bisher kaum Hoffnung, dass es mit meinem Gerät geht. Als ich die neuen Erkenntnisse gelesen habe, dachte ich, ich probiere es mal und bin ja immerhin schon ein riesen Stück weiter. Es war nur, dass z.B. "sleep" nicht geht, was ich gut gebrauchen könnte. Aber da käme ich bestimmt mit einer Signalfolge á la "tools -> 3x Wheel right -> ok" hin. Mal sehen, ich werde heute Abend mal alle Befehle durchtesten und das mal dokumentieren.
Einen schönen Tag
wolf
ZitatAlso einen DLNAMini Server habe ich bereits installiert und der funzt auch. Ich kann mit meinem TV auch auf diesen zugreifen. Wenn ich über die normale Fernbedienung gehe und dann über "Input" sehe ich den raspi3 DLNA und kann die Bilder meiner Webcam anschauen. Was meinst Du, könnte ich hier anders machen? Oder hab ich was falsch verstanden?
Dann sollte es aber doch kein Problem sein mit dem DLNAClient ein Bild des miniDLNA auf den TV zu streamen. Einzige Hürde ist dann noch, dass minDLNA die Bilder indiziert und einen neuen Namen mit diesem Index vergibt. Der Originalbildname ist für die Aussenwelt unbekannt. Daher muss man sich mit z.B. WindowsMediaPlayer und den Eigenschaften einer Mediendatei den miniDLNA-Bildnamen holen. UND, hatte ich zwar schon mal geschrieben, der Parameter inotify=no ist zu setzen, damit der miniDLNA nicht bei jeder Bildänderung neu indiziert. Ansonsten zeigt der Link ins Leere und nix passiert. Da müsste der DLNAClient besser reagieren, was er aber leider nicht tut. Sobald der offizielle DLNARenderer für Samsung funktioniert, könnte man dieses Problem angehen.
Edit:
Zitatdass z.B. "sleep" nicht geht, was ich gut gebrauchen könnte. Aber da käme ich bestimmt mit einer Signalfolge á la "tools -> 3x Wheel right -> ok" hin.
Klar sleep ist sicher einer der Befehle, die sich gut für Hausautomatisierung sinnvoll einsetzen lassen. Wobei bei mir auch nur das on-screen-menü öffnet. Man braucht also eh eine Tastensequenz.
Wenn der Menu-Befehl klappt, dann eben über eine Tastenfolge mit ein paar mehr Tasten. ;)
Guten Abend,
also, meine letzten Erkenntnisse:
Folgende Befehle funktionieren bei mir:
Alle Ziffern 0-9
Chup
Chdown
die Farbtasten - rot, grün, gelb, rot
ENTER
EXIT
FAVCH
HDMI1- x
INFO
LEFT
RIGHT
MENU
MUTE
PRECH
TOOLS
UP
DOWN
VOLUP
VOLDOWN
Jetzt zu dem DLNA Test @Markus:
Ich habe mir unter Windows Media Player mal den Pfad zu einem Bild auf dem Raspi über DLNA geholt und versuche das Bild auf den TV zu streamen. Der Pfad sieht dann so aus:
http://192.168.1.26:8200/MediaItems/19.jpg?WMContentFeatures=DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=00F00000000000000000000000000000&WMHME=1&WMHMETitle=YwBhAG0AXwBsAGkAdgBpAG4AZwBfADIAMAAxADgAMAAxADIANQBfADEANwAxADMAMQA3AA==
Im Mediaplayer und auch in einem beliebigen Browser bekomme ich das Bild angezeigt, allerdings nichts auf dem TV. :(
In der Tat ist momentan in "inotify=yes" noch eingestellt, aber da ich einen (leider noch) festen Pfad habe, sollte das für den Test doch ok sein, oder?
OFF Topic: ich habe eine Vu+ mit Enigma2 TV-Box, ebenfalls mit einem DLNAmini. Den Server sehe ich ebenfalls im Netz und der ist so definiert:
define VUPlus DLNAClient ULTIMO DLNA Server
versuche ich den Stream (siehe oben) auf die Box zu streamen bekomme ich folgende Meldung:
DLNAClient: Currently searching for device ULTIMO DLNA Server...
wie gesagt etwas offTopic und 2 unterschiedliche Probleme, aber entweder habe ich irgendwas noch nicht richtig verstanden/gelesen, oder es gibt noch eine Lücke in meiner Denke.
Liebe Grüße
wolf
EDIT: geschafft - zumindest teilweise ::) - mein Fehler war, dass ich beim STV definieren nicht den Renderer mit angegeben hatte, bzw. die Reihenfolge nicht sauber beachtet habe - sorry für die Verwirrung. Jetzt schaffe ich es zumindest das o.g. Bild auf dem Fernseher anzuzeigen. Lautstärke will noch nicht, aber mit "stop" kann ich zumindest wieder zurück zum normalen Fernsehbild...
Zum schließen der Lücke ;)
Nur den PFAD, also
Zitathttp://192.168.1.26:8200/MediaItems/19.jpg
kopieren.
Und stelle dringendst inotify auf no, sonst wird Dir bei jeder Änderung(also einem Anruf) neu indiziert und das ursprüngliche 4711.jpg ist nicht mehr existent.
GUIDE, ESAVE, CONTENTS... um ein paar andere wichtige zu nennen, gehen nicht ?
Zitat
DLNAClient: Currently searching for device ULTIMO DLNA Server...
ULTIMO DLNA Server ist eben scheinbar nicht im Netz zu finden ??? Liegt vermutlich daran, dass es ein DMS und kein DMR ist :-\
Kölle Alaaf
Hallo Markus,
danke für's Schließen :)
inotify ist abgestellt. Das mit dem Pfad muss ich noch verstehen, aber da steige ich schon dahinter.
GUIDE, ESAVE, CONTENTS... um ein paar andere wichtige zu nennen, gehen nicht ?
Leider nein :(
Zu meinem OT - sorry:
Rufe ich meinen Raspi DLNA über den Browser auf, finde ich meine Enigma:
http://192.168.1.26:8200/
bringt unter anderem die Enigma - IP und MAC stimmen.
9 Generic UPnP 1.0 192.168.1.15 00:1D:EC:03:7F:1A
mit allen anderen DLNA Geräten sehe ich die Box auch - nur nicht über FHEM, bzw. nicht im Log. Aber gut, das nur der Vollständigkeit halber - anderes Thema/Threat.
Dann Alaaaf und gute Nacht
Hallo
Frage: ich würde mir gerne ne "Szene programmieren" wo sich der TV einschaltet, Licht abschaltet, Fernsehhalterung schwenkt und der TV automatisch auf Netflix springt. Das gleiche mit Amazon.
Kennt ihr irgend eine Möglichkeit das zu realisieren? Meine Idee, sich mit mehreren Befehlen durch das Menü zu schleppen, klappt nicht ganz, da ich ja auf den unterschiedlichsten Quellen starte. Bin für jede Idee offen. Ein Direktsprung ala "input netflix" wäre natürlich super, aber vl sind "Favoriten" das Stichwort, sofern der Samsund sowas überhaupt hat.
LG
Hallo Markus,
kannst Du mir die Version vielleicht nochmal zur Verfügung stellen, sie wurde offensichtlich beim Update überschrieben :(
Edit: Testversion für Wolfram wieder entfernt.
ich bekomme nach dem Update immer ein:
configfile: [STV] Port is not supported
./log/fhem.save: Please define samsungTV first
Oder stehe ich schon wieder auf dem Schlauch? Mit dem DLNA bekomme ich zwar was gerendert, kann aber nichts ausser "Strem, play und Stop" steuern.
Liebe Grüße
wolf
Hi Wolfram,
Basics von FHEM ::)
Damit das nicht passiert, musst Du beim device global setzen
attr global exclude_from_update 70_STV
Und die Version findest Du in Deinen /opt/fhem/restoreDir
Grüße Markus
Keiner ne Idee?
So ihr Lieben, its testing time ;D
Ich habe folgendes realisiert:
- Gruppierung von RCs, um die Auswahlbox in der GUI beim set-Befehl übersichtlicher zu machen
- Argumente nur dort zulassen, wo sinnvoll(also fast nie)
- neues command: 0_text_line Hier könnt ihr z.B. Text für eine App eingeben, um Apps handlebarer zu machen
- neues command: 0_command_line Als Argument könnt Ihr kommaseparierte Sequenzen von commands eingeben. Jedes Komma führt notwendigerweise zu einem (blockierenden) Perl-sleep von 0.3 Sekunden. Also nicht übertreiben ;)
Wem also die DLNA-, RSS-Arie zu aufwändig/kompliziert war, der kann nun auch den Weg über den Browser gehen. Bei mir(mit "home-link" auf die Detailseite des FB_CALLMONITOR
set TV 0_command_line contents,,,,,,down,enter
Die unschönste aber einfachst zu realisierende Bildschirmnachricht bei eingehendem Anruf ;D
Es geht auch ohne Home-Link
set TV 0_command_line contents,,,,,,down,enter,,,,,right,right,right,right,right,enter
set TV 0_text_line http://192.168.xyz.ab:8083/fhem?detail=FritzBox
set TV enter
Mit den Kommas gebt ihr dem TV etwas Zeit ;)
Dann hätten wir noch: Die Vorstellung des neuen Wiki-Eintrags (https://wiki.fhem.de/wiki/STV) plin hat das in null-komma-nix auf die Beine gestellt. DANKE ! Und Ihr lest bitte mal und macht bitte Korrektur- u. Verbesserungsvorschläge.
Tja, und dann sind wir wohl fast fertig ;D ;D ;D Mich wurmt nur, dass wir ab K-Serie noch das Python-Skript benötigen >:( Und ich könnt als Python-Ahnungsloser wetten, dass das fast das selbe wie H-Serie ist und lediglich der Verschlüsselungspart weggefallen ist und der Port verändert wurde. Keiner da, der die Python-Skripte gegeneinander prüfen kann ? :'(
Grüße Markus
Testet bitte gut. Ich hab manchmal Probleme mit der Versionierung, weil ich von 2 Win-Rechnern auf 2 RPi's arbeite :-[
Edit: Ich hab dann mal die alte Version, die 281 mal heruntergeladen wurde, entfernt.
Zitat von: KölnSolar am 21 Februar 2018, 21:48:02
Es geht auch ohne Home-Link
set TV 0_command_line contents,,,,,,down,enter,,,,,right,right,right,right,right,enter
set TV 0_text_line http://192.168.xyz.ab:8083/fhem?detail=FritzBox
set TV enter
Danke für die Version, wird getestet, gerade über die "nur funktionierenden Optionen" im Set freue ich mich!
Allerdings kapier ich nicht, was Du mit 0_text_line und 0_command_line meinst. Kannst Du das ev nochmal kurz ausführen?
0_text_line: Das ist für App-Nutzer, um anstatt per TV-Bildschirmtastatur zu "tippen" einfach "Texte" per Handy/Tablet/PC.... zu senden. Bsp. TV-Webbrowser -> in die Eingabezeile für die URL. Wenn nun die Tastatur auf dem TV erscheint, kann man flink die URL per Handy/Tablet/PC.... eintippen und senden.
0_command_line: speziell für die Automatisierung von Abfolgen von FB-Tasten. Das ließ sich vorher natürlich auch per Abfolge entsprechender set-Befehle machen. Wenn da aber mal ein fremder Befehl dazwischen "rutschte" und blocking war, wars vorbei. Nun kann niemand dazwischen funken, das Ganze ist übersichtlicher, Funktionsweise schnell und einfach getestet...
Hallo,
0_command_line und 0_text_line funktionieren bei mir nicht.
In beiden Fällen passiert nichts.
Auch nicht, wenn ich einen einzelnen Befehl damit absetze.
Also:
set tv CONTENTS
funktioniert.
set tv 0_command_line CONTENTS
funktioniert nicht.
Mach zda was falsch?
Hab einen UE55H6470.
VG
Leo
Sorry, nein Du machst gar nichts falsch. In meiner Ephorie hatte ich "vergessen", dass wir ja quasi 3 Technologien zum RC senden unterstützen. Implementiert habe ich's nur für Port 55000(bis F-Serie) :-[
Die anderen Technologien wird ich noch machen.
Grüße Markus
Hallo
Erst mal Hochachtung für die Änderungen im Modul.
Funktioniert auch alles bis jetzt sehr gut.
Habe aber ein kleines Verständnis-Problem.
Über das DLNAClient-Modul kann man dies auch ohne das STV Modul realisieren.
Wo liegt hier der Vorteil?
Vor gefühlten 100 Jahren konnte man auch noch SMS oder Telefonnummern rechts unten einblenden,
geht das irgendwie noch? (habe leider die aktuellste Firmware an meine UE55F8090SLX)
Kleine Anmerkung noch:
Im WIKI und auch im Threads https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500
ist die aktuellste Version aus
https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704
nicht verknüpft. ???
Schön wäre natürlich den Thread
https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500
oben anzupinnen, aber da könnte ja jeder mit diesem Wunsch kommen. ;)
ZitatWo liegt hier der Vorteil?
Eigentlich keinen. Lediglich dass hier alles in einem Modul integriert ist und damit mit nur einem device alle Funktionalitäten nutzbar sind, die URIs transparent u. änderbar in Attributen stehen.
ZitatVor gefühlten 100 Jahren konnte man auch noch SMS oder Telefonnummern rechts unten einblenden,
geht das irgendwie noch? (habe leider die aktuellste Firmware an meine UE55F8090SLX
Aber noch nie bei F-Serie. Ich glaub nur bis C.
ZitatKleine Anmerkung noch:
Im WIKI und auch im Threads https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500
ist die aktuellste Version aus
https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704
nicht verknüpft.
Das ist Absicht. Im hiesigen Thread ist eine Testversion, während die andere Version eine schon getestete Version ist.
ZitatSchön wäre natürlich den Thread
https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500
oben anzupinnen, aber da könnte ja jeder mit diesem Wunsch kommen.
Das kann halt nur der TE.
Grüße Markus
Hallo,
das neue Modul funktioniert bei mir mit der H Serie.
Nur meine C Serie geht jetzt nicht mehr, was mach ich da falsch? Muss ich da jetzt auch so verbinden wie bei der H Serie?
Nein, die Definition ist unverändert. Port 55000 nehm ich an ? Bei C-Serie haben wir noch das Problem den connect-Status zu ermitteln. Ich denke, dass wir dazu in den nächsten Tagen eine Lösung finden.
Bleibt Dein state auf disconnected ? Hast Du evtl. Infos über die offenen Ports ?
Grüße Markus
Ja der bleibt auf disconnect, was sehr schade ist, den Status des TV nehm ich für viele Schaltvorgänge her!
Eine Info über offene Ports hab ich leider nicht. Wenn du mir sagst wie ich die ermitteln kann, immer her damit!
Port ist 55000
Du hast die letzte Version von diesem Thread ?
Setz mal Dein TV-device auf verbose=5 u. poste bitte den Log-Auszug bei define oder defmod.
Wie sind Deine IT-/Perl-Kenntnisse ? Kriegst Du einfache Modifikationen hin ?
ZitatWenn du mir sagst wie ich die ermitteln kann, immer her damit!
Da müsstest Du Dich mal mit nmap auseinandersetzen.
Version 1.5 habe ich.
Mit Perl kenn ich mich nicht so wirklich aus, aber wenn du mir sagst was ich ändern soll, versuch ich es!
Ich probier das später mal mit verbose 5 und schau mal was ich mit den Ports rausbekomme.
Am MAC kann man ja mit dem Netzwerkdienstprogramm auch Ports scannen, mal schauen was rauskommt
Ich musste gestern leider wieder zurück auf die alte Version, weil ich den TV der C Serie unbedingt in meiner Steuerung brauche und ich zu wenig Zeit zum ständigen Wechsel habe. Sorry!
MAC Portscan brachte folgendes: Open TCP Port: 5600 esmmanager
Open TCP Port: 52235
Open TCP Port: 52396
Open TCP Port: 55000
Versteh ich, nur ich hab keine C-Serie zum testen u. keinen blassen Schimmer warum Port 55000 sich für den Status unterschiedlich verhält :'(
Der TV schreibt mit dem alten Modul opened statt connected, vielleicht hilft das ja
Kann ich die Module parallel laufen lassen, indem ich eins einfach umbenenne? Dann könnt ich zwischendurch mehr ausprobieren
Gute Idee. Sollte problemlos funktionieren. Einfach die Testversion umbenennen und passend ein Testdevice anlegen. Ich brauch das Log bei verbose=5. ;)
Hier der Log beim anlegen der C Serie
2018.03.04 18:00:27 5: Cmd: >define TVSZ STV2 192.168.20.50 55000<
2018.03.04 18:00:27 3: [STV2] TVSZ defined with host: 192.168.20.50 port: 55000
2018.03.04 18:00:27 5: HttpUtils url=http://192.168.20.50:80/
2018.03.04 18:00:27 5: IP: 192.168.20.50 -> 192.168.20.50
2018.03.04 18:00:27 5: Starting notify loop for global, 1 event(s), first is DEFINED TVSZ
2018.03.04 18:00:27 5: createNotifyHash
2018.03.04 18:00:27 5: End notify loop for global
Dies schreibt der Log vom neuen Modul bei der C Serie, keine Ahnung ob das mit dem verbose 5 bei dem einen device geklappt hat
2018.03.04 18:02:30 4: [STV2] TVSZ not able to connect to 192.168.20.50:55000 with http://192.168.20.50:80/ - error: 192.168.20.50: Keine Route zum Zielrechner
Moin.
Ich habe einen UE60J6289...
Leider kann ich keinen der Befehle hier nachvollziehen...
Zuerst hat es ca. 15 Minuten gedauert bis er "connected" war... Jetzt versuche ich zu verstehen was ich mit den Befehlen call, date, mute, sms und volume anfangen soll.
Kein 0_command.... wie auch immer. Selbstverständlich bin ich zu faul den gesamten Thread zu lesen aber ich kann KölnSolar #298 (https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704) einfach nicht nachvollziehen. Und das Wiki hilft mir in dem Fall auch irgendwie nicht.
Wäre um jede Info dankbar.
Grüße^^
Der Wikieintrag ist erst im Aufbau. Hab aber gerade gesehen, dass der entscheidende Link
(https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370) ins Leere führt und dass manche für die Erstinstallation wichtige Links gar nicht im Wiki stehen.
Guck Dir den o.g. Link an. Und folge dem Link zu Raymund....
Grüße Markus
Edit: Der Wikieintrag zum STV ist jetzt angepasst und verständlicher ;)
neuer log Eintrag:
[STV2] TVSZ not able to connect to 192.168.20.50:55000 with http://192.168.20.50:80/ - error: 192.168.20.50: Keine Route zum Zielrechner
[STV2] TVSZ not able to connect to 192.168.20.50:55000 with http://192.168.20.50:80/ - error: 192.168.20.50: Verbindungsaufbau abgelehnt
Connection closed for WEB_192.168.20.129_52944: EOF
2018.03.06 18:56:37 4: WEB_192.168.20.129_52947 POST /fhem&fw_id=6217&cmd=define+TVSZ+STV2+192.168.20.50+55000; BUFLEN:0
2018.03.06 18:56:37 5: Cmd: >define TVSZ STV2 192.168.20.50 55000<
2018.03.06 18:56:37 3: [STV2] TVSZ defined with host: 192.168.20.50 port: 55000
2018.03.06 18:56:37 5: HttpUtils url=http://192.168.20.50:80/
2018.03.06 18:56:37 5: IP: 192.168.20.50 -> 192.168.20.50
2018.03.06 18:56:37 5: Starting notify loop for global, 1 event(s), first is DEFINED TVSZ
2018.03.06 18:56:37 5: createNotifyHash
2018.03.06 18:56:37 5: End notify loop for global
2018.03.06 18:56:37 4: [STV2] TVSZ not able to connect to 192.168.20.50:55000 with http://192.168.20.50:80/ - error: 192.168.20.50: Verbindungsaufbau abgelehnt
2018.03.06 18:56:37 4: WEB_192.168.20.129_52947 GET /fhem?detail=TVSZ&fw_id=6217; BUFLEN:0
2018.03.06 18:56:37 4: WEB: /fhem?detail=TVSZ&fw_id=6217 / RL:5815 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:37 4: WEB_192.168.20.129_52947 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:37 5: Cmd: >{ReadingsVal("TVSZ","0","")}<
2018.03.06 18:56:37 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:37 4: Connection accepted from WEB_192.168.20.129_52955
2018.03.06 18:56:37 4: WEB_192.168.20.129_52955 GET /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:37 5: Cmd: >{AttrVal("TVSZ","room","")}<
2018.03.06 18:56:37 4: WEB: /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:37 4: WEB_192.168.20.129_52947 GET /fhem?XHR=1&inform=type=status;filter=TVSZ;since=1520358996;fmt=JSON&fw_id=6217×tamp=1520358999706; BUFLEN:0
2018.03.06 18:56:39 4: WEB_192.168.20.129_52955 POST /fhem?cmd=save&XHR=1&fw_id=6217; BUFLEN:0
2018.03.06 18:56:39 5: Cmd: >save<
2018.03.06 18:56:39 5: Starting notify loop for global, 1 event(s), first is SAVE
2018.03.06 18:56:39 5: createNotifyHash
2018.03.06 18:56:39 5: End notify loop for global
2018.03.06 18:56:39 4: WEB: /fhem?cmd=save&XHR=1&fw_id=6217 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:40 4: Connection closed for WEB_192.168.20.129_52947: EOF
2018.03.06 18:56:40 4: WEB_192.168.20.129_52955 GET /fhem?detail=TVSZ&fw_id=6217; BUFLEN:0
2018.03.06 18:56:41 4: WEB: /fhem?detail=TVSZ&fw_id=6217 / RL:5802 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:41 4: WEB_192.168.20.129_52955 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:41 5: Cmd: >{ReadingsVal("TVSZ","0","")}<
2018.03.06 18:56:41 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:41 4: Connection accepted from WEB_192.168.20.129_52956
2018.03.06 18:56:41 4: WEB_192.168.20.129_52956 GET /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:41 5: Cmd: >{AttrVal("TVSZ","room","")}<
2018.03.06 18:56:41 4: WEB: /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:41 4: WEB_192.168.20.129_52955 GET /fhem?XHR=1&inform=type=status;filter=TVSZ;since=1520358999;fmt=JSON&fw_id=6217×tamp=1520359003512; BUFLEN:0
2018.03.06 18:56:42 4: Connection closed for WEB_192.168.20.129_52955: EOF
2018.03.06 18:56:42 4: WEB_192.168.20.129_52956 GET /fhem?detail=TVSZ&fw_id=6217; BUFLEN:0
2018.03.06 18:56:42 4: WEB: /fhem?detail=TVSZ&fw_id=6217 / RL:5801 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:42 4: WEB_192.168.20.129_52956 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:42 5: Cmd: >{ReadingsVal("TVSZ","0","")}<
2018.03.06 18:56:42 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:42 4: Connection accepted from WEB_192.168.20.129_52957
2018.03.06 18:56:42 4: WEB_192.168.20.129_52957 GET /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.06 18:56:42 5: Cmd: >{AttrVal("TVSZ","room","")}<
2018.03.06 18:56:42 4: WEB: /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.06 18:56:42 4: WEB_192.168.20.129_52956 GET /fhem?XHR=1&inform=type=status;filter=TVSZ;since=1520359001;fmt=JSON&fw_id=6217×tamp=1520359004944; BUFLEN:0
2018.03.06 18:56:44 4: Connection closed for WEB_192.168.20.129_52956: EOF
2018.03.06 18:56:44 4: WEB_192.168.20.129_52957 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2018-03.log; BUFLEN:0
Sorry, hatte Deinen ersten Post übersehen. :-[
Das ist dann aber nicht diese (https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704) Version. Das war mal eine Zwischenversion. Kannst Du bitte die aktuelle Version einspielen, dann sollte die Logmeldung etwas anders aussehen.
Grüße Markus
Hallo, hab die Version aus dem verlinkten Beitrag installiert.
Schaut aus als ob die funktioniert. Status ist connected und disconnected.
Werdes das später ausprobieren wie sich meine Steuerung verhält. Wenn es passt, werd ich das alte STV Modul mal durch deins komplett ersetzen!
Schön. Ich war schon überrascht, warum meine "Krücke", die ich mir mühsam gebaut hatte bei Dir nicht funktioniert.
Du hast ja auch Port 52235 mit call, sms, date... Klappt das auch ? Ich frag mich immer wieder warum die Funktionalitäten über den Port gesteuert werden, so dass sie nicht in einem device nutzbar sind. :-\
Das hab ich noch nicht ausprobiert. Ich nutze im Moment nur den Status, und Power Off. Das geht!
Port 52235 geht auch. Status connected und disconnected.
Call geht
SMS geht nicht
Volume geht
Danke fürs Testen.
Dann überleg ich mir mal, wie man beide Ports sinnvoll definieren kann...
Bei Port 55000 rebootet der TV alle paar Minuten
oha, dann mag er wohl meinen Zugriff nicht >:(
Bitte das Log bei verbose 5. Beim 52235 genauso ? Kannst Du mal in Zeile 227 das $port durch 52396 und danach durch 5600 ersetzen. Ergebnisse bitte ebenfalls mit Log.
Edit: Nach jeder Änderung immer ein reload 70_STV. Und nur jeweils ne gute Minute testen, sonst nimmt der TV nachher noch Schaden.
Bei 52235 hat es funktioniert, kein reboot.
Die Änderung im Modul Probier ich aus und logge das mit!
Bitte auch das Log zum 52235. Ich möchte sehen, was der TV an FHEM antwortet.
Zitat von: KölnSolar am 05 März 2018, 08:18:03
Der Wikieintrag ist erst im Aufbau. Hab aber gerade gesehen, dass der entscheidende Link
(https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370) ins Leere führt und dass manche für die Erstinstallation wichtige Links gar nicht im Wiki stehen.
Guck Dir den o.g. Link an. Und folge dem Link zu Raymund....
Grüße Markus
Edit: Der Wikieintrag zum STV ist jetzt angepasst und verständlicher ;)
Danke.. habe es hinbekommen. Hat am Anfang auch Befehle angenommen. Nach ca. 5 Minuten nicht mehr. Aber halb so wichtig.
Grüße^^
Hier mal ein Log mit Port 55000WEB_192.168.20.129_50861 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%22volume%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.15 19:59:27 5: Cmd: >{ReadingsVal("TVSZ","volume","")}<
2018.03.15 19:59:27 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%22volume%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:27 4: Connection accepted from WEB_192.168.20.129_50863
2018.03.15 19:59:27 4: WEB_192.168.20.129_50862 GET /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.15 19:59:27 5: Cmd: >{AttrVal("TVSZ","room","")}<
2018.03.15 19:59:27 4: WEB: /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:23 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:27 4: WEB_192.168.20.129_50863 GET /fhem?detail=TVSZ; BUFLEN:0
2018.03.15 19:59:27 4: WEB: /fhem?detail=TVSZ / RL:3220 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:27 4: WEB_192.168.20.129_50861 GET /fhem?XHR=1&inform=type=status;filter=TVSZ;since=1521140366;fmt=JSON&fw_id=6809×tamp=1521140367920; BUFLEN:0
2018.03.15 19:59:29 5: CUL/RAW: /K613262433A
2018.03.15 19:59:29 4: CUL_Parse: cul868 K613262433A -45
2018.03.15 19:59:29 5: cul868: dispatch K61326243
2018.03.15 19:59:29 4: CUL_WS S300TH Wohnzimmer: T: 23.2 H: 43.6
2018.03.15 19:59:29 5: Starting notify loop for Wohnzimmer, 3 event(s), first is T: 23.2 H: 43.6
2018.03.15 19:59:29 5: createNotifyHash
2018.03.15 19:59:30 5: End notify loop for Wohnzimmer
2018.03.15 19:59:37 4: WEB_192.168.20.129_50862 POST /fhem?cmd.modifyTVSZ%3Dmodify%20TVSZ%20192.168.20.50%2055000&XHR=1&fw_id=6809; BUFLEN:0
2018.03.15 19:59:37 5: Cmd: >modify TVSZ 192.168.20.50 55000<
2018.03.15 19:59:37 3: [STV2] TVSZ defined with host: 192.168.20.50 port: 55000
2018.03.15 19:59:37 5: HttpUtils url=http://192.168.20.50:55000/
2018.03.15 19:59:37 5: IP: 192.168.20.50 -> 192.168.20.50
2018.03.15 19:59:37 5: Starting notify loop for global, 1 event(s), first is MODIFIED TVSZ
2018.03.15 19:59:37 5: End notify loop for global
2018.03.15 19:59:37 4: WEB: /fhem?cmd.modifyTVSZ%3Dmodify%20TVSZ%20192.168.20.50%2055000&XHR=1&fw_id=6809 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:37 5: HttpUtils request header:
GET / HTTP/1.0
Host: 192.168.20.50:55000
User-Agent: fhem
Accept-Encoding: gzip,deflate
2018.03.15 19:59:37 4: [STV2] TVSZ online with 192.168.20.50:55000 - HTTP-Response:
2018.03.15 19:59:38 4: WEB_192.168.20.129_50862 POST /fhem?cmd=save&XHR=1&fw_id=6809; BUFLEN:0
2018.03.15 19:59:38 5: Cmd: >save<
2018.03.15 19:59:38 5: Starting notify loop for global, 1 event(s), first is SAVE
2018.03.15 19:59:38 5: End notify loop for global
2018.03.15 19:59:38 4: WEB: /fhem?cmd=save&XHR=1&fw_id=6809 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:40 4: Connection closed for WEB_192.168.20.129_50861: EOF
2018.03.15 19:59:40 4: WEB_192.168.20.129_50863 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%22volume%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.15 19:59:40 5: Cmd: >{ReadingsVal("TVSZ","volume","")}<
2018.03.15 19:59:40 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%22volume%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:40 4: WEB_192.168.20.129_50862 GET /fhem?detail=TVSZ; BUFLEN:0
2018.03.15 19:59:40 4: WEB: /fhem?detail=TVSZ / RL:4767 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:40 4: Connection accepted from WEB_192.168.20.129_50865
2018.03.15 19:59:40 4: WEB_192.168.20.129_50865 GET /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.15 19:59:40 5: Cmd: >{AttrVal("TVSZ","room","")}<
2018.03.15 19:59:40 4: WEB: /fhem?cmd=%7BAttrVal(%22TVSZ%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:23 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:40 4: WEB_192.168.20.129_50862 GET /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.03.15 19:59:40 5: Cmd: >{ReadingsVal("TVSZ","0","")}<
2018.03.15 19:59:40 4: WEB: /fhem?cmd=%7BReadingsVal(%22TVSZ%22%2C%220%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.03.15 19:59:40 4: WEB_192.168.20.129_50862 GET /fhem?XHR=1&inform=type=status;filter=TVSZ;since=1521140379;fmt=JSON&fw_id=6808×tamp=1521140380926; BUFLEN:0
Ich denke ich hab es richtig erwischt. Der TV rebooted gleich wieder.
Beim reboot kam nur das: [code]
2018.03.15 20:00:37 4: [STV2] TVSZ online with 192.168.20.50:55000 - HTTP-Response:
Danke fürs Log. Erkennen kann man leider nichts. :'( Ich hadere mit mir, ob ich nun wegen einem Einzelfall nach einem neuen Lösungsweg für die Statusermittlung suchen muss oder ob es evtl. an dem einzelnen TV liegt, an dem man etwas verändern könnte. Postest Du bitte noch Deine firmware.
Firmeware 2011/10/10_003011
Hallo zusammen,
es ist nun möglich ein modifiziertes DLNARenderer-Modul einzusetzen. Das DLNAClient wird dann nicht mehr für die Bildschirmausgaben benötigt.
Näheres findet Ihr hier (https://forum.fhem.de/index.php/topic,12988.msg797645.html#msg797645).
Grüße Markus
Hallo ihr lieben,
ich bin seit einer langen Pause wieder mit FHEM beschäftigt und dachte ich fange mal klein an.
Ich habe einen UE55KU6079 ,
wenn ich per Terminal:
strace -s 300 samsungctl -v --host 192.168.178.55 --method websocket --name ABC KEY_VOLUP 5
absetze funktionieren die Befehle.
In FHEM wird mein TV allerdings als "diconnected" angezeigt. Dort ist er so definiert
define 55SAM STV 192.168.178.55 ws
Wenn ich dennoch probiere diverse set abzusetzen bekomme ich die Rückmeldung "currently not available. Try later." ohne das etwas passiert. Ich habe das gefühl das mein Modul die samsungctl nicht ausführt. Kann aber keinen Punkt finden wo ich diese anbinden kann.
Vielen Dank schon einmal für eure Hilfe.
Wenn ihr noch infos benötigt lasst es mich wissen.
Gruß
MYreal
Wie bist Du denn bei der Installation vorgegangen ? Von wo hast Du das STV-Modul kopiert ?
ZitatWenn ich dennoch probiere diverse set abzusetzen bekomme ich die Rückmeldung "currently not available. Try later." ohne das etwas passiert.
Logisch ;D, da
ZitatIn FHEM wird mein TV allerdings als "diconnected" angezeigt.
Es scheitert also im Augenblick daran, dass Dein TV nicht in den connect-state kommt. :'(
Grüße Markus
Hallo Markus,
ich habe das 70_STV aus Post #48 genommen und dort wie beschrieben use Blocking; hinzugefügt sowie beim aufruf für samsungctl /usr/local/bin/samsungctl
danach reload der 70_STV und alles mal neugestartet
im anschluss den define gemacht
habe nochmals getestet ob ich befehle per console absetzen kann und das geht ohne weiteres.
Wie bezieht das Modul denn den Online status das konnte ich noch nicht rausfinden.
Tausend dank
Aha, nimm mal die Version von
Zitat von: https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704hier
.
ZitatWie bezieht das Modul denn den Online status das konnte ich noch nicht rausfinden.
Wenn er damit immer noch nicht connected(Zugriff auf Port 8001), kann ich weiterhelfen ;)
Tausend Dank.
Es klappt alles. Wow
Eine frage hab ich doch noch :P
Wenn an einem HDMI Port gerade das Gerät nicht eingeschaltet ist, kann ich per set TV HDMI2 nicht dort hinschalten, ich würde gerne die PS4 über den HDMI Port einschalten. Gibt es ein set mit dem ich das umgehen kann habe keinen gefunden.
Danke
Hi,
ganz großes Kompliment für dieses Modul und die Arbeit die darin steckt! Großes Tennis!
ich habe die 70_STV aus Post #298 installiert und ich habe einen UE55K6irgendwas. Also ein 2016er Tizen Modell. Verbindung etc, klappt alles bis auf POWEROFF und POWERON. Das geht beides leider nicht. Wie gesagt alle anderen Befehle gehen. Mache ich was falsch?
Hallo Bugster_de
Also für Power On kannst Du es ja mal mit folgendem Befehl versuchen. {system (qx(etherwake -i eth0 XX:XX:XX:XX:XX:XX))}
Die XX sind die MAC-Adresse, und der TV sollte am LAN hängen. Probiere es mal aus.
Gruß
Gigafix
Das wär vielleicht noch was für ein Attribut 8) Also einfach nur ein Attribut, wo ein FHEM-Befehl eingetragen werden kann. Ohne jegliche Prüfung. Bei POWERON u. vorhandenem Attribut wird dann der Befehl ausgeführt.
Grüße Markus
Hi,
yep, da hätte ich ja auch mal selber drauf kommen können, dass ich mit dem WOL Modul das Ding einschalten kann.
POWEROFF wäre aber auch cool, denn ich bin gerade im Alexa Fieber und somit könnte ich den Fernseher bei "Alexa, sag Haus Gute Nacht" gleich mit ausschalten
Moin moin,
ich habe festgestellt das es alten formen des Moduls noch den Befehl POWER gab, diesen kann man immer noch per set senden, damit bekomme ich meinen ausgeschaltet, solange er als Connected angezeigt wir kann ich ihn auch über POWER einschalten. ist das nicht der fall klappt das eatherwake wunderbar.
Zitatich habe festgestellt das es alten formen des Moduls noch den Befehl POWER gab
Gibt es immer noch. Allerdings nur im "2.Glied" unter G_Others, weil ich davon ausging, dass es keine Funktionalität hat. In einer nächsten Version wird es wieder ins 1. Glied gerückt.
Grüße Markus
Geht nicht. Aufwecken mit WOL geht aber set stv G_Others POWER macht auch nix.
Soll/kann ich irgendwas loggen?
Ich hänge mich auch mal dran. Bei unserem neuen SamsungTV funktionier das POWEROFF sowie POWERON auch nicht, umschalten und Co funktioniert alles ???
Gibt es da schon eine Lösung oder auch Fummel-Anleitungen? Oder kann ich mittels Logfile etwas beitragen?
Hast du den Fernseher zufällig per hdmi am Raspberry? Dann kannst du ja per cec an- und ausschalten.
Bei mir funktioniert POWEROFF allerdings problemlos mit der offiziellen STV-Version
"POWEROFF wäre aber auch cool, denn ich bin gerade im Alexa Fieber und somit könnte ich den Fernseher bei "Alexa, sag Haus Gute Nacht" gleich mit ausschalten"
-> Alexa kannst du mittlerweile in der App "Routinen" unter SmartHome einrichten. Du sagst dann nur noch "Alexa, gute Nacht" und Alexa tut das, was du ihr vorher in die Routine gepackt hast (Licht aus, Fernseher aus, Schlafzimmer Licht an und Alexa antwortet "Schlaf gut" :-D).
Nun zu meinem Problem:
Ich habe die inoffizielle 70_STV.pm eingebaut, um die Benachrichtungen auf dem TV anzeigen zu lassen, allerdings hab ich das Problem "configfile: Cannot load module STV". Berechtigungen der Datei passen.
schon mal versucht mit einem editor zu öffnen?
sieht der inhalt dann plausibel aus?
Japp, alles gecheckt, was es so zu checken gibt. Sieht gut aus. Raspi auch schon rebootet.
An meinen vorigen (noch vorhandenen) defines mit dem offiziellen STV sollte es ja auch nicht liegen. Dann würde ja sicher eine andere Fehlermeldung auftauchen, richtig?
Das Modul konnte ja noch nicht mal geladen werden.
um das auszuschliessen, würde ich die alten defines auskommentieren. das modul wird ja geladen, wenn das erste define in der config das modul benötigt.
Steht da nicht etwas mehr im Log als
ZitatCannot load module STV".
? Das Modul erfordert ja einige spezielle Perl-Module !
Zitat von: retikulum am 16 Juli 2018, 13:40:14
Hast du den Fernseher zufällig per hdmi am Raspberry? Dann kannst du ja per cec an- und ausschalten.
nein. Der FHEM-PI liegt zwar hinter dem Fernseher aber der HDMI Port mit CEC ist schon durch meinen Gaming PC belegt
ZitatBei mir funktioniert POWEROFF allerdings problemlos mit der offiziellen STV-Version
ich meine zwar, dass ich das mal probiert habe, aber ich versuche es zur Sicherheit nochmal
ich hatte bisher verstanden, dass man für das Anzeigen von Benachrichtigungen auf 2016er TVs das inoffizielle STV Modul braucht. Ich interessiere mich eigentlich nur für zwei Features: TV ausschalten und Benachrichtigungen anzeigen
Zitat"POWEROFF wäre aber auch cool, denn ich bin gerade im Alexa Fieber und somit könnte ich den Fernseher bei "Alexa, sag Haus Gute Nacht" gleich mit ausschalten"
-> Alexa kannst du mittlerweile in der App "Routinen" unter SmartHome einrichten. Du sagst dann nur noch "Alexa, gute Nacht" und Alexa tut das, was du ihr vorher in die Routine gepackt hast (Licht aus, Fernseher aus, Schlafzimmer Licht an und Alexa antwortet "Schlaf gut" :-D).
heisst aber ich brauche dann einen Alexa Skill für den Fernseher? Dann würde das wohl gehen.
ZitatNun zu meinem Problem:
Ich habe die inoffizielle 70_STV.pm eingebaut, um die Benachrichtungen auf dem TV anzeigen zu lassen, allerdings hab ich das Problem "configfile: Cannot load module STV". Berechtigungen der Datei passen.
wie oben schon geschrieben: das Modul braucht andere Perl Module, die du mit CPAN installieren musst.
öffne die 70_STV.pm und installiere alle Module, die mit include ganz oben benötigt werden
sudo cpan
install XXXX
exit
wobei XXX durch die jeweiligen Module zu ersetzen ist, die mit include referenziert werden.
Hallo bugster_de,
die Thematik des scheinbar unterschiedlichen Power-Befehls(POWER vs. POWERON/POWEROFF) werde ich entsprechend anpassen.
Meine Problematik ist, dass das Modul die unterschiedlichen Serien(5 Grundformen) unterstützt, ich selber nur eine testen kann, meine freundlichen Tester der anderen "Grundformen" unterschiedliche Reaktionszeiten hatten und ich nun zeitaufwändig gucken muss, welche Version ich anpassen und veröffentlichen kann, ohne dass die den Nutzern mit einer der 5 Grundformen völlig um die Ohren fliegt :(
Im Augenblick schaffe ich das zeitlich nicht :-\
Zitatwie oben schon geschrieben: das Modul braucht andere Perl Module, die du mit CPAN installieren musst.
CPAN ist bei den Meisten aber nicht 1. Wahl. In der Regel haben wir ja RPi's und da wird über apt-... installiert.
Grüße Markus
Hallo,
ich habe 2 Samsung Serie H Modelle am laufen. Die Verbindung funktioniert soweit. Ich kann aber nur einen TV steuern, da ja nur eine Samsung_session_key.txt abgefragt wird.
Ist es möglich zwei Keys in die Datei zu schreiben, oder muss dabei die 70_STV.pm umgeschrieben werden.
Danke für eure Antworten!
Jetzt ist mir ein Workaround zu Deinem Problem eingefallen: Du kopierst Dir die 70_STV.pm als 70_STV_1.pm. Dort änderst Du den String "Samsung_session_key.txt" in "Samsung_session_key1.txt". Die passende Samsung_session_key.txt benennst Du ebenfalls entsprechend um. Und Deine device-definition musst Du dann in
define TV STV_1 ..... ändern.
Grüße Markus
Hi,
danke für deine Antwort!
An sowas hab ich auch schon gedacht, ich werde das mal ausprobieren. Ich sag dann bescheid ob es ging.
Für Leute mit Tizen TVs, hier noch ein kleiner Tipp:
define n_tv_netflix notify tv:netflix {system("curl -sX POST -i '192.168.2.220:8001/ws/apps/Netflix' > /dev/null");;}
attr n_tv_netflix group notifyTV
attr n_tv_netflix room Video
define n_tv_youtube notify tv:youtube {system("curl -sX POST -i '192.168.2.220:8001/ws/apps/YouTube' > /dev/null");;}
attr n_tv_youtube group notifyTV
attr n_tv_youtube room Video
Interessant. Geht wohl leider nur mit DIAL-Apps (http://www.dial-multiscreen.org/home) und selbst diese nicht alle.
(Edit: aber mit einem curl GET lässt sich ermitteln, ob eine App installirt ist und ob sie gerade läuft. Für ALLE Apps.)
Mich wundert immer wieder, was es alles für "Standards" gibt.
und dann darf ich Euch natürlich nicht verschweigen, dass ich endlich stolzer Besitzer der neusten N-Serie bin. Nun kann ich auch das STV einfacher weiter entwickeln. ;D
Wesentliche bisherige Erkenntnisse: Steuerung wie bei der Vorgängerserie. Und an den vorherigen Post angeknüpft: Mir ist positiv die Miracast-Funktionalität (https://de.wikipedia.org/wiki/Miracast) aufgefallen, mit der ich streams auf dem Tablet abspielen und diese mit Tonsteuerung auf den TV spiegeln kann.
Am WE veröffentliche ich eine neue Version des STV.
Grüße Markus
hier nun die neue Version. Bitte erst einmal nur ab E-Serie testen !
Was hat sich verändert:
- In der Definition ist nun der Port anzugeben: 8000 anstatt wse bzw. 8001 anstatt ws
- POWER, HOME, PIP_CHUP, PIP_CHDOWN, PIP_ONOFF haben es in die "1. Reihe" der Befehle geschafft. Auch die Befehle der 2. Reihe(G_....) lassen sich nun ausführen
- Verzögerungszeit 0,3 Sek f. Tizen ab K-Serie aktiviert. Dadurch funktioniert jetzt 0_command_line(Makrofunktion) problemlos
Grüße Markus
PS: Workinprogress: DLNA_Renderer-Implementierung, Ablösung Python-Skript
Edit: Zwischenversion entfernt
Hi Markus,
Ich habe den Thread immer nebenbei verfolgt weil ich mit dem Modul durch meine j Serie und Tizen nichts anfangen konnte.
Sind in den neuen Modul jetzt auch die Tizen Modelle ansprechbar? Oder muss noch etwa nachinstalliert werden?
Danke für die Info und fürs Modul!
Gesendet von meinem SM-G930F mit Tapatalk
ZitatSind in den neuen Modul jetzt auch die Tizen Modelle ansprechbar?
Why not ? Bestimmt schon 2 Jahre wie Du im Thread nachlesen kannst.
Zitatmeine s Serie
:-\ :-\ :-\ :-\
Serie ist der rote Buchstabe: UEzzXYabcd ;)
Edit: Ah geändert auf J. Problemserie. Kann muss aber nicht gehen. Guck mal hier (https://forum.fhem.de/index.php/topic,82890.msg750391.html#msg750391).
Zitat von: KölnSolar am 06 Oktober 2018, 09:56:23
hier nun die neue Version. Bitte erst einmal nur ab E-Serie testen !
Was hat sich verändert:
- In der Definition ist nun der Port anzugeben: 8000 anstatt wse bzw. 8001 anstatt ws
- POWER, HOME, PIP_CHUP, PIP_CHDOWN, PIP_ONOFF haben es in die "1. Reihe" der Befehle geschafft. Auch die Befehle der 2. Reihe(G_....) lassen sich nun ausführen
- Verzögerungszeit 0,3 Sek f. Tizen ab K-Serie aktiviert. Dadurch funktioniert jetzt 0_command_line(Makrofunktion) problemlos
Grüße Markus
PS: Workinprogress: DLNA_Renderer-Implementierung, Ablösung Python-Skript
Bei mir läufts!
Cool wäre ein "set stv connect" um die Verbindung direkt herzustellen, nachdem man den TV startet. Bei mir dauert das dann immer ein wenig...
steht auch noch auf der ToDo. Gab es früher mal und hatte ich der Übersichtlichkeit halber vorerst im Zuge meiner massiven Umbauten entfernt. :'(
Du hast welche Serie ? Ich war überrascht, dass ESAVING mit der N-Serie nicht mehr funktioniert und bin nun über ein Makro gegangen. Geht das bei Dir ? Evtl. mit einem Parameter ?
Hi zusammen,
ich habe nun die aktuellste Version des STV Moduls für FHEM installiert, bekomme aber den Fehler, wenn ich einen Reload in FHEM mache:
Too many arguments for main::STV_55000 at ./FHEM/70_STV.pm line 392, near "$par)"
BEGIN not safe after errors--compilation aborted at ./FHEM/70_STV.pm line 464.
Hat da jemand eine Idee ? :)
PS: Ich nutze einen UE55MU6179UXZG
Kann grundsätzlich nicht sein, da andere das Problem nicht haben.
Zeile 392 sieht in der aktuellsten Version so aus
return ;
kein $par weit und breit :o
Wie sieht Deine Zeile 392(nebst 5 Zeilen vorher/nachher) aus ?
Wenn es dann doch tatsächlich die von mir gestern veröffentlichte Version ist, mach bitte mal einen shutdown/restart. Spätestens dann müsste das Modul laufen.
Guten Morgen Markus,
Kann ich Dich dazu überreden nicht direkt in $hash->{STATE} zu schreiben? Es ist aus Developer Sicht nicht gewünscht Ein Grund ist das so die User keinen eigenen STATE mit stateFormat zusammenstellen können, da das schreiben in $hash->{STATE} das wieder überschreibt. Besser wäre hier das Reading state über die FHEM Funktionen zu setzen.
Grüße
Leon
Hi Leon,
klar kannst Du. ;D Ich glaub in der offiziellen Version ist das schon so und ich hab mir nie was bei gedacht. 8)
Die Behandlung von STATE/state könnte man ruhig ins DevelopmentModuleIntro aufnehmen. ;)
Grüße Markus
Zitat von: KölnSolar am 07 Oktober 2018, 09:17:45
Hi Leon,
klar kannst Du. ;D Ich glaub in der offiziellen Version ist das schon so und ich hab mir nie was bei gedacht. 8)
Die Behandlung von STATE/state könnte man ruhig ins DevelopmentModuleIntro aufnehmen. ;)
Grüße Markus
Hallo Markus,
Ja da gebe ich Dir Recht. Ich habe vor da auch noch andere Sachen mit rein zu nehmen. Aber da muss ich erstmal Absprachen machen. Zum Beispiel würde ich mir Wünschen das in Zukunft mit packages gearbeitet wird und nicht mit eindeutigen Präfix vor den Funktionsnamen.
Grüße
Zitat von: KölnSolar am 07 Oktober 2018, 06:39:14
Kann grundsätzlich nicht sein, da andere das Problem nicht haben.
Zeile 392 sieht in der aktuellsten Version so aus
return ;
kein $par weit und breit :o
Wie sieht Deine Zeile 392(nebst 5 Zeilen vorher/nachher) aus ?
Wenn es dann doch tatsächlich die von mir gestern veröffentlichte Version ist, mach bitte mal einen shutdown/restart. Spätestens dann müsste das Modul laufen.
Habe das File nochmal herunter und hochgeladen.
Ein Reload bringt den Fehler:
Too many arguments for main::STV_55000 at ./FHEM/70_STV.pm line 407, near "$par)"
BEGIN not safe after errors--compilation aborted at ./FHEM/70_STV.pm line 469.
Nach einem shutdown restart läuft es und ich kann den TV definen.
Nach kurzer Zeit ist er auch connected :)
Gewisse Funktionalitäten lassen sich steuern, manche widerum nicht - ich teste mal und berichte dann :)
Zeile 407 ist natürlich etwas anderes. ;) dann nehm ich das "grundsätzlich" zurück. Vermutlich haben die anderen direkt einen shutdown/restart anstatt einem reload gemacht. Hintergrund des "Fehlers" ist, dass sich die Parameteranzahl der Funktion in der neuen Version gegenüber der zuvor installierten Version geändert hat. Da hat Reload dann immer ein Problem mit, also nichts modulspezifisches.
Zitat von: KölnSolar am 06 Oktober 2018, 12:56:20
steht auch noch auf der ToDo. Gab es früher mal und hatte ich der Übersichtlichkeit halber vorerst im Zuge meiner massiven Umbauten entfernt. :'(
Du hast welche Serie ? Ich war überrascht, dass ESAVING mit der N-Serie nicht mehr funktioniert und bin nun über ein Makro gegangen. Geht das bei Dir ? Evtl. mit einem Parameter ?
Ich habe einen UE50MU6179.
ESAVING tut bei mir nichts. Leider geht auch nur HDMI und nicht HDMI1 etc...
Ich hab es geschafft: das Python-Skript samsungctl ist nicht mehr notwendig. Mit der nächsten Version können wir dann auf die etwas komplizierte Installation von Python verzichten. :P
Kommt mit der nächsten Version auch die kürzere Reaktionszeit bis der Status,nach dem Einschalten des TV aktualisiert ist?
Jein.
Der TV sendet ja kein event. Folglich prüft das Modul alle 60 Sek., ob er online ist. In der nächsten Version wird ein querystate-Befehl kommen, mit dem man zusätzlich "manuell" prüfen kann, ob der TV online ist. Wer also ein anderes event(z.B. TV-Steckdose ein) hat, kann somit per notify/DOIF die sofortige Prüfung anstoßen. Ein notwendiges Timelag kann jeder User für seine Umgebung(TV, Netzwerk,etc.) im notify/DOIF anpassen.
Reicht das ?
Zitat von: KölnSolar am 10 Oktober 2018, 01:03:16
Jein.
Der TV sendet ja kein event. Folglich prüft das Modul alle 60 Sek., ob er online ist. In der nächsten Version wird ein querystate-Befehl kommen, mit dem man zusätzlich "manuell" prüfen kann, ob der TV online ist. Wer also ein anderes event(z.B. TV-Steckdose ein) hat, kann somit per notify/DOIF die sofortige Prüfung anstoßen. Ein notwendiges Timelag kann jeder User für seine Umgebung(TV, Netzwerk,etc.) im notify/DOIF anpassen.
Reicht das ?
Genau das mache ich, genau das brauche ich!
ich wär dann soweit, ABER Raymund, dem wir die Ablösung der Pythonskripts zu verdanken haben, hat leider einen Defekt an seinem TV und fällt als Tester für J-,H-Serie aus. Da ich einiges im Code geändert habe, bräuchte ich jemand, der auch schnell mal ne Zeile Code ändern kann. Bei Interesse bitte ne PM mit Mailadresse. Edit: Tests sind angelaufen ;)
Ich hab mich ne Menge mit PIP beschäftigt. Außer PIP_ONOFF, PIP_CHUP, PIP_CHDOWN scheint nichts zu gehen. Oder funktionieren bei Euch weitere ? Ein interessantes Feature ist die Returntaste der alten FB. Durch Dauerdruck lässt sich zwischen den beiden Fenstern in der Art wechseln, dass sämtliche Channelfunktionen(Zifffern, CHxx, ....) auf das gewählte Fenster wirken. Leider bekomme ich es nicht hin, das über FHEM nachzustellen. Es kennt nicht vielleicht jemand einen Befehl dafür ?
Grüße Markus
Edit: per Zufall hab ich festgestellt, dass man den Browser per CONVERGENCE aufrufen kann. Wenn man jetzt noch in die URL-Eingabezeile käme, könnte man auch Nachrichten auf diesem einfachen Weg ausgeben. Der DLNA-Client zickt bei mir nämlich nach dem Motto "geht, geht nicht, geht". Irgendwo ist da im DLNA-Client der Wurm drin. Vermutlich schiebt der DLNA-Client etwas an den TV, obwohl dieser noch gar nicht bereit ist zu empfangen. :'(
Zitat von: KölnSolar am 07 Oktober 2018, 22:21:00
Ich hab es geschafft: das Python-Skript samsungctl ist nicht mehr notwendig. Mit der nächsten Version können wir dann auf die etwas komplizierte Installation von Python verzichten. :P
Moin, falls du noch jemanden zum Testen der aktuellen Q Serie brauchst, sag beschied!
Grüße
Danke fürs Angebot. Q-Serie(QLED) sollte sich ja wie K-N verhalten und die kann ich jetzt ja endlich selber testen ;D
Ich denke, dass die sich lediglich im Befehlsumfang unterscheiden. Interessant fänd ich an der Stelle, ob Du den ausgeschalteten TV mit POWER zum Leben erwecken kannst. Bei meinem N geht es nämlich nicht(bzw. ich habs einmal geschafft, weil der TV vermutlich noch im "shutdown" befindlich war).
Grüße Markus
Zitat von: KölnSolar am 11 Oktober 2018, 08:47:00
Danke fürs Angebot. Q-Serie(QLED) sollte sich ja wie K-N verhalten und die kann ich jetzt ja endlich selber testen ;D
Ich denke, dass die sich lediglich im Befehlsumfang unterscheiden. Interessant fänd ich an der Stelle, ob Du den ausgeschalteten TV mit POWER zum Leben erwecken kannst. Bei meinem N geht es nämlich nicht(bzw. ich habs einmal geschafft, weil der TV vermutlich noch im "shutdown" befindlich war).
Grüße Markus
Ich muss dir ganz ehrlich sagen, dass ich ein wenig darauf spekuliert habe, mit der neuen Version zu testen, gerade weil das gute Stück erst seit Montag seine Arbeit verrichtet, und ich die Installationsprozedur aus dem Wiki noch nicht vollzogen habe. Zusätzlich habe ich noch eine AX4K Box am TV hängen, welche im Zusammenspiel einiges abfängt. Sind zwar nur ein paar Zeilen im Wiki, aber das gute Pferd und so ;-)
Grüße
Ah ;D ;D ;D
Dann musst Du Dich noch ein paar Tage gedulden oder mir ne PM mit Deiner Mail-Adresse schicken. ;)
Hey,
mein Fernseher der Q-Serie ließ sich auch nicht mit dem Befehl POWER zum Leben erwecken. Ich persönlich schalten dem Strom für den Fernseher auch nochmal mit einer Funksteckdose zu, dabei fiel mir auf das sobald der Fernseher Strom bekommt die One-Connect Box startet und wohl nach Updates sucht oder was auch immer. Dieser Vorgang dauert etwa 60 Sekunden, während dieser Zeit war es mir möglich mit dem Pyhton Skript damals den Fernseher einzuschalten. Nach den 60 Sekunden der Stromzufuhr oder nachdem der Fernseher länger als ca. 60 Sekunden im Standby ist war ein einschalten mit dem Befehl POWER über das Python Skript nicht mehr möglich. Wenn man zuvor mal die App von Samsung verwendet hat welche zur Steuerung der Fernseher da ist, fällt einem auf, dass sich der Fernseher auch nicht mit der App einschalten lässt. In der Samsung App lässt sich der Fernseher ohne Probleme ausschalten, dabei wird man allerdings mit darauf hingewiesen, dass ein einschalten über die App nicht möglich sei. Die Erfahrung mit dem einschalten während des Shutdowns habe ich auch gemacht, wenn man den Fernseher ausschaltet und kurz danach wieder einschalten möchte funktioniert das mit dem Befehl POWER. Wenn man den Fernseher allerdings nach den etwa 60 Sekunden wieder einschalten möchte hat das bei mir nur per WOL sehr zuverlässig geklappt. Nach dem Einschalten per WOL fiel mir dann allerdings auf, dass der erste Befehl den ich mit dem Python Skript absetzte nicht "ankam", der zweite allerdings dann immer. Also ich hab leider nur wenig programmiertechnisches Wissen, allerdings würde ich schätzen das mit dem ersten Befehl immer erst eine Verbindung zum Fernseher aufgebaut wird. Ich hoffe das kann auch ein wenig bei der Entwicklung des neuen Moduls beitragen. Sobald dein Modul dann zur Verfügung steht würde ich die Sachen die mir bis jetzt aufgefallen sind nochmal testen. Leider kann ich deine letzte Version nicht testen da ich meinen Pi komplett neu aufgesetzt habe und das Pyhton Skript noch nicht installiert habe.
Ich bekomme beim Senden eines Commands folgende Meldungen im Log:
2018.10.11 17:56:36 5: [STV] first websocket response SamsungTV: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pxbdkfhdfgjlsslZRbK+xOo=
2018.10.11 17:56:36 5: [STV] second websocket response SamsungTV: �${"event":"ms.channel.unauthorized"}
2018.10.11 17:56:36 4: [STV] sending 0
2018.10.11 17:56:36 5: [STV] SamsungTV: 0 sent
2018.10.11 17:56:39 4: [STV] SamsungTV not able to connect to 192.168.178.91:8001 with http://192.168.178.91:8001/ - code: - error: read from http://192.168.178.91:8001 timed out
Was ich freigegeben haben
Allgemein-->Netwerk--> Experteneinstellung-->IP-Fernzugriff=Aktiviert
Allgemein-->Externe Geräteverwaltung-->Geräteverbindungsmanager -->Zugriffsberechtigungen= Immer Ein
list Device
Internals:
CFGFN
DEF 192.168.178.91 8001
Host 192.168.178.91
Mode
NAME SamsungTV
NR 306
Port 8001
STATE connected
TYPE STV
state connected
READINGS:
2018-10-11 17:57:28 state connected
Attributes:
verbose 5
Fehlt hier noch etwas ?
TV Q Serie
Grüße
Du hast FHEM noch nicht auf dem TV authorisiert. Normalerweise kommt beim ersten Zugriff ein Pop-Up, welches Du mit "zulassen" bestätigen musst. Evtl. hast Du auf "verbieten" gedrückt ? Du kannst in der Geräteliste die Devices, die zugelassen/verboten wurden sehen und dort auch ggfs. löschen. Dann das Spiel von vorne.
Grüße Markus
attached die neuste Version.Edit: Bitte vorerst nur mit ab K-Serie testen, da ich nur für diese Serien vorgetestet habe. Wer sich mit den anderen Serien traut, bitte kurzfristiges Feedback hier posten. Zwischenzeitlich hat Gerhard auch H- u. J-Serie erfolgreich getestet. Nur die Makrofunktion macht noch etwas Zicken.
Wahrscheinlich wird ein reload des Moduls nach dem Einspielen in FHEM nicht ausreichen, sondern ein shutdown/restart von FHEM notwendig sein.
Und bedenkt, es handelt sich nach wie vor um eine Entwicklungsversion. Also vor dem Einspielen sicherheitshalber die aktuell installierte Version sichern, um so schnell wie möglich auf einen funktionsfähigen Stand zurückzugehen !!!
Dank an der Stelle, insbesondere an Raymund, der mir erst durch seine Übersetzung des Python-Skripts für H-Serie in Perl, die Ablösung des samsungctl ermöglicht hat, ich einige Programmteile übernehmen konnte und er mir auch sonst mit Rat zur Seite steht. Außerdem an Gerhard fürs testen der H-Serie und bennebartsch für dessen Informationen über App-handling bei Serien ab K. Schließlich an den Urheber Lauri Niskanen, der das samsungctl (https://github.com/Ape/samsungctl) (RC-commands since K-series) entwickelt hat und Shannon Wynter für die Informationen zu den App-commands (https://github.com/Ape/samsungctl/issues/75).
Changes:
All series:
- major changes in program flow
- no longer update of the internal STATE
- Attributes no longer available: setwhenoffline, fork
- command connect removed
- new command querystate: query and change the current state of device(connected/disconnected)
- if state equals disconnected only POWER/POWERON commands allowed
- Macro function command changed: 0_macro instead of 0_command_line( be aware to change your event-triggered definitions) (still blocking !!!)
H-,(J-) series
- major changes in program flow
K- to current series
- samsungctl no longer necessary for websocket-requests; installation of PIP not necessary ;D ;D ;D
- module JSON required to install
- new App functionality:
locate installed apps of TV(only during definition of device or with command querystate, if TV is connected) (blocking !!!)
new commands:
- 0_App_state: check state of app: running/stopped
- 0_App_start: start app
- screen messaging
if optional DLNA device is omitted --> commands caller/screen will run URI's defined with attributes callerURI/screenURI in browser of TV
(no need to define a DLNAClient device)
Ich bin nach wie vor an außergewöhnlichen RC-commands(e.g. press & hold RETURN button, swap PIP-screen PIP_???), Quellangaben, die auf irgendwelche JSON-Funktionen verweisen, die offensichtlich noch nicht im Modul implementiert sind, weiteren Wunsch-Features interessiert.
Viel Spaß
Markus
Edit: Downloadlink entfernt wg. neuer Zwischenversion im Doku-Thread "Zusammenfassende Doku...."
Zitat von: KölnSolar am 11 Oktober 2018, 22:01:27
Du hast FHEM noch nicht auf dem TV authorisiert. Normalerweise kommt beim ersten Zugriff ein Pop-Up, welches Du mit "zulassen" bestätigen musst. Evtl. hast Du auf "verbieten" gedrückt ? Du kannst in der Geräteliste die Devices, die zugelassen/verboten wurden sehen und dort auch ggfs. löschen. Dann das Spiel von vorne.
Grüße Markus
Die Anfrage geht definitiv nicht raus! Wenn ich vom PC aus
http://192.168.178.91:8001/api/v3/
in den Browser eingebe, wird versucht, die Verbindung aufzunehmen. Das sehe ich auch am TV.
Wenn ich dieses Verbindung annehme, kommt allerdings folgendes im Browser zurück
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Wenn ich folgendes eingebe
http://192.168.178.91:8001/api/v2/
kommt vom TV folgendes im Browser zurück, jedoch kommt keine Verbindungsnachricht am TV
FrameTVSupport "false"
GamePadSupport "true"
ImeSyncedSupport "true"
OS "Tizen"
TokenAuthSupport "true"
VoiceSupport "true"
countryCode "DE"
description "Samsung DTV RCR"
developerIP "0.0.0.0"
developerMode "0"
duid "uuid:6xxxxxxxxf56"
firmwareVersion "Unknown"
id "uuid:xxxxxxxxxx56"
ip "192.168.178.91"
model "18_KANTM2_QTV"
modelName "QE75Q6FNA"
name "[TV] Samsung Q6 Series (75)"
networkType "wireless"
resolution "3840x2160"
smartHubAgreement "true"
ssid "e0:xxxxxxxxxx3"
type "Samsung SmartTV"
udn "uuid:68xxxxxxxxxxcf56"
wifiMac "CC:xxxxxxxxxxxx:34"
id "uuid:683xxxxxxxxxxxxxxxxxx16cf56"
isSupport "{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n"
name "[TV] Samsung Q6 Series (75)"
remote "1.0"
type "Samsung SmartTV"
uri "http://192.168.178.91:8001/api/v2/"
version "2.0.25"
Kannst du daraus irgendwelche Schlüsse ziehen?
Ja, dass Du eine Fernsehwand hast. ;D
Spaß beiseite, das
Zitat
Die Anfrage geht definitiv nicht raus! Wenn ich vom PC aus
Code: [Auswählen]
http://192.168.178.91:8001/api/v3/
in den Browser eingebe, wird versucht, die Verbindung aufzunehmen. Das sehe ich auch am TV
suggerierte mir erst, dass einfach nur der Pfad etwas anders ist(v3 anstatt v2).
Ich verste dann aber nicht
ZitatWenn ich folgendes eingebe
Code: [Auswählen]
http://192.168.178.91:8001/api/v2/
kommt vom TV folgendes im Browser zurück, jedoch kommt keine Verbindungsnachricht am TV
Code: [Auswählen]
FrameTVSupport "false"
GamePadSupport "true"
ImeSyncedSupport "true"
OS "Tizen"
TokenAuthSupport "true"
VoiceSupport "true"
countryCode "DE"
description "Samsung DTV RCR"
developerIP "0.0.0.0"
developerMode "0"
duid "uuid:6xxxxxxxxf56"
firmwareVersion "Unknown"
id "uuid:xxxxxxxxxx56"
ip "192.168.178.91"
model "18_KANTM2_QTV"
modelName "QE75Q6FNA"
name "[TV] Samsung Q6 Series (75)"
networkType "wireless"
resolution "3840x2160"
smartHubAgreement "true"
ssid "e0:xxxxxxxxxx3"
type "Samsung SmartTV"
udn "uuid:68xxxxxxxxxxcf56"
wifiMac "CC:xxxxxxxxxxxx:34"
id "uuid:683xxxxxxxxxxxxxxxxxx16cf56"
isSupport "{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n"
name "[TV] Samsung Q6 Series (75)"
remote "1.0"
type "Samsung SmartTV"
uri "http://192.168.178.91:8001/api/v2/"
version "2.0.25
zumal dort v2 zurückgemeldet wird.
Egal, versuch doch mal von v2 auf v3 im Programmcode zu ändern(danach reload nicht vergessen) dann sehen wir, was bei verbose5 im Log kommt.
Edit:
Was wird bei den curl-Befehlen ausgegeben ?
curl -vX GET -i DeineIP:8001/ws/apps/Netflix
curl -vX GET -i DeineIP:8001/api/v2/
curl -vX GET -i DeineIP:8001/api/v3/
@R1k4rd: Guck doch mal bei Deinem Q, was im Browser ausgegeben wird. Bei mir unterscheidet sich zu esjay:
- TokenAuthSupport "true" (habe ich gar nicht)
- model":"18_KANTM2_UHD
- isSupport ....,\"TokenAuthSupport\":\"true\", (habe ich gar nicht)
Zitat von: KölnSolar am 14 Oktober 2018, 20:19:03
Ja, dass Du eine Fernsehwand hast. ;D
Spaß beiseite, das suggerierte mir erst, dass einfach nur der Pfad etwas anders ist(v3 anstatt v2).
Ich verste dann aber nichtzumal dort v2 zurückgemeldet wird.
Egal, versuch doch mal von v2 auf v3 im Programmcode zu ändern(danach reload nicht vergessen) dann sehen wir, was bei verbose5 im Log kommt.
@R1k4rd: Guck doch mal bei Deinem Q, was im Browser ausgegeben wird. Bei mir unterscheidet sich zu esjay:
- TokenAuthSupport "true" (habe ich gar nicht)
- model":"18_KANTM2_UHD
- isSupport ....,\"TokenAuthSupport\":\"true\", (habe ich gar nicht)
;D ;D
2018.10.14 21:16:49 5: [STV] SamsungQLED send to TV: GET /api/v3/channels/samsung.remote.control?name=RkhFxxxxx0ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGxxxxxxxjZQ==
Sec-WebSocket-Version: 13
2018.10.14 21:16:49 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPxxxxxxxK+xOo=
2018.10.14 21:16:49 5: [STV] SamsungQLED second websocket response: �~�{"data":{"clients":[{"attributes":{"name":"RkxxxxxxxZQ=="},"connectTime":1539544608350,"deviceName":"RkhFxxx0ZQ==","id":"947187b-1d5-42ba-9xxxxd30","isHost":false}],"id":"94xxxxxxxba-99c7-xxxxxxxcd30"},"event":"ms.channel.connect"}
2018.10.14 21:16:49 5: [STV] SamsungQLED connected with websocket
2018.10.14 21:16:49 5: [STV] SamsungQLED send payload: {"params":{"to":"host","TypeOfRemote":"SendRemoteKey","event":"ed.installedApp.get"},"method":"ms.channel.emit"}
2018.10.14 21:17:01 5: [STV] response SamsungQLED to write_payload: �
2018.10.14 21:17:01 3: [STV] SamsungQLED timelag to reach all json data for app list might be too small
2018.10.14 21:17:05 4: [STV] SamsungQLED online with 192.168.178.91:8001 - HTTP-Response: 401
2018.10.14 21:17:33 5: [STV] SamsungQLED send to TV: GET /api/v3/channels/samsung.remote.control?name=RkhFTxxxxx90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNxxxxb25jZQ==
Sec-WebSocket-Version: 13
2018.10.14 21:17:33 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLxxxxhZRbK+xOo=
2018.10.14 21:17:33 5: [STV] SamsungQLED second websocket response: �~�{"data":{"clients":[{"attributes":{"name":"RkxxxxZQ=="},"connectTime":1539544652697,"deviceName":"Rxxxxxx0ZQ==","id":"f19e6xxxxxxxfcc585","isHost":false}],"id":"f19exxxxx966-b5687ffcc585"},"event":"ms.channel.connect"}
2018.10.14 21:17:33 5: [STV] SamsungQLED connected with websocket
2018.10.14 21:17:33 5: [STV] SamsungQLED send payload: {"method":"ms.channel.emit","params":{"event":"ed.installedApp.get","to":"host","TypeOfRemote":"SendRemoteKey"}}
2018.10.14 21:17:45 5: [STV] response SamsungQLED to write_payload: �
2018.10.14 21:17:45 3: [STV] SamsungQLED timelag to reach all json data for app list might be too small
Habe Zeile 544 in folgendes geändert, und oben stehende Ausgabe erhalten. Jedoch wieder ohne Meldung am TV
else {$webclient_header = "GET /api/v3/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1\r\n"};
Grüße
Das sieht gut aus. Du hast aber gar keinen RC-Befehl sondern querystate abgesetzt, oder ?
aber wg. App-functionality
ZitatSamsungQLED timelag to reach all json data for app list might be too small
setz den Wert des sleep(ca. 10 Zeilen höher als der Log-Befehl) mal höher
Hey,
erstmal vielen Dank für die Entwicklung des Moduls, auch an all die anderen die geholfen haben. Echt Klasse, ich konnte jetzt damit endlich meinen Harmony Hub ablösen (;
Bei mir funktioniert soweit alles super, klar einige Befehle funktionieren nicht aber so war es beim Python Skript ja auch. Auch das Starten von Apps mit dem Modul klappt reibungslos bei mir. Was dein Modul besser macht, was ich bis jetzt festgestellt habe, ist folgendes: soweit ich mich erinnern kann, hat das Python Skript nicht dauerhaft die Verbindung zum Fernseher gehalten dein Modul aber bekommt es hin. Außerdem finde ich das die Befehle deutlich schneller funktionieren.
Wenn ich http://192.168.178.7:8001/api/v3/
eingebe erhalte ich auch die Zugriffsanfrage auf dem Fernseher, nehme ich diese an erhalte ich folgende Meldung im Browser:
<html><body>404</body></html>
Bei http://192.168.178.7:8001/api/v2/
model":"17_KANTM_UHD"
isSupport":"{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n","
Punkte wie "TokenAuthSupport" sind nicht bei mir dabei, der Rest ist komplett gleich zu dem was Esjay geschickt hat.
Liebe Grüße Richard
Zitat von: R1k4rd am 15 Oktober 2018, 18:42:33
Hey,
erstmal vielen Dank für die Entwicklung des Moduls, auch an all die anderen die geholfen haben. Echt Klasse, ich konnte jetzt damit endlich meinen Harmony Hub ablösen (;
Bei mir funktioniert soweit alles super, klar einige Befehle funktionieren nicht aber so war es beim Python Skript ja auch. Auch das Starten von Apps mit dem Modul klappt reibungslos bei mir. Was dein Modul besser macht, was ich bis jetzt festgestellt habe, ist folgendes: soweit ich mich erinnern kann, hat das Python Skript nicht dauerhaft die Verbindung zum Fernseher gehalten dein Modul aber bekommt es hin. Außerdem finde ich das die Befehle deutlich schneller funktionieren.
Wenn ich http://192.168.178.7:8001/api/v3/
eingebe erhalte ich auch die Zugriffsanfrage auf dem Fernseher, nehme ich diese an erhalte ich folgende Meldung im Browser:
<html><body>404</body></html>
Bei http://192.168.178.7:8001/api/v2/
model":"17_KANTM_UHD"
isSupport":"{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n","
Punkte wie "TokenAuthSupport" sind nicht bei mir dabei, der Rest ist komplett gleich zu dem was Esjay geschickt hat.
Liebe Grüße Richard
Kannst du mal ein Verbose Log 5 zeigen, wenn du einen Command schickst?
Bei mir sieht es wie folgt aus.
2018.10.15 18:44:16 4: [STV] SamsungQLED online with 192.168.178.91:8001 - HTTP-Response: 401
2018.10.15 18:44:18 5: [STV] SamsungQLED command VOLDOWN parameter
2018.10.15 18:44:18 5: [STV] SamsungQLED send to TV: GET /api/v3/channels/samsung.remote.control?name=Rkhxxxx90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIxxxBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.15 18:44:18 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMxxxxxK+xOo=
2018.10.15 18:44:18 5: [STV] SamsungQLED second websocket response: �~{"data":{"clients":[{"attributes":{"name":"RkhFTxxxxxx90ZQ=="},"connectTime":1539621857695,"deviceName":"xxxxx==","id":"dead336xxxd4fbf911","isHost":false}],"id":"dexxxx60-478a-a334-xxxx911"},"event":"ms.channel.connect"}
2018.10.15 18:44:18 5: [STV] SamsungQLED connected with websocket
2018.10.15 18:44:18 4: [STV] SamsungQLED sending VOLDOWN
2018.10.15 18:44:18 5: [STV] SamsungQLED send payload: {"method":"ms.remote.control","params":{"Cmd":"Click","Option":"false","TypeOfRemote":"SendRemoteKey","DataOfCmd":"KEY_VOLDOWN"}}
Ich bekomme aber weiterhin keine Nachricht am TV, welche die Freigabeanfrage an den TV schickt >:( :(
Hallo zusammen (vorallem H- & J-Serie)
die jetzige Version = 3.0 ist von mir mit der H- und J-Serie getestet, und dank Markus funktioniert Alles wunderbar
bis auf 0_macro wo nur der erste Befehl abgearbeitet wird.
Wie sich herausgestellt hat, ist die Zeit der sleep Funktion in Zeile 363 für die h & J zu kurz!
Da werde ich die optimale zeit eroiren und Markus dies mitteilen, damit das Modul angepasst werden kann.
Gerhard
ZitatKannst du mal ein Verbose Log 5 zeigen, wenn du einen Command schickst?
Richards Log wir nicht anders aussehen. lt. Deinem Log hat der Rpi die Berechtigung. Nimm Doch mal eine Ziffer als command, dass Du auch wirklich "merkst", ob etwas am TV passiert.
ZitatWas dein Modul besser macht, was ich bis jetzt festgestellt habe, ist folgendes: soweit ich mich erinnern kann, hat das Python Skript nicht dauerhaft die Verbindung zum Fernseher gehalten dein Modul aber bekommt es hin. Außerdem finde ich das die Befehle deutlich schneller funktionieren.
Gut aufgepasst. ;) Das ist jetzt tatsächlich ein Unterschied. Früher habe ich ja je Befehl das samsungctl aufrufen müssen, also immer kompletter Auf- u. Abbau der Verbindung je RC-Befehl. Jetzt wird die Verbindung nur noch einmal je set auf- u. abgebaut. Und die performance ist jetzt vermutlich besser, weil ja der Python-Interpreter nicht mehr aufgerufen wird ;D Allerdings wird bei der Makrofunktion ein 0,3-Sekunden-sleep je Komma durchlaufen, da wir sonst zu schnell für den TV sind. ::)
Zitat(vorallem H- & J-Serie)
Prima ;D
Vll liegt es daran, dass ich noch einen Sat-Receiver dran habe?!
Es passiert nichts, egal welchen Befehl ich sende!
Ich gebe gleich auf ;D :D
Grüße
hier die ersten Ergebnisse:
0_macro 1,,,,0
sleep(0.9): (geht nicht!!!!)
2018.10.15 20:06:20 5: [STV] SamsungLED55 command 0_macro parameter 1,,,,0
2018.10.15 20:06:20 5: session_key: 78A5AF9FAF534AC62F858B23296F97B6
2018.10.15 20:06:20 5: session_id: 5
2018.10.15 20:06:20 5: [STV] SamsungLED55: generate command for key 'KEY_1'
2018.10.15 20:06:20 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:06:20 5: [STV] SamsungLED55: command: ''
2018.10.15 20:06:20 5: [STV] SamsungLED55: command: ''
2018.10.15 20:06:20 5: [STV] SamsungLED55: command: ''
2018.10.15 20:06:20 5: [STV] SamsungLED55: generate command for key 'KEY_0'
2018.10.15 20:06:20 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:06:20 4: [STV] SamsungLED55: websocket path /socket.io/1/websocket/rKkV1qqyVHowzPz4Y__f
2018.10.15 20:06:20 5: [STV] SamsungLED55 send to TV: GET /socket.io/1/websocket/rKkV1qqyVHowzPz4Y__f HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.15 20:06:20 5: [STV] SamsungLED55 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.10.15 20:06:20 5: [STV] SamsungLED55 second websocket response: �1::
2018.10.15 20:06:20 5: [STV] SamsungLED55 connected with websocket
2018.10.15 20:06:20 4: [STV] SamsungLED55 sending KEY_1
2018.10.15 20:06:20 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
2018.10.15 20:06:20 4: [STV] SamsungLED55 sending pause
2018.10.15 20:06:20 4: [STV] SamsungLED55 sending pause
2018.10.15 20:06:20 4: [STV] SamsungLED55 sending pause
2018.10.15 20:06:20 4: [STV] SamsungLED55 sending KEY_0
2018.10.15 20:06:20 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
0_macro 1,,,,0
sleep(1.0); (geht!!!!)
2018.10.15 20:13:00 5: [STV] SamsungLED55 command 0_macro parameter 1,,,,0
2018.10.15 20:13:00 5: session_key: 78A5AF9FAF534AC62F858B23296F97B6
2018.10.15 20:13:00 5: session_id: 5
2018.10.15 20:13:00 5: [STV] SamsungLED55: generate command for key 'KEY_1'
2018.10.15 20:13:00 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:13:00 5: [STV] SamsungLED55: command: ''
2018.10.15 20:13:00 5: [STV] SamsungLED55: command: ''
2018.10.15 20:13:00 5: [STV] SamsungLED55: command: ''
2018.10.15 20:13:00 5: [STV] SamsungLED55: generate command for key 'KEY_0'
2018.10.15 20:13:00 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:13:00 4: [STV] SamsungLED55: websocket path /socket.io/1/websocket/hmx43BBYiIflP3J7Y__g
2018.10.15 20:13:00 5: [STV] SamsungLED55 send to TV: GET /socket.io/1/websocket/hmx43BBYiIflP3J7Y__g HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.15 20:13:00 5: [STV] SamsungLED55 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.10.15 20:13:00 5: [STV] SamsungLED55 second websocket response: �1::
2018.10.15 20:13:00 5: [STV] SamsungLED55 connected with websocket
2018.10.15 20:13:00 4: [STV] SamsungLED55 sending KEY_1
2018.10.15 20:13:00 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
2018.10.15 20:13:01 4: [STV] SamsungLED55 sending pause
2018.10.15 20:13:02 4: [STV] SamsungLED55 sending pause
2018.10.15 20:13:03 4: [STV] SamsungLED55 sending pause
2018.10.15 20:13:04 4: [STV] SamsungLED55 sending KEY_0
2018.10.15 20:13:04 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
2018.10.15 20:13:30 5: [STV] SamsungLED55 command 0_macro parameter 1,0
2018.10.15 20:13:30 5: session_key: 78A5AF9FAF534AC62F858B23296F97B6
2018.10.15 20:13:30 5: session_id: 5
2018.10.15 20:13:30 5: [STV] SamsungLED55: generate command for key 'KEY_1'
2018.10.15 20:13:30 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:13:30 5: [STV] SamsungLED55: generate command for key 'KEY_0'
2018.10.15 20:13:30 5: [STV] SamsungLED55: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}'
2018.10.15 20:13:30 4: [STV] SamsungLED55: websocket path /socket.io/1/websocket/vOVls4z96nauuNXbY__h
2018.10.15 20:13:30 5: [STV] SamsungLED55 send to TV: GET /socket.io/1/websocket/vOVls4z96nauuNXbY__h HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.15 20:13:30 5: [STV] SamsungLED55 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.10.15 20:13:30 5: [STV] SamsungLED55 second websocket response: �1::
2018.10.15 20:13:30 5: [STV] SamsungLED55 connected with websocket
2018.10.15 20:13:30 4: [STV] SamsungLED55 sending KEY_1
2018.10.15 20:13:30 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,230,63,36,84,57,147,89,118,211,164,138,255,133,47,195,100,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
2018.10.15 20:13:31 4: [STV] SamsungLED55 sending KEY_0
2018.10.15 20:13:31 5: [STV] SamsungLED55 send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":5,"body":"[125,193,64,196,125,28,182,31,46,162,235,210,164,92,143,28,141,25,251,154,104,99,74,94,140,245,220,86,69,11,242,248,148,211,202,175,139,131,81,182,24,26,232,165,213,144,81,131,27,72,157,71,87,86,222,208,31,161,34,117,153,100,228,142,104,157,172,196,114,142,34,86,116,189,52,76,148,214,233,59,140,159,244,10,251,130,32,100,164,178,203,209,25,93,230,196,23,209,235,78,162,218,212,14,94,44,204,217,141,238,112,151,108,165,81,233,108,71,53,223,58,118,104,97,27,4,194,181,50,222,87,45,252,87,64,234,45,160,125,70,137,122,138,27,136,209,24,50,67,93,143,155,18,154,145,250,74,157,22,62,64,141,39,167,151,215,249,88,33,7,191,10,204,90,245,100]"}]}
es scheint, dass sleep(0.X) irgendwie nicht greift?!, erst bei sleep(X.Y) X>=1 ?!
Serie J muss ich noch testen!!
Gerhard
o.k. J-Serie same procedure!
ZitatIch gebe gleich auf ;D :D
Nix da, den kriegen wir in den Griff. Hast Du nachdem Du über v3 den Zugriff authorisiert hast noch einmal mit v2 im Programmcode probiert ?
Zitates scheint, dass sleep(0.X) irgendwie nicht greift?!, erst bei sleep(X.Y) X>=1 ?!
sehe ich auch so. Demnach
Zitat•sleep EXPR
•sleep
Causes the script to sleep for (integer) EXPR seconds, or forever if no argument is given. Returns the integer number of seconds actually slept.
kann es auch gar nicht gehen.
Aber warum geht es dann bei mir mit Sekundenbruchteilen ???:-\???
Egal, probieren wir es einfach mit dem FHEM-sleep...
Ok,dann mal auf auf ;D.
Was mich wundert, ist dieser Teil.
2018.10.15 20:33:13 4: [STV] SamsungQLED online with 192.168.178.91:8001 - HTTP-Response: 401
Sagt das HTTP-Response: 401 nicht einen Verbindungsfehler aus?
Ok, nächster Versuch mit V2 im Modulcode
2018.10.15 21:34:26 5: [STV] SamsungQLED send to TV: GET /api/v2/channels/samsung.remote.control?name=Rkhxxxxxxx0ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIxxxxxxxxxx5jZQ==
Sec-WebSocket-Version: 13
2018.10.15 21:34:26 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMxxxxxxxxxxRbK+xOo=
2018.10.15 21:34:27 5: [STV] SamsungQLED second websocket response: �${"event":"ms.channel.unauthorized"}
2018.10.15 21:34:27 5: [STV] SamsungQLED connected with websocket
2018.10.15 21:34:27 4: [STV] SamsungQLED sending 0
2018.10.15 21:34:27 5: [STV] SamsungQLED send payload: {"method":"ms.remote.control","params":{"DataOfCmd":"KEY_0","TypeOfRemote":"SendRemoteKey","Option":"false","Cmd":"Click"}
Nächster Versuch mit V3
018.10.15 21:37:50 5: [STV] SamsungQLED send to TV: GET /api/v3/channels/samsung.remote.control?name=RkhFxxxxxxZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlxxxxxxxxx25jZQ==
Sec-WebSocket-Version: 13
2018.10.15 21:37:50 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLxxxxxxxxbK+xOo=
2018.10.15 21:37:50 5: [STV] SamsungQLED second websocket response: �~{"data":{"clients":[{"attributes":{"name":"RkxxxxxxxxZQ=="},"connectTime":1539632270592,"deviceName":"RkhFTVJlbW90ZQ==","id":"15a56xxxxxxxx6f48e","isHost":false}],"id":"15a5xxxxxxxx-b1f8-95xxxxxxxe"},"event":"ms.channel.connect"}
2018.10.15 21:37:50 5: [STV] SamsungQLED connected with websocket
2018.10.15 21:37:50 4: [STV] SamsungQLED sending 0
2018.10.15 21:37:50 5: [STV] SamsungQLED send payload: {"params":{"DataOfCmd":"KEY_0","Option":"false","TypeOfRemote":"SendRemoteKey","Cmd":"Click"},"method":"ms.remote.control"}
Anschließend wieder V2
2018.10.15 21:41:00 4: [STV] SamsungQLED online with 192.168.178.91:8001 - HTTP-Response: 401
2018.10.15 21:41:04 5: [STV] SamsungQLED command 0 parameter
2018.10.15 21:41:04 5: [STV] SamsungQLED send to TV: GET /api/v2/channels/samsung.remote.control?name=RkxxxxxxxZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhxxxxxxxxjZQ==
Sec-WebSocket-Version: 13
2018.10.15 21:41:04 5: [STV] SamsungQLED first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pxxxxxxxxRbK+xOo=
2018.10.15 21:41:04 5: [STV] SamsungQLED second websocket response: �${"event":"ms.channel.unauthorized"}
2018.10.15 21:41:04 5: [STV] SamsungQLED connected with websocket
2018.10.15 21:41:04 4: [STV] SamsungQLED sending 0
2018.10.15 21:41:04 5: [STV] SamsungQLED send payload: {"method":"ms.remote.control","params":{"Option":"false","TypeOfRemote":"SendRemoteKey","Cmd":"Click","DataOfCmd":"KEY_0"}}
Fehlen mir evtl Perl Module?
App::cpanminus
Class::Inspector
Crypt::CBC
Crypt::Rijndael
Crypt::Rijndael_PP
CryptX
Data::UUID
Devel::Leak::Module
Digest::MD5
IO::SessionData
IPC::Run3
JSON::Parse
Math::Round
Perl
Probe::Perl
SOAP::Lite
Sub::Uplevel
Task::Weaken
Test::Requires
Test::Script
Test::Simple
Test::Warn
URI::Escape::XS
XML::Parser::Lite
Grüße
ZitatSagt das HTTP-Response: 401 nicht einen Verbindungsfehler aus?
Eigentlich schon. Aber das ist nur die Prüfung für den connect status. Da reicht mir jede Antwort.
Zitat
Fehlen mir evtl Perl Module?
Nein. unsauber programmiert=Absturz, sauber programmiert=Logausgabe
Aber ok er will nicht. v2 geht gar nicht und v3 sieht anhand des Loggings gut aus. Nun die Geheimwaffe, nach der ich jetzt wieder stundenlang gesucht habe :'(
Guck Dir das mal an: https://developer.samsung.com/tv/develop/extension-libraries/smart-view-sdk/receiver-apps/debugging
Geh nach der Anleitung vor und Du hast eine Debuggingconsole auf dem PC. Dann das RC-command ausführen und von unten nach oben lesen.
hab einen SamsungTV J-Series und würde den gerne in FHEM einrichten um über FHEM die App Netflix starten zu können. Hab auch versucht mich hier reinzulesen aber finde den Ansatzpunkt nicht (was genau muss definiert werden).
hab bisher nur die neue 70_STV geladen und "define SamsungTV meineip 8000" eingeben. Es kommt auch ein "connected" aber keine Readings oder sonstiges.
Wie mache ich weiter bzw. wo finde ich die aktuelle Anleitung im Forum?
mehr ist es auch nicht nötig.
dein J ist jetzt in FHEM eingebunden.
die Steuerung des TVs geht über den set Befehl.
probiere mal alle set Befehle aus, und bei Bedarf hier in Forum nachfragen.
Gerhard
und das
ZitatJ-Series und würde den gerne in FHEM einrichten um über FHEM die App Netflix starten
geht natürlich dann nur über die Makrofunktion. Nur ab K-Serie gibt es den Befehl 0_app_start. Infos stehen in der commandref, im Wiki(könnte mal wieder überarbeitet werden 8)) und hier (//http://).
Zitat von: KölnSolar am 15 Oktober 2018, 22:52:34
Eigentlich schon. Aber das ist nur die Prüfung für den connect status. Da reicht mir jede Antwort.
Nein. unsauber programmiert=Absturz, sauber programmiert=Logausgabe
Aber ok er will nicht. v2 geht gar nicht und v3 sieht anhand des Loggings gut aus. Nun die Geheimwaffe, nach der ich jetzt wieder stundenlang gesucht habe :'(
Guck Dir das mal an: https://developer.samsung.com/tv/develop/extension-libraries/smart-view-sdk/receiver-apps/debugging
Geh nach der Anleitung vor und Du hast eine Debuggingconsole auf dem PC. Dann das RC-command ausführen und von unten nach oben lesen.
Hey, ich danke dir erstmal für deine Mühe. Ich habe vergeblich versucht die Kommunikation zu Debuggen. Ich konnte den TV nicht mal dazu überreden, sich mit ner Stinknormalen App zu verbinden. Aus der Konsequenz heraus, und auf Grund des nicht zufriedenstellen Bildes habe ich die "Wand" wieder eingepackt, und gen Händler geschickt. Bin jetzt wieder auf meiner alten H Serie, und da hat es keine 2 Minuten gedauert, bis die Verbindung stand!
Grüße
Zitat von: Gerhard am 16 Oktober 2018, 22:15:34
mehr ist es auch nicht nötig.
dein J ist jetzt in FHEM eingebunden.
die Steuerung des TVs geht über den set Befehl.
probiere mal alle set Befehle aus, und bei Bedarf hier in Forum nachfragen.
Gerhard
erst mal Danke für die schnelle Antwort! Hab Set-Befehle probiert aber bekommt nur folgende Nachricht:
[STV] samsungTV: ERROR cannot open file for input the session key.
Kopier dir das Perl Script welches im wiki hinterlegt ist an einen Ort deiner wahl auf deinem fhem Server, anschließent über das Terminal in den Ordner wechseln, und " sudo perl regapp.pl" eingeben, danach sollte der Rest klappen!
Grüße
ZitatIch konnte den TV nicht mal dazu überreden, sich mit ner Stinknormalen App zu verbinden.
Das find ich schon irritierend, dass noch nicht einmal die "Standard-Apps" verbinden konnten. :o
ZitatIch habe vergeblich versucht die Kommunikation zu Debuggen.
Das Log des TV hattest Du auf dem PC, aber keine Reaktion auf App- oder FHEM-Befehle ?
In den state connected kamst Du aber ? Würde ja einfach nur bedeuten, dass die Netzwerkverbindung stand.
also....
hab jetzt über Port 8001 connected und es kommen keine Fehlermeldungen mehr wenn ich ein Befehl absende. Aber es passiert auch nichts. Vorhin hatte ich kurz eine alte 70_STV-Version drauf die auf Port WS/WSE lief. Dort konnte ich kurz das Menü öffnen. Hat aber auch nur sporadisch geklappt. Denke ich hab jetzt wieder die aktuelle Version drauf aber wieder keine Funktion leider:-( hab übrigens ein UExxJU7090
Was steht denn in der commandref zu Port ::)
für J-series nichts. Da stehen nur die alten Ports. Aber in einem Post von dir (https://forum.fhem.de/index.php/topic,82890.msg750392.html#msg750392 (https://forum.fhem.de/index.php/topic,82890.msg750392.html#msg750392)) standen die ports 8000 und 8001 die man mit der neuen pm nutzen muss. WS und WSE sind auch von einer älteren Version gewesen.
Ganz ehrlich: gefühlt gibt es tausend Beiträge zu dem Thema und es ist echt schwer, das aktuellste zu finden. Zum Beispiel gab es mehrfach eine Verlinkung auf einen Beitrag wo das aktuelle sein sollte, dort war aber gar nichts mehr angehängt. Vielleicht sollte man es analog zu anderen Threads machen: den ersten Post als kurze Anleitung mit allen erforderlichen Dateien. Und den dann immer editieren.
Grüße
Stephan
Hi, also ich habe es geschafft meinen js8090 zu connecten. Habe auch etwas suchen müssen.
Die aktuelle perl Datei zum Erzeugen des keys war einige Posts weiter als der Link aus dem wiki.
Auch nicht ganz richtig war, dass die erzeugte Schlüsseldatei in das Verzeichnis von fhem.cfg sein muss. Aus der neuen 70_stv.pm geht hervor dass es das selbe Verzeichnis ist wo alle Module in Fhem liegen. Also i.d.R. opt/fhem/FHEM.
Ich habe meine j Serie mit dem port 8000 definiert. Wichtig ist Neustarts auszuführen.
Allgemein finde ich es super dass ihr euch alle mit der Erstellung von Modulen und Schnittstellen anderer Hersteller auseinander setzt und die Community da sehr von profitiert. Für stv und meiner j Serie muss ich aber sagen, dass ich hier zu wenige Dinge tun kann. Sobald mein TV aus war, könnte ich ihn nicht mehr über das Netzwerk einschalten.
Ich habe damals schon einen Harmony hub gekauft und habe damit eine vollumfängliche Integration. Zwar nur über ir aber für mich super.
Ich hoffe dass die neueren Geräte da etwas mehr Funktionen anbieten.
Gruß
Patrick
Gesendet von meinem SM-G930F mit Tapatalk
Zitat von: Kamik am 19 Oktober 2018, 21:22:41
das selbe Verzeichnis ist wo alle Module in Fhem liegen. Also i.d.R. opt/fhem/FHEM.
hat leider nicht geklappt. Port 8000 oder 8001 macht auch keinen Unterschied. Er zeigt "Connected" an aber es passiert nicht bei den Set-Befehlen. Vielleicht hab ich doch noch die falsche Modul-Datei? hier gab es doch irgendwas mit v3 für J-Serie... woran erkenne ich welche Version ich habe?
Zitat von: StephanFHEM am 19 Oktober 2018, 21:46:00
hat leider nicht geklappt. Port 8000 oder 8001 macht auch keinen Unterschied. Er zeigt "Connected" an aber es passiert nicht bei den Set-Befehlen. Vielleicht hab ich doch noch die falsche Modul-Datei? hier gab es doch irgendwas mit v3 für J-Serie... woran erkenne ich welche Version ich habe?
Lösche mal dass komplette device. Dann "shutdown reboot" (tut gut) und dann das define neu anlegen. Das ändern im DEF im device hat bei mir auch nicht funktioniert.
Der Link für die aktuelle 70_stv Datei im Wiki stimmt auch nicht mehr.
Ich habe die Version auf Seite 26 postnummer #386 verwendet.
Ansonsten nochmal schauen was im fhemlog steht.
Gruß Patrick
Gesendet von meinem SM-G930F mit Tapatalk
Zitatfür J-series nichts.
Entweder ist Deine Aussage falsch oder Du hast nicht die aktuelle Version installiert oder Du hast tatsächlich eine dieser J-Serie, die nicht funktionieren. Log-Auszug mit verbose5 wäre hilfreich.
ZitatIch habe die Version auf Seite 26 postnummer #386 verwendet.
ist richtig.
ZitatAuch nicht ganz richtig war, dass die erzeugte Schlüsseldatei in das Verzeichnis von fhem.cfg sein muss. Aus der neuen 70_stv.pm geht hervor dass es das selbe Verzeichnis ist wo alle Module in Fhem liegen. Also i.d.R. opt/fhem/FHEM.
Das ist falsch.
ZitatLösche mal dass komplette device. Dann "shutdown reboot" (tut gut) und dann das define neu anlegen. Das ändern im DEF im device hat bei mir auch nicht funktioniert.
Auch das ist falsch.
ZitatFür stv und meiner j Serie muss ich aber sagen, dass ich hier zu wenige Dinge tun kann. Sobald mein TV aus war, könnte ich ihn nicht mehr über das Netzwerk einschalten.
Ich habe damals schon einen Harmony hub gekauft und habe damit eine vollumfängliche Integration. Zwar nur über ir aber für mich super.
Einschalten geht wohl auch nicht mit der Harmony. ::) Die hier oft diskutierten Workarounds: schaltbare Steckdose, WOL, CEC ;)
Nachteile Harmony: kostet, IR, keine messages, keine makros, keine Tastatur
ZitatDer Link für die aktuelle 70_stv Datei im Wiki stimmt auch nicht mehr.
Gut möglich. Darf jeder ändern.
Grüße Markus
ich hab die richtige 70_STV.pm genommen.
mit Port 8001 kommt mit Verbose 5 ein "HTTP-Response: 404" mit Port 8000 passiert mehr mit Response 200. Denke das ist dann wohl der richtige Port. Dennoch passiert am TV nichts. Anbei das log dazu mit dem Versuch das Menü zu öffnen.
2018.10.20 16:06:28 3: [STV] samsungTV defined with host: 192.168.xxx.xxx port: 8000
2018.10.20 16:06:28 4: [STV] samsungTV online with 192.168.xxx.xxx:8000 - HTTP-Response: 200
2018.10.20 16:07:28 4: [STV] samsungTV online with 192.168.xxx.xxx:8000 - HTTP-Response: 200
2018.10.20 16:08:28 4: [STV] samsungTV online with 192.168.xxx.xxx:8000 - HTTP-Response: 200
2018.10.20 16:08:39 5: [STV] samsungTV command MENU parameter
2018.10.20 16:08:39 5: session_key: 10B4425A4F16C8D396DxxxxxxxxxxxBA
2018.10.20 16:08:39 5: session_id: 1
2018.10.20 16:08:39 5: [STV] samsungTV: generate command for key 'KEY_MENU'
2018.10.20 16:08:39 5: [STV] samsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[185,178,164,62,192,203,84,138,179,131,181,225,116,199,32,76,58,43,208,7,177,164,85,229,52,16,229,15,51,215,71,77,124,124,11,136,85,3,71,62,158,5,99,175,219,99,86,165,218,181,159,212,35,216,28,132,152,107,225,19,128,247,45,64,118,71,75,195,207,59,29,176,179,43,142,97,92,170,170,73,140,171,20,186,248,25,222,24,110,57,50,244,71,71,91,250,132,180,244,80,132,144,177,34,233,123,181,93,132,178,201,16,190,168,181,112,226,57,70,58,26,181,162,13,11,50,72,143,185,14,179,92,19,70,250,239,14,143,251,245,44,179,166,61,83,5,60,241,137,75,18,192,16,9,129,83,18,202,28,72,180,122,84,208,86,131,119,96,247,37,208,183,26,233,185,45]"}]}'
2018.10.20 16:08:39 4: [STV] samsungTV: websocket path /socket.io/1/websocket/9rXC-Exxxxxxxxxx4zjv
2018.10.20 16:08:39 5: [STV] samsungTV send to TV: GET /socket.io/1/websocket/9rXC-Exxxxxxxxxx4zjv HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGxxxHNhbxxxxxBub25xxxxx
Sec-WebSocket-Version: 13
2018.10.20 16:08:39 5: [STV] samsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pxxxxxxxxxaQ9kYxxxxxxxxxxxx
2018.10.20 16:08:39 5: [STV] samsungTV second websocket response: �1::
2018.10.20 16:08:39 5: [STV] samsungTV connected with websocket
2018.10.20 16:08:39 4: [STV] samsungTV sending KEY_MENU
2018.10.20 16:08:39 5: [STV] samsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[185,178,164,62,192,203,84,138,179,131,181,225,116,199,32,76,58,43,208,7,177,164,85,229,52,16,229,15,51,215,71,77,124,124,11,136,85,3,71,62,158,5,99,175,219,99,86,165,218,181,159,212,35,216,28,132,152,107,225,19,128,247,45,64,118,71,75,195,207,59,29,176,179,43,142,97,92,170,170,73,140,171,20,186,248,25,222,24,110,57,50,244,71,71,91,250,132,180,244,80,132,144,177,34,233,123,181,93,132,178,201,16,190,168,181,112,226,57,70,58,26,181,162,13,11,50,72,143,185,14,179,92,19,70,250,239,14,143,251,245,44,179,166,61,83,5,60,241,137,75,18,192,16,9,129,83,18,202,28,72,180,122,84,208,86,131,119,96,247,37,208,183,26,233,185,45]"}]
Hallo Stephan,
das sieht eigentlich gut aus. :-\
Ich denke zwar nicht, dass es an der "Taste" MENU liegt. Aber da kein Mensch weiß, welche Tasten/TV unterstützt werden, ist es sinnvoller mit einer der Zifferntasten zu testen.
Ansonsten habe ich erst Mal keine Idee. Du könntest es mit dem Logging auf dem TV probieren, um zu sehen wie dieser reagiert. Ich hatte dazu Esjay weiter oben einen Link eingestellt.
Grüße Markus
Hatte natürlich noch andere Tasten probiert. Menü war nur ein Beispiel. Werd mir das mit dem Link mal anschauen wenn ich Zeit habe. Wollte an den TV eh noch ran mit SamyGo. Aber die haben für die J-Serie noch nichts veröffentlicht...
Hallo Markus, hallo Forum,
möchte mich auch gerne als Tester eines neuen Samsung TVs zur Verfügung stellen. Mein Modell ist der UE55NU8509.
Nach gefühltem x-ten Durchlesen des Wikis und diesem Thread sind mir einige Sachen noch nicht klar. Eventuell gibt es ja bei der N-Serie auch noch ganz andere Sachen zu beachten.
Das Einzige, was bisher funktioniert, ist die Verbindung zum TV über den Port 8001. Soweit, so gut (lt. Modul connected).
Mit dem Browseraufruf http://samsung.ip:8001/api/v2/ bekomme ich auch ein JSON-Feld mit den Informationen zurückgeliefert. Immerhin.
Die Fehlermeldung mit verbose 5 ist wie folgt:
2018.10.21 21:00:25 5: [STV] SamsungTVW3 command 2 parameter
2018.10.21 21:00:25 5: [STV] SamsungTVW3 send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.21 21:00:25 5: [STV] SamsungTVW3 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.10.21 21:00:25 5: [STV] SamsungTVW3 second websocket response: �${"event":"ms.channel.unauthorized"}
2018.10.21 21:00:25 5: [STV] SamsungTVW3 connected with websocket
2018.10.21 21:00:25 4: [STV] SamsungTVW3 sending 2
2018.10.21 21:00:25 5: [STV] SamsungTVW3 send payload: {"params":{"TypeOfRemote":"SendRemoteKey","Option":"false","Cmd":"Click","DataOfCmd":"KEY_2"},"method":"ms.remote.control"}
OK, unauthorized ... auf dem TV hatte ich 1x eine Meldung zum Zulassen. Das habe ich gemacht.
Das Perl-Script hatte ich geladen, die IP angepasst, aber nach dem Start fragt er nach der TV-Pin ?!? Wie komme ich denn zu der PIN? Auf dem Fernseher wird nichts angezeigt.
Sollten die offenen Ports benötigt werden (diese unterscheiden sich bis auf den 8001 von denen, die ich bisher gefunden habe), hier die Ausgabe von nmap:
8001/tcp open vcom-tunnel
8002/tcp open teradataordbms
8080/tcp open http-proxy
9080/tcp open glrpc
9110/tcp open unknown
9999/tcp open abyss
32768/tcp open filenet-tms
32769/tcp open filenet-rpc
50169/tcp open unknown
51495/tcp open unknown
Mache ich noch etwas falsch oder ist der Fernseher einfach "zu neu", so dass sich zu viel verändert hat? Oder habe ich noch etwas nicht gelesen?
Ich benutze die Modul-Version aus Post #386 vom 13.10.2018
Danke für die Hilfe.
Gruß Rainer
Hallo Rainer,
Zitataber nach dem Start fragt er nach der TV-Pin ?!? Wie komme ich denn zu der PIN?
Versteh ich nicht ? Oder hast Du etwa das Skript für J-,H-Serie gemeint ?
Ich hab doch auch N. Funktioniert problemlos wie K-Serie (https://forum.fhem.de/index.php/topic,82890.msg751322.html#msg751322).
Guck Dir mal die Posts der letzten 2-3 Wochen von Esjay u. mir an. Der hatte auch ein "seltsames" Verhalten bzgl. Authorisierung. War zwar ein QLED, aber ich hab das Gefühl es gibt mal wieder ne neue Firmware. Welche hast Du ?
Grüße Markus
Hallo Markus, hallo Forum,
ZitatVersteh ich nicht ? Oder hast Du etwa das Skript für J-,H-Serie gemeint ?
Ich denke, das war es ... gut, vergiss es, war für andere Serien.
Wenn ich Deine Unterhaltung mit Esjay richtig verfolgt habe, macht mein TV genau das Gleiche.
Hier mal die Ausgabe mit verbose 5, wenn ich die v2 in v3 im Perl-Modul ändere (passieren am TV tut aber nichts):
2018.10.22 20:50:14 5: [STV] SamsungTVW3 command 8 parameter
2018.10.22 20:50:14 5: [STV] SamsungTVW3 send to TV: GET /api/v3/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.10.22 20:50:14 5: [STV] SamsungTVW3 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.10.22 20:50:14 5: [STV] SamsungTVW3 second websocket response: �~{"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ=="},"connectTime":1540234214512,"deviceName":"RkhFTVJlbW90ZQ==","id":"77171d90-56e2-4c69-a5df-fb292dac35b6","isHost":false}],"id":"77171d90-56e2-4c69-a5df-fb292dac35b6"},"event":"ms.channel.connect"}
2018.10.22 20:50:14 5: [STV] SamsungTVW3 connected with websocket
2018.10.22 20:50:14 4: [STV] SamsungTVW3 sending 8
2018.10.22 20:50:14 5: [STV] SamsungTVW3 send payload: {"params":{"Option":"false","TypeOfRemote":"SendRemoteKey","DataOfCmd":"KEY_8","Cmd":"Click"},"method":"ms.remote.control"}
Nach dem Payload gibt es keine Bestätigung oder sonstwas vom TV. Es passiert einfach nichts.
Laut "Info über den Fernseher" habe ich Softwareversion T-KTM2DEUC-1134.0, BT-S
Hilft das irgendwie weiter?
Gruß
Rainer
ZitatHilft das irgendwie weiter?
Nur, dass das Log aussieht, als würde alles funktionieren. :'(
Du müsstest Dir also das Logging auf dem TV ansehen. Vergleichen mit den Ergebnissen einer App(oder meinen).
Vielleicht ist es auch ein timing Problem. Für den Makrobefehl musste ich ja auch eine Pause von 0,3 Sek. nach jedem Befehl einbauen, sonst wurden die Befehle "verschluckt". Ein sleep zwischen dem "connected with websocket" und dem "sending" ?
Grüße Markus
Hallo Rainer,
ich habe einen UE49KS7090, verwende aktuell die 70_STV.pm Version aus Post #386 und habe das gleiche Problem und den identischen Inhalt im FHEM Log. D.h. FHEM sagt connected, set Befehle gehen nicht, habe noch zusätzlich bei den erfolgreichen Verbindungstest (connected) von FHEM einen Fehler im FHEM Log "[STV] TV online with 192.168.1.9:8001 - HTTP-Reponse: 404".
Bin mittlerweile im Debugmode auf dem Fernseher (s. Blog #400 von Markus) angekommen und dann auf eine Idee gekommen.
Habe auf meinem Android Handy die Samsung Fernsteuer App installiert, diese verbindet sich via WLAN über mein Heimnetzwerk zum Fernseher und siehe da, alleine das Starten der App und die Verbindung mit dem Fernseher reicht, damit FHEM Befehle auf einmal vom Fernseher akzeptiert werden. Magst Du das auch mal prüfen?
Sobald die App auf dem Handy aus ist, gehen auch die FEHM set Befehle nicht mehr.
Bin aktuell am Mitschneiden des Debuglogs vom Fernseher um den Unterschied zu finden.
Was mir bis jetzt auffällt:
FHEM scheint es tatsächlich korrekt zu schaffen als RemoteControl anerkannt zu werden, analog macht das auch das Handy.
[RemoteControl ] b9acb180-d615-11e8-ab40-9bdc211ac12f is authorized
Was jedoch anders ist, sieht man in folgender Zeile. Die Handy App versucht sich anscheinend über Port 8002 noch ein Token zu holen? Das macht FHEM nicht.
"ip": "::ffff:192.168.1.176",
"port": "8002",
"method": "GET",
"url": "/remoteControl/?token=",
"body": {}
Ich denke jetzt braucht es weitere Kompetenz, evtl. hat ja Markus eine Idee. Debuglogs vom Fernseher kann ich gerne liefern. Werde mir das auch noch genauer ansehen, hatte nur kurz Zeit.
Rainer wäre schön wenn Du das mit der App auch nachvollziehen könntest.
Falls ich mehr herausfinde, melde ich mich wieder.
Gruß,
Michael
Hallo Michael,
danke für die Info. Da kommen wir also in Richtung meiner Aussage aus #388
ZitatBei mir unterscheidet sich zu esjay:
- TokenAuthSupport "true" (habe ich gar nicht)
- model":"18_KANTM2_UHD
- isSupport ....,\"TokenAuthSupport\":\"true\", (habe ich gar nicht)
Da kristallisiert sich die Unterscheidung heraus....
Wenn Ihr dann beide bitte mal in der JSON-Ausgabe von: ip:8001/api/v2/ nach TokenAuthSupport Ausschau haltet, dann könnten wir wenigstens schon mal die nicht funktionierenden seit K "beschreiben".
Ich guck mir nochmal das samsungctl an. Nicht, dass ich etwas vergessen habe zu übersetzen. :-\
Grüße Markus
Edit: Auch hier wird die Problematik diskutiert:
- https://github.com/Ape/samsungctl/issues/75 (die 8 letzten Posts)
- https://github.com/tavicu/homebridge-samsung-tizen/issues/13 (die 6 letzten Posts)
Hi Markus, hi Michael,
ZitatWenn Ihr dann beide bitte mal in der JSON-Ausgabe von: ip:8001/api/v2/ nach TokenAuthSupport Ausschau haltet
isSupport "{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n"
Demnach ist das bei mir wohl so wie bei Michael.
ZitatHabe auf meinem Android Handy die Samsung Fernsteuer App installiert
Welche hast Du denn genommen? Die bei mir funktioniert (Peel) auf einem Samsung S5 arbeitet nicht über WLAN :'(
Auf einem Galaxy Tab A SM-T580 haben bei mir diverse Apps nicht funktioniert (finden entweder den Fernseher nicht oder können ihn nicht fernsteuern). Probiert habe ich Samsung Smart View (findet bei beiden Geräten den TV nicht) und TV (Samsung) Smart Remote (lässt sich auf dem S5 nicht installieren, auf dem Tab A findet er den Fernsehtypen, lässt sich aber nicht steuern).
Letzte Frage @puppylinux:
Hattest Du die Steuerung mit FHEM jetzt mit v2 oder v3 in der API erfolgreich getestet?
Gruß
Rainer
Hallo Rainer,
ich verwende die Smart View App von Samsung Version 2.1.0.103 für Android.
Das PM ist die von Post #386 und hat wohl den Pfad mit V2 drin.
Als Port verwende ich 8001.
@Markus
http://192.168.1.9:8001/api/v2/ bringt:
id "uuid:d7fcd34a-b88e-49cc-bcdd-52cc80eea9af"
name "[TV] Samsung 7 Series (49)"
version "2.1.0"
device
type "Samsung SmartTV"
duid "uuid:d7fcd34a-b88e-49cc-bcdd-52cc80eea9af"
model "16_JAZZM_UHD"
modelName "UE49KS7090"
description "Samsung DTV RCR"
networkType "wireless"
ssid "00:24:fe:ab:34:7a"
ip "192.168.1.9"
firmwareVersion "Unknown"
name "[TV] Samsung 7 Series (49)"
id "uuid:d7fcd34a-b88e-49cc-bcdd-52cc80eea9af"
udn "uuid:d7fcd34a-b88e-49cc-bcdd-52cc80eea9af"
resolution "3840x2160"
countryCode "DE"
msfVersion "2.1.0"
smartHubAgreement "true"
VoiceSupport "true"
GamePadSupport "true"
wifiMac "CC:B1:1A:A5:39:E8"
developerMode "0"
developerIP "192.168.1.108"
OS "Tizen"
type "Samsung SmartTV"
uri "http://192.168.1.9:8001/api/v2/"
remote "1.0"
isSupport "{\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\",\"DMP_available\":\"true\",\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"EDEN_available\":\"true\"}"
Und jetzt kommt's meine Augen und Strg-F finden da nichts mit "Token"?
Werde mir wohl die Debug Logs noch genauer ansehen müssen.
Gruß,
Michael
Hm,
bei Rainer und Esjay bin ich mir fast sicher, dass es an "TokenAuthSupport" liegt. Betroffen wären die neusten Modelle(neuste Firmware ?). Da hätte ich jetzt nur die Hoffnung, dass man das vielleicht im "Service Menu" abschalten kann. Ob das "Service Menu" bei den neuen Serien überhaupt noch funktioniert, weiß ich nicht. Beschreibung für E-Serie hier (https://wiki.samygo.tv/index.php?title=The_Service_Menu_(ES-series)). VORSICHT bei der Nutzung.
Bei Dir Michael würde es mich wundern, weil es ja K-Serie ist. Evtl. eine neue Firmware ? Was macht denn die Berechtigungssteuerung, wenn Du den DLNAClient benutzt oder z.B. eine Mediendatei mit dem WindowsMediaPlayer auf den TV streamen möchtest ?
Grüße Markus
Hallo Markus,
das mit dem DLNAClient undWMPlayer konnte ich noch nicht prüfen, mache ich nachdem ich mit den Debug Logs durch bin.
Im Anhang ist der Vergleich zweier Durchgänge, links im Screenshot erfolgreicher "Mute" Befehl gesendet, während auf dem Handy die Samsung App nur gestartet war (nichts gedrückt). Die rechte Seite im Bild ist ein erfolgloser FHEM Verlauf ohne aktive Handy App. Mit blau sind die Unterschiede markiert.
Für mich ließt sich das wie folgt:
- clientNumber:2 -> der TV weiß da sind zwei RCs aktiv, FHEM spielt also die zweite Geige
- beim erfolglosem Versuch kommt schon sehr früh ein: ipc client on close, was m.E. dann etwas später zum : [RemoteControl ] Destroy Tizen Addon Process because of no client und [Device] destroyTizenAddon führt. Beim erfolgreichen Versuch ist nichts mit Destroy&Co. zu sehen.
Zusätzlich habe ich Dir noch das Debug Info vom TV angehängt, da wird Port 8002 als "SECUREPORT" gelistet, Firmware steht komischerweise nicht drin, lt. TV Menü soll es die 1230 sein.
Lustig ist auch noch wie ich den http 404 bei den connects wegbekommen habe, habe den RPi als Debugempfänger eingetragen, dann steht im FHEM Log jetzt eine 200 statt der 404 drin ...
Bin gespannt was Du zu dem Vergleich sagst, ich mach mich jetzt noch an ein paar andere Logs.
Danke und Gruß,
Michael
Hallo Michael,
in der Debug-Info wird nur leserlicher der Inhalt von http://IP:8001/api/v2/ angezeigt(steht auch nichts unter firmware). secureport ist einfach nur der Port für https. Mach mal https://IP:8002/api/v2/ ;)
ZitatLustig ist auch noch wie ich den http 404 bei den connects wegbekommen habe, habe den RPi als Debugempfänger eingetragen, dann steht im FHEM Log jetzt eine 200 statt der 404 drin ...
Der 404 ist ja OK. Heißt: Der TV hat geantwortet(also connected), hat aber keine resource zu der URL. Mit Rpi-IP als Debugempfänger gibt es dann eine resource und daher 200. Aber nur im developer mode ! ;)
Die Logs sind komisch :-\ ??? :-[ Meine "Mute" sieht so aus
DEBUG
"IPC callRPC : result : true\n"
"timestamp: 1540593020555, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG
"## requestACLPairing ##"
"timestamp: 1540593020535, file: TizenDevice.cpp, func: requestACLPairing : 531"
DEBUG
"IPC callRPC : result : true\n"
"timestamp: 1540592999363, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG
"## notifyRemoteNumbers ##"
"timestamp: 1540592999355, file: TizenDevice.cpp, func: notifyRemoteNumbers : 651"
DEBUG
"Client(id:e88a9e8e-4ec0-4477-a698-acd47bc61341) has disconnected"
"timestamp: 1540592999355, file: RemoteChannel.cpp, func: onSocketClose : 1057"
DEBUG
"msg : {\"method\":\"ms.remote.control\",\"params\":{\"Cmd\":\"Click\",\"DataOfCmd\":\"KEY_MUTE\",\"Option\":\"false\",\"TypeOfRemote\":\"SendRemoteKey\"}}\n"
"timestamp: 1540592999355, file: RemoteChannel.cpp, func: onSocketMessage : 1007"
DEBUG
"socket(id:e88a9e8e-4ec0-4477-a698-acd47bc61341) is authorized"
"timestamp: 1540592999342, file: RemoteChannel.cpp, func: pairingResponder : 539"
INFO
"## RemoteChannel::pairingResponder ##"
"timestamp: 1540592999342, file: RemoteChannel.cpp, func: pairingResponder : 520"
DEBUG
"IPC callRPC : result : true\n"
"timestamp: 1540592999342, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG
"## requestACLPairing ##"
"timestamp: 1540592999315, file: TizenDevice.cpp, func: requestACLPairing : 531"
DEBUG
"IPC callRPC : result : true\n"
"timestamp: 1540592999315, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG
"## notifyRemoteNumbers ##"
"timestamp: 1540592999289, file: TizenDevice.cpp, func: notifyRemoteNumbers : 651"
DEBUG
"RemoteControl Client(id:e88a9e8e-4ec0-4477-a698-acd47bc61341) has connected"
"timestamp: 1540592999289, file: RemoteChannel.cpp, func: onSocketConnection : 929"
??? :-\ ???
Hast Du mal folgende Reihenfolge im developer mode probiert: stromlos, set TV Mute (eben ohne die App vorher benutzt zu haben)
Grüße Markus
Edit: Interessant finde ich auch, dass bei Dir ein 404 kommt, während es bei mir ein 401(unauthorized) beim connect ist. Kommt der 404 nur, wenn die App Verbindung hat ?
Hallo Markus,
die 404 war seit Definition des TVs in FHEM bzgl. Port 8001 da, hat also nichts mit der App zu tun.
Dein Debuglog hat ja ein ganz anderes Format als meins. Mein Loglevel habe ich auf "Silly" gestellt.
Das mit dem Versuch ohne App siehst Du in meinem letzten Anhang "Vergleich.jpg" auf der rechten Seite.
Gruß,
Michael
Hallo zusammen,
immerhin gibt es etwas Positives: Das Service-Menü kann man tatsächlich wie in dem verlinkten Wiki beschrieben, aktivieren.
Jetzt das Schlechte: Da mein Fernseher nur die "abgespeckte" Sprachfernbedienung hat, musste ich, um die erforderlichen Buttons zu haben, mir die "Peel Remote" Software auf's Smartphone ziehen, damit habe ich es hinbekommen. Auch finde ich keinen Punkt in diesem Service-Menü, um die Authentifizierung abzuschalten :(
Noch etwas Merkwürdiges ist mir aufgefallen: Bei der Liste der zugelassenen Geräte finde ich unter den Details bzgl. der zugelassenen Dienste lediglich den Punkt: "Mobile Inhalte auf Ihrem TV wiedergeben".
Dass dann die RC nicht funktioniert, ist wohl klar ... :'(
Habe gerade beim Recherchieren eventuell noch einen (Um)Weg gefunden: Es gibt (allerdings nur für Apple) eine App MyTifi, die soll lt. Entwickler auch die neuen Modelle unterstützen. Kann ich aber mangels Apple-Hardware nicht testen.
Gruß Rainer
Guten Abend zusammen,
ich habe einen KS9590 mit der Firmware 1230, die "aktuellste" also. Ich habe die letzte Modulversion von hier eingespielt. Parallel nutze ich die App myTifi (IOS - Apple). Diese funktioniert super, sogar das Einschalten geht tadellos. Bei mir tritt ebenfalls das Phänomen auf, dass das Ansteuern des TV über FHEM mit dem Modul nur dann funktioniert, wenn ich die myTifi im Vordergrund laufen lasse. Sobald ich diese App schließe, dann kommen die Signale von FHEM nicht mehr an.
Gruß Thomas
Tja Ihr Lieben,
da werden wir wohl erst einmal nicht weiterkommen. Mehr als warnen, keine firmware-updates zuzulassen, kann ich ja nicht. ::) Offensichtlich ist es wohl, wenn im JSON von ip:8001/api/v2/ "TokenAuthSupport\":\"true\", auftaucht.
Alle mit neuer firmware werden wohl vorerst nicht mit dem STV(oder nur parallel zu einer laufenden App) arbeiten können. :'(
Ich halte die issue-Threads beim samsungctl im Auge, ob dort eine Lösung gefunden wird.
Wenn jemand die Möglichkeit hat den Traffic zwischen App u. TV mitzuschneiden(bei Windows z.B. Wireshark), könnte uns das weiterhelfen.
Grüße Markus
Edit:
ZitatNoch etwas Merkwürdiges ist mir aufgefallen: Bei der Liste der zugelassenen Geräte finde ich unter den Details bzgl. der zugelassenen Dienste lediglich den Punkt: "Mobile Inhalte auf Ihrem TV wiedergeben".
Also keine individuellen devices mehr !?! Das erklärt, warum STV funktioniert, wenn gleichzeitig eine der funktionierenden Smartphone-Apps verbunden ist. Wobei sich mir der Sinn nicht ganz erschließt. Einmalige allgemeine Authorisierung ? Ich habe bei mir schon einmal beobachtet, dass ein völlig fremdes device um Zugriff gebeten hat. Das würde man dann gar nicht mehr erkennen und ein Eindringling bedient sich des TV ??? :o
Hi Markus, bin endlich mal dazu gekommen, dein Version zu testen! :)
Ich hab einen: UE55ES8090. Klappt im Prinzip alles soweit!
Ich hab das Modul eingespielt und FHEM neu gestartet. Bekomme dann auf der Hauptseite:
configfile: wz_tv: unknown attribute fork. Type 'attr wz_tv ?' for a detailed list.
wz_tv: unknown attribute setWhenOffline. Type 'attr wz_tv ?' for a detailed list.
Aber war ja zu erwarten: die Attribute sind raus. Also alles gut.
Der einzige Befehl "POWEROFF", den ich bisher benutzt habe, klappt weiterhin. Nach dem Absetzen des Befehls bleibt "state" noch einige Zeit auf "connected". Vielleicht bekommt man es ja hin, dass das Modul das schneller mitbekommt, wenn es selber abgeschaltet hat. War mit der alten Version aber evtl. genau so, kann ich nicht sagen.
Ich hab mal den Befehl "POWERON" getestet (hat früher nicht funktioniert und kann wahrscheinlich gar nicht funktionieren. Dann hängt aber die Webseite einige Sekunden und dann kommt
Could not create socket. Port: 55000. Aborting.
Zumindest die Meldung hat mich überrascht, aber ist evtl. normal.
Mal eine andere Frage: Ist es möglich, die Bildmodi umzuschalten mit dem Modul? Ich würde gerne zwischen "Movie" und "Standard" schalten. Im Idealfall auch gerne den Game-Mode aktivieren/deaktivieren. Hab ich nie hin bekommen aber auch nie lange probiert und dann per IR gemacht. Ich denke, dass es nicht geht.
Früher gab es "set PMODE", aber da gab es keine Reaktion und ich wusste auch nicht, ob man noch weitere Parameter angeben muss.
Ach, Du hast einen E. Den habe ich ja auch noch. Da gucke ich mal ob ich das
ZitatVielleicht bekommt man es ja hin, dass das Modul das schneller mitbekommt, wenn es selber abgeschaltet hat. War mit der alten Version aber evtl. genau so, kann ich nicht sagen.
verbessern kann. Kann tatsächlich sein, dass es früher direkt ging, weil eine dauerhafte Verbindung aufgebaut wurde. Jetzt wird nur noch(so hab ich es im Kopf) bei einem Befehl die Verbindung aufgebaut. Hat halt Vor- u. Nachteile. Bei der dauerhaften Verbindung und abgeschaltetem TV prüft FHEM permanent, ob der TV wieder Online ist, was natürlich auf die Gesamtperformance geht. Meine Priorität liegt da auf freeze-Minimierung.
ZitatIch hab mal den Befehl "POWERON" getestet (hat früher nicht funktioniert und kann wahrscheinlich gar nicht funktionieren. Dann hängt aber die Webseite einige Sekunden und dann kommt
Code: [Auswählen]
Could not create socket. Port: 55000. Aborting.
Zumindest die Meldung hat mich überrascht, aber ist evtl. normal.
Die POWER...-Befehle hab ich auf Wunsch extra zugelassen, obwohl der TV offline ist. Dann kommt es natürlich zu diesem Effekt. Bei manchen TVs soll es wohl funktionieren. Lösung: nicht nutzen ;) Bei meinem N funktioniert zum einschalten das WOL-Modul oder aber die schaltbare Steckdose. ;)
ZitatMal eine andere Frage: Ist es möglich, die Bildmodi umzuschalten mit dem Modul? Ich würde gerne zwischen "Movie" und "Standard" schalten. Im Idealfall auch gerne den Game-Mode aktivieren/deaktivieren. Hab ich nie hin bekommen aber auch nie lange probiert und dann per IR gemacht. Ich denke, dass es nicht geht.
Früher gab es "set PMODE", aber da gab es keine Reaktion und ich wusste auch nicht, ob man noch weitere Parameter angeben muss.
PMODE gibt es noch in der "2.Reihe" unter G_Others. Bei meinem N kommt dann nur eine Meldung, dass ich es über das Menü einstellen soll. Alternativ könntest Du 0_macro nutzen und das durchhangeln durch das Menü automatisieren.
Interessant könnten für Dich die Message-Ausgaben sein. Bei Deinem E Out-of-the-box über Port 7676, indem Du in den Attributen callerURI/screenURI die URI's hinterlegst, die dann mit set TV caller/screen auf dem TV ausgegeben werden. Die Tage kommt dann noch eine neue Version, wo man das dann per DLNA noch etwas flexibler machen kann, Volume auch absolut verändern kann....
Grüße Markus
Im Zuge der "Auffrischung" des STV-Moduls ist mir jetzt DevelopmentGuidelinesAV (https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV) in die Finger gefallen. Ich bin mir unschlüssig, ob ich das umsetzen soll. Ich hab hier (https://forum.fhem.de/index.php/topic,13784.msg853508.html#msg853508) mal die Experten um Rat gefragt. Was meint Ihr aus STV-Sicht dazu ?
Ich schlage vor, dass die, die die Anpassung befürworten, einfach nur auf den Zustimmungsbutton drücken, während die "Gegner" vielleicht ein paar Worte zur Begründung Ihrer ablehnenden Haltung schreiben.
Bitte hier im Post u. nicht im oben verlinkten Beitrag. ;)
Grüße Markus
Ich wäre dafür die Kommandos einfach zu ändern. Es macht ja in Zukunft nur alles besser nach ein paar kleinen Anpassungen. Würde mich sehr freuen bald alle Kommandos klein schreiben zu können :-)
Zitat von: KölnSolar am 03 November 2018, 20:41:59
Im Zuge der "Auffrischung" des STV-Moduls ist mir jetzt DevelopmentGuidelinesAV (https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV) in die Finger gefallen. Ich bin mir unschlüssig, ob ich das umsetzen soll. Ich hab hier (https://forum.fhem.de/index.php/topic,13784.msg853508.html#msg853508) mal die Experten um Rat gefragt. Was meint Ihr aus STV-Sicht dazu ?
Ich schlage vor, dass die, die die Anpassung befürworten, einfach nur auf den Zustimmungsbutton drücken, während die "Gegner" vielleicht ein paar Worte zur Begründung Ihrer ablehnenden Haltung schreiben.
Bitte hier im Post u. nicht im oben verlinkten Beitrag. ;)
Grüße Markus
Hi,
so jetzt hab ich es auch mal versucht meinen Samsung TV(UE55KU6179) mit Fhem zusteuern.
Es funktioniert nur die Befehl 0_App_start und 0_App_status. Bei senden eines zahl passiert im TV nichts, hat jemand eine Idee? Falls es sinnvoll ist kann ich auch gern das Debug Log noch bereitstellen.
Gruß
Dominik
ZitatEs funktioniert nur die Befehl 0_App_start und 0_App_status. Bei senden eines zahl passiert im TV nichts, hat jemand eine Idee?
Das find ich ja mal interessant. Tatsächlich unterscheiden sich die Befehle in ihrem Zugriff. Wie hast Du das Thema "Berechtigungen" am TV wahrgenommen ? Welche firmware hast Du ? Könnte ja sein, dass die neue Berechtigungssteuerung(die letzten ca. 30 Posts) bei neuer firmware nur für die RC-commands zutrifft. Ansonsten könnte es noch ein timing-Problem sein.
ZitatFalls es sinnvoll ist kann ich auch gern das Debug Log noch bereitstellen.
Hilft immer mehr als die Glaskugel. ;)
Grüße Markus
Edit: Hab mir jetzt noch einmal die Threads auf GitHub angesehen. Demnach ist es tatsächlich so, dass die App-Befehle anders als die RC-Befehle autorisiert werden. Du hast eine firmware, die derzeit nicht unterstützt wird. :'(
So
2018.11.06 14:44:01 5: [STV] Fernseher command 1 parameter
2018.11.06 14:44:01 5: [STV] Fernseher send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.61:8001
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.06 14:44:01 5: [STV] Fernseher first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.06 14:44:01 5: [STV] Fernseher second websocket response: ~{"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ=="},"connectTime":1541511840970,"deviceName":"RkhFTVJlbW90ZQ==","id":"5e69b2c-2143-43a0-a690-4711","isHost":false}],"id":"5e69b2c-2143-43a0-a690-4711"},"event":"ms.channel.connect"}
2018.11.06 14:44:01 5: [STV] Fernseher connected with websocket
2018.11.06 14:44:01 4: [STV] Fernseher sending 1
2018.11.06 14:44:01 5: [STV] Fernseher send payload: {"params":{"Cmd":"Click","TypeOfRemote":"SendRemoteKey","DataOfCmd":"KEY_1","Option":"false"},"method":"ms.remote.control"}
sollte das Log aussehen. Vermutlich wird das JSON der "second websocket response" aber so aussehen
{"data":{.........id":"5e69b2c-2143-43a0-a690-4711","isHost":false}],"id":"5e69b2c-2143-43a0-a690-4711","token": "65811577"},"event":"ms.channel.connect"}
Bedeutet also 2 Dinge: nach dem Begriff token Ausschau halten und Ihr wisst, warum die RC-commands nicht funktionieren. Wir brauchen einen Mitschnitt des TCP-Traffics einer funktionierenden App, um hinter das Geheimnis der "token-Kommunikation" zu kommen.
Für volume u. mute könnte der DLNAClient (https://forum.fhem.de/index.php/topic,39706.msg410733.html#msg410733)(DLNARenderer ist zwar fertig, aber vor der Veröffentlichung muss noch etwas in /fhem/FHEM/lib/UPnP/ von anderer Seite angepasst werden) als workaround funktionieren.
@Puppylinux: Michael, könntest Du mal ein LOG des TV bei Einsatz der App mit: Verbindung aufbauen, 1 senden, Verbindung abbauen einstellen. Das Gleiche dann ein 2. Mal, um zu prüfen, ob sich inhaltlich etwas ändert.
danke für die schnelle antwort
Zitat
Wie hast Du das Thema "Berechtigungen" am TV wahrgenommen ?
? Also wenn du die Berechtigung am TV meinst ganz normal er hat mich gefragt ob ich dem Gerät vertraue nach dem ich ein Befehl gesendet habe (Frag mich jetzt aber nicht was ich gesendet habe, zu not muss ich das noch mal ausprobieren.)
Zitat
Welche firmware hast Du ?
Firmenware = sollte nee ältere sein da ich das automatisache update ausgeschaltet habe, finde es spontan aber nicht..außer es ist die MSFVERSION
Zitatnach dem Begriff token Ausschau halten und Ihr wisst, warum die RC-commands nicht funktionieren.
Also es schaut anders aus aber Token iust nicht zu finden.
FHEM LOG verbose 5 "Key2"
2018.11.06 22:55:04 5: [STV] SamsungTV command 2 parameter
2018.11.06 22:55:04 5: [STV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.06 22:55:04 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.06 22:55:04 5: [STV] SamsungTV second websocket response: ¾{"event":"ms.channel.connect","data":{"id":"9df74e50-e20e-11e8-8ab5-cd6f97feeb6e","clients":[{"id":"9df74e50-e20e-11e8-8ab5-cd6f97feeb6e","connectTime":1541541304245,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2018.11.06 22:55:04 5: [STV] SamsungTV connected with websocket
2018.11.06 22:55:04 4: [STV] SamsungTV sending 2
2018.11.06 22:55:04 5: [STV] SamsungTV send payload: {"method":"ms.remote.control","params":{"Cmd":"Click","Option":"false","TypeOfRemote":"SendRemoteKey","DataOfCmd":"KEY_2"}}
2018.11.06 22:55:49 4: [STV] SamsungTV online with 192.168.30.52:8001 - HTTP-Response: 404
2018.11.06 22:56:49 4: [STV] SamsungTV online with 192.168.30.52:8001 - HTTP-Response: 404
2018.11.06 22:57:49 4: [STV] SamsungTV online with 192.168.30.52:8001 - HTTP-Response: 404
FHEM LOG verbose 5 "AppStart"
2018.11.06 22:58:48 5: [STV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.06 22:58:48 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.06 22:58:48 5: [STV] SamsungTV second websocket response: ¾{"event":"ms.channel.connect","data":{"id":"239a1f10-e20f-11e8-8ab5-cd6f97feeb6e","clients":[{"id":"239a1f10-e20f-11e8-8ab5-cd6f97feeb6e","connectTime":1541541528449,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2018.11.06 22:58:48 5: [STV] SamsungTV connected with websocket
2018.11.06 22:58:48 5: [STV] SamsungTV send payload: {"params":{"TypeOfRemote":"SendRemoteKey","data":{"metaTag":"","appId":"11101200001","action_type":"DEEP_LINK"},"to":"host","event":"ed.apps.launch"},"method":"ms.channel.emit"}
2018.11.06 22:58:49 5: [STV] response SamsungTV to write_payload: t{"event":"ed.apps.launch","data":true,"from":"host"}
2018.11.06 22:58:49 4: [STV] SamsungTV online with 192.168.30.52:8001 - HTTP-Response: 404
TCP Mitschnitt liefere ich noch nach, sowohl vom KEY2 als auch vom starten der app.
LOG usw. im anhang
Zitat von: gauli am 06 November 2018, 12:11:04
Hi,
so jetzt hab ich es auch mal versucht meinen Samsung TV(UE55KU6179) mit Fhem zusteuern.
Es funktioniert nur die Befehl 0_App_start und 0_App_status. Bei senden eines zahl passiert im TV nichts, hat jemand eine Idee? Falls es sinnvoll ist kann ich auch gern das Debug Log noch bereitstellen.
Gruß
Dominik
Hallo!
Ist bei mir genau so...
{
"id": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"name": "[TV] Samsung 8 Series (65)",
"version": "2.1.0",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"model": "16_JAZZM_UHD",
"modelName": "UE65KS8090",
"description": "Samsung DTV RCR",
"networkType": "wired",
"ssid": "",
"ip": "192.168.178.44",
"firmwareVersion": "Unknown",
"name": "[TV] Samsung 8 Series (65)",
"id": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"udn": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"resolution": "3840x2160",
"countryCode": "DE",
"msfVersion": "2.1.0",
"smartHubAgreement": "true",
"VoiceSupport": "true",
"GamePadSupport": "true",
"wifiMac": "cc:b1:1a:61:39:ec",
"developerMode": "0",
"developerIP": "",
"OS": "Tizen"
},
"type": "Samsung SmartTV",
"uri": "http://192.168.178.44:8001/api/v2/",
"remote": "1.0",
"isSupport": "{\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\",\"DMP_available\":\"true\",\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"EDEN_available\":\"true\"}"
}
018.11.07 07:06:49 5: [STV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.07 07:06:49 5: [STV] TV_Samsung second websocket response: �~{"event":"ms.channel.connect","data":{"id":"50284720-e253-11e8-945f-65af634fdf3f","clients":[{"id":"50284720-e253-11e8-945f-65af634fdf3f","connectTime":1541570808978,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2018.11.07 07:06:49 5: [STV] TV_Samsung connected with websocket
2018.11.07 07:06:49 4: [STV] TV_Samsung sending RETURN
2018.11.07 07:06:49 5: [STV] TV_Samsung send payload: {"method":"ms.remote.control","params":{"DataOfCmd":"KEY_RETURN","Cmd":"Click","TypeOfRemote":"SendRemoteKey","Option":"false"}}
2018.11.07 07:07:39 4: [STV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
2018.11.07 07:07:48 5: [STV] TV_Samsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.07 07:07:48 5: [STV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.07 07:07:48 5: [STV] TV_Samsung second websocket response: �~{"event":"ms.channel.connect","data":{"id":"7367de30-e253-11e8-945f-65af634fdf3f","clients":[{"id":"7367de30-e253-11e8-945f-65af634fdf3f","connectTime":1541570868116,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2018.11.07 07:07:48 5: [STV] TV_Samsung connected with websocket
2018.11.07 07:07:48 5: [STV] TV_Samsung send payload: {"method":"ms.channel.emit","params":{"to":"host","data":{"action_type":"DEEP_LINK","appId":"3201512006963","metaTag":""},"TypeOfRemote":"SendRemoteKey","event":"ed.apps.launch"}}
2018.11.07 07:07:49 5: [STV] response TV_Samsung to write_payload: �4{"event":"ed.apps.launch","data":true,"from":"host"}
2018.11.07 07:07:52 3: plex: client discovered: 192.168.178.102
Mfg Steffen
ZitatFirmenware = sollte nee ältere sein da ich das automatisache update ausgeschaltet habe, finde es spontan aber nicht..außer es ist die MSFVERSION
Findest Du im Menü des TV bei Unterstützung. Bitte auch von Dir Steffen.
Sieht tatsächlich so aus, als ob wir 2 Probleme hätten: das mit token bei neuer firmware und eben Euer Problem.
ZitatTCP Mitschnitt liefere ich noch nach, sowohl vom KEY2 als auch vom starten der app.
wobei das speziell auf Michael gemünzt war. Bei ihm funktionieren die RC-Befehle, wenn er gleichzeitig mit einer Handy-App mit dem TV verbunden ist.
@Steffen: hast Du erstmalig das STV genutzt oder hattest Du vorher schon mal das samsungctl installiert ? Ich frage mich halt: Klappt es nur mit meiner neusten Version oder auch mit dem Python-Skript nicht.
@Dominik: Danke für die Debug-Logs. Erkennen kann ich da leider erst einmal nichts. :'(
Probiert doch bitte mal den 0_macro-Befehl mit
set TV 0_macro 0,1,,,,,,2,,,3
ZitatProbiert doch bitte mal den 0_macro-Befehl mit
set TV 0_macro 0,1,,,,,,2,,,3
Es wird auf den Kanal 023 gewechselt.
ZitatProbiert doch bitte mal den 0_macro-Befehl mit
set TV 0_macro 0,1,,,,,,2,,,3
Genau, es wird auf den Kanal 023 gewechselt.
Gebe ich
set TV 0_macro ,,0 dann wird auf Kanal 0 gewechselt. Bei
set TV 0_macro ,0 oder
set TV 0_macro 0 passiert gar nichts.
Zweimal Pause (,,) vor das Kommando setzen funktioniert auch bei anderen Befehlen. Getestet Kanal hoch/runter, Power, Mute,HDMI,Lautstärke.
Hinweis: Mit der alten Version konnte ich den TV "steuern".
Aha, dann haben wir den Bösewicht. ;D Wie ich gestern und auch schon vor 2 Wochen geantwortet hatte: ein timing-Problem, was ich eben über den Makro-Befehl testen wollte. Durch die Übersetzung des samsungctl(Python) nach Perl, sind wir scheinbar zu schnell für manche TV's. ;D
Da müssen wir uns jetzt mal rantasten. Könnt Ihr bitte im ersten Schritt Zeile 363 einfach mal von
sleep(0.3) if ($argnum > 0);
in
eval {require Time::HiRes; 1;}
or do {
return "[STV] Module Time:HiRes not installed. Check perl libraries'";
};
Time::HiRes::usleep(300000); # if ($argnum > 0);
ändern. Danach dann ein reload 70_STV und testen. Ich vermute danach wird es bei den meisten funktionieren. Wenn es klappt, bitte ALLE nur den Zustimmung-Button anklicken, dass ich weiß, wer nur ein timing-Problem hatte, was durch die Änderung gelöst ist.
Wer ein bißchen mehr Zeit hat, könnte mal mit dem Parameter des usleep spielen, also kleiner(edit: evtl. auch größer, damit es funktioniert) setzen, um den "Grenzwert" zu ermitteln. (0_macro wird dann voraussichtlich nicht mehr richtig funktionieren).
Grüße Markus
Hi,
Danke Markus schon mal.
hab grade mal ein wenig mit den Werten rumgespielt (getestet mit dem Key 3, Ja = funktioniert, Nein = keine reaktion am TV). Was wäre den der beste wert? Denke mal um so kleiner um so weniger warte zeit in Fhem(dann würde ich mich noch mal an den kleinsten bzw. größten Wert rantasten.
100000 Nein
150000 Nein
200000 Nein
250000 Nein
300000 Nein
350000 Nein
400000 Nein
450000 Nein
500000 Nein
550000 Ja
600000 Ja
650000 Ja
700000 Ja
750000 Ja
800000 Ja
850000 Ja
900000 Ja
950000 Ja
1000000 Ja
5000000 Ja
10000000 Ja
20000000 Ja
21000000 Nein
22000000 Nein
23000000 Nein
24000000 Nein
25000000 Nein
30000000 Nein
Danke für Deinen schnellen Test.
ZitatDenke mal um so kleiner um so weniger warte zeit in Fhem
genauso ist es. Je länger wir die Wartezeit machen, umso schlimmer werden freezes in FHEM. Und die gilt es zu vermeiden. 0,55 Sek. finde ich schon ziemlich heftig. Kannst Du bitte mal mit folgender Änderung testen. Jetzt auch 0_macro. Und immer nur mit einem Komma als "Trenner". Ggfs. den Wert von 300000 für die Makrofunktion wieder hochsetzen. Alle anderen dann bitte auch mit dieser Änderung. Anstatt
sleep(0.3) if ($argnum > 0);
diese Zeilen
eval {require Time::HiRes; 1;}
or do {
return "[STV] Module Time:HiRes not installed. Check perl libraries'";
};
if ($argnum > 0) {
Time::HiRes::usleep(300000);
}
else {Time::HiRes::usleep(600000); }
Ja läuft damit.
Zitat von: KölnSolar am 07 November 2018, 15:14:53
Danke für Deinen schnellen Test.genauso ist es. Je länger wir die Wartezeit machen, umso schlimmer werden freezes in FHEM. Und die gilt es zu vermeiden. 0,55 Sek. finde ich schon ziemlich heftig. Kannst Du bitte mal mit folgender Änderung testen. Jetzt auch 0_macro. Und immer nur mit einem Komma als "Trenner". Ggfs. den Wert von 300000 für die Makrofunktion wieder hochsetzen. Alle anderen dann bitte auch mit dieser Änderung. Anstatt
sleep(0.3) if ($argnum > 0);
diese Zeilen
eval {require Time::HiRes; 1;}
or do {
return "[STV] Module Time:HiRes not installed. Check perl libraries'";
};
if ($argnum > 0) {
Time::HiRes::usleep(300000);
}
else {Time::HiRes::usleep(600000); }
Guten Morgen,
vielen Dank denn mit
set TV_Samsung 0_macro ,,
funktionieren alle Befehle, mit nur einem"," klappt es nicht.
Aber wie bekommt man denn jetzt das mit den zwei ",," in einem Doif oder Notify verwendet, oder könnte man das jetzt in deinem Modul einbauen?!?
Mfg Steffen
Morgen Steffen,
ZitatAber wie bekommt man denn jetzt das mit den zwei ",," in einem Doif oder Notify verwendet, oder könnte man das jetzt in deinem Modul einbauen?!?
Sicherlich muss das ins Modul rein. Die Makrofunktion ist ja nur die Krücke zur Analyse.
Bei der Makrofunktion wird für jedes , eine Pause von eben 0,3 Sek.(Time::HiRes::usleep(300000);) gemacht. Diesen Grenzwert hatte ich für meinen N ermittelt. Bei Dominik und bei der H-Serie scheint dieser Wert auch zu funktionieren. Bei Dir dann scheinbar nicht. :'(
Ich häng hier gleich mal eine quick&dirty Zwischenversion mit 2 Attributen an, womit dann jeder, der timing-Probleme hat, die notwendigen Delays für seinen TV austesten kann. Diese Version wird sonst noch keine weiteren Neuerungen enthalten.
Edit: Attached eine Testversion mit 2 Attributen delayRC und delayMacro. Die Attribute werden beim define automatisch angelegt mit den Werten delayRC=600000 und delayMacro=300000. Die Werte bedeuten Mikrosekunden sleep. Durch Änderung des Attributs delayRC könnt Ihr austesten, ab welchem Wert Euer TV auf eines der RC-commands reagiert und funktioniert(Bei mir mit 0, bei Dominik mit 550000). In einem 2. Schritt könnt Ihr das notwendige delay für die Makrofunktion austesten, also die Pausezeit für ein gesetztes Komma mit dem Attribut delayMacro. Dabei muss man differenzieren: 0_macro 1,2,3,4 ist das, was mit dem ermittelten Grenzwert funktionieren sollte. Makrofunktionen für Menüeinstellungen können da etwas anders reagieren. Dafür setze ich dann die Kommas mehrfach, Bsp.
0_macro PIP_ONOFF,,,,,ENTER,,RIGHT,ENTER,,EXIT,EXIT
Bitte postet Euer Ergebnis der ermittelten delays mit TV-Serie oder TV-Typ und möglichst firmware.
Edit: Download entfernt wg. neuer Version im Thread "Zusammenfassende Doku".
So firmenware hab ich gefunden 1230 es kommt mir wie ein dummy wert vor aber ich hab nichs anders gefunden.
So nach einem weitern test ist mir noch was aufgefallen.
In einer App funktioiert die Steuerung nicht (getestet mit Mute und Netflix), wenn ich zurück springe in das Live TV muss ich eine Augenblick warten bzw. einen anderen Befehl absetzen bis die steuerung wieder funktioniert. Das würde ich noch mal genauer testen und auch die Log bereitstellen wenn das Problem noch nicht bekannt ist (hab aber erst wieder am Sonntag zeit).
Ist das Verhalten schon bekannt?
Könnte mir vorstellen das die app die WLAN verbindung belegt und das TV somit keine befehle mehr bekommt.
Gruß
Dominik
Hi Dominik,
habs gerade mal nachgestellt. Geht problemlos mit nur App-Start und anschließendem HOME. Kann es sein, dass die Netflix-App vielleicht nur nicht auf MUTE reagiert ?
ZitatKönnte mir vorstellen das die app die WLAN verbindung belegt und das TV somit keine befehle mehr bekommt.
Durchaus denkbar(zumindest so ähnlich). Möglicherweise wird die Kommunikation "träge", weil der TV mit Internet und Bildaufbereitung beschäftigt ist. Ich nutze keine Apps und kann daher so etwas nicht testen. Probier mal folgende Konstellationen:
- nur start der App und dann FHEM-Befehl(HOME, EXIT....)
- nur start der App+AppLogin und dann FHEM-Befehl(HOME, EXIT....)
- start der App+AppLogin+Film und dann FHEM-Befehl(HOME, EXIT....)
Wenn es nur im letzten Fall so ist, werden wir kaum Einfluss nehmen können. Für die anderen Fälle dann ggfs. ein Log zur Analyse.
Grüße Markus
Für die User mit neuer firmware(token-Problematik) gibt es Licht am Endes des Tunnels. ;D
Eigentlich easy, aber die Umsetzung wird schwierig für mich, da ich Neuland betrete: secure websocket
(und testen/experimentieren kann ich ja auch nicht) :'(
Wer die 2. Bedingung erfüllt, kann mal bitte
https://DeineSTV_IP:8002/api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ
EDIT: und/oder
https://DeineSTV_IP:8002/api/v3/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ
im Browser eingeben.
Jede Antwort außer <html><body>404</body></html> ist willkommen.
Zitat von: KölnSolar am 10 November 2018, 00:25:32
Für die User mit neuer firmware(token-Problematik) gibt es Licht am Endes des Tunnels. ;D
Eigentlich easy, aber die Umsetzung wird schwierig für mich, da ich Neuland betrete: secure websocket
(und testen/experimentieren kann ich ja auch nicht) :'(
Wer die 2. Bedingung erfüllt, kann mal bitte
https://192.168.178.61:8002/api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ
im Browser eingeben.
Jede Antwort außer <html><body>404</body></html> ist willkommen.
Guten Morgen!
Also bei mir mit einem "UE65KS8090 / Firmware:1230"
https://192.168.178.44:8002/api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ
{
"status": 404,
"message": "Not Found",
"code": 404
}
Gibt es auch die möglichkeit über dein Modul den Tv ein zu schalten?
Wenn ich es versuche bekomme ich:
SenderAuswahl: set TV_Samsung 0_macro ,,POWER: TV_Samsung currently not available. Try later.
Mfg Steffen
Hallo zusammen.
Bei mir gibt es leider bei beiden Abfragen den 404.
Modell UE55NU8509
Firmware T-KTM2DEUC-1153.3,BT-S
:-\
Gruß Rainer
PS: Ein Aufruf bis api/v2/ liefert wieder folgendes:
{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"true","countryCode":"DE","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"1","duid":"uuid:2ca857a6-34ac-429e-b03c-305484d57e64","firmwareVersion":"Unknown","id":"uuid:2ca857a6-34ac-429e-b03c-305484d57e64","ip":"192.168.33.56","model":"18_KANTM2_UHD","modelName":"UE55NU8509","name":"[TV] SamsungTV8","networkType":"wireless","resolution":"3840x2160","smartHubAgreement":"true","ssid":"bc:05:43:14:f1:da","type":"Samsung SmartTV","udn":"uuid:2ca857a6-34ac-429e-b03c-305484d57e64","wifiMac":"64:1C:B0:AF:72:C2"},"id":"uuid:2ca857a6-34ac-429e-b03c-305484d57e64","isSupport":"{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n","name":"[TV] SamsungTV8","remote":"1.0","type":"Samsung SmartTV","uri":"https://192.168.33.56:8002/api/v2/","version":"2.0.25"}
Hallo Rainer,
genau Dich brauche ich. Du bist (glaub ich) der Einzige mit dem token-Thema(neue Serie UND firmware aktualisiert[1250])(außer esjay, aber der hat den Tv ja zurückgeschickt).
Ich schlage daher vor, dass wir alles weitere per PN machen. Probier mal alle erdenklichen Varianten des Port/Pfades http/https in
curl -k -v GET -i https://DeineIP:800x/api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==
Bei irgendeinem der Aufrufe erhoffe ich mir die Antwort mit dem token.(vermutlich nicht bei returncode 404, sondern 200,401)
ZitatGibt es auch die möglichkeit über dein Modul den Tv ein zu schalten?
Probier mal das WOL-Modul: define WOL_TV WOL DeineMAC DeineIP UDP
Grüße Markus
Hallo Markus,
PN ist raus :D
Ergebnisse sind eher bescheiden.
Falls ich noch weiter helfen kann, nur zu. Ich glaube schon, dass es noch mehr Leute da draußen gibt, die das gleiche Problem haben wie ich :-\
Gruß Rainer
Hallo KölnSolar,
ich find das echt cool das du dir solche Mühe gibst das Problem zu lösen.
Ich habe leider auch das TokenAuth Problem.
Ich bekomme bei beiden links den Fehler 401
Modell UE55NU7099
Wenn ich curl -k -v GET -i https://192.168.55.125:8002/api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==
ausführe erhalte ich
* Rebuilt URL to: GET/
* Could not resolve host: GET
* Closing connection 0
curl: (6) Could not resolve host: GET
* Trying 192.168.55.125...
* TCP_NODELAY set
* Connected to 192.168.55.125 (192.168.55.125) port 8002 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
* subject: C=KR; O=SmartViewSDK; CN=SmartViewSDK
* start date: Sep 21 08:36:31 2016 GMT
* expire date: Sep 21 08:36:31 2036 GMT
* issuer: C=KR; O=SmartViewSDK; CN=SmartViewSDK Root Ceritificate Authority
* SSL certificate verify result: self signed certificate in certificate chain (19), continuing anyway.
> GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
> Host: 192.168.55.125:8002
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 401 Unauthorized
HTTP/1.1 401 Unauthorized
< content-type: application/json; charset=utf-8
content-type: application/json; charset=utf-8
< content-length: 29
content-length: 29
<
* TLSv1.2 (IN), TLS alert, Client hello (1):
* transfer closed with 29 bytes remaining to read
* Curl_http_done: called premature == 1
* stopped the pause stream!
* Closing connection 1
* TLSv1.2 (OUT), TLS alert, Client hello (1):
curl: (18) transfer closed with 29 bytes remaining to read
Vielleicht hilft es ja weiter.
Rainer und ich sind ein Schrittchen weiter. Geduld. Welche firmware hast Du ? Automatische Updates nicht abgeschaltet ? ::)
Grüße Markus
Guten Morgen,
ich habe das aktuelle (inoffizielle) STV Modul hier aus dem Thread installiert, das Keyfile erzeugt und einen connect zum Fernseher erhalten. Steuerung war über Port 8000 nach Authorisierung am TV problemlos möglich (bis auf das Einschalten ging alles):
2018.11.08 16:40:47 5: [STV] SamsungTV command 1 parameter
2018.11.08 16:40:47 5: [STV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.08 16:40:47 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.08 16:40:47 5: [STV] SamsungTV second websocket response: �~{"event":"ms.channel.connect","data":{"id":"a8cb77c0-e36c-11e8-8b22-87e3732fae4e","clients":[{"id":"a8cb77c0-e36c-11e8-8b22-87e3732fae4e","connectTime":1541691646269,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2018.11.08 16:40:47 5: [STV] SamsungTV connected with websocket
2018.11.08 16:40:47 4: [STV] SamsungTV sending 1
2018.11.08 16:40:47 5: [STV] SamsungTV send payload: {"method":"ms.remote.control","params":{"Option":"false","Cmd":"Click","DataOfCmd":"KEY_1","TypeOfRemote":"SendRemoteKey"}}
Seit gestern reagiert der TV überhaupt nicht mehr auf Commandos von fhem. fhem zeigt zwar einen "connect" an - aber wie ich gelernt habe, hat das nicht viel zu bedeuten. Also habe ich fhem als zugelassenes Gerät am TV gelöscht, einen neuen Key erzeugt, fhem wieder am TV authorisiert, aber es passiert nichts.
Hat jemand eine Idee, was ich noch machen könnte?
Ach so und automatische Aktualisierung ist ausgeschaltet.
P.S. wie gehe ich denn vor, wenn ich 2 Fernseher benutzen will mit dem STV-Modul. Wenn ich ein neues keyfile anlege, wird ja das alte überschrieben? Oder kann ich einfach den Inhalt aus dem alten mit in das neue nehmen?
Danke und einen schönen Tag
wolf
hast du die fw-version mal verglichen. vielleicht wurde ja trotzdem erneuert. :)
... und welche Version hast Du dann genau. Die, die ich speziell für die Problematik zur Verzögerung eingestellt hatte(s.o.) ?
Denn sonst sieht alles gut aus.
Bin gerade nicht sicher, ob die im Forum eingestellte Version bereits mehrfache Fernseher unterstützt. :-[ Aber vermutlich nicht und dann wird es bis zur nächsten Version dauern, bis das geht. Melde mich später dazu.
Grüße Markus
Danke Frank und Markus für eure Antworten,
ich schau nachher nach, welche Version ich genau habe und melde mich dazu wieder.
wolf
Hier (https://forum.fhem.de/index.php/topic,57595.msg855402.html#msg855402) findest Du die Version speziell zum timing-Problem bei H-/J-Serie. Mehrere TV's sind mit der Version noch nicht unterstützt. Aber das kommt..
Hi Markus,
meine Version ist die 1530 - meiner Meinung hat er auch in letzter Zeit kein Update gemacht (automatische Updates sind aus).
Die verlinkte Version ist auch bei mir im Einsatz.
Das spuckt mein logfile aus, wenn ich schalte:
2018.11.16 13:41:35 5: [STV] samsungTV second websocket response: �1::
2018.11.16 13:41:35 5: [STV] samsungTV connected with websocket
2018.11.16 13:41:35 4: [STV] samsungTV sending KEY_3
2018.11.16 13:41:35 5: [STV] samsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,53,150,100,26,202,216,99,214,51,57,158,23,105,40,60,188,205,25,163,186,223,233,129,59,132,170,167,41,215,243,92,113,221,115,64,8,171,34,62,10,185,249,149,173,239,20,243,137,239,236,50,81,74,249,244,250,164,21,88,246,20,159,188,95,85,126,101,149,148,235,233,220,179,228,7,221,5,84,107,101]"}]}
Viele Grüße
wolf
Und wie hast Du die beiden Attribute(siehe Post) eingestellt ?
Edit: (wobei die Version eigentlich für ab K-Serie gedacht war, weil dort das Modul zu schnell für den TV war)
komisch, ich habe gar keine Attribute:
ZitatAttached eine Testversion mit 2 Attributen delayRC und delayMacro
mmmhh. nicht dass beim Update, die STV.pm doch überschrieben wurde....
Eigentlich hatte ich das mit einem:
exclude_from_update 70_STV.pm
versucht zu verhindern - allerdings bringt ein Version 70_STV.pm:
70_STV.pm 12857 2016-12-21 11:59:33Z Zwiebel
Sieht irgendwie alt aus. Ich installiere nochmal die aus Deinem Post und melde mich wieder. Es spricht alles dafür, dass ich die alte Version instaliert habe....
wolf
EDIT: also nochmal die STV aus Deinem Post installiert. Die Attribute sind jetzt da und ich habe ein paar Tests gemacht. Das Logfile erzählt ne Menge, aber der Fernseher reagiert gar nicht.
hier mal ein Auszug aus meinem log:
2018.11.16 19:58:15 5: [STV] samsungTV command CHDOWN parameter
2018.11.16 19:58:15 5: session_key: C887F6D2AAA6DE3C92E37CCA90C5F9EE
2018.11.16 19:58:15 5: session_id: 4
2018.11.16 19:58:15 5: [STV] samsungTV: generate command for key 'KEY_CHDOWN'
2018.11.16 19:58:15 5: [STV] samsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,81,116,137,59,6,74,58,91,5,54,92,60,41,160,134,218,77,113,19,111,240,214,118,190,145,239,96,79,4,114,128,252,11,154,93,61,133,41,242,70,46,180,143,235,151,226,14,199,32,9,41,129,66,106,158,196,177,115,245,193,203,34,103,141,160,25,120,13,111,243,55,35,65,210,204,237,71,156,150,215]"}]}'
2018.11.16 19:58:15 4: [STV] samsungTV: websocket path /socket.io/1/websocket/RhfqiTIDfOLMLxw-ccNE
2018.11.16 19:58:15 5: [STV] samsungTV send to TV: GET /socket.io/1/websocket/RhfqiTIDfOLMLxw-ccNE HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.16 19:58:15 5: [STV] samsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.16 19:58:15 5: [STV] samsungTV second websocket response: �1::
2018.11.16 19:58:15 5: [STV] samsungTV connected with websocket
2018.11.16 19:58:15 4: [STV] samsungTV sending KEY_CHDOWN
2018.11.16 19:58:15 5: [STV] samsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,81,116,137,59,6,74,58,91,5,54,92,60,41,160,134,218,77,113,19,111,240,214,118,190,145,239,96,79,4,114,128,252,11,154,93,61,133,41,242,70,46,180,143,235,151,226,14,199,32,9,41,129,66,106,158,196,177,115,245,193,203,34,103,141,160,25,120,13,111,243,55,35,65,210,204,237,71,156,150,215]"}]}
2018.11.16 19:58:16 5: [STV] samsungTV command 0 parameter
2018.11.16 19:58:16 5: session_key: C887F6D2AAA6DE3C92E37CCA90C5F9EE
2018.11.16 19:58:16 5: session_id: 4
2018.11.16 19:58:16 5: [STV] samsungTV: generate command for key 'KEY_0'
2018.11.16 19:58:16 5: [STV] samsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,124,130,107,54,156,80,65,28,121,186,205,2,130,16,160,19,205,25,163,186,223,233,129,59,132,170,167,41,215,243,92,113,221,115,64,8,171,34,62,10,185,249,149,173,239,20,243,137,239,236,50,81,74,249,244,250,164,21,88,246,20,159,188,95,85,126,101,149,148,235,233,220,179,228,7,221,5,84,107,101]"}]}'
2018.11.16 19:58:16 4: [STV] samsungTV: websocket path /socket.io/1/websocket/WUV4ZDyel4u6IIrmccNF
2018.11.16 19:58:16 5: [STV] samsungTV send to TV: GET /socket.io/1/websocket/WUV4ZDyel4u6IIrmccNF HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.16 19:58:16 5: [STV] samsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.16 19:58:16 5: [STV] samsungTV second websocket response: �1::
2018.11.16 19:58:16 5: [STV] samsungTV connected with websocket
2018.11.16 19:58:16 4: [STV] samsungTV sending KEY_0
2018.11.16 19:58:16 5: [STV] samsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,124,130,107,54,156,80,65,28,121,186,205,2,130,16,160,19,205,25,163,186,223,233,129,59,132,170,167,41,215,243,92,113,221,115,64,8,171,34,62,10,185,249,149,173,239,20,243,137,239,236,50,81,74,249,244,250,164,21,88,246,20,159,188,95,85,126,101,149,148,235,233,220,179,228,7,221,5,84,107,101]"}]}
2018.11.16 19:58:19 5: Harmony: tag: message, attr: content-length="344"
2018.11.16 19:58:19 5: Harmony: tag: message, attr: from="HarmonyOne_Pop@qa1.com" to="ab903454-7bee-4410-9eea-bb5355bb667e"
2018.11.16 19:58:20 5: [STV] samsungTV command 0 parameter
2018.11.16 19:58:20 5: session_key: C887F6D2AAA6DE3C92E37CCA90C5F9EE
2018.11.16 19:58:20 5: session_id: 4
2018.11.16 19:58:20 5: [STV] samsungTV: generate command for key 'KEY_0'
2018.11.16 19:58:20 5: [STV] samsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,124,130,107,54,156,80,65,28,121,186,205,2,130,16,160,19,205,25,163,186,223,233,129,59,132,170,167,41,215,243,92,113,221,115,64,8,171,34,62,10,185,249,149,173,239,20,243,137,239,236,50,81,74,249,244,250,164,21,88,246,20,159,188,95,85,126,101,149,148,235,233,220,179,228,7,221,5,84,107,101]"}]}'
2018.11.16 19:58:20 4: [STV] samsungTV: websocket path /socket.io/1/websocket/2IGdJan6Zc_GqZ_8ccNG
2018.11.16 19:58:20 5: [STV] samsungTV send to TV: GET /socket.io/1/websocket/2IGdJan6Zc_GqZ_8ccNG HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: $dev:$wsport
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2018.11.16 19:58:20 5: [STV] samsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2018.11.16 19:58:20 5: [STV] samsungTV second websocket response: �1::
2018.11.16 19:58:20 5: [STV] samsungTV connected with websocket
2018.11.16 19:58:21 4: [STV] samsungTV sending KEY_0
2018.11.16 19:58:21 5: [STV] samsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":4,"body":"[75,14,192,31,187,143,226,231,4,87,102,242,98,21,128,95,202,137,58,184,87,3,66,171,47,77,214,69,110,222,30,227,33,251,230,61,127,192,94,67,46,177,162,60,127,135,46,160,60,146,184,36,96,13,65,142,99,76,249,114,122,166,227,211,88,162,158,123,14,176,219,123,147,224,83,190,182,121,86,103,73,12,168,224,10,179,160,77,31,136,155,31,243,164,35,165,124,130,107,54,156,80,65,28,121,186,205,2,130,16,160,19,205,25,163,186,223,233,129,59,132,170,167,41,215,243,92,113,221,115,64,8,171,34,62,10,185,249,149,173,239,20,243,137,239,236,50,81,74,249,244,250,164,21,88,246,20,159,188,95,85,126,101,149,148,235,233,220,179,228,7,221,5,84,107,101]"}]}
Hallo Markus,
habe jetzt die Möglichkeit geschaffen die Kommunikation zwsichen Samsung Handy App und dem TV mit Wireshark mitzuschneiden. Parallel läuft noch das Debug vom TV. Habe "nur" den Datenverkehr zwischen beiden Geräten heraus gefiltert.
Im Anhang der gesamte Vorgang: starten der App, eimal Mute senden und App dann wieder schließen. Da die Datei recht groß ist (DLNA a la Twonky via UDP läßt grüßen ...), das Schlüsselwort "Mute channel" könnte die Befehlsübermittlung aus der App sein, d.h. davor muss das mit dem Token passiert sein.
Nach wie vor ist im Debug Log des TVs das hier zu finden:
SILLY "[Device] requestRemoteControl" { "TypeOfRemote": "CreateRemoteDevice" }
DEBUG "ipc client on end" {}
DEBUG "ipc client on close" {}
SILLY "[Router] Incoming Request" { "ip": "::ffff:192.168.1.168", "port": "8002", "method": "GET", "url": "/remoteControl/?token=", "body": {}
Wenn ich im Browser das hier aufrufe: https://192.168.1.9:8002/remoteControl/?token=
kommt das hier als Ergebnis zurück:
touchEnable "disable"
imeStatus "default"
imeText ""
FHEM kann brav seine Kommandos erfolgreich absetzen, solange die Samsung App am Handy gestartet ist.
Evtl. hilft Dir das ja etwas weiter.
Falls ich etwas genauer mitschneiden soll, einfach schreiben.
Danke und Gruß,
Michael
Hallo Michael,
war bei Dir nicht die Situation, dass Du gar nicht die Rückmeldung von TokenAuthSupport\":\"true\" nach einem ....api/v2/ hattest, u. Du "nur" das (gelöste) timing-Problem hattest ? :-\ :-[Wir sind nun soweit, dass das token-issue im lfd. Betrieb gelöst ist. Sobald der TV abgeschaltet wird, kommt aber (noch) eine erneute Berechtigungsabfrage. Geduld.
Zitatstarten der App, eimal Mute senden und App
Das ist mir nach wie vor suspekt. App authorisiert und "irgendwer" "befiehlt" fleißig ? Und wiederholt: Du hast nicht das Timing-Problem ?
Grüße Markus
Hallo Markus,
mea culpa, Du hast 100% recht!
Habe Deine modifizierte Version bzgl. Timing eingespielt, jetzt geht alles.
D.h. die Handy App muss irgendwie Verzögerungen zum Vorteil von FHEM erzeugt haben.
Somit ist Dein Paradoxon geklärt und das mit dem Token hat mich leider auf die falsche Fährte geführt.
Mein KS ist somit nicht Token belastet, wie Du schon immer annahmst!
Vielen Dank für Deine Arbeit und den Beistand.
Gruß,
Michael
Hallo Michael,
waren leider etwas verwirrend die gleichzeitig aufgetretenen beiden Probleme.
Welche Zeiten hast Du denn in den Attributen eingestellt bzw. könntest Du mal probieren Grenzwerte zu ermitteln.
Grüße Markus
Zitat von: KölnSolar am 21 Februar 2018, 21:48:02
So ihr Lieben, its testing time ;D
Ich habe folgendes realisiert:
- Gruppierung von RCs, um die Auswahlbox in der GUI beim set-Befehl übersichtlicher zu machen
- Argumente nur dort zulassen, wo sinnvoll(also fast nie)
- neues command: 0_text_line Hier könnt ihr z.B. Text für eine App eingeben, um Apps handlebarer zu machen
- neues command: 0_command_line Als Argument könnt Ihr kommaseparierte Sequenzen von commands eingeben. Jedes Komma führt notwendigerweise zu einem (blockierenden) Perl-sleep von 0.3 Sekunden. Also nicht übertreiben ;)
Wem also die DLNA-, RSS-Arie zu aufwändig/kompliziert war, der kann nun auch den Weg über den Browser gehen. Bei mir(mit "home-link" auf die Detailseite des FB_CALLMONITOR
set TV 0_command_line contents,,,,,,down,enter
Die unschönste aber einfachst zu realisierende Bildschirmnachricht bei eingehendem Anruf ;D
Es geht auch ohne Home-Link
set TV 0_command_line contents,,,,,,down,enter,,,,,right,right,right,right,right,enter
set TV 0_text_line http://192.168.xyz.ab:8083/fhem?detail=FritzBox
set TV enter
Mit den Kommas gebt ihr dem TV etwas Zeit ;)
Dann hätten wir noch: Die Vorstellung des neuen Wiki-Eintrags (https://wiki.fhem.de/wiki/STV) plin hat das in null-komma-nix auf die Beine gestellt. DANKE ! Und Ihr lest bitte mal und macht bitte Korrektur- u. Verbesserungsvorschläge.
Tja, und dann sind wir wohl fast fertig ;D ;D ;D Mich wurmt nur, dass wir ab K-Serie noch das Python-Skript benötigen >:( Und ich könnt als Python-Ahnungsloser wetten, dass das fast das selbe wie H-Serie ist und lediglich der Verschlüsselungspart weggefallen ist und der Port verändert wurde. Keiner da, der die Python-Skripte gegeneinander prüfen kann ? :'(
Grüße Markus
Testet bitte gut. Ich hab manchmal Probleme mit der Versionierung, weil ich von 2 Win-Rechnern auf 2 RPi's arbeite :-[
Edit: Ich hab dann mal die alte Version, die 281 mal heruntergeladen wurde, entfernt.
Ich bräuchte diese Version die hier in dem Post entfernt wurde. Ich habe einen Samsung TV der H-Serie und wenn ich den Fernseher in FHEM mit
define SAMSUNG_TV_WZ STV 192.168.0.3 wse
definieren möchte bekomme ich folgende Fehlermeldung:
[STV] Port is not supported
Kann mir bitte jemand schreiben wo ich die Version der
70_STV.pm finde?
Danke vielmals
Nö. 8)
Diese Zwischenversion macht keinen Sinn mehr.
Nimm die letzte und definiere wie dokumentiert mit
define SAMSUNG_TV_WZ STV 192.168.0.3 8000
Kannst Du bitte Deinen Beitrag in dem anderen Thread entfernen. Der ist nicht dafür gemacht und ich hatte wohl vergessen den wieder zu sperren.
Grüße Markus
Mit meinem (alten) F-Serie Samsung bekomme ich das auch noch nicht zum laufen. Aber ähnliche Frage wie 2 Posts früher, wo finde ich denn die aktuelle Version des Moduls?
Update: Post #386 ist wohl die aktuelle Version. Bekomme es allerdings mit der F-Serie nicht zum laufen. TV wird erkannt, lässt sich aber nicht steuern. Das Attrribut eventPrefix gibt es auch nicht mehr??
ZitatDas Attrribut eventPrefix gibt es auch nicht mehr??
Kenne ich nicht. Einziger Treffer der Suchfunktion ist Dein Post. In welcher Version gab es das ? Was machte es ?
ZitatBekomme es allerdings mit der F-Serie nicht zum laufen.
Wie lautet Dein list ? Was steht im Log ?
Grüße Markus
Das Attribut eventPrefix (oder so ähnlich??) ist mal in Verbindung von Fehlern in der Controlpoint.pm und DLNA aufgetaucht. Dann war es aber nicht in Verbindung mit Deiner 70_STV.pm.
Mein LIST vom SamsungTV (gerade wirklich aus, aber alles OK wenn er an ist):
Internals:
DEF uuid:0d1cef00-00dc-1000-b3c2-90f1aa143d1b
NAME DLNA_90f1aa143d1b
NR 268
STATE offline
TYPE DLNARenderer
UDN uuid:0d1cef00-00dc-1000-b3c2-90f1aa143d1b
READINGS:
2018-11-29 21:21:46 friendlyName [TV] Home
2018-11-29 21:21:46 manufacturer Samsung Electronics
2018-11-29 21:21:46 manufacturerURL http://www.samsung.com/sec
2018-11-29 21:21:46 modelDescription Samsung TV DMR
2018-11-29 21:21:46 modelName UE40F6320
2018-11-29 21:21:46 modelNumber AllShare1.0
2018-11-29 21:21:46 modelURL http://www.samsung.com/sec
2018-11-29 21:21:46 multiRoomSupport 0
2018-11-29 21:21:48 multiRoomVolume 0
2018-11-29 18:27:55 mute 0
2018-11-29 23:49:39 presence offline
2018-11-29 23:49:39 state offline
2018-11-29 18:27:55 transportState NO_MEDIA_PRESENT
2018-11-29 18:27:55 transportStatus OK
2018-11-29 18:27:55 volume 0
helper:
caskeid 0
caskeidClients
Attributes:
alias [TV] Home
room Test
userattr channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
verbose 5
webCmd volume
Im Log aus verschiedenen Versuchen:
2018.11.29 18:27:54 3: DLNARenderer: DLNA Renderer v2.0.7
2018.11.29 18:27:54 3: DLNARenderer: Created device DLNA_90f1aa143d1b for [TV] Home
2018.11.29 18:29:43 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.11.29 18:29:43 5: DLNARenderer: RenderingControl, SetMute(0,Master,1) succeed.
2018.11.29 18:31:47 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.11.29 18:31:47 5: DLNARenderer: RenderingControl, SetVolume(0,Master,0) succeed.
2018.11.29 18:31:52 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.11.29 18:31:52 5: DLNARenderer: RenderingControl, SetVolume(0,Master,24) succeed.
...
2018.11.29 21:15:28 3: [STV] tv_Samsung defined with host: 192.168.178.30 port: 55000
2018.11.29 21:15:30 3: DLNARenderer: DLNA Renderer v2.0.7
2018.11.29 21:15:31 4: DLNARenderer: deviceAdded, [TV] Home
2018.11.29 21:15:31 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.11.29 21:15:31 5: DLNARenderer: AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2018.11.29 21:15:31 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.11.29 21:15:31 5: DLNARenderer: RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2018.11.29 21:15:31 4: DLNARenderer: SpeakerManagement unknown for DLNA_90f1aa143d1b.
2018.11.29 21:15:31 4: DLNARenderer: SessionManagement unknown for DLNA_90f1aa143d1b.
ZitatDas Attribut eventPrefix (oder so ähnlich??) ist mal in Verbindung von Fehlern in der Controlpoint.pm und DLNA aufgetaucht. Dann war es aber nicht in Verbindung mit Deiner 70_STV.pm.
Ist es wirklich Zuviel verlangt "wahre" Gegebenheiten zu beschreiben ? Das Attribut heißt envPrefix und ist für den DLNARenderer, also nicht im STV-Modul "verschwunden". :o
Das list ist zwar vom TV, aber vom DLNARenderer-device.
Dein TV heißt :
[STV] tv_Samsung defined with host: 192.168.178.30 port: 55000
(Das reicht mir anstatt einem list)
Im Log sehe ich nur Ausgaben vom DLNARenderer. Was willst Du eigentlich bzw was soll dann
ZitatBekomme es allerdings mit der F-Serie nicht zum laufen. TV wird erkannt, lässt sich aber nicht steuern.
konkret heißen ? RC-Befehle, Bildschirmausgaben ??? :o
STV ansich scheint zu funktionieren. Was bisher nicht geklappt hat, ist die Textausgabe per STV auf der F-Serie. In Verbindung mit dem DLNARenderer klappt es auch noch nicht.
Nun mal die Version des DLNARenderers mit envPrefix für Samsung installiert und Devices neu angelegt. Ein 'querystate' bringt im Log einen Fehler:
Internals:
DEF 192.168.178.30 55000 DLNA_90f1aa143d1b
Host 192.168.178.30
MAC b8:27:eb:9a:1d:63
Mode DLNA_90f1aa143d1b
MyIP 192.168.178.20
NAME tv_Samsung2
NR 268
Port 55000
STATE connected
TYPE STV
READINGS:
2018-11-30 20:02:23 state connected
Attributes:
room Test
verbose 5
2018.11.30 20:04:29 1: [STV] tv_Samsung2: ERROR cannot open file for input the session key.
Das scheint mir ein Fehler. ;D
Probier erst einmal zum verstehen den DLNARenderer "solo".
Zitat von: KölnSolar am 30 November 2018, 22:24:19
Probier erst einmal zum verstehen den DLNARenderer "solo".
Der funktioniert mit der F-Serie ja offensichtlich auch nicht, siehe etwas weiter oben. Angelegt wird alles, der TV führt aber nichts aus. Weder Lautstärkeregelung noch Stream etc.
Zitat von: KölnSolar am 04 März 2018, 11:56:54
Schon lange (https://forum.fhem.de/index.php/topic,57595.msg770704.html#msg770704) ;D Kannst ja mal die Makrofunktion testen.
Grüße Markus
Hallo Markus,
ich habe meinen Bluray ins Arbeitszimmer runter geholt und wollte weiter am Thema arbeiten. Als erstes hatte ich Probleme den Bluray-Player anzusprechen. Im Log tauchten Fehlermeldungen zu mymac auf. Nachdem ich die MAC-Adresse meines FHEM gesetzt hatte reagierte er. Das habe ich im WIki nachgetragen.
Dann habe ich die Makro-Funktion testen wollen, ging aber nicht, weil ich die Version aus dem Repository hatte. Dann habe ich eine aktuelle Version gesucht und eine aus diesem Thread runtergeladen. Die produziert beim Reload die Meldung
Too many arguments for main::STV_55000 at ./FHEM/70_STV.pm line 315, near "$par)"
BEGIN not safe after errors--compilation aborted at ./FHEM/70_STV.pm line 1101.
Wo gibt's die aktuelle Version?
Ciao,
Peter
Hab' gerade realisiert, dass aus 0_command_line 0_macro wurde ...
Aktuelle Probleme mit meinem BD6500:
- Home springt nicht auf Position oben links. Wie kriege ich raus welches "Home" meine FB sendet? Antwort: CONTENTS
- Ich kann die die zu startende App nur relativ über down,right,right,enter starten, aber nicht über den Namen. Das könnte bei einer anderen Anzeigereihenfolge zu Problemen führen
- set SamsungBD 0_macro contents,down,right,right,enter führt oftmals nur zum Sprung nach oben links, der Rest wird geschluckt. Kann man die Verzögerung zwischen den Commands beeinflussen?
Raus aus der App mit exit,enter klappt aber ganz gut.
Hallo Peter,
ZitatIch kann die die zu startende App nur relativ über down,right,right,enter starten, aber nicht über den Namen. Das könnte bei einer anderen Anzeigereihenfolge zu Problemen führen
Zu welcher TV-serie war der BD vergleichbar ? Ab K haben wir ja eine Liste....
ZitatKann man die Verzögerung zwischen den Commands beeinflussen?
Ja, mehrere Komma. x*Komma=x*Pause(Achtung: Perl-sleep=blocking)
ZitatDer funktioniert mit der F-Serie ja offensichtlich auch nicht, siehe etwas weiter oben.
Kann ich mir nicht vorstellen. Meine Version im DLNARenderer-Thread habe ich ja mit E entwickelt. Und F sollte wie E funktionieren.
Grüße Markus
Hallo Markus,
solange die Apps an derselben Position bleiben habe ich jetzt eine funktionsfähige Lösung. Ich musste aber deutliche Pausen einbauen (FHEM sleep 1; statt Makro). Damit kann ich sicher ansteuern. Einziges Handycap ist im Augenblick der Ausstieg aus Amazon Video. Da muss ich ggf. mit einem separaten ENTER nachbessern, um den Prompt zu beantworten. Bei der Kombination exit,enter verschluckt er sich zu oft.
Die Pausen musste ich verlängern, da ich die FHEM-Instanz auf meinem x86-Server nutze. Die ist halt recht flott. Geben die Samsung-Devices eigentlich eine Rückmeldung, wenn der abgesetzte Command komplett ausgeführt ist?
Ciao,
Peter
ZitatGeben die Samsung-Devices eigentlich eine Rückmeldung, wenn der abgesetzte Command komplett ausgeführt ist?
Leider nein. Das ist genau das Problem, dass man nicht auf eine Rückmeldung warten kann, sondern Pausen einbauen muss. :'(
Sag mir doch bitte, welcher Serie der Blue-Ray entspricht(oder mit welchem Port Du ihn definierst). (Ich glaub war 55000 wie E-Serie(2012/2013), oder).
Grüße Markus
Gibt es eigentlich irgendeine Möglichkeit auszulesen, ob der TV an oder aus ist?
Mein Problem: Ich schalte den TV erst mit "POWEROFF" aus und danach schaltet irgendwann ein Relais alles aus. Wenn ich nach Hause komme geht das Relais wieder an. Möchte ich nun aber sofort TV schauen, braucht der TV locker 30 Sekunden bis er auf Wake on Lan oder den "POWER" Befehl hört. Aktuell löse ich das mit ganz vielen Sleeps und mehrfachem einschalten, es wäre allerdings deutlich einfacher, wenn man ein on-off Reading hätte.
ZitatMöchte ich nun aber sofort TV schauen, braucht der TV locker 30 Sekunden bis er auf Wake on Lan oder den "POWER" Befehl hört.
Was Du möchtest verstehe ich noch. Den Weg aber nicht. Wake on Lan hat ja nichts mit dem TV zu tun. Der ist an(nicht standby!) oder aus(state). Wird er eingeschaltet, lässt sich die Erkennung des state per querystate(demnächst statusRequest) außerhalb der zyklischen state-Ermittlung ermitteln.
Dein Ziel ist einfacher über das Relais zu erreichen: TV nur über Relais ab-/anschalten schaltet den TV im vorherigen Zustand wieder ein -> sofortige Verfügbarkeit.
Grüße Markus
Zitat von: KölnSolar am 03 Dezember 2018, 07:42:30
Was Du möchtest verstehe ich noch. Den Weg aber nicht. Wake on Lan hat ja nichts mit dem TV zu tun. Der ist an(nicht standby!) oder aus(state). Wird er eingeschaltet, lässt sich die Erkennung des state per querystate(demnächst statusRequest) außerhalb der zyklischen state-Ermittlung ermitteln.
Dein Ziel ist einfacher über das Relais zu erreichen: TV nur über Relais ab-/anschalten schaltet den TV im vorherigen Zustand wieder ein -> sofortige Verfügbarkeit.
Grüße Markus
Ja, das wollte ich eigentlich umgehen und den TV vorher sauber ausschalten. Aber ich denke dann bleibe ich nur beim Relais.
Wäre halt trotzdem cool wenn man ein Reading hätte ob der TV gerade im Standby oder eingeschaltet ist.
ZitatWäre halt trotzdem cool wenn man ein Reading hätte ob der TV gerade im Standby oder eingeschaltet ist.
Cool ja. Technisch aber nur individuell lösbar. Den Zustand standby gibt es nicht, da es noch nicht einmal eine Netzwerkverbindung, um auf den TV zuzugreifen, gibt. ;) Folglich kannst Du Dir also nur einen Dummy basteln(oder userreading :-\), wo Du aus dem Status des Relais und dem Status des STV(connected/disconnected; demnächst absent/on) standby ableitest, also
Relais an && TV off = standby
Grüße Markus
Zitat von: KölnSolar am 02 Dezember 2018, 20:43:26
Sag mir doch bitte, welcher Serie der Blue-Ray entspricht(oder mit welchem Port Du ihn definierst). (Ich glaub war 55000 wie E-Serie(2012/2013), oder).
Grüße Markus
Hi Markus,
mein BD6500 arbeitet mit Port 55000.
Ciao,
Peter
P.S. Wo gibt's die aktuellste Version? Ich würde den Link dann im Wiki nachtragen.
Hi Peter,
aktuell nur bei mir und Testern ;)
Da hat sich ne Meeenge verändert. ;) Ich müsste meinen E mal wieder ins Netz hängen, um diesen Serientypen mit der neuen Version zu testen, bevor ich sie veröffentliche. :'(
Zitatmein BD6500 arbeitet mit Port 55000.
OK. Dann steht das D vielleicht sogar für D-serie ? Egal. Bzgl. RC-commands sind die gleich.
Grüße Markus
Zitat von: KölnSolar am 03 Dezember 2018, 15:06:40
Cool ja. Technisch aber nur individuell lösbar. Den Zustand standby gibt es nicht, da es noch nicht einmal eine Netzwerkverbindung, um auf den TV zuzugreifen, gibt. ;) Folglich kannst Du Dir also nur einen Dummy basteln(oder userreading :-\), wo Du aus dem Status des Relais und dem Status des STV(connected/disconnected; demnächst absent/on) standby ableitest, also
Relais an && TV off = standby
Grüße Markus
Das trifft auf meinen TV nicht ganz zu. Mein TV hat im Standby Netzwerk und lässt sich anpingen und per WOL aufwecken.
Was hast Du denn für einen typ ? Firmware ? WLAN/LAN ?
Wenn Du ihn anpingen kannst, kannst Du das ja über das presence-Modul machen.
Grüße Markus
Zitat von: KölnSolar am 04 Dezember 2018, 16:31:42
Was hast Du denn für einen typ ? Firmware ? WLAN/LAN ?
Wenn Du ihn anpingen kannst, kannst Du das ja über das presence-Modul machen.
Grüße Markus
Ich habe einen Samsung MU6179 über LAN. Nein, über Presence kann ich nur schauen ob das Relais an ist, das weiß ich aber eh. Interessanter ist für mich ob der TV im Standby ist oder wirklich an. Das kann ich bis jetzt nicht auslesen...
Eventuell kann man das über die Antworten des TVs auf API Aufrufe (wie Netflix öffnen) auslesen?
Wir drehen uns leicht im Kreis, da Du Dich wenig darüber auslässt, wie genau sich der TV und STV bei Dir verhalten und Dein case aussieht.
Glaskugel an:
1. relais off ==> TV off u. state in FHEM absent; ping erfolglos
2. relais on && TV off(standby) ==> STV-state in FHEM absent;ping erfolgreich
Dann kannst Du auch per presence den Netzwerk-Status present ermitteln.
Die beiden states verbunden, hast Du Deinen gewünschten Status standby ermittelt.
(alternativ:
Zitatob das Relais an ist, das weiß ich aber eh
&& STV-state=absent ergibt state standby )
3. relais && TV on ==> STV-state in FHEM on;ping erfolgreich
Sollte aber bei Zustand 2. der STV-State on sein, dann hieße das, dass der Webserver des TV auch im standby gestartet ist. Dann würde
ZitatEventuell kann man das über die Antworten des TVs auf API Aufrufe (wie Netflix öffnen) auslesen?
wohl ohne Fehler funktionieren und nicht zum gewünschten Unterscheidungsmerkmal führen. In dieser Konstellation hätte ich keine Lösung für den standby-state.
Und natürlich ist der STV-state dauerhaft gemeint, also nicht kurz(bis zu 1min.) nach Ein- od. Ausschalten.
Btw. steht Dein Wunsch nach dem standby-Status mit Deiner ursprünglichen Fragestellung
ZitatMöchte ich nun aber sofort TV schauen, braucht der TV locker 30 Sekunden bis er auf Wake on Lan oder den "POWER" Befehl hört.
in Verbindung ?
Das liegt doch dann am Aufbau der Netzwerkverbindung. Was soll da vom TV kommen, der gar keine Netzwerkverbindung hat ?
Und oben geschilderte Lösung funktioniert auch nicht, weil sowohl bei presence, als auch dem STV der state nicht event-gesteuert, sondern per zyklischer Abfrage ermittelt wird.
Grüße Markus
Hallo Markus,
ich hab die Version vom 8. November runtergeladen und Fhem neugestartet:
https://forum.fhem.de/index.php/topic,57595.msg855402.html#msg855402 (https://forum.fhem.de/index.php/topic,57595.msg855402.html#msg855402)
In Fhem global habe ich exclude-from-update 70_STV.pm entfernt, d.h. ich bekomme weitere updates über den offizielen Weg, ist das so richtig?
Ein list meines Devices:
Internals:
.triggerUsed 0
.validcommands 0:noArg 1:noArg 2:noArg 3:noArg 4:noArg 5:noArg 6:noArg 7:noArg 8:noArg 9:noArg AV1:noArg AV2:noArg CHDOWN:noArg CHUP:noArg CH_LIST:noArg CLEAR:noArg COMPONENT1:noArg COMPONENT2:noArg CONTENTS:noArg CONVERGENCE:noArg CYAN:noArg DOWN:noArg ENTER:noArg ESAVING:noArg EXIT:noArg GUIDE:noArg GREEN:noArg HDMI:noArg HDMI1:noArg HDMI2:noArg HELP:noArg HOME:noArg INFO:noArg LEFT:noArg MENU:noArg MUTE:noArg PIP_CHDOWN:noArg PIP_CHUP:noArg PIP_ONOFF:noArg POWER:noArg POWEROFF:noArg POWERON:noArg PRECH:noArg PROGRAM:noArg RED:noArg RETURN:noArg RIGHT:noArg SLEEP:noArg TOOLS:noArg TTX_MIX:noArg TV:noArg TV_MODE:noArg UP:noArg VOLDOWN:noArg VOLUP:noArg YELLOW:noArg querystate:noArg 0_text_line 0_macro G_AUTO_:AUTO_ARC_ANTENNA_AIR,AUTO_ARC_ANTENNA_CABLE,AUTO_ARC_ANTENNA_SATELLITE,AUTO_ARC_ANYNET_AUTO_START,AUTO_ARC_ANYNET_MODE_OK,AUTO_ARC_AUTOCOLOR_FAIL,AUTO_ARC_AUTOCOLOR_SUCCESS,AUTO_ARC_CAPTION_ENG,AUTO_ARC_CAPTION_KOR,AUTO_ARC_CAPTION_OFF,AUTO_ARC_CAPTION_ON,AUTO_ARC_C_FORCE_AGING,AUTO_ARC_JACK_IDENT,AUTO_ARC_LNA_OFF,AUTO_ARC_LNA_ON,AUTO_ARC_PIP_CH_CHANGE,AUTO_ARC_PIP_DOUBLE,AUTO_ARC_PIP_LARGE,AUTO_ARC_PIP_LEFT_BOTTOM,AUTO_ARC_PIP_LEFT_TOP,AUTO_ARC_PIP_RIGHT_BOTTOM,AUTO_ARC_PIP_RIGHT_TOP,AUTO_ARC_PIP_SMALL,AUTO_ARC_PIP_SOURCE_CHANGE,AUTO_ARC_PIP_WIDE,AUTO_ARC_RESET,AUTO_ARC_USBJACK_INSPECT,AUTO_FORMAT,AUTO_PROGRAM G_EXTx:EXT1,EXT2,EXT3,EXT4,EXT5,EXT6,EXT7,EXT8,EXT9,EXT10,EXT11,EXT12,EXT13,EXT14,EXT15,EXT16,EXT17,EXT18,EXT19,EXT20,EXT21,EXT22,EXT23,EXT24,EXT25,EXT26,EXT27,EXT28,EXT29,EXT30,EXT31,EXT32,EXT33,EXT34,EXT35,EXT36,EXT37,EXT38,EXT39,EXT40,EXT41 G_Others:3SPEED,4_3,16_9,AD,ADDDEL,ALT_MHP,ANGLE,ANTENA,ANYNET,ANYVIEW,APP_LIST,ASPECT,AV3,BACK_MHP,BOOKMARK,CALLER_ID,CAPTION,CATV_MODE,CLOCK_DISPLAY,CONVERT_AUDIO_MAINSUB,CUSTOM,DEVICE_CONNECT,DISC_MENU,DMA,DNET,DNIe,DNSe,DOOR,DSS_MODE,DTV,DTV_LINK,DTV_SIGNAL,DVD_MODE,DVI,DVR,DVR_MENU,DYNAMIC,ENTERTAINMENT,FACTORY,FAVCH,FF,FF_,FM_RADIO,GAME,HDMI3,HDMI4,ID_INPUT,ID_SETUP,INSTANT_REPLAY,LINK,LIVE,MAGIC_BRIGHT,MAGIC_CHANNEL,MDC,MIC,MORE,MOVIE1,MS,MTS,NINE_SEPERATE,OPEN,PANNEL_CHDOWN,PANNEL_CHUP,PANNEL_ENTER,PANNEL_MENU,PANNEL_POWER,PANNEL_SOURCE,PANNEL_VOLDOW,PANNEL_VOLUP,PANORAMA,PAUSE,PCMODE,PERPECT_FOCUS,PICTURE_SIZE,PIP_SCAN,PIP_SIZE,PIP_SWAP,PLAY,PLUS100,PMODE,POWER,PRINT,QUICK_REPLAY,REC,REPEAT,RESERVED1,REWIND,REWIND_,RSS,RSURF,SCALE,SEFFECT,SETUP_CLOCK_TIMER,SOUND_MODE,SOURCE,SRS,STANDARD,STB_MODE,STILL_PICTURE,STOP,SUB_TITLE,SVIDEO1,SVIDEO2,SVIDEO3,TOPMENU,TTX_SUBFACE,TURBO,VCHIP,VCR_MODE,WHEEL_LEFT,WHEEL_RIGHT,W_LINK,ZOOM1,ZOOM2,ZOOM_IN,ZOOM_MOVE,ZOOM_OUT caller:noArg screen:noArg
CFGFN ./FHEM/Anwesenheitserkennung.cfg
DEF 192.168.1.32 55000
Host 192.168.1.32
MAC b8:27:eb:5f:20:94
Mode
MyIP 192.168.1.26
NAME SamsungTV
NR 242
Port 55000
STATE disconnected
TYPE STV
.attraggr:
.attrminint:
READINGS:
2018-12-21 10:54:34 state disconnected
helper:
bm:
STV_Attr:
cnt 4
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:37:39
max 0.000102996826171875
tot 0.000319004058837891
mAr:
set
SamsungTV
delayRC
600000
STV_Define:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:41:31
max 0.116321802139282
tot 0.19838285446167
mAr:
HASH(0x4913830)
SamsungTV STV 192.168.1.32 55000
STV_Set:
cnt 175
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:54:19
max 18.3977360725403
tot 24.6261892318726
mAr:
HASH(0x4913830)
SamsungTV
POWERON
Attributes:
callerURI http://192.168.1.26:8083/fhem
delayMacro 300000
delayRC 600000
icon it_television
screenURI http://192.168.1.26:8083/fhem
Ich kann Programme schalten, auch Ausschalten des Fernsehers geht, aber nicht Einschalten.
Der Wechsel des state zwischen connected/disconnetced (oder Gegenrichtung) dauert so 30 bis 40 Sekunden, nachdem der Fernseher ein- bzw. ausgeschaltet wurde.
Ist das so in Ordnung?
Siehst du bei dem list etwas Auffälliges?
Was kann ich noch mit diesem Modul sinnvolles anstellen?
Viele Grüße Gisbert
Hi Gisbert,
ZitatIst das so in Ordnung?
Ja. Prüfung erfolgt zyklisch alle 60s.
ZitatIch kann Programme schalten, auch Ausschalten des Fernsehers geht, aber nicht Einschalten.
Auch das ist korrekt. Kein Lautstärke ? keine sonstigen RC-commands ?
Was ist das denn ?
bm:
STV_Attr:
cnt 4
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:37:39
max 0.000102996826171875
tot 0.000319004058837891
mAr:
set
SamsungTV
delayRC
600000
STV_Define:
cnt 2
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:41:31
max 0.116321802139282
tot 0.19838285446167
mAr:
HASH(0x4913830)
SamsungTV STV 192.168.1.32 55000
STV_Set:
cnt 175
dmx -1000
dtot 0
dtotcnt 0
mTS 21.12. 10:54:19
max 18.3977360725403
tot 24.6261892318726
mAr:
HASH(0x4913830)
SamsungTV
POWERON
ZitatSiehst du bei dem list etwas Auffälliges?
Ja.
ZitatcallerURI http://192.168.1.26:8083/fhem
Dort musst Du eine html-Seite oder ein rss.jpg eintragen, um es mit dem Befehl caller auf den TV zu streamen.
Und die Makrofunktion 0_macro ist auch nicht übel. Ggfs. auch 0_text_line bei der Bedienung von Apps.
Du hast eine Serie kleiner H ? Dann geht das auch ohne DLNARender über Port 7676(geht automatisch). Wobei der DLNARender noch kleinere Vorzüge hat. Da warte ich aber immer noch auf Reinerlein, damit er etwas an der Controlpoint.pm anpasst. :(
Grüße Markus
Hallo Markus,
leider habe ich keine Lautstärke-Regelung im Fernseher.
Ich leite den Ton an ein Surroundsystem; wenn man das einmal hat, will man den Ton vom Fernseher nicht mehr haben.
Leider kann ich den Ton mit der Fernbedienung des Fernsehers nicht bedienen, dafür aber mit einer einfachen Harmony-FB.
Andere RC-commands gibt es schon, da muss ich mal schauen, wie ich die sinnvoll nutzen kann.
Danke für den Hinweis auf das Attribut callerURI. Die Commandref sgat das folgende:
ZitatAttributes
callerURI: path to an URI of a media(jpg,mp3...)to be displayed on screen
main purpose: URI to be displayed on screen if a phone call comes in
Wie bekomme ich denn die Rufnummer vom Teilnehmer auf den Fernsehbildschirm?
Port 7676 ist anscheinend nicht kompatibel zur E-Serie; mit 55000 geht es.
Viele Grüße Gisbert
Hallo Markus,
set <device> caller oder screen führt dazu, dass Fhem nicht mehr erreichbar ist. Als Pfad und Datei habe ich ein SVG-Symbol aus Fhem eingetragen.
Viele Grüße Gisbert
Hi Gisbert,
was meinst Du mit
ZitatPort 7676 ist anscheinend nicht kompatibel zur E-Serie; mit 55000 geht es.
E-Serie muss man mit Port 55000 definieren. Modulintern erfolgt der Browseraufruf mit der eingetragenen URI über Port 7676.
ZitatWie bekomme ich denn die Rufnummer vom Teilnehmer auf den Fernsehbildschirm?
Notify auf das Anruferevent(bei mir Fritzbox). Ich hab dann ein RSS-device, welches ich als URI eintrage: http://....../fhem/rss/mycallrss.jpg Bei event Anrufannahme ein set TV EXIT, um wieder in den TV-Modus zu springen.
Zitatset <device> caller oder screen führt dazu, dass Fhem nicht mehr erreichbar ist. Als Pfad und Datei habe ich ein SVG-Symbol aus Fhem eingetragen.
Kannst es einfach mal mit z.B. fhem.de ausprobieren. Seitdem ich den N habe, habe ich E bei Moduländerungen nicht getestet. Könnte also auch ein Modulfehler sein....
Grüe Markus
Hallo Markus,
ZitatKannst es einfach mal mit z.B. fhem.de ausprobieren. Seitdem ich den N habe, habe ich E bei Moduländerungen nicht getestet. Könnte also auch ein Modulfehler sein....
Mit dem Attribute screenURI fhem.de erhält man den gleichen Fehler: Fhem ist nicht mehr erreichbar und nur durch Anwendung von sanfter Gewalt durch Neustart wieder zum Laufen zu bekommen.
Ich hab auch das Modul 98_DLNARenderer.pm nach /opt/fhem/FHEM kopiert und sowohl dieses Modul als auch 70_STV.pm vom update-Prozess ausgeschlossen.
Ich beobachte dann mal, was noch weiter geschieht.
Viele Grüße und ein Frohes Weihnachtsfest
Gisbert
Hi Gisbert,
caller/screen ist ja quasi identisch(technisch).
Ich brauche zum einen die konkrete URI, die Du eingegeben hast und ob mit oder ohne DLNARenderer definiert ist. So
Zitat
DEF 192.168.1.32 55000
ist es ohne und dann kennt das STV auch keinen DLNARenderer.
Dir auch ein Besinnliches
Markus
Hallo Markus,
die Definition des Gerätes lautet:
defmod SamsungTV STV 192.168.1.32 55000
Das Attribut für die scren URl lautete:
fhem.de
- so wie du es vorgegeben hattest.
Viele Grüße Gisbert
Dann spekulier ich mal auf einen Bug in der Port-7676-Funktionalität. Um das zu testen muss ich meinen E dann erst wieder ans LAN bringen :'(
Im Log stand bei verbose=5 nichts ? Nicht mal die [STV] SamsungTV: 192.168.1.32:7676 connection message: .....
Dann hätte ich eine Idee :) Klick mal hier (http://192.168.1.32:7676/smp_10_). Und ? Steht da was von MainTVAgent2 im Browser ? Wenn nicht, probier mal beim Link die Zahlen 2-18 anstatt der 10. Den letzten underscore nicht vergessen. ;)
Grüße Markus
Hallo Markus,
bei der 2 kommt das:
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:sec="http://www.sec.co.kr/dlna" xmlns:dlna="urn:schemas-dlna-org:device-1-0">
<specVersion>...</specVersion>
<device>
<deviceType>urn:samsung.com:device:RemoteControlReceiver:1</deviceType>
<friendlyName>[TV]UE50ES6980</friendlyName>
<manufacturer>Samsung Electronics</manufacturer>
<manufacturerURL>http://www.samsung.com/sec</manufacturerURL>
<modelDescription>Samsung TV RCR</modelDescription>
<modelName>UE50ES6980</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>http://www.samsung.com/sec</modelURL>
<serialNumber>20090804RCR</serialNumber>
<UDN>uuid:0db58580-00e6-1000-a60e-f47b5e48e6d6</UDN>
<sec:deviceID>RLCJEJIYQUFKC</sec:deviceID>
<sec:ProductCap>Resolution:1280X720,ImageZoom,ImageRotate,Y2012</sec:ProductCap>
<serviceList>
<service>
<serviceType>urn:samsung.com:service:MultiScreenService:1</serviceType>
<serviceId>urn:samsung.com:serviceId:MultiScreenService</serviceId>
<controlURL>/smp_4_</controlURL>
<eventSubURL>/smp_5_</eventSubURL>
<SCPDURL>/smp_3_</SCPDURL>
</service>
</serviceList>
</device>
</root>
bei der 18 das folgende:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetCurrentConnectionInfo</name>
<argumentList>
<argument>
<name>ConnectionID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
</argument>
<argument>
<name>RcsID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>
</argument>
<argument>
<name>AVTransportID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>
</argument>
<argument>
<name>ProtocolInfo</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>
</argument>
<argument>
<name>PeerConnectionManager</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>
</argument>
<argument>
<name>PeerConnectionID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
</argument>
<argument>
<name>Direction</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable>
</argument>
<argument>
<name>Status</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetProtocolInfo</name>
<argumentList>
<argument>
<name>Source</name>
<direction>out</direction>
<relatedStateVariable>SourceProtocolInfo</relatedStateVariable>
</argument>
<argument>
<name>Sink</name>
<direction>out</direction>
<relatedStateVariable>SinkProtocolInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetCurrentConnectionIDs</name>
<argumentList>
<argument>
<name>ConnectionIDs</name>
<direction>out</direction>
<relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>PrepareForConnection</name>
<argumentList>
<argument>
<name>RemoteProtocolInfo</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ProtocolInfo</relatedStateVariable>
</argument>
<argument>
<name>PeerConnectionManager</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionManager</relatedStateVariable>
</argument>
<argument>
<name>PeerConnectionID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
</argument>
<argument>
<name>Direction</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Direction</relatedStateVariable>
</argument>
<argument>
<name>ConnectionID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
</argument>
<argument>
<name>AVTransportID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_AVTransportID</relatedStateVariable>
</argument>
<argument>
<name>RcsID</name>
<direction>out</direction>
<relatedStateVariable>A_ARG_TYPE_RcsID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>ConnectionComplete</name>
<argumentList>
<argument>
<name>ConnectionID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_ConnectionID</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_ProtocolInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_ConnectionStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>OK</allowedValue>
<allowedValue>ContentFormatMismatch</allowedValue>
<allowedValue>InsufficientBandwidth</allowedValue>
<allowedValue>UnreliableChannel</allowedValue>
<allowedValue>Unknown</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_AVTransportID</name>
<dataType>i4</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_RcsID</name>
<dataType>i4</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_ConnectionID</name>
<dataType>i4</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_ConnectionManager</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SourceProtocolInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>SinkProtocolInfo</name>
<dataType>string</dataType>
<defaultValue/>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Direction</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Input</allowedValue>
<allowedValue>Output</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="yes">
<name>CurrentConnectionIDs</name>
<dataType>string</dataType>
<defaultValue>0</defaultValue>
</stateVariable>
</serviceStateTable>
</scpd>
Viele Grüße Gisbert
Edit: mit der 10 geht es nicht.
Und bei 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 ? ::) ;D
Frohe Weihnachten
Markus
Edit: Aha, 10 geht nicht, schlecht. Ich hab mir noch aufgeschrieben, dass das früher(ältere frimware ?) mal 8 war. :-\
Edit2: Du hast mich gerade noch auf die Idee gebracht, dass ich mal forsche, was der N so her gibt. Meines Wissens gibt es den Port und damit die UPnP-Services nicht mehr, aber wer weiß.....Denn dann gibt es schicke neue Readings. ;D
Hallo,
ich hoffe dass ich hier richtig bin.
Seit ca einer Woche beschäftige ich mich damit meinen Samsung TV
der N Serie in Fhem einzubinden.
Vorgegangen bin ich wie in der Anleitung, der TV ist zwar connected, aber ich bekomme weder Readings noch kann ich ihn steuern.
Hier mal ein list
Internals:
DEF 192.168.178.31 8001
Host 192.168.178.31
Mode
NAME SamsungTV
NR 137
Port 8001
STATE connected
TYPE STV
READINGS:
2018-12-30 16:38:37 state connected
Attributes:
delayMacro 300000
delayRC 600000
Hat hier noch jemand einen Tipp oder Hinweis für mich?
LG Christian
Hallo Christian,
vermutlich das token-Problem (https://forum.fhem.de/index.php/topic,57595.msg851962.html#msg851962). Habe ich zwar gelöst, bin aber seit Wochen dabei das Modul auch für die TV-Altversionen lauffähig zu machen, was unendlich lange dauert. Vorher werde ich die neue Version nicht posten. :'( Geduld.
Grüße Markus
Hi Markus,
danke für deine Antwort.
Was ich nicht ganz verstehe ist deine Aussage ,,TV-Altversion", ich habe hier einen TV der
N-Serie, also doch relativ neu.
Gruß Christian
Altversion heißt: Baujahr älter 2016(J-Serie) Das Modul unterstützt alle LEDs. Und die habe ich nicht ;D und bin bei Tests auf Fremdunterstützung angewiesen. :'( Versionsunterschiede (https://forum.fhem.de/index.php?topic=82890.msg751322#msg751322)
Grüße Markus
wenn ich dir beim Testen behilflich sein kann einfach melden.
Gruß Christian
Danke fürs Angebot. Mit N-Serie entwickle ich. E hab ich um ggfs. selber zu testen. Probleme machen mir H/J, die ähnlich K-N sind, aber zusätzlich verschlüsselt, andere Ports.... ::)
Ok, dann viel Erfolg
LG Christian
Zitat von: KölnSolar am 23 November 2018, 10:18:21
Nö. 8)
Diese Zwischenversion macht keinen Sinn mehr.
Nimm die letzte und definiere wie dokumentiert mit
define SAMSUNG_TV_WZ STV 192.168.0.3 8000
Kannst Du bitte Deinen Beitrag in dem anderen Thread entfernen. Der ist nicht dafür gemacht und ich hatte wohl vergessen den wieder zu sperren.
Grüße Markus
Hallo Markus. Sorry dass ich erst jetzt antworte.
Welche Version vom welchen Post muss ich da nehmen?
Denn wenn ich die bei der offiziellen Version den TV mit
Zitatdefine SAMSUNG_TV_WZ STV 192.168.55.3 8000
definiere kommt folgende Meldung:
Zitat[STV] Port is not supported
???
Danke für deine Hilfe
hier (https://forum.fhem.de/index.php/topic,57595.msg855402.html#msg855402)
Und bitte Deinen Post (https://forum.fhem.de/index.php/topic,82890.msg862579.html#msg862579) entfernen. Das ist mein Doku- und kein Diskussions-Thread.
Grüße Markus
Super danke hat funktioniert. :) :) :)
Post hab ich gelöscht :D
Ich habe nun meine Strategie etwas geändert, damit ich eine neue Version schneller(kleiner mehrere Monate) veröffentlichen kann.
Deshalb findet Ihr nun hier (https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370) eine neue Version. Zukünftig werde ich in dem hiesigen Thread lediglich neue Versionen ankündigen oder aber spezielle Testversionen veröffentlichen.
Funktionsweise des Moduls sind sowohl im o.g. Thread, als auch in der englischen commandref des Moduls beschrieben. Also bevor Fragen gestellt werden, erst einmal lesen.
Was hat sich in der neuen Version geändert:
- token-Unterstützung für neueste Serien/firmware
- Unterstützung mehrerer Geräte aus H-/J-Serie in einer Installation
- Attribute delayMacro und delayRC, um ggfs. notwendige delays einzustellen
- Änderung des online-Status in absent/on
- Befehl für die sofortige Statusabfrage lautet jetzt statusRequest
- 2-stellige channel-Auswahl
- diverse weitere Anpassungen zur Konformität zu FHEM-guidelines (https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV)
- diverse "Eigenschaften" bei optionaler Verwendung des DLNA-Client. Aber Achtung: Ich arbeite seit Monaten mit nicht veröffentlichten
Modifikationen !!! Keine Ahnung, wie sich das Verhalten ohne diese Modifikationen auswirkt !!! Also Vorsicht !!!!
(wenn sich nicht bald etwas zum DLNARenderer tut, werde ich dort meine modifizierte Version veröffentlichen)
....
Have fun
Markus
Edit: Bei den Tests hat sich herausgestellt, dass es möglicherweise ::) Blocking-Probleme bei H-/J-Serie gibt, die "konstruktionsbedingt" sind, sich aber abstellen ließen. Daher die Bitte entweder mit vorhandenem freezemon beobachten oder mal einen RC-Befehl bei verbose=5 zu senden und mir das Log präsentieren.
Edit2: Oh, ich vergaß. Ggfs. wird die Installation von zusätzlichen Perl-Modulen notwendig. Wird hoffentlich durch Fehlermeldungen abgefangen. :-\ apt-get install libio-socket-ssl-perl, apt-get install libcrypt-ssleay-perl
Hm, 8 Downloads, 3 "likes", kein Post,
dann scheint ja alles bestens ?
Dann ist es an der Zeit sich an den DLNARenderer zu machen. Aber Achtung: nur für die, die wissen, was sie tun. Es ist eine kleine Knobelaufgabe die ControlPoint.pm anzupassen ! Aktuelle Version findet Ihr im DLNARenderer-Thread.
Grüße Markus
Hallo Markus,
ich bin nach wie vor interessiert, warte aber zunächst noch mit dem Download und der Nutzung ab, was aber wie du weißt an meiner Begriffstutzigkeit :'( in Sachen IT und Programmierung liegt.
Weiterhin gutes Gelingen, ich verspreche, dass ich am Ball bleibe.
Viele Grüße Gisbert
Hi Gisbert,
für Deinen muss ich meinen alten E-Serie ans LAN bringen, um Dein Problem zu verstehen.(Oder jemand anders bestätigt die Funktion der neusten Version für E-/F-Serie ;)).
Grüße Markus
Zitat von: KölnSolar am 03 Januar 2019, 13:30:02
Ich habe nun meine Strategie etwas geändert, damit ich eine neue Version schneller(kleiner mehrere Monate) veröffentlichen kann.
Deshalb findet Ihr nun hier (https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370) eine neue Version. Zukünftig werde ich in dem hiesigen Thread lediglich neue Versionen ankündigen oder aber spezielle Testversionen veröffentlichen.
Funktionsweise des Moduls sind sowohl im o.g. Thread, als auch in der englischen commandref des Moduls beschrieben. Also bevor Fragen gestellt werden, erst einmal lesen.
Was hat sich in der neuen Version geändert:
- token-Unterstützung für neueste Serien/firmware
- Unterstützung mehrerer Geräte aus H-/J-Serie in einer Installation
- Attribute delayMacro und delayRC, um ggfs. notwendige delays einzustellen
- Änderung des online-Status in absent/on
- Befehl für die sofortige Statusabfrage lautet jetzt statusRequest
- 2-stellige channel-Auswahl
- diverse weitere Anpassungen zur Konformität zu FHEM-guidelines (https://wiki.fhem.de/wiki/DevelopmentGuidelinesAV)
- diverse "Eigenschaften" bei optionaler Verwendung des DLNA-Client. Aber Achtung: Ich arbeite seit Monaten mit nicht veröffentlichten
Modifikationen !!! Keine Ahnung, wie sich das Verhalten ohne diese Modifikationen auswirkt !!! Also Vorsicht !!!!
(wenn sich nicht bald etwas zum DLNARenderer tut, werde ich dort meine modifizierte Version veröffentlichen)
....
Have fun
Markus
Edit: Bei den Tests hat sich herausgestellt, dass es möglicherweise ::) Blocking-Probleme bei H-/J-Serie gibt, die "konstruktionsbedingt" sind, sich aber abstellen ließen. Daher die Bitte entweder mit vorhandenem freezemon beobachten oder mal einen RC-Befehl bei verbose=5 zu senden und mir das Log präsentieren.
Edit2: Oh, ich vergaß. Ggfs. wird die Installation von zusätzlichen Perl-Modulen notwendig. Wird hoffentlich durch Fehlermeldungen abgefangen. :-\ apt-get install libio-socket-ssl-perl, apt-get install libcrypt-ssleay-perl
Hi, nach der "Installation" des Moduls lässt sich mein FHEM leider gar nicht mehr starten.
Ich erhalte folgende Meldungen im LOG
019.01.06 12:18:10 3: [STV] TV_WZ read response with error Interrupted system call
2019.01.06 12:18:10 1: PERL WARNING: Use of uninitialized value $buf in concatenation (.) or string at ./FHEM/70_STV.pm line 521.
2019.01.06 12:18:10 1: PERL WARNING: Use of uninitialized value $buf in pattern match (m//) at ./FHEM/70_STV.pm line 522.
2019.01.06 12:18:10 1: PERL WARNING: Use of uninitialized value $buf in concatenation (.) or string at ./FHEM/70_STV.pm line 524.
2019.01.06 12:18:10 2: [STV] HTTP websocket-connection to TV_WZ not successful; undefined response of device
2019.01.06 12:18:10 3: [STV] TV_WZ defined with host: 192.168.178.22 port: 8001
Zitat019.01.06 12:18:10 3: [STV] TV_WZ read response with error Interrupted system call
zusammengesetzte Meldung: "Interrupted system call" kommt aus Perl
Zitat2019.01.06 12:18:10 2: [STV] HTTP websocket-connection to TV_WZ not successful; undefined response of device
2019.01.06 12:18:10 3: [STV] TV_WZ defined with host: 192.168.178.22 port: 8001
Das ist die letzte Meldung im Log ? Muss ich Dein Log von oben nach unten oder umgekehrt lesen ?
Glaskugel sagt: Du hast einen mindestens K-Serie TV mit IP 192.168.178.22 so definiert
define TV_WZ STV 192.168.178.22 8001
Glaskugel fragt sich, wo die verbose=4,5 Meldungen sind, die dazu da sind Fehler zu analysieren. Glaskugel fragt sich auch, ob der TV erstmalig eingebunden wird. Dann könnte es an nicht beachteter Berechtigungsfreigabe am TV liegen. Glaskugel wundert sich, dass das define im laufenden Betrieb scheinbar problemlos funktionierte, dann aber beim restart FHEM mit diesen letzten Logzeilen den Start abbricht
.......
Edit: Bei 14 Downloads, problemloser getesteter Funktionsweise mit N-Serie, sowohl mit, als auch ohne token, liegt das Problem vermutlich innerhalb Deiner 4 Wände. Da ich die nicht kenne, muss man mir schon durch schriftliche Informationen die Augen ersetzen.
Zitat von: KölnSolar am 06 Januar 2019, 14:59:05
zusammengesetzte Meldung: "Interrupted system call" kommt aus PerlDas ist die letzte Meldung im Log ? Muss ich Dein Log von oben nach unten oder umgekehrt lesen ?
Glaskugel sagt: Du hast einen mindestens K-Serie TV mit IP 192.168.178.22 so definiert
define TV_WZ STV 192.168.178.22 8001
Glaskugel fragt sich, wo die verbose=4,5 Meldungen sind, die dazu da sind Fehler zu analysieren. Glaskugel fragt sich auch, ob der TV erstmalig eingebunden wird. Dann könnte es an nicht beachteter Berechtigungsfreigabe am TV liegen. Glaskugel wundert sich, dass das define im laufenden Betrieb scheinbar problemlos funktionierte, dann aber beim restart FHEM mit diesen letzten Logzeilen den Start abbricht
.......
Edit: Bei 14 Downloads, problemloser getesteter Funktionsweise mit N-Serie, sowohl mit, als auch ohne token, liegt das Problem vermutlich innerhalb Deiner 4 Wände. Da ich die nicht kenne, muss man mir schon durch schriftliche Informationen die Augen ersetzen.
Hi, das Problem hat sich nach manuellem Löschen des Devices erledigt.
Im Nachgang habe ich die70_STV ersetzt und das Device erneut definiert.
Nun erhalte ich zumindest keine Probleme mehr.
Ich habe einen JU7590
Mit Port 8001 definiert ?
Ich stolpere etwas darüber, dass hier verschiedene ältere Versionen noch zum Download angeboten werden - vlt. könnte man die aus den Posts jeweils entfernen ?
LG
pah
Hallo pah,
würd ich gerne machen. Ich finde aber erst einmal keine. Die SuFu hilft mir leider auch nicht. Zumindest die letzten beiden müssten sich per blättern finden lassen... ::)
Grüße Markus
Edit: 10 Seiten geblättert, 2 Links entfernt.
Wer hier das FHEM-Modul 70_STV.pm mit seiner H-Serie betreibt, wird die dazu notwendige Schlüsseldatei 'samsung_session_key.txt' vermutlich mit 'regapp.pm' erzeugen (siehe #176). Die Verschlüsselung wird darin mittels eines externen Servers unter der IP 34.210.190.209 erledigt, deren Reverse Lookup zu Amazon Web Services führt. Da die Schlüsseldatei sporadisch immer mal neu erzeugt werden muss (z.B. nach einem Stromausfall, aber auch nicht immer), beschleicht einen die Sorge, dass der bei AWS gehostete Server mal nicht mehr zur Verfügung stehen könnte.
Inzwischen gibt es unter https://github.com/tdudek/samsung-remote-models-2014-and-newer (https://github.com/tdudek/samsung-remote-models-2014-and-newer) eine Javascript-Lösung, die die Verschlüsselung selbst macht und die ich erfolgreich getestet habe. Es wird allerdings Node.js benötigt.
Markus hat mich aber auch auf eine entsprechende Python-Lösung namens 'SmartCrypto' aufmerksam gemacht: https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)
Auch diese habe ich erfolgreich getestet und ein für unsere Zwecke geeignetes Script hinzugefügt. Es wird dazu Python3 ab Version 3.5 benötigt, das z.B. in Raspbian Stretch bereits installiert ist (Versionsabfrage mit 'python3 -V'). Weiter ist jetzt PIP notwendig, das mit 'apt-get install python3-pip' installiert wird. Es enthält auch das notwendige 'crypto'. Danach wird mit 'python3 -m pip install websocket-client' noch 'websocket' installiert.
Das von github heruntergeladene ZIP-Archiv mit SmartCrypto wird entpackt. Ich habe den darin enthaltenen Ordner 'PySmartCrypto' gleich unter /opt/fhem platziert. Jetzt wird nur noch das hier angehängte Script 'regapp_smartcrypto.py' dort hineinkopiert und darin die eigene IP des Fernsehers eingetragen (Zeile 12). Das sollte es gewesen sein.
Nach dem Start auf der Console mit 'python3 regapp_smartcrypto.py' erscheint die bekannte 4-stellige PIN auf dem TV, die man in die Console überträgt. Wenn jetzt alles klappt, liegt anschließend die Schlüsseldatei 'samsung_session_key.txt' im Ordner. Durch Auskommentieren der Zeile 16 kann die Schlüsseldatei auch eine Etage höher zu liegen kommen und somit direkt von 70_STV.pm gelesen werden. In Zeile 127 wird noch der User (fhem) und die Gruppe (dialout) der Schlüsseldatei gesetzt. Das kann auskommentiert werden, wenn nicht erwünscht.
Da dieses Script nur die Schlüsseldatei bereitstellt, stellt es keinen Eingriff in 70_STV.pm dar!
Hallo Raymund,
danke im Namen aller H/(J)-Serien-Besitzer. Feine Sache die Möglichkeit ohne Fremdserverzugriff zu haben. Ich hab dann die "Zusammenfassende Doku" entsprechend modifiziert.
@ALL: Auch wenn Raymund es eigentlich herausgestellt hat: Das ist nur für H/(J)-Serie relevant.
Grüße Markus
Hm - die neueste Version von vorgestern, aus dem Thread "Zusammenfassende Doku" liefert
ZitatToo many arguments for main::STV_55000 at /opt/fhem/FHEM/70_STV.pm line 387, near "$par)"
BEGIN not safe after errors--compilation aborted at /opt/fhem/FHEM/70_STV.pm line 1334.
LG
pah
Edit: Kommt wohl vom manuellen Laden des neuen Moduls...
aber nur bei reload ohne shutdown/restart ?
Seit gestern haben wir endlich eine Änderung der Controlpoint.pm im offiziellen FHEM. Dadurch kann nun der DLNAClient durch den DLNARenderer abgelöst werden.
Neben dem Attribut envPrefix = s ist nun das Attribut envNamespace = <undef> zusätzlich zu setzen. Die Version des DLNARenderers findet Ihr hier (https://forum.fhem.de/index.php/topic,39706.msg885157.html#msg885157). Am besten lest Ihr die letzten 2 Seiten vor dem verlinkten Post, da dort einige Hinweise zum Verständnis und Vorgehensweise zur Definition des DLNARenderers stehen.
Grüße Markus
Geht die 2018er Q-Serie eigentlich jetzt auch?
Keine positiven Rückmeldungen.
Aber ich vermute, dass seit der Lösung des token-Problems der Q funktioniert. Just try it. ;)
Zitat von: Raymund am 08 Januar 2019, 11:54:12
Wer hier das FHEM-Modul 70_STV.pm mit seiner H-Serie betreibt, wird die dazu notwendige Schlüsseldatei 'samsung_session_key.txt' vermutlich mit 'regapp.pm' erzeugen (siehe #176). Die Verschlüsselung wird darin mittels eines externen Servers unter der IP 34.210.190.209 erledigt, deren Reverse Lookup zu Amazon Web Services führt. Da die Verschlüsselung sporadisch immer mal wiederholt werden muss (z.B. nach einem Stromausfall, aber auch nicht immer), beschleicht einen die Sorge, dass der bei AWS gehostete Server mal nicht mehr zur Verfügung stehen könnte.
Inzwischen gibt es unter https://github.com/tdudek/samsung-remote-models-2014-and-newer (https://github.com/tdudek/samsung-remote-models-2014-and-newer) eine Javascript-Lösung, die die Verschlüsselung selbst macht und die ich erfolgreich getestet habe. Es wird allerdings Node.js benötigt.
Markus hat mich aber auch auf eine entsprechende Python-Lösung namens 'SmartCrypto' aufmerksam gemacht: https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)
Auch diese habe ich erfolgreich getestet und ein für unsere Zwecke geeignetes Script hinzugefügt. Es wird dazu Python3 ab Version 3.5 benötigt, das z.B. in Raspbian Stretch bereits installiert ist (Versionsabfrage mit 'python3 -V'). Weiter ist jetzt PIP notwendig, das mit 'apt-get install python3-pip' installiert wird. Es enthält auch das notwendige 'crypto'. Danach wird mit 'python3 -m pip install websocket-client' noch 'websocket' installiert.
Das von github heruntergeladene ZIP-Archiv mit SmartCrypto wird entpackt. Ich habe den darin enthaltenen Ordner 'PySmartCrypto' gleich unter /opt/fhem platziert. Jetzt nur noch das hier angehängte Script 'regapp_smartcrypto.py' dort hinein und darin die eigene IP des Fernsehers eintragen (Zeile 12). Das sollte es gewesen sein.
Nach dem Start auf der Console mit 'python3 regapp_smartcrypto.py' erscheint die bekannte 4-stellige PIN auf dem TV, die man in die Console überträgt. Wenn jetzt alles klappt, liegt anschließend die Schlüsseldatei 'samsung_session_key.txt' im Ordner. Durch Auskommentieren der Zeile 16 kann die Schlüsseldatei auch eine Etage höher zu liegen kommen und somit direkt von 70_STV.pm gelesen werden. In Zeile 127 wird noch der User (fhem) und die Gruppe (dialout) der Schlüsseldatei gesetzt. Das kann auskommentiert werden, wenn nicht erwünscht.
Da dieses Script nur die Schlüsseldatei bereitstellt, stellt es keinen Eingriff in 70_STV.pm dar!
Hallo,
ich hab erfolgreich das Javascript ausprobiert. :D
Wenn ich die regapp_smartcrypto starte, zeigt der TV eine PIN an.
Leider bekomme ich beim regapp_smartcrypto.py nach der Eingabe der PIN eine Fehlermeldung:
secondStepResponse: {"auth_data":"{\"auth_type\":\"SPC\",\"request_id\":\"5\",\"GeneratorClientHello\":\"019A000000000000000000\"}"}
Traceback (most recent call last):
File "regapp_smartcrypto.py", line 107, in <module>
output = HelloExchange(tvPIN)
File "regapp_smartcrypto.py", line 73, in HelloExchange
return crypto.parseClientHello(clientHello, hello_output['hash'], hello_output['AES_key'], UserId)
File "/home/pi/fhem-docker/fhem/PySmartCrypto/crypto.py", line 61, in parseClientHello
userIdLen=struct.unpack(">I",data[11:15])[0]
struct.error: unpack requires a bytes object of length 4
Offensichtlich wird der ClientHello code nicht komplett gesendet / empfangen.
Wenn ich mir den vom Java anschaue hat der 348 Hex-Stellen.
Hab bisher noch nie wirklich hinbekommen, dass ich den TV per FHEM steuern kann. Auch nicht, wenn die SmartView App aufm Handy parallel läuft (die App funktioniert für sich aber problemlos mit dem TV). FHEM STV mit Port 8001 erkennt nur, dass der TV an oder aus ist, aber kein Befehl wird umgesetzt (egal, ob der SessionKey mit alter regapp oder mit den Werten vom Java)
Der TV ist ein 55JU6450 mit Firmware 1530, was wohl leider schon zu neu ist!?
Gruß,
Jan
Zitataber nur bei reload ohne shutdown/restart
Sag ich ja.
UE55UJ7000
läuft (so ein bisschen...), habe ich im Wiki mit eingetragen. Allerdings nur Zifferntasten - die etwas intelligenteren Sachen gehen gar nicht. Da ist die Steuerung via Harmony deutlich besser.
LG
pah
ZitatFHEM STV mit Port 8001
ZitatSessionKey
Diese Aussagen passen nicht. Entweder 8001 oder 8000 verschlüsselt. Ich kann nicht ausschließen, dass noch verschlüsselt(wie H) und Port 8001(wie K), aber das kann das Modul nicht.
ZitatUE55UJ7000
Zitat55JU6450
Alte J-Serie halt :'( Da wusste Samsung wohl nicht, wo der Weg hingehen soll. Mal wie H, mal wie K und mal gar nicht.
ZitatAllerdings nur Ziffern
Kann ich mir kaum vorstellen. Aber wenn es bei Deinem so ist, schlägt der wohl komplett aus dem Raster.
ZitatSteuerung via Harmony deutlich besser
Aber keine Netzwerkbefehle. Mal den DLNARenderer ausprobiert ? Ein paar readings u. events(volume,mute,on/off) und Medienausgabe über STV.
Zitatdie App funktioniert für sich aber problemlos mit dem TV
Nur Zifferntasten wie bei pah mit STV? Alles was irgendwelche Apps können, kann das STV eigentlich auch. 8) Ggfs. müsste mit den bekannten Python-Skripts der individuelle TV näher analysiert werden.
Zitat von: KölnSolar am 12 Januar 2019, 09:29:17
Diese Aussagen passen nicht. Entweder 8001 oder 8000 verschlüsselt.
Danke für diesen Hinweis, da hab ich wohl nicht recht gelesen. Hab den Port gerade auf 8000 geändert und prompt funktioniert die komplette Steuerung vom TV. ;D Hatte gestern zwar auch schon mal alle 3 Ports durchprobiert, aber da gings nicht.
Dort steht ja Port 8000 für J-Serie: https://wiki.fhem.de/wiki/STV#J-Series.282015.29 (https://wiki.fhem.de/wiki/STV#J-Series.282015.29)
Zitat von: KölnSolar am 12 Januar 2019, 09:29:17
Mal den DLNARenderer ausprobiert ?
Ich habe den DLNARenderer definiert und FHEM restartet aber es hat keine Geräte erkant. Die zwei hidden-Devices sind da. Wenn ich es richtig verstanden habe, soll er doch die Geräte automatisch erkennen. Welchen Port muss ich im Docker-Container freigeben, damit das funktioniert? Oder woran könnte das noch liegen?
Aha ;D 8)
ZitatDLNARenderer
Das (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) hast Du gelesen und befolgt ? FHEM mindestens Stand 10.1.19 ::)
ZitatDie zwei hidden-Devices sind da.
Sollten 3 sein.
ZitatWelchen Port muss ich im Docker-Container freigeben
Keine Ahnung. Kenne mich weder mit Docker, noch mit Containern aus. :-[ :'(
Moin,
ich versuche gerade meinen PS51E579, also E-Serie, in fhem zu integrieren. Das STV Modul ist auch im State opened, aber reagiert auf keine Befehle.. Im Eventmonitor kommt aber z.B. " 2019-01-14 14:28:37 STV wz_fernseher VOLUP 1" an. Kennt jemand das Problem?
Auch hier ein herzliches Hallo zusammen :-)
Bisher habe ich ausgiebig das Thema Samsung und DLNARenderer verfolgt.
Ich bin mit FHEM auf dem Stand von gestern und habe volgende Versionen im Einsatz
Samsung UE65HU8500, also H-Serie mit Port 8000 und samsung_session_key.txt im FHEM Directory
DLNARenderer v2.0.7p3
STV v3.1
1) Der session key wurde generiert
2) Ich habe den DLNARenderer definiert und es wird mir initialized angezeigt
defmod MeinRenderer DLNARenderer
attr MeinRenderer userattr acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
attr MeinRenderer room Multimedia
attr MeinRenderer verbose 5
setstate MeinRenderer initialized
setstate MeinRenderer 2019-01-14 11:53:39 state initialized
3) Nach dem DLNARenderer wurde ein "shutdown reboot" durchgeführt und das Netz nach DLNA Devices durchsucht. es wurde dann folgendes angelegt, wobei "[TV] Living room" der Name aus dem Samsung TV ist und somit bereits ausgelesen wurde.
DLNASocket-MeinRenderer
DLNASocket-MeinRenderer-1900
DLNASocket-MeinRenderer-38089
MeinRenderer initialized
[TV] Living room online
4) Nun habe ich ein erneutes "shutdown reboot" durchgeführt, was ja nicht schaden sollte.
5) Im Anschluss habe ich dann das STV Modul eingerichtet.
defmod TV_Wz STV 192.168.178.23 8000 MeinRenderer
attr TV_Wz room Multimedia
attr TV_Wz verbose 5
setstate TV_Wz on
setstate TV_Wz 2019-01-14 13:34:26 friendlyName not found
setstate TV_Wz 2019-01-14 13:34:26 modelName not found
setstate TV_Wz 2019-01-14 13:34:26 mute not found
setstate TV_Wz 2019-01-14 13:34:26 presence present
setstate TV_Wz 2019-01-14 13:34:26 state on
setstate TV_Wz 2019-01-14 13:34:26 stateAV initialized
setstate TV_Wz 2019-01-14 13:34:26 volume not found
6) Nun kann ich den UE65HU8500 ansteuern und er lässt sich weitestgehend gut über STV steuern. Das Mapping der Befehle hängt wohl von der Firmware ab, wie ich bereits erfahren habe.
Nun hänge ich beim Ansteuern über DLNARenderer, denn ich kann nicht erkennen, dass irgend etwas zum TV gesendet wird. Eine Lautstärke Veränderung ist nur im Log zu sehen.
2019.01.14 14:36:27 4: [STV] TV_Wz online with 192.168.178.23:8000 - HTTP-Response: 200
2019.01.14 14:36:49 5: DLNARenderer: DLNA_bc14853da38d, RenderingControl: urn:schemas-upnp-org:service:RenderingControl:1 found. OK.
2019.01.14 14:36:49 5: DLNARenderer: DLNA_bc14853da38d, RenderingControl, SetVolume(0,Master,0) succeed.
2019.01.14 14:37:27 4: [STV] TV_Wz online with 192.168.178.23:8000 - HTTP-Response: 200
Danach habe ich versucht eine Textnachricht mit Wandlung als Sprachausgabe zu senden.
set DLNA_bc14853da38d stream http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test
Im Log steht dann folgendes, wobei die Meldung zu STV jede Minute kommt.
2019.01.14 14:59:28 4: [STV] TV_Wz online with 192.168.178.23:8000 - HTTP-Response: 200
2019.01.14 14:59:57 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 14:59:57 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test,) succeed.
2019.01.14 14:59:57 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 14:59:58 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, Play(0,1) succeed.
2019.01.14 15:00:28 4: [STV] TV_Wz online with 192.168.178.23:8000 - HTTP-Response: 200
2019.01.14 15:01:05 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 15:01:05 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test,<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/"><item id="-1" parentID="parent" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</dc:title><upnp:album>http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="40896">http://translate.google.com/translate_tts?tl=en&client=tw-ob&q=http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</res></item></DIDL-Lite>) succeed.
2019.01.14 15:01:05 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 15:01:05 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, Play(0,1) succeed.
2019.01.14 15:01:28 4: [STV] TV_Wz online with 192.168.178.23:8000 - HTTP-Response: 200
Die Sprachausgabe vom Übersetzungsdienst im Browser ist tadellos.
Was könnte ich denn nun in meiner Konfiguration vergessen haben? Das Forum habe ich im Laufe des letzten Jahres bereits zu diesem Thema leer gelesen, denn soooo lange bin ich da schon dran.
Viele Grüße
Christian
dlnarenderer und stv sind völlig unterschiedliche module und funktionieren unabhängig von einander oder wie bei dir eben auch nicht oder nur teilweise.
beim renderer fehlt wahrscheinlich "attr envPrefix s". anschliessend wahrscheinlich auch fhem restart.
ZitatDas Forum habe ich im Laufe des letzten Jahres bereits zu diesem Thema leer gelesen
Das (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) aber scheinbar nicht. ::)
Zitatmeinen PS51E579, also E-Serie
Ob das wirklich E ist ? :-\ Ist ja noch ein Plasma. Ich häng meinen E mal wieder ins Netz(LAN über Powerline), um allgemeine Probleme zu verifizieren...
Hallo Frank,
obwohl ich das auch schon mal gesetzt hatte, habe ich es nochmal erneut gemacht.
attr envPrefix = s
attr envNamespace = <undef>
Danach erneut ein "shutdown restart" und siehe da, es tut sich was. Was genau werde ich jetzt noch näher testen.
set DLNA_bc14853da38d stream http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test
Der Samsung TV (H-Serie) hat daraufhin "Hallo Test" ausgegeben und somit ist der Versuch erfolgreich.
2019.01.14 16:29:33 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 16:29:33 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:33 5: DLNARenderer: process event{
'Event' => {
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
'InstanceID' => {
'val' => '0',
'TransportState' => {
'val' => 'TRANSITIONING'
}
}
}
}
2019.01.14 16:29:33 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.01.14 16:29:33 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, SetAVTransportURI(0,http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test,<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/"><item id="-1" parentID="parent" restricted="1"><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:title>http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</dc:title><upnp:album>http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</upnp:album><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="4704">http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hallo%20Test</res></item></DIDL-Lite>) succeed.
2019.01.14 16:29:33 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:33 5: DLNARenderer: process event{
'Event' => {
'InstanceID' => {
'TransportState' => {
'val' => 'STOPPED'
},
'CurrentTrackDuration' => {
'val' => '0:00:00'
},
'CurrentMediaDuration' => {
'val' => '0:00:00'
},
'val' => '0'
},
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
}
}
2019.01.14 16:29:33 4: DLNARenderer: Update reading transportState with STOPPED
2019.01.14 16:29:33 5: DLNARenderer: DLNA_bc14853da38d, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.01.14 16:29:34 5: DLNARenderer: DLNA_bc14853da38d, AVTransport, Play(0,1) succeed.
2019.01.14 16:29:34 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:34 5: DLNARenderer: process event{
'Event' => {
'InstanceID' => {
'TransportState' => {
'val' => 'TRANSITIONING'
},
'val' => '0'
},
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
}
}
2019.01.14 16:29:34 4: DLNARenderer: Update reading transportState with TRANSITIONING
2019.01.14 16:29:35 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:35 5: DLNARenderer: process event{
'Event' => {
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
'InstanceID' => {
'val' => '0',
'CurrentTransportActions' => {
'val' => 'Stop'
}
}
}
}
2019.01.14 16:29:36 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:36 5: DLNARenderer: process event{
'Event' => {
'InstanceID' => {
'CurrentTrackDuration' => {
'val' => '0:00:01'
},
'CurrentMediaDuration' => {
'val' => '0:00:01'
},
'val' => '0'
},
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/'
}
}
2019.01.14 16:29:37 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:37 5: DLNARenderer: process event{
'Event' => {
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
'InstanceID' => {
'TransportState' => {
'val' => 'PLAYING'
},
'val' => '0',
'CurrentTransportActions' => {
'val' => 'Pause,Seek,Stop,X_DLNA_SeekByte,X_DLNA_SeekTime'
}
}
}
}
2019.01.14 16:29:37 4: DLNARenderer: Update reading transportState with PLAYING
2019.01.14 16:29:39 4: DLNARenderer: device DLNA_bc14853da38d received event. Details with verbose=5
2019.01.14 16:29:39 5: DLNARenderer: process event{
'Event' => {
'xmlns' => 'urn:schemas-upnp-org:metadata-1-0/AVT/',
'InstanceID' => {
'TransportState' => {
'val' => 'STOPPED'
},
'val' => '0',
'CurrentTransportActions' => {
'val' => 'Play,Seek,X_DLNA_SeekByte,X_DLNA_SeekTime'
}
}
}
}
2019.01.14 16:29:39 4: DLNARenderer: Update reading transportState with STOPPED
Vielen Dank erst mal
Christian
Zitat von: KölnSolar am 14 Januar 2019, 16:22:47
Das (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) aber scheinbar nicht. ::)
Ooooh doch, das auch und es hat mir ja auch schon weiter geholfen. Man verzettelt sich halt doch ab und an.
Ich denke ich habe jetzt noch mal genau die Reihenfolge beachtet und die "shutdown restart" an der richtigen Stelle gemacht. Den Tip von Frank hatte ich auch schon mal versucht, jetzt geht es aber und ich teste mal weiter.
Bisher hatte ich auch immer gedacht DLNARenderer und STV gehören zwingend zusammen. Da war wohl ein Verständnis Problem.
STV ist für mich dann jetzt die "Fernbedienung" für Samsung.
NACHTRAG
Wenn man den Renderer auf den richtigen Namen setzt, dann klappt es auch mit der Ausgabe von Texten über STV und die readings werden auch richtig gesetzt. Mein fehler war dass ich das Modul DLNARenderer als MeinRenderer benannt hatte und diesen Namen dann bei STV eingetragen hatte. Richtig ist natürlich, dass man das von DLNARenderer gefundene DLNA Device eintragt ;-)
defmod TV_Wz STV 192.168.178.23 8000 DLNA_bc14853da38d
attr TV_Wz room Multimedia
attr TV_Wz verbose 5
setstate TV_Wz on
setstate TV_Wz 2019-01-14 16:47:57 friendlyName [TV] Living room
setstate TV_Wz 2019-01-14 16:47:57 modelName UE65HU8500
setstate TV_Wz 2019-01-14 16:47:57 mute off
setstate TV_Wz 2019-01-14 16:42:30 presence present
setstate TV_Wz 2019-01-14 16:47:57 state on
setstate TV_Wz 2019-01-14 16:47:57 stateAV stopped
setstate TV_Wz 2019-01-14 16:48:57 volume 0
Leider fehlt noch die aktuelle Status Rückmeldung im STV, wie z.B. das momentane Programm, da wird aber sicherlich die api von Samsung nicht mitspielen. Ich denke das wäre ansonsten schon lange drin.
Vielen dank für die vielen tollen Module und Euren unerbittlichen Support.
Viele Grüße
Christian
Und das klappt auch soweit...
Zitat von: KölnSolar am 01 Februar 2018, 13:05:19
Mit der optionalen Definition stellt das STV-Modul ein paar Readings mit Informationen zum TV zur Verfügung. Es gibt einen zusätzlichen Befehl sayText, über den eine TTS-Funktion realisiert ist. Ein weiterer Befehl ist volume, welcher das einstellen einer absoluten Lautstärke ermöglicht.
Gibt es da die Möglichkeit, wie bei dem bekannten Service im Web, die Sprache auf "de" um zu stellen? Ich habe gerade schon echt dolle lachen müssen, was für eine Betonung aus dem TV kam. Danke dafür :-)
Und wieder viele Grüße
Christian
Okay,
ich habe es jetzt auch schon gefunden. Im DLNA Device kann man folgendes setzen.
set attr DLNA_bc14853da38d ttsLanguage de
Das STV Modul verwendet bei dem definierten DLNARenderer den Befehl "speak", der dann als default beim google Übersetzungsservice Englisch hat. Da es im STV ja noch neu ist sollte es eventuell auch auf "speak" umbenannt werden, dann ist die Benennung über die beiden Module gleich.
Einen schönen Abend noch
Christian
ZitatSTV ja noch neu ist sollte es eventuell auch auf "speak" umbenannt werden, dann ist die Benennung über die beiden Module gleich.
eben nicht. Das STV hält sich an die FHEM-DevelopmentGuidelinesAV. Es müsste umgekehrt im DLNARenderer "korrigiert" werden.
ZitatLeider fehlt noch die aktuelle Status Rückmeldung im STV, wie z.B. das momentane Programm, da wird aber sicherlich die api von Samsung nicht mitspielen. Ich denke das wäre ansonsten schon lange drin.
So ist es.
Zitat von: KölnSolar am 14 Januar 2019, 16:22:47
Das (https://forum.fhem.de/index.php/topic,82890.msg756500.html#msg756500) aber scheinbar nicht. ::)
Ob das wirklich E ist ? :-\ Ist ja noch ein Plasma. Ich häng meinen E mal wieder ins Netz(LAN über Powerline), um allgemeine Probleme zu verifizieren...
"Das Herstellungsjahr des Samsung PS51E579 ist 2012. Das Gerät reiht sich damit in die Serie Samsung E579 ein." Hört sich ganz danach an :P
Könnte passen. Ob ein Plasma aber wirklich dieselben Eigenschaften besitzt ? :-\
Ich hab meinen E jetzt mehr schlecht als recht wieder im Netz. Läuft. Du müsstest also schon ein paar Informationen liefern, was bei Dir passiert. Ggfs. laufende Apps, Port-Scans, upnptester, verbose-5-Logs,.....
Grüße Markus
Hallo Markus, wenn du eine Q Serie testen möchtest kannst du gerne auf einen Kaffee vorbei kommen 😂
Gruß Patrick ;)
Hallo Patrick,
könnten wir vielleicht machen. Allerdings fehlt mir der Ansatz. Nach meinem Kenntnisstand müsste Q mit
define meinTV STV meineIP 8001
mit meiner letzten Version funktionieren. Was sagt denn das Log ?
Grüße Markus
Bin jetzt leider nicht zuhause aber wenn ich mich recht erinnere fragt er ob das Gerät Zugriff haben darf, zeigt auch connected an. Aber lässt sich nicht schalten.
Oder brauche ich diese key Datei? Ist schon lange her das ich meinen alten Tv eingerichtet hatte.
ZitatBin jetzt leider nicht zuhause
Dann gibt's wohl auch keinen Kaffee. :'(
ZitatOder brauche ich diese key Datei? Ist schon lange her das ich meinen alten Tv eingerichtet hatte.
Nee, die braucht man nur bei H, J.
Zitatfragt er ob das Gerät Zugriff haben darf, zeigt auch connected an. Aber lässt sich nicht schalten.
Hau mal alle Berechtigungen im TV weg. Dann einen Befehl absetzen. Es sollte nun die Berechtigungsabfrage auf dem TV aufpoppen(entweder als SmartDevice oder FHEMremotecontrol). "Zulassen" klicken und danach sollte er rennen.
Super werde ich ausprobieren und berichten. Meine Frau nervt schon wann Alexa wieder alles steuern kann [emoji23]
Ist ja alles neu bei mir im Haus. Freue mich auf den Nächten Stammtisch.
Mobil unterwegs!
Hey, habe jetzt mal die letzte Version genommen und nun läuft es ;)
Dankeschön
Na prima. Endlich die Bestätigung, dass der Q wie K, M, N funktioniert. Aber wie komme ich nun zu einem Kaffee ? >:( ;D Ich vermute es läuft mit token. Kannst Du für mich mal das JSON von https://deineIP:8002/api/v2/ einstellen und Deine firmwareversion. Ist die aktuell ? Hast Du das automatische Upate eingeschaltet ?
Grüße Markus
Edit: Wäre prima, wenn Du noch den DLNARenderer(meine Version) testen könntest. Als Belohnung gibt es Readings und events im STV. 8)
Zitat von: KölnSolar am 20 Januar 2019, 08:05:49
Aber wie komme ich nun zu einem Kaffee ?
Komm einfach vorbei ;)
ZitatIch vermute es läuft mit token.
Ja unter den INTERNALS ist ein token vorhanden.
ZitatIst die aktuell ? Hast Du das automatische Upate eingeschaltet ?
Ja ist aktuell 1153, und ja updates sind an.
ZitatWäre prima, wenn Du noch den DLNARenderer(meine Version) testen könntest.
Werde ich mich mal mit beschäftigen.
Danke Dir.
ZitatIch hoffe das ich alles posten darf kann oder sollte...
Nimms ruhig wieder raus. Ich habs ja jetzt. ;) Und man weiß ja nie, was Unholde mit IP u. uuid anstellen können...
Ist die Verwaltung der Berechtigungen beim Q wie in meiner zusammenfassenden Doku beschrieben für K-Serie ?
Zitat von: KölnSolar am 20 Januar 2019, 11:22:11
Ist die Verwaltung der Berechtigungen beim Q wie in meiner zusammenfassenden Doku beschrieben für K-Serie ?
Ja ist genau so!
Edit:
Eine Sache habe ich allerdings,
sobald ich mein FHEM neu starte will der Tv eine neue Berechtigung sonst kann ich nix mehr schalten.
Hallo,
ich habe Dein Modul heute auch installiert. TV: Samsung UE82NU8009TXZG. Funktioniert super, vielen Dank für Deine Arbeit. Zwei Sachen, die stören:
-wenn der TV aus ist, startet FHEM nicht mehr nach einem reboot. (läuft auf einem Raspi3) Ich muss dan die 70_STV.pm aus dem FHEM Ordner löschen.
-nach einem Neustart von FHEM muss die Koppelung auf dem TV neu bestätigt werden, obwohl dauerhaft freigegeben wurde.
DLNA Device nutze ich nicht.
Zitatwenn der TV aus ist, startet FHEM nicht mehr nach einem reboot.
I know :-[ War bisher nur dem Tester aufgefallen und ich sah noch nicht die Dringlichkeit das zu korrigieren. ::)
Zitat-nach einem Neustart von FHEM muss die Koppelung auf dem TV neu bestätigt werden, obwohl dauerhaft freigegeben wurde
Also wie bei Patrick. Hmm, betrifft das token-Thema. da bräuchte ich dann mal verbose5-Logs. Oder, stop. Ist logisch. Steht ja nur im Internal. Also müsste ich es in ein Reading packen. Dann sträubt sich in mir aber, dass es ja zusätzliche Sicherheit bieten soll und dann sichtbar wäre und bei einem FHEM-Crash(kein save der fhem.save) hilft es auch nur dann, wenn seit dem letzten save kein neuer token erzeugt wurde. :-\
@Dora71: Liest Du mit ? Hast Du das auch und nur noch nicht bemerkt ?Wie weit sitzt Du eigentlich vom TV entfernt ? ;D
Hi,
5,50m... da spart man sich die Brille... ;-)
Schönen Abend noch.
P. S. : Mach es doch möglich, dass das Token mit einem set eingegeben werden kann, dann kann jeder selber entscheiden...
Hallo zusammen,
ich wollte euch auch ein kurzes Feedback zu meiner FHEM /STV Installation geben: Es handelt sich um einen UE48JS8590.
Zuerst danke für eure Mühe, die ihr in das Modul gesteckt habt:
Den Key konnte ich ohne Probleme mit dem Perl-Script erstellen und den Key habe ich direkt ins FHEM Verzeichnis gestellt.
Die 70_STV ersetzt ...
Mit define samsung STV 192.168.178.102 8000 funktionierte alles prima und konnte Kanäle etc. schalten.
Nun mein Problem:
Sobald ich den Fernseher das erste mal ausschalte und dann wieder einschalte werden keine Befehle mehr umgesetzt. Ein FHEM Neustart etc. brachte nichts - erst als ich den Key wieder neu erzeugte ging es - bis zum nächsten Neustart :(
Folgende Vermutung hätte ich:
Laut Fhem ist die UUID:5c44c7f4-f33f-5788-e193-6fced650360af679
Laut http://192.168.178.102:8001/api/v2/ --> uuid:4968e638-3290-47d9-b187-fa6c47e5904b
Auch das manuelle Ändern der UUID in der fhem.cfg brachte nichts ...
Anbei noch der gesamte Inhalt: http://192.168.178.102:8001/api/v2/
Zitat
{
"id": "uuid:4968e638-3290-47d9-b187-fa6c47e5904b",
"name": "[TV] UE48JS8590",
"version": "2.0.25",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:4968e638-3290-47d9-b187-fa6c47e5904b",
"model": "15_HAWKM_UHD",
"modelName": "UE48JS8500",
"description": "Samsung DTV RCR",
"networkType": "wireless",
"ssid": "e0:28:6d:f1:fd:84",
"ip": "192.168.178.102",
"firmwareVersion": "Unknown",
"name": "[TV] UE48JS8590",
"id": "uuid:4968e638-3290-47d9-b187-fa6c47e5904b",
"udn": "uuid:4968e638-3290-47d9-b187-fa6c47e5904b",
"resolution": "1920x1080",
"countryCode": "DE",
"msfVersion": "2.0.25",
"smartHubAgreement": "true",
"developerMode": "0",
"developerIP": ""
},
"type": "Samsung SmartTV",
"uri": "http://192.168.178.102:8001/api/v2/"
}
Viele Grüße
Karl
Hallo Karl,
das ist leider nicht das Problem. Mit der uuid haben wir doch im STV gar nichts am Hut. Wo hast Du da was geändert ? :o Ggfs. ist sie schon anders, wenn Du mit Port 8000 den Link aufrufst(ich frag mich gerade, wieso Du überhaupt Antwort bekamst. normaler Port ist ja 8000 und dann sollte der secure port 8443 sein). :-\
Ich denke eher, dass Du einen "Problemfernseher" der J-Serie hast. :'( Beim Googlen findet man immer wieder entsprechende Posts. Von Raymund weiß ich, dass er auch "manchmal" nach Strom abschalten bei seinem H den key neu generieren muss. Aber nur manchmal. :o ::) :-\
@Patrick&trs: Ich habe eine neue Version eingestellt. Alles per Blindflug. :'( Ihr müsstet einen reload machen, dann einen RC-Befehl absetzen und dann ein shutdown/restart vor dem eigentlichen Test. Ich drück die Daumen.
Markus
Grüße Markus
Werde morgen testen. Jetzt bin ich wieder auf der Arbeit.
Aber was ich noch fragen wollte könnte man es hinbekommen die Lautstärke mit zahlen zu definieren?
Das ich Alexa sagen kann mache tv auf Lautstärke xx
Mobil unterwegs!
Geht schon. ;D Aber nur in Verbindung mit DLNARenderer. 8)
Ja da habe ich auch noch so meine Probleme.
Ich bekomme die Pakete nicht installiert weil ich gerade noch ein Router an einem Modem habe... warte auf Techniker die mir die FritzBox freischalten.
Momentan gibt er die IPv6 nicht richtig weiter. Dann weigert sich der rpi.
Mobil unterwegs!
Hallo Markus,
danke für deine Antwort --> ja wahrscheinlich hab ich so einen Problemfernseher ( würde ihn auch aus anderen Gründen nicht mehr kaufen ) ..
Nun hab ich die regapp.pl nochmal geändert und hab die ID angepasst - vorher stand da "471147" ?!
nun sieht sie so aus und hab damit wieder einen Key erzeugt - bisher hat der Fernseher / STV / FHEM mehrere Neustarts überlebt :) - vielleicht war hier der Fehler ...
#=== Change here ====================================================================
my $tv_address = '192.168.178.102';
my $tv_port = '8080';
my $device_id = '4968e638-3290-47d9-b187-fa6c47e5904b';
my $app_id = 'com.samsung.companion';
#====================================================================================
Viele Grüße
Karl
Hallo,
zunächst vielen DANK für das Modul.
Feedback von meiner Seite mit meinem UE55H6600: Kann nun endlich bestätigen, dass mein Samsung UE55H6600 mit STV in der aktuellen Version (Download hier: https://forum.fhem.de/index.php/topic,82890.msg750390.html#msg750390 (https://forum.fhem.de/index.php/topic,82890.msg750390.html#msg750390)) funktioniert. Aktuell kann ich die Grundfunktionen wie Channels wechseln, Menue, Tools, Volume Up/Down/Mute benutzen. PowerOff geht auch. PowerOn leider nicht.
Readings gibt es genau eins (state), ist das richtig?
Updates für STV aus FHEM heraus deaktiviert (attr global exclude_from_update 70_STV) um ein Überschreiben der aktuellen Version zu vermeiden :)
Für STV habe ich folgende Perl Module installiert (falls es wer brauchen kann):
sudo apt install libcrypt-rijndael-perl libnet-ssleay-perl libnet-address-ip-local-perl libio-interface-perl libio-socket-ssl-perl libsys-hostname-long-perl libmime-base64-perl
Dann via regapp.pl die samsung_session_key.txt erzeugen lassen, rein ins /opt/fhem/, STV gestartet und BANG... FHEM abgeschmiert. attr SamsungTV verbose 5 lieferte dann: Can't locate object method "errstr" via package "IO::Socket::INET" at ./FHEM/70_STV.pm line 490.
Komisch. Gegencheck -> Aktuelles IO::Socket::INET Modul... Hmm... Habe dann zum Testen die Zeile 490 auskommentiert (Log3 $name, 4, "[STV] HTTP socket-connection to $name. SSL_Reply: ". IO::Socket::SSL::errstr();) ... et voila!
Ein Fix für die Zukunft wäre schön.
Danke nochmals und schönen Gruß!
P.S. On-Screen-Nachrichten gehen dann via DLNARenderer?
Edit: Installation der Perl-Module angepasst.
Hallo Markus,
Ich hab die neue Version installiert. Leider keine Änderung. Immer noch nach jedem FHEM Neustart die Aufforderung am TV, die Verbindung zuzulassen. Und rach einem Reboot startet FHEM nicht mehr.
Kann ich irgendwie helfen?
ZitatPowerOn leider nicht.
Wie immer. ::) (wenn überhaupt, dann vielleicht bei Q-Serie mit power)
ZitatReadings gibt es genau eins (state), ist das richtig?
Ja, mit DLNARenderer sinds mehr.
Zitatsudo apt install python-pip python3-pip python3-crypto python-websocket python3-websocket
die braucht es nicht, wenn mit regappl.pl gearbeitet wird. Bitte Deinen Post überarbeiten. Auch klar herausstellen, dass das für H-Serie ist. Die anderen brauchen viel weniger. Ich pack das aber gerne in die zusammenfassende Doku.
ZitatOn-Screen-Nachrichten gehen dann via DLNARenderer?
oder bei H-Serie auch über Port 7676 und den TV-Webbrowser.
ZitatKann ich irgendwie helfen?
Ja. nochmal die neuste Version installieren und testen. ;D ;) Der Fehler beim restart ist gefixed. Das war vermutlich dann der Grund, dass die Änderung für das token nicht klappte. Einen Neustart hast Du dann ja nur ohne das define des TV in der .cfg hinbekommen, richtig ? Sollte es nicht klappen schick mir bitte das Log bei verbose=5 UND das list vom device per PN.
Edit: Uihh, gerade erst gesehen
Zitatsudo cpan install IO::Socket::INET IO::Socket::SSL Sys::Hostname MIME::Base64 DevIo Crypt::Rijndael HttpUtils
cpan ist gar nicht gut und doppelt ist es tw. auch noch. (z.B. libcrypt-rijndael-perl vs. Crypt::Rijndael) Ich hoffe, dass Dir da nicht Dein System um die Ohren fliegt.
Hallo Markus,
Nach dem Restart kommt immer noch die Meldung auf dem TV. Jetzt auch zwischendurch, wenn z. B. das Menü aufgerufen wird. List und Log sind unterwe6.
Gruß Thorsten
Zitat von: KölnSolar am 21 Januar 2019, 20:31:35
Wie immer. ::) (wenn überhaupt, dann vielleicht bei Q-Serie mit power)Ja, mit DLNARenderer sinds mehr.die braucht es nicht, wenn mit regappl.pl gearbeitet wird. Bitte Deinen Post überarbeiten. Auch klar herausstellen, dass das für H-Serie ist. Die anderen brauchen viel weniger. Ich pack das aber gerne in die zusammenfassende Doku.
Leider habe ich, auch nach Stunden des Durchsuchens von Forum, Wiki, Commandref usw.. keinerlei All-In-One Zusammenfassung gefunden. Daher von mir die Zusammenstellung für weitere Weggefährten. Wäre super wenn Du es übernehmen könntest.
Installation via cpan habe ich gegen apt install ersetzt - wobei mir hier der negative Aspekt beim besten Willen nicht klar wird. Update via apt ist einfacher, ja. Dependencies werden mitinstalliert, ja. Sonst fällt mir nichts ein.
Zitat von: KölnSolar am 21 Januar 2019, 20:31:35
oder bei H-Serie auch über Port 7676 und den TV-Webbrowser.
Auch hier habe ich leider nirgendswo eine Information zu gefunden :(
In der zusammenfassenden Doku erwähnst Du die Funktionen 0_App_start, welche aber leider im Modul auskommentiert sind. Warum hast Du Dich dazu entschieden? Würde gerne AmazonPrime start vereinfachen (via Browser bekomme ich auch via 192.168.0.x:800x/ws/apps/Amazon eine Antwort vom TV) erreichbar.
Kann man das wieder implementieren?
Nochmals Danke!
ZitatAuch hier habe ich leider nirgendswo eine Information zu gefunden :(
hier (https://forum.fhem.de/index.php/topic,82890.msg750390.html#msg750390) steht es doch.
ZitatIn der zusammenfassenden Doku erwähnst Du die Funktionen 0_App_start, welche aber leider im Modul auskommentiert sind.
erwähnt und implementiert ist es für K-Serie und jünger. Du hast aber doch H-Serie. Für die war es noch nie implementiert und daher auch nicht auskommentiert.
Du kannst aber die beiden Zeilen
STV_Tizen_App_list($hash) if ($hash->{Port} ne "8000");
so abändern, dass Du aus der 8000 eine 8001 machst. Dann läuft dieselbe Funktionalität anstatt für K-Serie für H-Serie ab. Ich befürchte aber, dass das nicht funktionieren wird, weil die Kommunikation bei H-Serie vermutlich verschlüsselt ablaufen muss.
weil sich ja bei TVs mit TokenAuthorization (zu recht) beklagt wurde, dass nach einem restart die Berechtigung erneuert werden muss, habe ich auf dauerhafte Speicherung umgestellt. Nun hat ein Tester etwas ominöse Probleme. Hat sonst schon jemand die neue Version mit TokenAuthorization (hoffentlich erfolgreich) getestet ? Wenn erfolglos, bitte Log mit verbose=5 einstellen(oder per PN).
Edit: zumindest das ominöse Problem ist jetzt weg. Aber der Restart wird immer noch nicht überlebt. :'(
Nur mal so am Rande.... Die Q Serie kann ich auch einschalten.
Zitat von: SamNitro am 23 Januar 2019, 06:33:56
Nur mal so am Rande.... Die Q Serie kann ich auch einschalten.
Genial, kann ich ein Q statt eines E haben, gib mir ein Q, bitteeee
das einschalten ist eventuell ja auch abhängig von den einstellungen des tv.
da muss ja mindestens die schnittstelle wach sein, damit sie überhaupt empfangen kann.
vielleicht irgendwelche eco einstellungen, auch mal im service menue schauen.
ich schreib mal ein "special" zu den Power-Befehlen in die zusammenfassende Doku..... ::) Dann müssen wir bei der 700ten Thematisierung nur auf den Link verweisen. ;D
Edit: hier (https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940)
Hallo zusammen.
Ich habe das poweron/poweroff bei meinem UE65HU8500, H-Serie, Firmware 1400 nun auch noch mal für LAN und WLAN getestet.
Mit dem STV funktioniert leider nur das poweroff.
power und poweron zeigen keine Funktion. Es kommt nur folgende Meldung:
[STV] TV_Wz: Error getting websocket url
Dann habe ich noch WOL für LAN und WLAN getestet und es funktioniert leider auch nicht.
Die Meldungen im Log lauten, bei Konfiguration mit "BOTH":
2019.01.24 15:12:33 3: [WOL_TV_Wz] set WOL_TV_Wz on
2019.01.24 15:12:33 3: [WOL_TV_Wz] waking WOL_TV_Wz with MAC MeineMac IP MeineIP
2019.01.24 15:12:33 4: [WOL_TV_Wz] keeping WOL_TV_Wz with MAC MeineMac IP MeineIP busy
2019.01.24 15:12:33 4: [WOL_TV_Wz] standard wol command: /usr/bin/wakeonlan
2019.01.24 15:12:33 4: [WOL_TV_Wz] executing /usr/bin/wakeonlan MeineMac
Can't ignore signal CHLD, forcing to default.
2019.01.24 15:14:01 3: [WOL_TV_Wz] set WOL_TV_Wz refresh
2019.01.24 15:14:02 4: [WOL_TV_Wz] executing: ping -c 1 -w 2 MeineIP
2019.01.24 15:14:04 4: [WOL_TV_Wz] result executing ping: PING MeineIP (MeineIP) 56(84) bytes of data.
--- MeineIP ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1029ms
2019.01.24 15:14:04 4: [WOL_TV_Wz] ping not succesful - state = off
2019.01.24 15:14:04 5: [WOL_TV_Wz] WOL_SetNextTimer to 900
2019.01.24 15:14:04 5: [WOL_TV_Wz] removing Timer: WOL_TV_Wz_ping
2019.01.24 15:14:04 5: [WOL_TV_Wz] setting Timer: WOL_TV_Wz_ping 2019-01-24 15:29:04
#Nun mit eingeschaltetem TV
2019.01.24 15:15:55 3: [WOL_TV_Wz] set WOL_TV_Wz refresh
2019.01.24 15:15:55 4: [WOL_TV_Wz] executing: ping -c 1 -w 2 MeineIP
2019.01.24 15:15:55 4: [WOL_TV_Wz] result executing ping: PING MeineIP (MeineIP) 56(84) bytes of data.
64 bytes from MeineIP: icmp_seq=1 ttl=64 time=2.38 ms
--- MeineIP ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.388/2.388/2.388/0.000 ms
2019.01.24 15:15:55 4: [WOL_TV_Wz] ping succesful - state = on
2019.01.24 15:15:55 5: [WOL_TV_Wz] WOL_SetNextTimer to 900
2019.01.24 15:15:55 5: [WOL_TV_Wz] removing Timer: WOL_TV_Wz_ping
2019.01.24 15:15:55 5: [WOL_TV_Wz] setting Timer: WOL_TV_Wz_ping 2019-01-24 15:30:55
Zu der Meldung "Can't ignore signal CHLD, forcing to default." gibt es ja auch bereits einen Thread
https://forum.fhem.de/index.php?topic=40252.0 (https://forum.fhem.de/index.php?topic=40252.0)
Das WOL ist bei Verwendung der Broadcast Maske von 0.0.0.255 samt FHEM gecrashed
attr WOL_TV_Wz useUdpBroadcast 0.0.0.255
# danach dann
set WOL_TV_Wz on
# und rums, da liegt es am Boden :-)
Schade, aber mir fällt da jetzt auch nichts mehr ein.
Ich verwende einen RPi 2 mit debian Jessie und eine Fritz!Box 7490 dazwischen. Alles ist auf dem letzten Update Stand.
Viele Grüße
Christian
Nach meiner Erfahrung mit einem UE55H6740SV ist das LAN-Interface im ausgeschalteten Zustand "tot". FHEM kann zwar fast alles, aber Tote aufwecken? Obwohl ... ich mache mal ein paar Tests mit CUL_IR und einem CUNO. Vielleicht geht's ja so.
Gruß
Raymund
Hey,
gibt es eigentlich auch eine Möglichkeit ein Youtube Video direkt aufzurufen auf dem Fernseher mithilfe des Moduls? Ich hatte jetzt das Software Update auf meinem Q gemacht und dann die neuste Version des STV Moduls verwendet, läuft soweit super. Bei meinem Modell QE65Q7FGM wird unter Aktuelle Version: 1260 angezeigt, sollte jetzt auch mit "TokenAuthSupport":"true" sein. Beim Einschalten hat sich nichts verändert, geht bis 60 Sekunden nach ausschalten mithilfe des Moduls, ansonsten per WOL. Eigentlich fände ich es ganz gut wenn du benötigte Teile des WOL Modul vielleicht einfach noch mit ins STV übernimmst und das man damit einfach bei den Geräten die es können den Fernseher einschaltet? Wäre nur ein Vorschlag, wie seht ihr das bzw. wäre es überhaupt so einfach umsetzbar?
Beste Grüße, Richard
Hallo Richard,
Zitatgibt es eigentlich auch eine Möglichkeit ein Youtube Video direkt aufzurufen auf dem Fernseher mithilfe des Moduls?
müsste gehen. Mit 0_App_Start YouTube startest Du YouTube und ein anschließendes 0_text_line .... sollte dann das gewünschte Ergebnis liefern. Bei einer wie auch immer gearteten Automatisierung muss vermutlich ein "zeitlicher Verzug" eingebaut werden, weil der TV nicht schnell genug ist.
ZitatEigentlich fände ich es ganz gut wenn du benötigte Teile des WOL Modul vielleicht einfach noch mit ins STV übernimmst und das man damit einfach bei den Geräten die es können den Fernseher einschaltet? Wäre nur ein Vorschlag, wie seht ihr das bzw. wäre es überhaupt so einfach umsetzbar?
In Erwägung gezogen hatte ich das auch schon. Bin aber davon ab, weil es einerseits keine "originäre" TV-Funktion ist und andererseits dann doch nur bei wenigen Modellen funktionieren wird. Wenn es das als Modul-Funktion gibt, gibt es wieder zig Fragen, warum es nicht funktioniert.
Grüße Markus
Hey Markus,
vielen Dank für deine schnelle Antwort. Was übergebe ich denn dann bei 0_text_line? Hättest du vielleicht ein Beispiel für mich? Ich hätte gedacht es gibt irgendwie einen simplen Weg wie das auch beim Smartphone in der Youtube App geht ein Video zum Fernseher zu streamen, deswegen die Frage.
Zitat
In Erwägung gezogen hatte ich das auch schon. Bin aber davon ab, weil es einerseits keine "originäre" TV-Funktion ist und andererseits dann doch nur bei wenigen Modellen funktionieren wird. Wenn es das als Modul-Funktion gibt, gibt es wieder zig Fragen, warum es nicht funktioniert.
Da hast du recht, einige würden es vielleicht nicht verstehen und dann ist es wahrscheinlich besser wenn es so bleibt wie es ist. (;
LG Richard
Hallo Richard,
wollte es gerade mal bei mir ausprobieren und musste feststellen, dass ich das wohl nur für Port 55000 implementiert hatte. ::) Obwohl ich hätte wetten können, dass ich das mit meinem N auch schon probiert hatte.... :-\ Ich guck mal, was sich da überhaupt machen lässt.
Grüße Markus
Zitat von: Raymund am 24 Januar 2019, 19:01:39
Nach meiner Erfahrung mit einem UE55H6740SV ist das LAN-Interface im ausgeschalteten Zustand "tot". FHEM kann zwar fast alles, aber Tote aufwecken? Obwohl ... ich mache mal ein paar Tests mit CUL_IR und einem CUNO. Vielleicht geht's ja so.
... wen es interessiert: mit einem CUNO2 und CUL_IR geht die H-Serie auf Anhieb an.
Gruß
Raymund
Guten Abend,
nachdem ich jetzt stundenlang (teils) erfolglos das Wiki und diverse Beiträge durchforstet hab,
möchte ich hier mein Problem schildern - in der Hoffnung jemand kann mir helfen.
Ich habe einen Samsung UE50H6270..
Das Token und die Session-ID konnte ich mit dem "neuen" Skript erstellen. (Die PIN Eingabe am TV kam, TextFile erstellt)
Ich verwende die 70_STV aus diesem Beitrag: https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370
Der Fernseher hat im state reading "on" bzw. "absent" - Port ist mit 8000 konfiguriert.
Der Log mit verbose=5 sieht folgendermaßen aus:
2019.01.25 21:20:38 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.01.25 21:20:38 5: [STV] SamsungTV data of second websocket response: {�1::
2019.01.25 21:20:38 4: [STV] SamsungTV sending KEY_POWER
2019.01.25 21:20:38 5: [STV] SamsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[54,159,196,217,23,243,50,95,200,138,42,54,50,47,21,18,92,105,43,88,27,191,48,120,4,61,104,223,31,185,77,249,232,130,19,220,79,110,5,151,48,156,222,82,172,161,23,122,204,52,165,177,127,205,153,50,250,127,179,10,163,96,230,231,80,210,155,196,40,63,54,249,190,28,183,69,70,104,179,37,9,149,8,2,192,246,214,63,220,150,129,49,3,200,208,98,106,224,169,71,88,88,244,142,15,161,56,82,102,161,230,17,119,2,168,241,32,224,254,183,216,202,37,221,138,76,117,87,233,66,144,121,26,210,161,188,80,20,21,247,176,21,118,123,155,23,19,73,114,48,52,36,111,130,26,144,85,241,78,23,132,68,215,251,231,77,203,76,164,32,165,14,0,192,217,29]"}]}
2019.01.25 21:20:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:21:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:22:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:23:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:24:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:25:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:26:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:27:17 5: [STV] SamsungTV command 0 parameter
2019.01.25 21:27:17 5: session_key: bce889f8246aab4cb587de0bd3f3fda4
2019.01.25 21:27:17 5: session_id: 1
2019.01.25 21:27:17 5: [STV] SamsungTV: generate command for key 'KEY_0'
2019.01.25 21:27:17 5: [STV] SamsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[54,159,196,217,23,243,50,95,200,138,42,54,50,47,21,18,92,105,43,88,27,191,48,120,4,61,104,223,31,185,77,249,232,130,19,220,79,110,5,151,48,156,222,82,172,161,23,122,204,52,165,177,127,205,153,50,250,127,179,10,163,96,230,231,80,210,155,196,40,63,54,249,190,28,183,69,70,104,179,37,9,149,8,2,192,246,214,63,220,150,129,49,3,200,208,98,113,156,130,35,89,216,212,197,169,228,125,172,253,215,251,185,33,87,217,106,127,213,175,150,126,212,56,169,49,61,100,125,71,100,64,70,82,108,47,201,118,142,107,102,192,0,251,187,156,27,235,237,234,151,125,15,30,217,5,32,243,68,172,69,233,97,3,4,72,241,25,74,196,3,175,171,157,186,104,208]"}]}'
2019.01.25 21:27:17 4: [STV] SamsungTV: websocket path /socket.io/1/websocket/XGQuvpXk4SNg4xs0AO1V
2019.01.25 21:27:17 4: [STV] HTTP socket-connection to SamsungTV. Reply: 0
2019.01.25 21:27:17 4: [STV] HTTP socket-connection to SamsungTV successful.
2019.01.25 21:27:17 5: [STV] SamsungTV send to TV: GET /socket.io/1/websocket/XGQuvpXk4SNg4xs0AO1V HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.24:8000
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.01.25 21:27:17 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.01.25 21:27:17 5: [STV] SamsungTV data of second websocket response: {�1::
2019.01.25 21:27:17 4: [STV] SamsungTV sending KEY_0
2019.01.25 21:27:17 5: [STV] SamsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[54,159,196,217,23,243,50,95,200,138,42,54,50,47,21,18,92,105,43,88,27,191,48,120,4,61,104,223,31,185,77,249,232,130,19,220,79,110,5,151,48,156,222,82,172,161,23,122,204,52,165,177,127,205,153,50,250,127,179,10,163,96,230,231,80,210,155,196,40,63,54,249,190,28,183,69,70,104,179,37,9,149,8,2,192,246,214,63,220,150,129,49,3,200,208,98,113,156,130,35,89,216,212,197,169,228,125,172,253,215,251,185,33,87,217,106,127,213,175,150,126,212,56,169,49,61,100,125,71,100,64,70,82,108,47,201,118,142,107,102,192,0,251,187,156,27,235,237,234,151,125,15,30,217,5,32,243,68,172,69,233,97,3,4,72,241,25,74,196,3,175,171,157,186,104,208]"}]}
2019.01.25 21:27:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:28:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:29:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:30:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:31:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:32:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:33:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:34:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:35:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:36:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:37:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:37:57 5: [STV] SamsungTV command 7 parameter
2019.01.25 21:37:57 5: session_key: bce889f8246aab4cb587de0bd3f3fda4
2019.01.25 21:37:57 5: session_id: 1
2019.01.25 21:37:57 5: [STV] SamsungTV: generate command for key 'KEY_7'
2019.01.25 21:37:57 5: [STV] SamsungTV: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[54,159,196,217,23,243,50,95,200,138,42,54,50,47,21,18,92,105,43,88,27,191,48,120,4,61,104,223,31,185,77,249,232,130,19,220,79,110,5,151,48,156,222,82,172,161,23,122,204,52,165,177,127,205,153,50,250,127,179,10,163,96,230,231,80,210,155,196,40,63,54,249,190,28,183,69,70,104,179,37,9,149,8,2,192,246,214,63,220,150,129,49,3,200,208,98,243,80,130,55,112,240,137,139,143,210,70,169,168,46,93,220,33,87,217,106,127,213,175,150,126,212,56,169,49,61,100,125,71,100,64,70,82,108,47,201,118,142,107,102,192,0,251,187,156,27,235,237,234,151,125,15,30,217,5,32,243,68,172,69,233,97,3,4,72,241,25,74,196,3,175,171,157,186,104,208]"}]}'
2019.01.25 21:37:57 4: [STV] SamsungTV: websocket path /socket.io/1/websocket/J5W00wkGSU2XGf6dAO1W
2019.01.25 21:37:57 4: [STV] HTTP socket-connection to SamsungTV. Reply: 0
2019.01.25 21:37:57 4: [STV] HTTP socket-connection to SamsungTV successful.
2019.01.25 21:37:57 5: [STV] SamsungTV send to TV: GET /socket.io/1/websocket/J5W00wkGSU2XGf6dAO1W HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.24:8000
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.01.25 21:37:57 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.01.25 21:37:57 5: [STV] SamsungTV data of second websocket response: {�1::
2019.01.25 21:37:57 4: [STV] SamsungTV sending KEY_7
2019.01.25 21:37:57 5: [STV] SamsungTV send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":1,"body":"[54,159,196,217,23,243,50,95,200,138,42,54,50,47,21,18,92,105,43,88,27,191,48,120,4,61,104,223,31,185,77,249,232,130,19,220,79,110,5,151,48,156,222,82,172,161,23,122,204,52,165,177,127,205,153,50,250,127,179,10,163,96,230,231,80,210,155,196,40,63,54,249,190,28,183,69,70,104,179,37,9,149,8,2,192,246,214,63,220,150,129,49,3,200,208,98,243,80,130,55,112,240,137,139,143,210,70,169,168,46,93,220,33,87,217,106,127,213,175,150,126,212,56,169,49,61,100,125,71,100,64,70,82,108,47,201,118,142,107,102,192,0,251,187,156,27,235,237,234,151,125,15,30,217,5,32,243,68,172,69,233,97,3,4,72,241,25,74,196,3,175,171,157,186,104,208]"}]}
2019.01.25 21:38:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:39:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:40:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:41:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
2019.01.25 21:42:55 4: [STV] SamsungTV online with 192.168.178.24:8000 - HTTP-Response: 200
Die Daten aus dem TextFile werden scheinbar erkannt, jedoch ist keine Steuerung möglich!
Hat hier noch jemand eine Ahnung woran es liegen könnte?
Ist eine Portfreigabe in der Fritzbox nötig?
Viele Grüße!
Erst einmal willkommen im Forum.
Auszüge bitte in code tags(#) posten. Dann bleibt der Post übersichtlicher.
Technisch sieht das im Ablauf eigentlich gut aus. Ich würd mal alle Berechtigungen löschen und das key-file neu generieren. Evtl. auch mal mit regappl.pl generieren.
Nur zum wording: token gibt es bei H-serie nicht.
Grüße Markus
Edit:
ZitatIst eine Portfreigabe in der Fritzbox nötig?
Nein. Und Netzwerk klappt ja.
Erstmal sorry für die späte Antwort, ich bin erst gestern Abend zum testen gekommen.
Nachdem ich den Key neu erstellt hab, ist aufgefallen, dass der Websocket nicht installiert war!
Das hab ich beim ersten Durchlauf scheinbar komplett übersehen - Und siehe da, es geht!
Viele Grüße
Zitatder Websocket nicht installiert war
Du machst mich neugierig. Was meinst Du damit? Der websocketaufbau hatte doch funktioniert. :-\
Zitat2019.01.25 21:20:38 5: [STV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo
Ich am Ende der Key-Erstellung einen Fehler, dass irgendwas mit dem Websocket nicht gepasst hat.
(Leider weiß ich nicht mehr was genau da stand)
Ich hab dann via
sudo pip install websocket-client
den Websocket Client "nochmal?" installiert und das Skript erneut ausgeführt.
Anschließend kam kein Fehler mehr und ich bekam ein successful
Ah, für python und die neue Key-Generierungsmethode. Gut zu wissen. Vielleicht kann Raymund da was einbauen, dass das file erst gar nicht erstellt wird.
Zwischenfrage: Wann wäre ein Wiki-Update mal wieder sinnvoll?
VG plin
Spar Dir noch die Kräfte auf. Ich denke, dass es so langsam an der Zeit ist die modifizierte Version unter neuem Namen offiziell zu machen.
Grüße Markus
Zitat von: KölnSolar am 27 Januar 2019, 16:33:50
Spar Dir noch die Kräfte auf. Ich denke, dass es so langsam an der Zeit ist die modifizierte Version unter neuem Namen offiziell zu machen.
Neuer Name = neues Wiki?
Anyway: Sag Bescheid wenn's stabile Versionen gibt und sich das Nachziehen lohnt.
ZitatNeuer Name = neues Wiki?
Ja. Altbesitzer sind vermutlich glücklich mit der offiziellen Version. Und ich möchte nicht die, die alle paar Jahre mal ein update machen, vor Probleme stellen.
So habe jetzt DLNARenderer am laufen habe aber speziell keine module installiert...
READINGS:
2019-01-27 22:23:14 friendlyName [TV] Samsung Q7 Series (65)
2019-01-27 22:23:14 manufacturer Samsung Electronics
2019-01-27 22:23:14 manufacturerURL http://www.samsung.com/sec
2019-01-27 22:23:14 modelDescription Samsung TV DMR
2019-01-27 22:23:14 modelName GQ65Q7FNG
2019-01-27 22:23:14 modelNumber AllShare1.0
2019-01-27 22:23:14 modelURL http://www.samsung.com/sec
2019-01-27 22:23:14 multiRoomSupport 0
2019-01-27 22:25:02 multiRoomVolume 0
2019-01-27 22:23:15 mute 0
2019-01-27 22:23:14 presence online
2019-01-27 22:23:15 state online
2019-01-27 22:23:15 transportState NO_MEDIA_PRESENT
2019-01-27 22:23:15 transportStatus OK
2019-01-27 22:24:55 volume 0
helper:
caskeid 0
caskeidClients
Attributes:
alias [TV] Samsung Q7 Series (65)
userattr channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
webCmd volume
sehe alle details kann aber nix steuern.. kann es sein das doch etwas fehlt?
Zitatsehe alle details
Das deutet auf richtige Funktion.
Zitatkann aber nix steuern
Was heißt nix ? Kein stream, play, volume....?
Zitat von: KölnSolar am 27 Januar 2019, 22:51:21
Kein stream, play, volume....?
Ja genau, für stream habe ich keine Datei.. volume zeigt er mir richtig an aber steuern kann ich es nicht.
Zitatvolume zeigt er mir richtig an aber steuern kann ich es nicht
Meine Version, beide Attribute gesetzt ?
Zitat von: KölnSolar am 27 Januar 2019, 23:01:53
Meine Version, beide Attribute gesetzt ?
Internals:
FUUID 5c4e2141-f33f-19ae-95ab-4e4c3dd693832a28
NAME DLNARenderer
NR 178
STATE initialized
TYPE DLNARenderer
UDN 0
VERSION v2.0.7Patch_3
READINGS:
2019-01-27 23:06:14 state initialized
helper:
caskeid 0
caskeidClients
Attributes:
envNamespace <undef>
envPrefix s
userattr acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
ja deine version, die beiden meinst du doch?
envNamespace <undef>
envPrefix s
ja genau. Dann teste mal das Ganze aus dem DLNARenderer heraus bei verbose=5. Alles andere von hier (https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194) hattest Du auch befolgt ?
Keine Ahnung was ich jetzt gemacht habe aber es funktioniert jetzt mit der Lautstärke.
8)
Nur H-Serie:
Anmerkung zu #589: mit dem "Websocket" geht vielleicht etwas durcheinander. Das Python-Modul "websocket-client" wird nur für das Python-Script "regapp_smartcrypto.py" zur Erzeugung von session_key und session_id benötigt. Mit FHEM und STV hat das "softwaretechnisch" nichts zu tun und das Script schreibt auch nichts in das Logfile von FHEM.
Anmerkung zu #591: wer das o.g. Python-Script "regapp_smartcrypto.py" verwenden möchte, benötigt das Modul "websocket-client" für Python3. Es sollte daher mit "python3 -m pip websocket-client" installiert werden, da es mehrere Versionen von Python (bzw. pip) auf dem Rechner geben kann. "pip install ..." reicht (je nach Verlinkung) dann nicht.
Siehe z.B.: https://stackoverflow.com/questions/40832533/pip-or-pip3-to-install-packages-for-python-3 (https://stackoverflow.com/questions/40832533/pip-or-pip3-to-install-packages-for-python-3)
Gruß
Raymund
Hallo,
Super Arbeit, die ihr hier leistet.
Gibt es schon eine Idee, wann das Modul per FHEM Update ausgeliefert wird?
Mein TV (UE55NU7179) nutzt außerdem 2 IP Adressen. Welche muss ich nehmen?
Sieht leider nicht gut aus:
2019.02.01 15:04:35 2: [STV] HTTP socket-connection to UE55NU7179 not successful. SSL_Error: IO::Socket::IP configuration failed
Jemand eine Idee?
Gruß
Stefan
Hallo Stefan,
nur, dass ein Log mit verbose=5 noch viiiiieeeel mehr Infos bei diesem Fehler liefert. ;)
ZitatMein TV (UE55NU7179) nutzt außerdem 2 IP Adressen. Welche muss ich nehmen?
Wie soll ich das verstehen ? LAN u. WLAN ? Davon kannst Du aber doch nur eine Alternative nutzen. :-\ Und mit beiden IPs kommt derselbe Fehler ?
Grüße Markus
Okay ein paar mehr Infos zu meinem Problem:
Internals:
DEF 192.168.1.61 8000
FUUID 5c545084-f33f-4cd4-2bef-bbe4c73e1dd09025
Host 192.168.1.61
Mode
NAME UE55NU7179
NR 397
Port 8000
STATE absent
TYPE STV
READINGS:
2019-02-02 11:31:35 state absent
Attributes:
room Wohnzimmer
verbose 5
Beim FHEM Start bekomme ich nur ein "Connection refused"
2019.02.02 11:31:35 4: [STV] UE55NU7179 not able to connect to 192.168.1.61:8000 with http://192.168.1.61:8000/ - code: - error: 192.168.1.61: Connection refused
Der Fernseher lässt sich zumindest anpingen
Stefans-iMac-211:~ stefan$ ping 192.168.1.61
PING 192.168.1.61 (192.168.1.61): 56 data bytes
64 bytes from 192.168.1.61: icmp_seq=0 ttl=64 time=2.920 ms
64 bytes from 192.168.1.61: icmp_seq=1 ttl=64 time=14.884 ms
64 bytes from 192.168.1.61: icmp_seq=2 ttl=64 time=3.727 ms
StatusRequest endet auch nur im "Connection refused"
Kann es sein, dass mir noch etwas bei der initialen Konfiguration fehlt?
Edit: Kaum stellt man den Port auf 8001 klappt es auch >:(
ZitatEdit: Kaum stellt man den Port auf 8001 klappt es auch
;D
Aufgeweckt/an bekommt man aber so einen UE55NU7179 nicht oder?
Klar (https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940) ;)
Zitat von: KölnSolar am 02 Februar 2019, 13:22:31
Klar (https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940) ;)
Hm. Schade, bei mir klappt es nicht:
[STV] HTTP socket-connection to UE55NU7179 not successful. SSL_Error: IO::Socket::IP configuration failed
Scheinbar schaltet der TV die WLAN Verbindung ab.
Und noch mehr schade, dass der Aufruf blockierend ist:
2019.02.02 13:33:06 4: [STV] HTTP socket-connection to UE55NU7179. SSL_Reply: IO::Socket::IP configuration failed
2019.02.02 13:33:06 2: [STV] HTTP socket-connection to UE55NU7179 not successful. SSL_Error: IO::Socket::IP configuration failed
2019.02.02 13:33:06 1: [Freezemon] myFreezemon: Long function call detected SetFn:UE55NU7179 - 2.002213 seconds
2019.02.02 13:33:06 1: [Freezemon] myFreezemon: Long running Command detected set UE55NU7179 power :WEB - 2.002499 seconds
2019.02.02 13:33:06 1: [Freezemon] myFreezemon: Long function call detected ReadFn:WEB_192.168.1.90_51660 - 2.052121 seconds
2019.02.02 13:33:06 1: [Freezemon] myFreezemon: possible freeze starting at 13:33:05, delay is 1.081 possibly caused by: cmd-set UE55NU7179 power (WEB) fn-SetFn(UE55NU7179) fn-ReadFn(WEB_192.168.1.90_51660)
ZitatUnd noch mehr schade, dass der Aufruf blockierend ist:
Naja, unsinnige Befehle führen halt zu Unsinn. 8) Außer power u. poweron lässt sich im absent-state kein Befehl absetzen.
Das ist das Ergebnis vom "power" Befehl.
Ich weiß, stand ja im freeze-log.Ich wollte damit nur sagen, dass ja nicht der freeze das Problem ist, sondern der TV, der kein power oder poweron unterstützt. Und dann sendet man den Befehl sinnvollerweise auch nicht(außer vielleicht einmalig um dann festzustellen, dass der TV es nicht unterstützt).
Zitat von: KölnSolar am 02 Februar 2019, 18:54:55
Ich weiß, stand ja im freeze-log.Ich wollte damit nur sagen, dass ja nicht der freeze das Problem ist, sondern der TV, der kein power oder poweron unterstützt. Und dann sendet man den Befehl sinnvollerweise auch nicht(außer vielleicht einmalig um dann festzustellen, dass der TV es nicht unterstützt).
Ich will ja eure Arbeit nicht schlecht reden, aber es gibt ja nicht ohne Grund die "non-blocking" Mechanismen in FHEM. Ich könnte es selbst nicht implementieren aber vielleicht ist es mal einen Blick wert.
Zitataber es gibt ja nicht ohne Grund die "non-blocking" Mechanismen in FHEM
Richtig. Deshalb ist es auch für die Statusermittlung im Modul implementiert. ;D Nicht aber für unsinnige Befehle. Du hast doch in Deinem Fall eine Fehlermeldung in der Oberfläche bekommen, oder ? Das ginge mit non-blocking nicht mehr. Und leider guckt nicht jeder ins Log, der auf der Oberfläche keine Reaktion des Moduls sieht. :o Und solange das Modul noch nicht "fertig" ist, ist mir ein sofortiger Hinweis an den User wichtiger, als freezes zu vermeiden, die durch bewusst unsinnige Befehle entstehen. Mal anders gefragt: wie oft willst Du den power-Befehl noch ausprobieren ? ::)
Zitat von: KölnSolar am 02 Februar 2019, 21:20:09
wie oft willst Du den power-Befehl noch ausprobieren ? ::)
Solange bis der Fernseher verstanden hat was ich von ihm will. 8)
Hallo KölnSonar,
du hast ein paar Posts vorhin etwas von einer neuen offiziellen Version geschrieben, freue mich sehr darauf!
Wird es dann auch mehr Readings geben? Wie zB aktuellen Sender, aktuelle Sendung, usw.?
lg
Christoph
Hallo Christoph,
Zitateiner neuen offiziellen Version geschrieben
nehme ich dann mal zum Anlass die "neue" Version zu veröffentlichen. Das Modul heißt nicht mehr 70_STV.pm, sondern 70_SamsungAV.pm. Ich werde es gleich an gewohnter Stelle (https://forum.fhem.de/index.php/topic,82890.msg750370.html#msg750370)letztmalig als inoffizielle Version veröffentlichen. Hintergrund der Namensänderung ist die unsichere Abwärtskompatibilität. Ich habe das Modul ja auf dem STV aufgebaut, welches TV's älter 5 Jahre unterstützt. Dabei habe ich z.B. auch Attribute entfernt, die meines Erachtens nicht notwendig sind. Kann es aber nicht zu 100% beurteilen und testen und User dieser TV's könnten Probleme bekommen, wenn sie meine Version per update verteilt bekämen. Über den Weg eines neuen Modulnamens bleiben die Altuser unbehelligt, mein Modul lässt sich aber offiziell machen und demnächst dann automatisch per update verteilen. Damit entfällt dann auch der bisher notwendige Eintrag des 70_STV im exclude_from_update-Attribut im global-device.
ZitatWird es dann auch mehr Readings geben? Wie zB aktuellen Sender, aktuelle Sendung, usw.?
Leider nein. Mehr als die readings, die über den optionalen DLNA_Renderer angelegt werden, wird es vorerst nicht geben.
Möglicherweise implementiere ich das für Serien bis J, denn bis zu dieser Serie gab es eine technische Möglichkeit dazu. Ab K bietet Samsung diese Möglichkeit aber leider nicht mehr. Hier könnte ich dann lediglich ein reading einbauen, welches den letzten FHEM-Befehl darstellt. Da aber in der Regel vieles über die FB gehandelt wird, wäre dieses reading nicht sonderlich aussagekräftig. :'(
Grüße Markus
Edit: Gegenüber dem letzten inoffiziellen STV gibt es im SamsungTV nur die Möglichkeit das disable-Attribut zu nutzen.
Hallo,
wollte nach längerer Zeit mal aktualisieren und dann auch das neue (umbenannte) Modul nutzen. Problem ist, dass ich in der alten Version als Port WSE nutzen musste (define SamsungTv STV 192.168.0.65 wse). Nach der Änderung in "define SamsungTv SamsungAV 192.168.0.65 wse" kommt nun leider "Port is not supported". Was ist denn der Ersatz für WSE? Reicht als Port 8000 oder ist da noch an anderer Stelle etwas anders?
Hallo Markus,
ich habe mit meiner H-Serie den Wechsel zum 70_SamsungAV problemlos vollzog.
Beim Testen habe ich ein set Poweron (man muss ja auch etwas testen, was "noch" nicht geht :-) ) und dabei ist ein Problem in der Fehlerbehandlung mit folgender Meldung aufgetreten:
Can't call method "error" on an undefined value at ./FHEM/70_SamsungAV.pm line 530.
Leider ist ebenfalls FHEM dabei abgestürzt.
Vielen Dank für das Modul
Christian
Zitat von: ch.eick am 07 Februar 2019, 11:27:35
Leider ist ebenfalls FHEM dabei abgestürzt.
Jep, bei mir auch
Habe es gerade mal versucht, "poweroff" funktioniert bei meinem H nicht mehr, lief vorher.
ZitatCan't call method "error" on an undefined value at ./FHEM/70_SamsungAV.pm line 530.
Sorry, da hatte ich eine Abfrage auf den Modulnamen übersehen. ::) Ist gefixed.
Der TV war aus, oder ?
Der erste Mutige mit H-/J-Serie gibt bitte Feedback, dass der Absturz mit der neuen Version gefixed ist.
Grüße Markus
Hallo Markus,
ich habe es heruntergeladen und einen reload gemacht. Dabei tritt jetzt direkt folgende Meldung auf:
jquery.min.js line 2:
Error: Syntax error, unrecognized expression: tr.menuTree[data-nxt=-\>Multimedia-\>Radio,Multimedia]
Ich verwende bei room die Struktur mit den Untermenüs, was anscheinend beim reload zu dieser Meldung führt.
Leider habe ich dummerchen die Version von heute Morgen nicht vorher gesichert ;-)
update: Ich habe noch ein shutdown restart durchgeführt und es scheint nun alles wieder okay zu sein.
Nun kommt wieder die frühere Meldung, wenn der Fernseher aus ist und ein poweron gesendet wird (H-Serie)
[SamsungAV] TV_Wz: Error getting websocket url
Gruß
Christian
Zitat von: KölnSolar am 07 Februar 2019, 19:43:49
Sorry, da hatte ich eine Abfrage auf den Modulnamen übersehen. ::) Ist gefixed.
Der TV war aus, oder ?
Ja, er war im Standby und ich würde in soooo gerne mit FHEM wieder einschalten können :-)
Gruß
Christian
Juhu, ausschalten geht wieder. :) einschalten geht zwar nicht, sorgt aber auch nicht mehr für einen crash
Na prima.
Zitatich würde in soooo gerne mit FHEM wieder einschalten können
Zitateinschalten geht zwar nicht
Ging nie und wird nie gehen bei H-/J-Serie. ??? Die workarounds sollten ja bekannt sein.
Zitat[SamsungAV] TV_Wz: Error getting websocket url
kein Netzwerk=kein websocket. ;D
Grüße Markus
Workarounds sind bekannt, danke. :'(
Das Netz ist ja da, nur S. hat anscheinen im Standby kein Ohr am Netz. WOL geht leider auch nicht.
Viele Grüße und danke für die viele Arbeit am Modul
Christian
Das finde ich persönlich nicht wild. Mein noch offener Traum wäre eine Anbindung vom Sky-Receiver.
Zitat von: Det20 am 08 Februar 2019, 11:23:23
Das finde ich persönlich nicht wild. Mein noch offener Traum wäre eine Anbindung vom Sky-Receiver.
Sry für den Off-Topic, aber ich bin der Meinung, vor kurzem einen Theard gesehen zu haben, in dem jemand den SkyQ Receiver angebunden hat. Vll machst du dich mal auf die Suche. Falls du auf den Kram von Sky verzichten kannst, kann ich dir einen Enigma2 Receiver mit Sky CI Modul empfehlen.
Grüße
"Deine Suchanfrage ergab keine Ergebnisse.", auch Google findet nix wenn ich nach "fhem skyq" suche. Leider. Auch bei den Kollegen von ioBroker ist nix zu finden.
Zitat von: Det20 am 08 Februar 2019, 11:57:04
"Deine Suchanfrage ergab keine Ergebnisse.", auch Google findet nix wenn ich nach "fhem skyq" suche. Leider. Auch bei den Kollegen von ioBroker ist nix zu finden.
https://forum.fhem.de/index.php?topic=96017.0
Vll ist das ja was für dich!
Grüße
What...? Wie geil, danke!!! Wieso auch immer das nicht gefunden wurde. Krass, was mit NodeJS alles möglich ist.
Zum Thema TV anschalten. Kann meine H-Serie nicht, es geht nur "aus". Aber: Mein Fernseher geht dank HDMI immer an, wenn ich auf der Sky Fernbedingung was drücke. Wenn ich über das SkyQ Modul nun den Receiver anschalte bzw "Home", wenn er schon vorher an war, dann springt auch der Fernseher an.
Also ich habe jetzt mal den Q9 inkl. DLNA installiert.
Sieht gut aus, steuert aber nichts. Z.B. die Lautstärke bleibt hier bei 17, es sollte auf 30 gesetzt werden.
2019-03-25 20:37:16 DLNARenderer DLNA_cfdcbd987226 volume 30
2019-03-25 20:37:16 SamsungAV Fernseher volume 30
Zugriffsberechtigung des TV ? Timelag (wobei das nur "echte" RC-commands betrifft und nicht DLNA) ? Meine Version des DLNARenderers ?
bestätigt und gesetzt
Timelag? was? ???
SVN Stand v2.0.7
oh, einmal ging jetzt bei ,,power" der Q9 aus
...Im AV Teil
:) jetzt geht plötzlich Netflix starten
also etwas mehr geht schon, Volume up/ down geht auch, nur ist das so nicht wirklich genug.
Mein Receiver steuert da über HDMI-CEC den Q9 doch besser.
Das ist sicherlich aber ein Samsung Problem und nich das des Moduls.
Zitatnur ist das so nicht wirklich genug
Wenn ein RC-Befehl geht, gehen auch alle anderen bei Q9, die seit K-Serie funktionieren.
volume absolut zu schalten ist kein RC-Befehl, sondern ein DLNA-Befehl.
Hallo zusammen,
ich will mich auch nochmals einhängen.
Bei mir geht Volume und Mute usw. ganz gut.
Ich will gerne noch Streams verwirklichen. Ich verwende 98_DLNARenderer.pm in Version v2.0.7Patch_3
Eingebunden habe den Samsung wie folgt:
define DLNA DLNARenderer
attr DLNA userattr acceptedUDNs defaultRoom envNamespace envPrefix ignoreUDNs
attr DLNA envNamespace <undef>
attr DLNA envPrefix s
attr DLNA group Media
attr DLNA room Wohnzimmer
Setze ich folgenden Befehl in FHEM ab
set DLNA_343f02c5f5b8 stream https://192.168.0.145:8083/fhem/rss/myrss.jpg
kommt als transportState: NO_MEDIA_PRESENT
Das Log zeigt das
2019.04.01 18:18:44 5: DLNARenderer: DLNA_343f02c5f5b8, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.04.01 18:18:44 5: DLNARenderer: DLNA_343f02c5f5b8, AVTransport, SetAVTransportURI(0,https://192.168.0.145:8083/fhem/rss/myrss.jpg,) succeed.
2019.04.01 18:18:44 5: DLNARenderer: DLNA_343f02c5f5b8, AVTransport: urn:schemas-upnp-org:service:AVTransport:1 found. OK.
2019.04.01 18:18:44 5: DLNARenderer: DLNA_343f02c5f5b8, AVTransport, Play(0,1) succeed.
Mein Samsung ist ein GQ75QFNG
Softwareversion 1202.3
Im Anhang meine Readings und mein jpg, welches ich über https aufrufen kann.
Liegt es vielleicht an der Firmwareversion, oder habe ich etwas vergessen? Habe nochmals die Dokus soweit durchgearbeitet, aber bei den vielen Threats habe ich vielleicht etwas vergessen.
Besten Dank,
Alex
Hi Alex,
Zitatset DLNA_343f02c5f5b8 stream https://192.168.0.145:8083/fhem/rss/myrss.jpg
Mit https geht es bei mir auch nicht. Probier mal http(https macht im lokalen Netzwerk meines Erachtens wenig Sinn).
Hast Du die Voraussetzungen für FHEMWEB berücksichtigt ?
Grüße Markus
Hallo Markus,
ich habe jetzt https deaktiviert und mein fhemweb allowed auskommentiert
##define allowed_WEB allowed
##setuuid allowed_WEB 5c824253-f33f-2077-4bd9-e896b40777501432
##attr allowed_WEB basicAuth xxx
##attr allowed_WEB validFor WEB
Mein jpg ist jetzt aufrufbar unter
http://192.168.0.145:8083/fhem/rss/myrss.jpg
Ich bekommer allerdings immernoch:
transportState: NO_MEDIA_PRESENT
Hab ich noch etwas übersehen?
Grüße und Danke,
Alex
NACHTRAG:
Ich habe inzwischen ein neues FHEMWEB definiert mit:
attr WEBint allowedHttpMethods GET|POST|HEAD
Der Status ist jetzt auf PLAYING - Allerdings bin ich nicht zu Hause. Ich schau mir das heute Abend mal an.
Danke für die Unterstützung bis hierher.
Hallo,
also es funktioniert. Das jpg wird so auf dem Bildschirm dargestellt.
Gibt es eigentlich auch eine dezentere Variante antelle dem Vollbild?
Es wäre ganz nett, wenn man z.B die Anruferinfo oben rechts für 2 Sekunden in die Ecke des Fernsehers platzieren könnte.
Viele Grüße,
Alex
Hallo Alex,
leider nicht. Wäre schon prima, wenn es das in einem kleinen Fenster gäbe... :'(
Grüße Markus
Hallo,
da bei mir das Pairing für die H/J-Serie weder mit der regapp.pl noch mit der python- oder javaversion funktioniert hat, habe ich für das Erzeugen der sessionId und des sessionKey ein FHEM-Modul geschrieben. Diese werden in einem Reading abgelegt. Somit könnten diese mit SamsungAV ausgelesen oder der Inhalt des Moduls in SamsungAV integriert werden.
Ich müßte noch wissen, wie der Inhalt der Samsung_sessionkey.txt korrekt aussieht. Könnte den mir jemand liefern?
Ich hab heute mal Probiert meinen Serie K mit dem Modul ans laufen zu bekomme, leider ohne Erfolg.
Muss man noch etwas extra machen damit der tv gesteuert werden kann außer die FHEM Definition?
Gruß Robert
Gesendet von iPhone mit Tapatalk Pro
lesen, verstehen, umsetzen. (https://forum.fhem.de/index.php?topic=82890.msg750370#msg750370)
@Alder251
{"session_key":"aa34211f690d1c86020e80f884d45ffe","session_id":"1"}
Auf meinem Samsung UE55KS9090 funktioniert nur der Aufruf der apps, sonst nichts.
Kein Kanalwechsel, keine Lautstärkeänderung, kein an/aus.
Was fehlt?
Ausgabe von http://tv.fritz.box:8001/api/v2/ :
{
"id": "uuid:f3db3aff-1dc0-43b8-9034-0a9e1743abaa",
"name": "[TV] TV",
"version": "2.1.0",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:f3db3aff-1dc0-43b8-9034-0a9e1743abaa",
"model": "16_JAZZM_UHD",
"modelName": "UE55KS9090",
"description": "Samsung DTV RCR",
"networkType": "wireless",
"ssid": "44:4e:6d:99:10:6a",
"ip": "192.168.0.16",
"firmwareVersion": "Unknown",
"name": "[TV] TV",
"id": "uuid:f3db3aff-1dc0-43b8-9034-0a9e1743abaa",
"udn": "uuid:f3db3aff-1dc0-43b8-9034-0a9e1743abaa",
"resolution": "3840x2160",
"countryCode": "DE",
"msfVersion": "2.1.0",
"smartHubAgreement": "true",
"VoiceSupport": "true",
"GamePadSupport": "true",
"wifiMac": "CC:B1:1A:A5:17:0E",
"developerMode": "0",
"developerIP": "",
"OS": "Tizen"
},
"type": "Samsung SmartTV",
"uri": "http://tv.fritz.box:8001/api/v2/",
"remote": "1.0",
"isSupport": "{\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\",\"DMP_available\":\"true\",\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"EDEN_available\":\"true\"}"
}
mit dem alten Modul STV funktioniert übrigens alles.
ZitatAusgabe von http://tv.fritz.box:8001/api/v2/ :
Für die Fritzbox läuft es auch nicht. ;D ::) Spaß beiseite: So hast Du den TV in der FritzBox benannt ?
Zitatalten Modul STV funktioniert übrigens alles.
stimmt so wohl auch nicht. Wenn, nur eine der vielzähligen modifizierten Versionen.
Da wäre dann die Frage: Welche ?
Firmware < 1202 spekuliere ich ?
Wie sieht das list aus ? Das Log mit verbose=5?
Ist das device 2-mal definiert(STV u. SAMSUNGAV)?
.
.
Grüße Markus
Du hast natürlich recht, "alles" ist übertrieben. ;)
Von STV benutze ich eine ältere Version:
70_STV.pm 12857 2016-12-21 11:59:33Z Zwiebel
Mit der kann ich aber Dinge wie Kanal, Lautstärke, Ein/Ausschalten bewerkstelligen.
Das device ist nur einmal als STV definiert.
Mit Firmware ist die Firmware vom Samsung Fernseher gemeint? 1231.
Ein Log mit verbose=5 (SAMSUNGAV?) kann ich demnächst nachliefern.
ZitatEin Log mit verbose=5 (SAMSUNGAV?) kann ich demnächst nachliefern.
Klar.
Zitat70_STV.pm 12857 2016-12-21 11:59:33Z Zwiebel
Glaube kaum, dass Du damit einen K-Serie(Tizen) steuern konntest. Das ging erst mit einer meiner vielzähligen Modifikationen. Dort war dann aber keine Version verändert, weil inoffiziell.
ZitatMit Firmware ist die Firmware vom Samsung Fernseher gemeint? 1231.
Ui, 1231 ? Da hat uns S. doch hoffentlich kein neues Kuckucks-Ei ins Nest gelegt ? Ich hab, nachdem wir die "token"-Geschichte geknackt hatten meinem N-Serie auch ein Update gegönnt und habe die 1202.
Ähnliche Symptomatik hatte kürzlich auch jemand.
Ich suche...Guck mal ab hier (https://forum.fhem.de/index.php/topic,97001.msg904794.html#msg904794).
Die Bedienung mit dem STV ist tatsächlich etwas zickig geworden, nachdem ich meinen RPI3 auf Stretch umgemodelt habe.
Zuvor lief die Bedienung aber ganz prima.
Ich werde noch ein wenig mehr herumprobieren, vielleicht bekomme ich noch etwas heraus.
###
define Samsung_TV STV 192.168.0.16 ws
Wenn der Fernseher läuft, kann ich die Kanäle und Lautstärke ändern und das Ding auch ausschalten.
Einschalten geht nicht (WLAN-Anbindung).
Und es ist tatsächlich ein Samsung UE55KS9090, mit dem das hier geht.
Zitatdefine Samsung_TV STV 192.168.0.16 ws
so geht es schon urlange nicht mehr. siehe commandref. ;)
define Samsung_TV SamsungAV 192.168.0.16 8001
wäre richtig.
ZitatDie besagte STV hab ich angehängt.
Dann hängs mal wieder ab, bevor es noch weitere Verwirrung stiftet. ;D
Grüße Markus
Hab's auf SamsungAV umgestellt, geht leider nicht - keine Reaktion auf z.B. POWEROFF Befehl.
Verbose 5 log:
2019.04.29 12:32:37 4: [SamsungAV] HTTP socket-connection to Samsung_TV. SSL_Reply:
2019.04.29 12:32:37 4: [SamsungAV] HTTP socket-connection to Samsung_TV successful.
2019.04.29 12:32:37 5: [SamsungAV] Samsung_TV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.0.16:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.04.29 12:32:37 5: [SamsungAV] Samsung_TV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.04.29 12:32:37 5: [SamsungAV] Samsung_TV Statusbytes of second websocket response: 817e00fd
2019.04.29 12:32:37 5: [SamsungAV] Samsung_TV data of second websocket response: {"event":"ms.channel.connect","data":{"id":"bf7ab2e0-1f32-11b2-8b6c-b93b4d4b6918","clients":[{"id":"bf7ab2e0-1f32-11b2-8b6c-b93b4d4b6918","connectTime":151471374,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.04.29 12:32:37 4: [SamsungAV] Samsung_TV sending POWEROFF
2019.04.29 12:32:37 5: [SamsungAV] Samsung_TV send payload: {"method":"ms.remote.control","params":{"Cmd":"Click","TypeOfRemote":"SendRemoteKey","Option":"false","DataOfCmd":"KEY_POWEROFF"}}
2019.04.29 12:32:48 4: [SamsungAV] Samsung_TV online with 192.168.0.16:8001 - HTTP-Response: 404
600000 bei "delayRC".
Danke.
Lesen bildet.
Noch eine Verständnisfrage:
Soll "poweron" bzw. "poweroff" genau dieses bewirken? Bei mit reagiert der Fernseher nicht darauf.
Hingegen "power" schaltet den Fernseher in den an/aus Zustand, je nachdem, wie der vorhergehende Zustand war.
Wieder ein delayRC-Problem?
OK, hab's glaub ich gefunden.
https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940
Hallo!
Ich nutze schon eine ganze weile das STV mit meinem Samsung "K" serie erfolgreich.
Jetzt habe ich die Fritzbox gegen ein neues Modell getauscht und alle Einstellungen übernommen und ich musste von Lan auf Wlan umstellen,
aber jetzt auf einmal bekomme ich den Tv nicht mehr so gesteuert wie vorher.
Habe dann von einem alten STV auf von SamsungAv umgestellt, es geht aber kein Befehl mehr,
wo könnte ich bei der Fehler suche anfangen???
Hier mal meine Config:
{
"id": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"name": "[TV] Samsung 8 Series (65)",
"version": "2.1.0",
"device": {
"type": "Samsung SmartTV",
"duid": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"model": "16_JAZZM_UHD",
"modelName": "UE65KS8090",
"description": "Samsung DTV RCR",
"networkType": "wireless",
"ssid": "44:4e:6d:e4:53:33",
"ip": "192.168.178.44",
"firmwareVersion": "Unknown",
"name": "[TV] Samsung 8 Series (65)",
"id": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"udn": "uuid:1221f120-b7ca-485a-8fae-0b12ca1eaeb3",
"resolution": "3840x2160",
"countryCode": "DE",
"msfVersion": "2.1.0",
"smartHubAgreement": "true",
"VoiceSupport": "true",
"GamePadSupport": "true",
"wifiMac": "F8:04:2E:F4:7B:24",
"developerMode": "0",
"developerIP": "",
"OS": "Tizen"
},
"type": "Samsung SmartTV",
"uri": "http://192.168.178.44:8001/api/v2/",
"remote": "1.0",
"isSupport": "{\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\",\"DMP_available\":\"true\",\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"EDEN_available\":\"true\"}"
}
Internals:
CHANGED
DEF 192.168.178.44 8001
FUUID 5cd6921a-f33f-b82c-862a-d87ab05160f4652b
Host 192.168.178.44
Mode
NAME TV_Samsung
NR 304
NTFY_ORDER 50-TV_Samsung
Port 8001
STATE on
TYPE SamsungAV
READINGS:
2019-05-11 11:14:56 state on
helper:
Attributes:
room Tv
verbose 5
2019.05.11 11:34:29 5: [SamsungAV] TV_Samsung command 1 parameter
DEBUG: .../IO/Socket/SSL.pm:2781: new ctx 79462456
DEBUG: .../IO/Socket/SSL.pm:638: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:640: socket connected
DEBUG: .../IO/Socket/SSL.pm:662: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:698: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:751: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:822: ssl handshake done
2019.05.11 11:34:30 4: [SamsungAV] HTTP socket-connection to TV_Samsung. SSL_Reply:
2019.05.11 11:34:30 4: [SamsungAV] HTTP socket-connection to TV_Samsung successful.
2019.05.11 11:34:30 5: [SamsungAV] TV_Samsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.44:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.05.11 11:34:30 5: [SamsungAV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.05.11 11:34:30 5: [SamsungAV] TV_Samsung Statusbytes of second websocket response: 817e0101
2019.05.11 11:34:30 5: [SamsungAV] TV_Samsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"f98331a0-73cf-11e9-ab70-47801892c3f3","clients":[{"id":"f98331a0-73cf-11e9-ab70-47801892c3f3","connectTime":1557567269306,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.05.11 11:34:30 4: [SamsungAV] TV_Samsung sending 1
2019.05.11 11:34:30 5: [SamsungAV] TV_Samsung send payload: {"params":{"DataOfCmd":"KEY_1","Cmd":"Click","TypeOfRemote":"SendRemoteKey","Option":"false"},"method":"ms.remote.control"}
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung command power parameter
DEBUG: .../IO/Socket/SSL.pm:2781: new ctx 79462456
DEBUG: .../IO/Socket/SSL.pm:638: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:640: socket connected
DEBUG: .../IO/Socket/SSL.pm:662: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:698: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:751: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:822: ssl handshake done
2019.05.11 11:34:41 4: [SamsungAV] HTTP socket-connection to TV_Samsung. SSL_Reply:
2019.05.11 11:34:41 4: [SamsungAV] HTTP socket-connection to TV_Samsung successful.
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.44:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung Statusbytes of second websocket response: 817e0101
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"0043dcb0-73d0-11e9-ab70-47801892c3f3","clients":[{"id":"0043dcb0-73d0-11e9-ab70-47801892c3f3","connectTime":1557567280635,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.05.11 11:34:41 4: [SamsungAV] TV_Samsung sending POWER
2019.05.11 11:34:41 5: [SamsungAV] TV_Samsung send payload: {"method":"ms.remote.control","params":{"TypeOfRemote":"SendRemoteKey","Option":"false","DataOfCmd":"KEY_POWER","Cmd":"Click"}}
2019.05.11 11:34:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
2019.05.11 11:35:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
2019.05.11 11:36:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
2019.05.11 11:37:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
2019.05.11 11:38:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
Mfg Steffen
Hi Steffen,
durch Umstellung von LAN auf WLAN langsamer ? :-\ Und daher wie bei Deinem Vorredner delayRC höher setzen ?
Grüße Markus
Hallo,
hatte das zwischendurch auch versuchte aber mit einem delayRc 600000 kommt kein Befehl an?!
2019.05.11 13:02:15 5: [SamsungAV] TV_Samsung command 1 parameter
DEBUG: .../IO/Socket/SSL.pm:2781: new ctx 79570920
DEBUG: .../IO/Socket/SSL.pm:638: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:640: socket connected
DEBUG: .../IO/Socket/SSL.pm:662: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:698: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:751: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:822: ssl handshake done
2019.05.11 13:02:15 4: [SamsungAV] HTTP socket-connection to TV_Samsung. SSL_Reply:
2019.05.11 13:02:15 4: [SamsungAV] HTTP socket-connection to TV_Samsung successful.
2019.05.11 13:02:15 5: [SamsungAV] TV_Samsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.44:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.05.11 13:02:15 5: [SamsungAV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.05.11 13:02:16 5: [SamsungAV] TV_Samsung Statusbytes of second websocket response: 817e0101
2019.05.11 13:02:16 5: [SamsungAV] TV_Samsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"3c23f6a0-73dc-11e9-ab70-47801892c3f3","clients":[{"id":"3c23f6a0-73dc-11e9-ab70-47801892c3f3","connectTime":1557572535050,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.05.11 13:02:16 4: [SamsungAV] TV_Samsung sending 1
2019.05.11 13:02:16 5: [SamsungAV] TV_Samsung send payload: {"params":{"TypeOfRemote":"SendRemoteKey","Option":"false","DataOfCmd":"KEY_1","Cmd":"Click"},"method":"ms.remote.control"}
2019.05.11 13:02:36 5: [SamsungAV] TV_Samsung command power parameter
DEBUG: .../IO/Socket/SSL.pm:2781: new ctx 78610416
DEBUG: .../IO/Socket/SSL.pm:638: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:640: socket connected
DEBUG: .../IO/Socket/SSL.pm:662: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:698: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:751: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:822: ssl handshake done
2019.05.11 13:02:37 4: [SamsungAV] HTTP socket-connection to TV_Samsung. SSL_Reply:
2019.05.11 13:02:37 4: [SamsungAV] HTTP socket-connection to TV_Samsung successful.
2019.05.11 13:02:37 5: [SamsungAV] TV_Samsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.178.44:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.05.11 13:02:37 5: [SamsungAV] TV_Samsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.05.11 13:02:37 5: [SamsungAV] TV_Samsung Statusbytes of second websocket response: 817e0101
2019.05.11 13:02:37 5: [SamsungAV] TV_Samsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"48c10740-73dc-11e9-ab70-47801892c3f3","clients":[{"id":"48c10740-73dc-11e9-ab70-47801892c3f3","connectTime":1557572556212,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.05.11 13:02:37 4: [SamsungAV] TV_Samsung sending POWER
2019.05.11 13:02:37 5: [SamsungAV] TV_Samsung send payload: {"params":{"Cmd":"Click","DataOfCmd":"KEY_POWER","Option":"false","TypeOfRemote":"SendRemoteKey"},"method":"ms.remote.control"}
2019.05.11 13:02:47 4: [SamsungAV] TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
Kann das der Fehler sein?
TV_Samsung online with 192.168.178.44:8001 - HTTP-Response: 404
Nein, das ist Ok.
Der SSl-websockt-Aufbau klappt ja. Der TV reagiert. Nur der RC-Befehl zeigt scheinbar keine Wirkung. Das liegt in der Regel nur am delay.
Klappen die App-Geschichten ?
Zitat von: KölnSolar am 11 Mai 2019, 13:21:32
Nein, das ist Ok.
Der SSl-websockt-Aufbau klappt ja. Der TV reagiert. Nur der RC-Befehl zeigt scheinbar keine Wirkung. Das liegt in der Regel nur am delay.
Klappen die App-Geschichten ?
Hallo,
würde ich gerne Testen aber wo finde ich die App Befehle, in meiner alten STV version waren die noch bei 0_App_ usw., aber den Punkt finde ich im SamsungAv nicht mehr?!?
Mfg Steffen
Die gibt es nur dann, wenn die App-Ermittlung funktioniert hat. Mit "statusRequest" kannst Du die Ermittlung wiederholen. Wenn dann immer noch nichts kommt bitte mal ein Log mit verbose=5 bei "statusRequest".
delayRc hattest Du auch mit höheren Werten als 600000 probiert ? Ggfs. muss man sich in seiner Installation an einen passenden Wert herantasten. Soviel wie nötig, so wenig wie möglich.
Zitat von: KölnSolar am 11 Mai 2019, 16:06:42
Die gibt es nur dann, wenn die App-Ermittlung funktioniert hat. Mit "statusRequest" kannst Du die Ermittlung wiederholen. Wenn dann immer noch nichts kommt bitte mal ein Log mit verbose=5 bei "statusRequest".
delayRc hattest Du auch mit höheren Werten als 600000 probiert ? Ggfs. muss man sich in seiner Installation an einen passenden Wert herantasten. Soviel wie nötig, so wenig wie möglich.
Hallo!
Vielen dank für die Hilfe bei dem Wert von "1200000" klappen nun alle Befehle.
Eine frage hätte ich vielleicht noch, hätte man die Möglichkeit den Befehl den es im Tv unter Einstellung>Ton>Experteneinstellung>Audioformat einzustellen ?
Mfg Steffen
Hallo Steffen,
1,2 Sek. find ich verdammt heftig. Da müsstest Du mal gucken, ob Du das irgendwie niedriger bekommst(meines Erachtens ist Deine WLAN-Verbindung schuld)
Wenn Du dann nämlich meinen Vorschlag umsetzen möchtest, blockiert FHEM immens.
ZitatEinstellung>Ton>Experteneinstellung>Audioformat einzustellen
wirst Du vermutlich nur über 0_macro realisieren können, da es keinen Standard-RC-Befehl gibt.
Grüße Markus
Moinsen.
Ich hab hier ein Problem mit dem SamsungTV-Modul und nem F-Serie Samsung.
Alles funktioniert, wenn der TV an ist. Allerdings bekomme ich es nicht gebacken, ein neues Command "an" oder "on" mit meinem CEC-Anschalter zu implementieren.
Oder - wie es mir am liebsten wäre - "poweron" zu ersetzen.
Der Befehl, mit dem ich den TV einschalte:
echo "on 0" | sudo cec-client -s -d 1
Habs mit nem Notify versucht:
define FernseherAn notify Fernseher:poweron {system('echo "on 0" | sudo cec-client -s -d 1')}
Wobei "Fernseher" das SamsungAV Device ist (also kein Dummy). Ich habe es mit den RegExp poweron, power, .*, on, an versucht. Wobei .* funktioniert und der TV schaltet ein... reagiert allerdings nur bei Readings (also sobald der Status auf "absent" wechselt, schaltet der TV wieder ein :-D ).
Die genannten Regexp werden übrigens nicht zur Auswahl angeboten im Wizard. Also manuell ins DEF gehackt...
Fehlermeldungen sind fast ausschließlich Could not create socket. Port: 55000. Aborting.
Kann man diesen Check irgendwo ausschalten? Ich schätze, das verhindert das Abfangen durchs Notify.
Ich kann mit dem SamsungAV-Modul sonst nix anfangen, wenn der TV aus ist...
Die RC-Befehle lösen kein event aus. Deshalb ist Dein Versuch vergebens.
Die Alternativen zum einschalten findest Du hier (https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940). Für die cec-Variante müsstest Du Dir einen Dummy anlegen.
Ui, die Antwort ging ja fix ^^.
Jau, dachte ich mir fast schon. Danke für die Bestätigung.
Das Dummy läuft bereits seit einiger Zeit. Ich würde nun aber gern alle Commands des Moduls in einem Device zusammengefasst haben, also kein Extra-Device nur fürs Einschalten des Fernsehers.
Gibts da Möglichkeiten? Mir fällt grad nix mehr ein sonst ^^
Hallo Ich bin neu hier im Forum denn Ich habe ein Mega Problem wo ich nicht weiterkomme!
Ich Steuere mein Haus mit einer anderen Software und würde mich freun wenn mir hier geholfen wird.
Den Samsung Tizen kann man ja über den websocket steuern, von meiner Software hat ein kollege schon ein Modul geschrieben und wir haben vor einer Woche getestet und hat alles gut ausgesehen.
ABER!!!!!!!!!
Jetzt kommt mein Problem Ich komme mit dem Plugin von Chrome oder Firefox "Simple Web Socket" nicht mehr auf den Webserver vom Fernseher so das Ich einen Token erhalte
Fernseher ist ein Samsung MU7009 und aktuell ist FW 1270 drauf
Wie kommt man zu einem Token?
mit der wss......verbindung bekomme ich keine Antwort vom TV und er fragt nicht zulassen oder verweigern.
Mfg
Maxx
Installier Dir FHEM und Du kannst den token-Ablauf im Log verfolgen. 8)
Beim websocket-Aufbau auf Port 8002 OHNE gültigen token wird in der Antwort ein token mitgeliefert. MIT gültigem token meiner Erinnerung nach nicht. Das Ganze auch glaube ich NUR, wenn z.B. auf /api/v2/channels/samsung.remote.control
zugegriffen wird. Im Browser habe ich das noch nie gemacht.
Bei uns läuft der Aufbau in 2 Schritten. Zuerst eine SSL-Verbindung und dann ein upgrade auf das websocket-Protokoll mit:
GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=vorhandenerToken HTTP/1.1\r\n
.
.
Die JSON-Antwort des TV MIT einem token sieht so aus:
{"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"14576607"}.......
Grüße Markus
Hi,
bei mir hat bei ersten Einrichten alles geklappt,jetzt kann ich noch alles nutzen also mute oder programwechsel,aber poweroff geht nicht.
hab zurzeit den delayRC auf 1200000
Edit: Nachdem ich ein set clear gemacht habe funktioniert das poweroff wieder...hmm
Edit2: Korrektur, geht doch nicht...
Hi, ich such jetzt achon seit stunden nach ner Lösung und seh nur noch 0001111001010101010010 :)
Also ich habe nen TV aus der F Serie und einen aus der H Serie.
F war easy, device anlegen und bestätigen beim ersten Zugriff... toll!!!
H ist kompliziert.... device anlegen funktioniert, wird auch als on off angezeigt. aber diesen Key bekomme ich nicht erzeug.
Ich habe jetzt schon X - regapp.pl aus dem Fred hier runtergeladen, angepasst, modifiziert... die Pinabfrage kommt, aber dann wird keine Datei erzeug.
Scheinbar ist dieser Service nicht erreichbar...
pi@raspberrypi:~ $ wget https://34.210.190.209:5443/
--2019-07-25 19:51:00-- https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443...
fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen.
Erneuter Versuch.
--2019-07-25 19:53:11-- (Versuch: 2) https://34.210.190.209:5443/
Verbindungsaufbau zu 34.210.190.209:5443... fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen
.
Ich habs auch mit PySmartCrypto versucht, das läuft auch in einen Fehler:
pi@raspberrypi:/opt/fhem/PySmartCrypto $ python3 regapp_smartcrypto.py
Traceback (most recent call last):
File "regapp_smartcrypto.py", line 2, in <module>
import crypto
File "/opt/fhem/PySmartCrypto/crypto.py", line 2, in <module>
from Crypto.Cipher import AES
ImportError: No module named 'Crypto'
Wo liegt jetzt mein Fehler?? Einer einen Tipp??
Vielen Dank Leute.
VG
René
PS: Viell. isses auch nur zu heiss...
ZitatWo liegt jetzt mein Fehler??
Tv zu alt. :(
ZitatScheinbar ist dieser Service nicht erreichbar...
und nicht nur der service, sondern der Server. :'(
Zitatschon X - regapp.pl aus dem Fred hier runtergeladen
Wird wohl nicht helfen. Max. warten, ob der Server wieder gestartet wird.
Raymund hatte vorausschauend diesen Weg (https://forum.fhem.de/index.php/topic,57595.msg883754.html#msg883754) getestet und beschrieben. Hast Du Dich GENAU an seine Anleitung gehalten ? Python scheint ja manchmal je nach Version zu zicken....
ZitatHi, ich such jetzt schon seit Stunden nach ner Lösung ...
Ja, es ist soweit: der genannte Server bei AWS ist wohl tatsächlich nicht mehr erreichbar. Aber die Python-Lösung läuft weiterhin wie beschrieben. Gerade sicherheitshalber nochmal getestet.
Grüße
Raymund
Hi danke für die Info. Leider hab ich es bisher nicht geschafft mein python über 3.4 zu bekommen. Auf Jessie gibt's scheinbar kein höheres Paket und selber aus den Quellen bauen hab ich probiert, läuft bei mir immer in einen Fehler.
leider ist jetzt auch noch der Paketmanager hin.. Mal sehen ob ich das alles wieder hinbekomme.
VG René
Ich habe eine Frage, mit welchen befehl kann man umschalten von HDMI 1 auf 2 oder 3 bzw. 4?
Geht das überhaubt?
Mfg maxx
Zitat von: Raymund am 08 Januar 2019, 11:54:12
Wer hier das FHEM-Modul 70_STV.pm mit seiner H-Serie betreibt, wird die dazu notwendige Schlüsseldatei 'samsung_session_key.txt' vermutlich mit 'regapp.pm' erzeugen (siehe #176). Die Verschlüsselung wird darin mittels eines externen Servers unter der IP 34.210.190.209 erledigt, deren Reverse Lookup zu Amazon Web Services führt. Da die Schlüsseldatei sporadisch immer mal neu erzeugt werden muss (z.B. nach einem Stromausfall, aber auch nicht immer), beschleicht einen die Sorge, dass der bei AWS gehostete Server mal nicht mehr zur Verfügung stehen könnte.
Inzwischen gibt es unter https://github.com/tdudek/samsung-remote-models-2014-and-newer (https://github.com/tdudek/samsung-remote-models-2014-and-newer) eine Javascript-Lösung, die die Verschlüsselung selbst macht und die ich erfolgreich getestet habe. Es wird allerdings Node.js benötigt.
Markus hat mich aber auch auf eine entsprechende Python-Lösung namens 'SmartCrypto' aufmerksam gemacht: https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)
Auch diese habe ich erfolgreich getestet und ein für unsere Zwecke geeignetes Script hinzugefügt. Es wird dazu Python3 ab Version 3.5 benötigt, das z.B. in Raspbian Stretch bereits installiert ist (Versionsabfrage mit 'python3 -V'). Weiter ist jetzt PIP notwendig, das mit 'apt-get install python3-pip' installiert wird. Es enthält auch das notwendige 'crypto'. Danach wird mit 'python3 -m pip install websocket-client' noch 'websocket' installiert.
Das von github heruntergeladene ZIP-Archiv mit SmartCrypto wird entpackt. Ich habe den darin enthaltenen Ordner 'PySmartCrypto' gleich unter /opt/fhem platziert. Jetzt wird nur noch das hier angehängte Script 'regapp_smartcrypto.py' dort hineinkopiert und darin die eigene IP des Fernsehers eingetragen (Zeile 12). Das sollte es gewesen sein.
Nach dem Start auf der Console mit 'python3 regapp_smartcrypto.py' erscheint die bekannte 4-stellige PIN auf dem TV, die man in die Console überträgt. Wenn jetzt alles klappt, liegt anschließend die Schlüsseldatei 'samsung_session_key.txt' im Ordner. Durch Auskommentieren der Zeile 16 kann die Schlüsseldatei auch eine Etage höher zu liegen kommen und somit direkt von 70_STV.pm gelesen werden. In Zeile 127 wird noch der User (fhem) und die Gruppe (dialout) der Schlüsseldatei gesetzt. Das kann auskommentiert werden, wenn nicht erwünscht.
Da dieses Script nur die Schlüsseldatei bereitstellt, stellt es keinen Eingriff in 70_STV.pm dar!
@Raymund
ich versuche grad meinen Samsung UE65JU6450 mittels deinem Script in FHEM einzubinden.
Es erscheint auch der PIN auf dem TV, aber wenn ich den in der Putty-Shell eingebe kommt folgendes:
Current state: stopped
Pin NOT on TV
Please enter pin from tv: 9580
Got pin: '9580'
AES key: 7c6eb5173603963c30a2d287b0fe9fb1
AES encrypted: f938da8314c53349e94b6cfd596f74c03a8dc79ec6825e3f38ff0fb408263d55c5d6f02aff4cddcc30367c58862a186192abb9551f04545f87c4e489fd2e0417855048ed6d3370c589f232c201f909e9c7a42044116cbda4391fffc145c3fe52e5cfb168b815fd8ffdf048e2d8c156d9eca2523e5b7515fd0498bb168669f72e
AES swapped: 84602d56d8512bf33f071a03020637aa7912a3276a8040b43e0b0e9428788852a764d0720bc1726a2ad0d363667831ef52a4c8c0201f9b2a5f8e161d8d86f5a35fd2f9d70bee15b5ef1b6b906b271fe57b2ea19371a53ca257444283690e8dd0912169f20b9a2c807ecd38e47ded103d33f3c8c79a6bade5e1e638a1c702cd9f
data buffer: 0000000636353433323184602D56D8512BF33F071A03020637AA7912A3276A8040B43E0B0E9428788852A764D0720BC1726A2AD0D363667831EF52A4C8C0201F9B2A5F8E161D8D86F5A35FD2F9D70BEE15B5EF1B6B906B271FE57B2EA19371A53CA257444283690E8DD0912169F20B9A2C807ECD38E47DED103D33F3C8C79A6BADE5E1E638A1C702CD9F
hash: 7e0eda04f8dd1b4b4253d2c37c608397493eb1dd
secondStepResponse: {
"status": 404,
"message": "Not Found",
"code": 404
}
Pin incorrect. Please try again...
woran kanns liegen?
Ist der TV nicht richtig erreichbar - wie ich evtl. aus dem "status": 404 entnehme?
Zitatmit welchen befehl kann man umschalten von HDMI 1 auf 2 oder 3 bzw. 4?
Kann ich Dir konkret nicht beantworten. Vermutlich v. d. Serie abhängig.
Im Befehlsumfang sind hdmi(evtl. mit der Nr. als nachfolgender Input?), hdmi1, hdmi2. Musst Du probieren. Ansonsten über 0_macro u. TV-Befehl source mit nachfolgenden rauf,runter,links,rechts.
Grüße Markus
Zitat von: punker am 04 August 2019, 11:14:05
woran kanns liegen?
Ist der TV nicht richtig erreichbar - wie ich evtl. aus dem "status": 404 entnehme?
@punker
Ich habe das genannte Skript erfolgreich für meine H-Serie
getestet. Da Dein TV die PIN liefert, scheint er ja unter der eingestellten IP und Port 8080 grundsätzlich erreichbar zu sein. Ob sich auch das weitere Protokoll so verhält wie bei meiner H-Serie, kann ich Dir nicht sagen bzw. schreiben. Vielleicht können andere User das für Deinen TV-Typ zunächst bestätigen???
eclair4151 (https://github.com/eclair4151) hatte ja bereits im Readme (https://github.com/eclair4151/samsung_encrypted_POC/blob/master/README.md) zu seiner ersten Skriptversion geschrieben, dass einige Typen nicht kompatibel sind :(
Zitat von: KölnSolar am 04 August 2019, 12:10:06
Kann ich Dir konkret nicht beantworten. Vermutlich v. d. Serie abhängig.
Im Befehlsumfang sind hdmi(evtl. mit der Nr. als nachfolgender Input?), hdmi1, hdmi2. Musst Du probieren. Ansonsten über 0_macro u. TV-Befehl source mit nachfolgenden rauf,runter,links,rechts.
Grüße Markus
Das gleiche Problem habe ich auch, früher konnte ich mit HDMI1 und HDMI2 einfach direkt auf die richtige Quelle wechseln. Seit einiger Zeit gibts nur noch HDMI im Modul :/
Das ist falsch.
hdmi, hdmi1 u. hdmi2. Und unter G_Others gibt es noch HDMI3 u. HDMI4.
Da ich kein hdmi habe, kann ich auch nicht testen. Also testen u. mit verbose=5 loggen und Testbeschreibung u. Logauszug hier einstellen.
Zitatworan kanns liegen?
Ist der TV nicht richtig erreichbar - wie ich evtl. aus dem "status": 404 entnehme?
@punker
Eine Idee hätte ich noch: checke mal in Deinem TV unter Menü->Netzwerk->Multimedia-Gerätemanager, ob da etwas eingetragen ist. Ggf. löschen.
@Raymund
So, jetzt funzt die Verbindung - hatte in deinem Script den tvPort = "8001" gesetzt, gebraucht hats aber den Port 8080!
Jetzt muss ich nur noch wegen den Kommandos schauen welche funzen.
Danke für die Hilfe!
Zu früh gefreut.
Hab den Fernseher ausgeschalten (mit der FB) und wollte ihne per FHEM set power wieder einschalten aber es kommt nur:
[SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
wie kann ich das denn lösen?
Zitat von: punker am 07 August 2019, 16:44:47
Zu früh gefreut.
Hab den Fernseher ausgeschalten (mit der FB) und wollte ihne per FHEM set power wieder einschalten aber es kommt nur:
[SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
wie kann ich das denn lösen?
Garnicht. Wie soll der TV reagieren, wenn er aus ist. Viele Fernseher schalten das Netzwerk ab und horchen nur auf die Fernbedienung über Infrarot.
Tja, ich dachte wenn der set Befehl poweron bzw. power vorhanden sit dann geht einschalten.
Aber es geht ja auch sonst kein Befehl.
Hab hier noch ein mit verbose 5 erstelltes Log - vllt. hilfts ja)
2019.08.07 16:28:58 3: [SamsungAV] mySamsung defined with host: 192.168.2.221 port: 8001
2019.08.07 16:38:46 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
2019.08.07 16:39:30 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
2019.08.07 16:43:24 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
2019.08.07 17:17:24 5: [SamsungAV] mySamsung command mute parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 3170433544
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2019.08.07 17:17:24 4: [SamsungAV] HTTP socket-connection to mySamsung. SSL_Reply:
2019.08.07 17:17:24 4: [SamsungAV] HTTP socket-connection to mySamsung successful.
2019.08.07 17:17:24 5: [SamsungAV] mySamsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.2.221:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.08.07 17:17:24 5: [SamsungAV] mySamsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.08.07 17:17:24 5: [SamsungAV] mySamsung Statusbytes of second websocket response: 817e0101
2019.08.07 17:17:24 5: [SamsungAV] mySamsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"754dce80-b926-11e9-bbc9-6928c1b227ed","clients":[{"id":"754dce80-b926-11e9-bbc9-6928c1b227ed","connectTime":1565191043944,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.08.07 17:17:24 4: [SamsungAV] mySamsung sending MUTE
2019.08.07 17:17:24 5: [SamsungAV] mySamsung send payload: {"params":{"TypeOfRemote":"SendRemoteKey","Cmd":"Click","Option":"false","DataOfCmd":"KEY_MUTE"},"method":"ms.remote.control"}
2019.08.07 17:18:20 5: [SamsungAV] mySamsung command poweroff parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 3166527928
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2019.08.07 17:18:20 4: [SamsungAV] HTTP socket-connection to mySamsung. SSL_Reply:
2019.08.07 17:18:20 4: [SamsungAV] HTTP socket-connection to mySamsung successful.
2019.08.07 17:18:20 5: [SamsungAV] mySamsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.2.221:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.08.07 17:18:20 5: [SamsungAV] mySamsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.08.07 17:18:20 5: [SamsungAV] mySamsung Statusbytes of second websocket response: 817e0101
2019.08.07 17:18:20 5: [SamsungAV] mySamsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"968bc930-b926-11e9-bbc9-6928c1b227ed","clients":[{"id":"968bc930-b926-11e9-bbc9-6928c1b227ed","connectTime":1565191099715,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.08.07 17:18:20 4: [SamsungAV] mySamsung sending POWEROFF
2019.08.07 17:18:20 5: [SamsungAV] mySamsung send payload: {"params":{"TypeOfRemote":"SendRemoteKey","Cmd":"Click","Option":"false","DataOfCmd":"KEY_POWEROFF"},"method":"ms.remote.control"}
Danke schonmal
Ich habe das Power on bei meinem KS9090 so gelöst:
{system (qx(etherwake -i eth0 5c:49:7d:0a:83:7c))}
Der TV hängt allerdings auch am Lan-Kabel. Kannst Du ja bei Dir mal testen - natürlich mit Deiner MAC-Adresse...
Grüße sendet
Gigafix
etwas seltsame Logzusammenstellung, um es dem Helfer schwieriger zu machen ? ::)
Hier gab es doch wohl ein anderes Problem:
Zitat2019.08.07 16:38:46 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
2019.08.07 16:39:30 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
2019.08.07 16:43:24 2: [SamsungAV] HTTP socket-connection to mySamsung not successful. SSL_Error: IO::Socket::IP configuration failed
Der mute-Befehl hat bestens funktioniert:
2019.08.07 17:17:24 5: [SamsungAV] mySamsung command mute parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 3170433544
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2019.08.07 17:17:24 4: [SamsungAV] HTTP socket-connection to mySamsung. SSL_Reply:
2019.08.07 17:17:24 4: [SamsungAV] HTTP socket-connection to mySamsung successful.
2019.08.07 17:17:24 5: [SamsungAV] mySamsung send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.2.221:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2019.08.07 17:17:24 5: [SamsungAV] mySamsung first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2019.08.07 17:17:24 5: [SamsungAV] mySamsung Statusbytes of second websocket response: 817e0101
2019.08.07 17:17:24 5: [SamsungAV] mySamsung data of second websocket response: {"event":"ms.channel.connect","data":{"id":"754dce80-b926-11e9-bbc9-6928c1b227ed","clients":[{"id":"754dce80-b926-11e9-bbc9-6928c1b227ed","connectTime":1565191043944,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2019.08.07 17:17:24 4: [SamsungAV] mySamsung sending MUTE
2019.08.07 17:17:24 5: [SamsungAV] mySamsung send payload: {"params":{"TypeOfRemote":"SendRemoteKey","Cmd":"Click","Option":"false","DataOfCmd":"KEY_MUTE"},"method":"ms.remote.control"}
Sollte der nicht "angekommen" sein, so ist Dein TV zu langsam und braucht mehr Zeit. Wie das geht, steht in der commandref.
ZitatTja, ich dachte wenn der set Befehl poweron bzw. power vorhanden sit dann geht einschalten.
Denken ist ja nicht schlecht, aber vorher lesen (https://forum.fhem.de/index.php/topic,82890.msg893940.html#msg893940) ist besser. ;)
Der dritte Befehl Deines Logauszugs war poweroff. Hat technisch funktioniert. Aber vermutlich kann Dein TV kein poweroff(dann funktioniert abschalten mit power) oder es ist dasselbe Problem wie bei mute.
Have fun
Markus
PS: Ähmm, jetzt wo ich noch die Beiträge vorher gelesen hab: Du hast doch J-Serie und scheinbar mit Verschlüsselung. Wieso definierst Du dann mit Port 8001 ? :o
Mich überrascht, dass das technisch überhaupt funktioniert hat. ???
@Raymund: Kannst Du bei Deinem H auch mit 8001 definieren und das Log sieht dann bei einem Befehl wie bei punker aus ? :-\ ??? :o
Guten Abend zusammen,
nach unserem Umzug versuche ich gerade meinen Samsung TV der M (/MU) Serie wieder in FHEM einzubinden.
In FHEM steht jedoch die ganze zeit defined, im LOG dann nur
<div class='fhemlog'>2019.08.07 21:44:02 3 : [SamsungAV] WZ_Fernseher defined with host: 192.168.19.161 port: 8001</div>2019-08-07 21:44:02 SamsungAV WZ_Fernseher defined
2019-08-07 21:44:02 Global global MODIFIED WZ_Fernseher
Bekomme auch am TV keine Meldung oder Hinweis wie es sein soll... Die Pakete ( sudo apt-get install libnet-address-ip-local-perl libio-interface-perl libnet-ssleay-perl libjson-pp-perl) sind alle Installiert :o
Zitatwieder in FHEM einzubinden
heißt: War vor dem Umzug eingebunden ?
Dann wäre doch klar
ZitatBekomme auch am TV keine Meldung oder Hinweis
:-\
mit verbose=4 sehen wir auch, was das Netzwerkproblem sein könnte, dass das device nicht in den state on wechselt.
ZitatKannst Du bei Deinem H auch mit 8001 definieren und das Log sieht dann bei einem Befehl wie bei punker aus ?
Sorry, aber ich verstehe nicht, was das immer mit den Ports soll. Wenn z.B. die H-Serie so entwickelt wurde, dass sie auf Port 8080 kommunizieren soll, dann lässt sie Port 8001 völlig kalt. Entsprechend ist die Antwort auf Markus' Frage: ja, definieren kann ich ihn, aber nein, funktionieren tut es so nicht. ;)
Zitat von: KölnSolar am 07 August 2019, 22:27:20
heißt: War vor dem Umzug eingebunden ?
Dann wäre doch klar :-\
mit verbose=4 sehen wir auch, was das Netzwerkproblem sein könnte, dass das device nicht in den state on wechselt.
Ja, vor dem Umzug war der TV schon mal an einem FHEM System, jedoch an einem alten System auf dem Pi. Mit dem Umzug bin ich auf einen Debian Server "umgezogen" und habe FHEM neu gemacht. Im TV habe ich alle alten Verbindungen gelöscht.
Ich hatte gestern verbose schon auf 5 stehen, eben nochmal auf 4, da kommt aber leider auch nicht viel mehr als folgendes:
<div class='fhemlog'>2019.08.08 17:47:52 3 : [SamsungAV] WZ_Fernseher defined with host: 192.168.19.161 port: 8001</div>2019-08-08 17:47:52 SamsungAV WZ_Fernseher defined
2019-08-08 17:47:52 Global global MODIFIED WZ_Fernseher
2019.08.08 17:47:54 1 : RMDIR: ./restoreDir/save/2019-08-05
Zitatda kommt aber leider auch nicht viel mehr als folgendes:
Das ist wenig. Keine Ahnung, was Du da treibst. Der state bleibt auch nur auf defined stehen ? Setz mal das Attribut disable=1 und lösch es dann wieder. Dann MUSS sich der state auf on oder absent ändern, sofern nicht ein anderer Fehler vorliegt. Auf jeden Fall muss mit verbose=4 mehr im Log zu sehen sein.
Was findet sich im Geräteverbindungsmanager des TV ? Welche Serie ? Welche firmware ?
Ein list vom device wär auch nicht schlecht.
der logausschnitt von Fillip ist, glaube ich, "nur" vom eventmonitor und nicht aus fhem.log. => also unbrauchbar.
Zitat von: frank am 08 August 2019, 18:55:55
der logausschnitt von Fillip ist, glaube ich, "nur" vom eventmonitor und nicht aus fhem.log. => also unbrauchbar.
Das ist richtig, was der Event Monitor, habe jedoch den Haken bei log mit angeklickt.
Das einzige was ich direkt im log noch gefundne habe ist folgendes
FHEMWEB WEB CSRF error: csrf_133212657143018e15 ne csrf_221558744440945 for client WEB_192.168.19.151_54136 / command define WZ_Fernseher SamsungAV 192.168.19.161 8001. For details see the csrfToken FHEMWEB attribute.
auch ein disable 1 und danach wieder löschen hat auch keine änderung gebracht :-\[/s]
EDIT:
Komisch, eben kam die Meldung auf dem TV zwei mal, nun ist FHEM Verbunden :o
Dann hab ich keine Idee. Mit dem löschen des disable-Attributs wird definitiv der Status des TV geprüft u. mit verbose=4 gelogged. der state wechselt auf "on" oder "absent"(hier dann mit Fehlermeldung im Log).
Und wir reden schon vom offiziellen 70_SamsungAV ?ZitatEDIT:
Komisch, eben kam die Meldung auf dem TV zwei mal, nun ist FHEM Verbunden :o
Alles andere war/ist komisch. ;D
Ein- ausschalten Samsung GQ49Q60RGTXZG mit Software TMSMDEUC-1312.2. Das Teil läßt sich über den Punkt "power" problemlos ausschalten nur das einschalten über WOL (FHEM) funktioniert leider nicht obwohl ich über WOL der FritzBox den Samsung einschalten kann.
Hat da vlt. jemand einen Tipp?
Viele Grüße
franky08
Ich habs mit UDP ohne jegliches Attribut definiert. Funktioniert(meistens). ;D
Mmh, ja, ich hatte die Def. aus deinem Doku Thread bzw. dem WIKI übernommen. Also define <name> WOL <MAC> <IP> UDP.
Da passiert leider gar nichts, der Samsung ist aus der Q Serie, wenn ich WOL in der Fritte anstoße geht der TV sofort auf on.
DeviceOverview
TV_WZ
TV_WZ Internals
CHANGED
DEF 192.168.2.65 8001
FUUID 5d5d0bf4-f33f-9332-7276-080468e8e6efac27
Host 192.168.2.65
Mode
NAME TV_WZ
NR 16
NTFY_ORDER 50-TV_WZ
Port 8001
STATE on
TYPE SamsungAV
WOL:
define Samsung_TV WOL <MAC> 192.168.2.65 UDP
Hast Du es schon mal mit etherwake probiert?
Installieren -> sudo apt-get install etherwake
Dann in FHEM
{system (qx(etherwake -i eth0 5c:49:7d:0b:81:7c))}
Der TV hängt am Lan-Kabel. Kannst Du ja bei Dir mal testen - ggf. die Netzwerkschnittstelle anpassen und natürlich die MAC-Adresse.
Grüße sendet
Gigafix
Joh, mal schnell installiert:
etherwake: This program must be run as root.
P.S. ich Depp hatte vergessen das ich auf meiner zweiten fhem Instanz bin und da ist fhem nicht in der sudoers :-)
{system (qx(sudo etherwake -i enp1s0 24:fc:e5:00:6c:38))}
Läuft leider nicht?
P.S. über "Computer starten" in der Fritte startet der TV sofort
VG franky08
Zitat von: Papaloewe am 19 Januar 2018, 21:24:45
Hallo Jungs,
ich habe einen Samsung von der J-Serie und komme immer noch nicht weiter:
https://forum.fhem.de/index.php/topic,57595.msg749314.html#msg749314 (https://forum.fhem.de/index.php/topic,57595.msg749314.html#msg749314)
Die Pin wird auf dem Fernseher angezeigt und nach Eingabe dieser im Script bricht es mit der Fehlermeldung ab:
perl regapp.pl
Enter TV Pin: xxxx
HTTP_Request 34.210.190.209: Can't connect.
STEP 1 POST #1: Couldn't get the document.
Folglich wird auch kein Key-File erzeugt und es findet kein Pairing mit dem Fernseher statt.
Im Gerätemanager wird kein Device angelegt.
Rufe ich die URL:
https://34.210.190.209:5443/ (https://34.210.190.209:5443/)
über den Browser auf wird nach einem User und Passwort verlangt.
Bei wem funktioniert das jetzt überhaupt mit der J-Serie?
Gruß
Thomas
Hallo,
hat irgendjemand eine Ahnung, ob der Server https://34.210.190.209:5443 noch existiert?
Das Script bringt bei mir die selbe Fehlermeldung (HTTP_Request 34.210.190.209: Can't connect.) und über den Browser ist die Adresse überhaupt nicht mehr erreichbar.
Kennt jemand mittlerweile eine Alternative um einen TV der H-Serie mit Fhem zu steuern?
Danke
Ja, existiert nicht mehr.
Lösung findest Du hier (https://forum.fhem.de/index.php/topic,82890.msg750390.html#msg750390)
Hm. "Dort" gibt es erstens die Erläuterung mit regapp.pl, das funktioniert nicht mehr. Zweitens der Link zur Python-Lösung - die fehlerhafte Informationen enthält. crypto ist keineswegs mehr Bestandteil von python3. Installiert man es von Hand und startet das Python-Programm, kommt
traceback (most recent call last):
File "regapp_smartcrypto.py", line 6, in <module>
from command_encryption import AESCipher
ImportError: No module named 'command_encryption'
Und versucht man dann dieses fehlende Modul nachzuinstallieren, gibt es nur
python3 -m pip install command_encryption
Collecting command_encryption
Could not find a version that satisfies the requirement command_encryption (from versions: )
No matching distribution found for command_encryption
Ich finde, Du hast mit dem Modul gute Arbeit geleistet, und sicher kannst Du auch nichts für das Chaos von Samsung. Aber könnte man nicht bitte die Dokumentation
a.) von Fehlern entschlacken
b.) kompaktifizieren ?
Im Wiki ginge das viel besser als in dem "Doku-Thread".
LG
pah
Zitata.) von Fehlern entschlacken
Welche ?
Zitatb.) kompaktifizieren ?
Klar. Allerdings ist es Absicht, dass die "Entwicklungsgeschichte" mitdokumentiert ist. Dass das für H-/J-Serie notwendige Schlüsselgenerieren nun gar nicht mehr funktioniert ist mir neu. Habe ja keinen entsprechenden TV. ::) Ich hau Raymund mal an.
Wiki hat plin ja über meine Doku begonnen. Müsste halt von Usern gepflegt werden.....
Grüße Markus
Edit: Raymund wird sich das ansehen. Er ist aber derzeit verhindert, so dass es noch ein wenig dauern wird...
ZitatWelche ?
Beispielsweise, dass crypto schon in der normalen python3-Installation enthalten sei.
Klar muss so etwas von Usern gepflegt werden - insofern wäre es sinnvoll, wenn wir für jede Variante _einen_ hätten.
LG
pah
Vielen Dank.
Das Stichwort "regapp_smartcrypto.py" hat mich zum Ziel geführt!
VG Manni
ZitatAllerdings ist es Absicht, dass die "Entwicklungsgeschichte" mitdokumentiert ist
Das kann man für sich selbst machen, oder um sich ein Denkmal zu setzen. Als Anleitung ist das allerdings, vorsichtig gesagt, wenig geeignet. Ich habe mir erlaubt, den kompletten Weg in das Wiki zur J-Serie einzutragen.
LG
pah
Bin zwar gerade im Urlaub, hatte aber die SmartCrypto-Lösung (https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)) erst vor ein paar Tagen noch erfolgreich angewendet (meine H-Serie musste kurz vom Stromnetz). Sehe auch keinen Grund weshalb nicht. Diese Lösung benötigt ja keinen externen Server und eine neue "Firmware" für die H-Serien kommt vermutlich auch nicht mehr.
Ich denke auch, dass man die "Historie" um die Lösung mittels regapp.pl entfernen sollte. Sie läuft nicht mehr und verwirrt nur.
Grüße
Raymund
Hallo zusammen,
Ich habe einen UE65HU8500, der ohne weitere Probleme mit FHEM gekoppelt ist.
Es gibt ja einige bekannte Unzulänglichkeiten bei Samsung, die ich jedoch nach soooooo langer Zeit nochmal kurz anfragen möchte.
Für meine H-Serie habe ich folgenden Kenntnissstand:
1) Power off geht, Power On geht nicht.
2) Schaltet man über die Steckdose ab, dann erfolgt ein Power On zum letzten Programm
3) WOL über WLan oder LAN geht nicht
4) Das aktuelle Programm kann nicht über die API ausgelesen werden.
Off Topic
5) Kann ich den Fernseher dazu bewegen, dass er mir alle Sender mit einheitlicher Lautstärke abspielt?
6) Bei Sonos habe ich schon einen RFA gestellt den Ton SPDIF-Wiedergabe zuerst auf ein Level zu setzen und dann den Ton auf die gewünschte Lautstärke zu bringen, aber das wird wohl auch nie was werden.
Wenn das noch Gültigkeit hat, muss ich leider wieder schmollen gehen, aber so ist es wohl.
Viele Grüße
Christian
Hi Christian,
1) u. 2) ja
3) eigentlich nein. Bei mir(N-Serie) klappt WOL über WLAN.
4) nein
Grüße Markus
Hallo Markus
3) es sollte simpel sein, Kannst Du mir mal Deine Raw Definition schicken?
4) bedeutet also es geht ;-) ....nicht.
Gruß Christian
Gesendet von meinem SM-G930F mit Tapatalk
Meine H-Serie (UE55H6740SV) schaltet nur Sekunden nach dem PowerOff die LAN-Schnittstelle aus. Da geht dann nix mehr mit WOL und auch nichts mit FHEM.
Na dann lag ich doch nicht so falsch.
Vielen Dank für die Info.
Gesendet von meinem SM-G930F mit Tapatalk
Eine Alternative wäre ein Broadlink. Geht immer, es gibt ein Fhem-Modul dazu und das Teil ist günstig ;)
Mein Samsung QLED Q65Q60R 65 Zoll 4K UHD Smart TV QE65Q60RATXZT wird von FHEM nicht erkannt.
Laut https://wiki.fhem.de/wiki/SamsungAV unterstützt FHEM "Q-Series(2018)", meiner ist von 2019.
Das ist die config:
define dlnadevices DLNARenderer
define SamsungTV SamsungAV 192.168.0.101 8001 dlnadevices
Das sind die ports:
pi@raspberrypi:~ $ nmap 192.168.0.101
Starting Nmap 6.47 ( http://nmap.org ) at 2019-12-21 17:39 CET
Nmap scan report for 192.168.0.101
Host is up (0.00065s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
8001/tcp open vcom-tunnel
8002/tcp open teradataordbms
8080/tcp open http-proxy
9110/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 5.80 seconds
pi@raspberrypi:~ $ nmap -sT -p50000-65534 192.168.0.101
Starting Nmap 6.47 ( http://nmap.org ) at 2019-12-21 17:39 CET
Nmap scan report for 192.168.0.101
Host is up (0.00085s latency).
Not shown: 15533 closed ports
PORT STATE SERVICE
52855/tcp open unknown
55653/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 7.05 seconds
pi@raspberrypi:~ $
Hat jemand einen Tipp?
Danke im Voraus!
Ich denke, dass 2019er Modelle wie alle ab K-Serie funktionieren.
Was zeigt denn das Log bei verbose=5 ? Beim define oder modify ?
Du hast meine modifizierte Version vom DLNARenderer im Einsatz und auch die Attribute richtig gesetzt?(ein list der devices könnte die Fragen beantworten ;))
Nach dem Neustart des raspberrypi, sind ein paar Readings da:
friendlyName not found 2019-12-21 20:43:05
modelName not found 2019-12-21 20:43:05
mute not found 2019-12-21 20:43:05
presence present 2019-12-21 20:43:05
state on 2019-12-21 20:43:05
stateAV initialized 2019-12-21 20:43:05
volume not found 2019-12-21 20:43:05
der log:
2019.12.21 20:32:55 3: [SamsungAV] SamsungTV defined with host: 192.168.0.101 port: 8001
2019.12.21 20:42:22 0: Server shutdown
2019.12.21 20:42:22 1: Shutdown executed
2019.12.21 20:42:44 3: [SamsungAV] device SamsungTV initialising....
2019.12.21 20:43:05 4: [SamsungAV] SamsungTV online with 192.168.0.101:8001 - HTTP-Response: 401
2019.12.21 20:43:44 4: [SamsungAV] SamsungTV online with 192.168.0.101:8001 - HTTP-Response: 401
2019.12.21 20:44:44 4: [SamsungAV] SamsungTV online with 192.168.0.101:8001 - HTTP-Response: 401
2019.12.21 20:45:44 4: [SamsungAV] SamsungTV online with 192.168.0.101:8001 - HTTP-Response: 401
Die Version:
pi@raspberrypi:/opt/fhem/FHEM $ more 70_SamsungAV.pm
# written 2019 by k▒lnsolar
# based on 70_STV which supports older generation of TV's. Thanks to Zwiebel.
# extended for newer moduls. Python script samsungctl was used as reference.
#
# $Id: 70_SamsungAV.pm 19110 2019-04-04 10:37:59Z KoelnSolar $
#
# Version = 1.0
Habe heute ein fhem update gemacht.
Ausser verbose=5 für das SamsungTV device habe ich lediglich die zwei Zeilen von oben zu meiner Config hinzugefügt.
Wie mache ich "ein list der devices"?[/code]
list SamsungTV ;)
kannst Du denn den TV von Deinem FHEM-Rechner aus anpingen ?
ich guck mal, was ich Dir noch als Tipp geben kann ....
Edit: Jetzt bin ich wieder drin...
Die Meldungen sind Ok. Der 401 verwirrend(Schuld des Moduls ::)), bestätigt aber die Anwesenheit im lokalen Netz. Das reading present mit "present" ebenso.
Dass not found sagt eigentlich nur, dass das DLNARenderer-device nichts gefunden hat. RC-Befehle sollten gehen, würde ich erwarten.
ping ist kein Problem, presence & state bekomme ich ja auch
pi@raspberrypi:/opt/fhem/FHEM $ ping 192.168.0.101 PING 192.168.0.101 (192.168.0.101) 56(84) bytes of data.
64 bytes from 192.168.0.101: icmp_seq=1 ttl=64 time=0.455 ms
64 bytes from 192.168.0.101: icmp_seq=2 ttl=64 time=0.488 ms
64 bytes from 192.168.0.101: icmp_seq=3 ttl=64 time=0.379 ms
64 bytes from 192.168.0.101: icmp_seq=4 ttl=64 time=0.441 ms
[\code]
RC-Befehle ?
Edit: für DLNARenderer musst Du MEINE inoffizielle Version installiert haben und die Attribute am master-device richtig gesetzt (https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194) haben, dann sollte FHEM den TV selbständig finden und anlegen.
Zitat von: Raymund am 10 Dezember 2019, 22:43:49
Eine Alternative wäre ein Broadlink. Geht immer, es gibt ein Fhem-Modul dazu und das Teil ist günstig ;)
Hallo Raymund.
Okay, dass würde das On Signal senden können, jedoch kann ich damit immer noch nicht den aktuellen Kanal auslesen, wenn mit der Fernbedienung umgeschaltet wurde :-( Das Problem könnte ja soooo einfach von Samsung gelöst werden, aber das wird nicht geschehen.
Gruß
Christian
Zitatjedoch kann ich damit immer noch nicht den aktuellen Kanal auslesen, wenn mit der Fernbedienung umgeschaltet wurde
ein ir-empfänger, der in fhem eingebunden ist, neben dem tv platzieren. ;)
Zitat von: frank am 02 Januar 2020, 16:25:58
ein ir-empfänger, der in fhem eingebunden ist, neben dem tv platzieren. ;)
Booaaah, wat ne frickelei würde man im Ruhrpot sagen ;-)
Sorry aus dem Alter bin ich raus.
Bevor ich mich uffreg isset mir eh egal, sagt man wo ich jetzt lebe :-)
Danke für die Anregungen.
Viele Grüße und ein frohes neues Jahr
Christian
Gesendet von meinem SM-G930F mit Tapatalk
Hi,
ich habe versucht für meinen Samsung TV HU7590 u.g. Anleitung zu folgen, doch leider kann ich keine Schlüsseldatei erzeugen.
bei "sudo python3 regapp_smartcrypto.py" kommt die Fehlermeldung:
Traceback (most recent call last):
File "regapp_smartcrypto.py", line 6, in <module>
from command_encryption import AESCipher
ImportError: No module named 'command_encryption'Kann mir hier jemad weiterhelfen?
Zitat von: Raymund am 08 Januar 2019, 11:54:12
Wer hier das FHEM-Modul 70_STV.pm mit seiner H-Serie betreibt, wird die dazu notwendige Schlüsseldatei 'samsung_session_key.txt' vermutlich mit 'regapp.pm' erzeugen (siehe #176). Die Verschlüsselung wird darin mittels eines externen Servers unter der IP 34.210.190.209 erledigt, deren Reverse Lookup zu Amazon Web Services führt. Da die Schlüsseldatei sporadisch immer mal neu erzeugt werden muss (z.B. nach einem Stromausfall, aber auch nicht immer), beschleicht einen die Sorge, dass der bei AWS gehostete Server mal nicht mehr zur Verfügung stehen könnte.
Inzwischen gibt es unter https://github.com/tdudek/samsung-remote-models-2014-and-newer (https://github.com/tdudek/samsung-remote-models-2014-and-newer) eine Javascript-Lösung, die die Verschlüsselung selbst macht und die ich erfolgreich getestet habe. Es wird allerdings Node.js benötigt.
Markus hat mich aber auch auf eine entsprechende Python-Lösung namens 'SmartCrypto' aufmerksam gemacht: https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)
Auch diese habe ich erfolgreich getestet und ein für unsere Zwecke geeignetes Script hinzugefügt. Es wird dazu Python3 ab Version 3.5 benötigt, das z.B. in Raspbian Stretch bereits installiert ist (Versionsabfrage mit 'python3 -V'). Weiter ist jetzt PIP notwendig, das mit 'apt-get install python3-pip' installiert wird. Es enthält auch das notwendige 'crypto'. Danach wird mit 'python3 -m pip install websocket-client' noch 'websocket' installiert.
Das von github heruntergeladene ZIP-Archiv mit SmartCrypto wird entpackt. Ich habe den darin enthaltenen Ordner 'PySmartCrypto' gleich unter /opt/fhem platziert. Jetzt wird nur noch das hier angehängte Script 'regapp_smartcrypto.py' dort hineinkopiert und darin die eigene IP des Fernsehers eingetragen (Zeile 12). Das sollte es gewesen sein.
Nach dem Start auf der Console mit 'python3 regapp_smartcrypto.py' erscheint die bekannte 4-stellige PIN auf dem TV, die man in die Console überträgt. Wenn jetzt alles klappt, liegt anschließend die Schlüsseldatei 'samsung_session_key.txt' im Ordner. Durch Auskommentieren der Zeile 16 kann die Schlüsseldatei auch eine Etage höher zu liegen kommen und somit direkt von 70_STV.pm gelesen werden. In Zeile 127 wird noch der User (fhem) und die Gruppe (dialout) der Schlüsseldatei gesetzt. Das kann auskommentiert werden, wenn nicht erwünscht.
Da dieses Script nur die Schlüsseldatei bereitstellt, stellt es keinen Eingriff in 70_STV.pm dar!
Hier (https://wiki.fhem.de/wiki/SamsungAV#J-Series.282015.29) hatte pah die Vorgehensweise zur Installation etwas detaillierter beschrieben.
Hi Leute,
ich versuche aktuell bei mir auch meinen Samsung TV (ich glaube H oder J-Serie) mit dem Modul SamsungAV in mein fhem einzubauen. Funktioniert auch bisher soweit bei den gängigen befehlen wie Lautstärke, Stumm, oder Kanal wechseln.
Mein Problem ist aber, wenn ich auf HDMI1 wechseln will wird bei mir der Fußball-Modus (Sport-Modus) aktiviert.
Hatte jemand von euch auch schon das Problem bei diesem Modul gehabt?
Oder gibt es andere Möglichkeiten auf den HDMI-Eingang zu wechseln, ohne Macro Befehle abzusennden (klicke auf Source->2x nach rechts->clicke Enter)
Gruß
Incognito
P.S.: Ich bin noch recht neu in der fhem-Familie, ich hoffe es passt so, wenn ich den Thread nutze und keinen neuen Beitrag zu erstellen.
Willkommen bei FHEM und im Forum.
ZitatHatte jemand von euch auch schon das Problem bei diesem Modul gehabt?
Das ist nicht das Problem des Moduls, sondern das Problem von Samsung. Die TV's, meist abhängig der Serie/firmware, "kennen" einen unterschiedlichen Befehlsumfang. Da hilft immer nur am eigenen TV austesten was geht und was nicht.
ZitatMacro Befehle abzusennden (klicke auf Source->2x nach rechts->clicke Enter)
Das ist dann die Möglichkeit, die wir in FHEM haben. Du kannst Dir eine Taste aussuchen, die gar nichts auf Deinem TV macht, legst Dir ein notify(oder DOIF....) dazu an, welches dann das makro ausführt. Nicht schön, aber es führt zum Ziel. ;)
Grüße Markus
Übel nur: Tizen legt in der Smart-TV-Funktion eine Quelle keineswegs immer an denselben Platz.
Ich arbeite inzwischen mit einem ziemlich komplexen Dummy und entsprechenden Perl-Routinen, die versuchen, ein Modell des Fernsehers zu emulieren - also parallel zum echten Fernsehen zu speichern, welche Quelle gerade aktiv ist, welcher Kanal etc.
LG
pah
Danke an Markus und pah
ZitatDas ist nicht das Problem des Moduls, sondern das Problem von Samsung. Die TV's, meist abhängig der Serie/firmware, "kennen" einen unterschiedlichen Befehlsumfang. Da hilft immer nur am eigenen TV austesten was geht und was nicht.
Na toll, und vermutlich gibt Samsung die für die Modelle zur Verfügung stehenden Befehle nirgendwo bekannt, richtig?
Schade eigentlich, denn sonst könnte man für das Modul noch eine config pflegen, damit man einfach noch als Attribut sein TV-Model angibt und er dann die richtigen Befehle kennt. Leider wird Samsung dazu vermutlich nicht wirklich transparent werden und solche Informationen offiziell machen.
ZitatÜbel nur: Tizen legt in der Smart-TV-Funktion eine Quelle keineswegs immer an denselben Platz.
Ja, das habe ich mir auch schon überlegt, dass es da Probleme geben kann. z.B. landen die HDMI-Geräte in dem Source Menü ganz vorne, wenn Signale von dem HDMI-Eingang erkannt werden. Läuft das angeschlossene Gerät aber noch nicht (oder sendet noch kein Bild) ist es auch in der Navigation nicht auswählbar, was mir das ganze auch erheblich erschwert.
ZitatNa toll, und vermutlich gibt Samsung die für die Modelle zur Verfügung stehenden Befehle nirgendwo bekannt, richtig?
Korrekt. :'(
Hallo,
bei meinem Samsung TV (The Frame, UE43LS003AUXZG) scheitere ich gerade daran, den Status der Apps auszulesen.
Es kommt immer "[SamsungAV] Fernseher: state of app ZDFmediathek: stopped", auch wenn ich gerade etwas schaue.
Gibt es da irgendetwas zu beachten oder geht das nicht mit jedem TV?
Befehle kann ich senden und werden auch ausgeführt (z.B. eine App starten).
Hintergrund ist, dass ich abhängig von dem was auf dem TV läuft, verschiedene Hue-Szenen schalten will.
Kann mir jemand helfen?
Danke und Gruß
Da hab ich aber jetzt Kopfkino bei App<->Hue-Szene ;D
ZitatEs kommt immer "[SamsungAV] Fernseher: state of app ZDFmediathek: stopped", auch wenn ich gerade etwas schaue.
Stimmt, bei mir auch. :o Probier doch bitte mal Internet oder andere Nicht-TV-Programm-Apps.
Und das Modell ist wirklich UE43LS003AUXZG ? Das L kann ich kaum glauben und 003AUXZG auch nicht. Wie alt ?
Grüße Markus
Vielen Dank für die Antwort.
Der Fernseher ist ein "Frame" Modelljahr 2017 (Frame heißt, er sieht aus wie ein Bilderrahmen und kennt keinen Aus-Zustand, sondern bei "Aus" wird Kunst angezeigt). Ich habe die Bezeichnung von der Webseite. Relevant ist wohl nur der erste Teil: UE43LS003 (so habe ich es eben im Menü des TV gesehen).
Ich habe gerade mal getestet: auch bei der Internet App steht immer "stopped".
Mhh, wieder mal eine Sonderform, selbst im Aufbau der Modellbezeichnung. >:(
ZitatIch habe gerade mal getestet: auch bei der Internet App steht immer "stopped".
Hmmm. Bekommst Du es hin das Modul zu editieren ? Wenn nicht, eine Datei in den Modulordner zu kopieren ? Dann kann ich zumindest helfen, was der TV als Antwort auf die Anfrage zurückgibt. Mit Glück ist sie nur anders als das mir bekannte Muster.
Hi habe mit dem SamsungAV Modul gerade probiert meinen Samsung UE65KS8000 in mein fhem zu intergieren.
Das ist das EU Modell vom Samsung UE65KS8090 Serie 8
Habe Ihn mit fogendem Befehl integriert:
defmod SUHDTVKS8000 SamsungAV 192.168.0.87 8001
attr SUHDTVKS8000 room Wohnzimmer
Die Sicherheitsmeldung am TV habe ich mit "zulassen" bestätigt.
Bekomme dann diese beiden States:
setstate SUHDTVKS8000 on
setstate SUHDTVKS8000 2020-01-08 19:30:04 state on
Aber wenn ich versuche mit :
set SUHDTVKS8000 mute on
Oder einen anderen Befehl wie "Power off" aus der Set liste passiert nichts.
Habe ich etwas vergessen einzurichten oder ist mein Gerät nicht kompatibel?
ZitatHabe ich etwas vergessen einzurichten oder ist mein Gerät nicht kompatibel?
Ich bin überzeugt er ist.
Sieht ja auch gut aus.
Ich vermute, dass es das timing-Problem ist, das es in manchen Systemen gibt. Guck Dir mal das Attribut delayRC an.
Ansonsten mal ein Log mit verbose=5 beim TV-device posten.
Grüße
Markus
Wie hoch sollte man das delayrc denn einstellen wenn der wert in Millisekunden ist?
So mal ein Log auszug.
Hoffe das ist das Richtige:
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 command mute parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 94659512788896
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2020.01.09 01:35:25 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000. SSL_Reply:
2020.01.09 01:35:25 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000 successful.
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.0.87:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 Statusbytes of second websocket response: 817e0101
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 data of second websocket response: {"event":"ms.channel.connect","data":{"id":"ed4ec180-3277-11ea-9daf-9fe56afac7d8","clients":[{"id":"ed4ec180-3277-11ea-9daf-9fe56afac7d8","connectTime":1578530125209,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2020.01.09 01:35:25 4: [SamsungAV] SUHDTVKS8000 sending MUTE
2020.01.09 01:35:25 5: [SamsungAV] SUHDTVKS8000 send payload: {"method":"ms.remote.control","params":{"Option":"false","TypeOfRemote":"SendRemoteKey","Cmd":"Click","DataOfCmd":"KEY_MUTE"}}
2020.01.09 01:36:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:37:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:38:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:39:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:40:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:41:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:42:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:43:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:44:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:45:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:46:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:47:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:48:05 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:48:10 3: [SamsungAV] SUHDTVKS8000 defined with host: 192.168.0.87 port: 8001
2020.01.09 01:48:10 3: [SamsungAV] device SUHDTVKS8000 initialising....
2020.01.09 01:48:10 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:48:29 1: PERL WARNING: Subroutine getIP redefined at ./FHEM/70_SamsungAV.pm line 1222, <$fh> line 1397.
2020.01.09 01:48:29 1: PERL WARNING: Subroutine getIP_old redefined at ./FHEM/70_SamsungAV.pm line 1231, <$fh> line 1397.
2020.01.09 01:48:29 1: PERL WARNING: Subroutine getMAC4IP redefined at ./FHEM/70_SamsungAV.pm line 1241, <$fh> line 1397.
2020.01.09 01:48:29 3: [SamsungAV] SUHDTVKS8000 defined with host: 192.168.0.87 port: 8001
2020.01.09 01:48:30 3: [SamsungAV] device SUHDTVKS8000 initialising....
2020.01.09 01:48:30 0: Featurelevel: 5.9
2020.01.09 01:48:30 0: Server started with 151 defined entities
2020.01.09 01:48:30 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:49:30 4: [SamsungAV] SUHDTVKS8000 online with 192.168.0.87:8001 - HTTP-Response: 404
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 command mute parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 94135397682528
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2020.01.09 01:49:31 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000. SSL_Reply:
2020.01.09 01:49:31 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000 successful.
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.0.87:8002
Sec-WebSocket-Key: xxxxxxZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: xxxxxxxiTxaQ9kYGzzhZRbK+xOo=
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 Statusbytes of second websocket response: 817e0101
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 data of second websocket response: {"event":"ms.channel.connect","data":{"id":"e5a244f0-3279-11ea-9daf-9fe56afac7d8","clients":[{"id":"e5a244f0-3279-11ea-9daf-9fe56afac7d8","connectTime":1578530971329,"attributes":{"name":"RkhFTVJlbW90ZQ=="},"deviceName":"RkhFTVJlbW90ZQ==","isHost":false}]}}
2020.01.09 01:49:31 4: [SamsungAV] SUHDTVKS8000 sending MUTE
2020.01.09 01:49:31 5: [SamsungAV] SUHDTVKS8000 send payload: {"params":{"DataOfCmd":"KEY_MUTE","TypeOfRemote":"SendRemoteKey","Option":"false","Cmd":"Click"},"method":"ms.remote.control"}
2020.01.09 01:50:07 5: [SamsungAV] SUHDTVKS8000 command CHDOWN parameter
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 94135397682528
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2020.01.09 01:50:07 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000. SSL_Reply:
2020.01.09 01:50:07 4: [SamsungAV] HTTP socket-connection to SUHDTVKS8000 successful.
2020.01.09 01:50:07 5: [SamsungAV] SUHDTVKS8000 send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.0.87:8002
Sec-WebSocket-Key: xxxxxxNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Sieht auch gut aus.
Im Kopf habe ich auch keinen Beispielwert. Such bitte mal im Forum nach dem Attribut. Du bist ja nicht der Erste, der einen Problem-TV hat.
Danke. Es wäre super, wenn ich dem TV etwas anderes als stopped entlocken könnte.
Ich kann eine Datei editieren oder auch ersetzen. Ich muss nur wissen was und wo.
Dann füge mal nach
Zitat# HttpUtils_NonblockingGet($param);
my ($err, $data) = HttpUtils_BlockingGet($param);
die Du ungefähr in Zeile 837 findest, diese beiden Zeilen
$msg = "[SamsungAV] $name: app status: error $err, data $data";
Log3 $name, 3, $msg;
ein. Dann ein
reload 70_SamsungAV
in der FHEM-Befehlszeile.
Danach steht zu jeder Statusabfrage die komplette Rückmeldung des TV im Log. Normalerweise enthält diese den String running. In Deinem Fall aber nicht.
Vielen Dank.
Ich habe die Zeilen eingefügt und im Log steht jetzt folgendes:
Zitat[SamsungAV] Fernseher: app status: error , data <html><body>404</body></html>
Nach dem reload kamen außerdem folgende Perl Warnungen:
ZitatSubroutine SamsungAV_Initialize redefined at ./FHEM/70_SamsungAV.pm line 29.
Subroutine SamsungAV_Define redefined at ./FHEM/70_SamsungAV.pm line 47.
Subroutine SamsungAV_Undefine redefined at ./FHEM/70_SamsungAV.pm line 166.
Subroutine SamsungAV_Attr redefined at ./FHEM/70_SamsungAV.pm line 173.
Subroutine SamsungAV_Init redefined at ./FHEM/70_SamsungAV.pm line 210.
Subroutine SamsungAV_State redefined at ./FHEM/70_SamsungAV.pm line 220.
Subroutine SamsungAV_ParseState redefined at ./FHEM/70_SamsungAV.pm line 237.
Subroutine SamsungAV_Notify redefined at ./FHEM/70_SamsungAV.pm line 277.
Subroutine SamsungAV_Ready redefined at ./FHEM/70_SamsungAV.pm line 299.
Subroutine SamsungAV_SetState redefined at ./FHEM/70_SamsungAV.pm line 310.
Subroutine SamsungAV_Read redefined at ./FHEM/70_SamsungAV.pm line 318.
Subroutine SamsungAV_Set redefined at ./FHEM/70_SamsungAV.pm line 326.
Subroutine SamsungAV_Tizen_RC redefined at ./FHEM/70_SamsungAV.pm line 415.
Subroutine SamsungAV_Tizen_websocket_open redefined at ./FHEM/70_SamsungAV.pm line 478.
Subroutine SamsungAV_Tizen_websocket_close redefined at ./FHEM/70_SamsungAV.pm line 596.
Subroutine SamsungAV_Tizen_write_payload redefined at ./FHEM/70_SamsungAV.pm line 604.
Subroutine SamsungAV_Tizen_Encrypt_Init redefined at ./FHEM/70_SamsungAV.pm line 612.
Subroutine SamsungAV_Tizen_Encrypt redefined at ./FHEM/70_SamsungAV.pm line 655.
Subroutine build_frame redefined at ./FHEM/70_SamsungAV.pm line 727.
Subroutine SamsungAV_Tizen_App_list redefined at ./FHEM/70_SamsungAV.pm line 767.
Subroutine SamsungAV_Tizen_App redefined at ./FHEM/70_SamsungAV.pm line 818.
Subroutine SamsungAV_52235 redefined at ./FHEM/70_SamsungAV.pm line 894.
Subroutine SamsungAV_55000 redefined at ./FHEM/70_SamsungAV.pm line 1055.
Subroutine SamsungAV_7676 redefined at ./FHEM/70_SamsungAV.pm line 1137.
Subroutine soap_call redefined at ./FHEM/70_SamsungAV.pm line 1162.
Subroutine SamsungAV_DLNA redefined at ./FHEM/70_SamsungAV.pm line 1209.
Subroutine getIP redefined at ./FHEM/70_SamsungAV.pm line 1224.
Subroutine getIP_old redefined at ./FHEM/70_SamsungAV.pm line 1233.
Subroutine getMAC4IP redefined at ./FHEM/70_SamsungAV.pm line 1243.
Subroutine SamsungAV_RCmakenotify redefined at ./FHEM/70_SamsungAV.pm line 1257.
Subroutine SamsungAV_RClayout_TV redefined at ./FHEM/70_SamsungAV.pm line 1267.
Subroutine SamsungAV_RClayout_TV_SVG redefined at ./FHEM/70_SamsungAV.pm line 1307.
Ich weiß nicht, ob das irgendwie weiterhilft, aber ich kann gerne weitere Tests machen.
Ich möchte nochmal auf das Problem der laufenden aber nicht erkannten Apps zurückkommen.
Mittlerweile habe ich ein Firmwareupdate beim TV eingespielt, aber leider hat es nicht geholfen.
Es bleibt bei dieser Fehlermeldung:
Zitat[SamsungAV] Fernseher: app status: error , data <html><body>404</body></html>
Ich bin für Tipps dankbar, was ich noch testen kann oder wo ich noch nach einer Lösung suchen kann.
Im Grunde würde mir auch eine on/off Erkennung reichen, aber der status request liefert leider immer "on".
Sorry hatte ich irgendwie übersehen. ::)
Zitat[SamsungAV] Fernseher: app status: error , data <html><body>404</body></html>
Da steht es ja: 404, also nicht vorhanden. Warum auch immer gibt es die angefragte Seite bei Deinem TV nicht. Ich guck aber nochmal später in Ruhe.
ZitatIm Grunde würde mir auch eine on/off Erkennung reichen, aber der status request liefert leider immer "on".
Das hab ich jetzt nicht verstanden. Du meinst zum TV u. nicht zu den Apps ? Das sollte doch funktionieren. :o
Ansonsten bitte Logauszug bei verbose 5.
Grüße Markus
Vielen Dank für die Antwort.
Zur Erklärung muss ich etwas ausholen:
Es geht ja darum abhängig davon, was auf dem TV läuft, mehrere HUE-Lampen zu steuern.
Seit über vier Jahren nutze ich einen Raspi mit Kodi zum fernsehen, der mit FHEM verbunden ist.
Wenn normales TV läuft, aber auch Mediatheken oder prime, werden die Lampen in einem festgelegten Maße gedimmt.
Das funktioniert seit Jahren sehr gut.
Vor etwa anderthalb Jahren habe ich meinen alten Philips gegen einen Samsung Frame getauscht, den Raspi aber behalten.
Da der Samsung aber 4k hat, schauen wir prime, aber auch anderes mittlerweile lieber direkt auf dem TV statt über Kodi.
Und deshalb hätte ich gerne die Automatik fürs dimmen auch am Samsung.
Idealerweise nur, wenn auch wirklich was läuft, aber wenn es gar nicht geht, dann eben beim einschalten.
Da ist allerdings das Problem, dass der Frame eben nie richtig ausgeht: aus heißt Kunstmodus - es wird wie in einem Bilderrahmen ein Foto gezeigt. Daher steht bei STATE auch immer "on".
Ich weiß nicht, wie ich den Status "TV-Modus" bzw. Kunstmodus auslesen soll.
Ich habe jetzt mit verbose 5 bei laufendem prime eine Appstatus-abfrage gemacht:
Zitat2020.02.21 22:16:01 3: [SamsungAV] Fernseher: app status: error , data <html><body>404</body></html>
2020.02.21 22:16:01 4: [SamsungAV] Fernseher: state of app PrimeVideo: stopped
2020.02.21 22:16:05 4: [SamsungAV] Fernseher online with 192.168.xxx.xxx:8001 - HTTP-Response: 401
Wenn ich im gleichen Zustand ein statusRequest mache, steht folgendes im Logfile:
Zitat2020.02.21 22:18:45 4: [SamsungAV] HTTP socket-connection to Fernseher. SSL_Reply:
2020.02.21 22:18:45 4: [SamsungAV] HTTP socket-connection to Fernseher successful.
2020.02.21 22:18:45 5: [SamsungAV] Fernseher send to TV: GET /api/v2/channels/samsung.remote.control?name=0ZQ==&token=91 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.xxx.xxx:8002
Sec-WebSocket-Key: ZQ==
Sec-WebSocket-Version: 13
2020.02.21 22:18:45 5: [SamsungAV] Fernseher first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: xOo=
2020.02.21 22:18:45 5: [SamsungAV] Fernseher Statusbytes of second websocket response: 817e0115
2020.02.21 22:18:45 5: [SamsungAV] Fernseher data of second websocket response: {"data":{"clients":[{"attributes":{"name":"ZQ==","token":"91"},"connectTime":1582319925088,"deviceName":"ZQ==","id":"9-7ce9-46c7-9c35-7","isHost":false}],"id":"9-7ce9-46c7-9c35-7"},"event":"ms.channel.connect"}
2020.02.21 22:18:45 5: [SamsungAV] Fernseher send payload: {"method":"ms.channel.emit","params":{"event":"ed.installedApp.get","TypeOfRemote":"SendRemoteKey","to":"host"}}
2020.02.21 22:18:46 5: [SamsungAV] response Fernseher to write_payload: {"data":{"data":[{"appId":"3201802015776","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201802015776/250x250.png","is_lock":0,"name":"Sky Q"},{"appId":"3201705012365","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201705012365/250x250.png","is_lock":0,"name":"ZDF mediathek"},{"appId":"3201412000679","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201412000679/250x250.png","is_lock":0,"name":"ARD Mediathek"},{"appId":"111299001912","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/111299001912/250x250.png","is_lock":0,"name":"YouTube"},{"appId":"3201512006785","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201512006785/250x250.png","is_lock":0,"name":"Prime Video"},{"appId":"3201502001386","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201502001386/250x250.png","is_lock":0,"name":"Joyn"},{"appId":"11101000410","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/11101000410/250x250.png","is_lock":0,"name":"Vimeo"},{"appId":"org.tizen.browser","app_type":4,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/webbrowser/250x250.png","is_lock":0,"name":"Internet"},{"appId":"20172100006","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/20172100006/250x250.png","is_lock":0,"name":"e-Manual"},{"appId":"11101200001","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/11101200001/250x250.png","is_lock":0,"name":"Netflix"},{"appId":"3201601007250","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201601007250/250x250.png","is_lock":0,"name":"Google Play Filme"},{"appId":"3201607009920","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201607009920/250x250.png","is_lock":0,"name":"DAZN"},{"appId":"3201511006428","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201511006428/250x250.png","is_lock":0,"name":"Rakuten TV"},{"appId":"3201505002690","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201505002690/250x250.png","is_lock":0,"name":"CHILI"},{"appId":"3201612011418","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201612011418/250x250.png","is_lock":0,"name":"McAfee Security for TV"},{"appId":"3201804016033","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201804016033/250x250.png","is_lock":0,"name":"waipu.tv – Fernsehen wie noch nie"},{"appId":"3201411000562","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201411000562/250x250.png","is_lock":0,"name":"Sky Ticket"},{"appId":"3201803015887","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201803015887/250x250.png","is_lock":0,"name":"maxdome"},{"appId":"3201909019084","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201909019084/250x250.png","is_lock":0,"name":"CUPRA"},{"appId":"3201903018105","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201903018105/250x250.png","is_lock":0,"name":"Samsung Sportworld"}]},"event":"ed.installedApp.get","from":"host"}
2020.02.21 22:18:46 5: [SamsungAV] ARRAY found
2020.02.21 22:18:46 5: [SamsungAV] Application: Sky Q Id: 3201802015776
2020.02.21 22:18:46 5: [SamsungAV] Application: ZDF mediathek Id: 3201705012365
2020.02.21 22:18:46 5: [SamsungAV] Application: ARD Mediathek Id: 3201412000679
2020.02.21 22:18:46 5: [SamsungAV] Application: YouTube Id: 111299001912
2020.02.21 22:18:46 5: [SamsungAV] Application: Prime Video Id: 3201512006785
2020.02.21 22:18:46 5: [SamsungAV] Application: Joyn Id: 3201502001386
2020.02.21 22:18:46 5: [SamsungAV] Application: Vimeo Id: 11101000410
2020.02.21 22:18:46 5: [SamsungAV] Application: Internet Id: org.tizen.browser
2020.02.21 22:18:46 5: [SamsungAV] Application: e-Manual Id: 20172100006
2020.02.21 22:18:46 5: [SamsungAV] Application: Netflix Id: 11101200001
2020.02.21 22:18:46 5: [SamsungAV] Application: Google Play Filme Id: 3201601007250
2020.02.21 22:18:46 5: [SamsungAV] Application: DAZN Id: 3201607009920
2020.02.21 22:18:46 5: [SamsungAV] Application: Rakuten TV Id: 3201511006428
2020.02.21 22:18:46 5: [SamsungAV] Application: CHILI Id: 3201505002690
2020.02.21 22:18:46 5: [SamsungAV] Application: McAfee Security for TV Id: 3201612011418
2020.02.21 22:18:46 5: [SamsungAV] Application: waipu.tv – Fernsehen wie noch nie Id: 3201804016033
2020.02.21 22:18:46 5: [SamsungAV] Application: Sky Ticket Id: 3201411000562
2020.02.21 22:18:46 5: [SamsungAV] Application: maxdome Id: 3201803015887
2020.02.21 22:18:46 5: [SamsungAV] Application: CUPRA Id: 3201909019084
2020.02.21 22:18:46 5: [SamsungAV] Application: Samsung Sportworld Id: 3201903018105
2020.02.21 22:18:46 4: [SamsungAV] Fernseher online with 192.168.xxx.xxx:8001 - HTTP-Response: 401
Wenn ich das Gleiche im Kunstmodus - also "ausgeschaltet" mache, sieht es so aus:
Zitat
2020.02.21 22:25:22 4: [SamsungAV] HTTP socket-connection to Fernseher. SSL_Reply:
2020.02.21 22:25:22 4: [SamsungAV] HTTP socket-connection to Fernseher successful.
2020.02.21 22:25:22 5: [SamsungAV] Fernseher send to TV: GET /api/v2/channels/samsung.remote.control?name=ZQ==&token=91 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.xxx.xxx:8002
Sec-WebSocket-Key: ZQ==
Sec-WebSocket-Version: 13
2020.02.21 22:25:22 5: [SamsungAV] Fernseher first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: Oo=
2020.02.21 22:25:22 5: [SamsungAV] Fernseher Statusbytes of second websocket response: 817e0113
2020.02.21 22:25:22 5: [SamsungAV] Fernseher data of second websocket response: {"data":{"clients":[{"attributes":{"name":"ZQ==","token":"91"},"connectTime":1582320321901,"deviceName":"ZQ==","id":"0-94ca-4a2e-9a19-5","isHost":false}],"id":"0-94ca-4a2e-9a19-5"},"event":"ms.channel.connect"}
2020.02.21 22:25:22 5: [SamsungAV] Fernseher send payload: {"method":"ms.channel.emit","params":{"to":"host","TypeOfRemote":"SendRemoteKey","event":"ed.installedApp.get"}}
2020.02.21 22:25:23 5: [SamsungAV] response Fernseher to write_payload: {"data":{"data":[{"appId":"3201802015776","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201802015776/250x250.png","is_lock":0,"name":"Sky Q"},{"appId":"3201705012365","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201705012365/250x250.png","is_lock":0,"name":"ZDF mediathek"},{"appId":"3201412000679","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201412000679/250x250.png","is_lock":0,"name":"ARD Mediathek"},{"appId":"111299001912","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/111299001912/250x250.png","is_lock":0,"name":"YouTube"},{"appId":"3201512006785","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201512006785/250x250.png","is_lock":0,"name":"Prime Video"},{"appId":"3201502001386","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201502001386/250x250.png","is_lock":0,"name":"Joyn"},{"appId":"11101000410","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/11101000410/250x250.png","is_lock":0,"name":"Vimeo"},{"appId":"org.tizen.browser","app_type":4,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/webbrowser/250x250.png","is_lock":0,"name":"Internet"},{"appId":"20172100006","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/20172100006/250x250.png","is_lock":0,"name":"e-Manual"},{"appId":"11101200001","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/11101200001/250x250.png","is_lock":0,"name":"Netflix"},{"appId":"3201601007250","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201601007250/250x250.png","is_lock":0,"name":"Google Play Filme"},{"appId":"3201607009920","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201607009920/250x250.png","is_lock":0,"name":"DAZN"},{"appId":"3201511006428","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201511006428/250x250.png","is_lock":0,"name":"Rakuten TV"},{"appId":"3201505002690","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201505002690/250x250.png","is_lock":0,"name":"CHILI"},{"appId":"3201612011418","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201612011418/250x250.png","is_lock":0,"name":"McAfee Security for TV"},{"appId":"3201804016033","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201804016033/250x250.png","is_lock":0,"name":"waipu.tv – Fernsehen wie noch nie"},{"appId":"3201411000562","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201411000562/250x250.png","is_lock":0,"name":"Sky Ticket"},{"appId":"3201803015887","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201803015887/250x250.png","is_lock":0,"name":"maxdome"},{"appId":"3201909019084","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201909019084/250x250.png","is_lock":0,"name":"CUPRA"},{"appId":"3201903018105","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/3201903018105/250x250.png","is_lock":0,"name":"Samsung Sportworld"}]},"event":"ed.installedApp.get","from":"host"}
2020.02.21 22:25:23 5: [SamsungAV] ARRAY found
2020.02.21 22:25:23 5: [SamsungAV] Application: Sky Q Id: 3201802015776
2020.02.21 22:25:23 5: [SamsungAV] Application: ZDF mediathek Id: 3201705012365
2020.02.21 22:25:23 5: [SamsungAV] Application: ARD Mediathek Id: 3201412000679
2020.02.21 22:25:23 5: [SamsungAV] Application: YouTube Id: 111299001912
2020.02.21 22:25:23 5: [SamsungAV] Application: Prime Video Id: 3201512006785
2020.02.21 22:25:23 5: [SamsungAV] Application: Joyn Id: 3201502001386
2020.02.21 22:25:23 5: [SamsungAV] Application: Vimeo Id: 11101000410
2020.02.21 22:25:23 5: [SamsungAV] Application: Internet Id: org.tizen.browser
2020.02.21 22:25:23 5: [SamsungAV] Application: e-Manual Id: 20172100006
2020.02.21 22:25:23 5: [SamsungAV] Application: Netflix Id: 11101200001
2020.02.21 22:25:23 5: [SamsungAV] Application: Google Play Filme Id: 3201601007250
2020.02.21 22:25:23 5: [SamsungAV] Application: DAZN Id: 3201607009920
2020.02.21 22:25:23 5: [SamsungAV] Application: Rakuten TV Id: 3201511006428
2020.02.21 22:25:23 5: [SamsungAV] Application: CHILI Id: 3201505002690
2020.02.21 22:25:23 5: [SamsungAV] Application: McAfee Security for TV Id: 3201612011418
2020.02.21 22:25:23 5: [SamsungAV] Application: waipu.tv – Fernsehen wie noch nie Id: 3201804016033
2020.02.21 22:25:23 5: [SamsungAV] Application: Sky Ticket Id: 3201411000562
2020.02.21 22:25:23 5: [SamsungAV] Application: maxdome Id: 3201803015887
2020.02.21 22:25:23 5: [SamsungAV] Application: CUPRA Id: 3201909019084
2020.02.21 22:25:23 5: [SamsungAV] Application: Samsung Sportworld Id: 3201903018105
2020.02.21 22:25:23 4: [SamsungAV] Fernseher online with 192.168.xxx.xxx:8001 - HTTP-Response: 401
Key, Token und Namen habe ich verkürzt.
Für mich sieht die Abfrage gleich aus.
Gibt es denn einen Parameter, außer STATE und den App state, den ich abfragen könnte?
Vielen Dank für die Hilfe.
OK. Müssten wir aber den URL finden. :-\
Du kannst diesen Link in einen Browser eingeben
https://DeineTVIP:8002/ws/apps/YouTube
vermutlich bekommst Du
Zitat<html><body>404</body></html>
Jetzt heißt es "spielen". Anstatt ws websocket, anstatt apps app, mal lower, mal upper case....
edit: probier mal den
https://DeineTVIP:8002/api/v2/applications/111299001912
Ansonsten hab ich intetessante Dinge ergoogled. Aber die Sichtung dauert..... :'(
edit: Ist es eine Option, wenn wir in den frame mode per FHEM schalten könnten?
Vielen Dank für die Antwort.
Die Sache wird etwas mysteriös.
Ich nutze YouTube so gut wie nie und habe es nie zum testen probiert und siehe da, es geht.
Zitat
<?xml version="1.0" encoding="UTF-8"?><service xmlns="urn:dial-multiscreen-org:schemas:dial" dialVer="2.1" xmlns:atom="http://www.w3.org/2005/Atom"><name>YouTube</name><options allowStop="true"/><state>running</state><version>2.1.491</version><link rel="run" href="run"/><additionalData><screenId>m3qg9nupf7tjdg7nicvga8pd0g</screenId><theme>cl</theme><testYWRkaXR>c0ef1ca</testYWRkaXR></additionalData></service>
Auch in FHEM steht running.
Ich habe jetzt etwas probiert und festgestellt, dass es auch bei Joyn geht.
Ich dachte dann, dass es vielleicht ein Problem mit den APP Namen gibt, denn Prime Video hat ein Leerzeichen, aber auch Netflix gibt immer stopped aus..
Zitat
<?xml version="1.0" encoding="UTF-8"?><service xmlns="urn:dial-multiscreen-org:schemas:dial" dialVer="2.1" xmlns:atom="http://www.w3.org/2005/Atom"><name>Netflix</name><options allowStop="true"/><state>stopped</state><version>7.0.000</version><link rel="run" href="run"/></service>
Trotzdem weiß ich nicht, wie die URL aussehen muss, wenn der Name ein Leerzeichen enthält.
Wenn ich die ZDF Mediathek Abfrage kommt immer
Zitat
<html><body>404</body></html>
APP Name ist "ZDF mediathek" aber in der URL habe ich ZDFmediathek geschrieben.
Ich habe auch mal %20 eingefügt, ist aber das selbe.
ZitatDie Sache wird etwas mysteriös.
So sind die Samsungs. ;D ;D ;D
Ersetze bitte mal den Block unterhalb der bereits von Dir eingefügten Zeilen mit
Zitatif ($method eq "GET") {
my $stateapp;
my $json = eval {decode_json($data)};
# if ($data =~ m/running/) {$stateapp = "running"}
if ($json->{"visible"} eq 1) {$stateapp = "running"}
# elsif ($data =~ m/stopped/) {$stateapp = "stopped"}
elsif ($json->{"visible"} eq 0) {$stateapp = "stopped"}
else { $stateapp = "app not found"}
$msg = "[SamsungAV] $name: state of app $par: $stateapp";
Log3 $name, 4, $msg;
return $msg;
}
nach einem reload sollte alles so laufen, wie Du Dir das erhoffst. ;) Achtung: Ich habe gelernt, dass Netflix automatisch gestartet wird und im Hintergrund läuft. Ich frage daher ab, ob die App "sichtbar" läuft.
edit: vergessen. ::) und natürlich ein paar Zeilen höher die url ändern in
my $param = {url => "http://$dev:$port/api/v2/applications/$hash->{helper}{app}{$par}",
Vielen Dank für die schnelle Antwort - und super Hilfe.
Sieht jetzt sehr gut aus. :) :) :)
Bei allen Apps, die wir so nutzen, wird der Status korrekt ausgegeben.
Einziger Vermutstropfen, Prime Video will immer noch nicht..
Im Log steht folgendes:
Zitat
2020.02.22 22:03:26 3: [SamsungAV] Fernseher: app status: error , data {"id":"3201412000679","name":"ARD Mediathek","running":true,"version":"2.0.12","visible":true}
2020.02.22 22:03:26 4: [SamsungAV] Fernseher: state of app ARDMediathek: running
2020.02.22 22:04:28 3: [SamsungAV] Fernseher: app status: error , data {"id":"3201512006785","name":"Prime Video","running":false,"version":"1.2.4","visible":false}
2020.02.22 22:04:28 4: [SamsungAV] Fernseher: state of app PrimeVideo: stopped
2020.02.22 22:04:46 3: [SamsungAV] Fernseher: app status: error , data {"id":"3201512006785","name":"Prime Video","running":false,"version":"1.2.4","visible":false}
2020.02.22 22:04:46 4: [SamsungAV] Fernseher: state of app PrimeVideo: stopped
2020.02.22 22:05:38 3: [SamsungAV] Fernseher: app status: error , data {"id":"3201802015776","name":"Sky Q","running":true,"version":"1.42.6","visible":false}
2020.02.22 22:05:38 4: [SamsungAV] Fernseher: state of app SkyQ: stopped
2020.02.22 22:06:09 3: [SamsungAV] Fernseher: app status: error , data {"id":"3201802015776","name":"Sky Q","running":true,"version":"1.42.6","visible":true}
2020.02.22 22:06:09 4: [SamsungAV] Fernseher: state of app SkyQ: running
0.02.22 22:15:51 3: [SamsungAV] Fernseher: app status: error , data {"id":"11101200001","name":"Netflix","running":false,"version":"7.0.000","visible":true}
2020.02.22 22:15:51 4: [SamsungAV] Fernseher: state of app Netflix: running
2020.02.22 22:16:31 3: [SamsungAV] Fernseher: app status: error , data {"id":"11101200001","name":"Netflix","running":false,"version":"7.0.000","visible":false}
2020.02.22 22:16:31 4: [SamsungAV] Fernseher: state of app Netflix: stopped
Beim ersten prime block hätte running stehen müssen.
Bei mir klappt PrimeVideo
Zitat{"id":"3201512006785","name":"Prime Video","running":true,"version":"8.0.1","visible":true}
Komisch, dass Deine Version 1.2.4 ist. Vielleicht alt oder 2 Versionen ? Versuch doch mal zu löschen u. neu zu installieren(auf eigene Gefahr !!!).
Wie ist die aktuelle Version von diesem Modul. Habe in meinem fhem nur die 1.0.0.
Gruß Sascha
Gesendet von meinem MI 9 mit Tapatalk
ZitatHabe in meinem fhem nur die 1.0.0.
Ist aktuell.
Ich habe die prime video APP nochmal neu installiert (deinstallieren geht nicht, nur neu drüber installieren ist möglich), aber keine Veränderung. Laut Samsung ist die neueste Version installiert (1.2.4).
Was ich merkwürdig finde ist, dass die APP in FHEM jetzt Amazon Video heißt, nicht mehr prime Video.
Zitat
[SamsungAV] Fernseher: app status: error , data {"id":"3201512006785","name":"Amazon Video","running":false,"version":"1.2.4","visible":false}
2020.02.23 14:21:46 4: [SamsungAV] Fernseher: state of app AmazonVideo: stopped
Zu diesem Zeitpunkt lief ein Film von prime, müsste also running kommen.
Seltsam. Da hab ich dann aber auch keine Idee mehr. Müssten andere sich mal zu melden.
Ich habe noch etwas getestet und möchte nochmal auf den Link zu den Apps zurückkommen.
Wenn ich diesen Link aufrufe:
Zitathttps://ip:8002/ws/apps/Joyn
ist das Ergebnis:
Zitat<?xml version="1.0" encoding="UTF-8"?><service xmlns="urn:dial-multiscreen-org:schemas:dial" dialVer="2.1" xmlns:atom="http://www.w3.org/2005/Atom"><name>Joyn</name><options allowStop="true"/><state>stopped</state><version>1.8.4</version><link rel="run" href="run"/></service>
Genauso bei Netflix:
Zitathttps://ip:8002/ws/apps/Netflix
Zitat<?xml version="1.0" encoding="UTF-8"?><service xmlns="urn:dial-multiscreen-org:schemas:dial" dialVer="2.1" xmlns:atom="http://www.w3.org/2005/Atom"><name>Netflix</name><options allowStop="true"/><state>stopped</state><version>7.0.000</version><link rel="run" href="run"/></service>
Bei Amazon geht das aber nicht so:
Zitathttps://ip:8002/ws/apps/AmazonVideo
oder
Zitathttps://ip:8002/ws/apps/PrimeVideo
es kommt immer:
Zitat<html><body>404</body></html>
Auch bei amazonvideo oder primevideo oder Amazonvideo oder Primevideo kommt immer 404.
Vielleicht bin ich ja auf dem Holzweg, aber müsste ich nicht auch bei prime eine URL haben, die ein Ergebnis liefert, wie bei Netflix?
Schon mal mit Lovefilm statt primevideo probiert?
ZitatVielleicht bin ich ja auf dem Holzweg, aber müsste ich nicht auch bei prime eine URL haben, die ein Ergebnis liefert, wie bei Netflix?
Logisch betrachtet ja. Samsung-Betrachtung: nein. :'( Daher bin ich ja jetzt den Weg über die Id's gegangen. Die scheinen alle zu funktionieren, nur eben Dein PrimeVideo nicht. :'(
Grundsätzlich können wir über folgende Links "prüfen":
https://IP:8002/ws/apps/PrimeVideo 404
https://IP:8002/ws/apps/3201512006785 404
https://IP:8002/api/v2/applications/PrimeVideo 404
https://IP:8002/api/v2/applications/3201512006785 works as expected
Speziell zu Prime hab ich noch diese Hinweise gefunden:
com.amazon.mp3
Amazon
primeLive
com.amazon
AmazonInstantVideo
AmazonYouTubeApp
AmazonYouTubeKnight1
org.tizen.ignition
evKhCgZelL.AmazonIgnitionLauncher2
müsstest Du mal probieren mit den o.g. Links.
Und dann gab es ja noch TVs, die scheinbar v3 anstatt v2 im Link haben.
Jetzt hab ich aber mein letztes Pulver veschossen.....
Vielen Dank. Es ist AmazonInstantVideo ...
Bringt aber leider nichts. Hier müsste running stehen und nicht stopped:
Zitat<?xml version="1.0" encoding="UTF-8"?><service xmlns="urn:dial-multiscreen-org:schemas:dial" dialVer="2.1" xmlns:atom="http://www.w3.org/2005/Atom"><name>AmazonInstantVideo</name><options allowStop="true"/><state>stopped</state><version>1.2.4</version><link rel="run" href="run"/></service>
Mich würde noch interessieren, ob ich wirklich der Einzige bin, wo die App in Version 1.2.4 die aktuellste ist.
Zitat von: KölnSolar am 24 Februar 2020, 08:07:15
Jetzt hab ich aber mein letztes Pulver veschossen.....
Ach Markus, komm schon, einen kannst du noch raushauen ;D
Ok. ;D
Was liefert denn https://IP:8002/api/v2/applications/AmazonInstantVideo und steht AmazonInstantVideo auch in der Applist ? Also AmazonInstantVideo UND AmazonVideo ? Wie sehen die App-Ids aus(list DeinSamsungdevice)?
Hallo zusammen,
als Anfänger bin ich soweit gekommen das ich meinen Samsung UE40J6289SUXZG6450 mit FHEM verbinden kann. Leider reagiert der Fernseher nicht auf irgendeinen Befehl. Das Log mit verbose5 gibt folgendes aus.:
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer command mute parameter
2020.03.22 10:15:57 5: session_key: 7f23e3a49caadd1a37c40047e8acabd6
2020.03.22 10:15:57 5: session_id: 2
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer: generate command for key 'KEY_MUTE'
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer: command: '5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":2,"body":"[103,22,128,100,60,164,70,233,217,18,56,211,135,169,151,187,230,106,56,3,32,113,249,81,11,54,41,68,35,210,15,48,244,50,141,168,183,182,152,44,231,110,57,119,240,192,23,126,23,150,245,145,254,250,157,254,133,43,204,159,62,45,54,29,240,227,248,10,65,17,45,13,242,255,32,16,97,18,100,210,48,196,153,127,239,70,10,136,87,126,126,167,238,174,135,161,244,80,143,48,150,169,225,240,201,71,34,185,251,4,127,133,216,94,129,248,255,214,124,235,26,119,243,156,86,84,98,104,108,151,135,137,70,96,144,25,74,40,3,116,81,221,96,230,87,32,229,95,78,32,81,129,33,127,82,134,30,106,168,222,160,127,214,16,215,173,30,231,47,250,182,188,87,123,162,41]"}]}'
2020.03.22 10:15:57 4: [SamsungAV] TVWohnzimmer: websocket path /socket.io/1/websocket/ih8eCyekG3OvIhyeLrxy
2020.03.22 10:15:57 4: [SamsungAV] HTTP socket-connection to TVWohnzimmer. Reply: 0
2020.03.22 10:15:57 4: [SamsungAV] HTTP socket-connection to TVWohnzimmer successful.
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer send to TV: GET /socket.io/1/websocket/ih8eCyekG3OvIhyeLrxy HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.187.152:8000
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer data of second websocket response: {�1::
2020.03.22 10:15:57 4: [SamsungAV] TVWohnzimmer sending KEY_MUTE
2020.03.22 10:15:57 5: [SamsungAV] TVWohnzimmer send payload: 5::/com.samsung.companion:{"name":"callCommon","args":[{"Session_Id":2,"body":"[103,22,128,100,60,164,70,233,217,18,56,211,135,169,151,187,230,106,56,3,32,113,249,81,11,54,41,68,35,210,15,48,244,50,141,168,183,182,152,44,231,110,57,119,240,192,23,126,23,150,245,145,254,250,157,254,133,43,204,159,62,45,54,29,240,227,248,10,65,17,45,13,242,255,32,16,97,18,100,210,48,196,153,127,239,70,10,136,87,126,126,167,238,174,135,161,244,80,143,48,150,169,225,240,201,71,34,185,251,4,127,133,216,94,129,248,255,214,124,235,26,119,243,156,86,84,98,104,108,151,135,137,70,96,144,25,74,40,3,116,81,221,96,230,87,32,229,95,78,32,81,129,33,127,82,134,30,106,168,222,160,127,214,16,215,173,30,231,47,250,182,188,87,123,162,41]"}]}
Kann mir jemand weiterhelfen?
Gruß
Roman
EDIT: Eine Ausgabe mit http://<IP>:9197/dmr ergibt das es sich um einen UE40J6240 handelt.
Hast Du ein shutdown/restart seit der Definition gemacht ? Nein ? Dann bitte machen.
J-Serie könnte auch gar nicht funktionieren. Die ist etwas ominös. :o ???
Grüße Markus
Hallo zusammen.
Hat irgendwer schon Erfahrung mit den TheFrame-Modellen? Ich habe soweit alles versucht, bekomme jedoch keine Verbindung hin.
Modell ist UE49LS03N. Ich bekomme leider nicht genau heraus, welche Tizen Version eingesetzt wird.
Portscan zeigt aber, dass 8001 und 8002 offen sind.
Beim Aufruf von http://ip:8001/api/v2 fragt der TV ab, ob ich mit der Verbindung einverstanden bin, wenn ich es aus meinem Browser heraus starte.
In fhem selbst geht es jedoch nicht: define MeinFernseher SamsungAV <ip> <port> bleibt auf defined und wechselt nicht auf opened.
Auf Verbose 5 habe ich aber auch keinen Hinweis erhalten, weswegen es nicht funktioniert.
Bin für jede Anregung dankbar.
Vielen Dank im Voraus.
Danke Markus, ist schade aber klappt es denn mit einem RU7409? Hat jemand Erfahrung? Gruß Roman
Zitatklappt es denn mit einem RU7409?
Ja.
Zitatirgendwer schon Erfahrung mit den TheFrame-Modellen?
Ja, geht ganz normal.
Wichtig !
ZitatHast Du ein shutdown/restart seit der Definition gemacht ? Nein ? Dann bitte machen.
Und wenn ein list devicename u. Log bei verbose=5 gepostet wird, muss ich nicht jedes mal in den Keller rennen, um meine Glaskugel zu befragen. >:( ;)
Sorry, hab ich nicht ganz verstanden. Hatte Ausgabe von Verbose=5 angehängt. Wollte Dich nicht zu sportlichen Aktivitäten verleiten. Schönen Sonntag noch. Gruß Roman
Zitat von: KölnSolar am 22 März 2020, 12:49:22
Ja.Ja, geht ganz normal.
Wichtig !
Und wenn ein list devicename u. Log bei verbose=5 gepostet wird, muss ich nicht jedes mal in den Keller rennen, um meine Glaskugel zu befragen. >:( ;)
Zitat von: KölnSolar am 22 März 2020, 12:49:22
Ja, geht ganz normal.
Hallo KölnSolar. Danke für die schnelle Rückmeldung. Kannst du mir sagen was unter "ganz normal" zu verstehen ist?
Weißt du zufällig auch, zu welcher Reihe das Modell gehört?
1.7 H-Series(2014)
1.8 J-Series(2015)
1.9 K-Series(2016)
1.10 M-Series(2017)
1.11 N-Series(2018)
1.12 Q-Series(2018)
ab K ist alles gleich.
TheFrame tanzt halt außer der alphabetischen Reihe, wie die OLED's. >:( Dürfte aber wie R, also 2019/2020 sein.
Der Modulautor wartet immer noch auf unentgeltliche Testhardware ;D ;D ;D
Keine Ahnung warum... aber nun ist alles verbunden...
Zitat von: KölnSolar am 22 März 2020, 13:43:10
Der Modulautor wartet immer noch auf unentgeltliche Testhardware ;D ;D ;D
Sinnvoll wäre es zumindest. Dann hätte ich jetzt nach weiterem Rat gefragt aber ich nehme an, dass mein eigentliches Problem nicht gelöst werden kann. Und dabei will ich eigentlich nur wissen wann der TV aus ist, um dann die Abendbeleuchtung abzuschalten... TheFrame ist dummerweise aber immer an, da er beim Abschalten in den Wandgemälde-Modus wechselt... So komme ich leider nicht weiter.
Ich logge jetzt mal den Stromverbrauch und schaue, ob ich zumindest darauf reagieren kann, wenn keine Bewegung mehr erkannt wird und er in den Stromsparmodus wechselt.
Kannst auf den Stromverbrauch reagieren. Mache ich nicht anders. Klappt seit Jahren.
Gesendet von meinem MI 9 mit Tapatalk
Wie sieht es denn mit einem Ping aus, wenn die Kiste im "Bilderrahmen"-Modus ist(erst nach einiger Zeit in diesem Modus probieren, da die neuen Kisten die Eigenart haben, dass sie erst nach 1,2 od. auch 5 min. richtig abgemeldet sind)
Grüße Markus
Hallo zusammen,
sorry, hatte das Thema zwischenzeitlich beiseite gelegt.
ZitatWas liefert denn https://IP:8002/api/v2/applications/AmazonInstantVideo und steht AmazonInstantVideo auch in der Applist ? Also AmazonInstantVideo UND AmazonVideo ? Wie sehen die App-Ids aus(list DeinSamsungdevice)?
zur ersten Frage:
Zitat{"code":404,"message":"Not found error.","status":404}
das Gleiche kommt auch bei "AmazonVideo".
In der Applist steht nur "AmazonVideo", nicht "AmazonInstantVideo".
App-ID:
ZitatAmazonVideo 3201512006785
@Oliver1985: Ich habe ja auch einen Frame (Modell von 2017) und möchte im Prinzip das Gegenteil erreichen: Licht dimmen, wenn eingeschaltet. Ping geht bei mir nicht. Kommt immer eine Antwort (auch im Kunstmodus). Evtl. ändert sich das, wenn der Bildschirm wirklich schwarz ist, aber das passiert erst, wenn es im Raum stockdunkel ist und sich niemand mehr bewegt... (jedenfalls bei mir).
Über den Stromverbrauch regeln, habe ich noch nicht probiert, fehlt mir gerade die passende Technik.
Bzgl. des Kunstmodus habe ich einen neuen Thread (https://forum.fhem.de/index.php/topic,109498.0.html) aufgemacht. Bitte postet dort mal Eure Erkenntnisse, da ich ja komplett im Blindflug bin.
Bzgl. der Amazon-Besonderheit habe ich tatsächlich nicht mehr alle Details auf dem Schirm, was wir schon alles ausprobiert hatten und mit welcher Intention ich damals die Fragen gestellt hatte. :-[ :-\ ::)
Ich habe gerade etwas im neuen Thread geschrieben.
Zu Amazon, weiß ich nicht so recht, was ich noch sagen soll.
Was den Aufruf angeht, wenn ich statt des app namens die ID anhänge, kommt nicht Fehler 404, sondern eine Antwort:
Zitatid "3201512006785"
name "Amazon Video"
running false
version "1.2.4"
visible false
Leider kommt bei running und visible immer false, auch wenn ich amazon laufen habe.
Wir hatten auch über die App Version diskutiert, aber laut des TV-Menüs ist es die aktuellste Version.
Würde mich interessieren, ob das bei anderen Frames auch so ist.
Hallo - ein Neuling meldet sich im Forum
Ich bin seit Wochen mit dem Versuch beschäftigt, meinen UE48H6600SV über das SamsungAV-Modul an fhem zu koppeln.Die Anleitung
https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194 (https://forum.fhem.de/index.php/topic,82890.msg759194.html#msg759194)
habe ich nach bestem Wissen ausgeführt - mit mäßigem Erfolg.
Nach anschubsen der regapp_smartcrypto.py auf der Konsole bekam ich nur diese Meldung zurück.
pi@raspberrypi:~ $ python3 regapp_smartcrypto.py
Pin ON TV
Please enter pin from tv: 1234
Got pin: '1234'
Traceback (most recent call last):
File "regapp_smartcrypto.py", line 107, in <module>
output = HelloExchange(tvPIN)
File "regapp_smartcrypto.py", line 60, in HelloExchange
hello_output = crypto.generateServerHello(UserId,pin)
AttributeError: module 'crypto' has no attribute 'generateServerHello'
Hat jemand eine Idee, wie ich hier weiterkomme.
Danke schon mal für Eure Unterstützung.
Totti
Hallo Thorsten64,
bist Du nach dieser Anleitung vorgegangen und hast die Versionen beachtet?
Zitat von: Raymund am 08 Januar 2019, 11:54:12
Wer hier das FHEM-Modul 70_STV.pm mit seiner H-Serie betreibt, wird die dazu notwendige Schlüsseldatei 'samsung_session_key.txt' vermutlich mit 'regapp.pm' erzeugen (siehe #176). Die Verschlüsselung wird darin mittels eines externen Servers unter der IP 34.210.190.209 erledigt, deren Reverse Lookup zu Amazon Web Services führt. Da die Schlüsseldatei sporadisch immer mal neu erzeugt werden muss (z.B. nach einem Stromausfall, aber auch nicht immer), beschleicht einen die Sorge, dass der bei AWS gehostete Server mal nicht mehr zur Verfügung stehen könnte.
Inzwischen gibt es unter https://github.com/tdudek/samsung-remote-models-2014-and-newer (https://github.com/tdudek/samsung-remote-models-2014-and-newer) eine Javascript-Lösung, die die Verschlüsselung selbst macht und die ich erfolgreich getestet habe. Es wird allerdings Node.js benötigt.
Markus hat mich aber auch auf eine entsprechende Python-Lösung namens 'SmartCrypto' aufmerksam gemacht: https://github.com/eclair4151/SmartCrypto (https://github.com/eclair4151/SmartCrypto)
Auch diese habe ich erfolgreich getestet und ein für unsere Zwecke geeignetes Script hinzugefügt. Es wird dazu Python3 ab Version 3.5 benötigt, das z.B. in Raspbian Stretch bereits installiert ist (Versionsabfrage mit 'python3 -V'). Weiter ist jetzt PIP notwendig, das mit 'apt-get install python3-pip' installiert wird. Es enthält auch das notwendige 'crypto'. Danach wird mit 'python3 -m pip install websocket-client' noch 'websocket' installiert.
Das von github heruntergeladene ZIP-Archiv mit SmartCrypto wird entpackt. Ich habe den darin enthaltenen Ordner 'PySmartCrypto' gleich unter /opt/fhem platziert. Jetzt wird nur noch das hier angehängte Script 'regapp_smartcrypto.py' dort hineinkopiert und darin die eigene IP des Fernsehers eingetragen (Zeile 12). Das sollte es gewesen sein.
Nach dem Start auf der Console mit 'python3 regapp_smartcrypto.py' erscheint die bekannte 4-stellige PIN auf dem TV, die man in die Console überträgt. Wenn jetzt alles klappt, liegt anschließend die Schlüsseldatei 'samsung_session_key.txt' im Ordner. Durch Auskommentieren der Zeile 16 kann die Schlüsseldatei auch eine Etage höher zu liegen kommen und somit direkt von 70_STV.pm gelesen werden. In Zeile 127 wird noch der User (fhem) und die Gruppe (dialout) der Schlüsseldatei gesetzt. Das kann auskommentiert werden, wenn nicht erwünscht.
Da dieses Script nur die Schlüsseldatei bereitstellt, stellt es keinen Eingriff in 70_STV.pm dar!
Zitat von: Raymund am 01 April 2020, 18:38:31
Hallo Thorsten64,
bist Du nach dieser Anleitung vorgegangen und hast die Versionen beachtet?
Ja. Ich habe es auch auch nochmal versucht.
Es erscheint kein PIN am TV. Gebe ich den PIN des TV's ein, kommt es zur Fehlermeldung.
pi@raspberrypi:~ $ sudo apt-get install python3-pip
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
python3-pip ist schon die neueste Version (9.0.1-2+rpt2).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 22 nicht aktualisiert.
pi@raspberrypi:~ $ sudo python3 -m pip install websocket-client
Requirement already satisfied: websocket-client in /usr/local/lib/python3.5/dist-packages
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from websocket-client)
pi@raspberrypi:~ $ sudo python3 regapp_smartcrypto.py
Pin ON TV
Please enter pin from tv: 1234
Got pin: '1234'
Traceback (most recent call last):
File "regapp_smartcrypto.py", line 107, in <module>
output = HelloExchange(tvPIN)
File "regapp_smartcrypto.py", line 60, in HelloExchange
hello_output = crypto.generateServerHello(UserId,pin)
AttributeError: module 'crypto' has no attribute 'generateServerHello'
Danke.
ZitatEs erscheint kein PIN am TV.
... das ist schlecht :( Um zusätzliche Probleme auszuschließen würde ich es zunächst mal mit smartcrypto.py probieren. Sicher eine unnütze Frage: hast Du die IP deines TV in regapp_smartcrypto.py bzw. zunächst auch in smartcrypto.py gesetzt und ist Dein TV unter dieser IP 'pingbar'?
Hallo Raymund, der TV lässt sich anpingen, Portabfrage funktioniert und er wird auch im SamsungAV-Modul state=on gemeldet. IP ist angepasst.
ich musste damals die app von raymund verändern, damit mein H5300 die pin abfrage aufpoppen liess.
keine ahnung, ob das ins modul eingeflossen ist.
vielleicht hilfts.
https://forum.fhem.de/index.php/topic,57595.msg751861.html#msg751861 (https://forum.fhem.de/index.php/topic,57595.msg751861.html#msg751861)
ZitatIP ist angepasst.
@Thorsten64: sorry, ich bin kein Python-Spezialist und kann Dir da nicht weiterhelfen :(
Hi,
ich besitze seit neuestem einen Samsung 55Q60R der auch einen Ambient Mode hat. Ich habe ihn in FHEM mit dem SamsungAV Modul eingebunden. Gibt es eine Möglichkeit das ich darüber den Ambient Mode irgendwie aktivieren kann?
LG Alina
Hallo Alina,
ich befürchte nicht. :'( Gibt es eine Taste auf der FB dafür ? Dann würd ich mal alle möglichen FHEM-Befehle per trial&error durchprobieren. Strukturierter geht es vielleicht mit dem Debugging-Modus (https://forum.fhem.de/index.php/topic,82890.msg1034872.html#msg1034872). Also Debugging einschalten, FB-Taste und dann gucken, was in dem Log steht. Ich habs bisher nur für Analyse von FHEM-Befehlen genutzt.
Grüße Markus
Zitat von: Raymund am 02 April 2020, 20:10:43
... das ist schlecht :( Um zusätzliche Probleme auszuschließen würde ich es zunächst mal mit smartcrypto.py probieren. Sicher eine unnütze Frage: hast Du die IP deines TV in regapp_smartcrypto.py bzw. zunächst auch in smartcrypto.py gesetzt und ist Dein TV unter dieser IP 'pingbar'?
IP's sind angepasst, ja. "smartcrypto" sorgt auch nicht für die Abvfrage auf dem TV. Kann ihn per Browser aufrufen, dann kommt aber "Cannot get ..."
Hi ihr!
Ich habe alles, was bisher da vorgeschlagen wurde versucht:
Wenn ich mein Gerät (Samsung UE40MU6179) mit DLNARenderer hinzufüge geht mal gar nicht von den commands.
Wenn ich jedoch SamsungAV verwende, kann ich den Fernseher muten und ausschalten, alles ander aber auch nicht.
Kann mir da wer behilflich sein?
Edit:
Kann ihn auch pingen, output von api/v2:
device
FrameTVSupport "false"
GamePadSupport "true"
ImeSyncedSupport "true"
OS "Tizen"
TokenAuthSupport "true"
VoiceSupport "true"
countryCode "AT"
description "Samsung DTV RCR"
developerIP "0.0.0.0"
developerMode "0"
duid "ID"
firmwareVersion "Unknown"
id "ID
ip "IP"
model "17_KANTM_UHD_BASIC"
modelName "UE40MU6179"
name "[TV] Samsung 6 Series (40)"
networkType "wired"
resolution "3840x2160"
smartHubAgreement "true"
type "Samsung SmartTV"
udn "ID"
wifiMac "MAC"
id "ID"
isSupport "{\"DMP_DRM_PLAYREADY\":\"false\",\"DMP_DRM_WIDEVINE\":\"false\",\"DMP_available\":\"true\",\"EDEN_available\":\"true\",\"FrameTVSupport\":\"false\",\"ImeSyncedSupport\":\"true\",\"TokenAuthSupport\":\"true\",\"remote_available\":\"true\",\"remote_fourDirections\":\"true\",\"remote_touchPad\":\"true\",\"remote_voiceControl\":\"true\"}\n"
name "[TV] Samsung 6 Series (40)"
remote "1.0"
type "Samsung SmartTV"
uri "http://IP/api/v2/"
version "2.0.25"
LG
ZitatWenn ich jedoch SamsungAV verwende, kann ich den Fernseher muten und ausschalten, alles ander aber auch nicht.
M funktioniert prinzipiell problemlos. Wenn Befehle funktionieren, dann auch alle, oder der TV ist kaputt.
ZitatDLNARenderer
Welche Version ? Wie definiert ?
Grüße Markus
ZitatM funktioniert prinzipiell problemlos. Wenn Befehle funktionieren, dann auch alle, oder der TV ist kaputt.
Würde jetzt nicht sagen, dass er kaputt ist, da zb die Smart View App am Handy mit ihm funktioniert und auch sonst alles.
ZitatWelche Version ? Wie definiert ?
StandardVersion auf neuer Installation
Moin,
ich habe es un geschafft, meinen Samsung Q80T mit Fhem zu verbinden (SamsungAV-Modul aus dem Rep., Fhem auf akt. Stand). Diverse Befehle funktionieren (Ton, Channel, Menü, Poweroff,...).
Was ich nicht geschafft habe und mich stört ist:
Power on geht nicht (Fehlermeldung: "[SamsungAV] HTTP socket-connection to SamsungTV not successful. SSL_Error: IO::Socket::IP configuration failed"
Und : Im ausgeschalteten Zustand wechselt der Status alle paar Minuten von "on" auf "absent". Sobald der Fernseher tatsächlich "on" ist, bleibt der Status korrekt angezeigt.
Was kann man tun?
ZitatWas ich nicht geschafft habe und mich stört ist:
Power on geht nicht
Antwort (https://forum.fhem.de/index.php/topic,82890.msg1034869.html#msg1034869)
ZitatUnd : Im ausgeschalteten Zustand wechselt der Status alle paar Minuten von "on" auf "absent".
Um dieses scheinbar nur bei Dir vorhandene Verhalten zu glauben, müsstest Du mir einen Logauszug mit verbose=5 beim TVdevice liefern, wo dies ersichtlich ist.
Grüße Markus
Zitat von: KölnSolar am 10 Juni 2020, 15:12:42
Antwort (https://forum.fhem.de/index.php/topic,82890.msg1034869.html#msg1034869)
Um dieses scheinbar nur bei Dir vorhandene Verhalten zu glauben, müsstest Du mir einen Logauszug mit verbose=5 beim TVdevice liefern, wo dies ersichtlich ist.
Grüße Markus
WOL fuktioniert, vielen Dank!
Zum Thema Statuswechsel:
Ich habe das jetzt noch einmal beobachtet. Der TV braucht einige Zeit um herunter zu fahren. Sowohl ON als auch OFF Status werden mit einer Verzögerung von ca. 60s an Fhem gemeldet.
Am TV ist eine HDD angeschlossen, die ebenfalls noch einige Sekunden nachläuft. Oder auch noch mal anspringt (für kurze Zeit) nachdem der TV schon ausgeschaltet ist, bis sie dann endgültig aus ist. In diese Phase fand dann der beschrieben Stautuswechsel von on auf absent und wieder zurück statt. Ich konnte das jetzt leider nicht mehr reproduzieren...
Wie auch immer, bis auf die o.g. Verzögerung scheint es jetzt zu laufen. Ich habe dazu mal einen Logauszug beigefügt, der beim WOL-ON begeinnt und mit dem set SamsungTV off endet:
2020.06.10 16:31:32 3: [SamsungTV.wol] set SamsungTV.wol on
2020.06.10 16:31:32 3: [SamsungTV.wol] waking SamsungTV.wol with MAC 38:68:A4:AF:08:49 IP 192.168.1.143 via BOTH
2020.06.10 16:31:32 1: [SamsungTV.wol] Guessing broadcast address: 192.168.1.255
2020.06.10 16:31:32 1: [SamsungTV.wol] no system command for WOL found - use '/usr/bin/ether-wake' or '/usr/bin/wakeonlan' or define Attribut sysCmd
2020.06.10 16:31:38 4: [SamsungAV] SamsungTV online with 192.168.1.143:8001 - HTTP-Response: 401
2020.06.10 16:32:02 5: [SamsungAV] SamsungTV command power parameter
DEBUG: .../IO/Socket/SSL.pm:2781: new ctx 74992456
DEBUG: .../IO/Socket/SSL.pm:638: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:640: socket connected
DEBUG: .../IO/Socket/SSL.pm:662: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:698: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:751: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:777: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:787: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:807: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:764: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:767: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:822: ssl handshake done
2020.06.10 16:32:02 4: [SamsungAV] HTTP socket-connection to SamsungTV. SSL_Reply:
2020.06.10 16:32:02 4: [SamsungAV] HTTP socket-connection to SamsungTV successful.
2020.06.10 16:32:02 5: [SamsungAV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=91294827 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.1.143:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.06.10 16:32:02 5: [SamsungAV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.06.10 16:32:03 5: [SamsungAV] SamsungTV Statusbytes of second websocket response: 817e0113
2020.06.10 16:32:03 5: [SamsungAV] SamsungTV data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"91294827"},"connectTime":1591799008189,"deviceName":"RkhFTVJlbW90ZQ==","id":"b0976b88-921a-49c8-83c0-ee13e28394f","isHost":false}],"id":"b0976b88-921a-49c8-83c0-ee13e28394f"},"event":"ms.channel.connect"}
2020.06.10 16:32:03 4: [SamsungAV] SamsungTV sending POWER
2020.06.10 16:32:03 5: [SamsungAV] SamsungTV send payload: {"method":"ms.remote.control","params":{"DataOfCmd":"KEY_POWER","Cmd":"Click","TypeOfRemote":"SendRemoteKey","Option":"false"}}
2020.06.10 16:32:41 4: [SamsungAV] SamsungTV not able to connect to 192.168.1.143:8001 with http://192.168.1.143:8001/ - code: - error: connect to http://192.168.1.143:8001 timed out
Zitat von: alru am 10 Juni 2020, 16:47:30
Zum Thema Statuswechsel:
...Ich habe das jetzt noch einmal beobachtet. Der TV braucht einige Zeit um herunter zu fahren. Sowohl ON als auch OFF Status werden mit einer Verzögerung von ca. 60s an Fhem gemeldet.
Am TV ist eine HDD angeschlossen, die ebenfalls noch einige Sekunden nachläuft. Oder auch noch mal anspringt (für kurze Zeit) nachdem der TV schon ausgeschaltet ist, bis sie dann endgültig aus ist. In diese Phase fand dann der beschrieben Stautuswechsel von on auf absent und wieder zurück statt. Ich konnte das jetzt leider nicht mehr reproduzieren...
Wie auch immer, bis auf die o.g. Verzögerung scheint es jetzt zu laufen. ...
OK, ich hab es jetzt im Logfile auch gesehen: Fhem fragt nur einmal in der Minute den Status ab, richtig? Von daher kann es nicht schneller aktualisiert werden, oder?
ZitatFhem fragt nur einmal in der Minute den Status ab, richtig? Von daher kann es nicht schneller aktualisiert werden, oder?
Richtig.
Ich arbeite derzeit daran, dass ab K-Serie ein anderes Verfahren angewandt wird, so dass die Status-Änderung schneller erfolgt. Aber bei dieser Methode stellt sich der Koreaner mal wieder zickig an. >:(
ZitatAm TV ist eine HDD angeschlossen, die ebenfalls noch einige Sekunden nachläuft. Oder auch noch mal anspringt (für kurze Zeit) nachdem der TV schon ausgeschaltet ist, bis sie dann endgültig aus ist.
Das ist vermutlich auch dieses nicht nachvollziehbare Verhalten: Off ist für einen undefinierten(max. wenige Minuten) Zeitraum nicht wirklich off. Dann funktioniert sogar der power-Befehl zum Wiedereinschalten. ::) :o
Wenn Dir der zeitnahe Status wichtig ist, dann kannst Du es mit dem DLNARenderer probieren. Der bekommt einen off-Status nach dem Abschalten u. auch direkt wieder eine On-Meldung beim Einschalten. Völlig unabhängig eines programmtechnischen Timers. Beschreibung zur Installation findest Du auch in der "Zusammenfassenden Doku".
Zitat von: KölnSolar am 10 Juni 2020, 17:29:08
...Wenn Dir der zeitnahe Status wichtig ist, dann kannst Du es mit dem DLNARenderer probieren. ...
Das trifft sich gut, denn der DLNARenderer ist ohnehin die nächste geplante Aktion. Danke auch hier für den Tipp.
Ich überlege gerade, dass es Sinn mache könnte die DLNRenderer-Info per notify zu übernehmen. Evtl. könnte ich es sogar per notifyFN ins Modul einbauen. Ich denke, dass einige den eventgesteuerten use case TVoff->Aktion bzw. TVon->Aktion haben. Was meint ihr(Daumenklick genügt ;))
Ich habs dann schon einmal testweise implementiert. Klappt eigentlich prima.
ABER: bisher hab ich den Status weder beim S.AV-device, noch beim DLNA-device genau beobachtet. Es passiert leider folgendes im DLNA-device:
- TV ausschalten -> sofort Status offline -> reproduzierbar 56s später geht er wieder online -> weitere 83s später ist er endgültig offline
- TV einschalten -> sofort Status online
So also nicht zu gebrauchen. Warum auch immer versetzen die Koreaner den TV in eine Art "pre-standby" :o, wo der Bildschirm(und Ton) ausgeschaltet sind, die Netzwerkverbindung u. -dienste aber aufrecht erhalten oder gar neu aufgebaut werden.
Könnt Ihr mal über das DLNA-device die timestamps beobachten, ob sich das bei Euch zeitlich ähnlich verhält.
Zitat von: KölnSolar am 11 Juni 2020, 12:32:48
Könnt Ihr mal über das DLNA-device die timestamps beobachten, ob sich das bei Euch zeitlich ähnlich verhält.
Ich habe noch kein DLNA Device erstellt, aber ich kann dieses Verhalten auch so bestätigen.
Eine Leistungsmessung an der Steckdose zeigt, dass es den von dir beschriebenen "pre-standby" gibt. Mein TV schluckt in diesem Zustand noch knapp 30W. Die angeschlossene HDD läuft da noch, aber bei der Leistungsaufnahme müssen auch noch andere Dinge passieren. Im endgültigen Standby werden dann < 1W aufgenommen.
Die Netzwerkverbindung hat da sicherlich auch Einflüsse. Exakt zum Zeitpunkt der Aktualisierung meiner DSL-IP ist der Status vom TV-Device für kurze Zeit auf "on" gegangen.
Moin,
hier noch mal eine Beobachtung zum on/absent Verhalten im Standby Modus (Samsung Q80T):
Alle 5Min (!) startet er irgendetwas, der Status im Device geht auf on. 30s lang benötigt er dazu ca. 10W. Nach den 30s geht er wieder auf 0,4W.
Und 5Min später geht wieder alles von vorne los.
Die dabei entstehenden Stromkosten halten sich noch in Grenzen (ca. 2,50€/pro Jahr für die 10W Phasen), aber den Status des Devices kann man nicht nutzen.
Dank Dir für die Info. Damit wäre auch mein Ansatz es doch irgendwie hinzubekommen hinfällig.
Ich selber kann das gar nicht beurteilen, da ich hart über die Funksteckdose ein-/ausschalte. 8) Standby gibt es also bei mir eigentlich nie(außer ich bin eingeschlafen u. er geht automatisch in standby ::))
Ich guck mal, dass ich ne Messsteckdose dran hänge. Zumindest im Logging kann ich bei MEINEM dieses Verhalten(also status-Änderung) nicht erkennen. Vielleicht ist das nur bei einem QT ? Das ist aber jetzt nicht ein "Frame", oder ?
Grüße Markus
Zitat von: KölnSolar am 12 Juni 2020, 13:51:05
Vielleicht ist das nur bei einem QT ? Das ist aber jetzt nicht ein "Frame", oder ?
Nein, kein Frame, die genaue Bezeichnung ist "GQ65Q80TGTXZG".
Zitat von: KölnSolar am 11 Juni 2020, 12:32:48
...
Könnt Ihr mal über das DLNA-device die timestamps beobachten, ob sich das bei Euch zeitlich ähnlich verhält.
...
Da ich inzwischen auch das DLNA-Device für den Samsung TV erstellt habe (auch wenn da noch nicht alles funktioniert...https://forum.fhem.de/index.php/topic,39706.msg1064520.html#msg1064520 (https://forum.fhem.de/index.php/topic,39706.msg1064520.html#msg1064520)), hab ich mir dort mal den Status angesehen. Und siehe da, hier wird online/offline korrekt angezeigt. Meine Lichtsteuerung im Wohnzimmer funktioniert jetzt damit wieder.
Hi Stefan,
also nicht so
ZitatABER: ...Es passiert leider folgendes im DLNA-device:
- TV ausschalten -> sofort Status offline -> reproduzierbar 56s später geht er wieder online -> weitere 83s später ist er endgültig offline
- TV einschalten -> sofort Status online
?
Grüße Markus
OT: zu Deinem DLNARenderer-Problem hab ich leider keine Lösungsidee. :(
Moin,
ja, der Status wird beim Ein- und Ausschalten sofort korrekt angezeigt, ohne dass es noch mal einen Wechsel gibt.
Bei meinem Q70T wird uA keine App-Liste geladen, sonstige befehle funktionieren aber:
2020.10.29 10:34:08 3: [SamsungAV] SamsungTV timelag to reach all json data for app list might be too small
Weiß evtl jemand weiter?
Zitat von: flolee am 29 Oktober 2020, 10:40:40
Bei meinem Q70T wird uA keine App-Liste geladen, sonstige befehle funktionieren aber:
2020.10.29 10:34:08 3: [SamsungAV] SamsungTV timelag to reach all json data for app list might be too small
Gibt es eventuell ein Attribut für einen timeout im Device?
Nö.
2020.10.29 10:34:08 3: [SamsungAV] SamsungTV timelag to reach all json data for app list might be too small
sagt, dass der TV oder FHEM wohl zu langsam ist(oder zu viele Apps installiert sind ;D). Aus performance-Gründen wird nur für 0,5s gewartet, da FHEM so lange blockiert ist.
Ich spekuliere(wo ist das Log mit verbose=5 ? :(), dass das beim Systemstart ist. Evtl. hilft ein späteres set SamsungTV statusRequest
Grüße Markus
hey,
danke für die antwort :)
nein, ist immer so und hat leider nichts mit dem systemstart zu tun.
verbose 5:
DEBUG: .../IO/Socket/SSL.pm:3010: new ctx 22597624
DEBUG: .../IO/Socket/SSL.pm:762: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:764: socket connected
DEBUG: .../IO/Socket/SSL.pm:787: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:832: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:880: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:952: ssl handshake done
2020.10.29 12:24:10 4: [SamsungAV] HTTP socket-connection to SamsungTV. SSL_Reply:
2020.10.29 12:24:10 4: [SamsungAV] HTTP socket-connection to SamsungTV successful.
2020.10.29 12:24:10 5: [SamsungAV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=15066855 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.1.14:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.10.29 12:24:10 5: [SamsungAV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.10.29 12:24:11 5: [SamsungAV] SamsungTV Statusbytes of second websocket response: 817e0115
2020.10.29 12:24:11 5: [SamsungAV] SamsungTV data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"15066855"},"connectTime":1603970650115,"deviceName":"RkhFTVJlbW90ZQ==","id":"fea69b9f-2b53-4afb-a1c5-23b9676bcf23","isHost":false}],"id":"fea69b9f-2b53-4afb-a1c5-23b9676bcf23"},"event":"ms.channel.connect"}
2020.10.29 12:24:11 5: [SamsungAV] SamsungTV send payload: {"params":{"event":"ed.installedApp.get","TypeOfRemote":"SendRemoteKey","to":"host"},"method":"ms.channel.emit"}
2020.10.29 12:24:23 5: [SamsungAV] response SamsungTV to write_payload: ‰
2020.10.29 12:24:23 3: [SamsungAV] SamsungTV timelag to reach all json data for app list might be too small
2020.10.29 12:24:23 3: Netatmo: poll (ACCOUNT)
2020.10.29 12:24:25 4: [SamsungAV] SamsungTV online with 192.168.1.14:8001 - HTTP-Response: 401
Lg
Edit: Was mir noch auffällt, ist, dass die Statusabfrage eigentlich ewig lange dauert, fhem reagiert da erst > 10 sekunden wieder.
ZitatWas mir noch auffällt, ist, dass die Statusabfrage eigentlich ewig lange dauert, fhem reagiert da erst > 10 sekunden wieder.
Im Log ist nichts besonderes zu erkennen. Ausser der Langsamkeit. So sind die Zeiten "normalerweise"
2020.10.29 17:45:53 5: [SamsungAV] Fernseher send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=myToken HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: myIP:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.10.29 17:45:53 5: [SamsungAV] Fernseher first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.10.29 17:45:53 5: [SamsungAV] Fernseher Statusbytes of second websocket response: 817e0113
2020.10.29 17:45:53 5: [SamsungAV] Fernseher data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"53913370"},"connectTime":1603989953414,"deviceName":"RkhFTVJlbW90ZQ==","id":"e9556782-e21-44de-955c-ea94d353d99f","isHost":false}],"id":"e9556782-e21-44de-955c-ea94d353d99f"},"event":"ms.channel.connect"}
2020.10.29 17:45:53 5: [SamsungAV] Fernseher send payload: {"method":"ms.channel.emit","params":{"event":"ed.installedApp.get","TypeOfRemote":"SendRemoteKey","to":"host"}}
2020.10.29 17:45:53 5: [SamsungAV] response Fernseher to write_payload: {"data":{"data":[{"appId":"org.tizen.browser","app_type":4,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/webbrowser/250x250.png","is_lock":0,"name":"Internet"},{"appId":"111299001912","app_type":2,"icon":"/opt/share/webappservice/apps_icon/FirstScreen/111299001912/250x250.png","is_lock":0,"name":"YouTube"},......]},"event":"ed.installedApp.get","from":"host"}
2020.10.29 17:45:53 5: [SamsungAV] ARRAY found
2020.10.29 17:45:53 5: [SamsungAV] Application: Internet Id: org.tizen.browser
.
.
Könnte es sein, dass Du ein Berechtigungs-pop-up auf dem TV übersehen hast ? :-\ Anders lassen sich 10s von mir nicht erklären.
Grüße Markus
schönen abend
nö, also berechtigungsabfrage brauchte es keine mehr. hab jetzt mal zum testen
- von lan auf wlan umgestellt
- das ganze auch mal auf der neu aufgesetzten fhem-testumgebung ausprobiert, das verhalten war absolut identisch:
DEBUG: .../IO/Socket/SSL.pm:2853: new ctx 22437888
DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:753: not using SNI because hostname is unknown
DEBUG: .../IO/Socket/SSL.pm:806: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:832: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:842: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:862: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:819: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:822: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:877: ssl handshake done
2020.10.29 20:33:40 4: [SamsungAV] HTTP socket-connection to SamsungTV. SSL_Reply:
2020.10.29 20:33:40 4: [SamsungAV] HTTP socket-connection to SamsungTV successful.
2020.10.29 20:33:40 5: [SamsungAV] SamsungTV send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=11220109 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 192.168.1.139:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2020.10.29 20:33:40 5: [SamsungAV] SamsungTV first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2020.10.29 20:33:42 5: [SamsungAV] SamsungTV Statusbytes of second websocket response: 817e0113
2020.10.29 20:33:42 5: [SamsungAV] SamsungTV data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"11220109"},"connectTime":1604000020453,"deviceName":"RkhFTVJlbW90ZQ==","id":"8b52326e-ecd6-44cb-a0d7-a14a8166bf6","isHost":false}],"id":"8b52326e-ecd6-44cb-a0d7-a14a8166bf6"},"event":"ms.channel.connect"}
2020.10.29 20:33:42 5: [SamsungAV] SamsungTV send payload: {"params":{"event":"ed.installedApp.get","TypeOfRemote":"SendRemoteKey","to":"host"},"method":"ms.channel.emit"}
2020.10.29 20:33:54 5: [SamsungAV] response SamsungTV to write_payload: �
2020.10.29 20:33:54 3: [SamsungAV] SamsungTV timelag to reach all json data for app list might be too small
2020.10.29 20:33:55 4: [SamsungAV] SamsungTV online with 192.168.1.139:8001 - HTTP-Response: 401
2020.10.29 20:33:58 4: [SamsungAV] SamsungTV online with 192.168.1.139:8001 - HTTP-Response: 401
mhm... irgendwie bin ich etwas ratlos :-\
lg
ich würde mal ALLE Berechtigungen am TV löschen.
Wie Du ja beim Vergleich siehst, kommt selbst nach 12s keine Antwort vom TV. Anders ausgedrückt: Das OS hat nach 12s keine Lust noch länger auf den TV zu warten u. bricht ab. Besonderheiten beim OS ?
Ansonsten könntest Du das Debugging (https://forum.fhem.de/index.php/topic,82890.msg1034872.html#msg1034872)am TV ausprobieren.
Grüße Markus
auch komplettes zurücksetzen bringt leider nix... samsung smart things funktioniert hingegen problemlos.
werd mir mal das debugging ansehen... danke schon mal :)
log vom tv:
INFO "## HttpMessage::pairingResponder ##" "timestamp: 1604011059490, file: HttpMessage.cpp, func: pairingResponder : 353"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011059490, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011058191, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011058179, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011058173, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has disconnected" "timestamp: 1604011058173, file: RemoteChannel.cpp, func: onSocketClose : 1147"
ERROR "connect error" "timestamp: 1604011046168, file: IpcClient.cpp, func: transceive : 126"
VERBOSE "## emitToRCR ##" "timestamp: 1604011046167, file: TizenDevice.cpp, func: emitToRCR : 720"
DEBUG "msg : {\"method\":\"ms.channel.emit\",\"params\":{\"TypeOfRemote\":\"SendRemoteKey\",\"event\":\"ed.installedApp.get\",\"to\":\"host\"}}\n" "timestamp: 1604011046166, file: RemoteChannel.cpp, func: onSocketMessage : 1097"
DEBUG "socket(id:95f46f35-2294-41dc-8b34-8fcee492ee16) is authorized" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 556"
INFO "## RemoteChannel::pairingResponder ##" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 537"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011046164, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011044964, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011044964, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011044958, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "RemoteControl Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has connected" "timestamp: 1604011044958, file: RemoteChannel.cpp, func: onSocketConnection : 1019"
hilft das was?
lg
mir nicht. :(
Das musst Du dann selber tiefer analysieren. Nur Du siehst die Meldungen ja im zeitlichen Bezug zu FHEM. Vergleiche auch mal RC-Befehle(die funktionieren ja, oder ?) u. vielleicht auch den DLNARenderer. Den Datenverkehr mit z.B. Wireshark analysieren könnte auch Erkenntnisse bringen
ZitatDEBUG "Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has disconnected" "timestamp: 1604011058173, file: RemoteChannel.cpp, func: onSocketClose : 1147"
ERROR "connect error" "timestamp: 1604011046168, file: IpcClient.cpp, func: transceive : 126"
Da liegt nach meinem Eindruck der Hund begraben. Erst der "error" . dann der websocket-close vom FHEM-System.
Ich guck mal, dass ich Dir zum Vergleich die Daten bei einem funktionsfähigen System liefere.
Danke dir.... ja, das mit der errormeldung denke ich auch. weißt du generell was von problemen mit den 2020er modellen?
hab jetzt nicht wirklich eine ahnung wie ich das problem angehen soll. notfalls evtl einige apps hardcoded in der .pm hinterlegen - ist dann halt updatemäßig etwas nervig aber vermutlich der schnellste fix, nachdem buttons usw. ja alles funktioniert, müsste vermutlich auch das klappen.
Ich denke es liegt weniger an dem Modell(dieses Problem gab es bisher nicht[oder ich habs vergessen ;D]), sondern vielleicht eher an der firmware. Melde mal Deinen firmware-Stand. Und meinen Hinweis, keine Updates zuzulassen hattest Du hoffentlich befolgt ? :-\
Kürzlich gab es mal ein völlig anderes Problem mit einem Alt-TV. Da half zurücksetzen auf Werkseinstellung(nicht firmware ! Denn das geht nicht) Aber dann sind all Deine Einstellungen futsch. :'(
So sieht der statusRequest bei mir mit logginglevel Debug ausDEBUG "IPC callRPC : result : true\n" "timestamp: 1604071665846, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604071665825, file: TizenDevice.cpp, func: notifyRemoteNumbers : 659"
DEBUG "Client(id:9d119fea-ccad-49d7-aac3-caa4c0e6fb35) has disconnected" "timestamp: 1604071665824, file: RemoteChannel.cpp, func: onSocketClose : 1070"
INFO "## RemoteChannel::createEdenResponder ##" "timestamp: 1604071665293, file: RemoteChannel.cpp, func: createEdenResponder : 125"
DEBUG "IPC callRPC : result : {\"data\":[{\"appId\":\"org.tizen.browser\",\"app_type\":4,\"icon\":\"/opt/share/webappservice/apps_icon/FirstScreen/webbrowser/250x250.png\",\"is_lock\":0,\"name\":\"Internet\"},
.
.]}\n" "timestamp: 1604071665288, file: IpcClient.cpp, func: transceive_cb_ : 190"
VERBOSE "## emitToRCR ##" "timestamp: 1604071665266, file: TizenDevice.cpp, func: emitToRCR : 716"
DEBUG "msg : {\"method\":\"ms.channel.emit\",\"params\":{\"TypeOfRemote\":\"SendRemoteKey\",\"event\":\"ed.installedApp.get\",\"to\":\"host\"}}\n" "timestamp: 1604071665265, file: RemoteChannel.cpp, func: onSocketMessage : 1020"
DEBUG "creating new thread for TizenAddon..." "timestamp: 1604071665237, file: TizenDevice.cpp, func: createTizenAddon : 593"
DEBUG "socket(id:9d119fea-ccad-49d7-aac3-caa4c0e6fb35) is authorized" "timestamp: 1604071665236, file: RemoteChannel.cpp, func: pairingResponder : 542"
INFO "## RemoteChannel::pairingResponder ##" "timestamp: 1604071665236, file: RemoteChannel.cpp, func: pairingResponder : 523"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604071665235, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604071665202, file: TizenDevice.cpp, func: requestACLPairing : 532"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604071665202, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604071665124, file: TizenDevice.cpp, func: notifyRemoteNumbers : 659"
DEBUG "RemoteControl Client(id:9d119fea-ccad-49d7-aac3-caa4c0e6fb35) has connected" "timestamp: 1604071665124, file: RemoteChannel.cpp, func: onSocketConnection : 942"
Irgendwie scheint Deiner das DEBUG "creating new thread for TizenAddon..." "timestamp: 1604071665237, file: TizenDevice.cpp, func: createTizenAddon : 593"
nicht zu machen.
Du könntest mal in dieser Zeile(müsste 828 sein) Time::HiRes::usleep(500000); # just to get all data, otherwise crashing FHE
die Wartezeit z.B. auf 1000000 erhöhen. Vielleicht hilfts. :-\
Zitatdie Wartezeit z.B. auf 1000000 erhöhen. Vielleicht hilfts. :-\
ich glaube fast das habe ich vorgestern schon mal versucht (könnts jetzt aber nicht schwören). bin jetzt bis sonntag oder montag nicht beim TV, werd dann aber mal weiterversuchen und berichten.
update gabs bisher keines... allerdings ist er schon am neuesten stand, wurde also schon so geliefert.
danke jedenfalls für die hilfe bisher :)
so, sorry für die späte rückmeldung, aber da hat uns die realität hier in wien doch mal eingeholt und bei mir die prioritäten etwas verschoben...
Zitatdie Wartezeit z.B. auf 1000000 erhöhen. Vielleicht hilfts. :-\
nope, leider nichts. auch das komplette zurücksetzen der firmware hat nichts gebracht. werde mich sobald ich dazukomme noch etwas mit dem tv-debuglog spielen - danke jedenfalls für die mühe bisher, aber grds herrscht bei mir leider ziemliche ratlosigkeit vor :/
Edit:
@KölnSolar könntest du mir evtl bitte noch die payload posten um die youtube app zu starten?
Kommt das irgendwie hin?
2020.11.08 20:59:46 5: [SamsungAV] SamsungTV send payload: {"method":"ms.channel.emit","params":{"to":"host","TypeOfRemote":"SendRemoteKey","event":"ed.apps.launch","data":{"metaTag":"","appId":"111299001912","action_type":"DEEP_LINK"}}}
danke :)
Habe gerade meinen Samsung GU32T5379AUXZG / 2020er T-Serie eingerichtet.
Ich war lange unsicher, ob man den Klimmzug mit regapp_smartcrypto.py aus Post #526 noch braucht: Er ist wohl nicht mehr notwendig, das Modul kümmert sich selbst darum.
Fernsteuern funktioniert (habe jetzt nur ein paar Tasten getestet) aber ich bekomme keine Readings rein (nur "state"). Ist das normal oder fehlt mir hier noch etwas?
Das Debug Log sieht wie folgt aus:
2021.01.24 11:43:24.915 5: [SamsungAV] ScZi_tvSam command menu parameter
DEBUG: .../IO/Socket/SSL.pm:3010: new ctx 132991456
DEBUG: .../IO/Socket/SSL.pm:762: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:764: socket connected
DEBUG: .../IO/Socket/SSL.pm:787: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:829: using SNI with hostname samsung.weinberger.local
DEBUG: .../IO/Socket/SSL.pm:880: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:952: ssl handshake done
2021.01.24 11:43:25.026 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam. SSL_Reply:
2021.01.24 11:43:25.026 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam successful.
2021.01.24 11:43:25.026 5: [SamsungAV] ScZi_tvSam send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ== HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: samsung.weinberger.local:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2021.01.24 11:43:25.027 5: [SamsungAV] ScZi_tvSam first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2021.01.24 11:43:55.562 5: [SamsungAV] ScZi_tvSam Statusbytes of second websocket response: 817e0113
2021.01.24 11:43:55.563 5: [SamsungAV] ScZi_tvSam data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ=="},"connectTime":1611485005967,"deviceName":"RkhFTVJlbW90ZQ==","id":"1915bce6-b8fe-43e5-b851-c68a2865e3f","isHost":false}],"id":"1915bce6-b8fe-43e5-b851-c68a2865e3f","token":"77732601"},"event":"ms.channel.connect"}
2021.01.24 11:43:55.563 5: [SamsungAV] ScZi_tvSam token: 77732601 saved
2021.01.24 11:43:56.164 4: [SamsungAV] ScZi_tvSam sending MENU
2021.01.24 11:43:56.164 5: [SamsungAV] ScZi_tvSam send payload: {"params":{"Option":"false","DataOfCmd":"KEY_MENU","Cmd":"Click","TypeOfRemote":"SendRemoteKey"},"method":"ms.remote.control"}
2021.01.24 11:44:17.458 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:45:17.415 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
DEBUG: .../IO/Socket/SSL.pm:3010: new ctx 124135752
DEBUG: .../IO/Socket/SSL.pm:762: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:764: socket connected
DEBUG: .../IO/Socket/SSL.pm:787: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:829: using SNI with hostname samsung.weinberger.local
DEBUG: .../IO/Socket/SSL.pm:880: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:952: ssl handshake done
2021.01.24 11:45:45.502 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam. SSL_Reply:
2021.01.24 11:45:45.503 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam successful.
2021.01.24 11:45:45.503 5: [SamsungAV] ScZi_tvSam send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=77732601 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: samsung.weinberger.local:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2021.01.24 11:45:45.504 5: [SamsungAV] ScZi_tvSam first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2021.01.24 11:45:46.871 5: [SamsungAV] ScZi_tvSam Statusbytes of second websocket response: 817e0113
2021.01.24 11:45:46.871 5: [SamsungAV] ScZi_tvSam data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"77732601"},"connectTime":1611485146442,"deviceName":"RkhFTVJlbW90ZQ==","id":"cedac8a5-edb-4cdb-8191-aadae82136cf","isHost":false}],"id":"cedac8a5-edb-4cdb-8191-aadae82136cf"},"event":"ms.channel.connect"}
2021.01.24 11:45:46.872 5: [SamsungAV] ScZi_tvSam send payload: {"params":{"TypeOfRemote":"SendRemoteKey","event":"ed.installedApp.get","to":"host"},"method":"ms.channel.emit"}
2021.01.24 11:45:58.879 5: [SamsungAV] response ScZi_tvSam to write_payload: �
2021.01.24 11:45:58.880 3: [SamsungAV] ScZi_tvSam timelag to reach all json data for app list might be too small
2021.01.24 11:46:01.365 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:46:17.390 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:46:52.404 5: [SamsungAV] ScZi_tvSam command mute parameter
DEBUG: .../IO/Socket/SSL.pm:3010: new ctx 133906080
DEBUG: .../IO/Socket/SSL.pm:762: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:764: socket connected
DEBUG: .../IO/Socket/SSL.pm:787: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:829: using SNI with hostname samsung.weinberger.local
DEBUG: .../IO/Socket/SSL.pm:880: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:952: ssl handshake done
2021.01.24 11:46:52.502 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam. SSL_Reply:
2021.01.24 11:46:52.502 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam successful.
2021.01.24 11:46:52.502 5: [SamsungAV] ScZi_tvSam send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=77732601 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: samsung.weinberger.local:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2021.01.24 11:46:52.503 5: [SamsungAV] ScZi_tvSam first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2021.01.24 11:46:53.882 5: [SamsungAV] ScZi_tvSam Statusbytes of second websocket response: 817e0115
2021.01.24 11:46:53.882 5: [SamsungAV] ScZi_tvSam data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"77732601"},"connectTime":1611485213442,"deviceName":"RkhFTVJlbW90ZQ==","id":"4570885f-1eaa-48b6-afa9-2c783559e115","isHost":false}],"id":"4570885f-1eaa-48b6-afa9-2c783559e115"},"event":"ms.channel.connect"}
2021.01.24 11:46:54.483 4: [SamsungAV] ScZi_tvSam sending MUTE
2021.01.24 11:46:54.483 5: [SamsungAV] ScZi_tvSam send payload: {"params":{"DataOfCmd":"KEY_MUTE","Option":"false","TypeOfRemote":"SendRemoteKey","Cmd":"Click"},"method":"ms.remote.control"}
2021.01.24 11:47:17.345 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:48:17.447 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:49:17.549 4: [SamsungAV] ScZi_tvSam online with samsung.weinberger.local:8001 - HTTP-Response: 401
2021.01.24 11:49:22.944 5: [SamsungAV] ScZi_tvSam command power parameter
DEBUG: .../IO/Socket/SSL.pm:3010: new ctx 127143032
DEBUG: .../IO/Socket/SSL.pm:762: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:764: socket connected
DEBUG: .../IO/Socket/SSL.pm:787: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:829: using SNI with hostname samsung.weinberger.local
DEBUG: .../IO/Socket/SSL.pm:880: set socket to non-blocking to enforce timeout=2
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:907: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:917: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:937: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:894: call Net::SSLeay::connect
DEBUG: .../IO/Socket/SSL.pm:897: done Net::SSLeay::connect -> 1
DEBUG: .../IO/Socket/SSL.pm:952: ssl handshake done
2021.01.24 11:49:23.062 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam. SSL_Reply:
2021.01.24 11:49:23.062 4: [SamsungAV] HTTP socket-connection to ScZi_tvSam successful.
2021.01.24 11:49:23.062 5: [SamsungAV] ScZi_tvSam send to TV: GET /api/v2/channels/samsung.remote.control?name=RkhFTVJlbW90ZQ==&token=77732601 HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: samsung.weinberger.local:8002
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
2021.01.24 11:49:23.065 5: [SamsungAV] ScZi_tvSam first websocket response: HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
2021.01.24 11:49:24.584 5: [SamsungAV] ScZi_tvSam Statusbytes of second websocket response: 817e0113
2021.01.24 11:49:24.584 5: [SamsungAV] ScZi_tvSam data of second websocket response: {"data":{"clients":[{"attributes":{"name":"RkhFTVJlbW90ZQ==","token":"77732601"},"connectTime":1611485364005,"deviceName":"RkhFTVJlbW90ZQ==","id":"f2ef84d-8984-4068-9652-3c6273584b9b","isHost":false}],"id":"f2ef84d-8984-4068-9652-3c6273584b9b"},"event":"ms.channel.connect"}
2021.01.24 11:49:25.185 4: [SamsungAV] ScZi_tvSam sending POWER
2021.01.24 11:49:25.186 5: [SamsungAV] ScZi_tvSam send payload: {"params":{"Option":"false","DataOfCmd":"KEY_POWER","Cmd":"Click","TypeOfRemote":"SendRemoteKey"},"method":"ms.remote.control"}
List vom Device:
Internals:
DEF samsung.weinberger.local 8001
FUUID 600ca0e6-f33f-b8ff-c29c-6fe5f040da418d2a
Host samsung.weinberger.local
Mode
NAME ScZi_tvSam
NR 530
NTFY_ORDER 50-ScZi_tvSam
Port 8001
STATE on
TYPE SamsungAV
READINGS:
2021-01-24 12:31:17 state on
helper:
Attributes:
comment Samsung GU32T5379AUXZG
delayRC 600000
devStateIcon on:it_television@green absent:it_television
group Entertainment
icon remotecontrol/black_btn_TV
room Schlafzimmer
verbose 5
PS: Im Wiki-Eintrag sehe ich gerade noch, dass dort auch als Reading nur "state" aufgeführt ist. Vermutlich geht also nicht mehr. In dem Fall bitte den Beitrag einfach als Erfolgsmedlung für einen T-Serie TV sehen ;)
Zitat von: weini am 24 Januar 2021, 12:41:02
Fernsteuern funktioniert (habe jetzt nur ein paar Tasten getestet) aber ich bekomme keine Readings rein (nur "state"). Ist das normal oder fehlt mir hier noch etwas?
PS: Im Wiki-Eintrag sehe ich gerade noch, dass dort auch als Reading nur "state" aufgeführt ist. Vermutlich geht also nicht mehr. In dem Fall bitte den Beitrag einfach als Erfolgsmedlung für einen T-Serie TV sehen ;)
Leider kann die API wohl nur Befehle Entgegen nehmen und nur bedingt Auskunft erteilen.
Mit fehlt da leider auch die Information, wenn man die FB verwendet, welches Programm gerade läuft.
Da wollte ich dann eine Lautstärkeanpassung dran bauen, da einige Sender nach wie vor meinen, sie dürften Werbung einfach lauter senden ;-)
Gruß
Christian
Hallo
Ich habe hier mal eine Frage die ev. etwas OffTopic ist ...
Mein alter Samsung (E46F647OSSXZG) gibt langsam den Geist auf.
Welchen Samsung mit Tizen in 50-55 Zoll könnt ihr empfehlen?
HDD-Recording, SAT, LAN sollte er schon haben.
Ansonsten habe ich keine großartigen Anforderungen. Ausser das er wieder FHEM-Kompatibel ist ;D
Sorry für diesen Weg aber leider finde ich sonst keine Hinweise auf das Betriebssystem zum TV.
Danke schon mal.
@ch.eick: Danke dir, das erklärt es natürlich.
Moin,
erstmal vielen Dank für das Modul und die Arbeit die hier investiert wird!
Ich habe heute meinen Samsung TV in FHEM eingebunden und bin nach dem Wiki vorgegangen. Bei meinem Q Gerät hat nach dem define nichts funktioniert.
Die Lösung des Problems ist ein simpler "shutdown restart" von FHEM. Daher würde ich vorschlagen, den kleinen Hinweis ins Wiki und / oder im Doku-Thread mit aufzunehmen (gleich unter dem define Befehl). Das spart eine Menge Frust, Zeit und den ein oder anderen Beitrag im Forum. ;)
Danke und Gruß
Ben
Zitat von: SirBen am 15 April 2021, 12:05:07
Die Lösung des Problems ist ein simpler "shutdown restart" von FHEM. Daher würde ich vorschlagen, den kleinen Hinweis ins Wiki und / oder im Doku-Thread mit aufzunehmen (gleich unter dem define Befehl). Das spart eine Menge Frust, Zeit und den ein oder anderen Beitrag im Forum. ;)
Eventuell könntest Du für's Wiki Zugang beantragen und es dort auch selber eintragen, jede Hand zählt :-)
EDIT:
Ich habe es mal im Wiki dazu geschrieben und hoffentlich die richtige Stelle gewählt.
VG
Christian
Zitat von: ch.eick am 15 April 2021, 13:17:27
EDIT:
Ich habe es mal im Wiki dazu geschrieben und hoffentlich die richtige Stelle gewählt.
Perfekt! Danke.
Hi Christian,
Danke. Kannst du bitte etwas dazu schreiben, dass das nur für version 1.0 gilt. Ist ja ein bekannter bug, der aber erst mit der "Runderneuerung" behoben werden kann. Und die wird noch dauern. :'(
Grüße Markus
Zitat von: KölnSolar am 15 April 2021, 20:41:50
Danke. Kannst du bitte etwas dazu schreiben, dass das nur für version 1.0 gilt. Ist ja ein bekannter bug, der aber erst mit der "Runderneuerung" behoben werden kann. Und die wird noch dauern. :'(
Hallo Markus,
ist erledigt...
Hallo zusammen,
nach diversen Versuchen mit meinem Samsung TV (H-Modell) bin ich so langsam ratlos.
Keine der Python Lösungen lässt sich auf meinem Raspi ohne Fehlermeldung starten.
Bei Raymund's RegApp Lösung in Perl komme ich bis zur Anzeige der Pin, danach verweigert das Script die Mitarbeit, weil der Server den Raymund verwendet hat wohl nicht mehr existiert.
Meine Frage: Gibt es eine aktuelle Version von regapp.pl, die entweder einen noch funktionierenden externen Server verwendet oder ganz ohne so einen externen Zugriff auskommt.
Vielen Dank im Voraus für jegliche Hinweise
Gruß Klaus
Hi Klaus,
hast Du das wie hier (https://forum.fhem.de/index.php/topic,57595.msg1037538.html#msg1037538) beschrieben gemacht ?
Wo ist denn unser Raymund geblieben ? ??? Muss ich mal per Mail nachhören.
Grüße Markus
Hallo Markus,
smartcryto.py bekomme ich nicht zum Laufen (Raspi mit Debian Buster, Python 2.7 und Python 3). Es scheitert bereits an der Zeile "from command_encryption import AESCipher"
Raymunds regapp.pl (auch Version 2) scheitern daran, dass der externe Server nicht mehr existiert:
my $external_server = 'https://34.210.190.209:5443'; # ec2-34-210-190-209.us-west-2.compute.amazonaws.com
Dort wird etwas "umkodiert". Leider ist nicht dokumentiert, was da passiert.
$res = HTTP_Request ( "$external_server/step1", 'POST', encode_json \%payload, undef, \%external_header );
Gruß Klaus
Hi Klaus,
mich wundert, dass auf den externen Server abgefragt wird. Genau das(dachte ich) hat Raymund in der letzten Version geändert, weil er ahnte, dass der Server abgeschaltet werden könnte.
Mehr kann ich dazu nicht sagen.
Da müssen sich jetzt mal die G-,H-Besitzer melden, die das vor nicht allzu langer Zeit gemacht haben.
Grüße
Markus
Hallo Markus,
das hatte ich auch gelesen. Aber alle Versionen, die ich gefunden habe, haben es über den externen Server gemacht.
Hast Du eventuell einen Link auf die letzte Version von Raymund? Ich will nicht ausschliessen, das ich die irgendwo übersehen habe.
Gruß Klaus
Hi Klaus,
ZitatHast Du eventuell einen Link auf die letzte Version von Raymund?
Leider nicht. Mein Link war ja schon der Letzte den ich fand. :'(
Jetzt mail ich Raymund sofort mal an....
Grüße Markus
Hallo Markus,
erst mal ganz herzlichen Dank für Deine Unterstützung.
Ich habe es inzwischen geschafft die Python Version "regapp_smartcrypto" zum Laufen zu bringen und das hat endlich den Erfolg gebracht.
Ursache für die Probleme war eine Unstimmigkeit mit den Python Modulen crypto, pycrytpto und pycryptodome. Abhilfe hat die Deinstallation aller dieser Module und die Neuinstallation von pycryptodome gebracht. Scheinbar gibt es dort Namensähnlichkeiten bzw. Überschneidungen in den Modulen. Ein weiterer Hinweis: man sollte die Module via sudo installieren, ansonsten gibt es noch ganz andere Probleme und Unstimmigkeiten wohl verursacht das das VirtualEnv.
Ein weiterer Tipp: websocket NICHT über pip3 installieren, sondern über "sudo apt install python3-websocket" - ausser man hat VIEL Zeit
Lieben Dank noch mal an dieser Stelle.
Gruß Klaus
Hi Klaus,
prima, dass es geklappt hat.
Ähnliche Probleme hatte ich auch schon bei anderen Dingen mit python, python3, pip, pip3..... :'( ::)
Grüße Markus
Zitat von: flolee am 29 Oktober 2020, 23:41:05
log vom tv:
INFO "## HttpMessage::pairingResponder ##" "timestamp: 1604011059490, file: HttpMessage.cpp, func: pairingResponder : 353"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011059490, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011058191, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011058179, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011058173, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has disconnected" "timestamp: 1604011058173, file: RemoteChannel.cpp, func: onSocketClose : 1147"
ERROR "connect error" "timestamp: 1604011046168, file: IpcClient.cpp, func: transceive : 126"
VERBOSE "## emitToRCR ##" "timestamp: 1604011046167, file: TizenDevice.cpp, func: emitToRCR : 720"
DEBUG "msg : {\"method\":\"ms.channel.emit\",\"params\":{\"TypeOfRemote\":\"SendRemoteKey\",\"event\":\"ed.installedApp.get\",\"to\":\"host\"}}\n" "timestamp: 1604011046166, file: RemoteChannel.cpp, func: onSocketMessage : 1097"
DEBUG "socket(id:95f46f35-2294-41dc-8b34-8fcee492ee16) is authorized" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 556"
INFO "## RemoteChannel::pairingResponder ##" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 537"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011046164, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011044964, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011044964, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011044958, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "RemoteControl Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has connected" "timestamp: 1604011044958, file: RemoteChannel.cpp, func: onSocketConnection : 1019"
hilft das was?
lg
Moin,
ich wollte das Thema auch einmal aufgreifen.
Ich habe nämlich exakt das gleiche Problem wie flolee.
Mein TV ist ein GQ75Q67T.
Ich habe auch die Wartezeit im Code höher gesetzt etc. Alles ohne Erfolg.
Normale Befehle von FHEM an den Samsung TV funktionieren auch bei mir.
Das hier:
DEBUG "creating new thread for TizenAddon..." "timestamp: 1604071665237, file: TizenDevice.cpp, func: createTizenAddon : 593"
kommt auch bei mir nicht.
Mir fällt noch auf, dass am Anfang auch schon ein Error kommt (nach : DEBUG "## notifyRemoteNumbers ##"):
INFO "## HttpMessage::pairingResponder ##" "timestamp: 1604011059490, file: HttpMessage.cpp, func: pairingResponder : 353"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011059490, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011058191, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011058179, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011058173, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has disconnected" "timestamp: 1604011058173, file: RemoteChannel.cpp, func: onSocketClose : 1147"
ERROR "connect error" "timestamp: 1604011046168, file: IpcClient.cpp, func: transceive : 126"
VERBOSE "## emitToRCR ##" "timestamp: 1604011046167, file: TizenDevice.cpp, func: emitToRCR : 720"
DEBUG "msg : {\"method\":\"ms.channel.emit\",\"params\":{\"TypeOfRemote\":\"SendRemoteKey\",\"event\":\"ed.installedApp.get\",\"to\":\"host\"}}\n" "timestamp: 1604011046166, file: RemoteChannel.cpp, func: onSocketMessage : 1097"
DEBUG "socket(id:95f46f35-2294-41dc-8b34-8fcee492ee16) is authorized" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 556"
INFO "## RemoteChannel::pairingResponder ##" "timestamp: 1604011046164, file: RemoteChannel.cpp, func: pairingResponder : 537"
DEBUG "IPC callRPC : result : true\n" "timestamp: 1604011046164, file: IpcClient.cpp, func: transceive_cb_ : 190"
DEBUG "## requestACLPairing ##" "timestamp: 1604011044964, file: TizenDevice.cpp, func: requestACLPairing : 536"
ERROR "connect error" "timestamp: 1604011044964, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011044958, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
DEBUG "RemoteControl Client(id:95f46f35-2294-41dc-8b34-8fcee492ee16) has connected" "timestamp: 1604011044958, file: RemoteChannel.cpp, func: onSocketConnection : 1019"
@flolee: bist du schon weiter gekommen?
@all: Hat jemand einen Tipp?
Danke und Gruß Ben
Hallo Ben,
leider nicht. :'(
Denk dran, dass Du zeitlich von unten nach oben lesen musst. Folglich liegt wohl hier das ProblemERROR "connect error" "timestamp: 1604011044964, file: IpcClient.cpp, func: transceive : 126"
DEBUG "## notifyRemoteNumbers ##" "timestamp: 1604011044958, file: TizenDevice.cpp, func: notifyRemoteNumbers : 663"
Die Zahl 663(wie bei flolee) ist vermutlich die Zeilennr. Bei meinem funktionierenden Debug-Auszug ist es 659. Scheint also ein firmware-Unterschied zu sein. Hilft aber auch nicht weiter. :'(
Grüße Markus
Moin,
Ja die Leserichtung kannte ich.
Den Auszug aus dem Log habe ich von flolee übernommen.
In seinem Log war das auch schon vorhanden.
Gibt es irgendwo eine Doku wie man eine Verbindung mit dem Samsung TV herstellen kann?
Oder einen Workaround um den Status der Netflix-App zu bekommen?
LG Ben
Moin,
habe ein wenig geforscht und eine Lösung mittels HTTPMOD.
Falls jemand interessiert ist:
define SamsungAPPstate HTTPMOD http://IP_TV:8001/ws/apps/Netflix 0
attr SamsungAPPstate getHeader1 Content-Type: application/xml
attr SamsungAPPstate getHeader2 Accept: */*
attr SamsungAPPstate reading01Name Netflix
attr SamsungAPPstate reading01XPath-Strict //state/text()
In meinem DOIF frage ich den App Status dann in regelmäßigen Abständen mit "set SamsungAPPstate reread", solange der Fernseher an ist.
Gruß Ben
Hallo,
erstmal bin neu bei Fhem und komme gleich mit 1000 Fragen :P
Nein scherz beiseite, bin auf der suche wie ich meinen samunsg tv steuern kann und eben hier fündig geworden.
Da Fhem aber relativ neu für mich ist, bitte ich gleich mal um hilfe, sorry dafür.
Also was habe ich bis jetzt zum laufen gebracht.
eigentlich nur das mir der TV fragt ob ich die verbindung zulassen will, habe ich auch mit ja bestätigt.
Doch leider nimmt er mir trozdem keine befehle an.
TV ist ein Samsung detail siehe foto.
Hoffe es ist nicht zu frech das ich hier einfach reinplatze, sorry.
Hallo Mike,
willkommen bei FHEM und dem SamsungAV.
Sieht alles richtig aus. Möglicherweise bist Du einem Bug zum Opfer gefallen, den ich noch immer nicht behoben habe. ::) Mach mal ein shutdown/restart von FHEM und dann sollte es funktionieren. Wenn nicht, wieder melden.
Grüße Markus
Hallo,
nun läuft es, der Zaubertrick war, den TV neuzustarten, anscheinend, den danach ging es einwandfrei.
(zur info, FHEM neustart hat nichts gebracht)
Kann nun auch per "set MikeTV ......." den TV schön steuern.
Was mir jetzt noch abgeht, wie bekomme ich diese Befehle in Fhem schön hinterlegt?
Muss sagen, so schnell wie mit Fhem, habe ich den TV auch noch in keiner Anderen Smarthome und etc. zum steuern gebracht.
Gefällt mir dieses Fhem ;D
So kleiner Update.
Leider ist es doch nicht so das der TV neustart die Lösung war.
Zur info, habe auf dem PI wo auch fhem läuft, auch einen Homebridge server am laufen.
So und da es erst in fhem nicht laufen wollte habe ich beim Homebridge das Plugin "homebridge-samsung-tizen"
installiert und ein wenig rumexperementiert.
Es sieht so aus, das ich über Fhem nur steuern kann wenn das Plugin auf der Bridge aktiv ist, sobald ich es deaktiviere geht auch die Steuerung seitens FHEM nicht mehr.
Gerade 10x mal getestet.
Kann es sein das es irgendwas mit der authentifizierung zu tun hat?
ZitatWas mir jetzt noch abgeht, wie bekomme ich diese Befehle in Fhem schön hinterlegt?
Guck Dir mal das Modul remotecontrol an. ;)
ZitatKann es sein das es irgendwas mit der authentifizierung zu tun hat?
Jein. Ich vermute es hat hiermit
Zitathabe auf dem PI wo auch fhem läuft, auch einen Homebridge server am laufen.
zu tun. Die Authentifizierung läuft über ein token. Vermutlich nur auf IP oder MAC des client bezogen.
Setz mal den verbose level auf 5, dann wirst Du vermutlich entsprechende Hinweise im Log finden.
Schönen 2. Advent zusammen,
bin per zufall auf dieses Modul gestossen. Da ich jetzt eine Samsung GU65AU besitze wollte ich das Modul testen.
Im Wiki habe ich nichts über die Version G.... gefunden.
jetzt habe ich ein Devise angeglet mit define SamsungTV SamsungAV 192.168.12.79 8000 das aber die Meldung absent bringt.
Fehlermeldung im Logfile:[SamsungAV] SamsungTV not able to connect to 192.168.12.79:8000 with http://192.168.12.79:8000/ - code: - error: 192.168.12.79: Verbindungsaufbau abgelehnt (111)
Was sollte ich jetzt testen oder funktioniert diese Serie nicht.
Gruß Josef
ZitatGU65AU
scheint mir nicht die vollständige Typenbezeichnung zu sein. Wie alt ist der TV ungefähr ?
Was siehst Du, wenn Du
http://192.168.12.79:9197/dmr
im Browser eingibst ?
Grüße Markus
Hallo Markus
ich dachte die ersten Stellen reichen. GU65AU7179UXZG
Gruß Josef
Hallo Josef,
definier mal mit Port 8001. Und dann shutdown/restart bei eingeschaltetem TV u. Bildschirm wg. Berechtigung beobachten.
Ist ja wohl eine aktuelle Serie <modelName>GU65AU7179UXZG</modelName>
versuche ich mal zu entschlüsseln
Schmeiß die Browserausgabe in Deinem Post lieber wieder raus. Zumindest die "persönlichen" Daten(SerNo., UDN,MAC)
Grüße Markus
PS: Ah jetzt. Samsung hat im vergangenen Jahr das Alphabet in der Typenbezeichnung "resettet" und wieder bei A angefangen. Nach T(2020) kommen also A(2021) und dieses Jahr B(2022).
Hallo Markus,
danke für den Tip mit dem Port 8001.
Fernseher ist online, musste die Bedienung bestätigen am Fernseher. Habe erst die Cannel wahl getest und diese hat funktioniert.
Weiter funktionen möchte ich weiter testen.
Gruß
Josef