Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter-Anfrage Sony Bravia TV

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Adapter-Anfrage Sony Bravia TV

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hosifox last edited by

      Erstmal vielen Dank für den Adapter, habe ihn heute erst entdeckt,Soweit läuft er bei mir.

      Ist es auch möglich Rückmeldungen zu erhalten, sprich TV ist an, Lautstärke, welcher Eingang ist gewählt?

      Gruß Thorsten

      1 Reply Last reply Reply Quote 0
      • A
        Alex81 last edited by

        Hallo,

        der Adapter läuft echt gut.

        Die Sache mit den Rückmeldungen, grade ob der TV läuft oder nicht würde mich auch interessieren.

        Gruß Alexander

        1 Reply Last reply Reply Quote 0
        • ldittmar
          ldittmar Developer last edited by

          Hi,

          ob der Fernseher läuft oder nicht, ist unter info.connection zu sehen. Sollte auch in der Instanzenübersicht mit einem gelben Licht dargestellt werden.

          Mein Problem bei der ganze Sache, ist das ich kein Bravia habe. Ich müsste also blind programmieren… Vielleicht bekomme ich die aktuelle Lautstärke raus. Muss am WE was probieren... natürlich kann auch ein Bravia Besitzer mit Zeit und ein bisschen Programmiererfahrung gerne mitprogrammieren. Bin da ganz offen 😉

          Grüße,

          ldittmar

          1 Reply Last reply Reply Quote 0
          • T
            thoemmes86 last edited by

            Hallo zusammen,

            ich wollte gestern den Sony Bravia Adapter konfigurieren und mit meinem Sony KD-49XD7005 (AndroidTV Nougat) verbinden.

            So richtig ist mir das leider nicht geglückt.

            Ich habe alle Punkte unter TV-Setup durchgeführt. Zumindest denke ich das. 😄

            Die Punkte waren teilweise in anderen Menüs als beschrieben.

            https://github.com/ldittmar81/ioBroker.sony-bravia

            IP im Adapter und PSK Schlüssel stimmen und wurden 10 mal überprüft.

            In der Adapter Instanz bekomme ich:

            Verbunden mit Hoch: wahr

            Lebenszeichen: wahr

            Verbunden mit sony-bravia: falsch.

            Kann mir hier jemand auf die Sprünge helfen oder liegt es an der Android Version?

            Gruß

            1 Reply Last reply Reply Quote 0
            • A
              Alex81 last edited by

              Hallo Idittmar,

              danke für diene Antwort, info.connection steht bei mir auch bei abgeschaltetem Fernseher auf true.

              Programmiererfahrung habe ich leider nicht. Wenn ich dir aber sonst wie weiterhelfen kann, gern.

              Gruß Alexander

              1 Reply Last reply Reply Quote 0
              • S
                schmimla last edited by

                Hallo,

                auch von mir erst mal vielen Dank für den Adapter. Die Konfiguration hat auf Anhieb geklappt, jedoch kann ich bisher noch nicht viel machen, außer den Fernseher ausschalten. Anschalten klappt noch nicht, müsste dafür vielleicht erst ein wake-on-lan-Signal gesendet werden?

                Mit Alexa kann ich zudem problemlos mit dem Kommando "Schalte ARD ein" auf dieses Programm schalten, das klappt allerdings komischerweise mit den anderen Programmen noch nicht…

                Ich bin Anfänger in ioBroker und habe bis auf ein paar Szenen, in denen ich Licht, Heizung und AVR schalte, noch nicht all zuviel realisiert. Deswegen eine Frage: Wenn ich nun z.B. einmal alle Fernsehprogramme von 1-20 jeweils mit einer bestimmten VErzögerung durchschalten wollte, dann müsste ich das per Skript machen, oder

                1 Reply Last reply Reply Quote 0
                • T
                  toppa last edited by

                  @ldittmar:

                  Hi,

                  ob der Fernseher läuft oder nicht, ist unter info.connection zu sehen. Sollte auch in der Instanzenübersicht mit einem gelben Licht dargestellt werden.

                  Mein Problem bei der ganze Sache, ist das ich kein Bravia habe. Ich müsste also blind programmieren… Vielleicht bekomme ich die aktuelle Lautstärke raus. Muss am WE was probieren... natürlich kann auch ein Bravia Besitzer mit Zeit und ein bisschen Programmiererfahrung gerne mitprogrammieren. Bin da ganz offen 😉

                  Grüße,

                  ldittmar `

                  Hallo,

                  bei mir ist der Wert im Standby auch auf true, leider kann ich nicht erkennen ob der Fernseher an ist oder nicht. Gibt es da ne Funktion?

                  (Sony KD-XD8599). Sonst läuft es schon recht gut! DANKE

                  Kleiner Tip, die genaue Bezeichnung und Funktion der Knöpfe seht ihr am besten bei der Verknüpfung der Kanäle im VIS, da

                  steht im Klartext was jeder Button macht.

                  Gruss

                  toppa

                  1 Reply Last reply Reply Quote 0
                  • S
                    schmimla last edited by

                    Ich habe einen relativ alten Sony Bravia (KDL-55W809A). Im Grunde genommen funktioniert der Adapter aber wie bereits erwähnt recht gut. Das einzige Problem ist das anschalten. Weiß jemand, ob dies mit diesem TV möglich ist?

                    1 Reply Last reply Reply Quote 0
                    • T
                      toppa last edited by

                      Hallo,

                      anschalten ist möglich, siehe Screen.

                      Gruss

                      Toppa
                      4118_bildschirmfoto_2017-11-18_um_11.50.02.png

                      1 Reply Last reply Reply Quote 0
                      • S
                        schmimla last edited by

                        Ja, die Funktion funktioniert bei mir eben nicht…

                        1 Reply Last reply Reply Quote 0
                        • R
                          robson last edited by

                          Hallo zusammen,

                          ich habe den Adapter (0.1.0) heute ebenfalls fehlerfrei installieren und die Anleitung am Sony TV abarbeiten können.

                          Nun möchte ich gerne einige Befehle per Sprachsteuerung (Alexa) Richtung TV senden. Leider wird mir der TV unter dem Cloud-Adapter nicht als Smart-Home Gerät angezeigt.

                          Mache ich was falsch?

                          Bei den Homematic-Geräten war dies genau das Vorgehen.

                          Über eine kurze Hilfestellung wäre ich dankbar.

                          EDIT: Ok, ich habe mich etwas mehr mit ioBroker beschäftigt. Ich muss die entsprechenden Bravia-Objekte manuell dem Cloud-Adapter hinzufügen.

                          Wen es interessiert: das Einschalten des TVs klappt bei mir ohne Probleme. Es scheint ja diesbezüglich bei einigen Probleme zu geben. Ich habe einen Bravia der XD (2016) Serie.

                          1 Reply Last reply Reply Quote 0
                          • Schuko80
                            Schuko80 last edited by

                            Der Adapter läuft soweit wirklich gut, der "indikator.connected" zeigt in meinen Augen nur, ob eine Verbindung zum TV besteht, diese ist aber auch vorhanden, wenn er im Standby ist, ansonsten wäre er über die Button nicht einschaltbar.

                            In meinen Augen wäre der Wert "TVPower" der richtige Indikator, dieser ändert sich ja auch, wenn der TV darüber geschaltet wird, allerdings bekommt er es nicht mit, wenn der TV über die Fernbedienung geschaltet wird.

                            Bei mir werden übrigens kein "True" oder "False" wie oben auf dem Bild angezeigt, sondern nur Button, ist das so gewollt. (kann man Ändern, wenn man bei dem Stift das Wort Button ändert)

                            I 1 Reply Last reply Reply Quote 0
                            • S
                              Soulforged last edited by

                              Hallo Community,

                              ich bin neu im Forum bzw. ioBroker und habe in den letzten Tagen eine ganze Menge nützlicher Informationen und Anleitungen hier im Forum gefunden. Danke für den konstruktiv freundlichen Grundton hier.

                              Da ich auch einen Bravia von 2016 in meinem System integriert habe möchte ich mich an diese Diskussion auch beteiligen.

                              Ich kann meinen KD-55X8505C mit dem Adapter wunderbar steuern. Das ist schonmal spitze und erweitert meine Möglichkeiten enorm. (Riesen Dank an ldittmar für den Adapter!)

                              Perfekt wäre nun natürlich noch in der vis auch anzuzeigen ob der TV gerade an oder aus ist.

                              Was Programmierung angeht bin ich nicht ganz unbedarft (PHP, MySQL, Java for Android, JavaScript, CoDeSys und einiges mehr) und würde mich gerne an der Erweiterung des Adapters hin zu einer Status-Rückmeldung beteiligen. Mit Adaptern selbst habe ich mich noch nicht beschäftigt und bräuchte daher einen roten Faden wie die Erweiterung am besten anzugehen ist.

                              Mein erster Gedanke war die Android App "Video & TV SideView" auszuspionieren. Wenn man in dieser App den TV das erste mal einrichtet und er ist aus, wird seine IP in der Liste angezeigt, aber es erscheint die Meldung, dass man den TV einschalten solle. Die App weiß also scheinbar, dass der TV aus ist. Und genau das würde ich gerne abgreifen.

                              Hat jemand einen Verschlag für das weitere Vorgehen? WireShark (Habe ich noch nicht mit gearbeitet)?

                              1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 last edited by

                                Hallo Soulforged und willkommen!

                                neue Entwickler sind immer Willkommen 🙂

                                Alle Adapter sind auf Github verfügbar und in JavaScript geschrieben. Den Link zur Adapter-Github Readme findest Du unter "Adapter".

                                Start um an einem bestehenden Adapter mitzuentwickeln ist es das Github Projekt zu forken. Damit hat man eine eigene Basis um zu arbeiten..

                                Für Neue Adapter gibt es die Adapter-Templates als "Blaupause", auch als Projekt auf Github.

                                Man kommt recht fix rein wenn man sich zielgerichtet die Adapter anschaut … der Teil es zum "Adapter" werden zu lassen ist alles kein Hexenwerk 🙂 Und die eigentliche "Geräteabhängige logik" kann man sich auch getrennt in JavaScript bauen und so experimentieren.

                                Einen groben Überblick gibts noch hier: http://forum.iobroker.net/viewtopic.php?f=24&t=6383

                                Ansonsten immer im Entwickler-Forum fragen.

                                Ingo

                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  @Soulforged:

                                  Hallo Community,

                                  ich bin neu im Forum bzw. ioBroker und habe in den letzten Tagen eine ganze Menge nützlicher Informationen und Anleitungen hier im Forum gefunden. Danke für den konstruktiv freundlichen Grundton hier.

                                  Da ich auch einen Bravia von 2016 in meinem System integriert habe möchte ich mich an diese Diskussion auch beteiligen.

                                  Ich kann meinen KD-55X8505C mit dem Adapter wunderbar steuern. Das ist schonmal spitze und erweitert meine Möglichkeiten enorm. (Riesen Dank an ldittmar für den Adapter!)

                                  Perfekt wäre nun natürlich noch in der vis auch anzuzeigen ob der TV gerade an oder aus ist.

                                  Was Programmierung angeht bin ich nicht ganz unbedarft (PHP, MySQL, Java for Android, JavaScript, CoDeSys und einiges mehr) und würde mich gerne an der Erweiterung des Adapters hin zu einer Status-Rückmeldung beteiligen. Mit Adaptern selbst habe ich mich noch nicht beschäftigt und bräuchte daher einen roten Faden wie die Erweiterung am besten anzugehen ist.

                                  Mein erster Gedanke war die Android App "Video & TV SideView" auszuspionieren. Wenn man in dieser App den TV das erste mal einrichtet und er ist aus, wird seine IP in der Liste angezeigt, aber es erscheint die Meldung, dass man den TV einschalten solle. Die App weiß also scheinbar, dass der TV aus ist. Und genau das würde ich gerne abgreifen.

                                  Hat jemand einen Verschlag für das weitere Vorgehen? WireShark (Habe ich noch nicht mit gearbeitet)? `
                                  Ich empfehle Wireschark (ja 🙂 ) und BlueStack https://www.bluestacks.com/de/index.html

                                  Du startest Bluestack auf deinem PC und sieht alles was App an TV sendet

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Soulforged last edited by

                                    @Bluefox:

                                    Ich empfehle Wireschark (ja 🙂 ) und BlueStack https://www.bluestacks.com/de/index.html

                                    Du startest Bluestack auf deinem PC und sieht alles was App an TV sendet `

                                    Danke, Ich habe es mit einer anderen ähnlichen App für Android gelöst.

                                    Soweit ich das sehe stellt die App über HTTP eine Anfrage zur Registrierung an den TV und dieser ANtwortet mit einem Fehler, dass der Bildschirm aus ist.

                                    Somit könnten wir den Status abfragen. Auf der anderen Seite scheint es mir etwas umständlich alle 3 Sekunden den TV anzufragen.

                                    Ich werde den Traffic zwischen App und TV weiter im Auge behalten.

                                    Mal sehen ob er TV möglicherweise beim Anschalten ein Signal an die App schickt.

                                    POST /sony/accessControl HTTP/1.1
                                    Content-Type: application/json
                                    Connection: close
                                    Content-Length: 205
                                    User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.2; Redmi Note 4 Build/NJH47F)
                                    Host: <ip des/tv="">Accept-Encoding: gzip
                                    
                                    {"method":"actRegister","params":[{"clientid":"TVSideView:xxxx","nickname":"Redmi Note 4 (Video & TV SideVie"},[{"function":"WOL","value":"no"}]],"id":20008,"version":"1.0"}HTTP/1.1 200 OK
                                    Content-Type: application/json
                                    Content-Length: 52
                                    Connection: close
                                    
                                    {"error":[40005,"Display Is Turned off"],"id":20008}</ip> 
                                    

                                    Edit: Ich habe gerade in einem Plugin für Domoticz gesehen, dass die dort einen PowerStatus abfragen über einen HTTP Request. Leider auch als polling über x Sekunden.

                                    Bevor ich weiterbastel muss ich erstmal schauen ob der TV nicht vielleicht einen Broadcast macht, wenn er an geht. Etwas positives haben diese Abfrgaen aber auch. Man kann damit auch die Info abholen was gerade auf dem TV läuft.

                                    1 Reply Last reply Reply Quote 0
                                    • Schuko80
                                      Schuko80 last edited by

                                      Evtl. kennt sich jemand mit Python aus, in Domotics gab es einen Adapter, der den Status, die Lautstärke und das Programm auslesen konnte… anbei mal der Github Link ... hatte es selber damit am laufen und das funktionierte wirklich gut.

                                      Ich selber kenne Python leider null und arbeite mich aktuell noch in Javascript ein

                                      https://github.com/gerard33/sony-bravia

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Soulforged last edited by

                                        Den Python Adapter von Domoticz habe ich mir ja angeschaut. Der fragt mittels HTTP Requests quasi bei jedem Knopfdruck einmal das ganze Gerät ab + bei jedem "Heartbeat" des Systems. Funktionieren wird es sicherlich, aber erzeugt auch eine Menge Traffic/Requests die eigentlich unnötig sind.

                                        Wenn ich Zeit finde (frühestens nächstes Wochenende) schaue ich mal, ob ich die Requests mit JavaScript nachbilden kann. Eigentlich kein Hexenwerk, da meine Yeelights ja auch über HTTP gesteuert werden. Und ich werde mal schauen, ob der TV am Nicht sowieso einen Broadcast mit seinem Status schickt. Dann bräuchte man sich nur auf den registrieren. (Soweit mein Verständnis)

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Soulforged last edited by

                                          Sooo alle zusammen. Ich habe ein Skript gebastelt, dass von unseren Bravia TVs den aktuellen Status, die aktuelle Laustärke und den aktuellen Titel auslesen kann.

                                          Ich musste mich erstmal in die Erstellung von HTTP-Requests einlesen, daher hat es etwas gedauert.

                                          Da mir das Stufenweise hoch und runterschalten der Lautstärke nicht gefallen hat, habe ich den Lautstärke Stat schreibbar gemacht. –> Einfach einen Schieberegler mit step=1 drauf und es sollte gehen.

                                          Im Skript-Kopf müsst ihr noch die IP des Gerätes, den PSK (also euren vergebenen PIN) und das gewünschte Abfrage-Intervall eingeben. Zusätzlich zur Abfrage alle x sekunden habe ich noch eine Abfrage jeweils 1 Sekunde nach dem Tastendruck aus den Tasten aus dem Adapter eingebaut. Somit bekommt man relativ schnell eine Antwort, wenn man ausschaltet.

                                          Code hier im "Spoiler" damit der Thread lesbar bleibt.

                                          ! ```
                                          `//################### Script Configuration ####################################################
                                          const bravia_ip = "192.168.1.65"; //Hier die IP des TV einsetzen.
                                          const psk = "geheim"; //Hier PSK einetzen (PIN der in TV Konfiguration gewählt wurde)
                                          const poll_intervall = 30; //Abfrageintervall für den Status in Sekunden
                                          //#############################################################################################
                                          ! const request = require('request');
                                          //const util = require('util');
                                          var message_id = 0;
                                          ! //Alle Konstanten und States erstellen, die abgefragt werden sollen
                                          const s_powerstate = 'javascript.0.Bravia.powerstate'; //An/Aus Status
                                          const s_nowplaying = 'javascript.0.Bravia.nowPlaying'; //aktueller Titel
                                          const s_volume = 'javascript.0.Bravia.actVolume'; //aktuelle Lautstärke
                                          ! createState(s_powerstate, "unknown", {type: "string", role: "State"});
                                          createState(s_nowplaying, "unknown", {type: "string", role: "State"});
                                          createState(s_volume, "unknown", {type: "string", role: "State"});
                                          ! function getTVStatus(){ //Funktion führt nacheinander alle ABfragen durch. Wirde als schedule alle x Sekunden ausgeführt.
                                          bravia('/sony/system','getPowerStatus', [], s_powerstate);
                                          bravia('/sony/audio', 'getVolumeInformation', [], s_volume);
                                          bravia('/sony/avContent', 'getPlayingContentInfo', [], s_nowplaying);
                                          }
                                          schedule("*/"+poll_intervall+" * * * *", getTVStatus);
                                          ! function bravia(tv_urlextension, tv_method, tv_params, tv_stateID){ //Funktion fragt einzelnen Stat ab
                                          //tv_urlextension = in welchem "ordner" liegt die Methode
                                          //tv_method = wie heißt die Methode (zB. getPowerStatus)
                                          //tv_params = welche Parameter müssen an die Methode übergeben werden (bei PowerStatus leer []
                                          //tv_stateID = wo soll das Ergebnis gespeichert werden

                                          if (message_id > 5000){ //fortlaufende id um Nachrichten identifizieren zu können. Läuft zwischen 5000 und 1.
                                              message_id=1;
                                          }else{
                                              message_id +=1;
                                          }
                                          
                                          request({ //TV Anfragen
                                              url: 'http://' + bravia_ip + tv_urlextension,
                                              method: "POST",
                                              json: true,
                                              headers: {
                                                 'X-Auth-PSK': psk,
                                                 'connection' : 'close'
                                              },
                                              body: { 
                                                      'method': tv_method,
                                                      'params': tv_params,
                                                      'id' : message_id,
                                                      'version' : '1.0'
                                                  } 
                                          }, function (error, response, body) {
                                                  //log(response.statusCode);
                                                  //log(util.inspect(body, false, null)); //Komplette ANtwort im Log wegen Debugging
                                                  if (!error && response.statusCode == 200) {
                                                      if (tv_stateID !== undefined) { //nur wenn State für Update angegeben, sonst handelt es sich um einen BEfehl und keine Statusabfrage
                                                          //Je nach abgefragtem Status sieht die Antwort anders aus --> Switch unterscheidet
                                                          var wert = ''; //wenn nichts gefunden wird, nehmen wir an, der TV wäre aus.
                                                          if(!body.hasOwnProperty('error')) { //Wenn ein Fehler zurück kommt, (zB TV ist aus und Lautstärke wird abgefragt) --> tue nichts
                                          
                                                              switch(tv_method){ //je nach ABfrage versteckt sich der wert an einer anderen stelle im result
                                                                  case 'getPowerStatus':
                                                                      wert = body.result[0].status;
                                                                      break;
                                                                  case 'getVolumeInformation': //Bei Volume muss nach dem key volume gesucht werden bei dem target : speaker 
                                                                      for (var i =0; i<=body.result[0].length; i++)
                                                                      {
                                                                           if (body.result[0][i].target =="speaker") {wert=body.result[0][i].volume.toString(); break;}
                                                                      }
                                                                      break;
                                                                   case 'getPlayingContentInfo': //Bei bei playing content ziehen wir uns den wert "title"
                                                                      wert = body.result[0].title;
                                                                      break;    
                                                                  default: 
                                                                      return false;
                                                              }
                                                          }
                                                          //log(tv_method+": "+wert);
                                                          setState(tv_stateID, wert, true); //State schreiben mit Ack flag --> wert aktualisiert
                                                      }
                                                  }
                                              }
                                          );
                                          

                                          }

                                          ! //Subscription auf alle Funktionen aus Adapter (=Befehle an TV). ~1 Sekunden nach Befehl an TV Status abfragen
                                          subscribe({id: /^sony-bravia.0.*/}, function (obj) {
                                          setTimeout(getTVStatus, 1000);
                                          }
                                          );
                                          ! //Lautstärke-Änderung über Schieberegler --> subscribe auf Läutstäre State. Bei Änderung Nachricht an TV mit neuer Lautstärke
                                          subscribe({id: s_volume, change: "ne"}, function (obj) {
                                          bravia('/sony/audio', 'setAudioVolume', [{"target": "speaker", "volume": obj.state.val.toString()}]);
                                          setTimeout(getTVStatus, 1000); //Sekunde später Werte lesen
                                          }
                                          );` [/i][/i]

                                          1 Reply Last reply Reply Quote 0
                                          • Schuko80
                                            Schuko80 last edited by

                                            Ich sage schon mal danke, werde es mir am Wochenende mal ansehen, aktuell bin ich leider etwas angeschlagen

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            505
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            64
                                            180
                                            31279
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo