Hallo,
ich habe einen Sony KDL-46NX725 und möchte ihn gerne in meine FHEM-Steuerung einbinden.
Leider habe ich bisher weder in Forum, Wiki noch in der FHEM-Doku etwas gefunden, den TV direkt über das LAN anzusprechen.
Es gibt zwar Experimente mit der IR-Steuerung, die Verbindung halte ich aber nciht für so stabil. Außerdem ist dann zusätzliche Hardware notwendig.
Gibt es einen technischen Grund, dass es bisher kein SonyTV-Modul gibt? Immerhin gibt es ja von Sony eine Android (und iOS)-App mit der man über WLAN und LAN die volle Kontrolle hätte. Könnte man auf so einem Protokoll aufsetzen?
Gruß
Stephan
Hallo StephanH,
mann könnte es durchaus implementieren (ähnlich wie samsung über STV) aber man bräuchte die API Befehle??!
für samsung ist die schnittstelle ziemlich gut dokumentiert, aber für sony habe ich nichts gefunden..
Gruß, Gerhard
Ich hab das gefunden
http://www.remotecentral.com/cgi-bin/mboard/rs232-ip/thread.cgi?171,3
und das
https://github.com/mlampard/ruby_cers_remote
wahrscheinlich liesse sich damit ein Sony TV Modul machen. Falls mir mal langweilig ist, versuch ich mal was, kann aber nix garantieren (meine Perl Künste sind sowieso sehr verrostet)
Ich hab zwar kein Modul für FHEM hingekriegt (auch gar nicht versucht), aber mit all den verteilten Informationen auf dem Netz hab ich jetzt mal geschafft, meinen Sony TV über PHP steuern zu können (PHP kann ich einfach besser als Perl ;))
https://github.com/chregu/php-control-sony-tv/
Vielleicht hilft das ja jemanden als Inspiration, das als FHEM Modul umzusetzen.
(Leider hab ich's nicht geschafft, den TV Remote einzuschalten, aber die Fernbedienung kann's sonst schon ersetzen. Und auch HDMI Eingänge kann man direkt auswählen)
Zitat von: chregu am 16 März 2014, 13:23:50
Ich hab zwar kein Modul für FHEM hingekriegt (auch gar nicht versucht), aber mit all den verteilten Informationen auf dem Netz hab ich jetzt mal geschafft, meinen Sony TV über PHP steuern zu können (PHP kann ich einfach besser als Perl ;))
https://github.com/chregu/php-control-sony-tv/
Vielleicht hilft das ja jemanden als Inspiration, das als FHEM Modul umzusetzen.
(Leider hab ich's nicht geschafft, den TV Remote einzuschalten, aber die Fernbedienung kann's sonst schon ersetzen. Und auch HDMI Eingänge kann man direkt auswählen)
Die Informationen haben mir gefehlt, um mich mal etwas näher mit der Materie zu befassen. Danke!
Mit Hilfe der FHEM HttpUtils sollte sich die Kommunikation eigentlich in einem Modul umsetzen lassen.
Das mit dem Einschalten wird in der Tat schwierig, der TV ist im LAN nicht zu finden, wenn er ausgeschaltet ist. Da braucht es noch so etwas wie WOL.
Ist denn die Android-App von Sony kein Ansatzpunkt? Kann man nicht die Kommandos, die die Ferbedienungs-App über's WLAN schickt nicht mitlesen und aus einem Modul heraus schicken?
Schade, dass ich nicht aus der Perl-Welt komme.
Ist das Thema so nicht lösbar.
Woran liegt es, dass es für Samsung- und andere TV-Hersteller gute Module gibt?
Steuerbar ist der Sony TV ja, sonst ginge die Sony Fernbeienungsapp nicht. Kann man diese Kommunikation der App nicht mit Perl nachahmen?
Eigentlich würde ja ein kleines Modul reichen. Also AN/AUS und INPUT. Vielleicht entwickelt sich ja was aus diesem Thread.
Tatsächlich habe ich gestern das Philips-Modul als Vorlage genommen und mal versucht, ob ich meinem Sony etwas entlocken kann. Mein bestes Resultat ist bisher
Your HTTP request was syntactically incorrect.
[emoji15]
Ich bin aber zuversichtlich, dass man da noch was machen kann.
Falls noch nicht gesehen:
http://forum.loxone.com/dede/netzwerk-firewall-and-security/2816-sony-tv-lan-steuern.html (http://forum.loxone.com/dede/netzwerk-firewall-and-security/2816-sony-tv-lan-steuern.html)
Wäre bestimmt ganz cool, wenn es ein Minimodul gibt.
Reicht die Info um einen Sony-TV zu steuern.
Perl ist für leider ein Buch mit 7 Siegeln.
Ich lese nur immer wieder neidisch die Erfolgserlebnisse von Philips- und Samsung-Besitzern beim Einbinden in FHEM.
wenn es dir nur ums steuern geht und du zufällig eine logitech harmony mit hub hast schau dir das harmony modul an.
gruss
andre
Zitat von: StephanH am 29 Oktober 2014, 15:34:05
Reicht die Info um einen Sony-TV zu steuern.
Perl ist für leider ein Buch mit 7 Siegeln.
Ja, die Infos reichen. Ich habe mich mal an einen ersten Versuch gewagt. Grundsätzlich funktioniert das Modul auch mit meine HX755. Es wird interessant, wie sich dann andere Modelle verhalten.
Gib mir noch die Zeit ein mal drüber zu schauen, dann würde ich es zum Testen freigeben.
Beim Thema Perl bin ich aber auch noch nicht so weit... Es wird aber besser...
Darauf warte ich gerne... Danke für die Experimentierfreude :D
Hallo,
gibt es schon Fortschritte - ich bin ebenfalls hoch interessiert & bereit zu testen.
Gruß
Hallo,
nachdem es doch einige Anfragen gab und das Modul bei mir einigermaßen tut was es soll, möchte ich es euch vorstellen. Seid euch bewusst, dass das Modul noch etwas reifen muss und bestimmt noch nicht fehlerfrei ist. Ihr seid aber herzlich eingeladen, zu testen, zu kommentieren und zu unterstützen.
Konfiguration:
- define <name> BRAVIA <ip-or-hostname> [<poll-interval>] <-- default für poll-intervall ist 120 Sekunden
- im Gerät dann SET REGISTER ausführen und auf dem TV bestätigen. Fhem muss nur einmal registriert werden.
Das sollte funktionieren:
- SET: register, statusRequest, off, play, pause, stop, record, mute, volumeUp, volumeDown, channelUp, channelDown, remoteControl
- soweit die Readings nicht den allgemeinen AV Readings entsprechen, sind sie gruppiert: s_ -> Status, si_ -> Systeninfo, ci_ Inhaltsinfo
- Remote layout für remotecontrol mit PNG und SVG (Ich habe aber noch nicht für alle Befehle passende Symbole gefunden.)
TODOs:
- längere Timeouts für Langläufer, z.B. TVPause meldet sich nach Ausführung nicht sofort zurück
- Symbole für die Fernbedienungen vervollständigen
- Readings power, presence, status vernünftig setzten. Im Wiki steht leider nicht, wie man darstellt, dass der TV zwar im LAN sichtbar ist, aber trotzdem nur im Standby ist oder aufnimmt.
- Kanallisten, wenn möglich
- Code aufräumen
- ...
Wenn nix geht, kann man im Gerät das Attribute verbose = 5 setzen und mir das Log schicken.
Gruß Ulf
anbei ein log für einen ex725.
vielleicht bekommst du den auch zum laufen. die unterschiede scheinen aber größer zu sein.
das register funktioniert nicht weil das modul nicht merkt das der fernseher an ist. wenn ich state von hand auf on setze kommt nach einiger zeit eine antwort auf etwas. commandos haben aber keine auswirkung und alle direkten anfragen scheint eine leere nachricht zu kommen. ich vermute das liegt daran das das fairen am anfang fehlt.
die $VAR1 = ... zeilen sind ein Dumper auf $data in BRAVIA_ReceiveCommand.
wenn du magst kann ich mal versuchen das pairing der sony remote app mit zu schneiden.
gruss
andre
Das Log zeigt, dass auf die System-Informationen zugegriffen werden kann. Die anderen Sachen werden wegen der fehlenden Registrierung nicht beantwortet.
Kannst du mal schauen, mit welcher URL er sich wirklich registrieren möchte? Die URL sollte so aussehen:
http://10.0.1.47:80/cers/api/register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote
Eventuell kannst du die Registrierung per Hand machen.
Gruß Ulf
Hallo,
ich habe mir das Problem mit der Registrierung noch mal angeschaut. Ich war fest der Meinung, dass ich es getestet hätte...
Naja, die URL Codierung hat nicht ganz so funktioniert, wie gedacht.
Daher hier eine neue Version des Moduls.
Bitte mal testen!
Gruß Ulf
sehr geil. das schaut viel besser aus.
register funktioniert. mute, volumeUp, volumeDown, channelUp und channelDown.
on/off funktioniert nicht und channel geht nicht. die liste im web ist leer und per telnet bekomme ich einArgument 1 is not a valid integer between 0 and 9999 or servicereference is invalid
manche der kommandos die nicht gehen geben eine fehlermeldung im log:<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org-control-1-0">
<errorCode>800</errorCode>
<errorDescription>Cannot accept the IRCC Code</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
err: data: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org-control-1-0">
<errorCode>800</errorCode>
<errorDescription>Cannot accept the IRCC Code</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
ich vermute es gibt hier noch unterschiede zwischen den modellen.
weisst du ob man von den 'echten' ir codes auf der normalen fernbedienung auf die codes die du sendest schliessen kann ?
gruss
andre
ps: mich ärgert gerade das unser grosser fernseher mindestens zwei generationen zu alt ist. mehr wie ping geht nicht. der kleine gehört meinem sohn...
Zitat von: justme1968 am 12 November 2014, 21:28:19
sehr geil. das schaut viel besser aus.
...
ps: mich ärgert gerade das unser grosser fernseher mindestens zwei generationen zu alt ist. mehr wie ping geht nicht. der kleine gehört meinem sohn...
Tja, frag deinen Sohn, ob er tauscht ;-)
Aber schön zu lesen, dass die Registrierung jetzt geklappt hat. Wegen der Befehle kann ich dir nicht sagen, ob man da was mit IR-Codes anfangen kann. Aber der Sony gibt alle Kommandos preis, die er unterstützt.
Kannst du folgendes GET an den Fernseher senden: http://<your_ip>:80/cers/api/getRemoteCommandList
Zusätzlich muss im Request-Header noch ein Parameter definiert werden: X-CERS-DEVICE-ID = fhem_remote
Mit Tool der Wahl dafür ist Postman, was ein App im Chrome-Browser ist.
Den Rest schau ich mir an. Kanallisten sind ein Problem, da brauche ich noch eine Idee wo man die herbekommt...
Gruß Ulf
Ich bekomm nur ein "Can not load Module BRAVIA". Das Modul hab ich aber unter fhem/FHEM abgelegt.
Zitat von: chris050280 am 13 November 2014, 05:34:12
Ich bekomm nur ein "Can not load Module BRAVIA". Das Modul hab ich aber unter fhem/FHEM abgelegt.
Das heißt doch, dass Fhem das Modul (noch) nicht kennt. Hast du nach dem Ablegen Fhem durchgestartet? Der Befehl 'reload 70_BRAVIA' in Fhem ausgeführt sollte auch funktionieren. Durch diese Aktionen wird das Modul geladen und kann verwendet werden.
Sollte das so nicht funktionieren, müsste es eine entsprechende Meldung im Logfile geben.
Zitat von: chris050280 am 13 November 2014, 05:34:12
Ich bekomm nur ein "Can not load Module BRAVIA". Das Modul hab ich aber unter fhem/FHEM abgelegt.
Evtl. fehlt noch eine Perl Bibliothek, ich musste z.B. erst noch XML::Simple (unter debian Paket libxml-simple-perl) nachinstallieren, bevor FHEM das Modul laden konnte.
Funktioniert jedenfalls prima mit meinem KDL-40HX759 - nach manueller Registrierung, die neue Version konnte ich noch nicht testen.
Grüße,
Andy.
Hallo Ulf,
folgende Beobachtungen mit der zweiten Modul Version an meinem KDL-40HX759:
- Registrierung per set bravia register funktioniert
- "mute" kann ich von FHEM aus schalten, der aktuelle Zustand wird aber nicht ausgelesen (Wert des Readings bleibt "-", auch nach Schalten über FB)
- Ein set bravia channel 001 wird quittiert mit der Meldung "Argument 001 is not a valid integer between 0 and 9999 or servicereference is invalid" - ebenso, wenn ich 001 durch 1 oder eine beliebige andere Zahl ersetze.
- curl -H "X-CERS-DEVICE-ID: fhem_remote" http://bravia:80/cers/api/getRemoteCommandList liefert eine längliche Liste mit Kommandos, wie lassen sich diese nutzen? Hilft Dir die Liste weiter?
- Das Modul soll auf einer kleineren FHEM Instanz laufen und den TV-Status engmaschig genug überwachen, um z.B. den AVR zeitnah automatisch zuschalten oder vom Netz trennen zu können. Deshalb habe ich versuchshalber als update-Intervall 1 Sekunde gewählt und sehe nach dem Ausschalten folgendes Verhalten (siehe Log unten):
Nach dem Ausschalten um 13:27:29 ist der TV noch für 5 Minuten pingbar bis 13:32:40 der Zustand "absent" erreicht wird. Von da an wechselt das "power" Reading im Sekundentakt zwischen on und off, bis nach 1-2½ Minuten dann Ruhe herrscht. Kannst Du das reproduzieren?
Wenn es für das Auslesen der Kanäle keine Funktion gibt, wäre es dann nicht denkbar, automatisch durch die Kanäle zu schalten und das Reading
ci_serviceName auszuwerten? Ist zwar umständlich und langwierig, müsste aber nur nach Änderungen in der Kanalliste des TV wiederholt werden. Alternativ kann man beim Bravia eine Kanalliste als XML-Datei auf einen angeschlossenen USB-Stick exportieren (zur Bearbeitung der Kanalreihenfolge in einer Windows-Software, die fast so schwerfällig zu bedienen ist wie der Editor im TV selbst). Vielleicht lässt diese sich ja für das Modul nutzen.
Beste Grüße,
Andy.
2014-11-13_13:27:29 bravia s_source: Others
2014-11-13_13:27:29 bravia channel: -
2014-11-13_13:27:29 bravia input: -
2014-11-13_13:27:29 bravia currentTitle: -
2014-11-13_13:27:29 bravia currentMedia: -
2014-11-13_13:27:29 bravia ci_originalNetworkId: -
2014-11-13_13:27:29 bravia ci_serviceId: -
2014-11-13_13:27:29 bravia ci_serviceName: -
2014-11-13_13:27:29 bravia ci_duration: -
2014-11-13_13:27:29 bravia ci_startTime: -
2014-11-13_13:27:29 bravia ci_transportStreamId: -
2014-11-13_13:32:40 bravia presence: absent
2014-11-13_13:32:40 bravia power: off
2014-11-13_13:32:40 bravia absent
2014-11-13_13:32:40 bravia power: on
2014-11-13_13:32:40 bravia on
2014-11-13_13:32:41 bravia power: off
2014-11-13_13:32:41 bravia absent
2014-11-13_13:32:41 bravia power: on
2014-11-13_13:32:41 bravia on
2014-11-13_13:33:36 bravia power: on
2014-11-13_13:33:36 bravia on
2014-11-13_13:33:37 bravia power: off
2014-11-13_13:33:37 bravia absent
2014-11-13_13:33:40 bravia power: on
2014-11-13_13:33:40 bravia on
2014-11-13_13:33:41 bravia power: off
2014-11-13_13:33:41 bravia absent
anbei die commandlist für einen ex725
<?xml version="1.0"?>
<remoteCommandList>
<command name="Confirm" type="ircc" value="AAAAAQAAAAEAAABlAw==" />
<command name="Up" type="ircc" value="AAAAAQAAAAEAAAB0Aw==" />
<command name="Down" type="ircc" value="AAAAAQAAAAEAAAB1Aw==" />
<command name="Right" type="ircc" value="AAAAAQAAAAEAAAAzAw==" />
<command name="Left" type="ircc" value="AAAAAQAAAAEAAAA0Aw==" />
<command name="Home" type="ircc" value="AAAAAQAAAAEAAABgAw==" />
<command name="Options" type="ircc" value="AAAAAgAAAJcAAAA2Aw==" />
<command name="Return" type="ircc" value="AAAAAgAAAJcAAAAjAw==" />
<command name="Num1" type="ircc" value="AAAAAQAAAAEAAAAAAw==" />
<command name="Num2" type="ircc" value="AAAAAQAAAAEAAAABAw==" />
<command name="Num3" type="ircc" value="AAAAAQAAAAEAAAACAw==" />
<command name="Num4" type="ircc" value="AAAAAQAAAAEAAAADAw==" />
<command name="Num5" type="ircc" value="AAAAAQAAAAEAAAAEAw==" />
<command name="Num6" type="ircc" value="AAAAAQAAAAEAAAAFAw==" />
<command name="Num7" type="ircc" value="AAAAAQAAAAEAAAAGAw==" />
<command name="Num8" type="ircc" value="AAAAAQAAAAEAAAAHAw==" />
<command name="Num9" type="ircc" value="AAAAAQAAAAEAAAAIAw==" />
<command name="Num0" type="ircc" value="AAAAAQAAAAEAAAAJAw==" />
<command name="Num11" type="ircc" value="AAAAAQAAAAEAAAAKAw==" />
<command name="Num12" type="ircc" value="AAAAAQAAAAEAAAALAw==" />
<command name="Power" type="ircc" value="AAAAAQAAAAEAAAAVAw==" />
<command name="Display" type="ircc" value="AAAAAQAAAAEAAAA6Aw==" />
<command name="VolumeUp" type="ircc" value="AAAAAQAAAAEAAAASAw==" />
<command name="VolumeDown" type="ircc" value="AAAAAQAAAAEAAAATAw==" />
<command name="Mute" type="ircc" value="AAAAAQAAAAEAAAAUAw==" />
<command name="Audio" type="ircc" value="AAAAAQAAAAEAAAAXAw==" />
<command name="SubTitle" type="ircc" value="AAAAAgAAAJcAAAAoAw==" />
<command name="Yellow" type="ircc" value="AAAAAgAAAJcAAAAnAw==" />
<command name="Blue" type="ircc" value="AAAAAgAAAJcAAAAkAw==" />
<command name="Red" type="ircc" value="AAAAAgAAAJcAAAAlAw==" />
<command name="Green" type="ircc" value="AAAAAgAAAJcAAAAmAw==" />
<command name="Play" type="ircc" value="AAAAAgAAAJcAAAAaAw==" />
<command name="Stop" type="ircc" value="AAAAAgAAAJcAAAAYAw==" />
<command name="Pause" type="ircc" value="AAAAAgAAAJcAAAAZAw==" />
<command name="Rewind" type="ircc" value="AAAAAgAAAJcAAAAbAw==" />
<command name="Forward" type="ircc" value="AAAAAgAAAJcAAAAcAw==" />
<command name="Prev" type="ircc" value="AAAAAgAAAJcAAAA8Aw==" />
<command name="Next" type="ircc" value="AAAAAgAAAJcAAAA9Aw==" />
<command name="Replay" type="ircc" value="AAAAAgAAAJcAAAB5Aw==" />
<command name="Advance" type="ircc" value="AAAAAgAAAJcAAAB4Aw==" />
<command name="TopMenu" type="ircc" value="AAAAAgAAABoAAABgAw==" />
<command name="PopUpMenu" type="ircc" value="AAAAAgAAABoAAABhAw==" />
<command name="Eject" type="ircc" value="AAAAAgAAAJcAAABIAw==" />
<command name="Rec" type="ircc" value="AAAAAgAAAJcAAAAgAw==" />
<command name="SyncMenu" type="ircc" value="AAAAAgAAABoAAABYAw==" />
<command name="ClosedCaption" type="ircc" value="AAAAAgAAAKQAAAAQAw==" />
<command name="Teletext" type="ircc" value="AAAAAQAAAAEAAAA/Aw==" />
<command name="ChannelUp" type="ircc" value="AAAAAQAAAAEAAAAQAw==" />
<command name="ChannelDown" type="ircc" value="AAAAAQAAAAEAAAARAw==" />
<command name="Input" type="ircc" value="AAAAAQAAAAEAAAAlAw==" />
<command name="GGuide" type="ircc" value="AAAAAQAAAAEAAAAOAw==" />
<command name="EPG" type="ircc" value="AAAAAgAAAKQAAABbAw==" />
<command name="DOT" type="ircc" value="AAAAAgAAAJcAAAAdAw==" />
<command name="Analog" type="ircc" value="AAAAAgAAAHcAAAANAw==" />
<command name="Exit" type="ircc" value="AAAAAQAAAAEAAABjAw==" />
<command name="Digital" type="ircc" value="AAAAAgAAAJcAAAAyAw==" />
<command name="BS" type="ircc" value="AAAAAgAAAJcAAAAsAw==" />
<command name="CS" type="ircc" value="AAAAAgAAAJcAAAArAw==" />
<command name="BSCS" type="ircc" value="AAAAAgAAAJcAAAAQAw==" />
<command name="Ddata" type="ircc" value="AAAAAgAAAJcAAAAVAw==" />
<command name="InternetWidgets" type="ircc" value="AAAAAgAAABoAAAB6Aw==" />
<command name="InternetVideo" type="ircc" value="AAAAAgAAABoAAAB5Aw==" />
<command name="SceneSelect" type="ircc" value="AAAAAgAAABoAAAB4Aw==" />
<command name="Mode3D" type="ircc" value="AAAAAgAAAHcAAABNAw==" />
<command name="iManual" type="ircc" value="AAAAAgAAABoAAAB7Aw==" />
<command name="Wide" type="ircc" value="AAAAAgAAAKQAAAA9Aw==" />
<command name="Jump" type="ircc" value="AAAAAQAAAAEAAAA7Aw==" />
<command name="PAP" type="ircc" value="AAAAAgAAAKQAAAB3Aw==" />
<command name="MyEPG" type="ircc" value="AAAAAgAAAHcAAABrAw==" />
<command name="ProgramDescription" type="ircc" value="AAAAAgAAAJcAAAAWAw==" />
<command name="WriteChapter" type="ircc" value="AAAAAgAAAHcAAABsAw==" />
<command name="TrackID" type="ircc" value="AAAAAgAAABoAAAB+Aw==" />
<command name="TenKey" type="ircc" value="AAAAAgAAAJcAAAAMAw==" />
<command name="AppliCast" type="ircc" value="AAAAAgAAABoAAABvAw==" />
<command name="acTVila" type="ircc" value="AAAAAgAAABoAAAByAw==" />
<command name="DeleteVideo" type="ircc" value="AAAAAgAAAHcAAAAfAw==" />
<command name="EasyStartUp" type="ircc" value="AAAAAgAAAHcAAABqAw==" />
<command name="OneTouchTimeRec" type="ircc" value="AAAAAgAAABoAAABkAw==" />
<command name="OneTouchView" type="ircc" value="AAAAAgAAABoAAABlAw==" />
<command name="OneTouchRec" type="ircc" value="AAAAAgAAABoAAABiAw==" />
<command name="OneTouchRecStop" type="ircc" value="AAAAAgAAABoAAABjAw==" />
<command name="MuteOn" type="url" value="http://10.0.1.47:80/cers/command/MuteOn" />
<command name="MuteOff" type="url" value="http://10.0.1.47:80/cers/command/MuteOff" />
</remoteCommandList>
auf den ersten blick schaut die ziemlich ähnlich aus wie die aus dem modul.
wäre es eventuell sinnvoll die liste trotzdem aus dem gerät auszulesen und nicht fest einzubauen?
gruss
andre
@gandi, @justme1968: Danke für die Unterstützung.
Ich schau mir die Sachen an. Es gibt halt noch einige Baustellen im Modul.
Bei der Kanaliste hatte ich schon überlegt, ob man die dynamisch aufbauen könnte. Per Xml bei der Gerätedefinition ist auch keine schlechte Idee.
Die Kommandos muss ich mal diffen
Mit einem KDL scheint es nicht zu funktionieren... :(
Ein SET REGISTER erzeugt folgende Ausgabe: Device needs to be ON to register remote control.
Im Log steht dann auch folgendes:
2014.11.13 18:09:12 4: BRAVIA wz_fernseher_bravia: REQ getStatus
2014.11.13 18:09:12 5: BRAVIA wz_fernseher_bravia: GET http://192.168.11.33:80/cers/api/getStatus
2014.11.13 18:09:12 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 404 Not Found
Server: nginx
Date: Thu, 13 Nov 2014 17:09:10 GMT
Content-Type: text/html
Content-Length: 162
Connection: close
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
err: data: <html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
2014.11.13 18:09:12 4: BRAVIA wz_fernseher_bravia: RCV getStatus
2014.11.13 18:09:12 5: BRAVIA wz_fernseher_bravia: RES ERROR getStatus
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
Scheint als würde mein Fernseher auf der Adresse nicht lauschen...
die kdl sind genau die die zu alt sind. presence mit ping geht. mehr aber nicht.
die beiden sony apps funktionieren mit denen auch nicht.
gruss
andre
Hmm...der ist von 2014?!
Wenn ich als Adresse 192.168.11.33/sony/IRCC angebe, kommen schon mehr Infos im Modul. Er erkennt zumindest power & state = on
Das Log sagt:
2014.11.13 18:26:10 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:11 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:12 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:12 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Get()
2014.11.13 18:26:13 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:40 2: BRAVIA set wz_fernseher_bravia register
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_SendCommand()
2014.11.13 18:26:40 4: BRAVIA wz_fernseher_bravia: REQ register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: GET http://192.168.11.33/sony/IRCC:80/cers/api/register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 404 Not Found
Content-Length: 72
Connection: close
Date: Thu, 13 Nov 2014 17:26:38 GMT
<html><head><title>not found</title></head><body>not found</body></html> err: data: <html><head><title>not found</title></head><body>not found</body></html>
2014.11.13 18:26:40 4: BRAVIA wz_fernseher_bravia: RCV register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote
2014.11.13 18:26:40 4: BRAVIA wz_fernseher_bravia: RES register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote - not found
2014.11.13 18:26:40 2: BRAVIA wz_fernseher_bravia: ERROR: method to handle response of register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote not implemented
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
2014.11.13 18:26:40 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Get()
2014.11.13 18:26:41 5: BRAVIA wz_fernseher_bravia: called function BRAVIA_Set()
Per Sony App funktioniert die Steuerung (Android)
dann ist kdl bei dir nur der erste teil der generllen modell bezeichung. kdl-XXYYZZZ. die HX, NX, EX usw. mit denen es geht bezieht sich auf die YY position.
sorry für das durcheinander.
gruss
andre
Zitat von: justme1968 am 13 November 2014, 17:50:25
anbei die commandlist für einen ex725
...
auf den ersten blick schaut die ziemlich ähnlich aus wie die aus dem modul.
wäre es eventuell sinnvoll die liste trotzdem aus dem gerät auszulesen und nicht fest einzubauen?
Es sind nur neue Befehle dazu gekommen, die man nicht verwenden muss bzw. entsprechend steuern kann. Z.B. gibt es bei dir kein TVPause um Timeshift zu machen, Pech. Ich muss mal schauen, wo bei den allgemeinen Funktionen auf (zu) neue Codes gesetzt haben.
Zitat von: andy19850 am 13 November 2014, 18:27:38
Hmm...der ist von 2014?!
Kannst du mal im Browser prüfen, ob einer der Links ein vernünftiges Ergebnis liefert?
http://192.168.11.33:80/cers/api/getSystemInformation
http://192.168.11.33:50002/actionList
http://192.168.11.33:50002/getSystemInformation
Zitat von: gandy am 13 November 2014, 10:51:39
Evtl. fehlt noch eine Perl Bibliothek, ich musste z.B. erst noch XML::Simple (unter debian Paket libxml-simple-perl) nachinstallieren, bevor FHEM das Modul laden konnte.
Funktioniert jedenfalls prima mit meinem KDL-40HX759 - nach manueller Registrierung, die neue Version konnte ich noch nicht testen.
Grüße,
Andy.
ne, ist installiert. Folgende Meldung kommt beim reload:
Attempt to reload Color.pm aborted.
Compilation failed in require at ./FHEM/70_BRAVIA.pm line 42.
BEGIN failed--compilation aborted at ./FHEM/70_BRAVIA.pm line 42.
LG Christian
Zitat von: chris050280 am 13 November 2014, 22:43:23
ne, ist installiert. Folgende Meldung kommt beim reload:
Attempt to reload Color.pm aborted.
Compilation failed in require at ./FHEM/70_BRAVIA.pm line 42.
BEGIN failed--compilation aborted at ./FHEM/70_BRAVIA.pm line 42.
LG Christian
Color.pm gehört eigentlich zu Fhem und sollte auch geladen werden können: http://www.fhemwiki.de/wiki/Color
Aber es wird momentan gar nicht verwendet, ich werde die Benutzung in der nächsten Version entfernen.
Als schnellen Fix kann man einfach Zeile 42 im Modul auskommentieren.
Gruß Ulf
Zitat von: vuffiraa am 13 November 2014, 22:16:45
Kannst du mal im Browser prüfen, ob einer der Links ein vernünftiges Ergebnis liefert?
http://192.168.11.33:80/cers/api/getSystemInformation 404 Not found nginx
http://192.168.11.33:50002/actionList Webpage not available
http://192.168.11.33:50002/getSystemInformation Webpage not available
Fernseher ist ein Sony BRAVIA KDL-50W805
Zitat von: andy19850 am 14 November 2014, 18:47:12
Fernseher ist ein Sony BRAVIA KDL-50W805
Das sieht dann so aus, dass dein TV auf Port 80 hört.
Eine Url hätte ich noch
http://<ip>/sony/system
Wenn da dann aber kein Xml sondern Json zurückkommt, ist das eine neue Baustelle. Den KDL-50W805 müsstest du mir dann mal für, sagen wir 6 Monate, leihen ;-) Nee, im Ernst, da muss ich mich erst mal belesen, was da möglich ist.
Gruß Ulf
Zitat von: vuffiraa am 14 November 2014, 19:02:01
Das sieht dann so aus, dass dein TV auf Port 80 hört.
Eine Url hätte ich noch
http://<ip>/sony/system
Wenn da dann aber kein Xml sondern Json zurückkommt, ist das eine neue Baustelle. Den KDL-50W805 müsstest du mir dann mal für, sagen wir 6 Monate, leihen ;-) Nee, im Ernst, da muss ich mich erst mal belesen, was da möglich ist.
Gruß Ulf
Da bekomme ich ein: {"error":[501,"Not Implemented"]}
Leihen wäre so eine Sache... :D
Da mir ein einfaches Poweroff erstmal reichen würde, habe ich es bereits per Postman versucht über die SOAP Api.
Beim senden dieses Befehls
"""<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1">
<IRCCCode>AAAAAQAAAAEAAABgAw==</IRCCCode>
</u:X_SendIRCC>
</s:Body>
</s:Envelope>"""
kommt folgende Meldung:
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError
xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>606</errorCode>
<errorDescription>Action not authorized</errorDescription>
</UPnPError>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Die Aktion erlaubt er also so nicht. Die Frage ist, wie ich ihm sagen kann, dass er das erlaubt. Etwas ähnliches wurde hier gemacht: http://blog.rieder.io/blog/2014/02/04/bravia-scripting/
Das scheint zu funktionieren, nur bei mir nicht...
Eine Idee? Ich komme da irgendwie seit Tagen nicht weiter :(
Hallo andy19850,
Da bin ich leider auch recht ratlos. Nach den Infos aus dem Netz sollte das reine Ausführen von IRCCCodes unabhängig von einer Registrierung funktionieren. Offensichtlich ist das bei deinem Gerät nicht so.
Falls du mit Hilfe von Postman herausbekommen würdest, wie man bei dir eine neue Fernbedienung registriert, könnte ich das auch einbauen.
Gruß Ulf
Hallo zusammen,
ich verfolge das Thema seit gestern und habe mir heute das 70_BRAVIA.pm Modul installiert.
Funktioniert schon mal besser als gedacht. :P
Mein Fernseher: KDL-55NX725
Was funktioniert: volumeUp, volumeDown, channelUp, channelDown, HOME, TRACKID, EXIT, SOURCE
Was nicht funktioniert: On, Off
mute funktioniert nur bedingt mit set TVNAME mute on
wird der Fernseher auf Stumm geschaltet. Allerdings wird der Ton genau mit dem selben Befehl wieder eingeschaltet. Quasi wie der toggle Befehl.
Ich werde meine Liste noch weiter ergänzen was funktioniert und was nicht.
Da ich bei den Codes wohl eher nicht helfen kann, würde ich gerne beim testen helfen.
Das BRAVIA Modul ist schon längst überfällig. ;)
Gruß Alex
Hallo in die Runde,
hier das Ergebnis des Wochenendes.
Folgendes habe ich ergänzt:
- die Kanalliste wird dynamisch mit den bekannten Sendern aufgebaut
- On/Off benutzt eine PowerToggle-Befehl, oder PowerOff falls unterstützt (Reading 'generation' = 1.1)
- Mute sollte genau On, Off oder Toggle machen
- Readings umsortiert
- Readings werden nur neu geschrieben, wenn sich der Wert geändert hat
- Intervall für Statusupdate alle 45 Sekunden per default
Bitte testen!
Gruß Ulf
ich habe immer noch das problem das das modul denkt der fernseher ist aus und keine kommandos sendet. er ist aber an und wenn ich mit setreading state auf on setzte kann ich auch ein paar kommandos senden aber nach einer weile oder bei einem statusRequest von hand geht der state wieder auf off.
ich vermute deshalb wird auch keine kanal liste geholt.
gruss
andre
Zitat von: justme1968 am 18 November 2014, 10:16:04
ich habe immer noch das problem das das modul denkt der fernseher ist aus und keine kommandos sendet. er ist aber an und wenn ich mit setreading state auf on setzte kann ich auch ein paar kommandos senden aber nach einer weile oder bei einem statusRequest von hand geht der state wieder auf off.
ich vermute deshalb wird auch keine kanal liste geholt.
gruss
andre
Kannst du noch mal ein Log mit der letzten Version des Moduls aufnehmen? Im Gerät wieder verbose = 5 setzen.
Die Registrierung hatte aber geklappt oder?
Gruß Ulf
Hallo,
die mute Funktion funktioniert leider so eingeschränkt wie vorher auch.
Mit mute "on" wird Lautlos geschaltet, allerdings auch wieder der Ton eingeschaltet. Vermutlich ist der mute Befehl nur als toggle möglich. :-\
Fernseher "ein" oder "aus" schalten geht auch noch nicht.
siehe noch Anhang.
Gruß Alex
Bei mir funktioniert Mute zuverlässig. Daher bitte ich euch ein Log zu erstellen, das den entsprechenden Versuch aufzeichnet. Bitte mit allen Details (verbose = 5).
Hier noch eine neue Version mit einigen kleinen Korrekturen in den Readings.
Gruß
Ulf
Hallo,
mit der letzten Version wird der Fernseher nicht mehr erkannt.
STATE ist absent.
IP-Adresse ist korrekt.
Gruß Alex
Zitat von: dogexan am 19 November 2014, 17:18:06
Hallo,
mit der letzten Version wird der Fernseher nicht mehr erkannt.
STATE ist absent.
IP-Adresse ist korrekt.
Gruß Alex
Ich vermute, dass Fhem nicht als Fernbedienung am TV registriert ist. Der Befehl wäre: set SonyTV Register
Ansonsten ist ein Ausschnitt aus dem Logfile immer hilfreich. Dabei das Loglevel erhöhen mit: attr SonyTV verbose 5
Gruß Ulf
Hi,
hab ich schon ausprobiert:
Zitat
Ich vermute, dass Fhem nicht als Fernbedienung am TV registriert ist. Der Befehl wäre: set SonyTV Register
Folgende Meldung kommt zurück:
Device needs to be ON to register remote control.
Hab jetzt verbose auf 5 gesetzt.
Edit: Auszug Logfile:
2014.11.19 19:14:58 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2014.11.19 19:14:58 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.19 19:14:58 4: BRAVIA SonyTV: REQ getStatus
2014.11.19 19:14:58 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cers/api/getStatus
2014.11.19 19:14:58 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 403 Forbidden
Content-Length: 0
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Wed, 19 Nov 2014 18:14:58 GMT
err: data:
2014.11.19 19:15:05 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:05 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:06 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:06 5: BRAVIA SonyTV: called function BRAVIA_Get()
2014.11.19 19:15:06 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:11 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:11 2: BRAVIA set SonyTV register
2014.11.19 19:15:12 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.19 19:15:12 5: BRAVIA SonyTV: called function BRAVIA_Set()
err: data:
2014.11.19 19:17:13 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2014.11.19 19:17:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.19 19:17:13 4: BRAVIA SonyTV: REQ getStatus
2014.11.19 19:17:13 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cers/api/getStatus
2014.11.19 19:17:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 403 Forbidden
Content-Length: 0
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Wed, 19 Nov 2014 18:17:13 GMT
err: data:
Gruß Alex
Das ist ja ein sehr schönes Henne-Ei-Problem. Ich habe es so geändert, das die Registrierung immer ausgeführt werden kann.
Viele Grüße,
Ulf
Ja jetzt geht´s wieder.
Danke
Gruß Alex
Gut, aber wie sieht es jetzt bei dir mit dem Mute aus?
Ulf
Nach wie vor unverändert.
Ich vermute dass bei meinem Fernseher der mute Befehl ein toggle Befehl ist.
Auch ein- oder ausschalten geht nicht.
Noch eine Idee zur Verbesserung:
Im Anhang ein Screenshot von der Benutzeroberfläche.
Das Dropdown Menü von mute ist nicht ganz optimal. Denn man kann den Befehl set SonyTV mute on
nicht absetzen.
Der "off" und der "toogle" Befehl aus dem Dropdown Menü funktionieren. Danach springt das Dropdown Menü direkt wieder auf "on".
Das ist aber leider nicht das Problem, warum mute on/off an sich bei mir nicht funktioniert.
Edit: Unter den Readings wird der Status von mute nicht erkannt. Wird nur ein "-" angezeigt.
Gruß Alex
Hallo Alex,
kannst du im Log mal nachschauen, was wirklich für die einzelnen Mutes ausgeführt wird. Eigentlich wir immer ein spezieller Befehl gesendet:
Mute On -> http://<ip>:80/cers/command/MuteOn
Mute Off -> http://<ip>:80/cers/command/MuteOff
Mute Toggle -> IRCC AAAAAQAAAAEAAAAUAw==
Die Urls sollten so auch direkt im Browser gehen.
Das Problem mit dem 'on' im Dropdown ist mir auch schon aufgefallen. Daher ist es im aktuellen Modul auch wieder aus der Definition verschwunden. Beim Neuladen des Moduls wird aber die Definition deines Gerätes nicht mehr geändert, deshalb siehst du es.
Das selbe trifft auch auf das Reading 'mute' zu. Ich habe (momentan) keine Möglichkeit den Mute-Zustand direkt im TV abzufragen, daher habe ich es entfernt.
Gruß Ulf
Hallo,
erstmal hier der Log:
2014.11.21 17:59:29 2: BRAVIA set SonyTV mute on
2014.11.21 17:59:29 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.21 17:59:29 4: BRAVIA SonyTV: REQ input/key/MuteOn
2014.11.21 17:59:29 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cers/command/MuteOn
2014.11.21 17:59:29 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:29 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:29 5: BRAVIA SonyTV: called function BRAVIA_Get()
2014.11.21 17:59:29 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 0
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Fri, 21 Nov 2014 16:59:30 GMT
err: data:
2014.11.21 17:59:30 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.21 17:59:35 4: BRAVIA SonyTV: REQ getStatus
2014.11.21 17:59:35 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cers/api/getStatus
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 146
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Fri, 21 Nov 2014 16:59:36 GMT
<?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2014.11.21 17:59:35 4: BRAVIA SonyTV: RCV getStatus
2014.11.21 17:59:35 4: BRAVIA SonyTV: RES getStatus - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.21 17:59:35 4: BRAVIA SonyTV: REQ getContentInformation
2014.11.21 17:59:35 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cersEx/api/getContentInformation
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 404 Not Found
Content-Length: 72
Date: Fri, 21 Nov 2014 16:59:36 GMT
<html><head><title>not found</title></head><body>not found</body></html> err: data: <html><head><title>not found</title></head><body>not found</body></html>
2014.11.21 17:59:35 4: BRAVIA SonyTV: RCV getContentInformation
2014.11.21 17:59:35 4: BRAVIA SonyTV: RES getContentInformation - not found
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:35 2: BRAVIA set SonyTV mute off
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.21 17:59:35 4: BRAVIA SonyTV: REQ input/key/MuteOff
2014.11.21 17:59:35 5: BRAVIA SonyTV: GET http://192.168.1.43:80/cers/command/MuteOff
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_Get()
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 0
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Fri, 21 Nov 2014 16:59:36 GMT
err: data:
2014.11.21 17:59:35 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:40 2: BRAVIA set SonyTV mute toggle
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2014.11.21 17:59:40 4: BRAVIA SonyTV: REQ input/key/AAAAAQAAAAEAAAAUAw==
2014.11.21 17:59:40 5: BRAVIA SonyTV: POST http://192.168.1.43:80/IRCC (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>AAAAAQAAAAEAAAAUAw==</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>)
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_Set()
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_Get()
2014.11.21 17:59:40 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 370
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Fri, 21 Nov 2014 16:59:41 GMT
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
err: data: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
2014.11.21 17:59:40 4: BRAVIA SonyTV: RCV input/key/AAAAAQAAAAEAAAAUAw==
2014.11.21 17:59:40 4: BRAVIA SonyTV: RES input/key/AAAAAQAAAAEAAAAUAw== - response
2014.11.21 17:59:41 5: BRAVIA SonyTV: called function BRAVIA_Set()
Abgesendete Befehle:
1. mute on (funktioniert auch über den Browser)
2. mute off (der nicht funktioniert) auch nicht über den Browser (http://<ip>:80/cers/command/MuteOff)
3. mute toggle
Gruß Alex
Hallo Alex,
ok, dann müssen wir mal genauer nachschauen.
Kannst du mal folgende Links aufrufen und die Ergebnisse hier einstellen?
- http://192.168.1.43:80/cers/ActionList.xml
- http://192.168.1.43:80/cers/api/getSystemInformation
- http://192.168.1.43:80/cers/api/getRemoteCommandList <--- hier muss im Header ein Parameter eingetragen werden (X-CERS-DEVICE-ID = fhem_remote)
Gruß
Ulf
Guten Morgen,
der 1. Link ergibt folgendes:
<?xml version="1.0"?>
-<actionList>
<action url="http://192.168.1.43:80/cers/api/register" mode="2" name="register"/>
<action url="http://192.168.1.43:80/cers/api/getText" name="getText"/>
<action url="http://192.168.1.43:80/cers/api/sendText" name="sendText"/>
<action url="http://192.168.1.43:80/cers/api/getSystemInformation" name="getSystemInformation"/>
<action url="http://192.168.1.43:80/cers/api/getRemoteCommandList" name="getRemoteCommandList"/>
<action url="http://192.168.1.43:80/cers/api/getStatus" name="getStatus"/>
<action url="http://192.168.1.43:80/BgmSearch/search" name="BgmSearch::search"/>
</actionList>
der 2. Link:
<?xml version="1.0"?>
-<systemInformation>
<name>BRAVIA</name>
<generation>1.0</generation>
<area>DEU</area>
<actionHeader name="CERS-DEVICE-ID"/>
-<supportSource>
<source>Net</source>
</supportSource>
-<supportContentsClass>
<class>video</class>
<class>music</class>
<class>photo</class>
</supportContentsClass>
</systemInformation>
der 3. Link:
Wie kann ich im Header den Eintrag ändern?
Gruß Alex
Hallo Alex,
Den Header könntest du beim Aufrufen der URL per Befehl curl angeben können: curl -H "X-CERS-DEVICE-ID: fhem_remote" http://192.168.1.43:80/cers/api/getRemoteCommandList
Ansonsten gibt es z.B. die Chrome-App Postman oder Modify-Headers als Firefox-Plugin mit denen du Webanfragen konfigurieren kannst. Falls das nicht funktioniert, muss ich mal sehen, wie ich diesen Aufruf im Modul unterbringe.
Gruß
Ulf
Hi,
Danke für de Tipp.
Hier das Ergebnis:
<remoteCommandList><command name="Confirm" type="ircc" value="AAAAAQAAAAEAAABlAw=="/><command name="Up" type="ircc" value="AAAAAQAAAAEAAAB0Aw=="/><command name="Down" type="ircc" value="AAAAAQAAAAEAAAB1Aw=="/><command name="Right" type="ircc" value="AAAAAQAAAAEAAAAzAw=="/><command name="Left" type="ircc" value="AAAAAQAAAAEAAAA0Aw=="/><command name="Home" type="ircc" value="AAAAAQAAAAEAAABgAw=="/><command name="Options" type="ircc" value="AAAAAgAAAJcAAAA2Aw=="/><command name="Return" type="ircc" value="AAAAAgAAAJcAAAAjAw=="/><command name="Num1" type="ircc" value="AAAAAQAAAAEAAAAAAw=="/><command name="Num2" type="ircc" value="AAAAAQAAAAEAAAABAw=="/><command name="Num3" type="ircc" value="AAAAAQAAAAEAAAACAw=="/><command name="Num4" type="ircc" value="AAAAAQAAAAEAAAADAw=="/><command name="Num5" type="ircc" value="AAAAAQAAAAEAAAAEAw=="/><command name="Num6" type="ircc" value="AAAAAQAAAAEAAAAFAw=="/><command name="Num7" type="ircc" value="AAAAAQAAAAEAAAAGAw=="/><command name="Num8" type="ircc" value="AAAAAQAAAAEAAAAHAw=="/><command name="Num9" type="ircc" value="AAAAAQAAAAEAAAAIAw=="/><command name="Num0" type="ircc" value="AAAAAQAAAAEAAAAJAw=="/><command name="Num11" type="ircc" value="AAAAAQAAAAEAAAAKAw=="/><command name="Num12" type="ircc" value="AAAAAQAAAAEAAAALAw=="/><command name="Power" type="ircc" value="AAAAAQAAAAEAAAAVAw=="/><command name="Display" type="ircc" value="AAAAAQAAAAEAAAA6Aw=="/><command name="VolumeUp" type="ircc" value="AAAAAQAAAAEAAAASAw=="/><command name="VolumeDown" type="ircc" value="AAAAAQAAAAEAAAATAw=="/><command name="Mute" type="ircc" value="AAAAAQAAAAEAAAAUAw=="/><command name="Audio" type="ircc" value="AAAAAQAAAAEAAAAXAw=="/><command name="SubTitle" type="ircc" value="AAAAAgAAAJcAAAAoAw=="/><command name="Yellow" type="ircc" value="AAAAAgAAAJcAAAAnAw=="/><command name="Blue" type="ircc" value="AAAAAgAAAJcAAAAkAw=="/><command name="Red" type="ircc" value="AAAAAgAAAJcAAAAlAw=="/><command name="Green" type="ircc" value="AAAAAgAAAJcAAAAmAw=="/><command name="Play" type="ircc" value="AAAAAgAAAJcAAAAaAw=="/><command name="Stop" type="ircc" value="AAAAAgAAAJcAAAAYAw=="/><command name="Pause" type="ircc" value="AAAAAgAAAJcAAAAZAw=="/><command name="Rewind" type="ircc" value="AAAAAgAAAJcAAAAbAw=="/><command name="Forward" type="ircc" value="AAAAAgAAAJcAAAAcAw=="/><command name="Prev" type="ircc" value="AAAAAgAAAJcAAAA8Aw=="/><command name="Next" type="ircc" value="AAAAAgAAAJcAAAA9Aw=="/><command name="Replay" type="ircc" value="AAAAAgAAAJcAAAB5Aw=="/><command name="Advance" type="ircc" value="AAAAAgAAAJcAAAB4Aw=="/><command name="TopMenu" type="ircc" value="AAAAAgAAABoAAABgAw=="/><command name="PopUpMenu" type="ircc" value="AAAAAgAAABoAAABhAw=="/><command name="Eject" type="ircc" value="AAAAAgAAAJcAAABIAw=="/><command name="Rec" type="ircc" value="AAAAAgAAAJcAAAAgAw=="/><command name="SyncMenu" type="ircc" value="AAAAAgAAABoAAABYAw=="/><command name="ClosedCaption" type="ircc" value="AAAAAgAAAKQAAAAQAw=="/><command name="Teletext" type="ircc" value="AAAAAQAAAAEAAAA/Aw=="/><command name="ChannelUp" type="ircc" value="AAAAAQAAAAEAAAAQAw=="/><command name="ChannelDown" type="ircc" value="AAAAAQAAAAEAAAARAw=="/><command name="Input" type="ircc" value="AAAAAQAAAAEAAAAlAw=="/><command name="GGuide" type="ircc" value="AAAAAQAAAAEAAAAOAw=="/><command name="EPG" type="ircc" value="AAAAAgAAAKQAAABbAw=="/><command name="DOT" type="ircc" value="AAAAAgAAAJcAAAAdAw=="/><command name="Analog" type="ircc" value="AAAAAgAAAHcAAAANAw=="/><command name="Exit" type="ircc" value="AAAAAQAAAAEAAABjAw=="/><command name="Digital" type="ircc" value="AAAAAgAAAJcAAAAyAw=="/><command name="BS" type="ircc" value="AAAAAgAAAJcAAAAsAw=="/><command name="CS" type="ircc" value="AAAAAgAAAJcAAAArAw=="/><command name="BSCS" type="ircc" value="AAAAAgAAAJcAAAAQAw=="/><command name="Ddata" type="ircc" value="AAAAAgAAAJcAAAAVAw=="/><command name="InternetWidgets" type="ircc" value="AAAAAgAAABoAAAB6Aw=="/><command name="InternetVideo" type="ircc" value="AAAAAgAAABoAAAB5Aw=="/><command name="SceneSelect" type="ircc" value="AAAAAgAAABoAAAB4Aw=="/><command name="Mode3D" type="ircc" value="AAAAAgAAAHcAAABNAw=="/><command name="iManual" type="ircc" value="AAAAAgAAABoAAAB7Aw=="/><command name="Wide" type="ircc" value="AAAAAgAAAKQAAAA9Aw=="/><command name="Jump" type="ircc" value="AAAAAQAAAAEAAAA7Aw=="/><command name="PAP" type="ircc" value="AAAAAgAAAKQAAAB3Aw=="/><command name="MyEPG" type="ircc" value="AAAAAgAAAHcAAABrAw=="/><command name="ProgramDescription" type="ircc" value="AAAAAgAAAJcAAAAWAw=="/><command name="WriteChapter" type="ircc" value="AAAAAgAAAHcAAABsAw=="/><command name="TrackID" type="ircc" value="AAAAAgAAABoAAAB+Aw=="/><command name="TenKey" type="ircc" value="AAAAAgAAAJcAAAAMAw=="/><command name="AppliCast" type="ircc" value="AAAAAgAAABoAAABvAw=="/><command name="acTVila" type="ircc" value="AAAAAgAAABoAAAByAw=="/><command name="DeleteVideo" type="ircc" value="AAAAAgAAAHcAAAAfAw=="/><command name="EasyStartUp" type="ircc" value="AAAAAgAAAHcAAABqAw=="/><command name="OneTouchTimeRec" type="ircc" value="AAAAAgAAABoAAABkAw=="/><command name="OneTouchView" type="ircc" value="AAAAAgAAABoAAABlAw=="/><command name="OneTouchRec" type="ircc" value="AAAAAgAAABoAAABiAw=="/><command name="OneTouchRecStop" type="ircc" value="AAAAAgAAABoAAABjAw=="/><command name="MuteOn" type="url" value="http://192.168.1.43:80/cers/command/MuteOn"/><command name="MuteOff" type="url" value="http://192.168.1.43:80/cers/command/MuteOff"/></remoteCommandList>
Gruß Alex
Nach deiner Liste sollte Mute funktionieren. Die letzten beiden Befehle sind genau die Links für MuteOn und MuteOff so wie ich sie auch im Modul benutze. ❓❓❓
Hab ich auch gesehen.
Habs dann auch nochmal probiert:
http://192.168.1.43:80/cers/command/MuteOn --> funktioniert
http://192.168.1.43:80/cers/command/MuteOff --> funktioniert nicht. Warum auch immer :-\
Weiter oben in der Liste steht noch was anderes mit "mute" kannst du damit was anfangen?
Gruß Alex
Das ist das Kommando, was ich beim Toggle verwende. Das ging ja bei dir auch.
Hallo,
dann muss es eben beim toggle Befehl bleiben.
Wenn man den mute Status vom Fernseher auslesen könnte wäre gut. :P
Kannst du nochmal die aktuellste Version hochladen. Bei der letzten Version die du hier hochgeladen hattest ist noch das Dropdown Menü Problem drin.
Gruß Alex
Zitat von: dogexan am 23 November 2014, 09:18:40
Hallo,
dann muss es eben beim toggle Befehl bleiben.
Wenn man den mute Status vom Fernseher auslesen könnte wäre gut. :P
Kannst du nochmal die aktuellste Version hochladen. Bei der letzten Version die du hier hochgeladen hattest ist noch das Dropdown Menü Problem drin.
Gruß Alex
Hab noch mal eine Version erstellt, die auf deine Gerätegeneration mehr Rücksicht nimmt.
- in der Werteliste von Mute gibt es kein 'Off' mehr
- State sollte jetzt auch auf 'On' gehen.
Falls mir jemand sagen könnte, wie ich den Status von Mute oder die aktuelle Lautstärke aus einem Sony TV herausbekomme, wäre ich für jede Info dankbar. Ich sehe da momentan noch keine Möglichkeit.
Gruß
Ulf
Super,
vielen Dank für dein Bemühen.
Hoffentlich wird es bald möglich sein den Status vom Fernseher auslesen zu können.
Es würden sich ganz neue Möglichkeiten damit eröffnen.
Gruß Alex
Hi,
hab eben die neuste Version installiert und wollte kurzes Feedback geben (KDL-40HX759): Zunächst funktionierte systemStatus nicht (angeblich vom Gerät nicht unterstützt), demnach war power=off, während presence auf present stand. Nach einem "set statusRequest" war das behoben.
Die Channelliste wird bevölkert, um hier nicht selbst durchklicken zu müssen hat sich ein notify bewährt:
define braviaScan notify bravia:channelI.+ set bravia channelUp
Nach dem ersten Kanalwechsel gehts los (idealerweise auf Kanal 1 schalten), danach wird weitergeschaltet, sobald der Kanalwechsel erkannt wurde. Eiin "attr braviaScan disable 1" gibt die Kontrolle zurück an die Fernbedienung.
Auch das Umschalten auf einen Kanal aus der Drop-down Liste funktioniert nun (mit "set bravia channel <CH>"). <CH> ist in der Form "001:Das_Erste_HD" - hier fände ich es sehr praktisch, statt dessen auch nur "1" oder "001" angeben zu können, oder den Sendernamen (evtl auch als Teilstring oder regexp). Gerade letzteres wäre evtl für sprachgesteuerte Programmwahl praktisch. Gibt es eine Möglichkeit, die erzeugte Kanalliste aus dem BRAVIA device auszulesen, aka "get bravia channel_list"?
Edit: Gerade habe ich herausgefunden, dass "set bravia channel 009:" funktioniert, auch wenn der Doppelpunkt nach der Kanalnummer nicht gerade selbsterklärend ist ;D
"mute on" und "mute off" funktionieren wie gedacht, ebenso "mute toggle" (hier ist aber ein Tippfehler in der Dropdownliste mit "toogle")
An dieser Stelle auf jeden Fall Danke für die klasse Arbeit, mach weiter so (hätte davor nicht für möglich gehalten, dass ich so ein Modul würde haben wollen - jetzt fallen mir plötzlich lauter nette Anwendungen ein) 8)
Beste Grüße,
Andy.
Hallo,
vielen Dank für eure Kommentare und auch dafür, dass euch das Modul gefällt ;)
Die Anmerkungen habe ich in meine Todo-Liste aufgenommen und werde sehen, was sich davon umsetzen lässt.
@gandy: Hast du ein bestimmtes Format im Kopf, wie so eine Kanalliste auszulesen wäre? Als Informationen habe ich Kanal und Name zur Verfügung und könnte daraus Text, XML oder JSON basteln.
Jetzt noch ein paar Details zum momentanen Stand:
- "set bravia channel 009:" funktioniert, da ich momentan auf "/^(\d)(\d)(\d):.*$/" teste. Das kann ich etwas toleranter machen, momentan wird davon ausgegangen, dass man einen Eintrag aus der Kanalliste benutzt...
- "toogle" schreibe ich (fast) immer so im ersten Versuch :(
- presence = present bedeutet, dass das Gerät im Netzwerk zu finden ist, während power = on bedeutet, dass der Bildschirm läuft. Presence = present und power = off ==> state = off kann vorkommen nachdem der TV gerade ausgeschaltet wurde. Er bleibt dann noch ein paar Minuten im Netz erreichbar, oder wenn z.B. etwas auf eine angeschlossene Festplatte aufgenommen wird. Der State geht also von "on" über "off" nach "absent".
- Wenn das Modul neu geladen wird, habe ich beobachet, dass es 2 Intervalle benötigt, bis sich alle Werte "eingeschwungen" haben. Daher vielleicht der Fehler mit systemStatus am Anfang
Gruß
Ulf
Blöde Frage - geht auch die X-Serie?
KDL-65X9005A. Die URLs, die hier gepostet wurden, funktionieren aber nicht. Irgendwas (habe noch nicht rausgefunden was) ist unter <ip>/sony/... verfügbar. Es läuft ein NGix auf dem Fernseher.
Danke & Gruß
Jens
Hallo Jens,
momentan wird die X-Serie (noch) nicht unterstützt. Leider ist es so, dass Sony die Api zu ihren TVs nicht öffentlich zugänglich gemacht hat. Daher ist der jetzige Stand des Fhem-Moduls durch Infos aus dem Netz und viel Probieren an meinem HX entstanden.
Grundsätzlich spricht nicht dagegen, auch weitere Serien mit dem Modul zu unterstützen. Dazu brauche ich aber Unterstützung durch Leute, die ausprobieren, wie man die anderen Serien Steuern kann.
Hier gibt es noch eine Diskussion (auf Englisch leider) wo versucht wird auf neuere Geräte zuzugreifen. http://forum.xda-developers.com/showthread.php?t=2091564&page=2 Falls die Kommunikation über Json funktioniert, wäre das ein Ansatz.
Gruß
Ulf
Zitat von: vuffiraa am 16 November 2014, 17:19:58
Hallo andy19850,
Da bin ich leider auch recht ratlos. Nach den Infos aus dem Netz sollte das reine Ausführen von IRCCCodes unabhängig von einer Registrierung funktionieren. Offensichtlich ist das bei deinem Gerät nicht so.
Falls du mit Hilfe von Postman herausbekommen würdest, wie man bei dir eine neue Fernbedienung registriert, könnte ich das auch einbauen.
Gruß Ulf
Hallo Ulf,
ich bin ein Stück weiter gekommen. Neuere Sony Modelle scheinen eine Authentifizierung zu verlangen. Ich habe es auch mit Wireshark sehen können, dass da Cookies zur Authentifizierung ausgetauscht werden. Hier hat sich jemand der Sache angenommen: https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html (https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html)
Mit dieser Methode kann ich den Pi am Sony registrieren, Pin eingeben und Befehle an den TV senden...
Zitat von: andy19850 am 27 November 2014, 18:13:53
Hallo Ulf,
ich bin ein Stück weiter gekommen. Neuere Sony Modelle scheinen eine Authentifizierung zu verlangen. Ich habe es auch mit Wireshark sehen können, dass da Cookies zur Authentifizierung ausgetauscht werden. Hier hat sich jemand der Sache angenommen: https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html (https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html)
Mit dieser Methode kann ich den Pi am Sony registrieren, Pin eingeben und Befehle an den TV senden...
Das ist doch mal ein Ansatz.
Könntest du vielleicht noch probieren, was dein TV antwortet, wenn du die URLs aus der Datei commands im GitHub aufrufst?
Gruß
Ulf
Bin zwar nicht Andy, aber auf meinem X9005A funktioniert das AUTH (erfolgreich registriert), Send_Commands tut aber nicht.
Anbei die Responses auf die enthaltenen Commands. Vielleicht hilft das?
Zitat von: vuffiraa am 27 November 2014, 19:00:58
Das ist doch mal ein Ansatz.
Könntest du vielleicht noch probieren, was dein TV antwortet, wenn du die URLs aus der Datei commands im GitHub aufrufst?
Gruß
Ulf
Im Anhang sind die Meldungen aus der Konsole. Nach dem Ausführen der ganzen Commands, will der TV eine Fernbedienung registrieren (Nexus 5).
Dann habe ich ja jetzt Stoff, um mir die neuere Generation mal anzuschauen. Wird aber etwas dauern, da ich gerade etwas Stress habe. Aber da gibt es ja bald ein paar ruhigere Tage :)
Gruß
Ulf
Hallo,
ich habe doch noch gleich eine Bitte an die Leute mit den neueren TVs. Könnt ihr mal ausprobieren, was folgende Links zurückgeben. Bei den Links mit 'Power' im Namen interessieren mich auch die möglichen Werte bei unterschiedlichen Zuständen des TV ;)
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerSavingMode","params":[""],"id":1,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerStatus","params":[""],"id":2,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getRemoteControllerInfo","params":[""],"id":3,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemInformation","params":[""],"id":4,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemSupportedFunction","params":[""],"id":5,"version":"1.0"}'
Gruß
Ulf
Zitat von: vuffiraa am 01 Dezember 2014, 08:41:43
Hallo,
ich habe doch noch gleich eine Bitte an die Leute mit den neueren TVs. Könnt ihr mal ausprobieren, was folgende Links zurückgeben. Bei den Links mit 'Power' im Namen interessieren mich auch die möglichen Werte bei unterschiedlichen Zuständen des TV ;)
curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getPowerSavingMode","params":[""],"id":1,"version":"1.0"}
curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getPowerStatus","params":[""],"id":2,"version":"1.0"}
curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getRemoteControllerInfo","params":[""],"id":3,"version":"1.0"}
curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getSystemInformation","params":[""],"id":4,"version":"1.0"}
curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getSystemSupportedFunction","params":[""],"id":5,"version":"1.0"}
Gruß
Ulf
Hallo Ulf,
bei den ersten beiden Commands passiert schonmal nicht viel wenn der TV aus ist:
pi@raspberrypi ~ $ curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getPowerSavingMode","params":[""],"id":1,"version":"1.0"}
* About to connect() to 192.168.11.33 port 80 (#0)
* Trying 192.168.11.33...
* Keine Route zum Zielrechner
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
curl: (3) [globbing] illegal character in range specification at pos 9
* getaddrinfo(3) failed for id:1
* Couldn't resolve host 'id'
* Closing connection #0
curl: (6) Couldn't resolve host 'id'
* getaddrinfo(3) failed for version:1.0:80
* Couldn't resolve host 'version:1.0'
* Closing connection #0
curl: (6) Couldn't resolve host 'version:1.0'
pi@raspberrypi ~ $ curl -v -XPOST http://192.168.11.33/sony/system -d {"method":"getPowerStatus","params":[""],"id":2,"version":"1.0"}
* About to connect() to 192.168.11.33 port 80 (#0)
* Trying 192.168.11.33...
* Keine Route zum Zielrechner
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
curl: (3) [globbing] illegal character in range specification at pos 9
* getaddrinfo(3) failed for id:2
* Couldn't resolve host 'id'
* Closing connection #0
curl: (6) Couldn't resolve host 'id'
* getaddrinfo(3) failed for version:1.0:80
* Couldn't resolve host 'version:1.0'
* Closing connection #0
curl: (6) Couldn't resolve host 'version:1.0'
Zitat von: andy19850 am 01 Dezember 2014, 09:36:59
Hallo Ulf,
bei den ersten beiden Commands passiert schonmal nicht viel wenn der TV aus ist:
Das ist jetzt auch nicht so überraschend ;) Die Geräte sind nicht immer im Netzwerk aktiv, status = absent halt.
Wenn die Kiste aus ist, ist er vom Netz.
Wenn er an ist, bekomme ich auf alle Anfragen (mit dem korrekten Auth-Cookie) nur
{"error":[5,"Illegal JSON"]}
Das Pcap-Capture läuft auf meinem Xperia leider nicht, werde es nochmal auf dem OneplusOne meiner Madam versuchen, wenn Sideview irgendwas macht.
Zitat von: Hausautomat am 01 Dezember 2014, 21:09:50
Wenn die Kiste aus ist, ist er vom Netz.
Wenn er an ist, bekomme ich auf alle Anfragen (mit dem korrekten Auth-Cookie) nur
{"error":[5,"Illegal JSON"]}
Das Pcap-Capture läuft auf meinem Xperia leider nicht, werde es nochmal auf dem OneplusOne meiner Madam versuchen, wenn Sideview irgendwas macht.
Ich habe die Aufrufe aus meinem vorletztem Beitrag noch mal geändert. Da haben wohl noch ein paar Anführungszeichen gefehlt. Ich bin mir auch nicht ganz sicher, ob die doppelten Anführungszeichen innerhalb der eckigen Klammern notwendig sind.
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerSavingMode","params":[""],"id":1,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerStatus","params":[""],"id":2,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getRemoteControllerInfo","params":[""],"id":3,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemInformation","params":[""],"id":4,"version":"1.0"}'
curl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemSupportedFunction","params":[""],"id":5,"version":"1.0"}'
Gruß
Ulf
Ah, da kommen ein paar mehr Infos. Es scheint keinen Unterschied zu machen, ob ich den auth=xxxxx als cookie übegebe. Die Abfrage mit id:4 gibt die ID-Nr. nicht zurück, ich habe die Antworten einfach mit einer Leerzeile voneinander getrennt. Da es ein WOL-Gerät ist, müsste via WOL doch auch ein Wake-Up über LAN möglich sein, oder?
{"id":1,"result":[{"mode":"off"}]}
{"id":2,"result":[{"status":"active"}]}
{"id":3,"result":[{"bundled":true,"type":"RM-J1100"},[{"name":"PowerOff","value":"AAAAAQAAAAEAAAAvAw=="},{"name":"Input","value":"AAAAAQAAAAEAAAAlAw=="},{"name":"GGuide","value":"AAAAAQAAAAEAAAAOAw=="},{"name":"EPG","value":"AAAAAgAAAKQAAABbAw=="},{"name":"Favorites","value":"AAAAAgAAAHcAAAB2Aw=="},{"name":"Display","value":"AAAAAQAAAAEAAAA6Aw=="},{"name":"Home","value":"AAAAAQAAAAEAAABgAw=="},{"name":"Options","value":"AAAAAgAAAJcAAAA2Aw=="},{"name":"Return","value":"AAAAAgAAAJcAAAAjAw=="},{"name":"Up","value":"AAAAAQAAAAEAAAB0Aw=="},{"name":"Down","value":"AAAAAQAAAAEAAAB1Aw=="},{"name":"Right","value":"AAAAAQAAAAEAAAAzAw=="},{"name":"Left","value":"AAAAAQAAAAEAAAA0Aw=="},{"name":"Confirm","value":"AAAAAQAAAAEAAABlAw=="},{"name":"Red","value":"AAAAAgAAAJcAAAAlAw=="},{"name":"Green","value":"AAAAAgAAAJcAAAAmAw=="},{"name":"Yellow","value":"AAAAAgAAAJcAAAAnAw=="},{"name":"Blue","value":"AAAAAgAAAJcAAAAkAw=="},{"name":"Num1","value":"AAAAAQAAAAEAAAAAAw=="},{"name":"Num2","value":"AAAAAQAAAAEAAAABAw=="},{"name":"Num3","value":"AAAAAQAAAAEAAAACAw=="},{"name":"Num4","value":"AAAAAQAAAAEAAAADAw=="},{"name":"Num5","value":"AAAAAQAAAAEAAAAEAw=="},{"name":"Num6","value":"AAAAAQAAAAEAAAAFAw=="},{"name":"Num7","value":"AAAAAQAAAAEAAAAGAw=="},{"name":"Num8","value":"AAAAAAAAAQAAAAEAAAAHAw=="},{"name":"Num9","value":"AAAAAQAAAAEAAAAIAw=="},{"name":"Num0","value":"AAAAAQAAAAEAAAAJAw=="},{"name":"Num11","value":"AAAAAQAAAAEAAAAKAw=="},{"name":"Num12","value":"AAAAAQAAAAEAAAALAw=="},{"name":"VolumeUp","value":"AAAAAQAAAAEAAAASAw=="},{"name":"VolumeDown","value":"AAAAAQAAAAEAAAATAw=="},{"name":"Mute","value":"AAAAAQAAAAEAAAAUAw=="},{"name":"ChannelUp","value":"AAAAAQAAAAEAAAAQAw=="},{"name":"ChannelDown","value":"AAAAAQAAAAEAAAARAw=="},{"name":"SubTitle","value":"AAAAAgAAAJcAAAAoAw=="},{"name":"ClosedCaption","value":"AAAAAgAAAKQAAAAQAw=="},{"name":"Enter","value":"AAAAAQAAAAEAAAALAw=="},{"name":"DOT","value":"AAAAAgAAAJcAAAAdAw=="},{"name":"Analog","value":"AAAAAgAAAHcAAAANAw=="},{"name":"Teletext","value":"AAAAAQAAAAEAAAA/Aw=="},{"name":"Exit","value":"AAAAAQAAAAEAAABjAw=="},{"name":"Analog2","value":"AAAAAQAAAAEAAAA4Aw=="},{"name":"*AD","value":"AAAAAgAAABoAAAA7Aw=="},{"name":"Digital","value":"AAAAAgAAAJcAAAAyAw=="},{"name":"Analog?","value":"AAAAAgAAAJcAAAAuAw=="},{"name":"BS","value":"AAAAAgAAAJcAAAAsAw=="},{"name":"CS","value":"AAAAAgAAAJcAAAArAw=="},{"name":"BSCS","value":"AAAAAgAAAJcAAAAQAw=="},{"name":"Ddata","value":"AAAAAgAAAJcAAAAVAw=="},{"name":"PicOff","value":"AAAAAQAAAAEAAAA+Aw=="},{"name":"Tv_Radio","value":"AAAAAgAAABoAAABXAw=="},{"name":"Theater","value":"AAAAAgAAAHcAAABgAw=="},{"name":"SEN","value":"AAAAAgAAABoAAAB9Aw=="},{"name":"InternetWidgets","value":"AAAAAgAAABoAAAB6Aw=="},{"name":"InternetVideo","value":"AAAAAgAAABoAAAB5Aw=="},{"name":"Netflix","value":"AAAAAgAAABoAAAB8Aw=="},{"name":"SceneSelect","value":"AAAAAgAAABoAAAB4Aw=="},{"name":"Mode3D","value":"AAAAAgAAAHcAAABNAw=="},{"name":"iManual","value":"AAAAAgAAABoAAAB7Aw=="},{"name":"Audio","value":"AAAAAQAAAAEAAAAXAw=="},{"name":"Wide","value":"AAAAAgAAAKQAAAA9Aw=="},{"name":"Jump","value":"AAAAAQAAAAEAAAA7Aw=="},{"name":"PAP","value":"AAAAAgAAAKQAAAB3Aw=="},{"name":"MyEPG","value":"AAAAAgAAAHcAAABrAw=="},{"name":"ProgramDescription","value":"AAAAAgAAAJcAAAAWAw=="},{"name":"WriteChapter","value":"AAAAAgAAAHcAAABsAw=="},{"name":"TrackID","value":"AAAAAgAAABoAAAB+Aw=="},{"name":"TenKey","value":"AAAAAgAAAJcAAAAMAw=="},{"name":"AppliCast","value":"AAAAAgAAABoAAABvAw=="},{"name":"acTVila","value":"AAAAAgAAABoAAAByAw=="},{"name":"DeleteVideo","value":"AAAAAgAAAHcAAAAfAw=="},{"name":"PhotoFrame","value":"AAAAAgAAABoAAABVAw=="},{"name":"TvPause","value":"AAAAAgAAABoAAABnAw=="},{"name":"KeyPad","value":"AAAAAgAAABoAAAB1Aw=="},{"name":"Media","value":"AAAAAgAAAJcAAAA4Aw=="},{"name":"SyncMenu","value":"AAAAAgAAABoAAABYAw=="},{"name":"Forward","value":"AAAAAgAAAJcAAAAcAw=="},{"name":"Play","value":"AAAAAgAAAJcAAAAaAw=="},{"name":"Rewind","value":"AAAAAgAAAJcAAAAbAw=="},{"name":"Prev","value":"AAAAAgAAAJcAAAA8Aw=="},{"name":"Stop","value":"AAAAAgAAAJcAAAAYAw=="},{"name":"Next","value":"AAAAAgAAAJcAAAA9Aw=="},{"name":"Rec","value":"AAAAAgAAAJcAAAAgAw=="},{"name":"Pause","value":"AAAAAgAAAJcAAAAZAw=="},{"name":"Eject","value":"AAAAAgAAAJcAAABIAw=="},{"name":"FlashPlus","value":"AAAAAgAAAJcAAAB4Aw=="},{"name":"FlashMinus","value":"AAAAAgAAAJcAAAB5Aw=="},{"name":"TopMenu","value":"AAAAAgAAABoAAABgAw=="},{"name":"PopUpMenu","value":"AAAAAgAAABoAAABhAw=="},{"name":"RakurakuStart","value":"AAAAAgAAAHcAAABqAw=="},{"name":"OneTouchTimeRec","value":"AAAAAgAAABoAAABkAw=="},{"name":"OneTouchView","value":"AAAAAgAAABoAAABlAw=="},{"name":"OneTouchRec","value":"AAAAAgAAABoAAABiAw=="},{"name":"OneTouchStop","value":"AAAAAgAAABoAAABjAw=="}]]}
{"auth_url":{"default":"http://192.168.178.29/sony/webauth/auth_default"}}
{"id":5,"result":[[{"option":"WOL","value":"D8:D4:3C:xx:xx:xx"},{"option":"SupportedChineseSoftwareKeyboard","value":"no"}]]}
Hallo Hausautomat,
schade, dass die ID 4 nicht vernünftig geantwortet hat. Wäre interessant gewesen. Da fehlt vielleicht der Cookie mit der Registrierung.
An alle anderen,
könntet ihr mal probieren, was bei folgenden Request als Antwort kommt?
curl -v -XPOST -H 'Content-Type: text/xml' -H 'Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"' http://192.168.2.43:52323/upnp/control/RenderingControl -d '<?xml version="1.0" encoding="utf-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>'
Wenn es funktioniert, wäre das der Weg um die aktuelle Lautstärke aus dem TV zu bekommen. Das Ergebnis sollte so aussehen:
<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentVolume>15</CurrentVolume></u:GetVolumeResponse></s:Body></s:Envelope>
Gruß
Ulf
Mein Fehler, hatte einen falschen Auth-cookie. Mit dem richtigen geht's natürlich:
{"id":4,"result":[{"area":"DEU","cid":"0E010B020002080E060C0A0306070B0207020A06","generation":"1.0.4","language":"ger","macAddr":"D8:D4:3C:xx:xx:xx","model":"KD-65X9005A","name":"BRAVIA","product":"TV","region":"DEU","serial":"6001xxx"}]}
GetVolume ergibt leider einen Fehler (mit und ohne cookie)
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Ahhh.... Die Kommandos, die ID3 geliefert hat (RM-J1100), funktionieren!
Ich habe die IRCC per send_command.sh an den Fernseher geschickt. Soweit funktionieren die....
Zum Beispiel AAAAAQAAAAEAAABgAw== für Home und dann Links/Rechts mit AAAAAQAAAAEAAAA0Aw== / AAAAAQAAAAEAAAAzAw==
Oder direkt zu netflix mit AAAAAgAAABoAAAB8Aw==
Wunderbar. 8)
Zitat von: Hausautomat am 02 Dezember 2014, 23:40:24
Ahhh.... Die Kommandos, die ID3 geliefert hat (RM-J1100), funktionieren!
Ich habe die IRCC per send_command.sh an den Fernseher geschickt. Soweit funktionieren die....
Zum Beispiel AAAAAQAAAAEAAABgAw== für Home und dann Links/Rechts mit AAAAAQAAAAEAAAA0Aw== / AAAAAQAAAAEAAAAzAw==
Oder direkt zu netflix mit AAAAAgAAABoAAAB8Aw==
Wunderbar. 8)
Das sind die Kommandos, mit denen das Modul jetzt schon arbeitet. Für die neueren Generationen fehlen da wohl nur das Auth-Cookie und die Soapaction-Definition im Header.
Das RenderingControle/GetVolume kann doch eigentlich auch nicht so schwer sein. Mit etwas technischem Verständnis kann man mit einer Java-Bibliothek nachschauen, welche Upnp-Services der TV anbietet. Ich verwende hier cling http://4thline.org/projects/download/. Im cling-distribution-xxx.zip ist ein cling-workbench-xxx-standalone.jar, welches man per Java starten kann. Es werden alle Geräte im lokalen Netzmit ihren Upnp-Services aufgelistet und man kann die Aktionen auch ausführen (z.B. GetVolume). Per Wireshark sollte man dann gut sehen können, was wirklich gesendet wird. Wenn sich hier jemand berufen fühlt, kann ich auch noch mehr Details liefern, auf welche Daten es mir ankommt.
Gruß
Ulf
Hm. Mein AV-Receiver ist auch bereits in Fhem drin - dort kann ich die Lautstärke wunderbar einstellen; und der TV macht beim drücken der Remote nix anderes, als über HDMI-CIC die Lautstärke des AV-Receivers zu ändern.
Interessant ist dagegen, den aktuellen Kanal/Input auszulesen, den Kanal/Input ggf. zu ändern.
Hallo,
ich habe etwas am Modul herum geschraubt und bin auf eure Kommentare gespannt.
- Die aktuelle Lautstärke wird über einen UPNP-Service des TV ermittelt. Es gibt also passende Readings "volume" und "mute"
- Über "Set" kann die Lautstärke auch direkt eingestellt bzw. gemutet werden. Für MuteOn/Off wird auch der UPNP-Service genutzt.
- Neue Option für "Set": "requestFormat" - 2 Werte: "xml" für xml-basierte Kommunikation 2011er/2012er Geräte und "json" für die Kommunikation der 2013er/2014er Generation
- Bei "requestFormat" = "json" ändert sich die Registrierung. Beim Aufruf des Setter gibt es ein Eingabefeld:
- Aufruf mit leerem Eingabefeld. Auf dem TV sollte eine PIN zur Registrierung erscheinen.
- PIN im Eingabefeld eintragen und Registrierung noch mal ausführen
- Wenn es geklappt hat, gibt es jetzt ein Reading "authCookie".
Informationen über den aktuell angezeigten Inhalt kriege ich bisher nur bei den 2012er Modellen. Für die neueren Geräte, die über JSON kommunizieren, fehlen mir auch noch Erfahrungen, was möglich ist. Hier würde es helfen Logs mit verbose=5 zu erstellen, da kann man sehen, welche Daten übertragen werden.
Da sich doch einiges im Modul geändert hat, reicht ein einfacher Reload nicht. Das Gerät muss neu definiert oder Fhem durchgestartet werden.
Fröhliche Weihnachten,
Ulf
Hallo vuffiraa,
Danke für die Arbeit an dem Modul! Ich habe die neue Version mit meinem KDL-46EX655 getestet. Beim Setzen der Laufstärken und beim Umschalten auf Mute bekomme ich leider folgende Fehlermeldungen:
2014.12.24 14:32:54 4: BRAVIA SonyTV: RCV upnp/getMute
2014.12.24 14:32:54 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2014.12.24 14:33:03 4: BRAVIA SonyTV: RCV upnp/setVolume
2014.12.24 14:33:03 4: BRAVIA SonyTV: RES upnp/setVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action SetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2014.12.24 14:33:39 4: BRAVIA SonyTV: RCV upnp/getMute
2014.12.24 14:33:39 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2014.12.24 14:33:39 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Length: 429
Content-Type: text/xml; charset="utf-8"
EXT:
Connection: close
Date: Wed, 24 Dec 2014 13:33:38 GMT
Server: Linux/2.6 UPnP/1.0 KDL-46EX655/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-46EX655"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-46EX655";
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope> err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Außerdem erhalte ich beim Auswählen eines Kanals mit "set SonyTV channel 0023:tagesschau24_HD" folgende Meldung
Argument 0023:tagesschau24_HD is not a valid channel name
Gruß
Sven
Zitat von: cheanrod am 24 Dezember 2014, 14:48:51
Hallo vuffiraa,
Danke für die Arbeit an dem Modul! Ich habe die neue Version mit meinem KDL-46EX655 getestet. Beim Setzen der Laufstärken und beim Umschalten auf Mute bekomme ich leider folgende Fehlermeldungen:
Hmm, so aus der Ferne sehe ich da keinen Punkt zum Ansetzen. Ich bräuchte hier mehr Daten. Ich hatte vor einiger Zeit schon mal beschrieben, dass man mit Cling (http://4thline.org/projects/cling/workbench/ (http://4thline.org/projects/cling/workbench/)) und Wireshark mal einen Request aufzeichnen müsste. Da könnte ich dann schauen, wo die Unterschiede zur aktuellen Version sind.
Zitat
Außerdem erhalte ich beim Auswählen eines Kanals mit "set SonyTV channel 0023:tagesschau24_HD" folgende Meldung
Argument 0023:tagesschau24_HD is not a valid channel name
Gruß
Sven
Das war einfach. Hier eine neue Version.
Gruß Ulf
Irgendwas fehlt mir da wohl...hat einer ne Idee?
2014.12.26 13:32:24 0: Can't locate Data/GUID.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/70_BRAVIA.pm line 40, <$fh> line 390.
BEGIN failed--compilation aborted at ./FHEM/70_BRAVIA.pm line 40, <$fh> line 390.
Ja, ich habe 2 neue Abhängigkeiten ins Modul bekommen. Unter Ubuntu ließen sie sich folgendermaßen nach installieren:
sudo apt-get install libdata-guid-perl
sudo apt-get install libjson-perl
Hallo vuffiraa,
ich habe ein wenig mit Cling Workbench gestestet. Nach etwas Probieren habe ich herausgefunden, dass meine Lautstärke- und Mute-Probleme darauf zurückzuführen sind, dass ich den Ton über einen externen AV-Receiver ausgebe. In dieser Konfiguration scheint das Abfragen und Setzen der Lautstärke über UPnP im TV verständlicherweise nicht vorgesehen zu sein. Sobald ich den AV-Receiver deaktiviere, kann ich die Lautstärke im TV über UPnP setzen. Sowohl mit Cling als auch mit dem FHEM-Modul in der letzten Version.
Vielleicht könntest Du noch eine Möglichkeit vorsehen, die genannten Funktionen für Leute mit meiner Konfiguration (Ton über externen Receiver) zu deaktivieren.
Nach etwas Testen kann ich hiermit für den KDL-46EX655 folgende Funktionen mit dem neuesten Modul als funktionierend melden:
- Lautstärke/Mute abfragen und setzen über UPnP
- Aufbau der Senderliste
- Setzen eines bestimmten Senders aus der Senderliste
Danke & Gruß
Sven
Hallo,
ich bin im Besitz eines Sony KDL-52-HX-905 TVs.
Nun die Frage, ob ich ihn mit dem Modul steuern kann? Ich bin mir garnicht sicher, ob der Fernseher überhaupt über eine LAN-Schnittstelle verfügt?!?
Grüße
Michael
Zitat von: Michi240281 am 15 Januar 2015, 15:50:58
Hallo,
ich bin im Besitz eines Sony KDL-52-HX-905 TVs.
Nun die Frage, ob ich ihn mit dem Modul steuern kann? Ich bin mir garnicht sicher, ob der Fernseher überhaupt über eine LAN-Schnittstelle verfügt?!?
Grüße
Michael
Laut den technischen Daten gibt es eine LAN-Schnittstelle, das ist erst mal positiv. Dagegen spricht, dass er nicht bei der SideView App von Sony gelistet ist.
Man müsste ihn mal ins Netzwerk einbinden und dann schauen, ob es offene Ports gibt. Aber ich glaube, das er eher nicht für die Steuerung über LAN vorbereitet ist.
Gruß
Ulf
Dann werde ich erstmal versuchen, ihn ins LAN zu kriegen.
Laut der Sony Internetseite hat er eine LAN Schnittstelle, wie du schon richtig geschrieben hast. Aber was wäre denn dann noch ne Voraussetzung, ihn darüber zu steuern?
Naja, die Möglichkeit ein Netzwerkkabel anzuschließen sagt noch nichts darüber aus, welche Kommunikation darüber möglich ist. Sony hat in den verschiedenen (Jahrgangs-)Serien unterschiedliche Möglichkeiten umgesetzt.
Wenn der TV angeschlossen ist, könnte man schauen, welche Ports offen sind. Dann kann man schauen, welche Kommunikation auf den offenen Ports möglich ist. Ich habe hierzu aber für deinen TV nichts im Netz gefunden.
Hallo,
ich habe seit Weihnachten ;-) den Sony BRAVIA KDL-50W829B mit Netzwerk; ich denke es ist ein Modell aus 2014.
Jetzige Software-Version darauf ist PKG2.232EUA.
Leider bekomme ich den mit bisherigen Varianten des Moduls "70_BRAVIA.pm" nicht zum kontakten mit FHEM.
Die Handy-Fernbedienung mit "TV Sideview" (Android) klappt aber gut.
Auf dem FHEM-Cubietruck habe ich nachinstalliert
sudo apt-get install libdata-guid-perl
sudo apt-get install libjson-perl
und in FHEM definiert
define SonyTV BRAVIA 192.168.115.151
Frage: Auf welche Weise könnte ich das Gerät belauschen / weitere Informationen beisteuern?
Das gute Stück hört laut "Fing"-Portscan (Android) auf Port 80.
Gruß, Stefan
/Edit: Keine Ahnung ob sich hiermit etwas anfangen lässt, werde ich nachher testen:
https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html (https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html)
Hallo Stefan,
Du solltest es mal mit dem Attribute requestFormat = Json probieren. Die Registrierung dann in 2 Schritten ausführen, wie in Post #85 beschrieben. Das ist aber wegen Mangel eines passenden Gerätes nicht getestet. Bei den Versuchen solltest du aber noch verbose = 5 einstellen, dann sieht man im Log ganz gut, was da über die Leitung geht. Das Log kannst du dann hier posten oder auch per PM, dann schau ich, was man ändern kann.
Gruß Ulf
Hallo Ulf,
Danke für den Vorschlag.
Heute nur ein kurzer Statusbericht, ich teste morgen noch in Ruhe. Ggfs. kommt dann auch die Logdatei ;-)
Vorweg: Ich teste hier mit den Versionen "70_BRAVIA.pm" vom 24. und 25.12.2014 und hoffe letztere ist noch aktuell.
Meine Definition:
define SonyTV BRAVIA 192.168.115.151
Weitere Testdefinitionen folgten....
Habe in der Weboberfläche zusammengeklickt:
set SonyTV requestFormat json
set SonyTV register # zunächst ohne weitere Eingabe
# Auf dem TV erscheint jetzt auch das Passwort 4 Ziffern
set SonyTV register xxxx # (xxxx = Passwort)
Das TV scheint das Passwort nicht zu akzeptieren, zumindest verschwindet nach Zeitablauf die Reg-Maske auf dem Bildschirm.
Beim Blick in die Readings hat sich aber wohl etwas getan:
ZitatauthCookie HASH(0x33091e8)
registrationUUID 3ce7cb80-71eb-4e4b-8b3b-4a3591bfedf8
Morgen lösche ich die zusätzlichen Testdefinitionen und probiere in Ruhe noch einmal.
Bis dann, Stefan
Zitat von: bsl02 am 22 Januar 2015, 01:42:39
Das TV scheint das Passwort nicht zu akzeptieren, zumindest verschwindet nach Zeitablauf die Reg-Maske auf dem Bildschirm.
Beim Blick in die Readings hat sich aber wohl etwas getan:
Morgen lösche ich die zusätzlichen Testdefinitionen und probiere in Ruhe noch einmal.
Dann scheint das noch nicht richtig zu klappen. Ein Log wäre hilfreich ;)
Bei deinen Readings sieht man das Problem auch, da authCookie ein Hash ist. Das sollten eher ein paar lesbare Zeichen sein.
Diese registrationUUID wird im Modul erzeugt, daher scheint hier alles ok.
Das Modul vom 25.12. ist aktuell.
Hallo,
ich habe gestern erstmalig von dem Modul 70_BRAVIA.pm gelesen und möchte mich für die bisherige Arbeit daran bedanken.
Bei meinem KDL-37EX725 hat die Registrierung auf Anhieb geklappt und channelUp/Down sowie volume funktioniert. Weitere Funktionen sowie das Zweitgerät KDL-32W655 werde ich in den kommenden Tagen testen.
Gruß,
David
Hallo,
Ich kann beim Registrieren meines KDL-32W655 das gleiche wie Stefan (Antwort #95) beobachten, requestFormat = json.
Hier die Log Ausgaben:
1) zuerst set SonyTV_SZ register
2015.01.22 20:33:01 5: BRAVIA SonyTV_SZ: called function BRAVIA_GetStatus()
2015.01.22 20:33:01 5: BRAVIA SonyTV_SZ: called function BRAVIA_SendCommand()
2015.01.22 20:33:01 5: BRAVIA SonyTV_SZ: API command 'getStatus' not supported by device.
2015.01.22 20:33:27 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2015.01.22 20:33:27 2: BRAVIA set SonyTV_SZ register
2015.01.22 20:33:27 5: BRAVIA SonyTV_SZ: called function BRAVIA_SendCommand()
2015.01.22 20:33:27 4: BRAVIA SonyTV_SZ: REQ register
2015.01.22 20:33:27 5: BRAVIA SonyTV_SZ: POST http://192.168.150.194:80/sony/accessControl ({"method":"actRegister","params":[{"clientid":"Fhem Remote:8A0FAFA2-A26D-11E4-A97F-56334935AF14","nickname":"Fhem Remote (fhem_remote)","level":"private"},[{"value":"yes","function":"WOL"}]],"id":8,"version":"1.0"})
2015.01.22 20:33:28 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2015.01.22 20:33:28 5: BRAVIA SonyTV_SZ: called function BRAVIA_Get()
2015.01.22 20:33:28 5: BRAVIA SonyTV_SZ: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 401 Unauthorized
Content-Type: application/json
Content-Length: 37
Connection: close
WWW-Authenticate: Basic realm="Private Page"
Date: Thu, 22 Jan 2015 19:33:27 GMT
{"error":[401,"Unauthorized"],"id":8} err: data: {"error":[401,"Unauthorized"],"id":8}
2015.01.22 20:33:28 4: BRAVIA SonyTV_SZ: RCV register
2015.01.22 20:33:28 4: BRAVIA SonyTV_SZ: RES register - {"error":[401,"Unauthorized"],"id":8}
2015.01.22 20:33:29 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2) dann mit angezeigtem PIN set SonyTV_SZ register 1055
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2015.01.22 20:33:40 2: BRAVIA set SonyTV_SZ register 1055
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: called function BRAVIA_SendCommand()
2015.01.22 20:33:40 4: BRAVIA SonyTV_SZ: REQ register/1055
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: POST http://192.168.150.194:80/sony/accessControl ({"method":"actRegister","params":[{"clientid":"Fhem Remote:8A0FAFA2-A26D-11E4-A97F-56334935AF14","nickname":"Fhem Remote (fhem_remote)","level":"private"},[{"value":"yes","function":"WOL"}]],"id":8,"version":"1.0"})
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: called function BRAVIA_Get()
2015.01.22 20:33:40 5: BRAVIA SonyTV_SZ: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 28
Connection: close
Date: Thu, 22 Jan 2015 19:33:40 GMT
{"error":[5,"Illegal JSON"]} err: data: {"error":[5,"Illegal JSON"]}
2015.01.22 20:33:40 4: BRAVIA SonyTV_SZ: RCV register/1055
2015.01.22 20:33:40 4: BRAVIA SonyTV_SZ: RES register/1055 - {"error":[5,"Illegal JSON"]}
2015.01.22 20:33:41 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
2015.01.22 20:34:01 5: BRAVIA SonyTV_SZ: called function BRAVIA_GetStatus()
2015.01.22 20:34:01 5: BRAVIA SonyTV_SZ: called function BRAVIA_SendCommand()
2015.01.22 20:34:01 5: BRAVIA SonyTV_SZ: API command 'getStatus' not supported by device.
2015.01.22 20:34:14 5: BRAVIA SonyTV_SZ: called function BRAVIA_Set()
Gruß,
David
Hallo David,
der erste Aufruf sieht soweit ok aus. Das der mit HTTP/1.1 401 Unauthorized zurückkommt ist so richtig, da ja dann bei dir die PIN angezeigt wird. Beim zweiten Aufruf ist noch irgendwas nicht richtig. Dein TV sollte da nicht mit {"error":[5,"Illegal JSON"]} antworten. Ich stehe aber etwas auf dem Schlauch, was hier nicht stimmt:
(
{ "method":"actRegister",
"params":[
{ "clientid":"Fhem Remote:8A0FAFA2-A26D-11E4-A97F-56334935AF14",
"nickname":"Fhem Remote (fhem_remote)",
"level":"private" },
[{ "value":"yes",
"function":"WOL" }]
],
"id":8,
"version":"1.0" }
)
Wer kann hier mit z.B. Postman mal den korrekten Request herausfinden?
Gruß Ulf
Hallo,
Ich habe einen Sony KDL-w805, so wie es aussieht wird der nicht unterstützt?
Der TV lässt sich zwar einbinden, aber getstatus/register klappt nicht:
API command 'getStatus' not supported by device.
Hat jemand evtl. noch eine Idee?
Danke & Gruß,
Tobi
Zitat von: onkel-tobi am 28 Januar 2015, 21:45:21
Hallo,
Ich habe einen Sony KDL-w805, so wie es aussieht wird der nicht unterstützt?
Der TV lässt sich zwar einbinden, aber getstatus/register klappt nicht:
API command 'getStatus' not supported by device.
Hat jemand evtl. noch eine Idee?
Danke & Gruß,
Tobi
Hallo Tobi,
Lies dir mal meine Beiträge #96 und #85 durch. Momentan ist das Modul aber noch in der Entwicklung, also noch nicht so viel erwarten.
Gruß Ulf
HI,
also ich habe dasselbe Problem wie dave.
Wie genau/wo wird denn der Pin mitgegeben?
2015.02.08 21:37:48 5: BRAVIA eg_wz_tv: called function BRAVIA_Set()
2015.02.08 21:37:48 2: BRAVIA set eg_wz_tv register 4340
2015.02.08 21:37:48 5: BRAVIA eg_wz_tv: called function BRAVIA_SendCommand()
2015.02.08 21:37:48 4: BRAVIA eg_wz_tv: REQ register/4340
2015.02.08 21:37:48 5: BRAVIA eg_wz_tv: POST http://192.168.178.99:80/sony/accessControl ({"method":"actRegister","params":[{"clientid":"Fhem Remote:8a768fcb-e562-4629-a399-30fcff7d5fd2","nickname":"Fhem Remote (fhem_remote)","level":"pr
ivate"},[{"value":"yes","function":"WOL"}]],"id":8,"version":"1.0"})
2015.02.08 21:37:48 4: HttpUtils url=http://192.168.178.99:80/sony/accessControl
2015.02.08 21:37:48 5: Triggering eg_wz_tv (1 changes)
2015.02.08 21:37:48 5: Notify loop for eg_wz_tv register 4340
2015.02.08 21:37:48 4: eventTypes: BRAVIA eg_wz_tv register 4340 -> register .*
2015.02.08 21:37:48 4: http://192.168.178.99:80/sony/accessControl: HTTP response code 200
2015.02.08 21:37:48 4: HttpUtils http://192.168.178.99:80/sony/accessControl: Got data, length: 28
2015.02.08 21:37:48 5: BRAVIA eg_wz_tv: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 28
Connection: close
{"error":[5,"Illegal JSON"]} err: data: {"error":[5,"Illegal JSON"]}
2015.02.08 21:37:48 4: BRAVIA eg_wz_tv: RCV register/4340
2015.02.08 21:37:48 4: BRAVIA eg_wz_tv: RES register/4340 - {"error":[5,"Illegal JSON"]}
2015.02.08 21:37:48 5: Triggering eg_wz_tv (1 changes)
2015.02.08 21:37:48 5: Notify loop for eg_wz_tv authCookie: HASH(0x2233cb8)
2015.02.08 21:37:48 4: eventTypes: BRAVIA eg_wz_tv authCookie: HASH(0x2233cb8) -> authCookie: HASH(0x2233cb8)
Sehe zwar, dass er im log auftaucht, aber wird er auch übergeben?
Wie müßte die URL in etwa aussehen, damit ich das am PC mal testen kann und evtl. mehr Infos liefern kann?
DAnke & Gruß,
Tobi
Hallo,
ich habe Dank der tatkräftiger Unterstützung auch hier aus dem Forum eine neue Version des Moduls fertiggestellt, mit der auch die Verbindung zu den 2014er Modellen von Sony klappen sollte.
Außerdem habe ich noch den Wunsch aufgegriffen, die Statusabfragen per Upnp abschaltbar anzubieten. Dazu gibt es einen neuen Set-Parameter 'upnp', der 'on' oder 'off' enthalten kann. Bei 'on' oder wenn der Parameter nicht gesetzt wird, wird Upnp für den Status benutzt.
Zitat von: onkel-tobi am 08 Februar 2015, 22:04:57
Wie genau/wo wird denn der Pin mitgegeben?
Die 2. Registrierung erfolgt per Basis Authentication. Hier dient die Pin als Kennwort. Sehen kann man das im Header des Request, dort gibt es dann ein Attribut 'Baisc Authentication' mit einer codierten Zeichenkette.
Gruß Ulf
Hallo Ulf,
vielen Dank!
Mit dieser Veraion funktioniert in jd. Fall schon mal die Registrierung, sowie volUp/Down.
Ausschalten ging noch nicht, aber das schaue ich mir am Wochenende noch mal genau an.
Gruß,
Tobi
Update:
Irgendwas scheint noch nicht 100 %ig zu klappen. Ausschalten geht weiterhin nicht.
Habe das gerät auch noch mal entfernt und neu konfiguriert. Bekomme im Log aber folgendes:
2015.02.13 18:57:00 5: BRAVIA eg_wz_tv: called function BRAVIA_GetStatus()
2015.02.13 18:57:00 5: BRAVIA eg_wz_tv: called function BRAVIA_SendCommand()
2015.02.13 18:57:00 5: BRAVIA eg_wz_tv: API command 'getStatus' not supported by device.
2015.02.13 18:57:06 5: BRAVIA eg_wz_tv: called function BRAVIA_Set()
2015.02.13 18:57:16 5: Cmd: >set eg_wz_tv off<
2015.02.13 18:57:16 5: BRAVIA eg_wz_tv: called function BRAVIA_Set()
2015.02.13 18:57:16 2: BRAVIA set eg_wz_tv off
2015.02.13 18:57:16 5: BRAVIA eg_wz_tv: called function BRAVIA_SendCommand()
2015.02.13 18:57:16 4: BRAVIA eg_wz_tv: REQ ircc/POWER
2015.02.13 18:57:16 5: BRAVIA eg_wz_tv: POST http://192.168.178.99:80/sony/IRCC (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:
X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>AAAAAQAAAAEAAAAVAw==</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>)
2015.02.13 18:57:16 5: BRAVIA eg_wz_tv: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"
Content-Type: text/xml; charset=UTF-8
2015.02.13 18:57:16 4: HttpUtils url=http://192.168.178.99:80/sony/IRCC
2015.02.13 18:57:16 5: Triggering eg_wz_tv (1 changes)
2015.02.13 18:57:16 5: Notify loop for eg_wz_tv off
2015.02.13 18:57:16 4: eventTypes: BRAVIA eg_wz_tv off -> off
2015.02.13 18:57:16 4: http://192.168.178.99:80/sony/IRCC: HTTP response code 500
2015.02.13 18:57:16 4: HttpUtils http://192.168.178.99:80/sony/IRCC: Got data, length: 664
2015.02.13 18:57:16 5: BRAVIA eg_wz_tv: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Type: text/xml;charset="utf-8"
Content-Length: 664
Connection: close
Was mich ein wenig wundert ist die Tatsache, dass ich das Format ja auf json stehen habe, der request oben aber ja ein XML ist?
Hat jemand von euch schon mit einem neueren Modell das Ausschalten des TVs hinbekommen können?
Gruß,
Tobi
Ich habe auch ein Update des moduls gemacht. Habe das Gerät gelöscht und dann ein shutdown restart gemacht.
Nachdem ich dann define Bravia gemacht habe ist fhem nicht mehr erreichbar. Habe schon ein update gemacht aber dsa Hilft alles nichts.
Grus Roland
Zitat von: Roli1606 am 13 Februar 2015, 20:27:23
Ich habe auch ein Update des moduls gemacht. Habe das Gerät gelöscht und dann ein shutdown restart gemacht.
Nachdem ich dann define Bravia gemacht habe ist fhem nicht mehr erreichbar. Habe schon ein update gemacht aber dsa Hilft alles nichts.
Grus Roland
Was sagt denn das Log?
Also das Modul funktioniert bei mir wie beschrieben schon, nur einige Befehle scheinen halt nicht zu gehen.
Gruß,
Tobi
Im Log steht nichts drin. Vermute das FHEM komplett abstürzt und deshalb nichts mehr geloggt wird.
Die vorherige Version Funktioniert soweit, Mute Volume und Umschalten klappt. Das einzige was mich an der Version stört ist das reading power oder presence sich nicht ändert wenn ich das TV ausschalte.
Tv ist ein KDL EX-725
Gruß Roland
auch wenn Du versuchst den fhem Service via Konsole zu starten?
Die readings passen bei mir, auch bei power. Aber wie gesagt bekomme ich den Fernseher über fhem leider nicht ausgeschaltet.
Hallo Roland,
das sollte so natürlich nicht sein. Ein Log wäre hilfreich. Kannst du mal vor dem Define global das Attribut verbose auf 5 setzen. Ansonsten fällt mir noch ein, dass manchmal auch Aufschriften auf der Console landen.
Nächste Idee wäre ein fehlendes Perl-Modul, aber da schmiert Fhem eigentlich nicht komplett ab. Ich habe 2 Abhängigkeiten, die über dem Fhem-Standart hinausgehen. Unter Linux kann man diese Module so installierend:
sudo apt-get install libjson-perl
sudo apt-get install libxml-simple-perl
Gruß Ulf
Zitat von: onkel-tobi am 22 August 1970, 06:16:53
Was mich ein wenig wundert ist die Tatsache, dass ich das Format ja auf json stehen habe, der request oben aber ja ein XML ist?
Hat jemand von euch schon mit einem neueren Modell das Ausschalten des TVs hinbekommen können?
Hallo Tobi,
Das mit dem Xml ist okay, deinTv benutzt beide Formate, natürlich für unterschiedliche Dinge. Ansonsten sehe ich im Log, das der Registrierungcode nicht im Header mitgeschickt wird. Es scheint keine aktive Registrierung in Fhem bekannt zu sein. Ist in den Readings ein authCookie vorhanden? Dazu passt aber auch der Eintrag "getStatus not supported".
Außerdem scheint es nicht der richtige Port für das Power-Kommando zu sein, hier sollte nicht 80 sondern 52323 verwendet werden.
Ich schau mal.
Gruß Ulf
Zitat von: vuffiraa am 14 Februar 2015, 22:11:11
Es scheint keine aktive Registrierung in Fhem bekannt zu sein. Ist in den Readings ein authCookie vorhanden? Dazu passt aber auch der Eintrag "getStatus not supported".
Hi Ulf,
ich habe einen authCookie, sowie eine regUUID. Die Registrierung konnte ich mit der neuen Version auch abschließen. Also zumindest ist die Meldung mit der Pin nach abschicken des reg requests verschwunden.
Außerdem haben andere Kommandos ja auch geklappt.
Warum die Meldung "getStatus not supported" kommt, kann ich nicht nachvollziehen. Ich bekomme das Modell, sowie den aktuellen Status ausgelesen.
Gruß & einen schönen Sonntag,
Tobi
Hallo Tobi,
Noch stehe ich hier etwas auf dem Schlauch. Der Port 80 ist doch der richtige für das Senden der Kommandos. Das Ein- bzw. Ausschalten scheint anders abgearbeitet zu werden. Hast du die Möglichkeit, das ganze mal per SideView App mitzuschneiden? Das geht mit Wireshark oder auch per Capture in der Fritzbox/Router.
Was mich noch interessieren würde, was steht bei dir in den Readings unter "generation".
Gruß Ulf
Zitat von: vuffiraa am 15 Februar 2015, 09:45:13
Hallo Tobi,
Noch stehe ich hier etwas auf dem Schlauch. Der Port 80 ist doch der richtige für das Senden der Kommandos. Das Ein- bzw. Ausschalten scheint anders abgearbeitet zu werden. Hast du die Möglichkeit, das ganze mal per SideView App mitzuschneiden? Das geht mit Wireshark oder auch per Capture in der Fritzbox/Router.
Was genau benötigst Du hier? Alternativ kann ich dir einen größeren Wireshark Log schicken. Dann aber lieber per PM.
Zitat
Was mich noch interessieren würde, was steht bei dir in den Readings unter "generation".
Dort steht: 2.4.0
Gruß,
Tobi
Hallo Tobi,
Es geht mir genau um die Daten, die über die Leitung gehen, wenn du in der Fernbedienungssimulation in der SideView App den TV abschaltest. Das sollte eigentlich ein normaler HTTP Request auf Port 80 oder eventuell 52323 sein.
Das können wir gerne per PN austauschen.
Gruß Ulf
So, also ich dürfte nun hoffentlich den richtigen request haben:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1">
<IRCCCode>AAAAAQAAAAEAAAAvAw==</IRCCCode>
</u:X_SendIRCC>
</s:Body>
</s:Envelope>
Port war, wie von Dir vermutet, POrt 80.
Hallo Tobi,
kriegst du noch die aufgerufene URL und die Parameter aus dem Header heraus. Bei dem Stückchen XML sehe ich noch keinen Unterschied.
Gruß Ulf
Habe mal meinen wireshark export angehängt.
Hallo,
ich habe mal wieder ein paar Änderungen ins Modul eingebaut. Das Ausschalten des TV sollte jetzt auch mit den neuen Generationen klappen. Außerdem habe ich etwas Logik eingebaut, damit die Art des TV automatisch erkannt wird (xml bzw. json).
@onkel-tobi: Vielen Dank für deine Zeit und Geduld.
@Roli1606: Kannst du mal schauen, ob dieses Modul mit einem aktualisierten Fhem bei dir läuft?
Gruß Ulf
Hallo Ulf,
Danke für das Modul!
Es läuft hier mit folgendem Fernseher von Sony :)
>KDL-50W829B
Die Registrierung des TV klappte gestern sofort.
Zur Lautstärkeveränderung: Der Slider des BRAVIA-Moduls läuft naturgemäß ins Leere, da mein Ton über eine Yamaha-Anlage ausgegeben wird.
Laut/leise kann ich aber über das Modul "YAMAHA_AVR" ändern.
Gruß, Stefan
Zitat von: bsl02 am 19 Februar 2015, 09:53:58
Danke für das Modul!
Es läuft hier mit folgendem Fernseher von Sony :)
>KDL-50W829B
Hallo Stefan,
danke für die Rückmeldung!
Kannst du mal in die Readings des Moduls schauen?
Ich tippe, dass das Reading 'requestFormat' auf 'json' steht. Hat das Modul das alleine rausgefunden, oder hast du es konfiguriert?
Was steht unter dem Reading 'generation'?
Ich will versuchen, einen Überblick über die verschiedene TV-Typen zu bekommen :)
Gruß Ulf
Hallo vuffiraa,
ich habe gesehen das Du das Modul hier im Thread mehrfach verlinkt hast. Wo bekomme ich die aktuellste Test Version her?
LG hoods
Zitat von: hoods am 19 Februar 2015, 21:44:57
Wo bekomme ich die aktuellste Test Version her?
Seite 8, Post 119
Gruß,
Tobi
Zitat von: onkel-tobi am 19 Februar 2015, 22:03:55
Seite 8, Post 119
Gruß,
Tobi
Allgemein ist immer der letzte Link der aktuelle. Ansonsten steht am Anfang der Datei eine Versionsnummer, aktuell ist gerade 0.4.3.
Gruß Ulf
Hallo Ulf,
ZitatZitat von: bsl02 am Gestern um 09:53:58
Danke für das Modul!
Es läuft hier mit folgendem Fernseher von Sony :)
>KDL-50W829B
Hallo Stefan,
danke für die Rückmeldung!
Kannst du mal in die Readings des Moduls schauen?
ich habe 2 Screenshots beigefügt:
1) Neue Definition von heute, keine manuelle Angabe von JSON durchgeführt. Registrierung funktionierte, umschalten klappt. Allerdings wurde der Typ des TV-Gerätes offenbar (noch) nicht automatisch erkannt
/edit: Nach einigen Minuten wurde der Gerätetyp doch erkannt/
2) Definition vor einigen Tagen; dort ist das TV genau erkannt +läuft. Ob ich JSON manuell angegeben habe weiß ich nicht mehr.
Gruß, Stefan
Hi Ulf,
ich habe mit der neuesten Version (0.4.3) wieder Probleme meinen kdl-w805 auszuschalten.
Es ging ja eh nicht via off, sondern via shutdown, aber das geht nun auch nicht mehr? Ist da eine Änderung evtl. beim letzten Update wieder rausgeflogen?
Ist es eigtl. auch möglich eine Nachricht an den TV zu senden? Wäre in Verbindung mit dem Callmonitor natürlich klasse.
Gruß,
Tobi
Hallo Tobi,
Ich habe mittlerweile gelernt, dass die Registrierung bei den neueren TVs nur 14 Tage gilt, dann muss der Cookie aktualisiert werden. Da bin ich gerade dran. Das könnte also das Problem bei dir erklären.
Kannst du per SideView Nachrichten schicken? Bei mir kann ich das zwar in der App auswählen, aber dann kommt nur die Meldung, dass mein Sony das nicht unterstützt. Falls das bei dir funktioniert, wäre ein Capture hilfreich.
Gruß Ulf
Hi Ulf,
Zitat von: vuffiraa am 07 März 2015, 11:52:10
Hallo Tobi,
Ich habe mittlerweile gelernt, dass die Registrierung bei den neueren TVs nur 14 Tage gilt, dann muss der Cookie aktualisiert werden. Da bin ich gerade dran. Das könnte also das Problem bei dir erklären.
Aber dürfte dann Volume Regulierung gehen?
Zitat
Kannst du per SideView Nachrichten schicken? Bei mir kann ich das zwar in der App auswählen, aber dann kommt nur die Meldung, dass mein Sony das nicht unterstützt. Falls das bei dir funktioniert, wäre ein Capture hilfreich.
Wo genau hast Du das denn in der App? Finde da gar keinen Menüpunkt NAchricht an TV oder so?
Gruß,
TObi
Zitat von: onkel-tobi am 07 März 2015, 14:01:09
Hi Ulf,
Aber dürfte dann Volume Regulierung gehen?Wo genau hast Du das denn in der App? Finde da gar keinen Menüpunkt NAchricht an TV oder so?
Gruß,
TObi
In der Titelzeile der App auf das Fernbedienungssymbol gehen und dann wieder rechts im Popup den Modus, der so nach einem Pad aussieht.
Bei Volume meinst du Vol+/-. Hmm, schwer zu sagen. Kannst du mir mal deine Readings schicken, dann kann ich kontrollieren, was als Power Off gesendet wird.
Gruß Ulf
Meinst Du das Symbol rechts neben dem Pfeil?
Das ist mMn Keyboard und funktioniert bei mir auch nur wenn du gerade ein Eingabefeld am TV offen hast (z.B: Browser).
Hier meine readings:
Da copy und paste nicht wirklich shcön war als screen im Attachment.
Wenn ich mir da das mit der UUID anschaue, kann das natürlich hinkommen. KOmisch ist dann nur, dass er bei lauter leiser noch reagiert...
Gruß,
Tobi
Hallo Tobi,
Ja genau dieses Symbol meinte ich, aber das passt dann wohl doch nicht. Ad hoc habe ich dann keine Lösung für das Senden von Nachrichten.
Das Power Off könntest du auch noch mal mit verbose=5 loggen. Da könnte man auch sehen, was schief geht. Ansonsten arbeite ich an einer Lösung für das Verlängern der Registrierung.
Gruß Ulf
Hallo Ulf,
hast du zufällig was neues zum Thema Verlängerung der Registrierung?
Gruß,
Tobi
Hallo zusammen,
hier mal meine Test-Rückmeldung zur Nutzung des Modul mit einem KDL-46NX725.
Der modelName wird nur mit 0 angezeigt.
Mit manuell eingestelltem Requestformat JSON reagiert offensichtlich nur die Lautstärke-Steuerung, on/off oder toggle funktionieren nicht channelUp/Down funktionieren ebenfalls nicht.
Mit dem Requestformat xml funktioniert zusätzlich zur Lautstärkesteuerung auch channelUp/Down aber wieder nicht on/off/toggle.
Woran könnte es liegen, dass sich der Fernseher in keinem der beiden Modi ein/ausschalten lässt?
Wenn der Modus im Standby ist lässt er sich nicht mit den Power-Funktionen einschalten - ist das so by design oder passt da auch noch etwas nicht.
Welche anderen Funktionen sind testenswert?
Gruß und Danke für die Unterstützung
Stephan
Hallo Stephan,
Dein Modell braucht das Requestformat xml. Das da mehr funktioniert hast du ja schon selbst rausgefunden. Interessant wären Logs mit verbose 5 für das Gerät.
Das Einschalten hat hier schon mit einigen Modellen Probleme gemacht. Meistens funktionierte noch das Ausschalten. Grundsätzlich kann das Modul nur funktionieren, wenn der TV auch im LAN sichtbar ist. Also Einschalten, nachdem der TV richtig aus ist und sich auch aus dem LAN abgemeldet hat, ist mit dem Modul nicht möglich.
Gruß Ulf
Hallo,
danke für die Unterstützung.
Ich habe jetzt mal den Sony auf verbose 5 gesetzt und einige Aktionen mitgeloggt (siehe Anhang).
Wie schon vorher beschrieben: Das Modell des TVs wird nicht erkannt, ChannelUp & Down funktionieren.
Auf On, Off und Toggle reagiert der TV gar nicht, aber in der Status-Anzeige in FHEM wird der Status so angezeigt wir er hätte gesetzt werden sollen - wir der intern gesetzt ohne vom TV gelesen zu werden?
Gruß
Stephan
Hallo Stephan,
mich würden erst mal noch die Readings interessieren.
Kannst du mal probieren, ob er sich abstellt, wenn du per "set remoteControl" den Befehl "STANDBY" sendest? Ansonsten ist das Modul wirklich so geschrieben, dass es nach dem Absetzen des Befehls den Status umsetzt. Der TV antwortet ja auch mit HTTP/1.1 200 OK.
Außerdem kannst du probieren, das "set upnp" auf "on" zu stellen. Hier wären dann auch wieder Logs interessant. Damit könnte die direkte Lautstärkensteuerung gehen.
Gruß
Ulf
Hallo Ulf,
im Anhang ein Log mit angeschaltetem TV.
Der TV ist bei keiner Aktion ausgegangen.
Eine Tonkontrolle kann ich nicht liefern, da ich als Ausgabesystem einen Verstärker definiert habe und der Sony bei einer Lautstärkesteuerung geanua darauf hinweist.
Die Readings sehen nach der AKtion so aus:
area
DEU
2015-03-04 23:12:42
authCookie
0
2015-03-03 18:55:56
channel
0
2015-03-03 18:55:56
channelId
0
2015-03-03 18:55:56
generation
1.0
2015-03-04 23:12:42
input
Broadcast
2015-06-21 15:42:40
modelName
0
2015-03-03 18:55:56
mute
on
2015-03-03 21:48:08
name
BRAVIA
2015-03-04 23:12:42
power
on
2015-06-21 15:42:40
presence
present
2015-06-21 15:42:40
registrationUUID
a202xxxxxxxxxxxxxxxxxxxxxxx3f322
2015-06-08 22:51:12
requestFormat
xml
2015-06-08 23:10:51
state
on
2015-06-21 15:42:40
upnp
on
2015-06-21 15:43:37
volume
17
2015-06-08 22:53:31
Ich hoffe du kannst damit was anfangen.
Gruß
Stephan
Hallo Stephan,
hat etwas gedauert, aber ich habe mir das Log angeschaut. Es werden tatsächliche innerhalb des Logs alle mir bekannten Befehle zum TV gesendet, die für das Ein- und Ausschalten zuständig sind.
Kannst du das Ausschalten mal über eine App probieren? Das ist in iOS z.B. SideView. Falls das funktioniert, könntest du dann per Wireshark mitschneiden, was dazu über die Leitung geht?
Außerdem würden mich die Upnp-Services des TVs interessieren. Im Log hab ich gesehen, dass er auf die Anfragen nach Volume und Mute antwortet, zwar mit Fehlermeldung, aber da scheint was zu laufen. Mit Cling kann man da nachschauen, wie ich es in der Antwort #82 beschrieben hatte.
Viele Grüße,
Ulf
Das Modul arbeitet schon mal grundsätzlich mit meinem KDL-50W815B zusammen. Da der Rest vom Receiver und SAT-Reciever erledigt werden, habe ich nur die Basisfunktion an/aus testen können. Ausschalten funktioniert, Anschalten dagegen nicht. Der Fernseher muss dazu erreichbar sein, so die Fehlermeldung. An bekomme ich ihn aber über etherwake (wol) mit "sudo etherwake fc:f1:52:xx:xx:xx".
Mein 55W805B hängt an meinem AVR, daher kann ich keine Szenen/Bildformate für jeden Ausgang festlegen, da dieser ja nur an einem Ausgang hängt.
Da ich die Eingänge meines AVRs per FHEM bereits umschalte je nach Gerät das ich einschalte, wollte ich auch einfach die Szene am TV umschalten, da ich an meinem HTPC, Kino und nicht Game als Bildeinstellung möchte.
Kann ich mit diesem Modul die Navigationstasten benutzen und Scene Select aufrufen? Die Commands im TV sind vorhanden hab mal die Commandlist per POST Request abgerufen. Muss dann halt per Structure oder so ne Reihenfolge von Befehlen an den TV senden, da man die Szene scheinbar nicht einfach so wechseln kann, aber alles ist besser als das ständig manuell machen zu müssen. (automatisch geht nicht, die Erkennung erkennt den Input immer falsch)
Wollte mir ein eigenes Perl Script schreiben anhand von diesem NodeJS Script (https://github.com/alanreid/bravia/blob/master/lib/index.js) wenns aber schon eins gibt kann ich mir die Mühe sparen. Kann nämlich noch kein Perl.
Edit: Hab gerade mal das Perl Script angeschaut und SceneSelect ist wohl nicht in der Commandlist, kann ich ja aber selbst hinzufügen. Eine Frage dennoch, warum sind die Commands hardcoded im Perl Script?
Zitat von: AitschPi am 20 Juli 2015, 11:56:06
An bekomme ich ihn aber über etherwake (wol) mit "sudo etherwake fc:f1:52:xx:xx:xx".
In Fhem gibt es auch ein Modul WOL, mich würde interessieren, ob du den TV auch damit an bekommst? Das könnte ich dann vielleicht ins Modul integrieren.
Gruß Ulf
Zitat von: shawly am 21 Juli 2015, 09:22:40
Edit: Hab gerade mal das Perl Script angeschaut und SceneSelect ist wohl nicht in der Commandlist, kann ich ja aber selbst hinzufügen. Eine Frage dennoch, warum sind die Commands hardcoded im Perl Script?
Die Kommandos im Perl sind meiner Faulheit geschuldet. Bisher hatte ich keine gravierenden Unterschiede zwischen den Modellen gesehen und wollte mir das Laden und Zuordnen sparen. Es könnte auch noch ein Henne-Ei-Problem dahinter stecken, dass der TV die Kommandos erst rausrückt, wenn Fhem registriert ist, aber es kann sich dann nicht registrieren, da es ja das Kommando noch nicht kennt... Eine feste Liste ist einfacher zu handhaben. Welche Kommandos fehlen dir denn noch, die könnte ich ja erstmal hinzufügen.
Gruß Ulf
{
"method": "actRegister",
"id": 8,
"version": "1.0",
"params": [
{
"clientid": "<ip>:<random-uuid>",
"nickname": "<nickname>",
"level": "private"
},
[{
"value": "yes",
"function": "WOL"
}]
]
}
Dieses JSON in n POST request packen reicht und schon wird der TV registriert, da brauch man eigentlich die Commandliste nicht zusätzlich, registrierst du dich anders?
Welcher Command mir wichtig wäre ist lediglich SceneSelect:
"name": "SceneSelect",
"value": "AAAAAgAAABoAAAB4Aw=="
Kannst du dein Perlscript vielleicht auf Github hochladen?
Zitat von: vuffiraa
In Fhem gibt es auch ein Modul WOL, mich würde interessieren, ob du den TV auch damit an bekommst? Das könnte ich dann vielleicht ins Modul integrieren.
Das war auch der Grund, etherwake zu installieren. Ich hatte nur zwischendurch einen größeren ungeplanten Hardwareumbau und kann das erst in den kommenden Tagen testen (und wenn ich den Fernseher einfach an und ausschalten darf - das geht nur zu bestimmten Zeiten. ;o)
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Zitat von: shawly am 23 Juli 2015, 18:03:17
Dieses JSON in n POST request packen reicht und schon wird der TV registriert, da brauch man eigentlich die Commandliste nicht zusätzlich, registrierst du dich anders?
Welcher Command mir wichtig wäre ist lediglich SceneSelect:
"name": "SceneSelect",
"value": "AAAAAgAAABoAAAB4Aw=="
Kannst du dein Perlscript vielleicht auf Github hochladen?
Du hast natürlich recht, die Registrierung ist einfach ein Stück JSON. Im Modul wird auch nichts anderes gemacht. Aber dieses JSON gilt nur für die neueren TVs, daher muss das Modul erst noch herausbekommen, welchen Sony es steuern soll. Diese Kommandos müsste man wahrscheinlich fest ins Modul schreiben.
Das SceneSelect nehme ich auf. Dauert aber noch ein bisschen, da ich gerade im Urlaub bin. Dann schau ich auch mal, was noch zu einem offiziellen Fhem-Modul fehlt, damit es dann per Update geladen wird.
Gruß Ulf
Gibt es einen Weg, die Registrierung neu zu erzwingen? Irgendwie will das bei der Neuinstallation von Pi mit fhem nicht mehr, obwohl ich im TV schon die Zuweisung manuell gelöscht habe...
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Zitat von: AitschPi am 01 August 2015, 11:41:51
Gibt es einen Weg, die Registrierung neu zu erzwingen? Irgendwie will das bei der Neuinstallation von Pi mit fhem nicht mehr, obwohl ich im TV schon die Zuweisung manuell gelöscht habe...
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Die Registrierung wird eigentlich immer angestoßen, wenn das entsprechende "set" ausgeführt wird. Es sollte ein Eingabefeld bei "set register" angeboten werden, was beim 1. Aufruf leer sein muss. Dann das gleiche noch mal mit der angezeigten PIN. Ansonsten mal das Log prüfen.
Hatte ich bei der vorherigen Installation problemlos machen können. Jetzt macht das der Fernseher nicht mehr mit. Komisch, oder? Ich muss das nochmal mit verbose 5 mitschneiden...
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Hallo Ulf,
deine letzte Anforderung hat mich überfordert: unter meinem Android wurde die alte MediaRemote-App eingestellt, das neue SideView kann ich nutzen aber genau einen TV-Aus-Knopf finde ich partout nicht - gibt's eine Alternative oder wo findet man den OFF-Button?
Unter Cling habe ich im Netz zwar eine UPnP-Library gefunden aber keine Anwendung. Heise.de/downloads führt es auch nicht - die haben eigentlich die gängigen Tools. Was ich machen kann ist beispielsweise mit dem Win Mediaplayer eine beliebige Musikdatei via UPnP auf dem TV abspielen - da sieht man dann vieleicht den UPnP-Handshake. Was genau willst du in dem UPnP-Capture mitgeschnitten haben?
Sorry fürs späte Antworten - ich musste mich erst mal stückchenweise mit dem Thema beschäftigen.
Gruß
Stephan
Hallo Stephan,
Zitat von: StephanH am 21 August 2015, 20:16:06
deine letzte Anforderung hat mich überfordert: unter meinem Android wurde die alte MediaRemote-App eingestellt, das neue SideView kann ich nutzen aber genau einen TV-Aus-Knopf finde ich partout nicht - gibt's eine Alternative oder wo findet man den OFF-Button?
Ich habe bei mir in der SideView App oben rechts ein paar Symbole. Eines davon öffnet eine Fernbedienung. Zumindestens für mein Modell wird auf der Fernbedienung auch ein grüner Power-Toggle-Knopf angezeigt. Eine Alternative ist mir leider nicht bekannt. Die alte App funktioniert nicht mehr?
ZitatUnter Cling habe ich im Netz zwar eine UPnP-Library gefunden aber keine Anwendung. Heise.de/downloads führt es auch nicht - die haben eigentlich die gängigen Tools. Was ich machen kann ist beispielsweise mit dem Win Mediaplayer eine beliebige Musikdatei via UPnP auf dem TV abspielen - da sieht man dann vieleicht den UPnP-Handshake. Was genau willst du in dem UPnP-Capture mitgeschnitten haben?
Cling ist wirklich nur eine Library, die per Kommandozeile gestartet werden kann (java -jar clingxxx.jar). Bei der Ausführung öffnet sich dann eine recht technische Oberfläche. Ich will hier kein Capture, sondern eine Beschreibung welche Upnp-Services mit welchen Parametern dein TV anbietet. Es könnte sein, dass hier noch ein Service zu finden ist, der das Ausschalten des TV übernehmen kann. Aber wie du schon gemerkt hast, geht das schon in Richtung der internen Daten von Upnp.
Viele Grüße,
Ulf
Hallo,
ich bin sehr neu beim Umgang mit FHEM und probiere grade erst mit meinem Onkyo AVR und SONY TV etwas rum um in die Materie zu kommen.
Ich habe einen Sony KDL-55W805B und habe die letzte Modul Version zum laufen bekommen allerdings mit Einschränkungen:
- Der TV wurde erkannt aber das Modell nicht
- Ich konnte die FB registrieren
- Nun kann ich die Lautstärke, Channel UP/DOWN und Auschalten ausführen.
- Anschalten geht nicht
- Der Input wird nicht erkannt, wird nur als - angezeigt
Dies ist mein Fazit nach erster Spielerei
Wie kann ich nun einen Beitrag dazu leisten das Modul zu verbessern?
Ich habe bisher nichts weiter gemacht als das Modul zu aktivieren, den define Befehl auszuführen und die FB zu registrieren.
Grüße
Dirk
Edit: Das Modell wird nun doch erkannt! Aber Einschalten geht einfach nicht. Ausschalten geht ohne Probleme über set off und set remotecontroll standby. Nach dem Ausschalten wird das Gerät unter FHEM aber weiterhin als eingeschaltet angezeigt.
Zitat von: Dersch am 25 August 2015, 19:16:32
Edit: Das Modell wird nun doch erkannt! Aber Einschalten geht einfach nicht. Ausschalten geht ohne Probleme über set off und set remotecontroll standby. Nach dem Ausschalten wird das Gerät unter FHEM aber weiterhin als eingeschaltet angezeigt.
Ist der TV per LAN oder WLAN verbunden? Schau mal in deinem Router ob der TV nach dem Einschalten weiterhin im Netzwerk bleibt, also im Hintergrund noch weiterhin verbunden ist, wenn nicht, dann kann das Modul auch nicht mehr auf die Schnittstelle zugreifen.
Wenn der TV per LAN verbunden ist, dann kannst du ihn per WOL Modul einschalten, sofern WOL nicht bereits in dem Sony Modul integriert ist, wenn nicht über WOL, dann muss es eine Option im Menü geben, den TV weiterhin im Netzwerk zu belassen wenn er in den Standby geht, wenn es diese Option nicht gibt, dann gibt es keine Möglichkeit ihn so einzuschalten.
Mein TV ist über ne Funksteckdose verbunden welche ich per FHEM ein- und ausschalte und der TV schält sich auch ein sobald er Strom bekommt oder bleibt im Standby wenn er vor dem trennen des Stroms im Standby war, ist auch ein Sony KDL-55W805B. :)
Hallo, der TV ist via LAN verbunden und bleibt weiterhin via LAN verfügbar. Über WOl starten kann ich ihn.
Ich habe im TV Menü eine Netzwerkfunktion "Remote-Start" gefunden und diese auf ein geschaltet. Aber gebracht hat das leider nichts. Wenn ich das Einschalten mittels WOL bei FHEM eingerichtet bekomme ist das aber auch OK für mich.
Werden bei dir denn die Inputs angezeigt? Diese wären für mich wichtig aber ich kann diese nicht umschalten noch sehen.
Zitat von: Dersch am 25 August 2015, 21:10:30
Werden bei dir denn die Inputs angezeigt? Diese wären für mich wichtig aber ich kann diese nicht umschalten noch sehen.
Kann ich dir leider noch nicht sagen, da ich bisher nie dazu gekommen bin, das Modul einzurichten.. sorry :/
Zitat von: Dersch am 25 August 2015, 19:16:32
Sony KDL-55W805B
- Der TV wurde erkannt aber das Modell nicht
- Ich konnte die FB registrieren
- Nun kann ich die Lautstärke, Channel UP/DOWN und Auschalten ausführen.
- Anschalten geht nicht
- Der Input wird nicht erkannt, wird nur als - angezeigt
... Nach dem Ausschalten wird das Gerät unter FHEM aber weiterhin als eingeschaltet angezeigt.
Gleiches Modell, gleiche Ergebnisse. Anschalten geht über das Modul WOL bzw. per etherwake auf der Kommandozeilenebene von Debian/Raspbian.
Oops, gerade gesehen: Meiner ist kleiner, hat nur 'ne 50 vorn. Aber sonst sind die Probleme gleich groß. ;o)
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Zitat von: Dersch am 25 August 2015, 19:16:32
Nach dem Ausschalten wird das Gerät unter FHEM aber weiterhin als eingeschaltet angezeigt.
Das Problem hier ist, dass der TV nach dem Ausschalten noch ein paar Minuten im LAN sichtbar ist. Eigentlich sollte das Modul erkennen, ob er wirklich läuft, aufnimmt oder im Standby ist. Prüfe mal in den Readings state, presence und power.
Beim WOL ist es interessant zu wissen, dass das Fhem Modul hier funktioniert. Man kann mal schauen, ob das integrierbar ist.
Gruß
Ulf
Zitat von: vuffiraa am 27 August 2015, 20:28:30
Beim WOL ist es interessant zu wissen, dass das Fhem Modul hier funktioniert. Man kann mal schauen, ob das integrierbar ist.
Integrieren wäre natürlich toll, aber man kann alternativ doch sicher den WOL Befehl über eine Gruppendefiniton senden. Leider bin ich noch zu Jungfräulich bei FHEM um das umzusetzen.
Sehr wichtig wär für mich noch das Umschalten der Inputs, aber die werden einfach nicht erkannt.
Ich finde es gut, wenn wohl integriert werden würde. Ein Gerät - eine device. Im Modul für ENIGMA2 wurde auch gerade ein wohl eingebaut, welches aber per Attribut auch abgeschaltet werden kann. O-Ton im Forum dort: Es schadet nicht, wenn wohl ggf. zusätzlich gesendet wird.
Codechanges fhem (als Anregung?):
http://sourceforge.net/p/fhem/code/9133/
http://forum.fhem.de/index.php/topic,40410.msg326464.html#msg326464
Forum dazu
http://forum.fhem.de/index.php/topic,14792.msg325791.html#msg325791
http://forum.fhem.de/index.php/topic,14792.msg325048.html#msg325048
Das direkte Umschalten von Inputs ist mir bisher noch nicht untergekommen. Sony hat hier leider keine einzelnen Befehle (soweit ich das mitbekommen habe). Das Modul kann bisher nur eine Senderliste aufbauen und dann die Sender direkt per Name auswählen.
@AitschPi Danke für den Hinweis über das ENIGMA2 Modul.
@vuffiraa
Keine Ursache. Ist ja auch nicht völlig selbstlos, wenn ich Dich direkt auf die code-changes mit dem wol-Teil stoße... ;o)
Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Hallo,
ich habe etwas am Modul weitergebastelt. Die Änderungen zur letzten Version sind:
- der Befehl "SceneSelect" wird per "set remotecontrol" unterstützt
- WOL - dazu muss das Attribute "macaddr" im Gerät definiert werden, dann normal über "set on" anschalten
- Registrierungserneuerung für die aktuelle TV-Generation
Bitte testen ;-)
Gruß,
Ulf
Super Danke!
wird heute noch getestet! :)
Also WOL mit Set ON funktioniert super!
Registrierungserneuerung muss die Zeit zeigen. Und mit SceneSelect kann ich nichst anfangen.
Wie funktioniert das mit der Senderliste?
Und ich hoffe immer noch, dass irgendwann die Inputs zu steuern gehen :)
Nee geht doch nicht so ganz. An geht und Aus auch. Nur erkennt FHEM dann nicht mehr den Aus status und daher kann ich den TV nicht mehr einschalten.
Bezüglich Input gibt es eine Besserung. Ich bekomme nun z.B tv:dvbc oder extInput:hdmi angezeigt. Aber über attr inputs kann ich eingeben was ich wil,l umschalten über set input wird mir immer ein Fehler ausgegeben. Daher denke ich man müsste nur die richtigen Bezeichnungen rausbekommen.
Zitat von: Dersch am 10 September 2015, 18:05:34
Nee geht doch nicht so ganz. An geht und Aus auch. Nur erkennt FHEM dann nicht mehr den Aus status und daher kann ich den TV nicht mehr einschalten.
Bezüglich Input gibt es eine Besserung. Ich bekomme nun z.B tv:dvbc oder extInput:hdmi angezeigt. Aber über attr inputs kann ich eingeben was ich wil,l umschalten über set input wird mir immer ein Fehler ausgegeben. Daher denke ich man müsste nur die richtigen Bezeichnungen rausbekommen.
Wird der AUS Status gar nicht erkannt oder kommt der nach ca. 15 min, wenn der TV sich aus dem LAN abmeldet? Wenn letzteres der Fall ist, sollte er sich dann auch wieder einschalten lassen.
Attr inputs wird nicht verarbeitet. Da habe ich noch einen offenen Punkt ;-)
Die Inputs allgemein werden beim Umschalten eingesammelt. Es sind also nur solche bekannt, die schon mal besucht worden sind. Deine Generation verhält sich da aber auch anders, als mein Sony. Bei mir sehe ich als Input nur TV-Sender, die man dann auch wieder direkt auswählen kann. Hier brauche ich mehr Informationen (Logs, Captures etc.) oder jemanden der mitentwickeln möchte.
Hallo, ich würde dir gerne helfen aber von programmierung habe ich nicht mal basiswissen. :( welche logs und captures helfen dir? Das FHEM log? Wenn du mir genau sagst was du brauchst liefere ich das :) ist nur meine erste Erfahrung mit Fhem daher muss ich noch blöd fragen :)
Der TV steht seit gestern in FHEM permanent auf ON.
Um das permanente ON auszumerzen, würde mir erst mal das normale FHEM log reichen. Dazu im Gerät das Attribute verbose = 5 setzten. Dann wird das log etwas größer ;-) Es interessiert mich der Zeitraum ab dem Abschalten für 15 min.
Zu meinen Kommentar von heute früh, das Einsammeln, was ich da beschrieben habe, bezieht sich auf "set channel". Das hatte ich mit Input verwechselt. Input ist davon leider komplett getrennt.
Hallo zusammen,
vielleicht bin ich etwas doof, ich bekomme die Meldung : Unknown Module BRAVIA.
Wie kann ich das Modul registrieren?
Hi,
also eigtl ist alles was du tun musst das bravia modul herunterzuladen, Rechte anpassen und fhem neu starten.
Gruß,
Tobi
Gesendet von iPhone mit Tapatalk
Hi,
Das Modul muss ins FHEM Verzeichnis gepackt werden. Ansonsten wie Tobi schon beschrieben hat neu starten oder vielleicht reicht auch ein "reload 70_BRAVIA".
Gruß,
Ulf
Jetzt bekomme ich :
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/70_BRAVIA.pm line 45.
BEGIN failed--compilation aborted at ./FHEM/70_BRAVIA.pm line 45.
UPDATE :
Habe die entsprechenden nachträgölich Installationen durchgeführt. Jetzt kommt keine Fehler mehr bei reload 70_BRAVIA
Allerdings bekomme ich immernoch Unknown Module BRAVIA...
Nochmal ein UPDATE:
Nachdem ich das jetzt nochmals mit reload versucht habe und dann shutdown restart eingegeben habe geht fhem gar nicht mehr????
Zitat von: jaguarxxl am 19 September 2015, 15:13:01
Nachdem ich das jetzt nochmals mit reload versucht habe und dann shutdown restart eingegeben habe geht fhem gar nicht mehr????
Hast du eine Fehlermeldung im Log?
Du bekommst noch ein paar Meldungen mehr, wenn du unter "global" das Attribut "verbose" auf 5 setzt.
Hast du schon eine Definition für deinen TV in der Fhem.cfg gespeichert?
Ich würde schrittweise zurück gehen. Also Konfiguration entfernen, dann Modul entfernen.
Gruß
Also habe es einfach nochmal komplett neu aufgesetzt.
Nachdem ich
sudo apt-get install libjson-perl
ausgeführt habe geht gar nicht mehr... Wenn ich das nicht ausführe bekomme ich bei einem reload 70_Bravia wieder
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/70_BRAVIA.pm line 45.
BEGIN failed--compilation aborted at ./FHEM/70_BRAVIA.pm line 45.
Also viellwicht bin ich hier ja auch erstmal im falschen forum.
Ich beschreibe mal was ich getan habe.
Ichhabe nach folgender Anleitung den PI und Fhem installiert: http://www.fhemwiki.de/wiki/FHEM_auf_Raspberry_PI_mit_COC_betreiben#FHEM_Installieren (http://www.fhemwiki.de/wiki/FHEM_auf_Raspberry_PI_mit_COC_betreiben#FHEM_Installieren)
Allerdings : bevor ich irgendwas mit FHEM dann gemacht hab, habe ich noch apt-get install libjson-perl
ausgeführt.
Danach habe ich wie in der Anleitung Fhem gestartet und das Problem das ich wahrscheinliuch die ganze Zeit hatte, kommt an Punkt 19. der Anleitung nachdem ich in der Befehlszeile von FHEM shutdown restart
eingebe. danach lädt FHEM nicht mehr.
Ich habe unter /opt/fhem/fhem.log folgende Ausgabe (in der Hoffnung euch sagt die was) :
2015.09.20 14:52:34 1: Including fhem.cfg
2015.09.20 14:52:34 3: telnetPort: port 7072 opened
2015.09.20 14:52:35 3: WEB: port 8083 opened
2015.09.20 14:52:35 3: WEBphone: port 8084 opened
2015.09.20 14:52:35 3: WEBtablet: port 8085 opened
2015.09.20 14:52:35 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2015.09.20 14:52:35 1: usb create starting
2015.09.20 14:52:35 3: Probing CUL device /dev/ttyAMA0
2015.09.20 14:52:36 3: Can't open /dev/ttyAMA0: Permission denied
2015.09.20 14:52:36 1: usb create end
2015.09.20 14:52:36 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.09.20 14:52:36 0: Server started with 9 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user pi, pid 2403)
2015.09.20 14:53:08 0: Server shutdown
2015.09.20 14:55:40 1: Including fhem.cfg
2015.09.20 14:55:40 3: telnetPort: port 7072 opened
2015.09.20 14:55:40 3: WEB: port 8083 opened
2015.09.20 14:55:40 3: WEBphone: port 8084 opened
2015.09.20 14:55:40 3: WEBtablet: port 8085 opened
2015.09.20 14:55:40 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2015.09.20 14:55:40 1: Including /opt/fhem/log/fhem.save
2015.09.20 14:55:40 1: usb create starting
2015.09.20 14:55:41 3: Probing CUL device /dev/ttyAMA0
2015.09.20 14:55:41 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.09.20 14:55:41 3: Probing FRM device /dev/ttyAMA0
2015.09.20 14:55:47 1: usb create end
2015.09.20 14:55:47 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.09.20 14:55:47 0: Server started with 9 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user pi, pid 2461)
2015.09.20 14:56:07 1: MKDIR restoreDir/2015-09-20
2015.09.20 14:56:07 1: UPD ./CHANGED
2015.09.20 14:56:07 1: UPD ./configDB.pm
2015.09.20 14:56:08 1: UPD ./fhem.cfg.demo
2015.09.20 14:56:08 1: UPD ./fhem.pl
2015.09.20 14:56:08 1: UPD FHEM/00_CM11.pm
2015.09.20 14:56:08 1: UPD FHEM/00_CUL.pm
2015.09.20 14:56:08 1: UPD FHEM/00_FBAHA.pm
2015.09.20 14:56:08 1: UPD FHEM/00_FHZ.pm
2015.09.20 14:56:08 1: UPD FHEM/00_HMLAN.pm
2015.09.20 14:56:09 1: UPD FHEM/00_HXB.pm
2015.09.20 14:56:09 1: UPD FHEM/00_KM271.pm
2015.09.20 14:56:10 1: UPD FHEM/00_LIRC.pm
2015.09.20 14:56:10 1: UPD FHEM/00_MAXLAN.pm
2015.09.20 14:56:10 1: UPD FHEM/00_MQTT.pm
2015.09.20 14:56:10 1: UPD FHEM/00_MYSENSORS.pm
2015.09.20 14:56:10 1: UPD FHEM/00_NetzerI2C.pm
2015.09.20 14:56:10 1: UPD FHEM/00_OWX.pm
2015.09.20 14:56:10 1: UPD FHEM/00_OWX_ASYNC.pm
2015.09.20 14:56:10 1: UPD FHEM/00_RPII2C.pm
2015.09.20 14:56:10 1: UPD FHEM/00_SONOS.pm
2015.09.20 14:56:11 1: UPD FHEM/00_TCM.pm
2015.09.20 14:56:11 1: UPD FHEM/00_THZ.pm
2015.09.20 14:56:12 1: UPD FHEM/00_TUL.pm
2015.09.20 14:56:15 1: UPD FHEM/00_ZWDongle.pm
2015.09.20 14:56:15 1: UPD FHEM/01_FHEMWEB.pm
2015.09.20 14:56:16 1: UPD FHEM/02_FRAMEBUFFER.pm
2015.09.20 14:56:17 1: UPD FHEM/02_HTTPSRV.pm
2015.09.20 14:56:17 1: UPD FHEM/02_RSS.pm
2015.09.20 14:56:17 1: UPD FHEM/09_BS.pm
2015.09.20 14:56:18 1: UPD FHEM/09_CUL_FHTTK.pm
2015.09.20 14:56:18 1: UPD FHEM/09_USF1000.pm
2015.09.20 14:56:19 1: UPD FHEM/10_CUL_HM.pm
2015.09.20 14:56:19 1: UPD FHEM/10_CUL_IR.pm
2015.09.20 14:56:21 1: UPD FHEM/10_EIB.pm
2015.09.20 14:56:21 1: UPD FHEM/10_EnOcean.pm
2015.09.20 14:56:21 1: UPD FHEM/10_FBDECT.pm
2015.09.20 14:56:22 1: UPD FHEM/10_FRM.pm
2015.09.20 14:56:23 1: UPD FHEM/10_FS20.pm
2015.09.20 14:56:24 1: UPD FHEM/10_HXBDevice.pm
2015.09.20 14:56:24 1: UPD FHEM/10_IT.pm
2015.09.20 14:56:24 1: UPD FHEM/10_Itach_IR.pm
2015.09.20 14:56:25 1: UPD FHEM/10_KOPP_FC.pm
2015.09.20 14:56:26 1: UPD FHEM/10_MAX.pm
2015.09.20 14:56:26 1: UPD FHEM/10_MQTT_BRIDGE.pm
2015.09.20 14:56:27 1: UPD FHEM/10_MQTT_DEVICE.pm
2015.09.20 14:56:27 1: UPD FHEM/10_MYSENSORS_DEVICE.pm
2015.09.20 14:56:27 1: UPD FHEM/10_OWServer.pm
2015.09.20 14:56:27 1: UPD FHEM/10_RESIDENTS.pm
2015.09.20 14:56:27 1: UPD FHEM/10_SOMFY.pm
2015.09.20 14:56:28 1: UPD FHEM/10_UNIRoll.pm
2015.09.20 14:56:29 1: UPD FHEM/10_ZWave.pm
2015.09.20 14:56:33 1: http://fhem.de/fhemupdate/FHEM/10_ZWave.pm: Can't connect(1) to http://fhem.de:80: IO::Socket::INET: connect: timeout
2015.09.20 14:56:34 0: Server shutdown
2015.09.20 14:56:37 1: Including fhem.cfg
2015.09.20 14:56:37 3: telnetPort: port 7072 opened
2015.09.20 14:56:37 3: WEB: port 8083 opened
2015.09.20 14:56:37 3: WEBphone: port 8084 opened
2015.09.20 14:56:37 3: WEBtablet: port 8085 opened
2015.09.20 14:56:37 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2015.09.20 14:56:37 1: Including /opt/fhem/log/fhem.save
2015.09.20 14:56:37 1: usb create starting
2015.09.20 14:56:38 3: Probing CUL device /dev/ttyAMA0
2015.09.20 14:56:38 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.09.20 14:56:38 3: Probing FRM device /dev/ttyAMA0
2015.09.20 14:56:44 1: usb create end
2015.09.20 14:56:44 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.09.20 14:56:44 0: Featurelevel: 5.6
2015.09.20 14:56:44 0: Server started with 9 defined entities (version $Id: fhem.pl 9218 2015-09-09 19:43:43Z rudolfkoenig $, os linux, user fhem, pid 2468)
Undefined subroutine &main::TcpServer_WriteBlocking called at ./FHEM/01_FHEMWEB.pm line 1576.
Ich glaube, dein Problem hat nichts mit dem Modul zu tun. Im Log sieht man, das ein Update von Fhem angefangen wurde. Die Zeilen mit UPD/FHEM .... Da die Liste nur bis zu den Modulen 10_* geht, fehlen da nach meinem Verständnis noch einige Module. Danach gibt es im Log auch eine passende Fehlermeldung, dass keine Verbindung zu Fhem.de aufgebaut werden kann. Damit ist die Installation inkonsistent und startet nicht mehr.
Kannst du die Installation zurücksetzen? Ansonsten würde ich mit dem Log mal im Anfängerforum nachfragen, was zu tun ist.
Dachte ich mir schon...
Wenn ich das erledigt habe werde ich hier weiter machen :) Aber danke ertsmal :-)
Hallo,
ich versuche das Register gerade in meiner FHEM Installation auf Windows.
Ich bekomme beim Register die Meldung, dass die Funktion "createUniqueId" unbekannt ist.
Ist das eine FHEM Funktion und ich muss FHEM Updaten oder ist das eine Perl Funktion und ich muss ein Paket hinzunehmen!?
Über Hinweise wäre ich dankbar!
Adam
"createUniqueId" ist eine Funktion von Fhem. Fhem updaten sollte daher helfen. Die Funktion wurde im Januar 2015 in Fhem aufgenommen.
Gruß,
Ulf
Hallo alle zusammen,
ich habe mittlerweile die Probleme lösen können. Meni Update und der Rest funktionieren super.
Jatzt habe ich auch die json.pm Meldung nicht mehr.
Allerdings klappt das mit dem Modul immernoch nicht richtig.
- Ich lade die datei in den entsprechenden Ordner mit entsprechender Berechtigung
- Danach mache ich ein reload 70_Bravia ohne eine Fehlermeldung
- Danach will ich dann meinen Fernseher hinzufügen und bekomme die Meldung - Unknown Module.
Hier die Logdatei :
2015.09.29 17:09:07 5: Initializing Type Library:
2015.09.29 17:09:07 1: Including fhem.cfg
2015.09.29 17:09:07 5: Cmd: >attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride<
2015.09.29 17:09:07 5: Cmd: >attr global autoload_undefined_devices 1<
2015.09.29 17:09:07 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2015.09.29 17:09:07 5: Cmd: >attr global modpath .<
2015.09.29 17:09:07 5: Cmd: >attr global motd SecurityCheck:
WEB,WEBphone,WEBtablet has no basicAuth attribute.
Restart FHEM for a new check if the problem is fixed,
or set the global attribute motd to none to supress this message.
<
2015.09.29 17:09:07 5: Cmd: >attr global statefile ./log/fhem.save<
2015.09.29 17:09:07 5: Cmd: >attr global verbose 5<
2015.09.29 17:09:07 5: Cmd: >define WEB FHEMWEB 8083 global<
2015.09.29 17:09:07 5: Loading ./FHEM/01_FHEMWEB.pm
2015.09.29 17:09:07 3: WEB: port 8083 opened
2015.09.29 17:09:07 5: Cmd: >attr WEB stylesheetPrefix dark<
2015.09.29 17:09:07 5: Cmd: >define WEBphone FHEMWEB 8084 global<
2015.09.29 17:09:07 3: WEBphone: port 8084 opened
2015.09.29 17:09:07 5: Cmd: >attr WEBphone stylesheetPrefix smallscreen<
2015.09.29 17:09:07 5: Cmd: >define WEBtablet FHEMWEB 8085 global<
2015.09.29 17:09:07 3: WEBtablet: port 8085 opened
2015.09.29 17:09:07 5: Cmd: >attr WEBtablet stylesheetPrefix touchpad<
2015.09.29 17:09:07 5: Cmd: >define Logfile FileLog ./log/fhem-%Y-%m.log fakelog<
2015.09.29 17:09:07 5: Loading ./FHEM/92_FileLog.pm
2015.09.29 17:09:07 5: Cmd: >define autocreate autocreate<
2015.09.29 17:09:07 5: Loading ./FHEM/98_autocreate.pm
2015.09.29 17:09:07 5: Cmd: >attr autocreate filelog ./log/%NAME-%Y.log<
2015.09.29 17:09:07 5: Cmd: >define eventTypes eventTypes ./log/eventTypes.txt<
2015.09.29 17:09:07 5: Loading ./FHEM/91_eventTypes.pm
2015.09.29 17:09:07 2: eventTypes: loaded 22 events from ./log/eventTypes.txt
2015.09.29 17:09:07 5: Cmd: >define initialUsbCheck notify global:INITIALIZED usb create<
2015.09.29 17:09:07 5: Loading ./FHEM/91_notify.pm
2015.09.29 17:09:07 5: Cmd: >define googlecalendar weblink iframe https://www.google.com/calendar/embed?src=#########%40googlemail.com&ctz=Europe/Berlin" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"<
2015.09.29 17:09:07 5: Loading ./FHEM/98_weblink.pm
2015.09.29 17:09:07 5: Cmd: >attr googlecalendar room Infos<
2015.09.29 17:09:07 5: Cmd: >define Wetter Weather #########600 de<
2015.09.29 17:09:07 5: Loading ./FHEM/59_Weather.pm
2015.09.29 17:09:07 4: HttpUtils url=http://weather.yahooapis.com/forecastrss?w=########&u=c
2015.09.29 17:09:07 4: http://weather.yahooapis.com/forecastrss?w=##########&u=c: HTTP response code 200
2015.09.29 17:09:07 4: HttpUtils http://weather.yahooapis.com/forecastrss?w=12835064&u=c: Got data, length: 2694
2015.09.29 17:09:07 4: Weather Wetter: T: 18 H: 42 W: 18 P: 1032
2015.09.29 17:09:07 5: Cmd: >attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction<
2015.09.29 17:09:07 5: Cmd: >attr Wetter group Umwelt<
2015.09.29 17:09:07 5: Cmd: >define FileLog_Wetter FileLog ./log/Wetter-%Y.log Wetter<
2015.09.29 17:09:07 5: Cmd: >attr FileLog_Wetter logtype temp4hum6:wind_speed|humidity|temperature,text<
2015.09.29 17:09:07 5: Cmd: >define w_Wetter weblink htmlCode { WeatherAsHtmlD("Wetter") }<
2015.09.29 17:09:07 5: Cmd: >attr w_Wetter group Umwelt<
2015.09.29 17:09:07 5: Cmd: >attr w_Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"<
2015.09.29 17:09:07 5: Cmd: >attr w_Wetter room Infos<
2015.09.29 17:09:07 5: Cmd: >define SVG_0 SVG FileLog_Wetter:temp4hum6:CURRENT<
2015.09.29 17:09:07 5: Loading ./FHEM/98_SVG.pm
2015.09.29 17:09:08 1: Including ./log/fhem.save
2015.09.29 17:09:08 5: Cmd: >setstate FileLog_Wetter active<
2015.09.29 17:09:08 5: Cmd: >setstate Logfile active<
2015.09.29 17:09:08 5: Cmd: >setstate SVG_0 initialized<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter T: 18 H: 42 W: 18 P: 1032<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 city ########, Germany<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 code 28<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 condition überwiegend wolkig<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 current_date_time 29 Sep 2015 3:58 pm CEST<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 day_of_week Di<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_code 31<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_condition klar<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_day_of_week Di<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_high_c 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_icon sunny<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc1_low_c 8<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_code 32<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_condition sonnig<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_day_of_week Mi<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_high_c 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_icon sunny<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc2_low_c 6<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_code 32<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_condition sonnig<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_day_of_week Do<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_high_c 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_icon sunny<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc3_low_c 5<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_code 32<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_condition sonnig<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_day_of_week Fr<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_high_c 19<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_icon sunny<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc4_low_c 6<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_code 34<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_condition heiter<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_day_of_week Sa<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_high_c 20<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_icon mostly_sunny<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 fc5_low_c 10<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 humidity 42<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 icon mostlycloudy<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 pressure 1032<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 pressure_trend 2<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 pressure_trend_sym -<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 pressure_trend_txt fallend<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 state T: 18 H: 42 W: 18 P: 1032<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 temp_c 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 temp_f 64<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 temperature 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 visibility<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 wind 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 wind_chill 18<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 wind_condition Wind: NO 18 km/h<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 wind_direction 50<
2015.09.29 17:09:08 5: Cmd: >setstate Wetter 2015-09-29 17:06:37 wind_speed 18<
2015.09.29 17:09:08 5: Cmd: >setstate autocreate active<
2015.09.29 17:09:08 5: Cmd: >setstate eventTypes active<
2015.09.29 17:09:08 5: Cmd: >setstate global <no definition><
2015.09.29 17:09:08 5: Cmd: >setstate googlecalendar initialized<
2015.09.29 17:09:08 5: Cmd: >setstate initialUsbCheck 2015-09-29 17:06:37<
2015.09.29 17:09:08 5: Cmd: >setstate initialUsbCheck 2015-09-29 17:06:37 state active<
2015.09.29 17:09:08 5: Cmd: >setstate w_Wetter initialized<
2015.09.29 17:09:08 5: Triggering global (1 changes)
2015.09.29 17:09:08 5: Notify loop for global INITIALIZED
2015.09.29 17:09:08 5: Triggering initialUsbCheck
2015.09.29 17:09:08 4: initialUsbCheck exec usb create
2015.09.29 17:09:08 5: Cmd: >usb create<
2015.09.29 17:09:08 1: usb create starting
2015.09.29 17:09:08 4: ### ttyAMA0: checking if it is a CUL
2015.09.29 17:09:08 3: Probing CUL device /dev/ttyAMA0
2015.09.29 17:09:08 5: SW: 0a
2015.09.29 17:09:08 5: SW: 560a
2015.09.29 17:09:08 4: got wrong answer for a CUL
2015.09.29 17:09:08 4: ### ttyAMA0: checking if it is a TCM_ESP3
2015.09.29 17:09:08 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.09.29 17:09:08 5: SW: 5500010005700838
2015.09.29 17:09:08 4: got wrong answer for a TCM_ESP3
2015.09.29 17:09:08 4: ### ttyAMA0: checking if it is a FRM
2015.09.29 17:09:08 3: Probing FRM device /dev/ttyAMA0
2015.09.29 17:09:08 5: SW: f9
2015.09.29 17:09:14 5: SW: f079f7
2015.09.29 17:09:14 4: got wrong answer for a FRM
2015.09.29 17:09:14 1: usb create end
2015.09.29 17:09:14 2: SecurityCheck: WEB,WEBphone,WEBtablet has no basicAuth attribute. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.09.29 17:09:14 0: Featurelevel: 5.6
2015.09.29 17:09:14 0: Server started with 13 defined entities (version $Id: fhem.pl 9307 2015-09-25 18:44:20Z rudolfkoenig $, os linux, user fhem, pid 2428)
2015.09.29 17:09:14 4: Connection accepted from FHEMWEB:192.168.178.30:54108
2015.09.29 17:09:14 4: FHEMWEB:192.168.178.30:54108 GET /fhem?XHR=1&inform=type=status;filter=;since=1443539342.451;fmt=JSON×tamp=1443539347443; BUFLEN:0
2015.09.29 17:09:14 4: Connection accepted from FHEMWEB:192.168.178.30:54109
2015.09.29 17:09:14 4: Connection closed for FHEMWEB:192.168.178.30:54108: EOF
2015.09.29 17:09:14 4: Connection accepted from FHEMWEB:192.168.178.30:54110
2015.09.29 17:09:14 4: FHEMWEB:192.168.178.30:54109 GET /fhem?; BUFLEN:0
2015.09.29 17:09:14 4: name: /fhem? / RL:1101 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.29 17:09:14 4: FHEMWEB:192.168.178.30:54110 GET /fhem?; BUFLEN:0
2015.09.29 17:09:14 4: name: /fhem? / RL:1101 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.29 17:09:14 4: Connection closed for FHEMWEB:192.168.178.30:54109: EOF
2015.09.29 17:09:14 4: FHEMWEB:192.168.178.30:54110 GET /fhem?XHR=1&inform=type=status;filter=;since=1443539353;fmt=JSON×tamp=1443539352848; BUFLEN:0
2015.09.29 17:09:17 4: Connection closed for FHEMWEB:192.168.178.30:54110: Connection reset by peer
2015.09.29 17:09:17 4: Connection accepted from FHEMWEB:192.168.178.30:54113
2015.09.29 17:09:17 4: FHEMWEB:192.168.178.30:54113 POST /fhem&cmd=define+TV_Wohnzimmer+BRAVA+192.168.178.20+120; BUFLEN:0
2015.09.29 17:09:17 5: Cmd: >define TV_Wohnzimmer BRAVA 192.168.178.20 120<
2015.09.29 17:09:17 4: name: /fhem&cmd=define+TV_Wohnzimmer+BRAVA+192.168.178.20+120 / RL:1001 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.29 17:09:18 4: FHEMWEB:192.168.178.30:54113 GET /fhem?XHR=1&inform=type=status;filter=;since=1443539356;fmt=JSON×tamp=1443539356128; BUFLEN:0
2015.09.29 17:09:23 4: Connection closed for FHEMWEB:192.168.178.30:54113: Connection reset by peer
2015.09.29 17:09:23 4: Connection accepted from FHEMWEB:192.168.178.30:54115
2015.09.29 17:09:23 4: FHEMWEB:192.168.178.30:54115 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09.log; BUFLEN:0
2015.09.29 17:09:23 4: Connection accepted from FHEMWEB:192.168.178.30:54116
2015.09.29 17:09:23 4: FHEMWEB:192.168.178.30:54116 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09.log; BUFLEN:0
2015.09.29 17:09:23 4: FHEMWEB:192.168.178.30:54116 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539361623; BUFLEN:0
2015.09.29 17:09:35 4: Connection closed for FHEMWEB:192.168.178.30:54116: Connection reset by peer
2015.09.29 17:09:40 4: Connection accepted from FHEMWEB:192.168.178.30:54131
2015.09.29 17:09:40 4: FHEMWEB:192.168.178.30:54131 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539378569; BUFLEN:0
2015.09.29 17:10:03 4: Connection accepted from FHEMWEB:192.168.178.30:54134
2015.09.29 17:10:03 4: FHEMWEB:192.168.178.30:54134 POST /fhem?cmd=save&XHR=1; BUFLEN:0
2015.09.29 17:10:03 5: Cmd: >save<
2015.09.29 17:10:03 5: Triggering global (1 changes)
2015.09.29 17:10:03 5: Notify loop for global SAVE
2015.09.29 17:10:03 4: name: /fhem?cmd=save&XHR=1 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.09.29 17:10:38 4: Connection closed for FHEMWEB:192.168.178.30:54131: Connection reset by peer
2015.09.29 17:10:43 4: FHEMWEB:192.168.178.30:54134 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539441625; BUFLEN:0
2015.09.29 17:11:07 4: Closing inactive connection FHEMWEB:192.168.178.30:54115
2015.09.29 17:13:34 4: Connection accepted from FHEMWEB:192.168.178.30:54288
2015.09.29 17:13:34 4: FHEMWEB:192.168.178.30:54288 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539612687; BUFLEN:0
2015.09.29 17:13:53 4: Connection closed for FHEMWEB:192.168.178.30:54288: Connection reset by peer
2015.09.29 17:13:58 4: Connection accepted from FHEMWEB:192.168.178.30:54381
2015.09.29 17:13:58 4: FHEMWEB:192.168.178.30:54381 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539636513; BUFLEN:0
2015.09.29 17:16:15 4: Connection closed for FHEMWEB:192.168.178.30:54381: Connection reset by peer
2015.09.29 17:16:20 4: Connection accepted from FHEMWEB:192.168.178.30:54454
2015.09.29 17:16:20 4: FHEMWEB:192.168.178.30:54454 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539778681; BUFLEN:0
2015.09.29 17:17:18 4: Connection closed for FHEMWEB:192.168.178.30:54454: Connection reset by peer
2015.09.29 17:17:23 4: Connection accepted from FHEMWEB:192.168.178.30:54459
2015.09.29 17:17:23 4: FHEMWEB:192.168.178.30:54459 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443539362;fmt=JSON×tamp=1443539841754; BUFLEN:0
2015.09.29 17:18:03 4: Connection closed for FHEMWEB:192.168.178.30:54459: Connection reset by peer
2015.09.29 17:18:03 4: Connection accepted from FHEMWEB:192.168.178.30:54462
2015.09.29 17:18:03 4: Connection accepted from FHEMWEB:192.168.178.30:54463
2015.09.29 17:18:03 4: FHEMWEB:192.168.178.30:54462 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09.log; BUFLEN:0
2015.09.29 17:18:03 4: FHEMWEB:192.168.178.30:54463 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09.log; BUFLEN:0
Wenn ich das richtig sehe, hast du dich beim Namen des Moduls vertan. Da fehlt ein 'I'. Es heißt BRAVIA.
Gruß,
Ulf
Oh mann ... man kann aber auch doof sein
Einmal den Befehl eingegeben und seit der ersten mal nicht mehr nach geschaut.
Jetzt gehts natürlich ich Dummerchen.
Danke aber auch für die vorherige Hilfe :-)
Hallo zusammen,
jipppy nun kann ich meinen Sony KDL-55W905A auch mit FHEM einschalten.
Vielen Dank an vuffiraa für das Modul, die Mühe und den super Support!
Gruß hoods
Wird an dem Modul noch weiter gearbeitet? FHEM sieht leider nach wie vor nicht den OFF state zuverlässig und einschalten geht nur sporadisch. Ich würde nun auch eindlich der Bitte nachkommen und Logfile Verbose 5 Daten liefern da ich mich nun etwas intensiver in FHEM einarbeite.
Zitat von: Dersch am 27 Oktober 2015, 14:26:24
Wird an dem Modul noch weiter gearbeitet? FHEM sieht leider nach wie vor nicht den OFF state zuverlässig und einschalten geht nur sporadisch. Ich würde nun auch eindlich der Bitte nachkommen und Logfile Verbose 5 Daten liefern da ich mich nun etwas intensiver in FHEM einarbeite.
Hallo Dersch,
klar arbeite ich weiter an dem Modul. Es soll auch mal offiziell zu Fhem gehören und nicht nur hier Forum verteilt werden. Ich kann nur leider deine Probleme bei mir nicht nachstellen, da mein Sony älter ist. Bisher hat sich noch kein anderer Entwickler gemeldet, der das Modul live an die neueren Sonys anpassen kann. Trotzdem versuche ich die Modulfunktionalität auch auf den neueren Geräten zu unterstützen. Daher brauche ich aber Logs und auch etwas Mithilfe beim Testen.
Helfen würden mir erst mal:
- Logs vom Ausschalten (erfolgreicher/fehlender Statuswechsel)
- Logs vom Einschalten (auch wieder beide Fälle)
- das Ergebnis von 'list <sony>'
Die letzte Version des Moduls hatte ich hier (http://forum.fhem.de/index.php/topic,17094.msg330997.html#msg330997) gepostet.
Gruß Ulf
Hallo!
Erst einmal besten Dank vuffiraa, dass du an diesem Modul arbeitest. Ich setze fhem schon ein paar Jahre ein und hatte mich immer etwas geärgert, dass es zu meinem SonTV kein Modul gab. Das hat endlich ein Ende. :D
Jetzt würde ich gerne helfen, dass das Modul noch ein wenig besser wird. 8)
Ich besitze einen BRAVIA KDL-40NX725
und setze das 70_BRAVIA Modul in der Version Version 0.4.4 ein.
Mit einer älteren Modul Version hatte ich das Modul mit dem Fernseher bereits erfolgreich mit "set SonyTV register" gepairt.
requestFormat steht auf xml.
Was funktioniert:
- Erkennung, ob TV eingeschaltet ist
- VolumeUp und VolumeDown
- ChannelUp und ChannelDown
- Input Erkennung: z.B. Broadcast oder ExtInput
- über "set SonyTV remoteControl xxxx" funktionieren einige Befehle auch "mute ("set SonyTV mute on" geht aber nicht!)
Folgende Probleme sehe ich:
- Readings sind sehr unvollständig
- "set SonyTV mute on" geht nicht
- "set SonyTV volume 40" geht nicht
- Upnp support -> 500er HTTP Error -> s.Log
- "set SonyTV off" aber auch "set SonTV remoteControl POWER" oder "set SonTV remoteControl STANDBY" funktioniert nicht
- "get SonyTV volume" liefert einen falschen Wert.
Model und Version werden nicht erkannt (siehe Readings) im Log aber vorhanden.
Server: Linux/2.6 UPnP/1.0 KDL-40NX725/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40NX725"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40NX725";
Anbei noch mehr Informationen, die helfen sollen das Problem einzugrenzen.
Wenn du noch mehr Informationen/Tests benötigst ... kein Thema.
Sag mir einfach in welcher Reihenfolge wir die Probleme angehen sollen.
Danke vorab für deine Hilfe!
Gruß
extrafein
Die Readings sind wie folgt:
area
DEU
2015-10-30 23:19:20
authCookie
0
2015-10-30 23:31:30
authExpires
0
2015-10-31 00:02:59
channel
0
2015-10-30 23:31:30
channelId
0
2015-10-30 23:31:30
generation
1.0
2015-10-30 23:19:20
input
Others
2015-10-31 08:06:02
modelName
0
2015-10-30 23:31:30
mute
on
2015-10-30 23:29:52
name
BRAVIA
2015-10-30 23:19:20
power
on
2015-10-31 08:02:16
presence
present
2015-10-31 08:02:16
registrationUUID
3e1a9f47cd09f6abc2ad0c3a5ecea7c9
2015-10-30 23:26:34
requestFormat
xml
2015-10-31 00:08:42
state
on
2015-10-31 08:02:16
upnp
on
2015-10-31 00:09:36
volume
1
2015-10-30 23:30:34
Nicht funktionierendes Power Off - Log:
2015.10.31 08:38:56 2: BRAVIA set SonyTV off
2015.10.31 08:38:56 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:38:56 4: BRAVIA SonyTV: REQ ircc/POWER
2015.10.31 08:38:56 5: BRAVIA SonyTV: POST http://192.168.179.27:80/IRCC (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>AAAAAQAAAAEAAAAVAw==</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>)
2015.10.31 08:38:56 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"
Content-Type: text/xml; charset=UTF-8
2015.10.31 08:38:56 5: BRAVIA SonyTV: called function BRAVIA_Set()
2015.10.31 08:38:56 5: BRAVIA SonyTV: called function BRAVIA_Get()
2015.10.31 08:38:56 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 370
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Sat, 31 Oct 2015 07:38:56 GMT
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
err: data: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
2015.10.31 08:38:56 4: BRAVIA SonyTV: RCV ircc/AAAAAQAAAAEAAAAVAw==
2015.10.31 08:38:56 4: BRAVIA SonyTV: RES ircc/AAAAAQAAAAEAAAAVAw== - response
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_Set()
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:38:57 4: BRAVIA SonyTV: REQ getStatus/xml
2015.10.31 08:38:57 5: BRAVIA SonyTV: GET http://192.168.179.27:80/cers/api/getStatus
2015.10.31 08:38:57 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 147
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Sat, 31 Oct 2015 07:38:58 GMT
<?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2015.10.31 08:38:57 4: BRAVIA SonyTV: RCV getStatus/xml
2015.10.31 08:38:57 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:38:57 4: BRAVIA SonyTV: REQ upnp/getVolume
2015.10.31 08:38:57 5: BRAVIA SonyTV: POST http://192.168.179.27:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2015.10.31 08:38:57 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2015.10.31 08:38:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:38:57 4: BRAVIA SonyTV: REQ upnp/getMute
2015.10.31 08:38:57 5: BRAVIA SonyTV: POST http://192.168.179.27:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2015.10.31 08:38:58 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2015.10.31 08:38:58 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Length: 429
Content-Type: text/xml; charset="utf-8"
EXT:
Connection: close
Date: Sat, 31 Oct 2015 07:38:58 GMT
Server: Linux/2.6 UPnP/1.0 KDL-40NX725/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40NX725"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40NX725";
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope> err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:38:58 4: BRAVIA SonyTV: RCV upnp/getVolume
2015.10.31 08:38:58 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:38:58 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Length: 427
Content-Type: text/xml; charset="utf-8"
EXT:
Connection: close
Date: Sat, 31 Oct 2015 07:38:58 GMT
Server: Linux/2.6 UPnP/1.0 KDL-40NX725/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40NX725"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40NX725";
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope> err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:38:58 4: BRAVIA SonyTV: RCV upnp/getMute
2015.10.31 08:38:58 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Funktionierendes VolumeDown - Log:
2015.10.31 08:23:26 2: BRAVIA set SonyTV volumeDown
2015.10.31 08:23:26 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:23:26 4: BRAVIA SonyTV: REQ ircc/VOLDOWN
2015.10.31 08:23:26 5: BRAVIA SonyTV: POST http://192.168.179.27:80/IRCC (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:X_SendIRCC xmlns:u="urn:schemas-sony-com:service:IRCC:1"><IRCCCode>AAAAAQAAAAEAAAATAw==</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>)
2015.10.31 08:23:26 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"
Content-Type: text/xml; charset=UTF-8
2015.10.31 08:23:26 5: BRAVIA SonyTV: called function BRAVIA_Set()
2015.10.31 08:23:26 5: BRAVIA SonyTV: called function BRAVIA_Get()
2015.10.31 08:23:26 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 370
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Sat, 31 Oct 2015 07:23:27 GMT
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
err: data: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:X_SendIRCCResponse xmlns:u="urn:schemas-sony-com:service:IRCC:1">
</u:X_SendIRCCResponse>
</s:Body>
</s:Envelope>
2015.10.31 08:23:26 4: BRAVIA SonyTV: RCV ircc/AAAAAQAAAAEAAAATAw==
2015.10.31 08:23:26 4: BRAVIA SonyTV: RES ircc/AAAAAQAAAAEAAAATAw== - response
Nach dem Start des TV erhalte ich im Log folgendes:
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:02:16 4: BRAVIA SonyTV: REQ getStatus/xml
2015.10.31 08:02:16 5: BRAVIA SonyTV: GET http://192.168.179.27:80/cers/api/getStatus
2015.10.31 08:02:16 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 147
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Sat, 31 Oct 2015 07:02:16 GMT
<?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2015.10.31 08:02:16 4: BRAVIA SonyTV: RCV getStatus/xml
2015.10.31 08:02:16 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:02:16 4: BRAVIA SonyTV: REQ upnp/getVolume
2015.10.31 08:02:16 5: BRAVIA SonyTV: POST http://192.168.179.27:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2015.10.31 08:02:16 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.10.31 08:02:16 4: BRAVIA SonyTV: REQ upnp/getMute
2015.10.31 08:02:16 5: BRAVIA SonyTV: POST http://192.168.179.27:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2015.10.31 08:02:16 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_Set()
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Length: 429
Content-Type: text/xml; charset="utf-8"
EXT:
Connection: close
Date: Sat, 31 Oct 2015 07:02:16 GMT
Server: Linux/2.6 UPnP/1.0 KDL-40NX725/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40NX725"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40NX725";
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope> err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:02:16 4: BRAVIA SonyTV: RCV upnp/getVolume
2015.10.31 08:02:16 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:02:16 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 500 Internal Server Error
Content-Length: 427
Content-Type: text/xml; charset="utf-8"
EXT:
Connection: close
Date: Sat, 31 Oct 2015 07:02:16 GMT
Server: Linux/2.6 UPnP/1.0 KDL-40NX725/1.7
X-AV-Server-Info: av=5.0; cn="Sony Corporation"; mn="BRAVIA KDL-40NX725"; mv="1.7";
X-AV-Physical-Unit-Info: pa="BRAVIA KDL-40NX725";
<?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope> err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:02:16 4: BRAVIA SonyTV: RCV upnp/getMute
2015.10.31 08:02:16 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2015.10.31 08:02:16 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1053.
Hallo extrafein,
Das Modul würde bei dir besser funktionieren, wenn ich verstehen würde, wie Upnp bei dir unterstützt ist. Darüber ist alles, was Volume und Mute betrifft, implementiert.
Ich hatte in Post #82 schon mal beschrieben, dass man mit dem Tool cling sehen kann, welche Upnp Services der TV anbietet. Da gibt es aber auch andere Programme. Vielleicht kannst du dich ja mal in die Thematik einarbeiten.
Gruß Ulf
Hallo Ulf,
erstmal Danke für das Braviamodul :) Ich nenne seit letzem Wochenende einen Bravia x85 c mit Android TV mein Eigen und habe das Braviamodul bei mir erfolgreich installieren können. Scheint auch zu funktionieren soweit.
Mit meinen alten Sony hatte ich über das Presencemodul und einen Lan-Ping meine Stehlampe geschaltet ("TV an" & "dunkel draußen" --> "Licht an"; "TV aus" --> "Licht aus"). Das gleiche wollte ich jetzt wieder machen, allerdings meldet sich der x85 nicht wirklich und zuverlässig ab im Netzwerk womit das Presencemodul so nicht funktioniert. Mit dem Braviamodul war ich zuversichtlicher, da es den Status des Bravia detaillierter auslesen kann. Nach dem Ausschalten sind die für mich wichtigen Status aber meist weiterhin: power = on; presence = present; state = on. Damit bin ich wieder am Anfang ;) Woran könnte das liegen?
Planst du das Modul auch für aktuelle Braviamodelle zu erweitern? Ich bin mir im Moment noch unsicher, wie ich debuggen könnte oder welche Infos nützlich sein könnten?
Hier nur mal ein Ausschnitts eines Logs:
2015.11.30 19:42:57 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2015.11.30 19:42:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.11.30 19:42:57 4: BRAVIA SonyTV: REQ getStatus/json
2015.11.30 19:42:57 5: BRAVIA SonyTV: POST http://192.168.178.40:80/sony/system ({"method":"getPowerStatus","params":[""],"id":1,"version":"1.0"})
2015.11.30 19:42:57 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.11.30 19:42:57 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 39
Connection: close
{"error":[3,"Illegal Argument"],"id":1} err: data: {"error":[3,"Illegal Argument"],"id":1}
2015.11.30 19:42:57 4: BRAVIA SonyTV: RCV getStatus/json
2015.11.30 19:42:57 4: BRAVIA SonyTV: RES getStatus/json - {"error":[3,"Illegal Argument"],"id":1}
2015.11.30 19:42:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2015.11.30 19:42:57 4: BRAVIA SonyTV: REQ getSystemInformation
2015.11.30 19:42:57 5: BRAVIA SonyTV: POST http://192.168.178.40:80/sony/system ({"method":"getSystemInformation","params":[""],"id":1,"version":"1.0"})
2015.11.30 19:42:57 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.11.30 19:42:57 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
Hallo Tihe,
Ich weiß nicht, wie ähnlich dein TV zu den Generationen davor ist. AndroidTV hört sich aber erst mal kompliziert an. An Deinen Logs sieht man auch, dass das Modul eigentlich nur Fehlermeldungen vom TV empfängt.
Um mal auszuloten, was von den mir bekannten Sachen geht, könntest du mal die URLs aus Post 78 versuchen. http://forum.fhem.de/index.php?topic=17094.msg225661#msg225661
Da ich aber keine eigenen Zugriff auf deine Gerätegeneration habe, mach dir bitte nicht zu große Erwartungen. Ich kann das Modul hier und da anpassen, aber nicht blind eine neue Kommunikationsvariante hinzufügen.
Gruß Ulf
Hallo,
danke für die Arbeit an dem Modul!
Ich hab' meinen KDL-40HX756 nun erfolgreich registrieren können :-)
Leider funktioniert das WoL nicht...
Nachfolgend das Log mit verbose 5 und "set on"
2015.12.13 17:16:43 0: Server started with 34 defined entities (fhem.pl:10116/2015-12-06 perl:5.014002 os:linux user:fhem pid:19268)
2015.12.13 17:16:44 1: HMLAN_Parse: hmusb new condition ok
2015.12.13 17:16:45 1: FHEMWEB SSL/HTTPS error:
2015.12.13 17:16:45 3: CUL_HM set Funksteckdose statusRequest
2015.12.13 17:16:45 5: BRAVIA Sony_TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x23aa088) err: 192.168.2.143: No route to host data:
2015.12.13 17:16:45 4: BRAVIA Sony_TV: RCV TIMEOUT getStatus/json
2015.12.13 17:16:45 5: BRAVIA Sony_TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x23a9de8) err: 192.168.2.143: No route to host data:
2015.12.13 17:16:45 4: BRAVIA Sony_TV: RCV TIMEOUT getStatus/xml
2015.12.13 17:16:49 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:16:53 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:16:59 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:16:59 5: BRAVIA Sony_TV: called function BRAVIA_Get()
2015.12.13 17:17:10 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:17:10 2: BRAVIA set Sony_TV on
2015.12.13 17:17:10 4: BRAVIA Sony_TV: Waking up by sending Wake-On-Lan magic package to 5453ED806C6F
2015.12.13 17:17:27 5: BRAVIA Sony_TV: called function BRAVIA_GetStatus()
2015.12.13 17:17:27 5: BRAVIA Sony_TV: called function BRAVIA_SendCommand()
2015.12.13 17:17:27 4: BRAVIA Sony_TV: REQ getStatus/xml
2015.12.13 17:17:27 5: BRAVIA Sony_TV: GET http://192.168.2.143:80/cers/api/getStatus
2015.12.13 17:17:27 5: BRAVIA Sony_TV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.12.13 17:17:30 5: BRAVIA Sony_TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x25b3720) err: 192.168.2.143: No route to host data:
2015.12.13 17:17:30 4: BRAVIA Sony_TV: RCV TIMEOUT getStatus/xml
2015.12.13 17:18:12 5: BRAVIA Sony_TV: called function BRAVIA_GetStatus()
2015.12.13 17:18:12 5: BRAVIA Sony_TV: called function BRAVIA_SendCommand()
2015.12.13 17:18:12 4: BRAVIA Sony_TV: REQ getStatus/xml
2015.12.13 17:18:12 5: BRAVIA Sony_TV: GET http://192.168.2.143:80/cers/api/getStatus
2015.12.13 17:18:12 5: BRAVIA Sony_TV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.12.13 17:18:15 5: BRAVIA Sony_TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x25fc170) err: 192.168.2.143: No route to host data:
2015.12.13 17:18:15 4: BRAVIA Sony_TV: RCV TIMEOUT getStatus/xml
2015.12.13 17:18:23 3: CUL_HM set HM_1F59C2 statusRequest
2015.12.13 17:18:57 5: BRAVIA Sony_TV: called function BRAVIA_GetStatus()
2015.12.13 17:18:57 5: BRAVIA Sony_TV: called function BRAVIA_SendCommand()
2015.12.13 17:18:57 4: BRAVIA Sony_TV: REQ getStatus/xml
2015.12.13 17:18:57 5: BRAVIA Sony_TV: GET http://192.168.2.143:80/cers/api/getStatus
2015.12.13 17:18:57 5: BRAVIA Sony_TV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=0
2015.12.13 17:19:00 5: BRAVIA Sony_TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x26291c0) err: 192.168.2.143: No route to host data:
2015.12.13 17:19:00 4: BRAVIA Sony_TV: RCV TIMEOUT getStatus/xml
2015.12.13 17:19:12 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:19:19 5: BRAVIA Sony_TV: called function BRAVIA_Set()
2015.12.13 17:19:19 2: BRAVIA set Sony_TV on
2015.12.13 17:19:19 4: BRAVIA Sony_TV: Waking up by sending Wake-On-Lan magic package to 5453ED806C6F
Hat schon jemand KDL-40HX756 mit WoL aktiv? Wenn ja, bitte um Infos...
Servus aus Graz,
Gregor
Jetzt darf ich auch mitmachen ;)
Ich fange aus Interesse gerade mit FHEM (auf einer virtuellen Debian-Maschine) an und versuche mich zuerst an der vorhandenen Hardware (Fritzbox 7390 und Sony Bravia KDL-42W706B).
Der TV konnte in FHEM erfolgreich registriert werden, aber auf Kommandos wollte er nicht reagieren. 2 Tage experimentieren brachten folgendes Ergebnis: Die Sony-Firmware (Version PKG2.704EUA) lässt das in den Standard-Einstellungen nicht zu, erst eine Änderung in Einstellungen ->Netzwerk ->Heimnetzwerk-Einstellungen -> IP Control -> Einfache IP-Steuerung auf "Ein" führt zum Erfolg.
Hallo Gregor,
Das wird nicht funktionieren, da der KDL-xxHX75x kein WOL unterstützt. Leider...
Viele Grüße,
Ulf
Hallo vuffiraa,
Herzlichen Dank für die Bereitstellung des Moduls.
Habe es für einen KDL-42W815B eingerichtet und konnte mich auf Anhieb registrieren und das Modul nutzen.
Mir ist aufgefallen, dass die Funktionen 'play' und 'pause' nicht gehen.
In der 'BRAVIA_Set'-Routine wird für diese Funktionen der IRCC-Befehl 'PLAYPAUSE' übergeben, der aber in der Command-Liste nicht definiert ist.
Nach Ändern auf 'TVPAUSE' läuft es nun.
Schreibfehler oder verstehe ich da was nicht ?
Hallo vuffiraa!
Danke für diese klasse Modul! Ich kann meinen KDL-50W805B damit einbinden, umschalten ging auch. Mir ist allerdings nicht klar, wie ich an die Channellist komme?!? Wo sollte diese zu bei fhem zu sehen sein?
Danke für die Antwort!
Gruß,
Dennis
Zitat von: crusader am 21 Dezember 2015, 19:22:49
Hallo vuffiraa,
Herzlichen Dank für die Bereitstellung des Moduls.
Habe es für einen KDL-42W815B eingerichtet und konnte mich auf Anhieb registrieren und das Modul nutzen.
Mir ist aufgefallen, dass die Funktionen 'play' und 'pause' nicht gehen.
In der 'BRAVIA_Set'-Routine wird für diese Funktionen der IRCC-Befehl 'PLAYPAUSE' übergeben, der aber in der Command-Liste nicht definiert ist.
Nach Ändern auf 'TVPAUSE' läuft es nun.
Schreibfehler oder verstehe ich da was nicht ?
Hallo crusader,
Oh, das wurde dann wohl noch nie aufgerufen. Von den Kommados, die ein Sony kennt, könnte es auch noch PAUSE sein. Nach meinem Verständnis ist TVPAUSE für Timeshift gedacht, während PAUSE eher bei der Wiedergabe von Aufnahmen oder Streams Sinn macht.
Ich schau mir das mal an.
Gruß vuffiraa
Zitat von: dsoltau am 22 Dezember 2015, 20:05:20
Hallo vuffiraa!
Danke für diese klasse Modul! Ich kann meinen KDL-50W805B damit einbinden, umschalten ging auch. Mir ist allerdings nicht klar, wie ich an die Channellist komme?!? Wo sollte diese zu bei fhem zu sehen sein?
Danke für die Antwort!
Gruß,
Dennis
Hallo Dennis,
Die Liste siehst du, wenn du im Modul SET CHANNEL auswählst. Dann gibt es ein Dropdown-Menü mit allen bekannten Kanälen. Das Menü ist nicht immer vollständig, da sich das Modul nur die besuchten Kanäle seit dem letzten Start von Fhem merkt.
Gruß vuffiraa
Hallo!
Danke für die Info, ich habe es gestern abend auch noch gesehen. Allerdings muss ich die Channellist noch ein wenig beobachten, da in der Liste maximal 3 Sender sind. Ich melde mich, wenn ich genaueres sagen kann.
Gruß,
Dennis
Zitat von: vuffiraa am 23 Dezember 2015, 11:32:28
Hallo crusader,
...
Nach meinem Verständnis ist TVPAUSE für Timeshift gedacht, während PAUSE eher bei der Wiedergabe von Aufnahmen oder Streams Sinn macht.
...
Gruß vuffiraa
Das ist korrekt.
TVPAUSE leitet den Timeshift-Modus ein und toggelt dann bei jeder Betätigung zwischen play und pause.
Sobald der Timeshift-Modus aktiv ist, wirken auch die "normalen" play- und pause-Tasten, vorher aber nicht.
Das macht die Umsetzung eines 'pause'-Befehls natürlich etwas problematisch.
Noch eine Beobachtung:
Mein Bravia geht nach dem Ausschalten für einige Minuten in eine Art Bereitschaftsmodus. Er ist dann über das Web-Interface noch erreichbar, reagiert aber nicht auf IRCC-Kommandos.
Erst nach einem Power-On (hab es bei mir mit etherwake ausprobiert) ist er wieder voll aktiv.
Das hat bei der aktuellen Modul-Implementierung aber zur Folge, dass in dieser Zeit der Fernseher über fhem nicht wieder eingeschaltet werden kann, weil der Power-On-Befehl nur im 'absent'-Status abgesetzt wird.
Ich hab die entsprechende if-Abfrage mal auskommentiert und kann den Bravia jetzt jederzeit wiedereinschalten.
Gruß
crusader
Hallo crusader,
Ich habe mir überlegt, PAUSE als normalen Befehl umzusetzen und dann noch einen weiteren Befehl für Timeshift hinzuzufügen. Auf der Fernbedienung sind es bei mir auch zwei unterschiedliche Tasten.
Danke für deine Beobachtung zum Power-On, mein TV unterstützt das leider nicht, daher konnte ich es nicht besser testen.
Gruß vuffiraa
Hallo an Alle.
Als erstes vielen Dank an das Forum. Macht bitte weiter so. Super Hilfe und Unterstützung bisher.
Ich kämpfe gerade mit meinem Sony BRAVIA KDL-52W5800,
Ich konnte Ihn in der Linux-Konsole mit curl -v http://192.168.1.110:52323/dmr.xml ansprechen. Die Datei habe ich als Anlage Curl.txt angehängt.
In fhem habe ich ihn auch einbinden können. Leider gehen keine Funktionen.
Die Logdatei von fhem habe ich als Anlage Log.txt beigefügt.
Ich komme hier mit meinem bisherigen Wissen leider nicht mehr weiter. Ich hoffe ihr habt eine Lösung.
Grüße
Marcus
Hallo Marcus,
Kann es sein, dass der TV schon ein älteres Modell ist? Das Modul funktioniert leider erst ab den 2011er Modellen.
Ob doch was geht, könntest du testen, wenn du die URLs aus Post #54 (http://forum.fhem.de/index.php/topic,17094.msg222071.html#msg222071) aufrufst.
Gruß vuffiraa
Hallo vuffiraa.
Danke für deine Rückmeldung. Ich glaub er ist älter als 2011 finde die Unterlagen momentan nicht.
Die 3 Links aus Post 53 gehen leider mit Port :80 nicht.
Mit folgender Adresse http://192.168.1.110:52323/cers/ActionList.xml kommt folgende Meldung:
XML-Verarbeitungsfehler: Kein Element gefunden
Adresse: http://192.168.1.110:52323/cers/ActionList.xml
Zeile Nr. 1, Spalte 1:
Die anderen beiden Links mit :52323 bringen eine weisse Seite und keinen Fehler.
Mit http://192.168.1.110:52323/dmr.xml bekomme ich folgende Seite angezeigt:
Ich hab keine Ahnung wie ich diese hier anzeigen kann?
Siehe bitte meinen ersten Post die Datei Curl.txt
Geht da etwa doch was?
Gruß Marcus
Hallo Marcus,
Die beiden Dateien aus deinem ersten Post hatte ich mir schon angesehen. Im Log sind eigentlich nur die Versuche des Fhem-Moduls zu sehen, mit den TV zu kommunizieren. Leider sind die aber nicht erfolgreich.
Von Sony gibt es noch die App SideView, die zeigt, was per Fhem möglich gemacht werden könnte. Soweit ich geschaut habe, wird dein TV hier aber nicht unterstützt. Daher ist wohl auch mit Fhem und meinen Kenntnissen nicht mehr möglich.
Trotz der schlechten Nachrichten,
ein schönes Wochenende,
Vuffiraa
Hallo Vuffiraa.
Ganz großes Dankeschön für deine Mühe. Nun kann ich mir endlich einen neuen Fernseher kaufen ;D
Auch Dir ein schönes Wochenende.
Gruß Marcus
Ich hab meinen Sony KDL-42W706B gerade mit dem aktuellen Sideview auf einem Xperia Mini mit CyanogenMod 10 gekoppelt. Da klappt sogar das einschalten :)
Kann ich irgendetwas loggen um bei der Weiterentwicklung zu helfen?
Hallo pcbastler,
Klar kannst du Loggen, was nicht so richtig funktioniert. Im Gerät das Attribute verbose = 5 setzen und dann ausprobieren.
Bei deinem Gerät sollte auch das Einschalten per WOL gehen. Momentan geht das aber nur, wenn der TV richtig aus, sprich nicht mehr im LAN sichtbar ist. Das habe ich schon auf meiner Liste.
Gruß,
Vuffiraa
Biem Neustart finde ich jetzt diese Log-Einträge:
2016.01.17 19:56:21 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1081.
2016.01.17 19:56:21 1: PERL WARNING: Use of uninitialized value $newstate in string eq at ./FHEM/70_BRAVIA.pm line 1084.
Zitat von: pcbastler am 19 Januar 2016, 19:27:49
Biem Neustart finde ich jetzt diese Log-Einträge:
...
Die Zeilennummern passen irgendwie nicht zu meiner Version vom Modul. Kannst du das mal mit dieser Version hier probieren: https://github.com/vuffiraa72/fhem_modules/blob/master/70_BRAVIA.pm (https://github.com/vuffiraa72/fhem_modules/blob/master/70_BRAVIA.pm)
Ich habe mich entschlossen, dass Modul in GitHub zu hinterlegen und hier nicht mehr als Anhang zu posten. Damit ist dann auch immer für alle die neueste Version verfügbar.
Gruß vuffiraa
Was spricht dagegen, das Modul ganz offiziell in die FHEM-Verteilung aufzunehmen?
Zitat von: StephanH am 21 Januar 2016, 15:52:10
Was spricht dagegen, das Modul ganz offiziell in die FHEM-Verteilung aufzunehmen?
Das leidige Thema Doku...
Aber du hast eigentlich recht.
Hallo zusammen,
ist es eigtl. möglich seinem TV beizubringen, dass er wenn er aus ist auch nicht mehr im LAN erreichbar ist?
Ich würde gerne Aktionen auslösen, wenn der TV ausgeschaltet wird. Da dies aber von FHEM erst ca. 30 Minuten später erkannt wird macht das wenig Sinn ;)
Gruß,
Tobi
Zitat von: tihe am 30 November 2015, 20:21:53
Hallo Ulf,
erstmal Danke für das Braviamodul :) Ich nenne seit letzem Wochenende einen Bravia x85 c mit Android TV mein Eigen und habe das Braviamodul bei mir erfolgreich installieren können. Scheint auch zu funktionieren soweit.
Servus,
gab es in die Richtung TVs mit Android weitere Vorgehen? Habe gerade auch nach einem SonyTV Modul gesucht und bin natürlich hier gelandet.
Beste Grüße
Andy
Zitat von: onkel-tobi am 29 Januar 2016, 15:41:01
ist es eigtl. möglich seinem TV beizubringen, dass er wenn er aus ist auch nicht mehr im LAN erreichbar ist?
Ich würde gerne Aktionen auslösen, wenn der TV ausgeschaltet wird. Da dies aber von FHEM erst ca. 30 Minuten später erkannt wird macht das wenig Sinn ;)
Ist bei mir auch so. Wahrscheinlich telefoniert er noch solange 'nach Hause' :-\ .
Ich hab' aber festgestellt, dass das der einzige Zustand ist, bei dem das 'channel'-reading den Wert '-' hat und mir ein passendes Userreading angelegt:
attr userReadings ready {ReadingsVal($name,"channel",0) eq "-" ? "off": "on"}
und dazu noch das Intervall auf 10sec gesetzt.
Dann geht 'ready' nach dem Ausschalten recht schnell auf "off".
Zitat von: Andy89 am 29 Januar 2016, 15:48:58
Servus,
gab es in die Richtung TVs mit Android weitere Vorgehen? Habe gerade auch nach einem SonyTV Modul gesucht und bin natürlich hier gelandet.
Beste Grüße
Andy
Hallo Andy,
von meiner Seite gibt es hier nichts Neues. Mir fehlt da einfach das passende Gerät zum Testen. Android TV sieht für mich nach einer komplett anderen Plattform aus und daher wird man auch mit dem aktuellen Modul nicht so viel anfangen können.
Gruß vuffiraa
Zitat von: crusader am 29 Januar 2016, 16:11:55
Ist bei mir auch so. Wahrscheinlich telefoniert er noch solange 'nach Hause' :-\ .
Ich hab' aber festgestellt, dass das der einzige Zustand ist, bei dem das 'channel'-reading den Wert '-' hat und mir ein passendes Userreading angelegt:
attr userReadings ready {ReadingsVal($name,"channel",0) eq "-" ? "off": "on"}
und dazu noch das Intervall auf 10sec gesetzt.
Dann geht 'ready' nach dem Ausschalten recht schnell auf "off".
Eigentlich sollte der State des Modul von "on" über "absent" auf "off" gehen. Wobei das Modul nur mit dem festgelegten Intervall nach dem TV schaut. Das Intervall ist in den Internals zu finden.
Welche States gibt es bei euch? Wird "absent" erreicht, oder geht es gleich zu "off"? "absent" sollte auch der Status während einer Aufnahme sein.
Gruß vuffiraa
Zitat von: vuffiraa am 29 Januar 2016, 19:08:01
Welche States gibt es bei euch? Wird "absent" erreicht, oder geht es gleich zu "off"? "absent" sollte auch der Status während einer Aufnahme sein.
Mein BRAVIA ist in dieser Phase über das web-IF weiterhin erreichbar, daher kommt auch kein 'absent'.
Der einzige Indikator für diesen Zustand ist, dass der Ferseher keine Kommandos annimmt (ausser Wakeup) und das das channel-Reading auf '-' steht.
Zitat von: crusader am 29 Januar 2016, 19:19:59
Mein BRAVIA ist in dieser Phase über das web-IF weiterhin erreichbar, daher kommt auch kein 'absent'.
Der einzige Indikator für diesen Zustand ist, dass der Ferseher keine Kommandos annimmt (ausser Wakeup) und das das channel-Reading auf '-' steht.
Ja, das Verhalten ist mir klar. "Absent" soll auch heißen, dass der TV noch nicht ganz aus ist. Das könnte ein Bug sein, dass du auf channel = "-" prüfen musst und nicht den State verwenden kannst.
Der State wird aus den Readings power und presence berechnet. Power on/off bildet die Sichtbarkeit im LAN ab. Presence present/absent soll abbilden, ob der TV gerade etwas anzeigt.
Gruß vuffiraa
Zitat von: vuffiraa am 29 Januar 2016, 19:36:43
Ja, das Verhalten ist mir klar. "Absent" soll auch heißen, dass der TV noch nicht ganz aus ist. Das könnte ein Bug sein, dass du auf channel = "-" prüfen musst und nicht den State verwenden kannst.
Der State wird aus den Readings power und presence berechnet. Power on/off bildet die Sichtbarkeit im LAN ab. Presence present/absent soll abbilden, ob der TV gerade etwas anzeigt.
Gruß vuffiraa
Ja gut, aber 'presence' wird doch nur hier auf 'absent' gesetzt:
# device not reachable
if ($err) {
...
...
{
$hash->{helper}{AVAILABLE} = 0;
readingsBulkUpdate( $hash, "presence", "absent" );
}
Bleibt also auf auf 'present', solange das TV erreichbar ist.
Welche andere Information willst Du sonst ausnutzen ?
Zitat von: crusader am 29 Januar 2016, 19:53:00
Ja gut, aber 'presence' wird doch nur hier auf 'absent' gesetzt:
# device not reachable
if ($err) {
...
...
{
$hash->{helper}{AVAILABLE} = 0;
readingsBulkUpdate( $hash, "presence", "absent" );
}
Bleibt also auf auf 'present', solange das TV erreichbar ist.
Welche andere Information willst Du sonst ausnutzen ?
Jetzt wo du es schreibst und ich noch mal im Modul nachgeschaut habe, nehme ich alles zurück. Es ist umgekehrt, presence ist die Sichtbarkeit im LAN und power bildet Bild an/aus ab.
Ist die Registrierung eurer Module aktuell? Das Reading power wird mit Hilfe der Informationen zum angezeigten Inhalt errechnet. Das funktioniert nur mit einer gültigen Registrierung.
Zitat von: vuffiraa am 29 Januar 2016, 20:26:16
Ist die Registrierung eurer Module aktuell? Das Reading power wird mit Hilfe der Informationen zum angezeigten Inhalt errechnet. Das funktioniert nur mit einer gültigen Registrierung.
Ja, ist aktuell. 'Power' bleibt aber nach dem Ausschalten 'on'.
Offensichtlich gibt es auf 'getContentInformation' keine Antwort, da alle Info-Felder auf '-' bleiben.
Das müsste eigentlich reichen, um den Ferseher offiziell für 'off' zu erklären.
Stattdessen gilt aber:
if ( $hash->{READINGS}{input}{VAL} eq "Others" || $hash->{READINGS}{input}{VAL} eq "Broadcast" ) {
$newstate = "off";
} else {
$newstate = "on";
Ist da vielleicht 'on' und 'off' vertauscht ?
Zitat von: vuffiraa am 29 Januar 2016, 19:00:34
Hallo Andy,
von meiner Seite gibt es hier nichts Neues. Mir fehlt da einfach das passende Gerät zum Testen. Android TV sieht für mich nach einer komplett anderen Plattform aus und daher wird man auch mit dem aktuellen Modul nicht so viel anfangen können.
Gruß vuffiraa
nicht so viel wie ihr, ja... aber ein bisschen geht auf jeden Fall. zB funktioniert der Pairing Prozess mit einem Code, nach dem man auf JSON umgestellt hat. Der authCookie und die registrationUUID sind auch gefüllt.
Weiterhin funktioniert die Einstellung der Lautstärke (volume mit einer Zahl) Dies funktioniert auch in beide Richtungen. Mute on/off funktioniert auch in beide Richtungen (toggle gar nicht). Ich glaube das wars auch schon..
nun habe ich hier https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html (https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html) ein paar Infos gefunden und mit diesem Code,
curl -XPOST http://192.168.11.33/sony/system --header "Authorization: OjkyYjE=" -d '{"method":"getRemoteControllerInfo","params":[],"id":10,"version":"1.0"}'
habe ich nun auch die richtige Parameterliste erhalten, die habe ich mal in den Anhang gepackt.
Danke schon einmal für deine Hilfe :) :)
edit:
die Inhalte funktionieren auch:
das
Zitatcurl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerStatus","params":[],"id":2,"version":"1.0"}'
erzeugt
Zitat{"result":[{"mode":"off"}],"id":1}
das
Zitatcurl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getPowerStatus","params":[],"id":2,"version":"1.0"}'
erzeugt
Zitat{"result":[{"status":"active"}],"id":2}
das
Zitatcurl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemInformation","params":[],"id":4,"version":"1.0"}'
ezeugt
Zitat{"auth_url":{"default":"http:\/\/192.168.2.5:80\/sony\/webauth\/auth_default","tv":"http:\/\/127.0.0.1:80\/sony\/webauth\/auth_tv"},"error":[403,"Forbidden"],"id":4}
das
Zitatcurl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getSystemSupportedFunction","params":[],"id":5,"version":"1.0"}'
ezeugt
Zitat{"result":[[{"option":"WOL","value":"AA:9B:0A:BA:94:0C"}]],"id":5}
edit2:
Zitatcurl -v -XPOST http://192.168.11.33/sony/system -d '{"method":"getInterfaceInformation","params":[],"id":2,"version":"1.0"}'
erzeugt
Zitat{"result":[{"productCategory":"tv","productName":"BRAVIA","modelName":"KD-65X8505C","serverName":"","interfaceVersion":"3.6.0"}],"id":2}
Zitat von: crusader am 29 Januar 2016, 21:13:37
Ja, ist aktuell. 'Power' bleibt aber nach dem Ausschalten 'on'.
Offensichtlich gibt es auf 'getContentInformation' keine Antwort, da alle Info-Felder auf '-' bleiben.
Das müsste eigentlich reichen, um den Ferseher offiziell für 'off' zu erklären.
Stattdessen gilt aber:
if ( $hash->{READINGS}{input}{VAL} eq "Others" || $hash->{READINGS}{input}{VAL} eq "Broadcast" ) {
$newstate = "off";
} else {
$newstate = "on";
Ist da vielleicht 'on' und 'off' vertauscht ?
Wahrscheinlich ist es nicht so einfach. Das input-Reading wird schon vorher bei getStatus gesetzt. Wenn getContentInformation nun keine Daten liefert, ist der TV im Standby. Welchen Wert hat Input bei dir, wenn Channel "-" ist?
Zitat von: vuffiraa am 29 Januar 2016, 21:43:48
Welchen Wert hat Input bei dir, wenn Channel "-" ist?
Input bleibt unverändert, also z.B: 'tv:dvbs'
Zitat von: crusader am 29 Januar 2016, 21:56:55
Input bleibt unverändert, also z.B: 'tv:dvbs'
Das war ein guter Hinweis. Ich glaube, ich habe da eine Idee, wo der Fehler liegt. Heute schaffe ich die Änderung aber nicht mehr.
Ich habe das Verhalten beim Statusabfragen etwas geändert, vielleicht hilft es. Die neue Version findet ihr hier (https://github.com/vuffiraa72/fhem_modules/raw/master/70_BRAVIA.pm).
Bitte mal probieren :)
Zitat von: Andy89 am 29 Januar 2016, 21:38:03
nicht so viel wie ihr, ja... aber ein bisschen geht auf jeden Fall. zB funktioniert der Pairing Prozess mit einem Code, nach dem man auf JSON umgestellt hat. Der authCookie und die registrationUUID sind auch gefüllt.
Weiterhin funktioniert die Einstellung der Lautstärke (volume mit einer Zahl) Dies funktioniert auch in beide Richtungen. Mute on/off funktioniert auch in beide Richtungen (toggle gar nicht). Ich glaube das wars auch schon..
nun habe ich hier https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html (https://blog.yrden.de/2014/11/14/remote-control-bravia-tvs-with-authentication.html) ein paar Infos gefunden und mit diesem Code,
curl -XPOST http://192.168.11.33/sony/system --header "Authorization: OjkyYjE=" -d '{"method":"getRemoteControllerInfo","params":[],"id":10,"version":"1.0"}'
habe ich nun auch die richtige Parameterliste erhalten, die habe ich mal in den Anhang gepackt.
Danke schon einmal für deine Hilfe :) :)
edit:
die Inhalte funktionieren auch:
das erzeugt
das erzeugt
dasezeugt
das ezeugt
edit2: erzeugt
Hallo Andy,
das sieht ja doch so aus, als ob sich ein genauerer Blick lohnen könnte. Kannst du vielleicht noch folgende URLs probieren:
curl -v -XPOST http://192.168.178.45/sony/guide -d '{"method":"getMethodTypes","params":[""],"id":1,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/system -d '{"method":"getMethodTypes","params":[""],"id":2,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/videoScreen -d '{"method":"getMethodTypes","params":[""],"id":3,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/audio -d '{"method":"getMethodTypes","params":[""],"id":4,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/avContent-d '{"method":"getMethodTypes","params":[""],"id":5,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/recording -d '{"method":"getMethodTypes","params":[""],"id":6,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/appControl -d '{"method":"getMethodTypes","params":[""],"id":7,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/browser -d '{"method":"getMethodTypes","params":[""],"id":8,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/notification -d '{"method":"getMethodTypes","params":[""],"id":9,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/cec -d '{"method":"getMethodTypes","params":[""],"id":10,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/accessControl -d '{"method":"getMethodTypes","params":[""],"id":11,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/encryption -d '{"method":"getMethodTypes","params":[""],"id":12,"version":"1.0"}'
Eventuell muss du noch den Header ergänzen
-H "Cookie: auth=<authCookie>"
.
<authCookie> mit dem Wert aus den Readings ersetzen.
Gruß vuffiraa
Zitat von: vuffiraa am 30 Januar 2016, 13:11:34
Bitte mal probieren :)
Erste Ergebnisse:
TV: KDL-42W815B
Poll-Intervall: 1 s
Reaktion(change-reading) von power,presence und channel bei TV-Ausschalten:
Test #Off1 15:57:50
2016-01-30 15:57:51 BRAVIA TV off
2016-01-30 15:57:55 BRAVIA TV power: off
2016-01-30 16:03:14 BRAVIA TV presence: absent
Test #Off2 16:05:42
2016-01-30 16:05:43 BRAVIA TV off
2016-01-30 16:05:47 BRAVIA TV power: off
2016-01-30 16:05:47 BRAVIA TV power: on
2016-01-30 16:05:48 BRAVIA TV power: off
2016-01-30 16:11:01 BRAVIA TV presence: absent
2016-01-30 16:05:48 BRAVIA TV power: off
Reaktion(change-reading) von power,presence und channel bei TV-Einschalten:
Test #On1 16:13:47
2016-01-30 16:14:12 BRAVIA TV presence: present
2016-01-30 16:14:12 BRAVIA TV channel: -
2016-01-30 16:14:12 BRAVIA TV power: on
2016-01-30 16:14:31 BRAVIA TV presence: absent
2016-01-30 16:14:31 BRAVIA TV power: off
2016-01-30 16:14:35 BRAVIA TV presence: present
2016-01-30 16:14:35 BRAVIA TV channel: WDR_HD
2016-01-30 16:14:35 BRAVIA TV power: on
2016-01-30 16:14:35 BRAVIA TV presence: absent
2016-01-30 16:14:35 BRAVIA TV power: off
2016-01-30 16:14:35 BRAVIA TV presence: present
2016-01-30 16:14:36 BRAVIA TV power: on
2016-01-30 16:14:36 BRAVIA TV presence: absent
2016-01-30 16:14:36 BRAVIA TV power: off
2016-01-30 16:14:36 BRAVIA TV presence: present
2016-01-30 16:14:37 BRAVIA TV presence: absent
2016-01-30 16:14:37 BRAVIA TV presence: present
2016-01-30 16:14:38 BRAVIA TV power: on
Test #On2 16:26:30
2016-01-30 16:26:55 BRAVIA TV presence: present
2016-01-30 16:26:55 BRAVIA TV channel: -
2016-01-30 16:26:55 BRAVIA TV power: on
2016-01-30 16:27:16 BRAVIA TV presence: absent
2016-01-30 16:27:16 BRAVIA TV power: off
2016-01-30 16:27:18 BRAVIA TV presence: present
2016-01-30 16:27:18 BRAVIA TV channel: WDR_HD
2016-01-30 16:27:18 BRAVIA TV power: on
2016-01-30 16:27:19 BRAVIA TV presence: absent
2016-01-30 16:27:19 BRAVIA TV power: off
2016-01-30 16:27:19 BRAVIA TV presence: present
2016-01-30 16:27:19 BRAVIA TV power: on
Hmmmh
Zitat von: crusader am 30 Januar 2016, 16:34:24
Hmmmh
Du beschwerst dich doch nicht etwa über die wechselnden Zustände ;)
Sind deine Test-Logs vollständig und die Wechsel hören auf, oder geht das immer so weiter?
Kannst du mal das Gerät auf verbose=5 stellen und die Wechsel mitloggen.
Zitat von: vuffiraa am 30 Januar 2016, 16:59:58
Du beschwerst dich doch nicht etwa über die wechselnden Zustände ;)
Kannst du mal das Gerät auf verbose=5 stellen und die Wechsel mitloggen.
Ein Teil des Problems könnte die zu kurze Interval-Zeit sein. Daher hier mal Test mit 3s-Intervall:
Diesmal state,power,presence und channel:
2016-01-30 17:21:05 Global global ATTR TV verbose 4
2016-01-30 17:22:24 BRAVIA TV presence: present
2016-01-30 17:22:24 BRAVIA TV channel: -
2016-01-30 17:22:24 BRAVIA TV power: on
2016-01-30 17:22:24 BRAVIA TV on
2016-01-30 17:22:43 BRAVIA TV presence: absent
2016-01-30 17:22:43 BRAVIA TV power: off
2016-01-30 17:22:43 BRAVIA TV absent
2016-01-30 17:22:44 BRAVIA TV presence: present
2016-01-30 17:22:49 BRAVIA TV channel: Das_Erste_HD
2016-01-30 17:22:49 BRAVIA TV power: on
2016-01-30 17:22:49 BRAVIA TV on
2016-01-30 17:23:08 Global global ATTR TV verbose 0
verbose 5 ist aber wirklich brutal. Wir wollen diesen Server hier ja nicht überlasten.
Daher zunächst mal mit verbose 4:
2016.01.30 17:22:00 2: BRAVIA set TV on
2016.01.30 17:22:00 4: BRAVIA TV: Waking up by sending Wake-On-Lan magic package to D8D43CECC8A6
2016.01.30 17:22:01 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:03 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:04 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:06 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:07 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:09 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:10 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:12 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:13 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:15 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:15 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:15 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:16 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:18 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:18 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:21 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:21 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:24 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:24 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:24 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.01.30 17:22:24 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:24 4: BRAVIA TV: RCV getContentInformation
2016.01.30 17:22:24 4: BRAVIA TV: RES getContentInformation - {"error":[404,"Not Found"]}
2016.01.30 17:22:24 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 17:22:24 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 17:22:24 4: BRAVIA TV: RCV TIMEOUT upnp/getMute
2016.01.30 17:22:24 4: BRAVIA TV: RCV TIMEOUT upnp/getVolume
2016.01.30 17:22:27 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:27 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:27 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.01.30 17:22:27 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:27 4: BRAVIA TV: RCV getContentInformation
2016.01.30 17:22:27 4: BRAVIA TV: RES getContentInformation - {"error":[404,"Not Found"]}
2016.01.30 17:22:27 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 17:22:27 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 17:22:27 4: BRAVIA TV: RCV TIMEOUT upnp/getVolume
2016.01.30 17:22:27 4: BRAVIA TV: RCV TIMEOUT upnp/getMute
2016.01.30 17:22:30 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:30 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:30 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.01.30 17:22:30 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:30 4: BRAVIA TV: RCV getContentInformation
2016.01.30 17:22:30 4: BRAVIA TV: RES getContentInformation - {"error":[404,"Not Found"]}
2016.01.30 17:22:30 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 17:22:30 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 17:22:30 4: BRAVIA TV: RCV TIMEOUT upnp/getMute
2016.01.30 17:22:30 4: BRAVIA TV: RCV TIMEOUT upnp/getVolume
2016.01.30 17:22:33 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:33 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:33 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.01.30 17:22:33 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:33 4: BRAVIA TV: RCV getContentInformation
2016.01.30 17:22:33 4: BRAVIA TV: RES getContentInformation - {"error":[404,"Not Found"]}
2016.01.30 17:22:33 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 17:22:33 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 17:22:33 4: BRAVIA TV: RCV TIMEOUT upnp/getMute
2016.01.30 17:22:33 4: BRAVIA TV: RCV TIMEOUT upnp/getVolume
2016.01.30 17:22:36 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:39 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:42 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:43 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 17:22:44 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:44 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.01.30 17:22:44 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:45 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:45 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:45 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.01.30 17:22:45 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:48 4: BRAVIA TV: REQ getStatus/json
2016.01.30 17:22:49 4: BRAVIA TV: RCV getStatus/json
2016.01.30 17:22:49 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.01.30 17:22:49 4: BRAVIA TV: REQ getContentInformation
2016.01.30 17:22:49 4: BRAVIA TV: RCV getContentInformation
2016.01.30 17:22:49 4: BRAVIA TV: RES getContentInformation - {"id":1,"result":[{"dispNum":"001","durationSec":5820,"programMediaType":"tv","programTitle":"Sportschau live","source":"tv:dvbs","startDateTime":"2016-01-30T16:23:00+0100","title":"Das Erste HD","tripletStr":"1.1019.10301","uri":"tv:dvbs?trip=1.1019.10301&srvName=Das%20Erste%20HD"}]}
2016.01.30 17:22:49 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 17:22:49 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 17:22:50 4: BRAVIA TV: RCV upnp/getVolume
2016.01.30 17:22:50 4: BRAVIA TV: RES upnp/getVolume - <?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentVolume>14</CurrentVolume></u:GetVolumeResponse></s:Body></s:Envelope>
2016.01.30 17:22:50 4: BRAVIA TV: RCV upnp/getMute
2016.01.30 17:22:50 4: BRAVIA TV: RES upnp/getMute - <?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMuteResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentMute>0</CurrentMute></u:GetMuteResponse></s:Body></s:Envelope>
Das erklärt vielleicht auch schon die wechselnde Stati.
Zitat von: crusader am 30 Januar 2016, 17:39:14
Das erklärt vielleicht auch schon die wechselnde Stati.
Die Error-Zeile zwischendurch kannte ich noch nicht. Mein TV antwortet mit Daten oder gar nicht. Mit einem längeren Intervall läuft man natürlich nicht so oft in diesen Zwischenzustand.
Kannst du das gleiche noch mal beim Ausschalten machen?
Zitat von: vuffiraa am 30 Januar 2016, 18:46:55
Die Error-Zeile zwischendurch kannte ich noch nicht. Mein TV antwortet mit Daten oder gar nicht. Mit einem längeren Intervall läuft man natürlich nicht so oft in diesen Zwischenzustand.
Kannst du das gleiche noch mal beim Ausschalten machen?
Das sieht entspannter aus (bei 3s Intervall):
2016-01-30 19:25:05 BRAVIA TV off
2016-01-30 19:25:10 BRAVIA TV power: off
2016-01-30 19:25:10 BRAVIA TV off
2016-01-30 19:30:21 BRAVIA TV presence: absent
2016-01-30 19:30:21 BRAVIA TV absent
2016.01.30 19:25:05 2: BRAVIA set TV off
2016.01.30 19:25:05 4: BRAVIA TV: REQ ircc/STANDBY
2016.01.30 19:25:05 4: BRAVIA TV: RCV ircc/AAAAAQAAAAEAAAAvAw==
2016.01.30 19:25:05 4: BRAVIA TV: RES ircc/AAAAAQAAAAEAAAAvAw== - response
2016.01.30 19:25:06 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:25:06 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:25:06 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.01.30 19:25:06 4: BRAVIA TV: REQ getContentInformation
2016.01.30 19:25:06 4: BRAVIA TV: RCV getContentInformation
2016.01.30 19:25:06 4: BRAVIA TV: RES getContentInformation - {"id":1,"result":[{"dispNum":"002","durationSec":3000,"programMediaType":"tv","programTitle":"Sibel & Max","source":"tv:dvbs","startDateTime":"2016-01-30T19:25:00+0100","title":"ZDF HD","tripletStr":"1.1011.11110","uri":"tv:dvbs?trip=1.1011.11110&srvName=ZDF%20HD"}]}
2016.01.30 19:25:06 4: BRAVIA TV: REQ upnp/getVolume
2016.01.30 19:25:06 4: BRAVIA TV: REQ upnp/getMute
2016.01.30 19:25:06 4: BRAVIA TV: RCV upnp/getMute
2016.01.30 19:25:06 4: BRAVIA TV: RES upnp/getMute - <?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMuteResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentMute>0</CurrentMute></u:GetMuteResponse></s:Body></s:Envelope>
2016.01.30 19:25:06 4: BRAVIA TV: RCV upnp/getVolume
2016.01.30 19:25:06 4: BRAVIA TV: RES upnp/getVolume - <?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolumeResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><CurrentVolume>14</CurrentVolume></u:GetVolumeResponse></s:Body></s:Envelope>
2016.01.30 19:25:09 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:25:10 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:25:10 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:25:12 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:25:12 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:25:12 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:25:15 4: BRAVIA TV: REQ getStatus/json
...Stunden später:
2016.01.30 19:29:17 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:20 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:20 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:20 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:23 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:23 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:23 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:26 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:26 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:26 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:29 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:29 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:29 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:32 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:32 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:32 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:35 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:35 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:35 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:38 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:38 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:38 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:41 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:41 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:41 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:44 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:44 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:44 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:47 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:47 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:47 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:50 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:50 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:50 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:53 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:53 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:53 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:56 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:56 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:56 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:29:59 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:29:59 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:29:59 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:30:02 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:02 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:30:02 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:30:05 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:05 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:30:05 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:30:08 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:08 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:30:08 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:30:11 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:11 4: BRAVIA TV: RCV getStatus/json
2016.01.30 19:30:11 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"standby"}]}
2016.01.30 19:30:14 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:17 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:20 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:21 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:23 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:24 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:26 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:27 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:29 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:30 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:32 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:33 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:35 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:36 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:38 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:39 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:41 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:42 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.01.30 19:30:44 4: BRAVIA TV: REQ getStatus/json
2016.01.30 19:30:45 4: BRAVIA TV: RCV TIMEOUT getStatus/json
Okay, dann behaupte ich mal, dass sich beim Ausschalten alles wie erwartet verhält.
Das "Flackern" des Status erkläre ich mir so, beim Ausschalten über Fhem wird auch gleich der Status auf Off gesetzt, gleichzeitig meldet der TV aber noch, dass er noch an ist. Damit ist der Status erst mal wieder On. Das tritt aber hoffentlich nur auf, wenn man ein sehr kurzes Intervall eingestellt hat.
Um den Einschaltvorgang kümmere ich mich.
Zitat von: vuffiraa am 30 Januar 2016, 20:11:42
Okay, dann behaupte ich mal, dass sich beim Ausschalten alles wie erwartet verhält.
Das "Flackern" des Status erkläre ich mir so, beim Ausschalten über Fhem wird auch gleich der Status auf Off gesetzt, gleichzeitig meldet der TV aber noch, dass er noch an ist. Damit ist der Status erst mal wieder On. Das tritt aber hoffentlich nur auf, wenn man ein sehr kurzes Intervall eingestellt hat.
Um den Einschaltvorgang kümmere ich mich.
Möglicherweise existieren bei einem 1s-Intervall mehrere Instanzen der Getupdate-Funktion parallel.
Ist auf jeden Fall kein Anwendungsfall.
Noch etwas:
Aufwecken aus Standby mit POWER-Befehl geht bei meinem TV nicht. Der braucht auf jeden Fall WOL.
Ansonsten ein tolles Modul. Sollte doch eigentlich reif für die contrib sein.
Zitat von: crusader am 30 Januar 2016, 21:08:38
Möglicherweise existieren bei einem 1s-Intervall mehrere Instanzen der Getupdate-Funktion parallel.
Ist auf jeden Fall kein Anwendungsfall.
Noch etwas:
Aufwecken aus Standby mit POWER-Befehl geht bei meinem TV nicht. Der braucht auf jeden Fall WOL.
Ansonsten ein tolles Modul. Sollte doch eigentlich reif für die contrib sein.
Ok, hier (https://github.com/vuffiraa72/fhem_modules/blob/master/70_BRAVIA.pm) der nächste Versuch.
Ich habe die Logik für On-Off-Standby weiter angepasst und hoffe es jetzt getroffen zu haben.
Außerdem sollte man die Geräte mit WOL jetzt immer einschalten können, außer wenn der Status bereits "on" sagt.
@crusader: Nimmst du vielleicht auch auf eine angeschlossene Platte auf? Wenn ja, was sagt das Modul dazu. Interessant ist genauso, was bei TVPause passiert.
Zitat von: vuffiraa am 31 Januar 2016, 14:45:49
Ok, hier (https://github.com/vuffiraa72/fhem_modules/blob/master/70_BRAVIA.pm) der nächste Versuch.
I
Der Familienrat hat mit Hinweis auf die aktuelle Wetterlage meinen Antrag auf abwechselndes Ein- und Ausschalten des Fernsehers zu Forschungszwecken abgelehnt.
Ich bitte um Geduld.
Zitat von: crusader am 31 Januar 2016, 15:33:09
Der Familienrat hat mit Hinweis auf die aktuelle Wetterlage meinen Antrag auf abwechselndes Ein- und Ausschalten des Fernsehers zu Forschungszwecken abgelehnt.
Ich bitte um Geduld.
Kein Problem :)
Anbei der Einschaltvorgang mit der neuesten Version:
2016-02-01 00:43:24 BRAVIA TV presence: present
2016-02-01 00:43:24 BRAVIA TV off
2016-02-01 00:43:46 BRAVIA TV presence: absent
2016-02-01 00:43:46 BRAVIA TV absent
2016-02-01 00:43:48 BRAVIA TV presence: present
2016-02-01 00:43:49 BRAVIA TV channel: ZDF_HD
2016-02-01 00:43:49 BRAVIA TV power: on
2016-02-01 00:43:49 BRAVIA TV on
2016.02.01 00:43:00 2: BRAVIA set TV on
2016.02.01 00:43:00 4: BRAVIA TV: Waking up by sending Wake-On-Lan magic package to D8D43CECC8A6
2016.02.01 00:43:01 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:03 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:04 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:06 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:07 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:09 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:10 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:12 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:13 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:15 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:15 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:15 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:16 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:18 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:18 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:21 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:21 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:24 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:24 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:24 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.02.01 00:43:27 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:27 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:27 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.02.01 00:43:30 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:30 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:30 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.02.01 00:43:33 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:33 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:33 4: BRAVIA TV: RES getStatus/json - {"error":[404,"Not Found"]}
2016.02.01 00:43:36 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:39 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:42 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:43 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:43 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.02.01 00:43:43 4: BRAVIA TV: REQ getContentInformation
2016.02.01 00:43:45 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:46 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.02.01 00:43:48 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:43:48 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:43:48 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.02.01 00:43:48 4: BRAVIA TV: REQ getContentInformation
2016.02.01 00:43:49 4: BRAVIA TV: RCV getContentInformation
2016.02.01 00:43:49 4: BRAVIA TV: RES getContentInformation - {"id":1,"result":[{"dispNum":"002","durationSec":2700,"programMediaType":"tv","programTitle":"Precht","source":"tv:dvbs","startDateTime":"2016-02-01T00:00:00+0100","title":"ZDF HD","tripletStr":"1.1011.11110","uri":"tv:dvbs?trip=1.1011.11110&srvName=ZDF%20HD"}]}
Vielleicht könnte man auf die 'absent'-Erkennung eine 'Entprellzeit' von einigen Sekunden legen, um den Zwischenzustand am Anfang zu verhindern.
Bei TVPause-Betätigung ändert sich nichts am Status. Sobald Timeshift-Wiedergabe läuft, ändert sich der channel auf '-'.
Log-Ausgabe in diesem Zustand:
2016.02.01 00:55:24 4: BRAVIA TV: REQ getStatus/json
2016.02.01 00:55:24 4: BRAVIA TV: RCV getStatus/json
2016.02.01 00:55:24 4: BRAVIA TV: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.02.01 00:55:24 4: BRAVIA TV: REQ getContentInformation
2016.02.01 00:55:25 4: BRAVIA TV: RCV getContentInformation
2016.02.01 00:55:25 4: BRAVIA TV: RES getContentInformation - {"error":[7,"Illegal State"],"id":1}
Zitat von: crusader am 01 Februar 2016, 00:57:04
Vielleicht könnte man auf die 'absent'-Erkennung eine 'Entprellzeit' von einigen Sekunden legen, um den Zwischenzustand am Anfang zu verhindern.
Bei TVPause-Betätigung ändert sich nichts am Status. Sobald Timeshift-Wiedergabe läuft, ändert sich der channel auf '-'.
'Entprellzeit' ist vielleicht eine Idee, ich weiß aber so direkt nicht, wie ich das Umsetzen kann. Muss ich mal schauen.
Beim Timeshift liefert der TV leider keine guten Daten. Man sieht es in der Error-Zeile in deinem letzten Log. Der Kanal steht normalerweise auch in den Information aus getContentInformation.
Der TV sagt ja auch nicht, dass er im Timeshift-Modus ist. Daher ist der Kanal damit unbekannt und wird auf '-' gesetzt. Ich könnte hier die alten Daten auch erhalten, bisher ist mir diese Error-Zeile aber zu unspezifisch. Dann heißt es nächstes Mal, dass der TV schon längst was anderes macht, aber noch die letzte Sendung in den Daten angezeigt wird ;)
Zitat von: vuffiraa am 01 Februar 2016, 19:58:37
'Entprellzeit' ist vielleicht eine Idee, ich weiß aber so direkt nicht, wie ich das Umsetzen kann. Muss ich mal schauen.
Ist vielleicht auch zu kompliziert gedacht.
Einfacher wäre es, das 'presence'-Signal bei error 404 noch nicht auf present zu setzen. Dann kommt es halt ein paar Sekunden später, bleibt aber stabil.
Übrigens scheint TVSideView den Timeshift-Status erkennen zu können. Die Programme des aktuellen Senders werden dann nämlich im Programmführer mit einem Uhrensymbol verziert.
Bekommst du heraus, wie die App Timeshift erkennt? Kannst du die Kommunikation mitschneiden?
Ob der 404 bereits als 'present' oder nicht interpretiert werden soll, da bin ich offen. Es sollte intuitiv und konsistent sein :)
Hallo vuffiraa,
erstmal vielen Dank für das Modul. Ich finde es super. Seit kurzem bzw. seit der letzte Version kriege ich folgende Fehlermeldung und das Modul wird nicht geladen. Kannst du mir weiterhelfen?
Zitat2016.02.04 23:01:06 2: Switched CUL_0 rfmode to HomeMatic
Bareword found where operator expected at ./FHEM/70_BRAVIA.pm line 6, near ""en" class"
(Missing operator before class?)
Bareword found where operator expected at ./FHEM/70_BRAVIA.pm line 24, near "<title>fhem_modules"
(Missing operator before fhem_modules?)
Bareword found where operator expected at ./FHEM/70_BRAVIA.pm line 24, near "70_BRAVIA"
(Missing operator before BRAVIA?)
2016.02.04 23:01:07 1: reload: Error:Modul 70_BRAVIA deactivated:
Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 48 at ./FHEM/70_BRAVIA.pm line 24, <$fh> line 120.
2016.02.04 23:01:07 0: Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 48 at ./FHEM/70_BRAVIA.pm line 24, <$fh> line 120.
2016.02.04 23:01:08 1: Including ./log/fhem.save
2016.02.04 23:01:08 1: configfile: Cannot load module BRAVIA
Zitat von: evgeni.g am 04 Februar 2016, 23:05:58
Hallo vuffiraa,
erstmal vielen Dank für das Modul. Ich finde es super. Seit kurzem bzw. seit der letzte Version kriege ich folgende Fehlermeldung und das Modul wird nicht geladen. Kannst du mir weiterhelfen?
Das sieht danach aus, dass du den Link direkt als Modul genutzt hast, er zeigt aber erst mal nur auf die GitHub-Seite des Moduls ;) Dort kann man sich das Modul herunterladen. Hier wäre aber auch noch der Link (https://raw.githubusercontent.com/vuffiraa72/fhem_modules/master/70_BRAVIA.pm) zum Quellcode.
Zitat von: vuffiraa am 04 Februar 2016, 20:20:51
Bekommst du heraus, wie die App Timeshift erkennt? Kannst du die Kommunikation mitschneiden?
Die App sendet u.a.:
HTTP 520 POST /sony/avContent HTTP/1.1 (application/json)
Ich nehme an, dass in der Antwort die Information enthalten ist.
Die Antwort hat mein capture-Programm leider nicht erfasst.
Edit:
Sehe gerade, dass diese Anfrage vom BRAVIA-Modul schon verwendet wird.
Vielleicht versteckt sich die Info dann doch in:
HTTP 535 POST /sony/recording HTTP/1.1 (application/json)
{"method":"getScheduleList","params":[{"cnt":100,"stIdx":0}],"id":2981,"version":"1.0"}
Edit2:
Hab die Anfrage mal vom PC abgesendet. Antwort im Timeshift-Modus:
{"id":2981,"result":[[{"channelName":"WDR HD","durationSec":28800,"id":"0","overlapStatus":"notOverlapped","quality":"DR","recordingStatus":"recording","repeatType":"1","startDateTime":"2016-02-05T19:32:35+0100","title":"","type":"recording","uri":"tv:dvbs?trip=1.1201.28331&srvName=WDR%20HD"}]]}
TVSideView vergleicht diese Info wohl mit der aktuellen Programminformation und stellt das im Programmführer entsprechend dar.
Edit3:
Steht ja alles hier:
https://aydbe.com/assets/uploads/2014/11/json.txt (https://aydbe.com/assets/uploads/2014/11/json.txt)
Praktisch ist z.B. diese Abfrage auf /avContent:
{"id":2,"method":"getContentList","version":"1.2","params":[{"source":"tv:dvbs","type":"","cnt":50,"stIdx":""}]}
Liefert eine hübsche Liste der ersten 50 Satelliten-Kanäle.
Da hast du mir ja ganz schön Arbeit verschafft. Die Seite ist super, außer das ich die Sendernamen nicht lesen kann...
Kannst du mit 'getScheduleList' noch etwas rumspielen? Soweit ich das verstehe, ist das die Liste der Aufnahmen. Wenn ich recht habe, hast momentan keine weiteren Aufnahmen gespeichert. Kannst du vielleicht mal etwas regulär aufnehmen. Und dann das Kommando bei der Aufnahme, danach und bei der Wiedergabe probieren.
Ist ja Wochenende ;)
Zitat von: vuffiraa am 06 Februar 2016, 11:49:03
Da hast du mir ja ganz schön Arbeit verschafft. Die Seite ist super, außer das ich die Sendernamen nicht lesen kann...
Kannst du mit 'getScheduleList' noch etwas rumspielen?
Werde ich machen.
Was meinst Du mit "...Sendernamen nicht lesen kann" ?
Zitat von: crusader am 06 Februar 2016, 13:37:39
Was meinst Du mit "...Sendernamen nicht lesen kann" ?
Das war nicht ganz ernst gemeint. Wenn du auf der Webseite schaut, wo eigentlich Sendernamen oder Titel von Sendungen stehen sollten, werden bei mir im Browser lustige Sonderzeichen angezeigt.
Das ist sicherlich nur ein falsches Encoding der Webseite, aber ich bin mir auch sicher, dass sich dahinter die Schriftzeichen einer Sprache verbergen, die ich auch auch nicht lesen könnte. Ich tippe wegen Sony mal ins Blaue, die Beispiele von der Webseite stammen aus Japan...
Hier das Ergebnis:
Programmierte Aufnahmen werden -wie vermutet- ebenfalls in die Schedule-Liste eingetragen, und zwar mit dem gleichen Typ wie Timeshift-Aufnahmen und dem recordingStatus: "notStarted".
Bei der tatsächlichen Aufnahme ändert sich der Status in der Schedule-Liste dann über "preparing" auf "recording".
Der gleiche Status kann auch einfacher über die Abfrage von:
{"id":2,"method":"getRecordingStatus","version":"1.0","params":["1.0"]}
gelesen werden.
Der Unterschied zum Timeshift besteht nur darin, dass bei laufender Timeshift-Wiedergabe die Abfrage von:
{"id":2,"method":"getPlayingContentInfo","version":"1.0","params":["1.0"]}
einen Fehler erzeugt, während bei einer laufenden Aufnahme das aktuelle (und gleichzeitig aufgezeichnete) Programm ausgegeben wird.
Wird die Aufzeichnung im Hintergrund vorgenommen, also bei "ausgeschaltetem" TV, so ergeben alle Anfragen den Fehler:
{"error":[7,"not power-on"],"id":2}
Zitat von: vuffiraa am 30 Januar 2016, 13:23:04
Hallo Andy,
das sieht ja doch so aus, als ob sich ein genauerer Blick lohnen könnte. Kannst du vielleicht noch folgende URLs probieren:
curl -v -XPOST http://192.168.178.45/sony/guide -d '{"method":"getMethodTypes","params":[""],"id":1,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/system -d '{"method":"getMethodTypes","params":[""],"id":2,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/videoScreen -d '{"method":"getMethodTypes","params":[""],"id":3,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/audio -d '{"method":"getMethodTypes","params":[""],"id":4,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/avContent-d '{"method":"getMethodTypes","params":[""],"id":5,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/recording -d '{"method":"getMethodTypes","params":[""],"id":6,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/appControl -d '{"method":"getMethodTypes","params":[""],"id":7,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/browser -d '{"method":"getMethodTypes","params":[""],"id":8,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/notification -d '{"method":"getMethodTypes","params":[""],"id":9,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/cec -d '{"method":"getMethodTypes","params":[""],"id":10,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/accessControl -d '{"method":"getMethodTypes","params":[""],"id":11,"version":"1.0"}'
curl -v -XPOST http://192.168.178.45/sony/encryption -d '{"method":"getMethodTypes","params":[""],"id":12,"version":"1.0"}'
Eventuell muss du noch den Header ergänzen -H "Cookie: auth=<authCookie>"
.
<authCookie> mit dem Wert aus den Readings ersetzen.
Gruß vuffiraa
Servus,
sorry hatte leider keine Zeit zum testen. Heute bin ich dazu gekommen, weil ich aber nicht alles vollspamen will, hab ich den output mal per PDF angehängt.
Bis auf bei 2, gab es überall Antworten :)
Beste Grüße
Andy
Zitat von: Andy89 am 12 Februar 2016, 15:30:25
Servus,
sorry hatte leider keine Zeit zum testen. Heute bin ich dazu gekommen, weil ich aber nicht alles vollspamen will, hab ich den output mal per PDF angehängt.
Bis auf bei 2, gab es überall Antworten :)
Beste Grüße
Andy
Hallo Andy,
Okay, das sieht wirklich nicht schlecht aus. Mir ist aufgefallen, dass du bei den Aufrufen nicht den Cookie verwendet hast, sondern eine andere Authentication. Hast du mehr Infos dazu? Es sieht nicht nach Basic Authentication aus.
Kannst du mal die Readings aus dem Modul posten oder das Ergebnis von List <device>?
Viele Grüße,
Vuffiraa
Hey,
das hab ich irgendwo auf den Seiten gesehen und damit hat es mit der Authentifizierung funktioniert. Der "Code" der da drin steht, ist aus deinem pairing entstanden, der ist ja vierstellig, und wurde noch konvertiert mit einer "Formel" aber ich weiß nicht mehr welche das war...
Soll ich es nochmal mit deinem Coockie versuchen? Aber ich glaube mich zu erinnern, dass die Authentification die "Basic Authentification" ist.
Hier das List:
Internals:
CHANGED
DEF 192.168.177.55
INTERVAL 45
NAME SonyTV
NR 940
STATE on
TYPE BRAVIA
generation
modelName
name
Readings:
2016-01-29 16:09:25 authCookie 9561
2016-01-29 16:04:29 authExpires 0
2016-01-29 16:09:57 channel -
2016-01-29 16:09:57 channelId -
2016-01-29 16:09:57 currentMedia -
2016-01-29 16:09:57 currentTitle -
2016-01-29 16:04:29 generation 0
2016-01-29 18:20:25 input -
2016-01-29 16:04:29 modelName 0
2016-01-30 22:45:08 mute off
2016-01-29 16:04:29 name 0
2016-02-12 11:56:27 power on
2016-02-12 11:56:27 presence present
2016-01-29 21:05:47 registrationUUID 84fe4d828e1650b01bc1fb6d69e8e735
2016-01-29 16:03:02 requestFormat json
2016-02-12 11:56:27 state on
2016-01-29 20:24:18 upnp on
2016-02-11 20:13:15 volume 29
Helper:
ADDRESS 192.168.177.55
AVAILABLE 1
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Supportedapicmds:
getContentInformation 1
getStatus 1
getSystemInformation 1
upnp 0
Attributes:
DbLogExclude .*
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
macaddr ac:9b:0a:ba:xx:0c
room Multimedia
webCmd volume:channelUp:channelDown
Beste Grüße
Andy
Hi Andy,
Wenn es vielleicht nur die andere Authorization ist, könnte ich das Modul umschreiben. Kann du noch mal etwas probieren?
curl -v -XPOST http://192.168.11.33/sony/system --header "Authorization: OjkyY***"
-d '{"method":"getSystemInformation","params":[],"id":4,"version":"1.0"}'
Gruß vuffiraa
Zitat von: vuffiraa am 13 Februar 2016, 11:58:58
Hi Andy,
Wenn es vielleicht nur die andere Authorization ist, könnte ich das Modul umschreiben. Kann du noch mal etwas probieren?
curl -v -XPOST http://192.168.11.33/sony/system --header "Authorization: OjkyY***"
-d '{"method":"getSystemInformation","params":[],"id":4,"version":"1.0"}'
Gruß vuffiraa
Hey,
Das ergibt folgenes
curl -v -XPOST http://192.168.2.77/sony/system --header "Authorization: OjkyY**=" -d '{"method":"getSystemInformation","params":[],"id":4,"version":"1.0"}'
* Trying 192.168.2.77...
* Connected to 192.168.2.77 (192.168.2.77) port 80 (#0)
> POST /sony/system HTTP/1.1
> Host: 192.168.2.77
> User-Agent: curl/7.43.0
> Accept: */*
> Authorization: OjkyY**=
> Content-Length: 68
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 68 out of 68 bytes
< HTTP/1.1 403 Forbidden
< Content-Type: application/json
< Content-Length: 165
< Connection: keep-alive
<
* Connection #0 to host 192.168.2.77 left intact
{"auth_url":{"default":"http:\/\/192.168.2.77:80\/sony\/webauth\/auth_default","tv":"http:\/\/127.0.0.1:80\/sony\/webauth\/auth_tv"},"error":[403,"Forbidden"],"id":4
und mit dem Coockie kommt das hier:
curl -v -XPOST http://192.168.2.77/sony/system -H "Cookie: auth=9265" -d '{"method":"getSystemInformation","params":[],"id":4,"version":"1.0"}'
* Trying 192.168.2.77...
* Connected to 192.168.2.77 (192.168.2.77) port 80 (#0)
> POST /sony/system HTTP/1.1
> Host: 192.168.2.77
> User-Agent: curl/7.43.0
> Accept: */*
> Cookie: auth=9265
> Content-Length: 68
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 68 out of 68 bytes
< HTTP/1.1 403 Forbidden
< Content-Type: application/json
< Content-Length: 165
< Connection: keep-alive
<
* Connection #0 to host 192.168.2.77 left intact
{"auth_url":{"default":"http:\/\/192.168.2.77:80\/sony\/webauth\/auth_default","tv":"http:\/\/127.0.0.1:80\/sony\/webauth\/auth_tv"},"error":[403,"Forbidden"],"id":4}
Beste Grüße
Andy
Hi Andy,
Ich sehe da keinen Unterschied im Response, jedesmal 'Forbidden'. Das authCookie sieht auch nicht richtig aus, das ist sonst eine längere Zeichenkette. Kannst du vielleicht noch mal eine Registrierung über Fhem probieren und dabei im Gerät verbose auf 5 setzen. Die Log-Datei kannst du mir dann auch gerne als PN schicken.
Eine Sache vielleicht noch, wenn es wirklich Basic Authentication wäre, müsste der Header so aussehen: "Authorization: Basic OjkyY**="
Gruß vuffiraa
Zitat von: vuffiraa am 13 Februar 2016, 18:03:07
Hi Andy,
Ich sehe da keinen Unterschied im Response, jedesmal 'Forbidden'. Das authCookie sieht auch nicht richtig aus, das ist sonst eine längere Zeichenkette. Kannst du vielleicht noch mal eine Registrierung über Fhem probieren und dabei im Gerät verbose auf 5 setzen. Die Log-Datei kannst du mir dann auch gerne als PN schicken.
Eine Sache vielleicht noch, wenn es wirklich Basic Authentication wäre, müsste der Header so aussehen: "Authorization: Basic OjkyY**="
Gruß vuffiraa
Hey,
es gibt auch keinen Unterschied im Response. Auch mit "Authorization: Basic OjkyY**=" kommt die gleiche Response. Die Registrierung hatte ich über Fhem gemacht. aber ich machs mal nochmal und schick es dir dann per PM. Am TV steht auch:"Herzlichen Glückwunsch. Ihr Mobildfunkgerät wurde registriert."
Beste Grüße
Andy
P.s.: ich hab mal den Cookie aus dem Logfile gesetzt und siehe da es geht... der Cookie wird also falsch gespeidert. Bekommst gleich das Logfile
Zitat von: Andy89 am 13 Februar 2016, 18:22:38
Hey,
es gibt auch keinen Unterschied im Response. Auch mit "Authorization: Basic OjkyY**=" kommt die gleiche Response. Die Registrierung hatte ich über Fhem gemacht. aber ich machs mal nochmal und schick es dir dann per PM. Am TV steht auch:"Herzlichen Glückwunsch. Ihr Mobildfunkgerät wurde registriert."
Beste Grüße
Andy
P.s.: ich hab mal den Cookie aus dem Logfile gesetzt und siehe da es geht... der Cookie wird also falsch gespeidert. Bekommst gleich das Logfile
Okay, jetzt kommt Licht ins Dunkel. Sony hat etwas an der Schreibweise gespielt, daher erkennt es das Modul nicht. Ich melde mich, sobald ich es dem Modul beigebracht habe ;)
Gruß Vuffiraa
ja geil =) Danke jetzte schon einmal!!!
keinen Stress wegen mir ;) ich hab Zeit.
Beste Grüße
Andy
Hi,
Ist das Einschalten immer noch ein Problem? Das habe ich bei mir anders gelöst. Die Steckdose von Sony ist über FHEM steuerbar. Das Bash Script sendet über GPIO 433 MHz den Befehl an die Steckdose, danach schaltet es den TV über einen RasPi (ssh) am HDMI ein und auf den richtigen HDMI Eingang für das Mediacenter KODI.
Ich weiss, dass ist nicht ganz was Ihr sucht, aber es hat zwei Vorteile. Erstens geht das Einschalten und die Abfrage nach aktuellem TV Status per HDMI Befehl und zweitens braucht mein Bravia ca. eine Minute bevor er im WLAN erreichbar ist (HDMI geht sofort).
Hier mein FHEM.conf Auszug:
# Funksteckdosen 433Mhz
define Fernseher dummy
attr Fernseher room Wohnzimmer
attr Fernseher setList on off
define off_Fernseher notify Fernseher:off {system("/opt/fhem/TV_ausschalten &")}
define on_Fernseher notify Fernseher:on {system("/opt/fhem/TV_einschalten &")}
Und hier meine bash scripte:
osmc@osmc:~$ cat /opt/fhem/TV_einschalten
#!/bin/bash
sudo /usr/sbin/codesend 1118000
sleep 3
ssh root@openelec './TV_Status'
ssh root@openelec './TV_einschalten'
ssh root@openelec './TV_HDMI_RasPi'
ssh root@openelec './TV_Status'
osmc@osmc:~$ cat /opt/fhem/TV_ausschalten
#!/bin/bash
ssh root@openelec './TV_Status'
ssh root@openelec './TV_ausschalten'
ssh root@openelec './TV_Status'
sudo /usr/sbin/codesend 1118003
osmc@osmc:~$ cat TV_Status
echo "pow 0" | cec-client -s -d 1
osmc@osmc:~$ cat TV_einschalten
echo "on 0" | cec-client -s -d 1
osmc@osmc:~$ cat TV_ausschalten
echo "standby 0" | cec-client -s -d 1
osmc@osmc:~$ cat TV_HDMI_RasPi
echo "tx 4F 82 30 00" |
cec-client -s -d 1
Ich hoffe es hilft Euch dennoch weiter
Ich habe die Version im GitHub erweitert. Hier noch mal der Link (https://raw.githubusercontent.com/vuffiraa72/fhem_modules/master/70_BRAVIA.pm).
die folgenden Änderungen betreffen nur Geräte ab den 2013 Serien, also die, die per Json kommunizieren:
- Im Timeshift Modus werden die Aufnahmedaten angezeigt.
- Falls es den Sender noch nicht in der Senderliste gibt, werden die ersten 50 Sender in die Liste geladen.
- MAC-Adresse wird aus den Systemdaten geladen. Attribute 'macaddr' ist damit obsolet. Das Laden der Daten kann man erzwingen, wenn man das Reading 'name' aus dem Gerät löscht.
- Registrierung sollte jetzt auch bei Andy89 funktionieren.
Schon mal Dank an die Tester. Bitte mal darauf achten, ob der Status immer passt bei (An, Aus, Timeshift, Aufnahme mit Tv an/aus).
Gruß Vuffiraa
Zitat von: vuffiraa am 14 Februar 2016, 15:37:28
Ich habe die Version im GitHub erweitert. Hier noch mal der Link (https://raw.githubusercontent.com/vuffiraa72/fhem_modules/master/70_BRAVIA.pm).
die folgenden Änderungen betreffen nur Geräte ab den 2013 Serien, also die, die per Json kommunizieren:
- Im Timeshift Modus werden die Aufnahmedaten angezeigt.
- Falls es den Sender noch nicht in der Senderliste gibt, werden die ersten 50 Sender in die Liste geladen.
- MAC-Adresse wird aus den Systemdaten geladen. Attribute 'macaddr' ist damit obsolet. Das Laden der Daten kann man erzwingen, wenn man das Reading 'name' aus dem Gerät löscht.
- Registrierung sollte jetzt auch bei Andy89 funktionieren.
Schon mal Dank an die Tester. Bitte mal darauf achten, ob der Status immer passt bei (An, Aus, Timeshift, Aufnahme mit Tv an/aus).
Gruß Vuffiraa
Servus,
die Registrierung funktionert nun. RemoteControl funktioniert auch. Statusrequest leider nicht. Hab dir dies bezüglich gleich ne PM geschickt ;)
Der Status An/Aus hat bei mir erst nach einem Neustart funktioniert, nachdem ich das device definiert und das Gerät registriert habe.
Beste Grüße
Andy
Hallo zusammen. Bei meinem Bravia KDL-55W955B funktioniert es wunderbar. Sogar das einschalten mit WOL.
Danke für die super Arbeit!!
Die letzten Änderungen am Modul könnten mal wieder erwähnenswert sein. Hier noch mal der Link (https://raw.githubusercontent.com/vuffiraa72/fhem_modules/master/70_BRAVIA.pm).
Die Änderungen betreffen aber nur 2013er und neuere Modelle , also die, die per Json kommunizieren:
- Es gibt ein neues Attribute "channelsMax" mit dem definiert werden kann, wie viele Sender in der Senderliste angezeigt werden sollen, ansonsten sind es 50.
- Die Eingänge für "set input" werden abgefragt und können dann per Setter ausgewählt werden.
Schon mal Dank an die Tester.
Gruß Vuffiraa
Hallo zusammen !
Ich habe einen Sony KDL-55W805A und möchte von diesm die Information über die Aktuelle Videoquelle abrufen
Das vorgehen habe ich soweit verstanden über POST an http://192.168.188.24/sony/avContent und die enstprechende Methode würde ich an diese Information kommen
Leider habe ich ein Verständnissproblem bei der Registrierung beim TV :-/
wenn ich an http://192.168.188.24/sony/accessControl {"id":13,"method":"actRegister","version":"1.0","params":[{"clientid":"test:1","nickname":"test"},[{"clientid":"test:1","value":"yes","nickname":"test","function":"WOL"}]]} sende, wird auf dem TV der Pin angezeigt...so weit so gut...
ich verstehe allerdings nicht wie ich jetzt weiter vorgehen soll, ich mus ja irgentwie den Pin zurück zum TV senden !? aber wie ?
ich Arbeite momentan noch mit Labview um möglichst schnell ein Ergebiss zu erziehlen, in fhem will ich mich später einarbeiten
Zitat von: Lucky_1001 am 18 März 2016, 19:03:21
Hallo zusammen !
Ich habe einen Sony KDL-55W805A und möchte von diesm die Information über die Aktuelle Videoquelle abrufen
Das vorgehen habe ich soweit verstanden über POST an http://192.168.188.24/sony/avContent und die enstprechende Methode würde ich an diese Information kommen
Leider habe ich ein Verständnissproblem bei der Registrierung beim TV :-/
wenn ich an http://192.168.188.24/sony/accessControl {"id":13,"method":"actRegister","version":"1.0","params":[{"clientid":"test:1","nickname":"test"},[{"clientid":"test:1","value":"yes","nickname":"test","function":"WOL"}]]} sende, wird auf dem TV der Pin angezeigt...so weit so gut...
ich verstehe allerdings nicht wie ich jetzt weiter vorgehen soll, ich mus ja irgentwie den Pin zurück zum TV senden !? aber wie ?
ich Arbeite momentan noch mit Labview um möglichst schnell ein Ergebiss zu erziehlen, in fhem will ich mich später einarbeiten
Du musst den letzten Request einfach noch mal schicken, aber dabei im Header eine Basic Authentication mit der PIN als Password einfügen. Also: Authorization: Basic <base64encoded(":PIN")>
Gruß vuffiraa
hallo, und vielen Dank für deine Antwort !
das hilft mir schon etwas... den Header füge ich aber nicht noch zusätzlich in diese Anfrage ein oder ? sorry , bin auf dem gebiet noch neu...
also Header + {"id":13,"method":"actRegister","version":"1.0","params":[{"clientid":"test:1","nickname":"test"},[{"clientid":"test:1","value":"yes","nickname":"test","function":"WOL"}]]}
wie muss der Header aufgebaut sein ?
Edit: Hat sich erledigt, habs verstanden ! :D 8)
Hallo Zusammen,
Ich habe das Modul heute ins SVN hochgeladen, damit ist ein offiziellen Fhem-Modul.
Ab morgen wird es dann beim normalen Update von Fhem verteilt.
Schöne Ostern,
Vuffiraa
Hey,
Sehr cool :)
Dir / euch auch schöne Ostertage;)
Gesendet von iPhone mit Tapatalk
Zitat von: vuffiraa am 25 März 2016, 21:13:58
Hallo Zusammen,
Ich habe das Modul heute ins SVN hochgeladen, damit ist ein offiziellen Fhem-Modul.
Ab morgen wird es dann beim normalen Update von Fhem verteilt.
Schöne Ostern,
Vuffiraa
DAS BESTE OSTEREI!! :) Läuft super! Viel besser als noch vor 1-2 Monaten.
Ich habe nun aber dennoch eine Problematik. Und zwar möchte ich mit 2 Notifies den TV einmal auf HDMI_2 schalten für Kodi und einmal auf TV für normales Fernsehen. Nur der Sony ist anscheinend viel zu träge und lässt sich nur anschalten nicht aber auf den Input umschalten. Irgendwie lässt sich der von Haus aus generell nicht über Inputs anschalten. (Geht über die IR FB ja auch nicht)
2016.03.28 10:12:02 2: BRAVIA set WzSonyTV input TV
2016.03.28 10:12:02 3: WzTVschaunAn return value: Device needs to be reachable to switch input.
Vorallem wenn ich vorher auf HMDI_2 war und ausgeschaltet habe geht der TV halt nur an und steht dann auf HDMI_2. Ist halt blöd wenn TV gewünscht ist, da so dann doch immer noch die Fernbedienung zum umschalten des Inputs genommen werden muss.
Ich finde vorallem komisch, dass mit set WzSonyTV input TV der Bravia zwar angeht aber halt nicht den Input auch umschaltet. Es verhält sich so als wäre einfach set on gedrückt worden.
Wenn ich im Notify erst Set on und danach Set Input ausführen lasse kommt auch die gleiche Meldung, da der Sony eine Weile braucht bis er sich bedienen lässt nachdem er angeschaltet wurde. Eine Idee ist grade irgendwie ein Delay für Set Input in das notify zu bauen. Wäre aber schöner wenn er sich auch so gleich auf das Input schalten lassen würde.
Irgendwelche Ideen wie ich das umsetzen kann?
Hallo zusammen, erst einmal Frohe Ostern ..... habe mein fhem neu aufgesetzt und wollte eben mein BRAVIA definieren .... habe dazu vorher ein update gemacht weil es ja verteilt werden sollte mit dem neuen update .... dann define TVWZ BRAVIA 192.168.1.7 120
Define Name Modul ip Pool
Er sagt aber unknow Modul
Mache ich was falsch? Wo ist mein denk fehler
Gesendet von meinem GT-I9505 mit Tapatalk
Zitat von: Dersch am 28 März 2016, 10:44:45
Irgendwelche Ideen wie ich das umsetzen kann?
Du kannst mal ein Log machen, ob und wie der TV auf das Umschalten auf TV reagiert. Aber ich denke auch, dass die Sonys hier zu träge sind.
Anschalten per WOL lässt, so weit mir bekannt, keine zusätzlichen Kommandos zu. Damit kann man hier wohl nix ändern.
Die einzelnen Befehle der Fb scheinen aber nicht alle gleich träge sein, bei mir kann ich z.B. nach dem Einschalten nicht direkt einen Sender per Nummerntasten auf der Fb auswählen, aber Ch+ und Ch- funktionieren sofort.
Ansonsten würde ich das auch nur mit Notify und Verzögerung probieren.
Zitat von: Nobre am 28 März 2016, 11:13:54
define TVWZ BRAVIA 192.168.1.7 120
Define Name Modul ip Pool
Er sagt aber unknow Modul
Mache ich was falsch? Wo ist mein denk fehler
Sieht eigentlich gut aus.
Steht etwas im Log (oder auf der Console)?
Ansonsten tippe ich, dass du mehr als nur Fhem neu aufgesetzt hast und noch ein paar Perl-Bibliotheken fehlen.
Ich weiß die Bibliotheken nicht auswendig, aber hier im Thread wurden alle genannt.
Zitat von: vuffiraa am 28 März 2016, 11:44:26
Du kannst mal ein Log machen, ob und wie der TV auf das Umschalten auf TV reagiert. Aber ich denke auch, dass die Sonys hier zu träge sind.
Anschalten per WOL lässt, so weit mir bekannt, keine zusätzlichen Kommandos zu. Damit kann man hier wohl nix ändern.
Die einzelnen Befehle der Fb scheinen aber nicht alle gleich träge sein, bei mir kann ich z.B. nach dem Einschalten nicht direkt einen Sender per Nummerntasten auf der Fb auswählen, aber Ch+ und Ch- funktionieren sofort.
Ansonsten würde ich das auch nur mit Notify und Verzögerung probieren.
Ja es bleibt wohl nur das Notify mit Verzögerung. Hast du eine Idee wie ich das umsetzen könnte? Ich finde kein Beispiel wie ich in einem Notify einen Befehl mit einer bestimmten Verzögerung ausführen lassen könnte.
EDIT: Vielleicht hätte ich mir den Wiki Beitrag zum Notify mal genauer anschauen sollen. Da steht es ja, ich verstehe es zwar noch nicht aber es steht dort wie eine Verzögerung eingebaut werden kann.
Zitat von: Dersch am 29 März 2016, 16:49:01
Ja es bleibt wohl nur das Notify mit Verzögerung. Hast du eine Idee wie ich das umsetzen könnte? Ich finde kein Beispiel wie ich in einem Notify einen Befehl mit einer bestimmten Verzögerung ausführen lassen könnte.
EDIT: Vielleicht hätte ich mir den Wiki Beitrag zum Notify mal genauer anschauen sollen. Da steht es ja, ich verstehe es zwar noch nicht aber es steht dort wie eine Verzögerung eingebaut werden kann.
Mit Notify und Verzögerungen habe ich auch noch nicht gearbeitet. Du kannst aber auch noch beim DOIF schauen, da gibt es in der deutschen Doku einen ganzen Abschnitt zu Verzögerungen.
ich habe es nun so mit einem Notify gelöst:
WzTVschaun:on set WzSonyTV on; sleep 1; set WzSonyTV remoteControl 5
Nur über RemoteControl lässt sich der TV zuverlässig direkt nach dem einschalten bedienen. Alles andere benötigt eine inakzeptable Verzögerung. Zudem ist die Statuserkennung ob TV an oder aus unzuverlässig. Mal sind es 30 Sekunden mal fast 2 Minuten.
Warum ich den TV nicht einfach an mache ist darin begründet, dass ich manchmal den TV aus mache wenn er im TV Modus ist oder auf HDMI_2 steht. Wenn er dann wieder angemacht wird startet er in der letzten Einstellung. Ich schalte nun für den TV Modus an und dann auf Kanal 5. Sleep 1 ist eine 1 sekündige Verzögerung welche anscheinend nötig ist. Sofort den remoteControl Befehl senden klappt nicht.
Direkt nach dem Einschalten konnte ich noch zuverlässig die SOURCE über RemoteControl einstellen. Aber das ist abenteuerlich da viele aufeinanderfolgende remoteControl Source Befehle gesendet werden müssen. Und das verhält sich dann anders wenn er auf HDMI_2 oder auf TV steht bevor er aus gemacht wurde.
Was nun noch das Problem ist:
WzMultimedia:on set wol_theFAB on; set WzOnkyoAVR input HTPC; set WzSonyTV on; set wol_WzHTPC on; sleep 5; set WzSonyTV input HDMI_2
Dies ist mein Befehl um Kodi und alles andere zum Filme schauen zu starten. Sleep 5 und darauf folgend set WzSonyTV input HDMI_2 geht nicht immer.
Problem hier ist wieder wenn der TV vorher im Fernseh Modus war. Ich könnte wieder über remoteControl SOURCE arbeiten aber das läuft dann nicht wenn der TV vorher schon auf HDMI_2 war. Ich habe grade noch keine Idee wie ich das zuverlässig lösen könnte.
Es ist sehr schade, dass man den SONY TV nicht einfach über "input HDMI_2" bzw "input TV" starten kann. Dann wäre diese Frickelei obsolet.
(Einschalten geht ja sogar über diese Befehle aber die Inputs werden nicht geschaltet)
Grüße
Dirk
Hallo Dirk,
beim Einschalten gibt es noch eine Ungenauigkeit. Eigentlich weiß das Modul, dass der TV eingeschaltet wurde, aber durch die Trägheit meldet sich der TV noch nicht, daher wird als Status noch 'off' angenommen. Solange der Status aber noch nicht 'on' ist, werden einige Befehle geblockt. Das sollte sich eigentlich mit der nächsten Statusabfrage aufräumen, also nicht länger als das eingestellte Intervall dauern. Hier muss ich wohl noch ein mal drüberschauen. Vielleicht klappt das Umschalten der Inputs dann schneller..
Gruß Ulf
Hallo Ulf,
das würde mich natürlich freuen wenn es durch eine Optimierung von deiner Seite doch noch mit dem direkten Umschalten gehen würde. Freue mich auf ein Update ;)
Ich habe übrigens noch das im Log gefunden. Worum geht's da?
2016.03.30 19:11:16 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1120.
Grüße
Dirk
Zitat von: Dersch am 30 März 2016, 19:27:10
Ich habe übrigens noch das im Log gefunden. Worum geht's da?
Hallo Dirk,
da antwortet der TV nicht so, wie erwartet. Kriegst du das öfter? Wenn du es reproduzieren kannst, mach ein Log mit verbose = 5 davon.
Ansonsten kannst du das ignorieren.
Gruß Ulf
Hi Ulf,
bei dem Versuch mein TV in FHEM zu Definieren, bricht FHEM ab und ich muss FHEM neu starten.
Das steht in der Log:
No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/70_BRAVIA.pm line 941.
Ich komme also noch nicht mal bis zum Register!
Wenn ich das alles mit curl mache, kann ich Registrieren und curl -H "X-CERS-DEVICE-ID: fhem_remote" http://192.168.0.22:80/cers/api/getRemoteCommandList gibt auch was zurück.
Kannst du da einen Tip geben?
Gruß Buelo
Zitat von: Buelo77 am 05 April 2016, 18:53:34
Hi Ulf,
bei dem Versuch mein TV in FHEM zu Definieren, bricht FHEM ab und ich muss FHEM neu starten.
Das steht in der Log:
No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/70_BRAVIA.pm line 941.
Ich komme also noch nicht mal bis zum Register!
Wenn ich das alles mit curl mache, kann ich Registrieren und curl -H "X-CERS-DEVICE-ID: fhem_remote" http://192.168.0.22:80/cers/api/getRemoteCommandList gibt auch was zurück.
Kannst du da einen Tip geben?
Gruß Buelo
Hallo Buelo,
Das scheint ein Problem mit der Verwendung des XML-Parsers zu sein. Du scheinst ein Modul in Benutzung zu haben, das den Parser auf 'strict' gestellt hat.
Das ist so zu streng für mein Modul, ich überlege mir was.
Viele Grüße,
Ulf
Zitat von: vuffiraa am 05 April 2016, 19:48:26
Hallo Buelo,
Das scheint ein Problem mit der Verwendung des XML-Parsers zu sein. Du scheinst ein Modul in Benutzung zu haben, das den Parser auf 'strict' gestellt hat.
Das ist so zu streng für mein Modul, ich überlege mir was.
Viele Grüße,
Ulf
Eine geänderte Version ist im SVN verfügbar. Normal gibt es sie dann morgen per Update.
Gruß Ulf
Hi Ulf,
vielen Dank für diese schnelle Reaktion, das werde ich gleich mal testen und berichten:-D
Gruß Buelo
Hi Ulf,
ich bin begeistert, FHEM steigt nicht mehr aus !!! :D
Und mein 55HX925 lässt sich auch steuern. Werde jetzt mal ein bißchen
spielen und schauen was alles möglich ist und es in die Tablet UI einbauen.
Vielen dank nochmal.
Gruß Buelo
Hilft mir jemand?
Außer das WOL reagiert das Gerät auf nichts und wieder nichts, nicht mal das Popup nach "register" erscheint.
ZitatInternals:
CHANGED
CHANNELCOUNT 50
DEF 192.168.178.31
INTERVAL 45
NAME TV_Wohnzimmer
NR 447
STATE absent
TYPE BRAVIA
generation
modelName
name
Readings:
2016-04-06 20:22:10 channel -
2016-04-06 20:22:10 channelId -
2016-04-06 20:22:10 currentMedia -
2016-04-06 20:22:10 currentTitle -
2016-04-06 20:22:10 input -
2016-04-06 20:56:30 power off
2016-04-06 20:23:45 presence absent
2016-04-06 20:54:24 registrationUUID 0.....bf742
2016-04-06 20:55:54 requestFormat xml
2016-04-06 20:56:30 state absent
2016-04-06 20:55:39 upnp on
2016-04-06 20:56:11 volume 1
Mute:
Helper:
ADDRESS 192.168.178.31
AVAILABLE 0
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Attributes:
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
macaddr xx:xx:xx:xx:xx:xx
room AAA
webCmd volume:channelUp:channelDown
Zitat von: accessburn am 06 April 2016, 21:17:41
Hilft mir jemand?
Außer das WOL reagiert das Gerät auf nichts und wieder nichts, nicht mal das Popup nach "register" erscheint.
Setze mal im Gerät das Attribute 'verbose' auf 5 und schick mir das Log. Welches Modell hast du?
Zitat2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_GetStatus()
2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_SendCommand()
2016.04.06 21:36:25 4: BRAVIA TV_Wohnzimmer: REQ getStatus/xml
2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: GET http://192.168.178.31:80/cers/api/getStatus
2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: header X-CERS-DEVICE-ID: fhem_remote
2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_ReceiveCommand() rc: HASH(0x41beac0) err: 192.168.178.31: Connection refused data:
2016.04.06 21:36:25 4: BRAVIA TV_Wohnzimmer: RCV TIMEOUT getStatus/xml
2016.04.06 21:36:25 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_Set()
2016.04.06 21:36:26 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_Set()
2016.04.06 21:36:29 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_Set()
2016.04.06 21:36:29 2: BRAVIA set TV_Wohnzimmer on
2016.04.06 21:36:29 4: BRAVIA TV_Wohnzimmer: Waking up by sending Wake-On-Lan magic package to A8A795C7265B
2016.04.06 21:36:35 5: BRAVIA TV_Wohnzimmer: called function BRAVIA_Set()
2016.04.06 21:36:35 2: BRAVIA set TV_Wohnzimmer channelUp
Das Gerät schimpft sich Sony Bravia KDL-48WD655.
Zitat von: accessburn am 06 April 2016, 21:38:02
Das Gerät schimpft sich Sony Bravia KDL-48WD655.
Okay, dann schauen wir mal, wozu wir deinen TV überreden können. Das ist eine schöne neue Serie und die Frage ist, was Sony bei der Kommunikation geändert hat.
Also setze als erstes das RequestFormat auf 'json'. (Das geht über Set im Gerät.) Was passiert nun, wenn du die Registrierung probierst?
Mich interessiert auch wieder das Log ;)
Done!
Geil, die IP ist nicht mal aufrufbar :'(
Zitat von: accessburn am 06 April 2016, 21:57:40
Done!
Geil, die IP ist nicht mal aufrufbar :'(
Na toll!
Wird dein TV von der Video & TV Side View App direkt von Sony unterstützt? Wenn ja, bekommst du raus über welchen Weg (Port, Protokoll)?
"Dieses blöde Gerät wird nicht unterstützt..."
So oder so ähnlich stand es da :-(
Ich hab dir mal paar Screens gemacht, vielleicht hilft es. O
Hi Ulf,
hier mal ein kleines Feedback zu meinem 55HX925:
- Mute ist vertauscht.
- Ausschalten geht nicht.
- Volume steht bei mir immer auf 18.
Mehr konnte ich noch nicht testen:-)
Gruß Buelo
Zitat von: Buelo77 am 11 April 2016, 20:50:16
Hi Ulf,
hier mal ein kleines Feedback zu meinem 55HX925:
- Mute ist vertauscht.
- Ausschalten geht nicht.
- Volume steht bei mir immer auf 18.
Mehr konnte ich noch nicht testen:-)
Gruß Buelo
Hallo Buelo,
ich glaube bei deinem Gerät war ich nicht in der Lage, die aktuelle Lautstärke auszulesen, daher sind die Werte für Mute und Volume nicht belastbar :(
Das Ausschalten müsste aber hinzukriegen sein, du kannst mal folgende Setter probieren:
set <sony> remoteControl STANDBY
set <sony> remoteControl POWER
Reagiert der TV darauf?
Ansonsten poste mal das Ergebnis von: list <sony>
Gruß Ulf
Hi Ulf,
funktioniert leider nicht, weder power noch standby.
hier mal das List:
Internals:
CHANGED
CHANNELCOUNT 50
DEF 192.168.0.22 60
INTERVAL 60
NAME TV_Wohnzimmer
NR 150
STATE on
TYPE BRAVIA
generation
modelName
name
Readings:
2016-04-06 12:04:25 area DEU
2016-04-06 12:38:32 channel -
2016-04-06 12:38:32 channelId -
2016-04-06 12:38:32 currentMedia -
2016-04-06 12:38:32 currentTitle -
2016-04-06 12:04:25 generation 1.0
2016-04-12 13:58:37 input Broadcast
2016-04-11 20:22:27 mute on
2016-04-06 12:04:25 name BRAVIA
2016-04-12 13:58:37 power on
2016-04-12 13:58:37 presence present
2016-04-11 20:45:22 requestFormat xml
2016-04-10 17:55:43 s_assetId -
2016-04-10 17:55:43 s_provider -
2016-04-10 17:55:43 s_serviceId -
2016-04-10 17:55:43 s_title -
2016-04-12 13:58:37 state on
2016-04-11 19:20:28 volume 18
Helper:
ADDRESS 192.168.0.22
AVAILABLE 1
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput Broadcast
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Attributes:
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
room Wohnzimmer
webCmd volumeUp:volumeDown:channelUp:channelDown
Gruß Buelo
Hallo Buelo,
Das List sieht soweit gut aus, da läuft nix falsch. Hast du zufällig die Side View App von Sony installiert? Da kann man mit einer virtuellen Fernbedienung den TV steuern. Mich interessiert, ob es da für deinen TV einen Power-Schalter gibt. Wenn ja, funktioniert er?
Wenn die Antwort immer noch ja ist, wird es schwieriger. Dann müssen wir rauskriegen, wie die App das macht. Aber eins nach dem anderen.
Viele Grüße,
Ulf
Nabend Ulf,
leider ist in der App auch kein Ausknopf! Bedeutet das, das es nicht von Sony implementiert wurde?
Gruß Buelo
Zitat von: Buelo77 am 13 April 2016, 21:40:21
Nabend Ulf,
leider ist in der App auch kein Ausknopf! Bedeutet das, das es nicht von Sony implementiert wurde?
Gruß Buelo
Scheint leider so. In der Liste der möglichen Kommandos gibt es zwar einen der Power-Befehle, aber du hast selbst schon gemerkt, dass er nicht angenommen wird.
Die App ist ansonsten immer der Beweis, was da geht, kann man nachbauen.
Gruß Ulf
Hi Ulf,
alles klar, danke für deine Mühen!
Kannst du mir vielleicht noch einen Tipp geben, ich versuche alles in Tablet ui einzubauen.
Jetzt gibt es manchmal so Pulldown Menüs, wie bekomme ich die ins Tablet ui?
Es gibt ja Select in Tablet ui, da kann ich eine Liste importieren aus FHEM, das muss aber eine Liste mit einem
Space separator sein.
Wie ist das in FHEM mit den Pulldowns aufgebaut? Muss ich das vielleicht vorher in ein Reading Umformatieren?
Gute Nacht Buelo
Hi Ulf,
hat sich erledigt.
Ich habe mir mal das Perl Modul angesehen und mir daraus den Code zum Zusammenbau einer Liste
für die Pulldowns kopiert/angepasst und in ein userreading, dann geht es auch in der Tablet ui ;)
Falls einer ein Bs. braucht:
attr Radio_Bad_Oben userReadings presetList {my $preset="";
for my $item (@{$hash->{helper}->{preset}->{'item'}})
{
if (exists $item->{'field'}->{c8_array} && ref($item->{'field'}->{c8_array} ) ne "HASH")
{
$item->{'field'}->{c8_array} = SIRD_xml2txt(SIRD_space2sub($item->{'field'}->{c8_array}));
if ($preset ne ""){$preset .= ':';}
$preset .= $item->{'field'}->{c8_array};
}
}
$preset=encode_utf8($preset);
return $preset;
} , lastVolume {if(ReadingsVal($name,'volume','') =~ /^(0|([+-]?\d+))$/) {ReadingsVal($name,'volume','')}else{return "0"}}
Gruß Buelo
Hallo Buelo,
danke für das Beispiel.
Mit dem Tablet UI habe ich mich noch nicht beschäftigt, aber sollte ich mich vielleicht mal ;)
Gruß Ulf
Hallo Ulf,
mein KDL-40HX755 macht leider nicht das was er soll.
set register (ohne Parameter, also XML) funktioniert ohne Probleme.
Aber das wars dann (siehe Internals und Readings).
Der Status bleibt bei Off und Aktionen am TV wie prg+/- erzeugen diverse Not Found Fehler im Log (siehe unten).
Im Thread gibt es zwar ein paar Fundstellen für "BRAVIA_ReceiveCommand() rc: HTTP/1.1 404 Not Found",
aber ich habe keine Lösung hierzu gefunden....
Da die Registrierung am TV problemlos funktioniert, hoffe ich das der KDL HX noch nicht zu alt ist
und es ein Setting oder ein Fehler von mir ist.
Wäre schön wenn Du etwas mit den Infos anfangen kannst und einen Tip für mich hättest.
LG Hermann
Internals
CHANGED
CHANNELCOUNT 50
DEF 192.168.178.32 30
INTERVAL 30
NAME SonyTV_WZ
NR 649
STATE off
TYPE BRAVIA
generation 01. Jan
modelName KDL-40HX755
name BRAVIA
Readings
area DEU
channel -
channelId -
country DEU
currentMedia -
currentTitle -
generation 01. Jan
input Broadcast
language ger
modelName KDL-40HX755
name BRAVIA
power off
presence present
requestFormat xml
state off
Log
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: called function BRAVIA_GetStatus()
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: called function BRAVIA_SendCommand()
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: REQ getStatus/xml
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: GET http://192.168.178.32:80/cers/api/getStatus
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: header X-CERS-DEVICE-ID: fhem_remote
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 147
Content-Type: text/xml
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Thu, 14 Apr 2016 09:19:40 GMT
<?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: RCV getStatus/xml
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="Broadcast" />
</status>
</statusList>
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: called function BRAVIA_SendCommand()
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: REQ getContentInformation
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: GET http://192.168.178.32:80/cersEx/api/getContentInformation
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: header X-CERS-DEVICE-ID: fhem_remote
2016.04.14 11:19:41 5: BRAVIA SonyTV_WZ: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 404 Not Found
Content-Length: 72
Date: Thu, 14 Apr 2016 09:19:40 GMT
<html><head><title>not found</title></head><body>not found</body></html> err: data: <html><head><title>not found</title></head><body>not found</body></html>
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: RCV getContentInformation
2016.04.14 11:19:41 4: BRAVIA SonyTV_WZ: RES getContentInformation - not found
Hallo Hermann,
dein Gerät sollte erst mal nicht das Problem sein, den habe ich bei mir auch herumzustehen ;-)
Ich würde sagen, das Modul ist noch nicht im TV registriert. Dazu passen dann die "Not found"-Meldungen der meisten Aktionen. Kannst du die Registrierung noch mal loggen? Kam beim erstem Mal ein Dialog auf dem TV, den du bestätigt hast?
Gruß Ulf
Zitatdein Gerät sollte erst mal nicht das Problem sein, den habe ich bei mir auch herumzustehen ;-)
Ich würde sagen, das Modul ist noch nicht im TV registriert. Dazu passen dann die "Not found"-Meldungen der meisten Aktionen. Kannst du die Registrierung noch mal loggen? Kam beim erstem Mal ein Dialog auf dem TV, den du bestätigt hast?
Die Abfrage am TV kam bei der ersten Registrierung. FHEM Remote ist auch beim TV eingetragen,
und der Raspberry wird auch bei der Zugriffskontrolle gelistet.
Bei der zweiten und weiteren Registrierungen kommt jetzt kein Dialog mehr am TV.
Der Befehl set register erlaubt jetzt auch keinen Parameter mehr.
Die Fehlermeldungen beim Pollen bleiben allerdings gleich :(
Log der zweiten Registrierung
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: called function BRAVIA_Set()
2016.04.14 13:11:08 2: BRAVIA set SonyTV_WZ register
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: called function BRAVIA_SendCommand()
2016.04.14 13:11:08 4: BRAVIA SonyTV_WZ: REQ register
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: GET http://192.168.178.32:80/cers/api/register?name=Fhem%20Remote®istrAtionType=initial&deviceId=fhem_remote
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: header X-CERS-DEVICE-ID: fhem_remote
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: called function BRAVIA_Set()
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: called function BRAVIA_Set()
2016.04.14 13:11:08 5: BRAVIA SonyTV_WZ: called function BRAVIA_Get()
2016.04.14 13:11:09 5: BRAVIA SonyTV_WZ: called function BRAVIA_ReceiveCommand() rc: HTTP/1.1 200 OK
Content-Length: 0
ACCESS-CONTROL-ALLOW-ORIGIN: *
Date: Thu, 14 Apr 2016 11:11:08 GMT
err: data:
2016.04.14 13:11:09 5: BRAVIA SonyTV_WZ: called function BRAVIA_Set()
Zitat von: Hermann123 am 14 April 2016, 13:16:39
Die Abfrage am TV kam bei der ersten Registrierung. FHEM Remote ist auch beim TV eingetragen,
und der Raspberry wird auch bei der Zugriffskontrolle gelistet.
Bei der zweiten und weiteren Registrierungen kommt jetzt kein Dialog mehr am TV.
Der Befehl set register erlaubt jetzt auch keinen Parameter mehr.
Die Fehlermeldungen beim Pollen bleiben allerdings gleich :(
Dann war die erste Registrierung wohl schon richtig durchgelaufen. War ja auch nur ein schneller Gedanke.
Das Modul meint, dass der TV im Standby ist. Was für ein Signal wird denn angezeigt? Extern oder DVB-x?
Heute Abend kann ich mal das Neuanlegen testen. Was mir noch auffällt, dass bei dir bei "generation" 01. Jan steht. Bei mir erscheint da 1.1 und kein Datum.
Gruß Ulf
ZitatDas Modul meint, dass der TV im Standby ist. Was für ein Signal wird denn angezeigt? Extern oder DVB-x?
Falls Du das Eingangssignal meinst: digitale SAT Schüssel....
Grüße
Hermann
Zitat von: Hermann123 am 14 April 2016, 14:27:32
Falls Du das Eingangssignal meinst: digitale SAT Schüssel....
Grüße
Hermann
Ja, genau das und keinen weiteren Receiver dazwischen, sondern alle Kanäle im TV programmiert.
ZitatJa, genau das und keinen weiteren Receiver dazwischen, sondern alle Kanäle im TV programmiert.
genau so...
Hallo Hermann,
also bei mir funktioniert das Modul ohne Probleme. Ich habe es mit einem aktuellen Fhem probiert, ein TV neu definiert und die Registrierung im TV gelöscht und über Fhem neu gemacht. Die Registrierung muss bei dir auch geklappt haben, da ohne gar nichts geht. In den Fernbedienungseinstellungen steht bei mir alle auf "Ein", auch die Renderereinstellungen.
Vielleicht prüfst du noch mal die Einstellungen im TV.
Ansonsten würde ich dich bitten, dass Device noch mal im Fhem und die Registrierung im TV zu löschen. Dann alles von vorne anlegen und mir das Log davon schicken.
Gruß Ulf
Hallo Ulf,
das Log von heute morgen war schon der 3. Versuch:
- Device gelöscht
- fhem Server neu gestartet
- Controler am TV gelöscht
- Device neu angelegt
- Registrierung durchgeführt
Welche Einstellung am TV könnte denn noch Einfluss auf die Kommunikation haben?
- neuste Firmware installiert
- Fernbedienungsgerät/Renderer ==> Ein
- Fernbedienungsgeräteliste ==> Fhem Remote
- TV ist über W-Lan und eine Fritzbox angeschlossen
- habe der Kiste am Router jetzt auch noch Zugriff aufs I-Net gewährt und diese Optionen aktiviert:
- Digitaldienste autom. aktualisieren ==> Ein
- Service Austausch ==> Ein
....und nun keine Idee mehr wo ich noch suchen könnte :'(
Grüße
Hermann
Hmm, schwierig. Ich habe da nie was aktiv eingeschaltet. Ich hatte nur vorher mal die SideView App probiert, vielleicht wird dadurch noch etwas umkonfiguriert.
Unterschied sind, dass ich meinen TV über LAN an der Fritzbox angeschlossen habe und DVB-T schaue...
Gruß Ulf
ZitatHmm, schwierig. Ich habe da nie was aktiv eingeschaltet. Ich hatte nur vorher mal die SideView App probiert, vielleicht wird dadurch noch etwas umkonfiguriert.
Hallo Ulf,
tatsächlich: nachdem ich es auch mit der SideView App versucht habe spricht Dein Modul jetzt auch mit dem TV!
Selbst nachdem ich am TV den SideView Controler wieder gelöscht habe geht es immer noch.
Hier eine geht / geht nicht Übersicht:
Chanel ==> OK
Chanel Up ==> OK
Chanel Down ==> OK
Mute ==> -
Off ==> OK
On ==> -
Pause ==> OK
Play ==> OK
Record ==> OK
Stop ==> OK
TvPause ==> OK
Toggle ==> schaltet TV aus
Volume ==> OK
Volume Down ==> OK
Volume Up ==> OK
Grüße
Hermann
Nachtrag:
Wenn über die FB eingeschaltet wird, funktioniert die On Erkennung nur wenn das TV Zugriff aufs Internet hat !?!
Scheint wohl ein Problem zu haben wenn es nicht nach Hause telefonieren kann!
Komisch... und gar nicht nach meinem Geschmack ...
Zitat von: Hermann123 am 14 April 2016, 22:13:15
tatsächlich: nachdem ich es auch mit der SideView App versucht habe spricht Dein Modul jetzt auch mit dem TV!
Das ist ja schon mal ein Fortschritt. Kannst du mal die Einstellungen im TV kontrollieren, ob es da einen Eintrag gibt, der durch die App geändert wurde?
Anschalten durch das Modul geht nicht, da unser Modell noch kein WOL unterstützt.
Mute geht bei mir. Hast du ein Reading 'upnp'? Wenn nicht, ist es okay, sonst sollte es auf 'on' gesetzt sein.
ZitatDas ist ja schon mal ein Fortschritt. Kannst du mal die Einstellungen im TV kontrollieren, ob es da einen Eintrag gibt, der durch die App geändert wurde?
Anschalten durch das Modul geht nicht, da unser Modell noch kein WOL unterstützt.
Mute geht bei mir. Hast du ein Reading 'upnp'? Wenn nicht, ist es okay, sonst sollte es auf 'on' gesetzt sein.
- Mute geht jetzt auch! UPNP war nicht auf On gesetzt.
- On ... wird wohl auch nicht mehr per Firmwareupdate kommen..zu alt
- Toggle ?
Ich habe die Einstellungen kontrolliert, kann aber keinen Unterschied finden.
Ich denke es lag an der fehlenden Internet Verbindung! Das ist zumindest reproduzierbar:
- keine Verbindung, kein Statuswechsel von Off nach On
Hermann
Hallo Ulf,
Das ist ein super Modul DANKE dafür!
Ich habe es heute endlich einmal ausprobiert und läuft auf Anhieb (KDL-55HX855)!
Nachdem ich noch eine RemoteControl angelegt habe und das Layout BRAVIA_SVG ausgewählt habe, fehlen mir aber Icons und der Aspect Button ist riesig. Ich kann die rows jetzt per hand anpassen (z.B. Aspect als .svg nutzen). Aber ich frage mich, ob ich einen alten Layout oder Icon Stand habe? Ein "Update force" heute hat nichts geholfen, obwohl er jede Menge *.svg geladen hat.
Kennt jemand das Problem?
Danke und Gruß Arnd
Gesendet von iPhone mit Tapatalk
Zitat von: Hermann123 am 14 April 2016, 22:50:34
- Mute geht jetzt auch! UPNP war nicht auf On gesetzt.
- On ... wird wohl auch nicht mehr per Firmwareupdate kommen..zu alt
- Toggle ?
Bei der Firmware gebe ich dir recht, da glaube ich nicht, dass da noch was kommt. Unsere Geräte sind zu alt, zu mal die neueren auf Android, und damit in einer komplett anderen Welt, laufen.
Toggle bezeichnet das Wechseln zwischen 2 Zuständen. Mute erlaubt on oder off, also schaltet toggle von on nach off oder von off nach on, je nachdem, was der aktuelle Zustand war.
Zitat von: ArndBaumgarten am 15 April 2016, 00:14:57
Nachdem ich noch eine RemoteControl angelegt habe und das Layout BRAVIA_SVG ausgewählt habe, fehlen mir aber Icons und der Aspect Button ist riesig. Ich kann die rows jetzt per hand anpassen (z.B. Aspect als .svg nutzen). Aber ich frage mich, ob ich einen alten Layout oder Icon Stand habe? Ein "Update force" heute hat nichts geholfen, obwohl er jede Menge *.svg geladen hat.
Kennt jemand das Problem?
Hallo Arnd,
bei den Layouts habe ich mich bei den vorhandenen Icons bedient, für die fehlenden gab es keine passenden Bildchen in Fhem. Das steht noch auf meiner ToDo-Liste, sorry.
Also wenn sich jemand berufen fühlt, darf er gerne die fehlenden Icons designen ;-)
Gruß Ulf
Hallo Ulf,
da erstmal alle meine aktuellen Fragen beantwortet sind hier einen ganz dicken Dank für Deinen Support
Hilfe, Geduld und den freundlichen Umgangston!
Und natürlich für das Modul und Deine Arbeit (incl. aller Unterstützer)...
Grüße
Hermann
Hi Ulf,
ich habe folgende Einträge, wenn der Fernseher an ist:
2016.04.15 22:50:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
2016.04.15 22:51:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
2016.04.15 22:51:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
Kannst du das abstellen oder soll ich das Filtern?
Gruß Buelo
Zitat von: Buelo77 am 16 April 2016, 09:35:16
Hi Ulf,
ich habe folgende Einträge, wenn der Fernseher an ist:
2016.04.15 22:50:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
2016.04.15 22:51:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
2016.04.15 22:51:38 3: BRAVIA TV_Wohnzimmer: API command 'upnp' not supported by device.
Kannst du das abstellen oder soll ich das Filtern?
Gruß Buelo
Du hast die Einträge immer oder nur ab und zu, sprich 2-3 pro Tag über mehrere Minuten?
Schau mal in den Readings, ob da eins 'upnp' heißt. Über den Setter kannst du das Reading auf 'off' stellen, dann sind die Meldungen weg.
Gruß Ulf
Hi Ulf,
kein Reading mit dem Namen upnp. Die Log ist voll davon.
Gruß Buelo
Dann:
set <sony> upnp off
Und mir mal das Ergebnis schicken von:
list <sony>
Gruß Ulf
Hi Ulf,
das list hatte ich ein paar Post vorher schon gelistet.
Ich habe ein Verbose 1 gesetzt und jetzt scheint es ok zu sein.
Gruß Buelo
Hallo Buelo,
Hast recht, man muss nur mal ein bisschen hochscrollen ;)
Verbose 1 unterdrückt nur die Zeilen im Log, die Kommunikationsversuche mit dem TV finden aber trotzdem statt. Setze besser das Reading 'upnp' auf den Wert 'off'.
Mit dem nächsten Update passe ich das Modul dann an, da ist etwas durcheinander gekommen.
Gruß Ulf
Hi Ulf,
alles klar, habe das Reading gesetzt.
Vielen dank und weiter so, finde das echt gut wie Du das machst!
Gruß Buelo
Hi,
ich versuche gerade, das Modul mit meinem Fernseher (KDL-46EX727) zu verbinden.
Es funktioniert channelUp und channelDown und muteToggle.
Alles andere scheint nicht zu gehen.
list TV
Internals:
CFGFN
CHANGED
CHANNELCOUNT 50
DEF 192.168.0.23
INTERVAL 45
NAME TV
NR 113
STATE on
TYPE BRAVIA
generation 1.0
modelName
name BRAVIA
Readings:
2016-04-23 08:33:55 area DEU
2016-04-23 08:28:47 channel -
2016-04-23 08:28:47 channelId -
2016-04-23 08:28:47 currentMedia -
2016-04-23 08:28:47 currentTitle -
2016-04-23 08:33:55 generation 1.0
2016-04-23 10:35:03 input Others
2016-04-23 10:19:18 mute off
2016-04-23 08:33:55 name BRAVIA
2016-04-23 09:24:55 power on
2016-04-23 09:24:55 presence present
2016-04-23 10:13:51 requestFormat xml
2016-04-23 09:24:55 state on
2016-04-23 09:26:25 upnp on
2016-04-23 10:19:18 volume 11
Helper:
ADDRESS 192.168.0.23
AVAILABLE 1
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput Others
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Attributes:
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
macaddr 30:F9:ED:FA:B7:A6
room Wohnzimmer
webCmd volume:channelUp:channelDown
mit requestFormat json geht gar nichts, daher wird xml wohl schon das Richtige sein :-)
Gruß
Oli
Hallo Oli,
Ich kann dir da leider nicht viel Hoffnung machen. Dein TV ist aus der 2011er Serie von Sony. Mit diesen Geräten wurde die Funktionalität, die ich zum Steuern benutze, eingeführt. Bei deiner Generation werden aber mehr oder weniger nur die Funktionen der Fernbedienung unterstützt.
XML als requestFormat ist die richtige Einstellung.
Gruß Ulf
Hi Ulf!
Danke für die Rückmeldung.
Das hab ich mir fast schon gedacht. Ich werde mir aber deswegen jetzt keinen neuen Fernseher kaufen ;D
War eh nur als Spielerei gedacht, ich probier halt grade so alles aus, was irgendwie automatisiert werden könnte.
Vielen Dank für Deine Mühe
Oli
Hallo zusammen nach meinem letzten Post ist einige zeit vergangen ...
mitlerweile habe ich ja fhem neu aufgesetzt und letztes mal das problem gehabt das er mir sagte das es nicht ging
(Nachzulesen auf s.18)
habe mitlerweile nochmal alles durchgeblättert und dies nachinstaliert. Problem weg
sudo apt-get install libdata-guid-perl
sudo apt-get install libjson-perl
zack die nächste sackgasse !!! ;(
define TVWZ BRAVIA 192.168.1.6 120
set TVWZ requestFormat json
set TVWZ register
bekomme nichts im TV angezeigt.
weiß aber das es mal ging.
Habe einen Sony Bravia KDL55EX
(update gemacht, Fritzbox sendet ip an den TV, Ports können die geräte selber verwalten)
habe ich einen denkfehler?
(AUSZUG aus meiner log mit verbose 3)
2016.04.23 22:42:11 0: Server shutdown
2016.04.23 22:42:16 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2016.04.23 22:43:07 1: Including fhem.cfg
2016.04.23 22:43:26 1: Including ./log/fhem.save
2016.04.23 22:43:27 1: usb create starting
2016.04.23 22:43:34 1: usb create end
2016.04.23 22:43:43 0: Featurelevel: 5.7
2016.04.23 22:43:43 0: Server started with 66 defined entities (fhem.pl:11267/2016-04-17 perl:5.014002 os:linux user:fhem pid:2353)
2016.04.23 22:43:44 1: 192.168.1.89:9090 reappeared (MP_GZ)
2016.04.23 22:43:44 1: 192.168.1.86:9090 reappeared (MP_WZ)
2016.04.23 23:11:10 1: Including fhem.cfg
2016.04.23 23:11:10 2: eventTypes: loaded 403 events from ./log/eventTypes.txt
2016.04.23 23:11:13 1: Including ./log/fhem.save
2016.04.23 23:11:17 1: 192.168.1.89:9090 reappeared (MP_GZ)
2016.04.23 23:11:17 1: 192.168.1.86:9090 reappeared (MP_WZ)
2016.04.23 23:11:45 2: BRAVIA set TVWZ on
2016.04.23 23:13:57 2: BRAVIA set TVWZ register
2016.04.23 23:14:14 2: BRAVIA set TVWZ channelUp
2016.04.23 23:16:34 2: BRAVIA set TVWZ requestFormat json
2016.04.23 23:16:45 2: BRAVIA set TVWZ register
Zitat von: Nobre am 23 April 2016, 23:18:27
Hallo zusammen nach meinem letzten Post ist einige zeit vergangen ...
mitlerweile habe ich ja fhem neu aufgesetzt und letztes mal das problem gehabt das er mir sagte das es nicht ging
(Nachzulesen auf s.18)
habe mitlerweile nochmal alles durchgeblättert und dies nachinstaliert. Problem weg
sudo apt-get install libdata-guid-perl
sudo apt-get install libjson-perl
zack die nächste sackgasse !!! ;(
define TVWZ BRAVIA 192.168.1.6 120
set TVWZ requestFormat json
set TVWZ register
bekomme nichts im TV angezeigt.
weiß aber das es mal ging.
Habe einen Sony Bravia KDL55EX
(update gemacht, Fritzbox sendet ip an den TV, Ports können die geräte selber verwalten)
habe ich einen denkfehler?
Bei deinem Modellnamen fehlen noch 3 Zahlen am Ende, wenn ich mich nicht irre. Das würde bedeuten, dass es mit requestFormat xml besser funktioniert.
Ich habe einen kdl-40ex705 aus dem Jahre 2010
Set TV on
Set TV off
funktionieren nicht
2016.05.12 20:32:40 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:32:40 2: BRAVIA set TV tvpause
2016.05.12 20:32:21 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:32:21 2: BRAVIA set TV stop
2016.05.12 20:32:00 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:32:00 2: BRAVIA set TV off
2016.05.12 20:31:54 2: BRAVIA set TV mute off
2016.05.12 20:31:46 2: BRAVIA set TV mute on
2016.05.12 20:31:38 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:31:38 2: BRAVIA set TV mute toggle
2016.05.12 20:31:20 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:31:20 2: BRAVIA set TV off
2016.05.12 20:31:13 2: BRAVIA set TV volume 1
2016.05.12 20:31:08 2: BRAVIA set TV volume 12
2016.05.12 20:29:53 2: BRAVIA set TV volume 1
2016.05.12 20:29:51 2: BRAVIA set TV volume 1
2016.05.12 20:29:48 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:29:48 2: BRAVIA set TV stop
2016.05.12 20:28:50 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:28:50 2: BRAVIA set TV off
2016.05.12 20:28:40 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:28:39 2: BRAVIA set TV off
2016.05.12 20:28:39 2: BRAVIA set TV toggle
2016.05.12 20:28:21 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:28:21 2: BRAVIA set TV on
2016.05.12 20:28:21 2: BRAVIA set TV toggle
2016.05.12 20:17:07 3: BRAVIA TV: API command 'ircc' not supported by device.
2016.05.12 20:17:07 2: BRAVIA set TV on
Besteht Hoffnung, dass ich on/off zum Laufen bekomme.
Ich meine, ich habe mal eine einfache Beschreibung eines funktionierenden Protokolls für den Fernseher im Netz gesehen. Jetzt ist es nicht mehr auffindbar
Zitat von: Dietmar63 am 13 Mai 2016, 19:31:14
Ich habe einen kdl-40ex705 aus dem Jahre 2010
Set TV on
Set TV off
funktionieren nicht
Besteht Hoffnung, dass ich on/off zum Laufen bekomme.
Ich meine, ich habe mal eine einfache Beschreibung eines funktionierenden Protokolls für den Fernseher im Netz gesehen. Jetzt ist es nicht mehr auffindbar
Nach meinen Informationen lassen sich erst die 2011er Modelle steuern. Wenn du das Log-Level nach oben schraubst, sieht man, ob das Modul überhaupt mit den TV kommunizieren kann. Unabhängig davon ist On/Off aber immer etwas wackelig. Das klappt erst zuverlässig mit den Geräten, die WOL unterstützen.
Ok, danke dann brauch ich nicht weiter zu probieren.
Es scheint nicht einmal ein Port offen zu sein.
Zitat von: Dietmar63 am 16 Mai 2016, 08:33:40
Ok, danke dann brauch ich nicht weiter zu probieren.
Es scheint nicht einmal ein Port offen zu sein.
Hallo,
ich habe ein KDL-40EX725 und der ist definitiv vor 2011 gekauft und
diesen kann ich steuern. Zwar nicht alles aber die grundlegende Sachen funktionieren.
Ich denke der 705er unterscheidet sich da nicht viel!
Gruß Denny
Zitat von: nightstorm99 am 16 Mai 2016, 20:54:22
Hallo,
ich habe ein KDL-40EX725 und der ist definitiv vor 2011 gekauft und
diesen kann ich steuern. Zwar nicht alles aber die grundlegende Sachen funktionieren.
Ich denke der 705er unterscheidet sich da nicht viel!
Gruß Denny
Die API, die im Modul benutzt wird, ist wohl eigentlich für die entsprechende Side View App von Sony entwickelt. Ich behaupte, dass das Modul die gleiche Funktionalität bereitstellen kann, wie eben diese App. Laut der Liste hier http://info.tvsideview.sony.net/de/home_device.html#bravia (http://info.tvsideview.sony.net/de/home_device.html#bravia) sind erst die 2011er Bravias (72x) unterstützt.
Nach dem letzten Update verhält sich das Input schalte ganz eigenartig
2016.05.24 23:04:48 2: BRAVIA set WzSonyTV channel HDMI_2
2016.05.24 23:04:48 2: After sleep: Argument HDMI_2 is not a valid channel name
2016.05.24 23:05:22 2: BRAVIA set WzSonyTV input HDMI_2
2016.05.24 23:05:23 2: BRAVIA WzSonyTV: ERROR: method to handle response of setPlayContent not implemented
Wurde da was verändert?
gruß Dirk
Zitat von: Dersch am 24 Mai 2016, 23:08:48
Nach dem letzten Update verhält sich das Input schalte ganz eigenartig
2016.05.24 23:04:48 2: BRAVIA set WzSonyTV channel HDMI_2
2016.05.24 23:04:48 2: After sleep: Argument HDMI_2 is not a valid channel name
2016.05.24 23:05:22 2: BRAVIA set WzSonyTV input HDMI_2
2016.05.24 23:05:23 2: BRAVIA WzSonyTV: ERROR: method to handle response of setPlayContent not implemented
Wurde da was verändert?
gruß Dirk
Hallo Dirk,
ich bin mir keiner Schuld bewusst. Ich habe das Modul seit Anfang Mai nicht mehr angefasst. Hattest du diese Version schon vor dem letzten Update?
Das 'set channel' abgelehnt wird, scheint richtig. HDMI_2 ist kein Kanal.
Vielleicht mal etwas mehr loggen?
Gruß Ulf
Hallo Ulf,
Ich hatte länger kein update und beim letzten wurde das Modul mit geladen. Ich teste einfach mal etwas genauer :)
Grüße Dirk
Hallo,
ich habe einen SONY KD55X8005.
Das Bravia Modul funktioniert auch. Aber das "Einschalten" geht nicht.
Aktuell wird das "set BRAVIA on" ja über WOL gemacht. Bei mir st es aber so, dass es dafür ein "SendCommand( $hash, "ircc", POWER);" braucht.
Ich habe jetzt bei der on Funktion im Modul eine Änderung vorgenommen:
if ( $state ne "on" ) {
my $macAddr = AttrVal( $name, "macaddr", "" );
my $usemac = AttrVal( $name, "usemac", "" );
$macAddr = ReadingsVal( $name, "macAddr", "") if ($macAddr eq "");
if ( $macAddr ne "" && $macAddr ne "-" && $usemac eq "1") {
$result = BRAVIA_wake( $name, $macAddr );
return "wake-up command sent";
} else {
$cmd = "POWER";
BRAVIA_SendCommand( $hash, "ircc", $cmd );
}
}
Dazu noch ein Custom Attribute "usemac = 0" und schon funktioniert es :)
Zitat von: heig am 27 Mai 2016, 15:49:57
Hallo,
ich habe einen SONY KD55X8005.
Das Bravia Modul funktioniert auch. Aber das "Einschalten" geht nicht.
Aktuell wird das "set BRAVIA on" ja über WOL gemacht. Bei mir st es aber so, dass es dafür ein "SendCommand( $hash, "ircc", POWER);" braucht.
Ich habe jetzt bei der on Funktion im Modul eine Änderung vorgenommen:
...
Dazu noch ein Custom Attribute "usemac = 0" und schon funktioniert es :)
Hallo heig,
interessant, dass dein TV kein WOL unterstützt.
Kannst du mir vielleicht noch ein'list' vm Gerät in Fhem und ein Logauschnitt mit verbose = 5 zukommen lassen. Dann schau ich, was das Modul automatisch herausfindet.
Bist du sicher, dass dein TV kein WOL unterstützt, oder dein Router das verhindert?
Gruß vuffiraa
Hallo BRAVIA User!
Ich verwende das Modul an einem KDL-42W805A, "generation 1.0.5".
Mir ist ein wenig störend aufgefallen, das nach Ablauf der Authorisierung des BRAVIA Moduls als virtuelle Fernbedienung am Fernseher das FHEM Log "vollgemüllt" wird. Da ich das Modul nicht sehr häufig verwende, übersehe ich das immer wieder... Und wundere mich außerdem, warum ich den Fernseher "auf einmal" nicht mehr steuern kann. Das kann man aber mit FHEM ebenso automatisieren.
Daher - und als kleine FHEM Fingerübung - habe ich mir einen AT-Befehl gebaut, der jeden Tag das Reading authExpires abprüft, ob in Kürze die Authorisierung abläuft. Ich bezeichne mich selbst als "engagierten FHEM Junior" und habe deshalb noch einige Log Befehle drin gelassen, um das Debugging und das Verstehen zu erleichtern. Vielleicht kann man sich das Splitten von authExpires auch sparen, wenn das BRAVIA Reading authMaxAge die Zeit bis zum Ablauf mitzählt - das weiß ich aber leider nicht. Mehr zum Splitten hier: http://perlmaven.com/perl-split (http://perlmaven.com/perl-split)
Die Benachrichtigung per GMXMail() habe ich hier im Forum gefunden: http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi (http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi). Das ist mein Name für eine Funktion in 99_myUtils.pm, die tatsächlich das sendEmail Kommando des Debian Linux auf meinem Raspberry verwendet. Ebenso habe ich den Versand per Pushover hier gefunden.
Have fun! FHEM rocks!
define at_Check_BRAVIA_Authorization_0600 at *06:00 { \
my %RevMonat = ("Jan" => "01", "Feb" => "02", "Mar" => "03", "Apr" => "04", "May" => "05", "Jun" => "06", "Jul" => "07", "Aug" => "08", "Sep" => "09", "Oct" => "10", "Nov" => "11", "Dec" => "12");; \
my $AuthExpires = ReadingsVal("wz_Fernseher","authExpires","Sat, 01-Jan-2000 03:04:05 GMT");; \
Log 3, ($AuthExpires);; \
my ($AuthWeekday, $AuthDate, $AuthTime, $AuthTZ) = split / /, $AuthExpires;; \
Log 3, ("Wochentag: ".$AuthWeekday." Datum: ".$AuthDate." Zeit: ".$AuthTime." Timezone: ".$AuthTZ);; \
my ($Day, $MonthName, $Year) = split /-/, $AuthDate;; \
my $Expiry = $Year."-".$RevMonat{$MonthName}."-".$Day." ".$AuthTime;; \
Log 3, ($Expiry);; \
my $RestLaufzeit = time_str2num($Expiry) - time_str2num(FmtDateTime(time()));; \
$RestLaufzeit = $RestLaufzeit / 86400;;\
$RestLaufzeit = sprintf("%.0f",$RestLaufzeit);;\
Log 3, ($RestLaufzeit);; \
if (($RestLaufzeit > 0) && ($RestLaufzeit < 8)) { \
my $betreff="FHEM: BRAVIA Authorisierung endet in ".$RestLaufzeit." Tagen";; \
my $alarmzeit=FmtDateTime(time());; \
my $body="Alarmzeit: ".$alarmzeit;; \
GMXMail('xxxxx.yyyyyy@gmx.de',"$betreff" ,"$body");; \
my $message=$betreff." - ".$body;; \
system ("curl -s -F 'token=abcdefghijklmnopqrstuvwxyz' -F 'user=abcdefghijklmnopqrstuvwxyz' -F 'message=$message' https://api.pushover.net/1/messages.json");; \
} \
}
Zitat von: fhemplayer am 02 Juli 2016, 13:53:33
Hallo BRAVIA User!
Ich verwende das Modul an einem KDL-42W805A, "generation 1.0.5".
Mir ist ein wenig störend aufgefallen, das nach Ablauf der Authorisierung des BRAVIA Moduls als virtuelle Fernbedienung am Fernseher das FHEM Log "vollgemüllt" wird. Da ich das Modul nicht sehr häufig verwende, übersehe ich das immer wieder... Und wundere mich außerdem, warum ich den Fernseher "auf einmal" nicht mehr steuern kann. Das kann man aber mit FHEM ebenso automatisieren.
Daher - und als kleine FHEM Fingerübung - habe ich mir einen AT-Befehl gebaut, der jeden Tag das Reading authExpires abprüft, ob in Kürze die Authorisierung abläuft. Ich bezeichne mich selbst als "engagierten FHEM Junior" und habe deshalb noch einige Log Befehle drin gelassen, um das Debugging und das Verstehen zu erleichtern. Vielleicht kann man sich das Splitten von authExpires auch sparen, wenn das BRAVIA Reading authMaxAge die Zeit bis zum Ablauf mitzählt - das weiß ich aber leider nicht. Mehr zum Splitten hier: http://perlmaven.com/perl-split (http://perlmaven.com/perl-split)
Die Benachrichtigung per GMXMail() habe ich hier im Forum gefunden: http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi (http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi). Das ist mein Name für eine Funktion in 99_myUtils.pm, die tatsächlich das sendEmail Kommando des Debian Linux auf meinem Raspberry verwendet. Ebenso habe ich den Versand per Pushover hier gefunden.
Have fun! FHEM rocks!
Hallo fhemplayer,
Womit wird den dein Log vollgemüllt? Kannst du in diesem Zustand mal das Loglevel hochsetzen und mir ein Log zukommen lassen?
Wie behebst du das Problem? Macht du einfach eine neue Registrierung mit Pin-Eingabe?
Gruß vuffiraa
Hallo Vuffiraa!
Ich habe mal meine archivierten Logs nach "renew registration" abgesucht. Output als Textfile anbei.
Als ich es dann im Log bemerkt hatte, habe ich tatsächlich das Fernbediengsmenü am Fernseher aufgemacht und die Verbindung per Codeaustausch in FHME wiederhergestellt.
Vermutlich habe ich es laut Grep Fundstellen mehrmals getan, kann mich aber leider nicht mehr bewußt daran erinnern.
Es verwundert mich allerdings, daß die nötige Re-Registrierung nach dem 04.04. immer wieder mal kam, aber nicht in fest Zeitintervallen!
Mal waren es drei Wochen, mal nur zwei - siehe zum Ende der Datei.
Aktuell kann ich nicht viel helfen, denn meine Reading für authExpires steht auf:
Fri, 15-Jul-2016 17:20:04 GMT
Dann auch gerne mit LogLevel 5.
Schöne Grüße!
FHEMplayer
Da müssen wir dann wohl noch etwas warten...
Hallo FHEMplayer,
Das Modul sollte prüfen, wie lange die Registrierung noch gültig ist und nach der halben Gültigkeitsdauer eine Verlängerung der Registrierung anstoßen. Soweit ich das kenne, ist die Gültigkeit immer 2 Wochen. Das heißt, eine Registrierung pro Woche wäre normal.
Das hat bei dir am 4.4. überhaupt nicht geklappt :( Du hast den TV aber regelmäßig, mindestens einmal pro Woche, an?
Ich bin gespannt auf das ausführliche Log...
Gruß vuffiraa
Hi!
Wir sind TV Jukies ;-)
Das Ding ist jeden Tag an.
Was passiert denn genau im Modul?
"Das Modul sollte ... nach der halben Gültigkeitsdauer eine Verlängerung der Registrierung anstoßen."
Betrachte es als humorige Äusserung: Klingeln, bunte Lampen?
Wie merke ich das denn als Benutzer? Nur im Log? Oder passiert es sogar selbständig im programmatischen Dialog mit dem Fernseher?
Gut´s Nächtle!
FHEMplayer
Zitat von: fhemplayer am 03 Juli 2016, 22:45:47
Hi!
Wir sind TV Jukies ;-)
Das Ding ist jeden Tag an.
Was passiert denn genau im Modul?
"Das Modul sollte ... nach der halben Gültigkeitsdauer eine Verlängerung der Registrierung anstoßen."
Betrachte es als humorige Äusserung: Klingeln, bunte Lampen?
Wie merke ich das denn als Benutzer? Nur im Log? Oder passiert es sogar selbständig im programmatischen Dialog mit dem Fernseher?
Gut´s Nächtle!
FHEMplayer
Hallo FHEMplayer,
die Idee ist schon, dass das Modul die Verlängerung der Registrierung übernimmt. Als Benutzer sollst du das gar nicht merken. Der Eintrag im Log dient nur zur Überprüfung.
So eine Verlängerung der Registrierung klappt im Hintergrund, dazu ist keine PIN-Eingabe vom Nutzer notwendig. Wenn sie den klappt....
Gruß Vuffiraa
Hallo,
ich habe gestern einen neue Version ins SVN hochgeladen, die dann ab heute per Update verteilt wird.
Die Änderungen betreffen die Statusverwaltung im Gerät. Sichtbare Änderung ist das Setzen des Status auf "set_on" bzw. "set_off", wenn der entsprechende Setter im Modul ausgeführt wird. Wenn bei der nächsten Statusmeldung vom TV der passende Status kommt, wird er im Modul gesetzt. Ansonsten bleibt "set_*" für maximal 60 Sekunden bestehen, danach geht es zurück zum bekannten Status.
Gruß
vuffiraa
Hallo Vuffiraa!
Entwarnung!
Dein FHEM Modul hat wie beabsichtigt, die Reautorisierung selbständig mit meinem KDL42W805A ausgehandelt.
Mein Notifier hat gestern brav gemeldet, daß die Autorisierung von 7 Tagen wieder auf 13 Tage verlängert wurde.
Dein Automatismus hat also funktioniert!
Die zahlreichen Logeinträge vom April sind dann wohl Folge von "alten Versionen" des BRAVIA-Moduls - oder einfach Pech...
Damit braucht´s dann den Notify als Vorwarnsystem auch nicht mehr. Egal, habe wieder etwas dabei gelernt.
Hier die Log-Einträge des BRAVIA Moduls:
...
2016.07.08 18:11:43 3: BRAVIA wz_Fernseher: API command 'upnp' not supported by device.
2016.07.08 18:11:43 3: BRAVIA wz_Fernseher: API command 'upnp' not supported by device.
2016.07.08 19:07:51 3: UWZ Unwetterwarnung: Run.684 Done fetching data
...
2016.07.08 19:20:42 3: BRAVIA wz_Fernseher: renew registration
...
Danke für´s Mitdenken!
FHEMplayer
Servus,
für die "Kompatibilitätsliste": mein KDL-60W855B funktioniert mit dem Modul. Und eine Frage: hat jemand zufällig noch die fehlenden Icons für die Remotecontrol (MODE3D,TRACKID,PREVIOUS,NEXT,SEN,SYNCMENU,DIGITAL) gebastelt?
Viele Grüße
doc
Hi, ja die Icons fände ich auch super! Gruß Arnd
FHEM auf Raspberry Pi 2, CUL, Signalduino, Intertechno, WifiLight mit H801 - ESP8266, ...
Zitat von: vuffiraa am 28 Mai 2016, 11:07:32
Bist du sicher, dass dein TV kein WOL unterstützt, oder dein Router das verhindert?
Gruß vuffiraa
Hi, ich muss ehrlich sagen: ich bin verwirrt! Ich habe meinen FHEM-Raspberry bis vor einer Woche über Powerlan angebunden gehabt - und da war nix los mit WOL. Seit er direkt an der Fritzbox hängt läufts. Verrückt, ich war der Meinung, dass Powerlan auch Layer2 Traffic ganz normal weitergibt, scheint aber so als würden die Dinger Broadcasts wegfangen. *grml*
Naja, seit dem läufts... sorry für die Verwirrung!
Gibt es einen Grund, warum Sony Bluray-Player nicht auch unterstützt werden?
Die Sony App kann das ja.
Habe mal ein wenig recherchiert. Das "API" ist wohl recht ähnlich zu den Fernsehgeräten, aber doch spezifisch.
Bei Remote Central habe ich ein paar Infos gefunden, die ich mal basierend auf dem BRAVIA-Modul in ein Test-Modul eingebaut habe.
Da aber nichts gezuckt hat und ich mich in Tools zur Analyse des HTTP-Datenverkehrs erst einarbeiten müsste, habe ich das DIY-Experiment erst einmal abgebrochen.
Gibt es hier Profis, die schon weiter sind oder wissen, ob es prinzipiell (un-)möglich ist?
Grüße,
Alex.
Zitat von: alkneer am 29 Juli 2016, 19:37:37
Gibt es einen Grund, warum Sony Bluray-Player nicht auch unterstützt werden?
Die Sony App kann das ja.
Habe mal ein wenig recherchiert. Das "API" ist wohl recht ähnlich zu den Fernsehgeräten, aber doch spezifisch.
Bei Remote Central habe ich ein paar Infos gefunden, die ich mal basierend auf dem BRAVIA-Modul in ein Test-Modul eingebaut habe.
Da aber nichts gezuckt hat und ich mich in Tools zur Analyse des HTTP-Datenverkehrs erst einarbeiten müsste, habe ich das DIY-Experiment erst einmal abgebrochen.
Gibt es hier Profis, die schon weiter sind oder wissen, ob es prinzipiell (un-)möglich ist?
Grüße,
Alex.
Hallo Alex,
Prinzipiell ist möglich. Wie du selber aber schon rausgefunden hast speziell. Ich habe hier einen S4100 rumstehen. Ich aber aber keinen Überblick, welche Typen es noch gibt und wie die sich dann unterscheiden.
Gruß Vuffiraa
Hi Vuffiraa,
ok, dann mache ich bei Gelegenheit mal weiter (habe einen S5500).
Grüße,
Alex.
Hi Vuffiraa,
ich schalte meinen KDL 55 W 807 aus 2013 mit deinem Modul problemlos aus. Das einschalten funktioniert jedoch nicht. Das Gerät reagiert nicht auf den WOL-Befehl. Ist mein Fernseher zu alt für diese Funktion?
Danke im Voraus und Gruß Martin
Zitat von: vde0100 am 09 August 2016, 17:01:26
Hi Vuffiraa,
ich schalte meinen KDL 55 W 807 aus 2013 mit deinem Modul problemlos aus. Das einschalten funktioniert jedoch nicht. Das Gerät reagiert nicht auf den WOL-Befehl. Ist mein Fernseher zu alt für diese Funktion?
Danke im Voraus und Gruß Martin
Hallo Martin,
Ich sehe erstmal keinen Grund, warum dein TV kein WOL unterstützen sollte. Es gibt das User-Attribut macaddr, mit dem man WOL etwas erzwingen kann. Ansonsten würde mich ein List vom Gerät interessieren.
Gruß vuffiraa
Hallo vuffiraa,
Danke für die schnelle Rückmeldung! Anbei ein Anhang mit den Parametern - ich hoffe, du kannst mit dem Foto etwas anfangen.
Gruß Martin
Damit WOL funktionieren kann muß der Sony vermutlich mit dem Netzwerk über Ethernet verbunden sein.
MAC muss entsprechen. Eventuell mal ein WOL-Paket von einer anderen Maschine senden?
Manche Routereinstellung oder Netzwerkgerät das dazwischen hängt filtert diese Pakete raus.
wennes
Für Android/Tasker/Autovoice-User habe ich unter https://wennez.wordpress.com/ (https://wennez.wordpress.com/) ein HOW-TO geschrieben.
Update: volume + netflix Suche per Sprache
Ich verwende statt des Cookies einen Pre-Shared-Key, der nicht nach 14 Tagen abläuft.
Das könnte doch eine sinnvolle Erweiterung für das Plugins sein?
Und natürlich vielen Dank für diese tolle Plugin!
wennes
Moin wennes, nachdem ich nun die macaddr unter den Attributes von 1 auf die vollständige Adresse geändert habe, kann ich den Fernseher auch einschalten. Danke für den Hinweis!
Gruß Martin
Hallo in die Fhem / Bravia Gemeinde,
hab seit gestern auch das BRAVIA Modul laufen. Erstmal Vielen Dank an vuffiraa. Tolle Arbeit.
Register hat auf sofort geklappt.
Status ON/OFF/MUTE funktioniert bereits, Prog+/-, Volume +/- funktioniert noch nicht. Welcher Kanal und welcher Input gerade aktiv ist funktioniert auch noch nicht. Aber das schaue ich mir in den nächsten Tagen an. Eventuell hab ich dann noch die ein oder andere Frage.
Fernseher ist ein ANDROID TV - Sony BRAVIA KDL-55W805C
Gruß
Marcel
Moin,
hab das Modul auch schon einige Zeit am laufen.
Funzt mittlerweile recht gut mit meinem Modell (KDL-60W605).
Danke für die Arbeit!
Gruß
Hallo,
habe das Modul mit meinem TV (KDL-55W905A) soweit erfolgreich zum Laufen gebracht, allerdings ist mir aufgefallen, dass wenn ich über FHEM den Sender wechsle am TV die Sendernummer eingegeben wird (gleich wie wenn ich auf der Fernbedienung die Sender- Nummer manuell eintippe).
Verwende ich allerdings die Video & TV Sideview App am Handy und ich wähle einen Sender aus wird dieser sofort umgeschalten und es wird nicht erst die Sendernummer am TV eingegeben. Gibt es auch bei diesem Modul die Möglichkeit die Sender direkt umzuschalten?
Liebe Grüße
fireb
Zitat von: fireb am 19 September 2016, 23:26:26
Verwende ich allerdings die Video & TV Sideview App am Handy und ich wähle einen Sender aus wird dieser sofort umgeschalten und es wird nicht erst die Sendernummer am TV eingegeben. Gibt es auch bei diesem Modul die Möglichkeit die Sender direkt umzuschalten?
Wenn du dich als Tester zur Verfügung stellst, baue ich es ein. Ich denke, ich kenne die Funktion.
Mein TV unterstützt das aber nicht, daher kann ich nicht selber testen.
Gruß vuffiraa
Zitat von: vuffiraa am 20 September 2016, 19:47:04
Wenn du dich als Tester zur Verfügung stellst, baue ich es ein. Ich denke, ich kenne die Funktion.
Mein TV unterstützt das aber nicht, daher kann ich nicht selber testen.
Gruß vuffiraa
Gerne stelle ich mich als Tester zur Verfügung. Du müsstest mir nur bescheid geben wenn Du soweit bist und ich es testen soll.
Liebe Grüße
fireb
Hallo,
kleine Überblick über meine ersten Gehversuche ;)
Ich habe einen KD-55X8505C AndroidTV, verbunden über Ethernet.
"set on" funktioniert leider nicht, stattdessen kann ich aber per "set remoteControl return" oder "set remoteControl power" das Gerät einschalten.
Der Zustand ist power off, presence present, state off.
Hier noch ein Überblick welche Befehle verfügbar sind:
curl -XPOST http://192.168.188.103/sony/system --header "Authorization: 0C76A426EEA6DC62DD56B22EA02A3A29107CBFB3" -d '{"method":"getRemoteControllerInfo","params":[],"id":10,"version":"1.0"}'
Num1 Num2 Num3 Num4 Num5 Num6 Num7 Num8 Num9 Num0 Num11 Num12
Enter GGuide ChannelUp ChannelDown VolumeUp VolumeDown Mute TvPower Audio
MediaAudioTrack Tv Input TvInput TvAntennaCable WakeUp PowerOff Sleep Right
Left SleepTimer Analog2 TvAnalog Display Jump PicOff PictureOff Teletext Video1
Video2 AnalogRgb1 Home Exit PictureMode Confirm Up Down ClosedCaption
Component1 Component2 Wide EPG PAP TenKey BSCS Ddata Stop Pause Play Rewind
Forward DOT Rec Return Blue Red Green Yellow SubTitle CS BS Digital Options Media
Prev Next DpadCenter CursorUp CursorDown CursorLeft CursorRight ShopRemoteControlForcedDynamic
FlashPlus FlashMinus AudioQualityMode DemoMode Analog Mode3D DigitalToggle DemoSurround
*AD AudioMixUp AudioMixDown PhotoFrame Tv_Radio SyncMenu Hdmi1 Hdmi2 Hdmi3 Hdmi4
TopMenu PopUpMenu OneTouchTimeRec OneTouchView DUX FootballMode iManual Netflix Assists
ActionMenu Help TvSatellite WirelessSubwoofer
Für mich reicht das erstmal, kann aber auch gerne noch weiter rumspielen 8)
Zitat von: phel am 26 September 2016, 23:57:24
Hallo,
kleine Überblick über meine ersten Gehversuche ;)
Ich habe einen KD-55X8505C AndroidTV, verbunden über Ethernet.
"set on" funktioniert leider nicht, stattdessen kann ich aber per "set remoteControl return" oder "set remoteControl power" das Gerät einschalten.
Der Zustand ist power off, presence present, state off.
Für mich reicht das erstmal, kann aber auch gerne noch weiter rumspielen 8)
Kannst du mal probieren, ob "set on" funktioniert, wenn der Zustand komplett abgeschaltet ist? Also power off und presence absent.
Gruß vuffiraa
in 23h ist er nicht auf absent gegangen, aber ich glaube dafür gab es eine Einstellung. Stelle die mal um und melde mich morgen nochmal.
Auch mit Einstellungsänderung (Einstellungen - Netzwerk - Fern-Start) auf Aus verabschiedet sich mein Fernseher nicht aus dem Netzwerk, daher auch kein WOL.
Gibt es noch weitere Einstellungen, die das beeinflussen könnten?
Zitat von: phel am 28 September 2016, 21:39:12
Auch mit Einstellungsänderung (Einstellungen - Netzwerk - Fern-Start) auf Aus verabschiedet sich mein Fernseher nicht aus dem Netzwerk, daher auch kein WOL.
Gibt es noch weitere Einstellungen, die das beeinflussen könnten?
Mein TV ist leider schon etwas älter, vielleicht gibt es hier noch jemand anderen mit deiner Gerätegeneration, der das mal überprüfen kann.
Ansonsten kriegst du demnächst eine Version, womit dein TV auch einzuschalten ist.
Fals du noch einen tester für einen kdl 55ex725 brauchst kannst du mich gerne anschreiben. Bei mir geht on off auch nicht. Auch nicht welcher kanal gerade läuft etc. laut leiser mute geht
Gesendet von iPhone mit Tapatalk
Hey @All,
ich konnte mein FHEM erst dann wirklich nutzen, nachdem ich 2x register durchgeführt hatte.
Also einmal set <Bravia-Name> register
und dann wird im TV ein 4 stelliger Code angezeigt und dann nocheinmal innerhalb der 60 Sekunden
set <Bravia-Name> register 1234
Dann konnte ich alles per Remote bedienen :)
Evtl Hilft es jmd.
TV ist ein Android TV KD-55XD93
Zitat von: Macx am 16 Oktober 2016, 14:45:48
Hey @All,
ich konnte mein FHEM erst dann wirklich nutzen, nachdem ich 2x register durchgeführt hatte.
Also einmal set <Bravia-Name> register
und dann wird im TV ein 4 stelliger Code angezeigt und dann nocheinmal innerhalb der 60 Sekunden
set <Bravia-Name> register 1234
Dann konnte ich alles per Remote bedienen :)
Evtl Hilft es jmd.
TV ist ein Android TV KD-55XD93
Also so, wie hier http://fhem.de/commandref_DE.html#BRAVIAregister (http://fhem.de/commandref_DE.html#BRAVIAregister) beschrieben.
RTFM ;-)
Wobei dein TV einer aus der aktuellen Serie ist. Funktioniert sonst alles? Kanalliste? Aktuelles Programm?
Dank Dir für den Hinweis ;)
Ja, commandref ist so ein Ding. Ich bin noch echt neu in dieser FHEM Materie und schau schon ab und an da rein, aber warum steht am Anfang nicht dabei das ich das mit dem "register" machen muss um das es funktioniert, naja ich glaube das ein Drittel der Fehler hier, genau aus diesem Punkt entstanden ist.
Ich habe einen Receiver und habe daher leider keine Kanalliste. (Den Channel zeigt er aber mit channel Vu+_SoloSE
und auch die Playsi und Kodi ohne Probleme an.)
Da habe ich gleich mal ne Frage, kann ich beim Einschalten "set on" in "set remoteControl return" ändern?
Trotzdem Top Modul, jetzt muss ich nur noch meinen Cambridge Verstärker einbinden können :-X
FHEM4Präsident :D
PS: Gerade mal nen Sendersuchlauf gemacht ... Senderliste (channel) wird angezeigt, aber leider nur die Radiokanäle
Zitat von: Macx am 16 Oktober 2016, 20:51:00
Da habe ich gleich mal ne Frage, kann ich beim Einschalten "set on" in "set remoteControl return" ändern?
Das wird nicht klappen:
ZitatDevice needs to be reachable to be controlled remotely.
Sorry fürs Crossposting: evtl. hat zum Einschalten per SmartVisu (https://forum.fhem.de/index.php/topic,58733.0.html) hier noch jemand eine Idee?
Zitat von: pcbastler am 17 Oktober 2016, 19:11:48
Das wird nicht klappen:
Sorry fürs Crossposting: evtl. hat zum Einschalten per SmartVisu (https://forum.fhem.de/index.php/topic,58733.0.html) hier noch jemand eine Idee?
Naja, phel schreibt ja auch, dass sich sein TV nie aus dem LAN abmeldet. Damit ist der TV auch immer erreichbar.
@Macx wie wichtig ist der Befehl 'return'? Würde auch 'power' oder 'standby' funktionieren? Welchen Wert hat das Reading 'generation' bei dir?
Werde das mit dem 2 ten mal regestrieren heute mal antesten. Channelliste etc habe ich auch nicht auch nicht welcher kanal gerade an ist. Aber vieleicht liegt es wirklich daran
Gesendet von iPhone mit Tapatalk
Zitat von: Nobre am 18 Oktober 2016, 09:12:23
Werde das mit dem 2 ten mal regestrieren heute mal antesten. Channelliste etc habe ich auch nicht auch nicht welcher kanal gerade an ist. Aber vieleicht liegt es wirklich daran
Gesendet von iPhone mit Tapatalk
Leider liegt es bei deinem EX725 am Alter des Gerätes. Dein Gerät stammt aus den 2011-er Serien und da wurde die Möglichkeit der Steuerung über (W)LAN eingeführt.
Die Registrierung erfolgt bei dir in einem Durchlauf ohne das eine PIN notwendig ist. Der TV liefert aber auch keine Informationen über das laufende Programm, damit kann das Modul da keine Daten bekommen. Das gleiche gilt für die Kanalliste.
Gruß vuffiraa
Sehr schade aber danke für die info, ging eigendlixh davon aus das mein tv sowas kann ist ja "recht neu"
Gesendet von iPhone mit Tapatalk
Zitat von: vuffiraa am 17 Oktober 2016, 22:06:50
Naja, phel schreibt ja auch, dass sich sein TV nie aus dem LAN abmeldet. Damit ist der TV auch immer erreichbar.
@Macx wie wichtig ist der Befehl 'return'? Würde auch 'power' oder 'standby' funktionieren? Welchen Wert hat das Reading 'generation' bei dir?
Hey, sorry für die späte Antwort
Also der TV geht nur mit dem Befehl remoteControl return an, sonst bleibt alles ohne Rückmeldung. Ich versuche gerade mit devstateicon meine Glotze einzuschalten, leider übersieht er mit
on:rc_GREEN:off off:rc_YELLOW:remoteControl return
den Befehl "return" ... evtl hat ja einer ne Idee wie ich es Ihm begreiflich machen kann. *-_/\.;, hab ich schon versucht :(
Das Reading "generation" ist bei mir zwar aufgeführt, aber leider ohne Eintrag.
LG
Hallo Macx,
meinen Fernseher muss ich über "remoteControl Power on" einschalten. Das sieht etwa so sperrig aus wie bei dir :-\
ich habe deshalb ein cmdalias für den ON-Befehl definiert:
define BRAVIA_ON cmdalias set BRAVIA on AS set BRAVIA remoteControl Power on
mein devStateIcon sieht so aus:
on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on standby:rc_YELLOW:on
wenn ich bei ausgeschaltetem TV auf das Icon clicke, will das "on" senden, das wird dann vom cmdalias in "remoteControl Power on" umgesetzt.
Vielleicht funktioniert das ja auch bei dir, viel Erfolg.
Ha Genial ... cmdalias :D :D was es nicht alles so gibt. Dankeschöne, funktioniert einwandfrei!!
Zitat von: willibutz am 03 November 2016, 19:15:42
define BRAVIA_ON cmdalias set BRAVIA on AS set BRAVIA remoteControl Power on
Hallo,
Beim Set remoteControl wird nur ein Parameter im Modul verarbeitet. Wenn das letzte "on" nicht zum Cmdalias gehört, wird es wohl ignoriert und kann weggelassen werden.
Gruß vuffiraa
Zitat von: Macx am 03 November 2016, 13:39:13
Das Reading "generation" ist bei mir zwar aufgeführt, aber leider ohne Eintrag.
LG
Hallo Macx,
kannst du mir mal ein "list" von deinem Gerät in Fhem zukommen lassen? Mich würde mal interessieren, ob es Werte gibt, die ich als Ersatz für die Generation verwenden kann.
Gruß Vuffiraa
Hi,
habe die Tage meinen Samsung gegen eine W505C getauscht. Läuft alles super mit dem Modul incl. Homebridge.
Ich habe nur ein Problem, bei dem 2015 Modell gibt es noch weitere Input Methoden, ich kann zwar auf alle HDMI schalten, zurück auf TV Klappt nicht da der Input TV bei diesem Modell als tv:dvbs läuft.
Über Dummys oder Notify kann ich es ebenfalls nicht wählen da der Input im Modul nicht bekannt ist. Wäre es großer Aufwand diesen zu erwitern?
Hat jemand eine ANhnug ob es auch Möglich ist direkt Apps zu starten welche auf dem TV laufen?
Gruß
Greg
Zitat von: lenoxef am 11 August 2016, 10:10:10
Hallo in die Fhem / Bravia Gemeinde,
hab seit gestern auch das BRAVIA Modul laufen. Erstmal Vielen Dank an vuffiraa. Tolle Arbeit.
Register hat auf sofort geklappt.
Status ON/OFF/MUTE funktioniert bereits, Prog+/-, Volume +/- funktioniert noch nicht. Welcher Kanal und welcher Input gerade aktiv ist funktioniert auch noch nicht. Aber das schaue ich mir in den nächsten Tagen an. Eventuell hab ich dann noch die ein oder andere Frage.
Fernseher ist ein ANDROID TV - Sony BRAVIA KDL-55W805C
Gruß
Marcel
Hi, ich habe dasselbe Bravia Modell, ausschalten usw geht, aber wenn er dann im standby ist bekomme ich den mit set Bravia on nicht wieder an ....
Sobald er an ist geht das meiste, nur einschalten nicht, würde das gerne via Alexa auch nutzen, wie den rest hier, ich habe viele Geräte mit Amazon Echo (Dot) so eingerichtet das
man fast alles per sprache machen kann (die wichtigen singe halt, Geräte an/aus, lauter/leiser usw usw)
Falls jemand dazu einen Tip hat warum ich den Bravia nicht mehr anschalten kann wär ich echt dankbar :)
Und Danke für das modul :)
Zitat von: fire3k am 14 Dezember 2016, 07:39:40
Hi, ich habe dasselbe Bravia Modell, ausschalten usw geht, aber wenn er dann im standby ist bekomme ich den mit set Bravia on nicht wieder an ....
Sobald er an ist geht das meiste, nur einschalten nicht, würde das gerne via Alexa auch nutzen, wie den rest hier, ich habe viele Geräte mit Amazon Echo (Dot) so eingerichtet das
man fast alles per sprache machen kann (die wichtigen singe halt, Geräte an/aus, lauter/leiser usw usw)
Falls jemand dazu einen Tip hat warum ich den Bravia nicht mehr anschalten kann wär ich echt dankbar :)
Und Danke für das modul :)
Welches BRAVIA Modell hast du? An/Aus ist leider bei jeder Generation anders gelöst worden, da muss das Modul noch etwas intelligenter werden.
Gruß,
vuffiraa
Zitat von: vuffiraa am 14 Dezember 2016, 08:07:35
Welches BRAVIA Modell hast du? An/Aus ist leider bei jeder Generation anders gelöst worden, da muss das Modul noch etwas intelligenter werden.
Gruß,
vuffiraa
hätte ich vllt doch dazu schreiben sollen : KDL-55W805C
danke
Ich habe es über dein Define gelöst beim 805C
define WZ.Fernseher_ON cmdalias set WZ.Fernseher on AS set WZ.Fernseher remoteControl Power on
Gruß
Greg
P.S. darf ich meine Frage mit dem Input tv:dvbs nochmal hochholen ;.)
Zitat von: GregPac am 14 Dezember 2016, 22:03:00
P.S. darf ich meine Frage mit dem Input tv:dvbs nochmal hochholen ;.)
Das habe ich auf meiner Liste und auch das Einschaltproblem.
Ich muss halt nur die Zeit dazu finden. Aber nach Weihnachten kann ich das Modul auch direkt an einem neuen Sony testen :)
Gruß vuffiraa
Alles klar, kein Problem wollte auch nicht drängeln. Jetzt weiß ich ja das es auf der liste steht ;)
Was wird es denn für ein Modell?
Hallo,
danke für das tolle Modul - Für FHEM gibts ja wirklich alles ;)
Bei der Registrierung ist mir eine Peinlichkeit passiert. Nach dem "set register" kam am Fernseher sofort der Hinweis, dass ich binnen 60 Sekunden in FHEM einen Code eingeben müsste. Ich wusste dann lange nicht wo. Irgendwann hab ich mir gedacht, wieso kann man bei "set register" danach eigentlich noch was eintragen und nochmal später dann plötzlich so "oooooh" und nach "set register REGISTRIERNUMMER" gings dann auch.
Leider lässt sich das Ding nicht einschalten :( In FHEM kommt "wake up command sent" aber das wars dann auch. Der Fernseher bleibt dunkel.
Die Frage, ob ich mit meinem mobilen Gerät den Fernseher auch im Stand-By steuern möchte und das dabei der Stromverbrauch höher sein könnte, habe ich mit "JA" beantwortet.
In den Einstellungen am TV habe ich leider keine Wake-On-Lan Einstellung gefunden - Ich bilde mir ein, die gabs mal, ist aber vielleicht mit einem Update verschwunden...
Modell ist ein KD-65X9005C.
Hier noch das Log, welches nach dem Wake-Up auf Verbose 5 geschrieben wird:
2016.12.20 17:56:26 2: BRAVIA set WohnzimmerTV on
2016.12.20 17:56:26 5: BRAVIA WohnzimmerTV: called function BRAVIA_Set()
2016.12.20 17:56:26 5: BRAVIA WohnzimmerTV: called function BRAVIA_Set()
2016.12.20 17:56:26 4: BRAVIA WohnzimmerTV: Waking up by sending Wake-On-Lan magic package to AABBCCXXYYZZ
2016.12.20 17:56:49 5: BRAVIA WohnzimmerTV: called function BRAVIA_GetStatus()
2016.12.20 17:56:49 5: BRAVIA WohnzimmerTV: called function BRAVIA_SendCommand()
2016.12.20 17:56:49 4: BRAVIA WohnzimmerTV: REQ getStatus/json
2016.12.20 17:56:49 5: BRAVIA WohnzimmerTV: POST http://IP:80/sony/system ({"method":"getPowerStatus","params":[],"id":1,"version":"1.0"})
2016.12.20 17:56:49 5: BRAVIA WohnzimmerTV: header X-CERS-DEVICE-ID: fhem_remote
Cookie: auth=Cookie_entfernt
2016.12.20 17:56:49 5: BRAVIA WohnzimmerTV: called function BRAVIA_ReceiveCommand() rc: HASH(0xaffa098) err: data: {"result":[{"status":"standby"}],"id":1}
2016.12.20 17:56:49 4: BRAVIA WohnzimmerTV: RCV getStatus/json
2016.12.20 17:56:49 4: BRAVIA WohnzimmerTV: RES getStatus/json - {"result":[{"status":"standby"}],"id":1}
Zitat von: shady88 am 20 Dezember 2016, 18:00:12
Leider lässt sich das Ding nicht einschalten :( In FHEM kommt "wake up command sent" aber das wars dann auch. Der Fernseher bleibt dunkel.
Hallo shady88,
zwei Sachen fallen mir dazu ein:
- Prüfe mal, ob die Mac-Adresse stimmt. Das ist die Adresse "AABBCCXXYYZZ", wo das WOL-Paket hingeschickt wird. Die steht im Modul in den Readings unter "macAddr", oder kann mit dem Attribute "macaddr" überschrieben werden.
- Schaltet sich der TV eventuell an, wenn du einen der Befehle sendest?
set WohnzimmerTV remoteControl POWER
set WohnzimmerTV remoteControl STANDBY
Gruß
vuffiraa
Hallo vuffiraa,
danke für deine Antwort.
Die Mac-Adresse stimmt, habe sie auch mit der verglichen, die mir am Fernseher angezeigt wird. Möglicherweise versteht er das WOL-Paket nicht.
Jedoch hat es mit
set WohnzimmerTV remoteControl POWER
set WohnzimmerTV remoteControl STANDBY
bestens funktioniert! :) Danke für deine Hilfe!
Jetzt kann ich endlich den Fernseher remote (ab morgen mit Alexa) einschalten, da das mit der Fernbedienung immer etwas schwierig ist, da genau vor dem IR-Empfänger eine Box steht und diesen blockiert.
Danke!
Fenseher und Alexa. Tja, da bin ich auch gerade dabei. Geht auch alles wunderbar mit meinem Sony KDL W905. Nur frage ich mich, ob ich meinem Sony noch irgendwie die HDMI Quelle per FHEM mitgeben kann,
also auf welche Quelle der Fernseher per Bravia Sync (CEC) schaltet.
Hat das schon jemand mal probiert?
Edit: Was ich direkt meine ist das "Sync Menu". In der SideView App auf meinem iPad geht das wunderbar. Nur finde ich die Funktion nicht in FHEM.
Irgendwas muss ich damit machen oder?
Helper:
ADDRESS 192.168.178.38
AVAILABLE 1
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput extInput:hdmi
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Inputpreset:
Av1:
uri extInput:scart?port=1
Av2/component:
uri extInput:composite?port=1
Bildschirm_spiegeln:
uri extInput:widi?port=1
Hdmi_1:
uri extInput:hdmi?port=1
Hdmi_2/mhl:
uri extInput:hdmi?port=2
Hdmi_3:
uri extInput:hdmi?port=3
Hdmi_4:
uri extInput:hdmi?port=4
Player_1:
uri extInput:cec?type=player&port=1
Player_2:
uri extInput:cec?type=player&port=2
Recorder_1:
uri extInput:cec?type=recorder&port=1
Tv:
uri tv
Tuner_1:
uri extInput:cec?type=tuner&port=1
Habs. unter "input" :) Danke für das Toole Plugin.!!! Hier mein Alexa dummy:
TV = Mein BRAVIA device
define fernsehen dummy
attr fernsehen alexaName fernsehen
attr fernsehen genericDeviceType switch
attr fernsehen room Fernsehen,alexa
attr fernsehen setList on off
define FernsehenON notify fernsehen { fhem("set TV $EVENT;; set TV input Tuner_1;;") }
Funzt perfekz, auch mit meinen anderen Dummies (inputs am TV) ;)
"Alexa, schalte Fernsehen ein"
"Alexa, schalte Fernsehen aus"
Hallo und frohe Weihnachten!
Auch von mir ein großes Dankeschön für das Modul!
ChannelUp,ChannelDown,Volume,.... funktioniert einwandfrei
Bei den Readings bleibt aber channel, channelId, currentMedia, currentTitle, input leer. Bei Internals generation, modelName, name stehen ebenfalls keine Informationen.
Ich würde gern über Alexa einen bestimmten Sender direkt auswählen.
Mein TV: KDL-46W905A
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_Get()
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_GetStatus()
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_SendCommand()
2016.12.24 08:47:02 4: BRAVIA TVControl: REQ getStatus/json
2016.12.24 08:47:02 5: BRAVIA TVControl: POST http://192.168.178.21:80/sony/system ({"method":"getPowerStatus","params":[],"id":1,"version":"1.0"})
2016.12.24 08:47:02 5: BRAVIA TVControl: header X-CERS-DEVICE-ID: fhem_remote
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_ReceiveCommand() rc: HASH(0x45e4388) err: data: {"id":1,"result":[{"status":"active"}]}
2016.12.24 08:47:02 4: BRAVIA TVControl: RCV getStatus/json
2016.12.24 08:47:02 4: BRAVIA TVControl: RES getStatus/json - {"id":1,"result":[{"status":"active"}]}
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_SendCommand()
2016.12.24 08:47:02 4: BRAVIA TVControl: REQ getSystemInformation
2016.12.24 08:47:02 5: BRAVIA TVControl: POST http://192.168.178.21:80/sony/system ({"method":"getSystemInformation","params":[],"id":1,"version":"1.0"})
2016.12.24 08:47:02 5: BRAVIA TVControl: header X-CERS-DEVICE-ID: fhem_remote
2016.12.24 08:47:02 5: BRAVIA TVControl: called function BRAVIA_ReceiveCommand() rc: HASH(0x4a810d0) err: data: {"auth_url":{"default":"http://192.168.178.21/sony/webauth/auth_default"}}
2016.12.24 08:47:02 4: BRAVIA TVControl: RCV getSystemInformation
2016.12.24 08:47:02 4: BRAVIA TVControl: RES getSystemInformation - {"auth_url":{"default":"http://192.168.178.21/sony/webauth/auth_default"}}
2016.12.24 08:47:09 5: BRAVIA TVControl: called function BRAVIA_Get()
Zitat von: vuffiraa am 16 Dezember 2016, 09:34:14
KD55XD8505 :)
Hallo alle (und insbesondere vuffiraa, da wir wohl seit heute den gleichen Fernseher zu haben scheinen :) ).
Kennt jemand einen Weg, per Remotezugriff auf einem Sony Android TV (z.B. XD85) Popup-Textnachrichten (oder gerne Bilder als Overlay) erscheinen zu lassen? Würde ich gerne in Verbindung mit der Hausklingelanlage realisieren.
Für ältere Philips Fernseher gibt es eine ähnliche Lösung (https://sourceforge.net/p/jstx/wiki/Home/ (https://sourceforge.net/p/jstx/wiki/Home/)), die ich schon lange von meinem Raspberry Pi aus in Verbindung mit dem Fritzbox Collmonitor benutze, aber für Sony hat meine Lange Suche leider keine brauchbare Ergebnisse gebracht.
Bei meinem Sony BRAVIA KD-49X8505B funktioniert alles außer das einschalten. *hrmpf* Mist, fast. :P
Bei einem: set TV on
kommt: wake-up command send
und es passiert nichts. Im Log steht: 2016.12.31 17:49:53 5: BRAVIA TV: called function BRAVIA_GetStatus()
2016.12.31 17:49:53 5: BRAVIA TV: called function BRAVIA_SendCommand()
2016.12.31 17:49:53 4: BRAVIA TV: REQ getStatus/json
2016.12.31 17:49:53 5: BRAVIA TV: POST http://192.168.100.7:80/sony/system ({"method":"getPowerStat
us","params":[],"id":1,"version":"1.0"})
2016.12.31 17:49:53 5: BRAVIA TV: header X-CERS-DEVICE-ID: fhem_remote^M
Cookie: auth=f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016.12.31 17:49:53 4: HttpUtils url=http://192.168.100.7:80/sony/system
2016.12.31 17:50:03 5: BRAVIA TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x80864a078) err
: connect to http://192.168.100.7:80 timed out data:
2016.12.31 17:50:03 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 2: BRAVIA set TV on
2016.12.31 17:50:09 5: Triggering TV (1 changes)
2016.12.31 17:50:09 5: Starting notify loop for TV, 1 event(s), first is set_on
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 4: BRAVIA TV: Waking up by sending Wake-On-Lan magic package to FCF152C2C54B
2016.12.31 17:50:09 4: name: /fhem&detail=TV&dev.setTV=TV&cmd.setTV=set&arg.setTV=on&val.setTV= / R
L:1194 / text/html; charset=UTF-8 / Content-Encoding: gzip^M
/
2016.12.31 17:50:23 5: BRAVIA TV: called function BRAVIA_GetStatus()
2016.12.31 17:50:23 5: BRAVIA TV: called function BRAVIA_SendCommand()
2016.12.31 17:50:23 4: BRAVIA TV: REQ getStatus/json
2016.12.31 17:50:23 5: BRAVIA TV: POST http://192.168.100.7:80/sony/system ({"method":"getPowerStat
us","params":[],"id":1,"version":"1.0"})
2016.12.31 17:50:23 5: BRAVIA TV: header X-CERS-DEVICE-ID: fhem_remote^M
Cookie: auth=f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016.12.31 17:50:23 4: HttpUtils url=http://192.168.100.7:80/sony/system
2016.12.31 17:50:33 5: BRAVIA TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x808612810) err
: connect to http://192.168.100.7:80 timed out data:
2016.12.31 17:50:33 4: BRAVIA TV: RCV TIMEOUT getStatus/json
Nach: set TV remoteControl POWER
kommt: Device needs to be reachable to be controlled remotely.
und es passiert nichts. Im Log steht nur: 2016.12.31 17:48:18 5: BRAVIA TV: called function BRAVIA_Set()
Das listing sieht so aus:
Internals:
CHANNELCOUNT 50
DEF 192.168.100.7 30
INTERVAL 30
NAME TV
NR 175
STATE set_on
TYPE BRAVIA
generation
modelName
name
Readings:
2016-12-30 12:04:35 area DEU
2016-12-30 12:04:06 authCookie f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016-12-30 12:04:06 authExpires Fri, 13-Jan-2017 11:04:06 GMT
2016-12-30 12:04:06 authMaxAge 1209600
2016-12-31 17:09:50 channel -
2016-12-31 15:38:12 channelId -
2016-12-31 15:38:12 ci_durationSec -
2016-12-31 15:38:12 ci_startDateTime -
2016-12-31 15:38:12 ci_tripletStr -
2016-12-31 17:09:50 ci_uri -
2016-12-30 12:04:35 country DEU
2016-12-31 15:38:12 currentMedia -
2016-12-31 15:38:12 currentTitle -
2016-12-30 12:04:35 generation 2.5.0
2016-12-31 17:09:50 input -
2016-12-30 12:04:35 language ger
2016-12-30 12:04:35 macAddr FC:F1:52:C2:C5:4B
2016-12-30 12:04:35 modelName KD-49X8505B
2016-12-30 12:02:35 mute on
2016-12-30 12:04:35 name BRAVIA
2016-12-31 17:09:50 power off
2016-12-31 17:15:00 presence absent
2016-12-30 12:03:12 registrationUUID d15a8610cafabc6d110fad9d231f2d8a
2016-12-30 12:02:35 requestFormat json
2016-12-31 17:42:27 state set_on
Helper:
ADDRESS 192.168.100.7
AVAILABLE 0
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput extInput:hdmi
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Channelpreset:
001:
id 001
name Das_Erste_HD
--> CUT <--
705:
id 705
name MEGA_Radio
Inputpreset:
Av1:
uri extInput:scart?port=1
Av2/component:
uri extInput:composite?port=1
Bildschirm_spiegeln:
uri extInput:widi?port=1
Hdmi_1:
uri extInput:hdmi?port=1
Hdmi_2/mhl:
uri extInput:hdmi?port=2
Hdmi_3:
uri extInput:hdmi?port=3
Hdmi_4/mhl:
uri extInput:hdmi?port=4
Tv:
uri tv
Attributes:
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
room Wohnzimmer
webCmd volume:channelUp:channelDown
Bei den Versuchen eben war der STATE: absent. Wenn er auf off steht, geht es auch nicht, mit dem einzigen Unterschied, dass als Rückgabe nicht "Device needs to be reachable to be controlled remotely." kommt.
Es ist äußerst schade. Der ganze Rest klappt. Input umschalten, durch die Amazon per svg-remoteControl schalten etc. Hat noch hjemand eine Idee, wie ich das Anschalten hinbekomme?
Achso, das Ausschalten ist sowohl über set TV off
als auch über set TV remoteControl STANDBY
möglich. WOL über die Fritzbox funktioniert auch mit dem Fernseher.
Ich bin für alle Tipps dankbar.
Guten Rutsch!
Hi,
Bei meinem KDL-55HX755 ist das analog, obwohl ich WOL von Fritzbox noch nicht gemacht habe. Wie machst Du das genau? Und könntest Du dies nicht auch als FHEM Command triggern? Ich schalte den Bravia jedenfalls per HDMI ein. Habe ich ganz weit oben mal beschrieben.
Gruß Arnd
Gesendet von iPhone mit Tapatalk
Ein frohes neues Jahr in die Runde!
Ich hatte ja schon mehrmals geschrieben, dass das Anschalten schwierig ist und auch noch in jeder Serie anders umgesetzt wurde. Ich muss da mal aus den ganzen Beiträgen hier eine Übersicht zusammentragen und die dann einbauen.
@RaspiLED: Der HX755 unterstützt noch kein WOL, den bekommt man übers LAN nicht eingeschaltet.
Gruß vuffiraa
@RaspiLED:
Auf fritz.box unter Heimnetz --> Heimnetzübersicht --> Netzverbindungen --> <Gerät bearbeiten> --> Wake on Lan: "Computer starten"
@vuffiraa:
Sag Bescheid, wenn du noch Informationen brauchst.
Grüße
Thx a lot! Im Moment versuche ich eine CEC Einschaltlösung auf einer Android TV Box mit Kodi zu realisieren. Hat das schon jemand erfolgreich umgesetzt?
Wie gesagt mit einem RPi geht dieser Weg super ;-)
Gruß Arnd
Gesendet von iPhone mit Tapatalk
Hallo,
erst einmal allen ein gesundes neues Jahr.
Ich lese schon eine Weile hier im Forum, hatte mich aber bisher nicht angemeldet.
Nun habe ich doch einmal eine Frage. (wird auch sicher nicht die letzte Frage sein ::))
Ich habe einen KDL-50W805B. Die Registrierung hat per Code geklappt.
Ich kann den TV ausschalten, und auch Chanel UP/Down funktionieren.
Die Lautstärke geht leider nicht.
Einschalten funktioniert per WOL auch ... ABER ... nach ca. 30 Sekunden schaltet der Fernseher sich wieder aus.
Dabei ist es egal welchen Powerbefehl ich absende, er schaltet nach ein paar Sekunden immer wieder ab.
Nun folgt noch ein "Luxus-Problem" in Verbindung mit Homebridge/Siri:
Zudem würde ich den Fernseher auch gerne mit Siri / Homebridge steuern.
Dafür habe ich einen Dummy angelegt und als Schalter für Homekit erstellt.
Ich kann per Siri nun auch den Fernseher ein- und auschalten (natürlich mit dem selben Effekt - Abschalten nach 30 Sekunden)
Nun bin ich am Überlegen, wie ich den Rest verwirkliche.
Als Schalter? Dies wird spätestens bei Chanel up/down oder Volume problematisch.
Hallo Rakete0815,
Willkommen im Forum!
Kannst du mal ein Log mit verbose=5 für die Sachen schrieben, die nicht funktionieren. Das Abschalten nach 30 Sekunden klingt ja interessant. Hast du vielleicht weiter Geräte mit dem TV verbunden , die ihn steuern wollen?
Gruß vuffiraa
Moin, vielen Dank für deine Antwort.
Ich glaube es lag an meinem Schalter-Dummy in Verbindung mit Notify-Set was ich mir für die Homebridge angelegt hatte.
Ich habe das alles wieder rausgeschmissen und nun funktioniert das einschalten wunderbar.
Jetzt muss ich mir nur überlegen wie ich das ganze mit Apples Homekit steuern kann.
Hallo,
Ich habe heute eine neue Version des Moduls ins SVN geschoben. Folgende Probleme werden (hoffentlich) mit dieser Version behoben:
- Die Titel der aktuellen Sendung und der Sendernamen enthalten korrekte Umlaute. Falls hier jemand komische Zeichen sieht, bitte melden!
- Beim Einschalten wird WOL verwendet, wenn der TV es unterstützt, und wenn er nicht im Standby-Modus ist. Ansonsten wird per RemoteControl Power eingeschaltet. Eine Ausnahme bilden hier die 2013er Modelle (Modellnummer endet auf A), da wird WOL auch im Standby verwendet.
- Beim Umschalten der Inputs wird für TV die letzte gültige TV-Uri verwendet. Damit wird korrekt auf den letzten Kanal zurückgeschaltet, egal ob es DVB-S oder -T war.
Gruß vuffiraa
Huhu, gibt es denn neue Informationen zu "KDL48WD655"?
Zitat von: accessburn am 06 Februar 2017, 10:32:32
Huhu, gibt es denn neue Informationen zu "KDL48WD655"?
Hallo accessburn,
leider scheint Sony hier nichts weiter mit deinem Modell zu planen. Es gibt keine Unterstützung für externe Steuerung: http://info.tvsideview.sony.net/de/home_device.html#bravia (http://info.tvsideview.sony.net/de/home_device.html#bravia)
Gruß vuffiraa
Zitat von: vuffiraa am 06 Februar 2017, 12:24:33
Hallo accessburn,
leider scheint Sony hier nichts weiter mit deinem Modell zu planen. Es gibt keine Unterstützung für externe Steuerung: http://info.tvsideview.sony.net/de/home_device.html#bravia (http://info.tvsideview.sony.net/de/home_device.html#bravia)
Gruß vuffiraa
Okay, das pisst mich jetzt mal derbe an. So viel Geld für dieses Gerät und der kleine im Wohnzimmer aus China kann das sogar. Aber das steht auf einem anderen Blatt.
Komisch ist nur das ich auf diversen Ports einige Infos herauskitzeln kann, nichts weltbewegendes, aber er antwortet immerhin.
Zitat von: accessburn am 06 Februar 2017, 13:09:05
Okay, das pisst mich jetzt mal derbe an. So viel Geld für dieses Gerät und der kleine im Wohnzimmer aus China kann das sogar. Aber das steht auf einem anderen Blatt.
Komisch ist nur das ich auf diversen Ports einige Infos herauskitzeln kann, nichts weltbewegendes, aber er antwortet immerhin.
Auf welche Ports reagiert denn der TV?
Ansonsten hatte ich hier mal einige URLs zusammengebaut, worauf die neueren TVs reagieren: https://forum.fhem.de/index.php/topic,17094.msg400622.html#msg400622 (https://forum.fhem.de/index.php/topic,17094.msg400622.html#msg400622)
vuffiraa
Ich glaube das ich über diese Liste überhaupt erst etwas bekommen habe.
Ich muss in meinen Aufzeichnungen daheim mal schauen und melde mich dann nochmal.
Das hab ich mal aus ihm raus gekitzelt:
http://192.168.178.31:2870/dmr.xml
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:dlna="urn:schemas-dlna-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>KDL-48WD655</friendlyName>
<manufacturer>Sony Corporation</manufacturer>
<manufacturerURL>http://www.access-company.com/</manufacturerURL>
<modelDescription>IPI Media Renderer</modelDescription>
<modelName>KDL-32W700B</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>http://www.access-company.com/</modelURL>
<UDN>uuid:13ce3950-1df8-11b2-b3de-aaa795c7265b</UDN>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/dmr_rcs.xml</SCPDURL>
<controlURL>control/RenderingControl</controlURL>
<eventSubURL>event/RenderingControl</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/dmr_cms.xml</SCPDURL>
<controlURL>control/ConnectionManager</controlURL>
<eventSubURL>event/ConnectionManager</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/dmr_avts.xml</SCPDURL>
<controlURL>control/AVTransport</controlURL>
<eventSubURL>event/AVTransport</eventSubURL>
</service>
</serviceList>
<iconList>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/icon/DMR-small.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/icon/DMR-small.png</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/icon/DMR-large.jpg</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/icon/DMR-large.png</url>
</icon>
</iconList>
</device>
</root>
http://192.168.178.31:2870/dmr_avts.xml
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>SetAVTransportURI</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>CurrentURI</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>CurrentURIMetaData</name>
<direction>in</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetMediaInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>NrTracks</name>
<direction>out</direction>
<relatedStateVariable>NumberOfTracks</relatedStateVariable>
</argument>
<argument>
<name>MediaDuration</name>
<direction>out</direction>
<relatedStateVariable>CurrentMediaDuration</relatedStateVariable>
</argument>
<argument>
<name>CurrentURI</name>
<direction>out</direction>
<relatedStateVariable>AVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>CurrentURIMetaData</name>
<direction>out</direction>
<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>
</argument>
<argument>
<name>NextURI</name>
<direction>out</direction>
<relatedStateVariable>NextAVTransportURI</relatedStateVariable>
</argument>
<argument>
<name>NextURIMetaData</name>
<direction>out</direction>
<relatedStateVariable>NextAVTransportURIMetaData</relatedStateVariable>
</argument>
<argument>
<name>PlayMedium</name>
<direction>out</direction>
<relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>
</argument>
<argument>
<name>RecordMedium</name>
<direction>out</direction>
<relatedStateVariable>RecordStorageMedium</relatedStateVariable>
</argument>
<argument>
<name>WriteStatus</name>
<direction>out</direction>
<relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetTransportInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>CurrentTransportState</name>
<direction>out</direction>
<relatedStateVariable>TransportState</relatedStateVariable>
</argument>
<argument>
<name>CurrentTransportStatus</name>
<direction>out</direction>
<relatedStateVariable>TransportStatus</relatedStateVariable>
</argument>
<argument>
<name>CurrentSpeed</name>
<direction>out</direction>
<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetPositionInfo</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Track</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrack</relatedStateVariable>
</argument>
<argument>
<name>TrackDuration</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackDuration</relatedStateVariable>
</argument>
<argument>
<name>TrackMetaData</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>
</argument>
<argument>
<name>TrackURI</name>
<direction>out</direction>
<relatedStateVariable>CurrentTrackURI</relatedStateVariable>
</argument>
<argument>
<name>RelTime</name>
<direction>out</direction>
<relatedStateVariable>RelativeTimePosition</relatedStateVariable>
</argument>
<argument>
<name>AbsTime</name>
<direction>out</direction>
<relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>
</argument>
<argument>
<name>RelCount</name>
<direction>out</direction>
<relatedStateVariable>RelativeCounterPosition</relatedStateVariable>
</argument>
<argument>
<name>AbsCount</name>
<direction>out</direction>
<relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetDeviceCapabilities</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>PlayMedia</name>
<direction>out</direction>
<relatedStateVariable>PossiblePlaybackStorageMedia</relatedStateVariable>
</argument>
<argument>
<name>RecMedia</name>
<direction>out</direction>
<relatedStateVariable>PossibleRecordStorageMedia</relatedStateVariable>
</argument>
<argument>
<name>RecQualityModes</name>
<direction>out</direction>
<relatedStateVariable>PossibleRecordQualityModes</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetTransportSettings</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>PlayMode</name>
<direction>out</direction>
<relatedStateVariable>CurrentPlayMode</relatedStateVariable>
</argument>
<argument>
<name>RecQualityMode</name>
<direction>out</direction>
<relatedStateVariable>CurrentRecordQualityMode</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Stop</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Play</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Speed</name>
<direction>in</direction>
<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Pause</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Seek</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Unit</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_SeekMode</relatedStateVariable>
</argument>
<argument>
<name>Target</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_SeekTarget</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Next</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>Previous</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetCurrentTransportActions</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Actions</name>
<direction>out</direction>
<relatedStateVariable>CurrentTransportActions</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>TransportState</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>STOPPED</allowedValue>
<allowedValue>PAUSED_PLAYBACK</allowedValue>
<allowedValue>PLAYING</allowedValue>
<allowedValue>TRANSITIONING</allowedValue>
<allowedValue>NO_MEDIA_PRESENT</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>TransportStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>OK</allowedValue>
<allowedValue>ERROR_OCCURRED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>PlaybackStorageMedium</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NONE</allowedValue>
<allowedValue>NETWORK</allowedValue>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>RecordStorageMedium</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossiblePlaybackStorageMedia</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossibleRecordStorageMedia</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentPlayMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NORMAL</allowedValue>
</allowedValueList>
<defaultValue>NORMAL</defaultValue>
</stateVariable>
<stateVariable sendEvents="no">
<name>TransportPlaySpeed</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>1</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>RecordMediumWriteStatus</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentRecordQualityMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>NOT_IMPLEMENTED</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>PossibleRecordQualityModes</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NumberOfTracks</name>
<dataType>ui4</dataType>
<allowedValueRange>
<minimum>0</minimum>
<maximum>100</maximum>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrack</name>
<dataType>ui4</dataType>
<allowedValueRange>
<minimum>0</minimum>
<maximum>100</maximum>
<step>1</step>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackDuration</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentMediaDuration</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTrackURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AVTransportURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AVTransportURIMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NextAVTransportURI</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>NextAVTransportURIMetaData</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>RelativeTimePosition</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AbsoluteTimePosition</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>RelativeCounterPosition</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>AbsoluteCounterPosition</name>
<dataType>i4</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>LastChange</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_SeekMode</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>TRACK_NR</allowedValue>
<allowedValue>REL_TIME</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_SeekTarget</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_InstanceID</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>CurrentTransportActions</name>
<dataType>string</dataType>
</stateVariable>
</serviceStateTable>
</scpd>
http://192.168.178.31:2870/dmr_rcs.xml
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>PresetNameList</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>LastChange</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Mute</name>
<dataType>boolean</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>Volume</name>
<dataType>ui2</dataType>
<allowedValueRange>
<minimum>0</minimum>
<maximum>100</maximum>
<step>1</step>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_Channel</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>Master</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_InstanceID</name>
<dataType>ui4</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>A_ARG_TYPE_PresetName</name>
<dataType>string</dataType>
<allowedValueList>
<allowedValue>FactoryDefaults</allowedValue>
</allowedValueList>
</stateVariable>
</serviceStateTable>
<actionList>
<action>
<name>ListPresets</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>CurrentPresetNameList</name>
<direction>out</direction>
<relatedStateVariable>PresetNameList</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SelectPreset</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>PresetName</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetMute</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
</argument>
<argument>
<name>CurrentMute</name>
<direction>out</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetMute</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
</argument>
<argument>
<name>DesiredMute</name>
<direction>in</direction>
<relatedStateVariable>Mute</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>GetVolume</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
</argument>
<argument>
<name>CurrentVolume</name>
<direction>out</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SetVolume</name>
<argumentList>
<argument>
<name>InstanceID</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
</argument>
<argument>
<name>Channel</name>
<direction>in</direction>
<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
</argument>
<argument>
<name>DesiredVolume</name>
<direction>in</direction>
<relatedStateVariable>Volume</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
</scpd>
Das ist auch Neu. Beim letzten Update scheint wohl die 13000 dazu gekommen zu sein:
curl -v -XPOST http://192.168.178.31:13000
* About to connect() to 192.168.178.31 port 13000 (#0)
* Trying 192.168.178.31...
* connected
* Connected to 192.168.178.31 (192.168.178.31) port 13000 (#0)
> POST / HTTP/1.1
> User-Agent: curl/7.26.0
> Host: 192.168.178.31:13000
> Accept: */*
>
* additional stuff not fine transfer.c:1037: 0 0
* Empty reply from server
* Connection #0 to host 192.168.178.31 left intact
curl: (52) Empty reply from server
* Closing connection #0
Alles in allem sind diese Ports frei:
Port 2870 (TCP)
Port 13000 (TCP)
Port 56789 (TCP)
Port 56790 (TCP)
Hallo zusammen,
seit dem letzten Update des Moduls ist bei mir keine Lautstärkeregelung/Mute mehr möglich...Sender Umschaltung etc. funktioniert jedoch.
Modell Sony Bravia KDL 46HX855.
Hat noch jemand die selben Probleme oder besser eine Lösung, ;-)?
Zitat von: MaDDin78 am 13 Februar 2017, 16:50:28
Hallo zusammen,
seit dem letzten Update des Moduls ist bei mir keine Lautstärkeregelung/Mute mehr möglich...Sender Umschaltung etc. funktioniert jedoch.
Modell Sony Bravia KDL 46HX855.
Hat noch jemand die selben Probleme oder besser eine Lösung, ;-)?
Hallo MaDDin78,
ich habe in dem Umfeld eigentlich nichts geschraubt, aber ansonsten würde zur weiteren Analyse ein List vom Gerät und ein ausführliches Log helfen. Bei mir geht es natürlich noch.
Gruß Vuffiraa
Zitat von: accessburn am 06 Februar 2017, 17:33:50
Das hab ich mal aus ihm raus gekitzelt:
...
Alles in allem sind diese Ports frei:
Port 2870 (TCP)
Port 13000 (TCP)
Port 56789 (TCP)
Port 56790 (TCP)
Das sieht nach Upnp Services des TV aus, aber das ist leider keine komplette Steuerung. Im Modul benutzte ich einige der gefundenen Services, um Lautstärke und Stummschaltung zu überwachen und zu steuern. Aber das ist eher Beiwerk zur eigentlichen Funktionalität des Moduls.
Falls das für dich trotzdem interessant ist, könntest du dich hier (https://forum.fhem.de/index.php/topic,39706.0.html) einlesen, ob du den TV über dieses Modul ins Fhem bekommst.
Ganz unabhängig von Fhem hatte ich hier (https://forum.fhem.de/index.php/topic,17094.msg226151.html#msg226151) schon mal was geschrieben, wie man Upnp erforschen kann.
Gruß Vuffiraa
Zitat von: Keynaan am 31 Dezember 2016, 18:12:37
Bei meinem Sony BRAVIA KD-49X8505B funktioniert alles außer das einschalten. *hrmpf* Mist, fast. :P
Bei einem: set TV on
kommt: wake-up command send
und es passiert nichts. Im Log steht: 2016.12.31 17:49:53 5: BRAVIA TV: called function BRAVIA_GetStatus()
2016.12.31 17:49:53 5: BRAVIA TV: called function BRAVIA_SendCommand()
2016.12.31 17:49:53 4: BRAVIA TV: REQ getStatus/json
2016.12.31 17:49:53 5: BRAVIA TV: POST http://192.168.100.7:80/sony/system ({"method":"getPowerStat
us","params":[],"id":1,"version":"1.0"})
2016.12.31 17:49:53 5: BRAVIA TV: header X-CERS-DEVICE-ID: fhem_remote^M
Cookie: auth=f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016.12.31 17:49:53 4: HttpUtils url=http://192.168.100.7:80/sony/system
2016.12.31 17:50:03 5: BRAVIA TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x80864a078) err
: connect to http://192.168.100.7:80 timed out data:
2016.12.31 17:50:03 4: BRAVIA TV: RCV TIMEOUT getStatus/json
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 2: BRAVIA set TV on
2016.12.31 17:50:09 5: Triggering TV (1 changes)
2016.12.31 17:50:09 5: Starting notify loop for TV, 1 event(s), first is set_on
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 5: BRAVIA TV: called function BRAVIA_Set()
2016.12.31 17:50:09 4: BRAVIA TV: Waking up by sending Wake-On-Lan magic package to FCF152C2C54B
2016.12.31 17:50:09 4: name: /fhem&detail=TV&dev.setTV=TV&cmd.setTV=set&arg.setTV=on&val.setTV= / R
L:1194 / text/html; charset=UTF-8 / Content-Encoding: gzip^M
/
2016.12.31 17:50:23 5: BRAVIA TV: called function BRAVIA_GetStatus()
2016.12.31 17:50:23 5: BRAVIA TV: called function BRAVIA_SendCommand()
2016.12.31 17:50:23 4: BRAVIA TV: REQ getStatus/json
2016.12.31 17:50:23 5: BRAVIA TV: POST http://192.168.100.7:80/sony/system ({"method":"getPowerStat
us","params":[],"id":1,"version":"1.0"})
2016.12.31 17:50:23 5: BRAVIA TV: header X-CERS-DEVICE-ID: fhem_remote^M
Cookie: auth=f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016.12.31 17:50:23 4: HttpUtils url=http://192.168.100.7:80/sony/system
2016.12.31 17:50:33 5: BRAVIA TV: called function BRAVIA_ReceiveCommand() rc: HASH(0x808612810) err
: connect to http://192.168.100.7:80 timed out data:
2016.12.31 17:50:33 4: BRAVIA TV: RCV TIMEOUT getStatus/json
Nach: set TV remoteControl POWER
kommt: Device needs to be reachable to be controlled remotely.
und es passiert nichts. Im Log steht nur: 2016.12.31 17:48:18 5: BRAVIA TV: called function BRAVIA_Set()
Das listing sieht so aus:
Internals:
CHANNELCOUNT 50
DEF 192.168.100.7 30
INTERVAL 30
NAME TV
NR 175
STATE set_on
TYPE BRAVIA
generation
modelName
name
Readings:
2016-12-30 12:04:35 area DEU
2016-12-30 12:04:06 authCookie f61b771592bdfcddc41b7ecc339e85b88b370934ca936a013f6344114a39145b
2016-12-30 12:04:06 authExpires Fri, 13-Jan-2017 11:04:06 GMT
2016-12-30 12:04:06 authMaxAge 1209600
2016-12-31 17:09:50 channel -
2016-12-31 15:38:12 channelId -
2016-12-31 15:38:12 ci_durationSec -
2016-12-31 15:38:12 ci_startDateTime -
2016-12-31 15:38:12 ci_tripletStr -
2016-12-31 17:09:50 ci_uri -
2016-12-30 12:04:35 country DEU
2016-12-31 15:38:12 currentMedia -
2016-12-31 15:38:12 currentTitle -
2016-12-30 12:04:35 generation 2.5.0
2016-12-31 17:09:50 input -
2016-12-30 12:04:35 language ger
2016-12-30 12:04:35 macAddr FC:F1:52:C2:C5:4B
2016-12-30 12:04:35 modelName KD-49X8505B
2016-12-30 12:02:35 mute on
2016-12-30 12:04:35 name BRAVIA
2016-12-31 17:09:50 power off
2016-12-31 17:15:00 presence absent
2016-12-30 12:03:12 registrationUUID d15a8610cafabc6d110fad9d231f2d8a
2016-12-30 12:02:35 requestFormat json
2016-12-31 17:42:27 state set_on
Helper:
ADDRESS 192.168.100.7
AVAILABLE 0
HEADER X-CERS-DEVICE-ID: fhem_remote
lastInput extInput:hdmi
Port:
IRCC 80
SERVICE 80
UPNP 52323
Device:
Channelpreset:
001:
id 001
name Das_Erste_HD
--> CUT <--
705:
id 705
name MEGA_Radio
Inputpreset:
Av1:
uri extInput:scart?port=1
Av2/component:
uri extInput:composite?port=1
Bildschirm_spiegeln:
uri extInput:widi?port=1
Hdmi_1:
uri extInput:hdmi?port=1
Hdmi_2/mhl:
uri extInput:hdmi?port=2
Hdmi_3:
uri extInput:hdmi?port=3
Hdmi_4/mhl:
uri extInput:hdmi?port=4
Tv:
uri tv
Attributes:
devStateIcon on:rc_GREEN:off off:rc_YELLOW:on absent:rc_STOP:on
icon it_television
room Wohnzimmer
webCmd volume:channelUp:channelDown
Bei den Versuchen eben war der STATE: absent. Wenn er auf off steht, geht es auch nicht, mit dem einzigen Unterschied, dass als Rückgabe nicht "Device needs to be reachable to be controlled remotely." kommt.
Es ist äußerst schade. Der ganze Rest klappt. Input umschalten, durch die Amazon per svg-remoteControl schalten etc. Hat noch hjemand eine Idee, wie ich das Anschalten hinbekomme?
Achso, das Ausschalten ist sowohl über set TV off
als auch über set TV remoteControl STANDBY
möglich. WOL über die Fritzbox funktioniert auch mit dem Fernseher.
Ich bin für alle Tipps dankbar.
Guten Rutsch!
Hallo,
hast du bereits eine Lösung gefunden?
Habe das selbe Problem mit meinem Sony TV!
Kann aber bestätigen dass er sich mit Homebridge direkt auch anschalten hat lassen...jedenfalls wenn man ihn aus und zeitnah
wieder angeschalten hat über SIRI zb.
lg
Zitat von: thaid am 14 Februar 2017, 20:17:38
Hallo,
hast du bereits eine Lösung gefunden?
Habe das selbe Problem mit meinem Sony TV!
Kann aber bestätigen dass er sich mit Homebridge direkt auch anschalten hat lassen...jedenfalls wenn man ihn aus und zeitnah
wieder angeschalten hat über SIRI zb.
lg
Hallo,
nein leider nicht komplett zufrieden stellend. Ich schalte in gerade per WoL Modul an und per BRAVIA Modul wieder aus. Das funktioniert ganz gut, wenn der Fernseher im Standby bleibt. Also praktisch das, was du mit "aus und zeitnah wieder angeschalten" meinst. Wenn er für längere Zeit ausbleibt geht er nicht mehr per WoL an. Das scheint aber ein Problem des Fernsehers zu sein und nicht von WoL.
Vlt. kann man da etwas mit einem vorgesetzten Schalter machen? Mal schauen.
Grüße
Zitat von: vuffiraa am 14 Februar 2017, 10:33:39
Das sieht nach Upnp Services des TV aus, aber das ist leider keine komplette Steuerung. Im Modul benutzte ich einige der gefundenen Services, um Lautstärke und Stummschaltung zu überwachen und zu steuern. Aber das ist eher Beiwerk zur eigentlichen Funktionalität des Moduls.
Falls das für dich trotzdem interessant ist, könntest du dich hier (https://forum.fhem.de/index.php/topic,39706.0.html) einlesen, ob du den TV über dieses Modul ins Fhem bekommst.
Ganz unabhängig von Fhem hatte ich hier (https://forum.fhem.de/index.php/topic,17094.msg226151.html#msg226151) schon mal was geschrieben, wie man Upnp erforschen kann.
Gruß Vuffiraa
Vielleicht hilft die folgendes? Meine Fritzbox erkennt das Gerät im Wlan unter folgendem Namen "KDL-32W700B"?
Hallo, ich habe im Freundeskreis günstig einen älteren KDL-32CX52 (ziemlich alt, aber lt. Webseite gerade noch so unterstützt) abgestaubt und war ganz aus dem Häuschen, als ich zufällig auf das BRAVIA-Modul gestoßen bin! Bin immer wieder von den Socken, was die Leute so alles für fhem auf die Beine stellen! Vielen Dank dafür!
Natürlich habe ich das gleich ausprobiert. Aber nur einen Teilerfolg erzielt. Das einzige, was sich steuern lässt, ist die Lautstärke (über UPNP?). Alles andere geht nicht. Wie hier weiter vorn beschrieben habe ich das Loglevel erhöht, um der Sache auf die Schliche zu kommen.
Dabei sehe ich (soweit ich das verstehe oder zu deuten versuche...), dass der TV auf die Anfragen per URL nur mit einem "Not found" antwortet.
Ich wollte es darauf hin mal mit der sideview-App versuchen, aber die meldet nur kurz ein nicht unterstütztes Gerät - dabei wird das Modell doch in der Liste geführt!?
Verbunden ist der TV über einen Powerline-Adapter (geht gerade leider nicht anders), könnte dass ein Problem sein?
Vielen Dank für jeden Hinweis!
Zitat von: McElch am 10 März 2017, 13:41:38
Hallo, ich habe im Freundeskreis günstig einen älteren KDL-32CX52 (ziemlich alt, aber lt. Webseite gerade noch so unterstützt) abgestaubt und war ganz aus dem Häuschen, als ich zufällig auf das BRAVIA-Modul gestoßen bin! Bin immer wieder von den Socken, was die Leute so alles für fhem auf die Beine stellen! Vielen Dank dafür!
Natürlich habe ich das gleich ausprobiert. Aber nur einen Teilerfolg erzielt. Das einzige, was sich steuern lässt, ist die Lautstärke (über UPNP?). Alles andere geht nicht. Wie hier weiter vorn beschrieben habe ich das Loglevel erhöht, um der Sache auf die Schliche zu kommen.
Dabei sehe ich (soweit ich das verstehe oder zu deuten versuche...), dass der TV auf die Anfragen per URL nur mit einem "Not found" antwortet.
Ich wollte es darauf hin mal mit der sideview-App versuchen, aber die meldet nur kurz ein nicht unterstütztes Gerät - dabei wird das Modell doch in der Liste geführt!?
Verbunden ist der TV über einen Powerline-Adapter (geht gerade leider nicht anders), könnte dass ein Problem sein?
Vielen Dank für jeden Hinweis!
Hallo McElch,
wie du ja gelesen hast, sollte dein Gerät laut der Liste in der SideView-App unterstützt sein, bist du sicher, dass der TV nicht doch noch etwas älter ist?
Die App ist eigentlich die erste Anlaufstelle, um die Kommunikation zum TV zu belauschen. Eventuell ist im TV die Internetfähigkeit deaktiviert? Da könntest du in der Anleitung mal schauen, ob es überhaupt einen entsprechende Funktion gibt.
Ansonsten kannst du mir das Log auch als PN schicken, dann schau ich mal, ob wirklich auf allen Kanäle mit "not found" geantwortet wird.
Kannst du mal schauen, ob du bei folgenden Links eine Antwort im Browser bekommst:
- http://<ip>:80/cers/ActionList.xml
- http://<ip>:80/cers/api/getSystemInformation
- http://<ip>:80/cers/api/getRemoteCommandList
Als Port auch gerne mal 50001 und 50002 probieren.
Gruß vuffiraa
Hallo vuffiraa & vielen Dank für die Antwort!
Also, mit dem Modell bin ich mir eigentlich ziemlich sicher, aber irgendwie ist bei der Internetverbindung der Wurm drin. Die Links habe ich alle ausprobiert, bringen alle "not found", die 50000er ports bringen nicht erreichbar.
Der Test der Netzwerkeinstellungen läuft positiv durch, IP; Gateway und DNS hat er, aber online ist er trotzdem nicht. Selbst die Firmwaresuche scheitert.
Im Moment kann das verschiedene Ursachen haben, wie zB die Powerlineverbindung. Außerdem ist meine Fritzbox über Mobilfunk online, da geht per se so einiges nicht, VPN zB.
Ich vertage das Thema Bravia jetzt erstmal, da ich bald umziehe. Dann habe ich richtiges FTTH-Internet und ordentliche Strukturverkabelung, dann starte ich einen neuen Versuch. Im Grunde muss der TV auch nicht über fhem gesteuert werden, da er im Schlafzimmer steht, da kann ich auch die originale Fernbedienung nehmen.
Wichtig ist mir, das alle Geräte automatisch ausgeschaltet werden, wenn ich die Wohnung verlasse und ein Sleeptimer, aber das mache ich dann eben erstmal über eine Funksteckdose. Und so kleine Spielereien wie mute bei Anruf würde ja trotzdem gehen, da sich die Lautstärke ja regeln lässt.
Ich würde mich dann ggf. hier nochmal melden, wenn es soweit ist. Der sportliche Ehrgeiz ist geweckt, aber im Moment hat es erstmal keine Priorität, und da will ich jetzt auch jemanden mit richtig Ahnung wie dich nicht sinnlos beschäftigen! :)
Aber das Modul ist trotzdem klasse, so wie das ganze fhem-Projekt! Vielen Dank für deine Arbeit! :)
Zitat von: fire3k am 14 Dezember 2016, 07:39:40
Hi, ich habe dasselbe Bravia Modell, ausschalten usw geht, aber wenn er dann im standby ist bekomme ich den mit set Bravia on nicht wieder an ....
Sobald er an ist geht das meiste, nur einschalten nicht, würde das gerne via Alexa auch nutzen, wie den rest hier, ich habe viele Geräte mit Amazon Echo (Dot) so eingerichtet das
man fast alles per sprache machen kann (die wichtigen singe halt, Geräte an/aus, lauter/leiser usw usw)
Falls jemand dazu einen Tip hat warum ich den Bravia nicht mehr anschalten kann wär ich echt dankbar :)
Und Danke für das modul :)
Hallo Fire3k,
bist du schon witer gekommen mit dem Einschalten deines Bravias? Ich habe die Beobachtung gemacht, wenn ich den TV per FHEM ausschalte und per FHEM sofort wieder einschalte klappt es nicht. Wenn man aber nach dem Ausschalten wartet bis dieses "kack" (eventuell von einem Relais) zu hören ist funktioniert auch das einschalten per FHEM. Vorrausgesetzt die MAC-Adresse des TVs ist in FHEM hinterlegt(attr Bravia macaddr xxxxxxxxxxxx).
Hallo im neuen Jahr!
Kennt jemand inzwischen einen Weg, wie man im lokalen Netzwerk Texte/Nachrichten (oder gerne auch Bilder) auf einem (2016er) Sony Andoid TV erscheinen lassen kann? Vorzugsweise als Overlay, während eine Fernsehsendung läuft.
Selber habe ich rausgefunden, dass eine App namens "Notifications for Android TV" Popup-Nachrichten anzeigen kann, die von einem Smartphone im selben Netz kommen.
Jetzt bin ich auf der Suche nach einer Möglichkeit, die Nachrichten von der Kommandozeile aus senden zu können. Vorzugsweise mit curl. Habe es aber noch nicht zum laufen gebracht. Prinzipiell sollte es aber möglich sein...
Wenn alles gut läuft, möchte ich eingehende Anrufe des Fritzbox (Callmonitor) auf dem Sony Fernseher signalisieren lassen. Mit dem alten Philips geht es bereits, aber mit Sony bekomme ich derzeit nur eine Infobox ohne einen Text drin.
Hat jemand Erfahrung in der Richtung Android TV und Benachrichtigung?
Zitat von: sxd85 am 24 Dezember 2016, 23:36:02
Für ältere Philips Fernseher gibt es eine ähnliche Lösung (https://sourceforge.net/p/jstx/wiki/Home/ (https://sourceforge.net/p/jstx/wiki/Home/)), die ich schon lange von meinem Raspberry Pi aus in Verbindung mit dem Fritzbox Collmonitor benutze, aber für Sony hat meine lange Suche leider keine brauchbare Ergebnisse gebracht.
Gibt es für die Modelle mit AndroidTV irgendwie die Möglichkeit bestimmte Apps zu starten oder eventuell sogar Bildeinstellungen zu verändern? Es gibt ja für das normale Android schon sowas wie Automagic in Verbindung mit dem AMAD Modul aber das wurde nicht für ATV getestet und beinhaltet auch viele zum Sony Modul redundante und für meinen Zweck Überflüssige Funktionen. Eventuell lässt sich das ganze auch über ADB machen? Kenne mich mit Android zwar nicht sehr aus, aber so wie ich es mitbekommen habe, lässt sich über die Schnittstelle relativ viel steuern. Hab da nur noch keine richtige Dokumentation für gefunden, die sich auch auf Sony spezifische Dinge wie das Action Menu bezieht. Für den FireTV gibt es z.B. schon schon ein ähnliches Modul, dass auch über ADB läuft.
Hallo zusammen,
wenn ich mal kurz vom aktuellem Thema ablenken darf.
Seit einigen Tagen wird mein Log mit folgeder Fehlermeldung geflutet:
"Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114."
Die Meldung tritt so oft auf wie auch der poll-interval des Modul ist.
Hat jemand eine Idee woran es liegen kann?
Danke
Gruß Alex
Zitat von: dogexan am 23 April 2017, 21:33:26
Hallo zusammen,
wenn ich mal kurz vom aktuellem Thema ablenken darf.
Seit einigen Tagen wird mein Log mit folgeder Fehlermeldung geflutet:
"Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114."
Die Meldung tritt so oft auf wie auch der poll-interval des Modul ist.
Hat jemand eine Idee woran es liegen kann?
Danke
Gruß Alex
Hallo Alex,
du wird irgendetwas durcheinander sein ;)
Kannst du mal ein Log mit verbose=5 und ein List vom Gerät machen?
Der TV ist immer noch der KDL-55NX725? Gab es da ein Update der Firmware?
Gruß Vuffiraa
Hi vuffiraa,
ja ist immer noch der KDL-55NX725 ;)
Von einem Firmware Update habe ich nichts mitbekommen.
Die aktuelle Firmware ist die PKG4.027EUA-0104
Hier der Auszug aus dem Log
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Set()
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Set()
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Get()
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x33647c0) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:13:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:13:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3aba098) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x33d31a0) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3c4dc88) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:13:43 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:13:43 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a060e8) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a20340) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x335eec0) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:14:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:14:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a74050) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x335cca0) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Vielen Dank
Alex
Soweit ich es verstanden habe kann man ja mit
curl -XPOST http://192.168.X.X/sony/system --header "Authorization:
XXX" -d '{"method":"getRemoteControllerInfo","param
s":[],"id":10,"version":"1.0"}'
sich die verfügbaren Befehle für RemoteControl von seinem Model auflisten lassen. Trotzdem funktionieren einige davon nicht. Gibt es da irgendeine Lösung für oder verstehe ich doch etwas falsch?
Zitat von: dogexan am 24 April 2017, 19:18:49
Hi vuffiraa,
ja ist immer noch der KDL-55NX725 ;)
Von einem Firmware Update habe ich nichts mitbekommen.
Die aktuelle Firmware ist die PKG4.027EUA-0104
Hier der Auszug aus dem Log
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Set()
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Set()
2017.04.24 19:12:55 5: BRAVIA SonyTV: called function BRAVIA_Get()
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x33647c0) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:13:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:13 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:13:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:13:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3aba098) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x33d31a0) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:13 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:13:13 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3c4dc88) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:13:43 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:13:43 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:13:43 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:13:43 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a060e8) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a20340) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:13:43 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:13:43 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_GetStatus()
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ getStatus/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: GET http://192.168.1.21:80/cers/api/getStatus
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x335eec0) err: data: <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV getStatus/xml
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES getStatus/xml - <?xml version="1.0"?>
<statusList>
<status name="viewing">
<statusItem field="source" value="ExtInput" />
</status>
</statusList>
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ upnp/getVolume
2017.04.24 19:14:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>)
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"
Content-Type: text/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_SendCommand()
2017.04.24 19:14:13 4: BRAVIA SonyTV: REQ upnp/getMute
2017.04.24 19:14:13 5: BRAVIA SonyTV: POST http://192.168.1.21:52323/upnp/control/RenderingControl (<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:GetMute xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>)
2017.04.24 19:14:13 5: BRAVIA SonyTV: header X-CERS-DEVICE-ID: fhem_remote
Soapaction: "urn:schemas-upnp-org:service:RenderingControl:1#GetMute"
Content-Type: text/xml
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x3a74050) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV upnp/getMute
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES upnp/getMute - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetMute failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Use of uninitialized value in string eq at ./FHEM/70_BRAVIA.pm line 1114.
2017.04.24 19:14:13 5: BRAVIA SonyTV: called function BRAVIA_ReceiveCommand() rc: HASH(0x335cca0) err: data: <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
2017.04.24 19:14:13 4: BRAVIA SonyTV: RCV upnp/getVolume
2017.04.24 19:14:13 4: BRAVIA SonyTV: RES upnp/getVolume - <?xml version="1.0"?><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>501</errorCode><errorDescription>Action GetVolume failed
</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
Vielen Dank
Alex
Hallo Alex,
Mal eine Gegenfrage, hat die Lautstärkenregelung bei deinem TV jemals mit absoluten Werten funktioniert? Wenn ich die alten Artikel hier im Thread so durchlese, scheint das bei deiner Generation gar nicht unterstützt zu werden.
Die Meldungen im Log wirst du los, wenn du "set upnp off" im Gerät einstellst.
Gruß Vuffiraa
Zitat von: kennymc.c am 24 April 2017, 21:20:03
Soweit ich es verstanden habe kann man ja mit
curl -XPOST http://192.168.X.X/sony/system --header "Authorization:
XXX" -d '{"method":"getRemoteControllerInfo","param
s":[],"id":10,"version":"1.0"}'
sich die verfügbaren Befehle für RemoteControl von seinem Model auflisten lassen. Trotzdem funktionieren einige davon nicht. Gibt es da irgendeine Lösung für oder verstehe ich doch etwas falsch?
Welche Befehle funktionieren nicht?
Es gibt aber leider der keine öffentliche Dokumentation von Sony. Daher ist auch nicht klar, ob bestimmte Befehle vielleicht nur unter bestimmten Voraussetzungen oder in einer bestimmten Reihenfolge gehen.
Gruß Vuffiraa
Also, den Wert den ich auf dem Slider einstelle wird auch so 1:1 an den Fernseher übermittelt. Das irgendwelche Funktionen nicht funktionieren ist mir nicht bekannt (außer die, die ich auch schon am Anfang dieses Thread erwähnt habe, wie z.B. Ein- Auschalten des TVs oder explizit Mute on/off). Ich habe jetzt wie du gesagt hast upnp auf off gesetzt. Das voll "spamen" des Logs hat sich damit dann erledigt :) So wie ich das sehen benötige ich kein Upnp, ohne das funktioniert alles noch genauso wie vorher auch.
Gruß Alex
Zitat von: vuffiraa am 25 April 2017, 19:36:08
Welche Befehle funktionieren nicht?
Es gibt aber leider der keine öffentliche Dokumentation von Sony. Daher ist auch nicht klar, ob bestimmte Befehle vielleicht nur unter bestimmten Voraussetzungen oder in einer bestimmten Reihenfolge gehen.
Geht mit speziell um PictureMode was es allerdings auf der normalen Fernbedienung auch nicht gibt. Je nach gerade gewählten Eingang werden wohl auch andere Befehle angezeigt. Eben wurde mir auch Mode3D angezeigt obwohl mein Modell gar kein 3D mehr unterstützt. Was mich allerdings wundert ist, dass das ActionMenu dort nicht auftaucht und auch nicht so aufzurufen geht.
Noch eine andere Sache: Unter set channel werden mir nur Radio Sender angezeigt und input zeigt tv:dvbt an, obwohl ich nur den DVB-C Tuner aktiv habe. Sendungs- und Sendername in den Readings werden vom Namen zwar korrekt angezeigt aber mit ISO 8859-1 statt UTF-8 Kodierung und Sendernamen haben ein _ statt Leerzeichen. Im Log wird aber beides unter getContentInformation richtig kodiert und mir richtigem Leerzeichen angezeigt. Komischerweise wird dort als Source auch DVB-T angezeigt. Scheint wohl das Gerät selbst falsch auszugeben.
Zitat von: kennymc.c am 25 April 2017, 23:17:27
Geht mit speziell um PictureMode was es allerdings auf der normalen Fernbedienung auch nicht gibt. Je nach gerade gewählten Eingang werden wohl auch andere Befehle angezeigt. Eben wurde mir auch Mode3D angezeigt obwohl mein Modell gar kein 3D mehr unterstützt. Was mich allerdings wundert ist, dass das ActionMenu dort nicht auftaucht und auch nicht so aufzurufen geht.
Soweit ich das gesehen habe, sind das immer alle Befehle der gesamten Modellgeneration. Das könnte erklären, warum da Befehle bei sind, die dein TV nicht unterstützt.
PictureMode habe ich in die Liste im Modul aufgenommen. Die Änderung ist ab morgen per Update verfügbar.
ZitatNoch eine andere Sache: Unter set channel werden mir nur Radio Sender angezeigt und input zeigt tv:dvbt an, obwohl ich nur den DVB-C Tuner aktiv habe. Sendungs- und Sendername in den Readings werden vom Namen zwar korrekt angezeigt aber mit ISO 8859-1 statt UTF-8 Kodierung und Sendernamen haben ein _ statt Leerzeichen. Im Log wird aber beides unter getContentInformation richtig kodiert und mir richtigem Leerzeichen angezeigt. Komischerweise wird dort als Source auch DVB-T angezeigt. Scheint wohl das Gerät selbst falsch auszugeben.
Kann es sein, dass du deutlich mehr als 50 Sender definiert hast? Schau dir mal das Attribut channelsMax im Modul an.
Der Input wird nach den verfügbaren Informationen gesetzt. Das Modul erfindet da nicht einfach etwas. Was steht den im Reading Uri?
Das Leerzeichen entfernt das Modul aus den Sendernamen, da gibt es sonst Probleme bei den Kanallisten in Fhem intern. Beim Encoding der Sendernamen muss ich mal genauer schauen, wo es da hakt.
Gruß Vuffiraa
Zitat von: vuffiraa am 29 April 2017, 21:42:20
PictureMode habe ich in die Liste im Modul aufgenommen. Die Änderung ist ab morgen per Update verfügbar.
Super, funktionier jetzt auch. Damit wird wohl direkt das Bild Menü aufgerufen.
Wäre gut, wenn auch noch der Befehl Confirm mit aufgenommen wird. Das scheint bei meinem Modell wohl die OK Taste zu sein.
Zitat von: vuffiraa am 29 April 2017, 21:42:20Kann es sein, dass du deutlich mehr als 50 Sender definiert hast? Schau dir mal das Attribut channelsMax im Modul an.
Ich hab es jetzt mal testweise auf 1000 gesetzt und nun werden mir in der Liste auch einige TV-Sendern angezeigt. Ich denke mal, dass ich nach dem durchschalten aller Sender diese dann auch in der Liste habe.
Zitat von: vuffiraa am 29 April 2017, 21:42:20Der Input wird nach den verfügbaren Informationen gesetzt. Das Modul erfindet da nicht einfach etwas. Was steht den im Reading Uri? [...] Beim Encoding der Sendernamen muss ich mal genauer schauen, wo es da hakt.
Wie ich schon vorher geschrieben habe, steht komischerweise auch im uri-Reading DVB-T als Source. Scheint wohl der TV falsch auszugeben. Eventuell liegt das daran, dass DVB-T und C nicht gleichzeitig empfangen werden können und dann nur ein Sourcename für beide Tuner vergeben wird.
Das Kodierungsproblem hatte sich eigentlich schon vor dem Update von selbst gelöst. Danach ist es aber plötzlich wieder aufgetreten. Mir ist aber aufgefallen, dass der Fehler nur im Uri-, channel- und currentTitle-Reading auftritt. Wenn ich mit verbose 4 das Logfile nach der Uri durchsuche, wird sie dort korrekt mit Umlauten angezeigt.
Hallo Forum,
ich habe jetzt meinen KD-65XD7505 via BRAVIA Modul soweit am Laufen (ja, ok, wer lesen kann und sein FHEM als Fernbedienung auch ordentlich registriert kommt schneller zum Zug ::) ). Allerdings hab ich jetzt einen Frage:
Mein Audio-Ausgang ist nicht der TV Lautsprecher, sondern der "optical Out" port (da hängt ein Sonos dran).
Im Klartext heißt das "Volume-Steuerung" greift nicht. Ein Workaround wäre jetzt natürlich das Sonos Teil direkt anzusprechen, das funktioniert soweit auch, aber so richtig schön, sprich "Ehefrau-kompatibel" ist das nicht.
Jetzt hab ich zwar unter SET einen INPUT gefunden, bei dem ich die Eingangskanäle setzen kann, aber leider keinen OUTPUT.
Auch in der Doku hab ich nix dazu gefunden, daher hoffe ich mal das mir jemand einen Tip geben kann.
Wie kann ich die Volume Steuerung des BRAVIA Moduls nutzen um den externen Audiokanal zu steuern statt den internen Lautsprecher ?
Vielen Dank schon mal vorab
Zitat von: Wassermann52 am 02 Juli 2017, 12:07:12
Hallo Forum,
ich habe jetzt meinen KD-65XD7505 via BRAVIA Modul soweit am Laufen (ja, ok, wer lesen kann und sein FHEM als Fernbedienung auch ordentlich registriert kommt schneller zum Zug ::) ). Allerdings hab ich jetzt einen Frage:
Mein Audio-Ausgang ist nicht der TV Lautsprecher, sondern der "optical Out" port (da hängt ein Sonos dran).
Im Klartext heißt das "Volume-Steuerung" greift nicht. Ein Workaround wäre jetzt natürlich das Sonos Teil direkt anzusprechen, das funktioniert soweit auch, aber so richtig schön, sprich "Ehefrau-kompatibel" ist das nicht.
Jetzt hab ich zwar unter SET einen INPUT gefunden, bei dem ich die Eingangskanäle setzen kann, aber leider keinen OUTPUT.
Auch in der Doku hab ich nix dazu gefunden, daher hoffe ich mal das mir jemand einen Tip geben kann.
Wie kann ich die Volume Steuerung des BRAVIA Moduls nutzen um den externen Audiokanal zu steuern statt den internen Lautsprecher ?
Vielen Dank schon mal vorab
Hallo Wassermann52,
Das Modul kann nur das Abbilden, was du auch über den TV steuern kannst. Kannst du die Lautstärke deines Sonos über die Fernbedienung des Sonys verändern? Eigentlich kenne ich optische Ausgänge so, dass sie nicht gesteuert sind, also erst am Empfänger des Signals geregelt werden. Bei einer Verbindung per HDMI kann das im Allgemeinen auch vom Sender des Signals gesteuert werden.
Wenn du das eingestellt/angeschlossen bekommst, kann das Modul das dann auch verwenden.
Die andere Alternative ist die Verwendung des Sonos-Moduls und dann im UI die entsprechenden Funktionen beider Module zu kombinieren.
Viele Grüße,
Vuffiraa
Hallo,
nun, die Volume Steuerung erfolgt tatsächlich über die Fernbedienung. Im Konfig des Fernsehers wird "Soundausgabe über extern" angewählt und dann wird der Interne Speaker deaktiviert und es erfolgt die Ausgabe über den externen Kanal, und zwar mit den Volume-Settings wie sie von der Fernbedienung kommen. Ich kann das wahlweise mit der Logitech als auch mit der Sony Fernbedienung steuern und beide wissen nix von dem Sonos Teil.
Wenn ich aber FHEM als Fernbedienung verwende dann passiert bei den Volumes nix. Es erscheint zwar am Fernseher die Volume Anzeige, und der Wert wird je nach Eingabe erhöht oder reduziert, nur bleibt die tatsächlich ausgegeben Lautstärke der Speaker unverändert.
Ich habe hier aber auch schon eine Inkonsistenz seitens Sony festgestellt, denn wenn man beim Fernseher im TV Menü die Volume Einstellung verändert, dann ändert man statt des Volumes die Max-Volume Einstellung des Sonos Players. Ich bin da durch Zufall drüber gefallen, auf einmal ging das Teil nur noch ganz leise, selbst bei Volume 100.
Bezüglich deiner "Ausgang ungeregelt" Annahme: das halte ich eigentlich für nicht richtig, denn ansonsten würden alle Sound Bars etc mit einer eigenen Fernsteuerung ausgeliefert werden, aber meines Wissens kommen die alle nur mit Kabel in den Handel. Das wäre auch ein Killerargument sich keinen Sound Bar zu kaufen sondern gleich ein richtiges Surround System, denn so groß sind dann die Unterschiede auch nicht mehr. Als Produkt Marketing Verantwortlicher hätte ich dann da grob Bauchweh.
Übrigens danke für deine Hilfe !
Hallo Wassermann52,
Interessant, dass die normalen Tasten auf der FB funktionieren. Kannst du testen, ob das auch so einfach mit der SideView App funktioniert? In der Liste der Befehle, die das Modul senden kann, gibt es da auf den ersten Blick nichts Spezielles.
Gruß,
Vuffiraa
eben installiert und getestet: Negativ - mit Sideview App verhält es sich wie mit FHEM:
der Statusbalken der Lautstärke am Fernseher reagiert, aber die Lautstärke des SONOS Systems bleibt unverändert.
Kurzer gegencheck mit der Sony Fernbedienung - Lautstärke des Sonos Systems reagiert.
Zitat von: Wassermann52 am 02 Juli 2017, 21:20:06
eben installiert und getestet: Negativ - mit Sideview App verhält es sich wie mit FHEM:
der Statusbalken der Lautstärke am Fernseher reagiert, aber die Lautstärke des SONOS Systems bleibt unverändert.
Kurzer gegencheck mit der Sony Fernbedienung - Lautstärke des Sonos Systems reagiert.
Wäre ja auch zu schön gewesen. Das heißt aber auch, dass ich keinen Befehl übersehen habe.
Die Harmony ist nicht zufällig eine, die man mit Fhem verbinden kann?
Sorry, nein, das ist ein älteres Teil.
Aber ich habe noch einen Harmony Hub, der war mal am FHEM dran .... aber damit hab ich das ganze noch gar nicht probiert.
Kann ich heute Abend ja mal raus suchen, anschließen und probieren wenn es etwas hilft.
Test mit Hamony Hub - dort ist der Sonos gar nicht konfiguriert, nur der Fernseher:
Lautstärke kann problemlos geregelt werden.
Wenn ich einen "Get Commands" mache bekomme ich
Fernsehen 2
NumericBasic
[....]
Volume
Mute Mute (Sony TV)
VolumeDown Volume Down (Sony TV)
VolumeUp Volume Up (Sony TV)
Channel
[...]
OK
Das ist nicht unbedingt ergiebig, zumindest denk ich mir das jetzt mal in meiner Einfalt.
Mal ne Frage. Geht das alles mit den Sony TV's und dem Modul über WLAN? Also vor allem einschalten? Ich habe den nun schon länger im Einsatz aber über LAN. Nun fehlt mir im Wohnzimmer ein LAN Anschluss und denke daher darüber nach den TV einfach ins WLAN zu hängen. Ich weiß nur nicht ob die Sony über WOL eingeschaltet werden was ja dann über WLAN nicht geht.
Grüße
Dirk
Hi,
Was hast Du für ein Model? Es gibt welche die können WOL, die meisten nicht! Ich persönlich habe eine IT Steckdose (433MHZ) am Fernseher und dahinter einen Raspi der über ssh und cec-client (HDMI Kabel) den Sony einschalten und Kanäle einstellen oder Filme abspielen kann ;-)
Aber es gibt 1000 Wege nach Rom und auch in diesem Thread!
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Die Serien unterscheiden sich auch, wie sie WOL akzeptieren. Bei einigen kann man das Kommando der Fernbedienung senden, wenn das Gerät über IP zu erreichen ist, andere wollen immer ein WOL-Paket haben.
Es ist der KDL-55W805B. Mit den IR Signalen hatte ich vor einiger Zeit schon experimentiert aber war vom Ansprechen her nicht so zufrieden. Aber kann sich ja geändert haben in der Zwischenzeit.
Hallo,
Gibt es schon eine Lösung oder Workaround für das TV Input Problem tv:dvbt?
Leider kann ich diesen auch nicht "setten", wie auch andere, die den Sony nutzen. Ich hab einen X8505c.
HDMI kann fhem schalten, den DVB-T nicht, obwohl dieser in den readings als Input erscheint, wenn ich den Eingang nutze.
Gruss
Andreas
Zitat von: itze am 17 Oktober 2017, 16:23:19
Hallo,
Gibt es schon eine Lösung oder Workaround für das TV Input Problem tv:dvbt?
Leider kann ich diesen auch nicht "setten", wie auch andere, die den Sony nutzen. Ich hab einen X8505c.
HDMI kann fhem schalten, den DVB-T nicht, obwohl dieser in den readings als Input erscheint, wenn ich den Eingang nutze.
Gruss
Andreas
Hallo Andreas,
das tv:dvb Problem wurde in einer der letzten Versionen behoben, zu mindestens bei mir. Du kannst mal ein List schicken, mich würde der Teil mit den verfügbaren Inputs interessieren.
Workaround ist das Auswählen eines bestimmten Senders: set <device> remotecontrol <n>. Bei mehreren Ziffern in einer Sondernummern, muss der Befehl für jede Ziffer einzeln gerufen werden.
Viele Grüße,
Vuffiraa
Hi,
ich kann jetzt an meinen Sony TV Texte senden - zB. Taste Home(Google), Youtube ...
Das geht auch über OK Google - wenn man will.
Hier ist mein Script sony_w855c dazu. Ich habe es lieber ganz gepostet - damit es auch geht. Einen Auth-Cookie braucht man dazu.
Es wäre schön, wenn dies in der Bravia-Lib landet.
Mit einem anderen Aufruf soll man auch Apps des Fernsehers direkt starten können.
Beispielaufruf: sony_w855c 192.168.178.22 sendtext "Suche nach einem Begriff"
#!/bin/bash
set -e
if [ "$1" = "" ] || [ "$2" = "" ]; then
echo "Usage: $0 <TV_IP> <IRCC_COMMAND>"
exit 1
fi
declare -A commandmap
commandmap[Num2]="AAAAAQAAAAEAAAABAw=="
commandmap[Num3]="AAAAAQAAAAEAAAACAw=="
commandmap[Num1]="AAAAAQAAAAEAAAAAAw=="
commandmap[Num4]="AAAAAQAAAAEAAAADAw=="
commandmap[Num5]="AAAAAQAAAAEAAAAEAw=="
commandmap[Num6]="AAAAAQAAAAEAAAAFAw=="
commandmap[Num7]="AAAAAQAAAAEAAAAGAw=="
commandmap[Num8]="AAAAAQAAAAEAAAAHAw=="
commandmap[Num9]="AAAAAQAAAAEAAAAIAw=="
commandmap[Num0]="AAAAAQAAAAEAAAAJAw=="
commandmap[Num11]="AAAAAQAAAAEAAAAKAw=="
commandmap[Num12]="AAAAAQAAAAEAAAALAw=="
commandmap[Enter]="AAAAAQAAAAEAAAALAw=="
commandmap[Guide]="AAAAAQAAAAEAAAAOAw=="
commandmap[ChannelUp]="AAAAAQAAAAEAAAAQAw=="
commandmap[ChannelDown]="AAAAAQAAAAEAAAARAw=="
commandmap[VolumeUp]="AAAAAQAAAAEAAAASAw=="
commandmap[VolumeDown]="AAAAAQAAAAEAAAATAw=="
commandmap[Mute]="AAAAAQAAAAEAAAAUAw=="
commandmap[TvPower]="AAAAAQAAAAEAAAAVAw=="
commandmap[Audio]="AAAAAQAAAAEAAAAXAw=="
commandmap[MediaAudioTrack]="AAAAAQAAAAEAAAAXAw=="
commandmap[Tv]="AAAAAQAAAAEAAAAkAw=="
commandmap[Input]="AAAAAQAAAAEAAAAlAw=="
commandmap[TvInput]="AAAAAQAAAAEAAAAlAw=="
commandmap[TvAntennaCable]="AAAAAQAAAAEAAAAqAw=="
commandmap[WakeUp]="AAAAAQAAAAEAAAAuAw=="
commandmap[PowerOff]="AAAAAQAAAAEAAAAvAw=="
commandmap[Sleep]="AAAAAQAAAAEAAAAvAw=="
commandmap[Right]="AAAAAQAAAAEAAAAzAw=="
commandmap[Left]="AAAAAQAAAAEAAAA0Aw=="
commandmap[SleepTimer]="AAAAAQAAAAEAAAA2Aw=="
commandmap[Analog2]="AAAAAQAAAAEAAAA4Aw=="
commandmap[TvAnalog]="AAAAAQAAAAEAAAA4Aw=="
commandmap[Display]="AAAAAQAAAAEAAAA6Aw=="
commandmap[Jump]="AAAAAQAAAAEAAAA7Aw=="
commandmap[PicOff]="AAAAAQAAAAEAAAA+Aw=="
commandmap[PictureOff]="AAAAAQAAAAEAAAA+Aw=="
commandmap[Teletext]="AAAAAQAAAAEAAAA/Aw=="
commandmap[Video1]="AAAAAQAAAAEAAABAAw=="
commandmap[Video2]="AAAAAQAAAAEAAABBAw=="
commandmap[AnalogRgb1]="AAAAAQAAAAEAAABDAw=="
commandmap[Home]="AAAAAQAAAAEAAABgAw=="
commandmap[Exit]="AAAAAQAAAAEAAABjAw=="
commandmap[PictureMode]="AAAAAQAAAAEAAABkAw=="
commandmap[Confirm]="AAAAAQAAAAEAAABlAw=="
commandmap[Up]="AAAAAQAAAAEAAAB0Aw=="
commandmap[Down]="AAAAAQAAAAEAAAB1Aw=="
commandmap[ClosedCaption]="AAAAAgAAAKQAAAAQAw=="
commandmap[Component1]="AAAAAgAAAKQAAAA2Aw=="
commandmap[Component2]="AAAAAgAAAKQAAAA3Aw=="
commandmap[Wide]="AAAAAgAAAKQAAAA9Aw=="
commandmap[EPG]="AAAAAgAAAKQAAABbAw=="
commandmap[PAP]="AAAAAgAAAKQAAAB3Aw=="
commandmap[TenKey]="AAAAAgAAAJcAAAAMAw=="
commandmap[BSCS]="AAAAAgAAAJcAAAAQAw=="
commandmap[Ddata]="AAAAAgAAAJcAAAAVAw=="
commandmap[Stop]="AAAAAgAAAJcAAAAYAw=="
commandmap[Pause]="AAAAAgAAAJcAAAAZAw=="
commandmap[Play]="AAAAAgAAAJcAAAAaAw=="
commandmap[Rewind]="AAAAAgAAAJcAAAAbAw=="
commandmap[Forward]="AAAAAgAAAJcAAAAcAw=="
commandmap[DOT]="AAAAAgAAAJcAAAAdAw=="
commandmap[Rec]="AAAAAgAAAJcAAAAgAw=="
commandmap[Return]="AAAAAgAAAJcAAAAjAw=="
commandmap[Blue]="AAAAAgAAAJcAAAAkAw=="
commandmap[Red]="AAAAAgAAAJcAAAAlAw=="
commandmap[Green]="AAAAAgAAAJcAAAAmAw=="
commandmap[Yellow]="AAAAAgAAAJcAAAAnAw=="
commandmap[SubTitle]="AAAAAgAAAJcAAAAoAw=="
commandmap[CS]="AAAAAgAAAJcAAAArAw=="
commandmap[BS]="AAAAAgAAAJcAAAAsAw=="
commandmap[Digital]="AAAAAgAAAJcAAAAyAw=="
commandmap[Options]="AAAAAgAAAJcAAAA2Aw=="
commandmap[Media]="AAAAAgAAAJcAAAA4Aw=="
commandmap[Prev]="AAAAAgAAAJcAAAA8Aw=="
commandmap[Next]="AAAAAgAAAJcAAAA9Aw=="
commandmap[DpadCenter]="AAAAAgAAAJcAAABKAw=="
commandmap[CursorUp]="AAAAAgAAAJcAAABPAw=="
commandmap[CursorDown]="AAAAAgAAAJcAAABQAw=="
commandmap[CursorLeft]="AAAAAgAAAJcAAABNAw=="
commandmap[CursorRight]="AAAAAgAAAJcAAABOAw=="
commandmap[ShopRemoteControlForcedDynamic]="AAAAAgAAAJcAAABqAw=="
commandmap[FlashPlus]="AAAAAgAAAJcAAAB4Aw=="
commandmap[FlashMinus]="AAAAAgAAAJcAAAB5Aw=="
commandmap[AudioQualityMode]="AAAAAgAAAJcAAAB7Aw=="
commandmap[DemoMode]="AAAAAgAAAJcAAAB8Aw=="
commandmap[Analog]="AAAAAgAAAHcAAAANAw=="
commandmap[Mode3D]="AAAAAgAAAHcAAABNAw=="
commandmap[DigitalToggle]="AAAAAgAAAHcAAABSAw=="
commandmap[DemoSurround]="AAAAAgAAAHcAAAB7Aw=="
commandmap[xAD]="AAAAAgAAABoAAAA7Aw=="
commandmap[AudioMixUp]="AAAAAgAAABoAAAA8Aw=="
commandmap[AudioMixDown]="AAAAAgAAABoAAAA9Aw=="
commandmap[PhotoFrame]="AAAAAgAAABoAAABVAw=="
commandmap[Tv_Radio]="AAAAAgAAABoAAABXAw=="
commandmap[SyncMenu]="AAAAAgAAABoAAABYAw=="
commandmap[Hdmi1]="AAAAAgAAABoAAABaAw=="
commandmap[Hdmi2]="AAAAAgAAABoAAABbAw=="
commandmap[Hdmi3]="AAAAAgAAABoAAABcAw=="
commandmap[Hdmi4]="AAAAAgAAABoAAABdAw=="
commandmap[TopMenu]="AAAAAgAAABoAAABgAw=="
commandmap[PopUpMenu]="AAAAAgAAABoAAABhAw=="
commandmap[OneTouchTimeRec]="AAAAAgAAABoAAABkAw=="
commandmap[OneTouchView]="AAAAAgAAABoAAABlAw=="
commandmap[DUX]="AAAAAgAAABoAAABzAw=="
commandmap[FootballMode]="AAAAAgAAABoAAAB2Aw=="
commandmap[iManual]="AAAAAgAAABoAAAB7Aw=="
commandmap[Netflix]="AAAAAgAAABoAAAB8Aw=="
commandmap[Assists]="AAAAAgAAAMQAAAA7Aw=="
commandmap[ActionMenu]="AAAAAgAAAMQAAABLAw=="
commandmap[Help]="AAAAAgAAAMQAAABNAw=="
commandmap[TvSatellite]="AAAAAgAAAMQAAABOAw=="
commandmap[WirelessSubwoofer]="AAAAAgAAAMQAAAB+Aw=="
if [ "$2" = "sendtext" ]; then
cmd='{"id":78,"method":"setTextForm","version":"1.0","params":['\"$3\"']}'
echo "$cmd"
code=$(curl -d "$cmd" -X POST -H "Content-Type: application/json" -H "Cookie: auth=58764D38D05E869C5254C27C0F34FC4A7CCBCAFC" http://$1/sony/appControl)
else
cmd="<?xml version=\"1.0\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:X_SendIRCC xmlns:u=\"urn:schemas-sony-com:service:IRCC:1\"><IRCCCode>${commandmap[$2]}</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>"
code=$(curl -w "%{http_code}" --silent -XPOST http://$1/sony/IRCC -d "$cmd" -H 'Content-Type: text/xml; charset=UTF-8' -H 'SOAPACTION: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"' -H "X-Auth-PSK: 1234" -o /dev/null )
fi
if [ "$code" = "200" ]; then
echo "✓"
else
echo "Command failed (HTTP_CODE: $code, try running it in a console)"
exit 1
fi
Zitat von: mar5 am 23 Dezember 2017, 23:54:07
Hi,
ich kann jetzt an meinen Sony TV Texte senden - zB. Taste Home(Google), Youtube ...
Das geht auch über OK Google - wenn man will.
Hier ist mein Script sony_w855c dazu. Ich habe es lieber ganz gepostet - damit es auch geht. Einen Auth-Cookie braucht man dazu.
Es wäre schön, wenn dies in der Bravia-Lib landet.
Mit einem anderen Aufruf soll man auch Apps des Fernsehers direkt starten können.
Beispielaufruf: sony_w855c 192.168.178.22 sendtext "Suche nach einem Begriff"
Ist eingebaut und wird ab morgen mit dem Update verteilt.
Es gibt ein neues Set-Kommando "text" welches die angegebenen Argumente in ein Textfeld überträgt. Dazu muss auf dem Fernseher auch ein solchen vorhanden sein und den Fokus haben.
Ich hatte zuerst gehofft, dass das endlich die Möglichkeit ist, um Texte einfach auf dem TV anzuzeigen...
Gruß Vuffiraa
Hallo Vuffiraa,
habe die Text-Funktion probiert. Sie funktioniert prinzipiell z.B. in einem Browserfenster. Leider bastelt jede APP ihre eigenen Eingabe-Felder und da kommt dann z.B. bei Youtube nichts an.
Bei der Spielerei habe ich festgestellt, dass ja schließlich auch auf der Fernbedienung Buchstaben aufgedruckt sind. Es ist mir allerdings nicht gelungen, mit der Fernbedienung direkt Buchstaben zu versenden. Ich habe es dann noch mal mit deiner Funktion RemoteControl versucht aber die mag genau wie das Original nur Zahlen ;-)
Aber eigentlich hatte ich genau wie du eher auf eine Text-Ausgabe als eine Text-Eingabe Möglichkeit gehofft. Ich habe auch dazu schon mal etwas rumgespielt und auf dem Fernseher die APP Notifications for AndroidTV installiert. Damit kann man Benachrichtigungen die auf dem Handy eingehen auch auf dem Fernseher anzeigen (egal was da gerade läuft).
Da ich den Fernseher ja aber von FHEM aus füttern möchte habe ich mal versucht mit HTTPMOD das Senden nachzustellen, allerdings ohne Erfolg :-(
Außerdem habe ich noch ein passendes home-assitant-modul gefunden:
https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py (https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py)
Das hilft mir aber mangels Wissens auch nicht viel weiter, aber vielleicht kannst du ja etwas damit anfangen.
auf jeden Fall vielen Dank für deine bisherige Arbeit am Modul und noch schöne Restweihnachten,
viele Grüße willibutz
Hi,
ich habe die BraviaLib ausprobiert und sie funktioniert bestens.
Nur im Wiki sollte man schreiben, dass man 2 Mal register aufrufen muss. ... eigentlich logisch ... Aber das hat mir 5 Minuten gekostet :-O.
Bei mir geht Youtube, NetFlix und Home mit der text-Funktion. Wichtig ist, dass man nicht schon in dem Textfeld etwas eingegeben hat. Es muss der Cursor im Textfeld zu sehen sein. Dann geht es. Man bekommt einen Fehler 7 zurück, wenn man nicht im richtigen Modus ist. Dazu muss man die Antwort auswerten. Mehr brauche ich bisher auch nicht. Youtube kann ich auch gleich per OK Google vom Handy aus starten und auch alle Funktionen bis zu der Liste mit den gesuchten Videos ausführen lassen.
Ich habe noch etwas getestet und Apps auflisten und starten lassen. Es soll auch stoppen gehen. Allerdings wechsele ich meist nur die Apps.
Hier unten ist mein Script. Dies habe ich um netflix, youtube und applist erweitert. Man sollte in Perl die Applist als XML einladen und dann kann man die App per Namen auswählen und muss sich nicht die ganze App-Id merken. Leider bin ich noch nicht so gut in Perl. Ich programmiere eher C. Wenn ihr das macht ist das zig Mal schneller :-) und auch richtig.
Grüße,
Marcus
#!/bin/bash
set -e
if [ "$1" = "" ] || [ "$2" = "" ]; then
echo "Usage: $0 <TV_IP> <IRCC_COMMAND>"
exit 1
fi
declare -A commandmap
commandmap[Num2]="AAAAAQAAAAEAAAABAw=="
commandmap[Num3]="AAAAAQAAAAEAAAACAw=="
commandmap[Num1]="AAAAAQAAAAEAAAAAAw=="
commandmap[Num4]="AAAAAQAAAAEAAAADAw=="
commandmap[Num5]="AAAAAQAAAAEAAAAEAw=="
commandmap[Num6]="AAAAAQAAAAEAAAAFAw=="
commandmap[Num7]="AAAAAQAAAAEAAAAGAw=="
commandmap[Num8]="AAAAAQAAAAEAAAAHAw=="
commandmap[Num9]="AAAAAQAAAAEAAAAIAw=="
commandmap[Num0]="AAAAAQAAAAEAAAAJAw=="
commandmap[Num11]="AAAAAQAAAAEAAAAKAw=="
commandmap[Num12]="AAAAAQAAAAEAAAALAw=="
commandmap[Enter]="AAAAAQAAAAEAAAALAw=="
commandmap[Guide]="AAAAAQAAAAEAAAAOAw=="
commandmap[ChannelUp]="AAAAAQAAAAEAAAAQAw=="
commandmap[ChannelDown]="AAAAAQAAAAEAAAARAw=="
commandmap[VolumeUp]="AAAAAQAAAAEAAAASAw=="
commandmap[VolumeDown]="AAAAAQAAAAEAAAATAw=="
commandmap[Mute]="AAAAAQAAAAEAAAAUAw=="
commandmap[TvPower]="AAAAAQAAAAEAAAAVAw=="
commandmap[Audio]="AAAAAQAAAAEAAAAXAw=="
commandmap[MediaAudioTrack]="AAAAAQAAAAEAAAAXAw=="
commandmap[Tv]="AAAAAQAAAAEAAAAkAw=="
commandmap[Input]="AAAAAQAAAAEAAAAlAw=="
commandmap[TvInput]="AAAAAQAAAAEAAAAlAw=="
commandmap[TvAntennaCable]="AAAAAQAAAAEAAAAqAw=="
commandmap[WakeUp]="AAAAAQAAAAEAAAAuAw=="
commandmap[PowerOff]="AAAAAQAAAAEAAAAvAw=="
commandmap[Sleep]="AAAAAQAAAAEAAAAvAw=="
commandmap[Right]="AAAAAQAAAAEAAAAzAw=="
commandmap[Left]="AAAAAQAAAAEAAAA0Aw=="
commandmap[SleepTimer]="AAAAAQAAAAEAAAA2Aw=="
commandmap[Analog2]="AAAAAQAAAAEAAAA4Aw=="
commandmap[TvAnalog]="AAAAAQAAAAEAAAA4Aw=="
commandmap[Display]="AAAAAQAAAAEAAAA6Aw=="
commandmap[Jump]="AAAAAQAAAAEAAAA7Aw=="
commandmap[PicOff]="AAAAAQAAAAEAAAA+Aw=="
commandmap[PictureOff]="AAAAAQAAAAEAAAA+Aw=="
commandmap[Teletext]="AAAAAQAAAAEAAAA/Aw=="
commandmap[Video1]="AAAAAQAAAAEAAABAAw=="
commandmap[Video2]="AAAAAQAAAAEAAABBAw=="
commandmap[AnalogRgb1]="AAAAAQAAAAEAAABDAw=="
commandmap[Home]="AAAAAQAAAAEAAABgAw=="
commandmap[Exit]="AAAAAQAAAAEAAABjAw=="
commandmap[PictureMode]="AAAAAQAAAAEAAABkAw=="
commandmap[Confirm]="AAAAAQAAAAEAAABlAw=="
commandmap[Up]="AAAAAQAAAAEAAAB0Aw=="
commandmap[Down]="AAAAAQAAAAEAAAB1Aw=="
commandmap[ClosedCaption]="AAAAAgAAAKQAAAAQAw=="
commandmap[Component1]="AAAAAgAAAKQAAAA2Aw=="
commandmap[Component2]="AAAAAgAAAKQAAAA3Aw=="
commandmap[Wide]="AAAAAgAAAKQAAAA9Aw=="
commandmap[EPG]="AAAAAgAAAKQAAABbAw=="
commandmap[PAP]="AAAAAgAAAKQAAAB3Aw=="
commandmap[TenKey]="AAAAAgAAAJcAAAAMAw=="
commandmap[BSCS]="AAAAAgAAAJcAAAAQAw=="
commandmap[Ddata]="AAAAAgAAAJcAAAAVAw=="
commandmap[Stop]="AAAAAgAAAJcAAAAYAw=="
commandmap[Pause]="AAAAAgAAAJcAAAAZAw=="
commandmap[Play]="AAAAAgAAAJcAAAAaAw=="
commandmap[Rewind]="AAAAAgAAAJcAAAAbAw=="
commandmap[Forward]="AAAAAgAAAJcAAAAcAw=="
commandmap[DOT]="AAAAAgAAAJcAAAAdAw=="
commandmap[Rec]="AAAAAgAAAJcAAAAgAw=="
commandmap[Return]="AAAAAgAAAJcAAAAjAw=="
commandmap[Blue]="AAAAAgAAAJcAAAAkAw=="
commandmap[Red]="AAAAAgAAAJcAAAAlAw=="
commandmap[Green]="AAAAAgAAAJcAAAAmAw=="
commandmap[Yellow]="AAAAAgAAAJcAAAAnAw=="
commandmap[SubTitle]="AAAAAgAAAJcAAAAoAw=="
commandmap[CS]="AAAAAgAAAJcAAAArAw=="
commandmap[BS]="AAAAAgAAAJcAAAAsAw=="
commandmap[Digital]="AAAAAgAAAJcAAAAyAw=="
commandmap[Options]="AAAAAgAAAJcAAAA2Aw=="
commandmap[Media]="AAAAAgAAAJcAAAA4Aw=="
commandmap[Prev]="AAAAAgAAAJcAAAA8Aw=="
commandmap[Next]="AAAAAgAAAJcAAAA9Aw=="
commandmap[DpadCenter]="AAAAAgAAAJcAAABKAw=="
commandmap[CursorUp]="AAAAAgAAAJcAAABPAw=="
commandmap[CursorDown]="AAAAAgAAAJcAAABQAw=="
commandmap[CursorLeft]="AAAAAgAAAJcAAABNAw=="
commandmap[CursorRight]="AAAAAgAAAJcAAABOAw=="
commandmap[ShopRemoteControlForcedDynamic]="AAAAAgAAAJcAAABqAw=="
commandmap[FlashPlus]="AAAAAgAAAJcAAAB4Aw=="
commandmap[FlashMinus]="AAAAAgAAAJcAAAB5Aw=="
commandmap[AudioQualityMode]="AAAAAgAAAJcAAAB7Aw=="
commandmap[DemoMode]="AAAAAgAAAJcAAAB8Aw=="
commandmap[Analog]="AAAAAgAAAHcAAAANAw=="
commandmap[Mode3D]="AAAAAgAAAHcAAABNAw=="
commandmap[DigitalToggle]="AAAAAgAAAHcAAABSAw=="
commandmap[DemoSurround]="AAAAAgAAAHcAAAB7Aw=="
commandmap[xAD]="AAAAAgAAABoAAAA7Aw=="
commandmap[AudioMixUp]="AAAAAgAAABoAAAA8Aw=="
commandmap[AudioMixDown]="AAAAAgAAABoAAAA9Aw=="
commandmap[PhotoFrame]="AAAAAgAAABoAAABVAw=="
commandmap[Tv_Radio]="AAAAAgAAABoAAABXAw=="
commandmap[SyncMenu]="AAAAAgAAABoAAABYAw=="
commandmap[Hdmi1]="AAAAAgAAABoAAABaAw=="
commandmap[Hdmi2]="AAAAAgAAABoAAABbAw=="
commandmap[Hdmi3]="AAAAAgAAABoAAABcAw=="
commandmap[Hdmi4]="AAAAAgAAABoAAABdAw=="
commandmap[TopMenu]="AAAAAgAAABoAAABgAw=="
commandmap[PopUpMenu]="AAAAAgAAABoAAABhAw=="
commandmap[OneTouchTimeRec]="AAAAAgAAABoAAABkAw=="
commandmap[OneTouchView]="AAAAAgAAABoAAABlAw=="
commandmap[DUX]="AAAAAgAAABoAAABzAw=="
commandmap[FootballMode]="AAAAAgAAABoAAAB2Aw=="
commandmap[iManual]="AAAAAgAAABoAAAB7Aw=="
commandmap[Netflix]="AAAAAgAAABoAAAB8Aw=="
commandmap[Assists]="AAAAAgAAAMQAAAA7Aw=="
commandmap[ActionMenu]="AAAAAgAAAMQAAABLAw=="
commandmap[Help]="AAAAAgAAAMQAAABNAw=="
commandmap[TvSatellite]="AAAAAgAAAMQAAABOAw=="
commandmap[WirelessSubwoofer]="AAAAAgAAAMQAAAB+Aw=="
if [ "$2" = "sendtext" ]; then
cmd='{"id":78,"method":"setTextForm","version":"1.0","params":['\"$3\"']}'
echo "$cmd"
code=$(curl -d "$cmd" -X POST -H "Content-Type: application/json" -H "Cookie: auth=D4917CE46114429359002FFAE903EA8F7C7295C" http://$1/sony/appControl)
elif [ "$2" = "applist" ]; then
cmd='{"version":"1.0"}'
echo "$cmd"
code=$(curl -d "$cmd" -X GET -H "Content-Type: application/json" -H "Cookie: auth=D94917CE46114429359002FFAE903EA8F7C7295C" http://$1/DIAL/sony/applist)
elif [ "$2" = "netflix" ]; then
cmd='{"version":"1.0"}'
echo "$cmd"
code=$(curl -d "$cmd" -X POST -H "Content-Type: application/json" -H "Cookie: auth=D94917CE46114429359002FFAE903EA8F7C7295C" http://$1/DIAL/apps/com.sony.dtv.com.netflix.ninja.com.netflix.ninja.MainActivity)
elif [ "$2" = "youtube" ]; then
cmd='{"version":"1.0"}'
echo "$cmd"
code=$(curl -d "$cmd" -X POST -H "Content-Type: application/json" -H "Cookie: auth=D94917CE46114429359002FFAE903EA8F7C7295C" http://$1/DIAL/apps/com.sony.dtv.com.google.android.youtube.tv.com.google.android.apps.youtube.tv.activity.TvGuideActivity)
else
cmd="<?xml version=\"1.0\"?><s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><u:X_SendIRCC xmlns:u=\"urn:schemas-sony-com:service:IRCC:1\"><IRCCCode>${commandmap[$2]}</IRCCCode></u:X_SendIRCC></s:Body></s:Envelope>"
code=$(curl -w "%{http_code}" --silent -XPOST http://$1/sony/IRCC -d "$cmd" -H 'Content-Type: text/xml; charset=UTF-8' -H 'SOAPACTION: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"' -H "Cookie: auth=D94917CE46114429359002FFAE903EA8F7C7295C" -o /dev/null )
fi
if [ "$code" = "200" ]; then
echo "✓"
else
echo "Command failed (HTTP_CODE: $code, try running it in a console)"
exit 1
fi
Zitat von: mar5 am 29 Dezember 2017, 22:59:39
Hi,
ich habe die BraviaLib ausprobiert und sie funktioniert bestens.
Nur im Wiki sollte man schreiben, dass man 2 Mal register aufrufen muss. ... eigentlich logisch ... Aber das hat mir 5 Minuten gekostet :-O.
Bei mir geht Youtube, NetFlix und Home mit der text-Funktion. Wichtig ist, dass man nicht schon in dem Textfeld etwas eingegeben hat. Es muss der Cursor im Textfeld zu sehen sein. Dann geht es. Man bekommt einen Fehler 7 zurück, wenn man nicht im richtigen Modus ist. Dazu muss man die Antwort auswerten. Mehr brauche ich bisher auch nicht. Youtube kann ich auch gleich per OK Google vom Handy aus starten und auch alle Funktionen bis zu der Liste mit den gesuchten Videos ausführen lassen.
Ich habe noch etwas getestet und Apps auflisten und starten lassen. Es soll auch stoppen gehen. Allerdings wechsele ich meist nur die Apps.
Hier unten ist mein Script. Dies habe ich um netflix, youtube und applist erweitert. Man sollte in Perl die Applist als XML einladen und dann kann man die App per Namen auswählen und muss sich nicht die ganze App-Id merken. Leider bin ich noch nicht so gut in Perl. Ich programmiere eher C. Wenn ihr das macht ist das zig Mal schneller :-) und auch richtig.
Grüße,
Marcus
Hallo Marcus,
gute Idee mit der App-Liste. Dieses Jahr schaffe ich das aber nicht mehr ;) In der Applist-Url ist noch ein DIAL zu viel, sonst sollte es aber klappen.
Mit Perl habe ich auch erst angefangen, als ich mich näher mit Fhem beschäftigt habe. Ansonsten habe eher mit ABAP zu tun, aber das wäre für Hausautomation etwas übertrieben...
Gruß Ulf
PS: Und einen guten Rutsch in die Runde!
Hallo Ulf,
DIAL muss in der URL enthalten sein.
Ansonsten warte ich gerne. Ich kann ja mein bisheriges Skript verwenden.
Guten Rutsch
Marcus
OT:
Hihi,
eine SAP Kiste die den Fernseher steuert klinkt spannend ;-)
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Zitat von: mar5 am 30 Dezember 2017, 22:38:12
Hallo Ulf,
DIAL muss in der URL enthalten sein.
Ansonsten warte ich gerne. Ich kann ja mein bisheriges Skript verwenden.
Guten Rutsch
Marcus
Du hast auch Recht, ich kannte bisher nur einen anderen Weg zur App-List.
POST http://192.168.2.43/sony/appControl
{"method":"getApplicationList","params":[],"id":1,"version":"1.0"}
Mal sehen, ob das die gleichen Daten sind.
Gruß Ulf
Im neuen Jahr gibt es per Update ein neues Set: Application.
Damit läßt sich eine Anwendung auf dem TV starten. Bei den Namen der Anwendungen sind die Leerzeichen durch Unterstriche ersetzt, dass macht die Anzeige in der Dropdown-Liste einfacher.
Rutscht gut rein!
Ulf
Zitat von: RaspiLED am 31 Dezember 2017, 11:02:31
OT:
Hihi,
eine SAP Kiste die den Fernseher steuert klinkt spannend ;-)
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Au ja, und auch UI-technisch ist für jeden etwas dabei von Dynpro bis UI5. ;)
leerzeichen in fhemweb drop downs gehen seit einiger zeit wenn man ein # statt dem leerzeichen in der set ? rückgabe verwendet
Hallo vuffiraa,
habe die neue Funktion getestet
ZitatIm neuen Jahr gibt es per Update ein neues Set: Application.
funktioniert auch sehr gut, allerdings musste ich SET TV APP (per Befehlszeile) und nicht APPLICATION (wie im Menü) verwenden.
Irgendetwas scheint da noch nicht zu passen aber scheinbar nur ein Fehler in der Bezeichnung.
Schöne neue Funktion im neuen Jahr, danke.
LG willibutz
PS: hattest du dir eigentlich mal "Notifications for AndroidTV" angeschaut?
Zitat von: willibutz am 09 Januar 2018, 22:51:09
Hallo vuffiraa,
habe die neue Funktion getestet
funktioniert auch sehr gut, allerdings musste ich SET TV APP (per Befehlszeile) und nicht APPLICATION (wie im Menü) verwenden.
Irgendetwas scheint da noch nicht zu passen aber scheinbar nur ein Fehler in der Bezeichnung.
Schöne neue Funktion im neuen Jahr, danke.
LG willibutz
PS: hattest du dir eigentlich mal "Notifications for AndroidTV" angeschaut?
Da ist noch ein Typo, den bekommen wir aber weg :)
"Notifications for AndroidTV" habe ich mir noch nicht angeschaut, steht aber auf meiner Liste.
Gruß Vuffiraa
das fände ich klasse wenn du dir das anschaust :). ich hatte das auch schob vor. bin aber noch nicht dazu gekommen.
das protokoll ist scheinbar nirgendwo dokumentiert. es scheint aber ein einfacher http post request zu sein.
für home assistant scheint es schon ein modul zu geben bei dem man das protokoll abkupfern könnte:https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py (https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py)
gruss
andre
Hallo vuffiraa,
kurze Rückmeldung zu deiner typo-Korrektur: es wird jetzt zwar application als gültiger Befehl erkannt, es werden aber leider keine Applicationen mehr akzeptiert, die ein Leerzeichen im Namen haben.
Ich würde denken, dass ich die mit der letzten Version noch starten konnte. Jetzt kommt beim Versuch z.B. 'DS Photo' zu starten die Meldung:
Unknown app 'DS' on that device.
aber sonst, alles gut ;D
LG willibutz
Zitat von: willibutz am 14 Januar 2018, 19:01:07
Hallo vuffiraa,
kurze Rückmeldung zu deiner typo-Korrektur: es wird jetzt zwar application als gültiger Befehl erkannt, es werden aber leider keine Applicationen mehr akzeptiert, die ein Leerzeichen im Namen haben.
Ich würde denken, dass ich die mit der letzten Version noch starten konnte. Jetzt kommt beim Versuch z.B. 'DS Photo' zu starten die Meldung:
Unknown app 'DS' on that device.
aber sonst, alles gut ;D
LG willibutz
Hallo Willibutz,
sowas passiert, wenn man Sachen besonders gut machen will. Ich habe die '_' aus dem Namen entfernt und richtige Leerzeichen nach dem Vorschlag von justme1968 genommen. Wenn man den Befehl direkt ausführt und '#' benutzt, funktioniert er, also 'DS#Photo'.
Ansonsten gibt es morgen ein Update. Bitte auch mal mit Kanälen und Eingängen testen, da habe ich es auch entsprechen geändert.
Schönen Abend,
Vuffiraa
Hi,
ich habe hier einmal Channels direkt aufgerufen. Das ist nur ein Befehl und spart somit Zeit. Der Sony ist eh schon so langsam.
Der ganze Weg, wie man die Channels ausliest bis zum letzten wichtigen Aufruf folgt hier:
curl -v -XPOST http://192.168.178.22/sony/avContent -d '{"method":"getMethodTypes","params":[""],"id":5,"version":"1.0"}'
{"results":[["deleteContent",["{\"uri\":\"string\"}"],[],"1.0"],["getContentCount",["{\"source\":\"string\", \"type\":\"string\"}"],["{\"count\":\"int\"}"],"1.0"],["getContentList",["{\"source\":\"string\", \"stIdx\":\"int\", \"cnt\":\"int\", \"type\":\"string\"}"],["{\"uri\":\"string\", \"title\":\"string\", \"index\":\"int\", \"dispNum\":\"string\", \"originalDispNum\":\"string\", \"tripletStr\":\"string\", \"programNum\":\"int\", \"programMediaType\":\"string\", \"directRemoteNum\":\"int\", \"startDateTime\":\"string\", \"durationSec\":\"int\", \"channelName\":\"string\", \"fileSizeByte\":\"int\", \"isProtected\":\"bool\", \"isAlreadyPlayed\":\"bool\"}*"],"1.0"],["getCurrentExternalInputsStatus",[],["{\"uri\":\"string\", \"title\":\"string\", \"connection\":\"bool\", \"label\":\"string\", \"icon\":\"string\"}*"],"1.0"],["getParentalRatingSettings",[],["{\"ratingTypeAge\":\"int\", \"ratingTypeSony\":\"string\", \"ratingCountry\":\"string\", \"ratingCustomTypeTV\":\"string*\", \"ratingCustomTypeMpaa\":\"string\", \"ratingCustomTypeCaEnglish\":\"string\", \"ratingCustomTypeCaFrench\":\"string\", \"unratedLock\":\"bool\"}"],"1.0"],["getPlayingContentInfo",[],["{\"uri\":\"string\", \"source\":\"string\", \"title\":\"string\", \"dispNum\":\"string\", \"originalDispNum\":\"string\", \"tripletStr\":\"string\", \"programNum\":\"int\", \"programTitle\":\"string\", \"startDateTime\":\"string\", \"durationSec\":\"int\", \"mediaType\":\"string\", \"playSpeed\":\"string\", \"bivl_serviceId\":\"string\", \"bivl_assetId\":\"string\", \"bivl_provider\":\"string\"}"],"1.0"],["getSchemeList",[],["{\"scheme\":\"string\"}*"],"1.0"],["getSourceList",["{\"scheme\":\"string\"}"],["{\"source\":\"string\"}*"],"1.0"],["setDeleteProtection",["{\"uri\":\"string\", \"isProtected\":\"bool\"}"],[],"1.0"],["setFavoriteContentList",["{\"favSource\":\"string\", \"contents\":\"string*\"}"],[],"1.0"],["setPlayContent",["{\"uri\":\"string\"}"],[],"1.0"],["setPlayTvContent",["{\"channel\":\"string\"}"],[],"1.0"],["setTvContentVisibility",["{\"uri\":\"string\", \"epgVisibility\":\"string\", \"channelSurfingVisibility\":\"string\", \"visibility\":\"string\"}*"],[],"1.0"],["getMethodTypes",["string"],["string","string*","string*","string"],"1.0"],["getVersions",[],["string*"],"1.0"],["getContentCount",["{\"source\":\"string\", \"type\":\"string\", \"target\":\"string\"}"],["{\"count\":\"int\"}"],"1.1"],["getCurrentExternalInputsStatus",[],["{\"uri\":\"string\", \"title\":\"string\", \"connection\":\"bool\", \"label\":\"string\", \"icon\":\"string\", \"status\":\"string\"}*"],"1.1"],["setPlayTvContent",["{\"channel\":\"PlayTvChannel\", \"source\":\"string\", \"sourceType\":\"string\", \"broadcastFreqName\":\"string\", \"ignoreVisibilitySettings\":\"bool\"}"],[],"1.1"],["getContentList",["{\"source\":\"string\", \"stIdx\":\"int\", \"cnt\":\"int\", \"type\":\"string\", \"target\":\"string\"}"],["{\"uri\":\"string\", \"title\":\"string\", \"index\":\"int\", \"dispNum\":\"string\", \"originalDispNum\":\"string\", \"tripletStr\":\"string\", \"programNum\":\"int\", \"programMediaType\":\"string\", \"directRemoteNum\":\"int\", \"epgVisibility\":\"string\", \"channelSurfingVisibility\":\"string\", \"visibility\":\"string\", \"startDateTime\":\"string\", \"channelName\":\"string\", \"fileSizeByte\":\"int\", \"isProtected\":\"bool\", \"isAlreadyPlayed\":\"bool\", \"productID\":\"string\", \"contentType\":\"string\", \"storageUri\":\"string\", \"videoCodec\":\"string\", \"chapterCount\":\"int\", \"durationSec\":\"double\", \"audioCodec\":\"string*\", \"audioFrequency\":\"string*\", \"audioChannel\":\"string*\", \"subtitleLanguage\":\"string*\", \"subtitleTitle\":\"string*\", \"parentalRating\":\"string*\", \"parentalSystem\":\"string*\", \"parentalCountry\":\"string*\", \"sizeMB\":\"int\", \"createdTime\":\"string\", \"userContentFlag\":\"bool\"}*"],"1.2"]],"id":5}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
curl -v -XPOST http://192.168.178.22/sony/avContent -d '{"method":"getContentCount","params":[{"source":"tv:dvbs","type":""}],"id":2,"version":"1.0"}' -H "Cookie: auth=A9E7A2380A80662AA1DC846B70FA5EE10BE968A6"
{"result":[{"count":155}],"id":2}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
curl -v -XPOST http://192.168.178.22/sony/avContent -d '{"method":"getContentList","params":[{"source":"tv:dvbs","stIdx":1,"cnt":10,"type":""}],"id":3,"version":"1.0"}' -H "Cookie: auth=A9E7A2380A80662AA1DC846B70FA5EE10BE968A6"
{"result":[[{"uri":"tv:dvbs?trip=1.1011.11110&srvName=ZDF HD","title":"ZDF HD","index":1,"dispNum":"0002","tripletStr":"1.1011.11110","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1089.12003&srvName=RTL Television","title":"RTL Television","index":2,"dispNum":"0003","tripletStr":"1.1089.12003","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1107.17500&srvName=SAT.1","title":"SAT.1","index":3,"dispNum":"0004","tripletStr":"1.1107.17500","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1107.17501&srvName=ProSieben","title":"ProSieben","index":4,"dispNum":"0005","tripletStr":"1.1107.17501","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1107.17502&srvName=kabel eins","title":"kabel eins","index":5,"dispNum":"0006","tripletStr":"1.1107.17502","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1089.12020&srvName=RTL2","title":"RTL2","index":6,"dispNum":"0007","tripletStr":"1.1089.12020","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1089.12060&srvName=VOX","title":"VOX","index":7,"dispNum":"0008","tripletStr":"1.10* Connection #0 to host 192.168.178.22 left intact
89.12060","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1019.10302&srvName=arte HD","title":"arte HD","index":8,"dispNum":"0009","tripletStr":"1.1019.10302","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1010.11150&srvName=3sat HD","title":"3sat HD","index":9,"dispNum":"0010","tripletStr":"1.1010.11150","programMediaType":"tv"},{"uri":"tv:dvbs?trip=1.1007.4914&srvName=ServusTV HD Deutschland","title":"ServusTV HD Deutschland","index":10,"dispNum":"0011","tripletStr":"1.1007.4914","programMediaType":"tv"}]],"id":3}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
curl -v -XPOST http://192.168.178.22/sony/avContent -d '{"method":"setPlayContent","params":[{"uri":"tv:dvbs?trip=1.1011.11110&srvName=ZDF HD","type":""}],"id":3,"version":"1.0"}' -H "Cookie: auth=A9E7A2380A80662AA1DC846B70FA5EE10BE968A6"
Hier noch der Fehler in Bravia.pm - statt app sollte wohl application stehen.
So funktioniert der Aufruf mit FHEM über das Webinterface.
# app
elsif ( $a[1] eq "application" ) {
if (defined($a[2]) && $presence eq "present" && $power ne "on" ) {
Hallo vuffiraa,
habe Apps, Kanäle und Inputs mit Leerzeichen getestet, alles OK :)
Bei den Kanälen ist mir gleich wieder eines meiner Probleme eingefallen, vielleicht hast du ja eine Idee woran das liegen kann: Ich wechsle per ALEXA den Kanal, indem ich die Nummer vorgebe. Die Kanalnummer wird von ALEXA korrekt an FHEM übermittelt und zwar an das DOIF "SenderWechsel" dem ich das Reading "desired-temp" spendiert habe ;-)
Das DOIF ist wie folgt definiert:
(["SenderWechsel:desired-temp"])
({
foreach my $char (split //, ReadingsVal("SenderWechsel","desired-temp","0"))
{fhem "set BRAVIA remoteControl $char"}
})
Prinzipiell funktioniert das ganze, allerdings werden manchmal bei zweistelligen Kanalnummern, die Einer- und Zehnerstelle vertauscht. Wenn ich das ganze im EventMonitor beobachte sehe ich z.B. für Kanal 45 immer die richtige Reihenfolge der Ziffern:
set BRAVIA remoteControl 4
set BRAVIA remoteControl 5
am Fernseher kommen sie aber manchmal trotzdem als 54 an. Ich habe keine Anhnung ob das was mit deinem Modul zu tun hat oder ein prinzipielles FHEM "Zeitproblem" ist (überholen ohne einzuholen ;D ), aber vielleicht hast du ja eine Idee,
LG willibutz
Zitat von: willibutz am 16 Januar 2018, 20:34:44
am Fernseher kommen sie aber manchmal trotzdem als 54 an. Ich habe keine Anhnung ob das was mit deinem Modul zu tun hat oder ein prinzipielles FHEM "Zeitproblem" ist (überholen ohne einzuholen ;D ), aber vielleicht hast du ja eine Idee,
Hallo willibutz,
im Modul ist dieses Problem ganz pragmatisch mit bösen Blocking-Calls gelöst. Wird also für jede Zahl erst auf die Bestätigung gewartet, bevor es weitergeht.
Für dein Problem ist das nicht so einfach zu erzwingen, einen kleinen Hack könnte es aber geben, wenn die den Channel-Setter benutzt. Probier mal die ganze Zeichenkette und ein Doppelpunkt mit
set channel:
fhem "set BRAVIA channel $channelnr:"
Ich bin mir nicht sicher, ob das genau so passt, aber es soll halt die Kanalnummer und direkt ein Doppelpunkt nach der Nummer beim Modul ankommen.
Gruß Vuffiraa
Hallo vuffiraa,
danke dir, sehr gute Lösung :)
Das DOIF sieht jetzt deutlich "sportlicher" aus und funktioniert vor allen Dingen immer
(["SenderWechsel:desired-temp"])
(set BRAVIA channel [$DEVICE:desired-temp]:)
LG willibutz
Hi vuffiraa,
ich denke hier bin ich richtig. Ich möchte keine Doppelposts erstellen.
Wenn ich hier richtig bin werde ich den anderen abschliessen.
Ich habe den Sony 49x8505b und hier funktioniert kein WOL.
Kannst Du mir hier weiterhelfen wo ich was nachschauen kann damit es funktioniert ?
Wenn ich über meinen PC ein WOL absetze schaltet der Fernseher ein.
Über Fhem funktioniert dies nicht, hier sehe ich auch keine WOL Pakete im Netz.
Vielen Dank und Grüße
Sven
Zitat von: sven.scherf am 19 Januar 2018, 19:01:35
Hi vuffiraa,
ich denke hier bin ich richtig. Ich möchte keine Doppelposts erstellen.
Wenn ich hier richtig bin werde ich den anderen abschliessen.
Ich habe den Sony 49x8505b und hier funktioniert kein WOL.
Kannst Du mir hier weiterhelfen wo ich was nachschauen kann damit es funktioniert ?
Wenn ich über meinen PC ein WOL absetze schaltet der Fernseher ein.
Über Fhem funktioniert dies nicht, hier sehe ich auch keine WOL Pakete im Netz.
Vielen Dank und Grüße
Sven
Jetzt habe ich schon im anderen Faden geantwortet ;)
Zitat von: justme1968 am 12 Januar 2018, 19:22:07
das fände ich klasse wenn du dir das anschaust :). ich hatte das auch schob vor. bin aber noch nicht dazu gekommen.
das protokoll ist scheinbar nirgendwo dokumentiert. es scheint aber ein einfacher http post request zu sein.
für home assistant scheint es schon ein modul zu geben bei dem man das protokoll abkupfern könnte:https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py (https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/notify/nfandroidtv.py)
gruss
andre
Also grundsätzlich funktionieren Texte auf dem TV bei mir. Als Test einfach mal probieren:
curl -F "filename=@/path/pixel.png" -F "title=Titel" -F "msg=Meldung" http://xxx.xxx.xxx.xxx:7676
Natürlich die IP-Adresse anpassen und ein PNG unter dem Pfad liegen haben. Das PNG kann irgendwas sein, es reicht schon ein Pixel 1x1.
Um alle Möglichkeiten der Notifications App auszunutzen schreit das schon fast nach einen neuen Fhem-Modul. Freiwillige vor!
Gruß Vuffiraa
bitteschön: https://forum.fhem.de/index.php/topic,83064.0.html (https://forum.fhem.de/index.php/topic,83064.0.html) :)
Hallo vuffiraa,
seit geraumer Zeit nutzen wir fast täglich das BRAVIA-Modul; auf unserem KD-43X8309C funktionieren eigentlich auch alle bereitgestellten Features (inklusive Apps).
Besten Dank schon mal für die Erarbeitung des sehr nützlichen Moduls.
Wo viel Licht ist, ist aber natürlich auch (zumindest ein ganz klein wenig) Schatten.
Wir verwenden auf unserem TV mehr als eine TV-Quelle und müssen beim Umschalten auf einen anderen Sender neben channel evtl. auch noch vorher input wechseln.
Um dies zu ermöglichen, waren ein paar (eher kleine) Änderungen am offiziellen Modul notwendig.
Konkret geht es dabei zunächst um die Aufnahme der optionalen TV-Quellen (DVB-C,DVB-S,DVB-T) - abhängig von ihrer Verfügbarkeit - in die Liste der erlaubten inputs.
"TV" schaltet weiterhin auf die zuletzt verwendete TV-Quelle; "TV/DVB-C","TV/DVB-S","TV/DVB-T" schalten unabhängig davon direkt auf Kabel,Satellit,Terrestrisch.
Fraglich ist nun, ob Interesse besteht, das offizielle Modul dahingehend zu erweitern.
Denn a) haben bestimmt mehrere Anwender dieses Problem und b) entfällt meinerseits die manuelle Bearbeitung des BRAVIA-Moduls nach einem Update.
Falls Interesse besteht, kann ich gerne beispielhaft meine Änderungen zur Verfügung stellen.
Viele Grüße
Zitat von: OdfFhem am 10 Februar 2018, 11:10:01
Hallo vuffiraa,
seit geraumer Zeit nutzen wir fast täglich das BRAVIA-Modul; auf unserem KD-43X8309C funktionieren eigentlich auch alle bereitgestellten Features (inklusive Apps).
Besten Dank schon mal für die Erarbeitung des sehr nützlichen Moduls.
Wo viel Licht ist, ist aber natürlich auch (zumindest ein ganz klein wenig) Schatten.
Wir verwenden auf unserem TV mehr als eine TV-Quelle und müssen beim Umschalten auf einen anderen Sender neben channel evtl. auch noch vorher input wechseln.
Um dies zu ermöglichen, waren ein paar (eher kleine) Änderungen am offiziellen Modul notwendig.
Konkret geht es dabei zunächst um die Aufnahme der optionalen TV-Quellen (DVB-C,DVB-S,DVB-T) - abhängig von ihrer Verfügbarkeit - in die Liste der erlaubten inputs.
"TV" schaltet weiterhin auf die zuletzt verwendete TV-Quelle; "TV/DVB-C","TV/DVB-S","TV/DVB-T" schalten unabhängig davon direkt auf Kabel,Satellit,Terrestrisch.
Fraglich ist nun, ob Interesse besteht, das offizielle Modul dahingehend zu erweitern.
Denn a) haben bestimmt mehrere Anwender dieses Problem und b) entfällt meinerseits die manuelle Bearbeitung des BRAVIA-Moduls nach einem Update.
Falls Interesse besteht, kann ich gerne beispielhaft meine Änderungen zur Verfügung stellen.
Viele Grüße
Hallo OdfFhem,
deine Änderungen klingen für mich interessant. Außerdem wäre es eine Erweiterung der Funktionalität und alles Vorhandene funktioniert wie gehabt. Wenn du mir deine Änderungen zur Verfügung stellst, würde ich die Aufnahme ins offizielle Modul prüfen.
Viele Grüße
Vuffiraa
Hallo vuffiraa,
im Dateianhang habe ich mal die notwendigen Änderungen aufgelistet.
Soweit ich das beurteilen kann, handelt es sich durchweg um "1.0"-API-Aufrufe, die vermutlich jeder json-Nutzer verarbeiten können sollte.
Viele Grüße und schon mal vielen Dank für das Interesse
Zitat von: OdfFhem am 10 Februar 2018, 17:43:15
Hallo vuffiraa,
im Dateianhang habe ich mal die notwendigen Änderungen aufgelistet.
Soweit ich das beurteilen kann, handelt es sich durchweg um "1.0"-API-Aufrufe, die vermutlich jeder json-Nutzer verarbeiten können sollte.
Viele Grüße und schon mal vielen Dank für das Interesse
Ich habe die Änderungen fast vollständig übernommen, und es sollte genauso funktionieren.
Außerdem habe ich noch eingebaut, dass die Kanäle direkt gewechselt werden. Wenn möglich werden nicht mehr die einzelnen Kanalziffern gesendet, sondern ein Befehl. Und das Laden der App-Liste und der Inputs wird etwas öfter geprüft.
Bei Problemen, einfach hier melden ;)
Achse, die Änderungen werden ab morgen per Update verteilt.
Gruß Vuffiraa
Zitat von: vuffiraa am 12 Februar 2018, 19:49:08
Ich habe die Änderungen fast vollständig übernommen, und es sollte genauso funktionieren.
Außerdem habe ich noch eingebaut, dass die Kanäle direkt gewechselt werden. Wenn möglich werden nicht mehr die einzelnen Kanalziffern gesendet, sondern ein Befehl. Und das Laden der App-Liste und der Inputs wird etwas öfter geprüft.
Bei Problemen, einfach hier melden ;)
Achse, die Änderungen werden ab morgen per Update verteilt.
Gruß Vuffiraa
Hi Vuffiraa,
habe heute morgen ein FHEM Update gemacht und ich hätte noch einige Vorschläge:
1) Wäre es nicht sinnvoll, wenn man irgendeinen Befehl absetzt (z. B. Kanal ändern), dass direkt ein zweiter Befehl (statusRequest) hinterher geschickt wird?
Ansonsten zeigt FHEM die Änderung erst mit dem nächsten Abfrageintervall an ....
2) Der zweite Vorschlag betrifft das Reading "channel", wobei die Leerzeichen mit # maskiert werden.
Kann man dies nicht ohne dieses formatieren oder ein zweites Reading erzeugen lassen mit z. B. dem Namen channel_plain ?
Ansonsten Top! Besten Dank für die Bemühungen.
Gruß
Mathias
Hallo zusammen,
wollte auch gerade mal das Modul testen, habe aber einen KDL-65W855C.. der tanzt wohl etwas auser der Reihe wenn ich das richtig sehe.
Habe nun ein paar Beiträge vorher den u.g. gefunden, bin aber etwas ratlos ob das nun bedeutet das ich ihn doch einbinden kann bzw. wie ich das Auth-Cookie in Fhem hinterlege ? Mit der "normalen" Anleitung scheitert es auf jeden fall bei set SonyTV register ... da passiert am TV nämlich nichts.
ZitatHier ist mein Script sony_w855c dazu. Ich habe es lieber ganz gepostet - damit es auch geht. Einen Auth-Cookie braucht man dazu.
Es wäre schön, wenn dies in der Bravia-Lib landet.
Evtl. kann mir jemand auf die Sprünge helfen ?
Vielem Dank
gruß
Zitat von: nerothos am 23 März 2018, 16:25:23
Hallo zusammen,
wollte auch gerade mal das Modul testen, habe aber einen KDL-65W855C.. der tanzt wohl etwas auser der Reihe wenn ich das richtig sehe.
Habe nun ein paar Beiträge vorher den u.g. gefunden, bin aber etwas ratlos ob das nun bedeutet das ich ihn doch einbinden kann bzw. wie ich das Auth-Cookie in Fhem hinterlege ? Mit der "normalen" Anleitung scheitert es auf jeden fall bei set SonyTV register ... da passiert am TV nämlich nichts.
Evtl. kann mir jemand auf die Sprünge helfen ?
Vielem Dank
gruß
Dein TV sollte ganz normal mit dem Modul laufen. Das Zitat, was du gefunden hast, betrifft eine Funktionalität, die mittlerweile auch im Modul implementiert ist.
Mach mal ein Log vom Registrierungsversuch!
Gruß Vuffiraa
Merkwürdig, habe das Device noch mal gelöscht und neu angelegt und dann ging es auf anhieb ... vielleicht habe ich vorhin irgendwo ein Fehler drin gehabt .. trotzdem Danke !
Zitat von: nerothos am 23 März 2018, 22:15:03
Merkwürdig, habe das Device noch mal gelöscht und neu angelegt und dann ging es auf anhieb ... vielleicht habe ich vorhin irgendwo ein Fehler drin gehabt .. trotzdem Danke !
Kein Problem, solche Lösungen nimmt man doch gerne :-)
Ich habe seit kurzer Zeit das Problem, dass der TV sich nach längerer Zeit im Standby nicht mehr bedienen lässt und scheinbar seine Registrierung vergessen hat. Diese ist dann auf ein Expiredatum aus 2016 gesetzt. Nach einer erneuten Registrierung geht wieder alles aber spätestens am nächsten Tag ist wieder alles wie vorher. Hatte vorher eigentlich nie solche Probleme. Woran kann das liegen?
Zitat von: kennymc.c am 18 Juli 2019, 22:07:12
Ich habe seit kurzer Zeit das Problem, dass der TV sich nach längerer Zeit im Standby nicht mehr bedienen lässt und scheinbar seine Registrierung vergessen hat. Diese ist dann auf ein Expiredatum aus 2016 gesetzt. Nach einer erneuten Registrierung geht wieder alles aber spätestens am nächsten Tag ist wieder alles wie vorher. Hatte vorher eigentlich nie solche Probleme. Woran kann das liegen?
Siehst du das alte Expiredatum in FHEM?
Wenn ja, 3 Fragen dazu:
- Wie lautet das Datum des Reading?
- Wird FHEM bei dir regelmäßig/täglich neu gestartet und lädt dann die Readings aus einem alten Stand?
- Worauf läuft dein FHEM?
Ich kenne jemanden mit einem Linux-System, da war das Filesystem kaputt und die Platte wurde deshalb immer readonly gemountet. Im eigentlichen Betrieb lief immer alles unauffällig, aber bei einem Neustart waren im System irgendwelche alten Konfigurationen zu finden.
Gruß VuffiRaa
Das Problem tritt seit ein paar Tagen zum Glück nicht mehr auf und auch das Datum bleibt gleich. Das Datum war aus Anfang Januar 2016, da hatte ich das System aber noch nicht in Betrieb in dieser Form. FHEM wird durch ein Systembackup bei mir täglich neu gestartet. Ich werde das aber mal beobachten. Mich wundert, dass es scheinbar an Fhem liegt das Datum zu speichern und es nicht vom TV selbst abgefragt wird. Dann sollte ja auch ein falsches Registrierungsdatum in der Config keine Probleme machen.
Zitat von: kennymc.c am 22 Juli 2019, 19:40:27
Das Problem tritt seit ein paar Tagen zum Glück nicht mehr auf und auch das Datum bleibt gleich. Das Datum war aus Anfang Januar 2016, da hatte ich das System aber noch nicht in Betrieb in dieser Form. FHEM wird durch ein Systembackup bei mir täglich neu gestartet. Ich werde das aber mal beobachten. Mich wundert, dass es scheinbar an Fhem liegt das Datum zu speichern und es nicht vom TV selbst abgefragt wird. Dann sollte ja auch ein falsches Registrierungsdatum in der Config keine Probleme machen.
Das klingt ominös. Ich drücke mal die Daumen, dass das Problem so nicht mehr auftritt.
Vielleicht noch ein paar Erklärungen zum Datum. Der TV liefert bei einer Registrierung einen Registrierungsschlüssel und das Datum, bis wann dieser Schlüssel gilt. Diese beiden Werte werden in FHEM im Modul unter den Readings
authCookie und
authExpires gespeichert. Das Modul in FHEM prüft nun regelmäßig, wie lange der Schlüssel noch gilt. Ansonsten wird der Registrierungsschlüssels erneuert.
Bei deinem Problem wollte ich wissen, welchen Wert und Zeitstempel deine Readings hatten. Also der Wert von
authExpires war dann irgendwann Januar 2016, aber wann wurde das Reading in FHEM geschrieben. Mit einem alten Zeitstempel wäre das Problem eher im FHEM zu suchen, weil es beim Starten einen alten Stand geladen hat. Bei aktuellen Zeitstempeln müsste man sich mal die Zeiteinstellung im TV anschauen.
Gruß VuffiRaa
Wann das Reading zuletzt geschrieben wurde weiß ich ehrlich gesagt nicht mehr. Es war aber glaube ich nicht 2016, sonder nur der Inhalt mit dem Datum. Es könnte eventuell an einem Stromausfall gelegen haben. Der TV hatte danach keine Netzwerkverbindung mehr und hat auch den EPG um eine Stunde versetzt angezeigt. Erst als ihn wieder mit dem WLAN verbunden habe, waren die Daten wieder korrekt. Allerdings hatte ich die Probleme mit dem Modul erst danach. Ich frage mich auch vorher dann das Datum aus 2016 stammt, da der TV aus 2017 stammt.
Hallo VuffiRaa,
ich habe mein Heimnetzwerk umgestellt auf Unifi Produkte und im Zuge dessen natürlich auch VLANs eingeführt. Dadurch hat WOL, zum Wecken meines Sony-TV, erstmal so ohne weiteres nicht mehr funktioniert.
Um das in einer Unifi Umgebung wieder ans Laufen zu bekommen muss man mit einem Workaround arbeiten, der hier beschrieben ist:
https://community.ui.com/questions/Solved-WOL-between-different-subnets/0551c2b3-0bc2-422e-b829-d168ff77a989
Dazu habe ich folgende Änderungen in deiner 70_BRAVIA.pm vorgenommen und das Modul im Moment von Fhem Updates ausgenommen.
###################################
sub wake ($$) {
my ( $name, $mac_addr ) = @_;
# my $address = '255.255.255.255';
my $address = '10.20.0.5';
my $port = 9;
....
Ich bin leider kein Perl Entwickler und kann dir keinen fertigen Patch liefern, aber vielleicht hälst Du es ja auch für sinnvoll die fixe Broadcast Adresse über ein extra Attribut editierbar zu machen.
Gruss Sven
Hallo Sven,
die Änderung scheint nicht so schwierig zu sein. Ich probiere das bei mir mal aus und checke dann eine neue Version ein.
Gruß VuffiRaa
Ich habe hier https://github.com/fhem/BRAVIA/tree/dev eine Testversion hochgeladen, die ein neues Attribute "wolBroadcast" enthält. Damit lässt sich die Standartadresse 255.255.255.255 für Wake-On-Lan überschreiben.
Wer die Version probieren möchten, folgt bitten dem ReadMe.
- Load the modules into FHEM:
update all https://raw.githubusercontent.com/fhem/BRAVIA/dev/controls_BRAVIA.txt
shutdown restart
Wenn es mit der Version keine Probleme gibt, lade ich sie auch ins SVN und dann wird sie mit dem normalen FHEM-Update verteilt.
Gruß VuffiRaa
Hallo VuffiRaa,
frohes Neues Jahr! Habe die Testversion eben installiert und wolBroadcast gesetzt. WOL funktioniert wie gewünscht (über eine custom broadcast Adresse) und im Fhem Log tauchen keine Auffälligkeiten auf.
Vielen Dank für die kurzfristige Anpassung.
Gruss Sven
Servus,
ich hoffe jmd sieht den Beitrag nach so langer Zeit noch :)
Ich hab des Modul bisher immer recht zuverlässig benutzt. Bin jetzt letztens Umgezogen und hab natürlich
mein Smarthome auch in der neuen Whg eingerichtet.
Ich hab die ChannelsMax auf 300 hochgesetzt, jetzt werden zwischen den Allgemeinen auch die Digitalen Eingelesen.
Kann ich die Liste manuell bereinigen? Oder hilft es was die Sendeplätze vom allgemeinen Satelit zu löschen?
Ich kann den TV Problemlos bedienen. Allerdings: Die Senderliste wird vom Allgemeinen Satelit gelesen.
Ich hab aber mittlerweile Cabel - Digitaler Satelit. Also wenn ich auch über "channels" umschalte, wechselt
er den Satelit und zeigt logischerweise nix an. Channel rauf/runter geht.
Kann ich iwie die Channelliste beeinflussen oder den Sateliten zum einlesen ändern?
*thx*
Zitat von: call_me_driver am 11 November 2020, 18:10:03
Servus,
ich hoffe jmd sieht den Beitrag nach so langer Zeit noch :)
Ich hab des Modul bisher immer recht zuverlässig benutzt. Bin jetzt letztens Umgezogen und hab natürlich
mein Smarthome auch in der neuen Whg eingerichtet.
Ich hab die ChannelsMax auf 300 hochgesetzt, jetzt werden zwischen den Allgemeinen auch die Digitalen Eingelesen.
Kann ich die Liste manuell bereinigen? Oder hilft es was die Sendeplätze vom allgemeinen Satelit zu löschen?
Ich kann den TV Problemlos bedienen. Allerdings: Die Senderliste wird vom Allgemeinen Satelit gelesen.
Ich hab aber mittlerweile Cabel - Digitaler Satelit. Also wenn ich auch über "channels" umschalte, wechselt
er den Satelit und zeigt logischerweise nix an. Channel rauf/runter geht.
Kann ich iwie die Channelliste beeinflussen oder den Sateliten zum einlesen ändern?
*thx*
Das Modul übernimmt die Senderliste direkt aus dem TV, inklusive der Reihenfolge.
Wenn dein TV also noch Sender kennt, die du nicht mehr empfangen kannst, solltest du die Senderliste im TV aufräumen.
Das Modul aktualisiert die Liste dann dem Einschalten des TV.
Ansonsten beschreibe mal, welches Verhalten du dir im Modul wünschst.
Gruß VuffiRaa
Hallo zusammen und ein frohes neues Jahr noch!
Ich habe mich eben gefragt, ob es nicht möglich ist den Wert des Lichtsensors auszulesen. Hat das evtl. schon jemand hinbekommen?
Bin nämlich auf der Suche nach einer Lösung, nach welchen Kriterien ich das Wohnzimmer Rollo bei Sonne runterfahre.
Und da es beim TV am meisten stört liegt das ja nahe und man müsste sich nichts neues anschaffen.
Gruß & einen schönen Sonntag,
Tobi