Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Aufruf an alle Nutzer von Bose Soundtouch / Teufel Raumfeld / Sonos / …

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Aufruf an alle Nutzer von Bose Soundtouch / Teufel Raumfeld / Sonos / …

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jey Cee
      Jey Cee Developer last edited by

      @ykuendig:

      Aber, wenn ich das richtig verstehe, schreit das ja mehr nach einem 'spezial' upnp Adapter, als nach Scripten.

      Klar kann man zum testen jetzt etwas mit den Scripts arbeiten. ABER wäre das nicht einfacher für die Benutzer , wenn das ein Adapter wäre. `
      Noch einen Adapter will ich vermeiden. Ich sehe jetzt auch nicht was es verinfachen würde noch einen Adapter zu bauen der das selbe macht nur "versteckt".

      @ykuendig:

      Da kann man jedes Media Gerät in den Settings einfügen und der Adapter macht die nötigen Objekte zu Steuerung. Die Auswahl für die Geräte könnte sogar vom upnp Adapter her kommen. `
      Das ist genau mein Ziel, der Adapter soll am Ende alles von sich aus machen. Es soll nicht mal nötig sein irgendwelche Gerät eintragen zu müssen.

      Am Ende soll in den Einstellungen eine Checkbox sein, wenn die Aktiviert ist werden Automatisch für alle Geräte, auch nicht Media Geräte (FritzBox, Epson Drucker, …), entsprechende Skripte geladen, angepasst und Aktiviert.

      1 Reply Last reply Reply Quote 0
      • Y
        ykuendig last edited by

        Ja gut soweit; aber den Teil mit den Scripten verstehe ich noch nicht.

        Was können die Javascripte, was Dein Adapter nicht kann? (Vielleicht steh ich gerade auf dem Schlauch(Sind vielleicht die Medikamente(Ist aber auch egal)))

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

          @Jey Cee:

          Eventuell sogar die Skripte Automatisch dort zu Platzieren und gleich die notwendigen ID's anpassen. Damit es wirklich Plaug and Play ist. `
          Wenn du dafür nen Tip brauchst, meld dich. Ich habe das schon gemacht (ein Skript erstellt ein anderes und führt es aus).

          Stimme ykuendig aber in seinem Argument zu. Für unbedarfte Nutzer ist es einfacher, auf das [+] in der Adapterliste zu klicken und ein Gerät aus nem Dropdown auszuwählen, als im JS-Adapter Skripte zu verwalten (hier muss man auch noch den richtigen Engine-Typ auswählen etc…)

          Die Hemmschwelle, Code zu kopieren und anzupassen, wird deutlich höher sein. Dann wird hier oder da ein " vergessen und schon muss nach Hilfe geschrien werden.

          1 Reply Last reply Reply Quote 0
          • Jey Cee
            Jey Cee Developer last edited by

            @ykuendig:

            Ja gut soweit; aber den Teil mit den Scripten verstehe ich noch nicht.

            Was können die Javascripte, was Dein Adapter nicht kann? (Vielleicht steh ich gerade auf dem Schlauch(Sind vielleicht die Medikamente(Ist aber auch egal))) `
            Der Adapter stellt nur die Kommunikation bereit. Upnp ist ein relativ Komplexes Konstrukt, was es wiederum sehr Universell macht, daher auch der Name "Universal-plug-and-play". Um hier keine Verluste zu erzeugen, Bilde ich die Schnittstellen Beschreibung der Geräte in den ioBroker Objekten ab. Diese Schnittstellen Beschreibungen werden von dem jeweiligen Gerät als xml ausgeliefert, diese wiederum sind immer nach dem selben Schema aufgebaut. Für Unterschiedliche Geräte/Dienste gibt es auch Unterschiedliche Schemas die von einem Komitee festgelegt werden und allen zugänglich sind.

            Ich habe mehr als 50% der Entwicklungszeit darauf verwendet die Struktur zu verstehen und in ioBroker logik zu übersetzen.

            Die Skripte dienen nur noch zur Steuerung innerhalb von ioBroker, während die Kommunikation vom upnp Adapter übernommen wird.

            Im Grunde könnte auch auf die Skripte verzichtet werden und direkt über den upnp Adapter kommuniziert werden. Nur ist es für die meissten zu Kompliziert die Struktur zu verstehen und damit zu Arbeiten.

            Die Skripte sind Eigentlich nur eine Vereinfachung und Vereinheitlichung um dem Modularen Prinzip das ioBroker zu grunde liegt zu entsprechen.

            Es wäre auch möglich Adapter zu schreiben die die Objekte vom upnp Adapter zur Kommunikation mit dem Gerät nutzen, während der Adapter sich um die Logik kümmert und noch andere Schnittstellen, die nicht via upnp verfügbar sind, einbindet.

            @AlCalzone:

            @Jey Cee:

            Eventuell sogar die Skripte Automatisch dort zu Platzieren und gleich die notwendigen ID's anpassen. Damit es wirklich Plaug and Play ist. Wenn du dafür nen Tip brauchst, meld dich. Ich habe das schon gemacht (ein Skript erstellt ein anderes und führt es aus).
            Immer her damit. 🙂

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

              Poste ich hier, sobald ich daheim bin.

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

                @Jey Cee:

                Doch die gibt es, hab sie gerade gefunden:

                get_Objekt.PNG `

                Schicke dir gleich meinen Export. Sind immerhin 2,4MB json File.

                Du bekommst eine PN.

                1 Reply Last reply Reply Quote 0
                • Y
                  ykuendig last edited by

                  So langsam wächst das Fleisch am Knochen.

                  Wie wäre denn - nur mal lose als Idee - wenn der upnp (oder ein Partner-) Adapter die 'einfache' Gerätestruktur einfach als Objekte(gruppe) erstellt und pollt und mit den Geräten kommuniziert. Für jedes per Dropdown ausgewählte Gerät wird ein Objekt-Gerät aufgebaut. Neben oder ohne den Monster-Baum vom upnp.

                  Dann kann ein jeder von vis oder manuell oder - wer mag - auch mit Scripten draufhauen, nach gutdünken.

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

                    @Jey Cee:

                    Immer her damit. 🙂 `

                    Bittesehr:

                     `for (var i = 0; i < scripts.length; i++) {
                    		script = scripts[i];
                    
                    		bData = b64.toByteArray(script.data);
                    		buffer = new Buffer(bData);
                    
                    		obj = getObject("script.js." + script.name);
                    		obj.common.source = buffer.toString();
                    		setObject("script.js." + script.name, obj)
                    	}` 
                    
                    scripts ist bei mir ein Array von Objekten dieser Form:
                    `~~[code]~~{
                    	name: "ScriptName",
                    	data: "<base64 encoded/string="">"
                    }
                    [/code]</base64>`
                    
                    Essentiell sind die letzten 3 Zeilen, wo dein Code (source) herkommt ist eigentlich wurst.[/i]
                    
                    1 Reply Last reply Reply Quote 0
                    • H
                      Hosifox last edited by

                      Habe Bose im ganzen Haus verteilt. Steuer diese über Mediola zur Zeit. Über CCU geht es auch. Bin leider zur Programmierung nicht zu gebrauchen, nur copy and past aus dem Netz. Braucht ihr die ganzen Steuerbefehle?? Wie kann ich euch trozdem helfen, ein funktionierender Adapter für meine Bose wäre toll, bzw. halt einer für viele Syteme.

                      1 Reply Last reply Reply Quote 0
                      • htrecksler
                        htrecksler Forum Testing last edited by

                        für die Bose Soundtouch nutze ich derzeit dieses Script zum Einstellen der Lautstärke und des Preset.

                        Vielleicht hilft es…

                        createState('Bose.Volume', 10);
                        createState('Bose.Preset_1', {type: 'boolean'});
                        createState('Bose.Preset_2', {type: 'boolean'});
                        createState('Bose.Preset_3', {type: 'boolean'});
                        
                        function PresetSetzen(pWert) {
                            var BodyString = '<key state="release" sender="Gabbo">' + pWert + '</key>';
                            var request = require('request');
                            request.post({
                                url:     'http://192.168.xxx.xx:8090/key',
                                //body:    '<volume>20</volume>'
                                body:    BodyString
                            }, function(error, response, body) {
                                if (error) log(error, 'error');
                            });
                        }
                        
                        function VolumeSetzen(pWert) {
                            var BodyString = '<volume>' + pWert + '</volume>';
                            var request = require('request');
                            request.post({
                                url:     'http://192.168.xxx.xx:8090/volume',
                                //body:    '<volume>20</volume>'
                                body:    BodyString
                            }, function(error, response, body) {
                                if (error) log(error, 'error');
                            });
                        }
                        
                        on ({id: "javascript.0.Bose.Volume", change: "ne"}, function () {
                            lVolume = getState("javascript.0.Bose.Volume");
                            VolumeSetzen(lVolume.val);
                        });
                        
                        on ({id: "javascript.0.Bose.Preset_1", val: true}, function () {
                            PresetSetzen('PRESET_1');
                            setState("javascript.0.Bose.Preset_1", false);
                        });
                        
                        on ({id: "javascript.0.Bose.Preset_2", val: true}, function () {
                            PresetSetzen('PRESET_2');
                            setState("javascript.0.Bose.Preset_2", false);
                        });
                        
                        on ({id: "javascript.0.Bose.Preset_3", val: true}, function () {
                            PresetSetzen('PRESET_3');
                            setState("javascript.0.Bose.Preset_3", false);
                        });
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • Jey Cee
                          Jey Cee Developer last edited by

                          @Hosifox:

                          Habe Bose im ganzen Haus verteilt. Steuer diese über Mediola zur Zeit. Über CCU geht es auch. Bin leider zur Programmierung nicht zu gebrauchen, nur copy and past aus dem Netz. Braucht ihr die ganzen Steuerbefehle?? Wie kann ich euch trozdem helfen, ein funktionierender Adapter für meine Bose wäre toll, bzw. halt einer für viele Syteme. `

                          Du kannst den upnp Adapter installieren und dann den Objektbaum vom upnp Adapter Exportieren und mir per email zu schicken.

                          Hier siehst du wo der Button für das Exportieren ist: http://forum.iobroker.net/viewtopic.php?p=58107#p58107

                          Meine email ist jey-cee@live.com

                          1 Reply Last reply Reply Quote 0
                          • Y
                            ykuendig last edited by

                            @Jsy-cee ich hab hier 'nur' Sonos und ev. ne xbox (wenn wir die mal wieder anschmeissen). Sonos-Export wirst Du wohl kaum brauchen, oder doch?

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators last edited by

                              @ykuendig:

                              @Jsy-cee ich hier 'nur' Soios und dv ne xbox (wenn wir die mal wieder anschmeissen). Sonos-Export wurst Du wohl kaum brauchen, oder doch? `
                              Was nimmst du ein - und wo gibt es das :mrgreen:

                              Gruß

                              Rainer

                              1 Reply Last reply Reply Quote 0
                              • Y
                                ykuendig last edited by

                                @Homoran:

                                @ykuendig:

                                @Jsy-cee ich hier 'nur' Soios und dv ne xbox (wenn wir die mal wieder anschmeissen). Sonos-Export wurst Du wohl kaum brauchen, oder doch? Was nimmst du ein - und wo gibt es das :mrgreen: Du schläfst wohl nie?

                                Wie ich am korrigieren bin, hast Dus schon gelesen.. ich werd irre.

                                – im nächsten Leben werd ich Erfinder, und erfind den Computerfuzzis ordentliche Tastaturen für die Tablets --

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  @ykuendig:

                                  Du schläfst wohl nie? `
                                  Doch gleich - aber ich wohne doch hier! 😢

                                  @ykuendig:

                                  und erfind den Computerfuzzis ordentliche Tastaturen für die Tablets `
                                  Bitte nicht erst im nächsten Leben!

                                  Gruß

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • Y
                                    ykuendig last edited by

                                    Wird eher nichts. Aber Du / Ihr da drüben könnt ja den Sch…(Text) diktieren. Mit oder ohne Alexa. Das mach ich wohl auch erst im nächsten Leben...

                                    1 Reply Last reply Reply Quote 0
                                    • Jey Cee
                                      Jey Cee Developer last edited by

                                      @ykuendig:

                                      @Jsy-cee ich hab hier 'nur' Sonos und ev. ne xbox (wenn wir die mal wieder anschmeissen). Sonos-Export wirst Du wohl kaum brauchen, oder doch? `

                                      Sonos hab ich bereits. Xbox hab ich die One, also evtl. wäre die 360 nicht schlecht.

                                      Hier jetzt mal zur Allgemeinen Verwirrung ein Erklärungsversuch des Schemas:

                                      Schema für „Set“ Befehle anhand von Play:

                                      Hiermit wird das Objekt Play erstellt, es wird einfach auf „true“ gesetzt um den Befehl Play zu senden.

                                      createState(control + '.MediaControl.Play', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.play'});
                                      

                                      Die Funktion die den Befehl Play sendet:

                                       on({id: control + ' .MediaControl.Play', val: true
                                          }, function(obj){
                                              //Wiedergabe starten
                                              setState(device +  '.MediaRenderer.AVTransport.Play.InstanceID', getInstanceID());
                                              setState(device +  '.MediaRenderer.AVTransport.Play.Speed', 1);
                                              setState(device + '.MediaRenderer.AVTransport.Play', 'send');
                                              setState(control + '.MediaControl.Play', false);
                                          });
                                      

                                      control bei id ist eine Variable die den Pfad zum Übergeordneten Objekt zum oben, mit createState, erstellten Objekt darstellt, wobei „+ .MediaControl.Play“ den Pfad vervollständigt.

                                      device ist wieder eine Variable die stellt den Pfad zum Gerät im upnp Objekt Baum dar.

                                      InstanceID ist ein Argument das an das Gerät gesendet wird, es ist in den meisten fällen „0“. Damit immer die Aktuelle instanceID genutzt wird, hab ich eine Funktion erstellt die man einfach mit in das Script packt und das war’s.

                                      speed ist ebenfalls ein Argument das an das Gerät gesendet wird, das ist im Normal fall „1“.

                                      send löst dann das Senden des Befehls mit all seinen Argumenten aus. Deshalb muss er auch als letztes gesetzt werden.

                                      Zuletzt false es setzt nur das control Objekt zurück.

                                      Hier noch die Funktion getInstanceID():

                                       function getInstanceID(){
                                          var IID = getState(device + '.MediaRenderer.AVTransport.A_ARG_TYPE_InstanceID').val;
                                          return(IID);
                                      }
                                      

                                      Hier noch ein Schema in Bild form um euch Endgültig zu verwirren 😉
                                      282_verwirrung_pur.png

                                      1 Reply Last reply Reply Quote 0
                                      • Y
                                        ykuendig last edited by

                                        Heute ist mir das zu spät. Aber vielleicht komm ich morgen mal in den Keller. Da sollte noch eine 360 rumstehen.Eine PS1 auch, hat aber kaum upnp 😉

                                        1 Reply Last reply Reply Quote 0
                                        • Jey Cee
                                          Jey Cee Developer last edited by

                                          @ykuendig:

                                          Heute ist mir das zu spät. Aber vielleicht komm ich morgen mal in den Keller. Da sollte noch eine 360 rumstehen.Eine PS1 auch, hat aber kaum ipnp 😉 `
                                          Hat die PS1 überhaupt schon einen Netzwerkanschluss? :lol:

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Hosifox last edited by

                                            @Jey Cee:

                                            @Hosifox:

                                            Habe Bose im ganzen Haus verteilt. Steuer diese über Mediola zur Zeit. Über CCU geht es auch. Bin leider zur Programmierung nicht zu gebrauchen, nur copy and past aus dem Netz. Braucht ihr die ganzen Steuerbefehle?? Wie kann ich euch trozdem helfen, ein funktionierender Adapter für meine Bose wäre toll, bzw. halt einer für viele Syteme. `

                                            Du kannst den upnp Adapter installieren und dann den Objektbaum vom upnp Adapter Exportieren und mir per email zu schicken.

                                            Hier siehst du wo der Button für das Exportieren ist: http://forum.iobroker.net/viewtopic.php?p=58107#p58107

                                            Meine email ist jey-cee@live.com `

                                            Der Adapter findet alles, Qnap Nas, Sky Reciever, Sony TV neuste Generation, aber keine Bose Lautsprecher 😞

                                            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

                                            838
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            43
                                            6550
                                            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