Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

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

      Hi Leute,

      ich möchte gerne meine Sonos Komponenten mit iQontrol steuern.
      Ich verwende die sonos http api als Kommunikation zwischen iobroker und Sonos.

      Da gibt es z.B. folgende Befehle:

      http://192.168.30.90:5005/EZKUGAWC/pause
      http://192.168.30.90:5005/EZKUGAWC/next
      http://192.168.30.90:5005/EZKUGAWC/previous
      http://192.168.30.90:5005/EZKUGAWC/volume/15
      http://192.168.30.90:5005/EZKUGAWC/volume/+1
      http://192.168.30.90:5005/EZKUGAWC/play
      http://192.168.30.90:5005/EZKUGAWC/playpause
      http://192.168.30.90:5005/EZKUGAWC/mute
      http://192.168.30.90:5005/EZKUGAWC/unmute

      usw.

      Wenn ich diese Befehle in die entsprechenden Felder des MediaPlayer Geräts eingebe, dann funktioniert das leider nicht.
      50f27b50-62cf-40ff-994f-6311e641d795-image.png
      Hat jemand eine Idee wo der Fehler liegt, oder wie ich diese Befehle in iQontrol reinbekomme um zu steuern ?

      Beste Grüße

      s.bormann 1 Reply Last reply Reply Quote 0
      • s.bormann
        s.bormann Most Active @Qlink last edited by

        @qlink sagte in Test Adapter iQontrol 1.5.x:

        Hi Leute,

        ich möchte gerne meine Sonos Komponenten mit iQontrol steuern.
        Ich verwende die sonos http api als Kommunikation zwischen iobroker und Sonos.

        Da gibt es z.B. folgende Befehle:

        http://192.168.30.90:5005/EZKUGAWC/pause
        http://192.168.30.90:5005/EZKUGAWC/next
        http://192.168.30.90:5005/EZKUGAWC/previous
        http://192.168.30.90:5005/EZKUGAWC/volume/15
        http://192.168.30.90:5005/EZKUGAWC/volume/+1
        http://192.168.30.90:5005/EZKUGAWC/play
        http://192.168.30.90:5005/EZKUGAWC/playpause
        http://192.168.30.90:5005/EZKUGAWC/mute
        http://192.168.30.90:5005/EZKUGAWC/unmute

        usw.

        Wenn ich diese Befehle in die entsprechenden Felder des MediaPlayer Geräts eingebe, dann funktioniert das leider nicht.
        50f27b50-62cf-40ff-994f-6311e641d795-image.png
        Hat jemand eine Idee wo der Fehler liegt, oder wie ich diese Befehle in iQontrol reinbekomme um zu steuern ?

        Beste Grüße

        Hi,
        direkte http-Befehle kann iQontrol nicht absetzen. Gibt es nicht einen Sonos-Adapter, der die Kommunikation mit ioBroker herstellt? Alternativ müsste man Datenpunkte erstellen, die dann über ein Blockly die gewünschten Befehle absetzt - ist aber viel Aufwand, wenn es mehrere Sonos werden...

        Q 1 Reply Last reply Reply Quote 0
        • Q
          Qlink @s.bormann last edited by

          @s-bormann

          Ah okay, danke für die Info.
          Schade aber kann man nix machen...

          Ja es gibt einen Sonos Adapter, aber der hat mir in den letzten Jahren zuviel Nerven und Lebenszeit gekostet.
          Eventuell hat sich der ja zwischenzeitlich schon gebessert/stabilisiert, aber ich möchte da nix mehr riskieren... verbrannte Erde und so 😉

          Die sonos http api funktioniert seit Anfang an 100% zuverlässig und stabil, da verzichte ich dann lieber auf die Steuerungsmöglichkeit per iQontrol und nutze für manuelle Steuerung wie bisher auch die Sonos Android App...

          Beste Grüße

          1 Reply Last reply Reply Quote 0
          • N
            Nicky_86 @da_Woody last edited by

            @da_woody 1111.JPG
            So sieht es bei mir gerade aus

            1 Reply Last reply Reply Quote 0
            • K
              Kueppert @dslraser last edited by Kueppert

              GELÖST: Javaskript-Instanz einmal durchstarten 🙂

              @dslraser komisch, ich erhalte immer den gleichen Fehler, wenn ich das Blockly laufen lasse (das mit der Instanz-Nummer). Ich habe den Adapter garnicht mehr installiert. Unter Objekte (Experten-Ansicht) ist der auch nicht mehr O.o

              javascript.0	2021-01-20 20:41:17.423	error	(8552) at main (script.js.common.Sonstiges.Adapter-Status:388:5)
              javascript.0	2021-01-20 20:41:17.422	error	(8552) at checkAdapters (script.js.common.Sonstiges.Adapter-Status:291:88)
              javascript.0	2021-01-20 20:41:17.422	error	(8552) at subsequenceFromStartLast (script.js.common.Sonstiges.Adapter-Status:230:22)
              javascript.0	2021-01-20 20:41:17.422	error	(8552) script.js.common.Sonstiges.Adapter-Status: TypeError: Cannot read property 'length' of null
              javascript.0	2021-01-20 20:41:17.421	error	(8552) script.js.common.Sonstiges.Adapter-Status: Cannot get _id of null
              javascript.0	2021-01-20 20:41:17.420	warn	(8552) Object "system.adapter.calendar.0" does not exist
              javascript.0	2021-01-20 20:41:17.420	error	(8552) script.js.common.Sonstiges.Adapter-Status: Cannot get common of null
              javascript.0	2021-01-20 20:41:17.419	warn	(8552) Object "system.adapter.calendar.0" does not exist
              
              1 Reply Last reply Reply Quote 1
              • B
                blackeagle998 last edited by blackeagle998

                @Qlink
                Ich nutze ebenfalls die Sonos HTTP API.
                Lege dir eigene Datenpunkte für die Steuerung an (Logikwert, Rolle = switch), als Beispiele:

                0_userdata.0.sonos.play
                0_userdata.0.sonos.pause
                

                Danach legst du dir ein Skript an und kopierst da folgendes hinein:

                on({id:'0_userdata.0.sonos.play', change:'ne', val:true} , function (dp) {
                   controlSonos('play');
                   setState(dp.id, false);
                });
                
                on({id:'0_userdata.0.sonos.pause', change:'ne', val:true} , function (dp) {
                   controlSonos('pause');
                   setState(dp.id, false);
                });
                
                function controlSonos(control_value){
                	try {
                		require("request")((['http://192.168.30.90:5005/EZKUGAWC/' + control_value].join(''))).on("error", function (e) {console.error(e);});
                	} catch (e) {
                		log('Fehler bei Sonos HTTP API Steuerung: ' + e, 'warn');
                	}
                }
                

                Die Funktion controlSonos kannst du dann mit beliebigen Befehlen aufrufen.
                Im iQontrol packst du beim Mediaplayer deine selbst erstellten Datenpunkte rein und steuerst diese mit true.

                Probier mal 🙂

                Q 1 Reply Last reply Reply Quote 0
                • da_Woody
                  da_Woody @dslraser last edited by

                  @dslraser said in Test Adapter iQontrol 1.5.x:

                  @da_woody sagte in Test Adapter iQontrol 1.5.x:

                  gibts da eine lösung um auch die instanz nummer mit anzuzeigen? so bringt mir das nicht wirklich was...

                  Ich habe es zum "testen" bei mir mal umgebaut...(kann ich später zur Verfügung stellen, wenn denn alles weiter funktioniert. Ich schaue es mir aber noch ein Weilchen an)

                  Screenshot_20210120-153545_Chrome.jpg

                  Edit: @da_Woody
                  ich habe die Testversion hier mit reingelegt
                  https://forum.iobroker.net/post/562307

                  spinn ich, oder hab ich einen knick im hirn?
                  2571e993-f441-49e6-a8c3-4a2871901cef-grafik.png
                  steht da. gut.
                  f19676c8-2be0-49e9-8f39-88e31d59f1fa-grafik.png
                  52306ffa-d20a-4ea0-a8e8-5f99e7351ab0-grafik.png
                  keine instanznummer. chrome, firefox, handy

                  dslraser 1 Reply Last reply Reply Quote 0
                  • dslraser
                    dslraser Forum Testing Most Active @da_Woody last edited by dslraser

                    @da_woody
                    hattest Du mal alle Datenpunkte gelöscht, oder mal einen Adapter aus und wieder angeschaltet ?
                    Du könntest auch mal in der Funktion Datenpunkte_anlegen dieses false auf true setzen, dann werden alle schon bestehenden Datenpunkte überschrieben.

                    Screenshot_20210120-211008_Chrome.jpg

                    Edit: angelegt in javascript.x oder unter 0_userdata.0 ?

                    da_Woody 1 Reply Last reply Reply Quote 0
                    • da_Woody
                      da_Woody @dslraser last edited by da_Woody

                      @dslraser steht ja richtig drinnen in dem DP! siehe 1. pic von mir...
                      oder hier
                      1490b1ef-679f-4952-8844-6216d95b118a-grafik.png
                      edith:
                      676dc540-5291-4e2b-84bb-d553370d1a56-grafik.png

                      dslraser 2 Replies Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active @da_Woody last edited by

                        @da_woody
                        welche html Liste hast Du eigentlich in iQontrol verlinkt ?

                        PS:Starte mal JS-Adapter / iQontrol Adapter einmal neu

                        da_Woody 1 Reply Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @da_Woody last edited by dslraser

                          @da_woody
                          in deinem edit Foto ist 0_userdata.0 zu sehen und in Deinem iQontrol Screeshot hast Du javascript.0 verlinkt

                          1 Reply Last reply Reply Quote 0
                          • da_Woody
                            da_Woody @dslraser last edited by

                            @dslraser oh, mann! danke.gif pc.gif

                            dslraser 1 Reply Last reply Reply Quote 0
                            • dslraser
                              dslraser Forum Testing Most Active @da_Woody last edited by

                              @da_woody
                              also geht es ?

                              da_Woody 1 Reply Last reply Reply Quote 0
                              • da_Woody
                                da_Woody @dslraser last edited by

                                @dslraser jup. durchs neue blockly hat er die jetzt unter 0_userdata.0, waren aber noch unter javascript.0 drinnen. darum, plint, nicht aufgefallen...6743ea84-5418-4c3a-89be-81b0652b8d2f-grafik.png friede.gif

                                1 Reply Last reply Reply Quote 0
                                • Q
                                  Qlink @blackeagle998 last edited by

                                  @blackeagle998

                                  Danke für die Info. Leider kann ich mit javascript wenig anfangen.

                                  Verstehe ich es richtig, dass ich für alle meine Sonos Player (insgesamt 7), jeweils das von dir gepostet Script benötigen würde und auch jeweils die Steuerungsdatenpunkte ?

                                  Also 7x das Script und 7x die Steuerungsdatenpunkte ?

                                  B s.bormann 2 Replies Last reply Reply Quote 0
                                  • H
                                    Hc-Yami last edited by

                                    Irgendwie bin ich zu dumm um die URL Parameter zu verstehen.
                                    Ich würde gerne meine Ansicht "Arbeitszimmer" als Standardseite im Firefox hinterlegen:

                                    http://192.168.178.3:8082/iqontrol/index.html?renderView=iqontrol.1.Views.Arbeitszimmer

                                    Was ist daran falsch? 😕

                                    Grüße

                                    s.bormann 1 Reply Last reply Reply Quote 0
                                    • s.bormann
                                      s.bormann Most Active @Hc-Yami last edited by

                                      @hc-yami sagte in Test Adapter iQontrol 1.5.x:

                                      Irgendwie bin ich zu dumm um die URL Parameter zu verstehen.
                                      Ich würde gerne meine Ansicht "Arbeitszimmer" als Standardseite im Firefox hinterlegen:

                                      http://192.168.178.3:8082/iqontrol/index.html?renderView=iqontrol.1.Views.Arbeitszimmer

                                      Was ist daran falsch? 😕

                                      Grüße

                                      Sollte gehen. Stimmt die Instanz-Nummer (1)? Vielleicht müsste hier die 0 stehen?

                                      H 1 Reply Last reply Reply Quote 1
                                      • B
                                        blackeagle998 @Qlink last edited by blackeagle998

                                        @qlink
                                        Frage 1: Würde dir ein Blockly Skript mehr weiterhelfen?
                                        Frage 2: Meinst du mit Sonos Player, dass du 7 Sonos Lautsprecher hast und EZKUGAWC ist eine ID davon, die anderen haben eine andere? Oder hast du einen Lautsprecher und 7 verschiedene Mediaplayer Kacheln?

                                        Zu deinen Fragen (bezogen darauf, dass du 7 Sonos Lautsprecher mit verschiedenen IDs hast):

                                        1. die Datenpunkte bräuchtest du dann pro Instanz, korrekt. Als Beispiel (BBBBBBBB wäre hier der zweite Lautsprecher):
                                        0_userdata.0.sonos.EZKUGAWC.play
                                        0_userdata.0.sonos.EZKUGAWC.pause
                                        
                                        0_userdata.0.sonos.BBBBBBBB.play
                                        0_userdata.0.sonos.BBBBBBBB.pause
                                        
                                        1. Die Trigger bräuchtest du dann natürlich für alle Datenpunkte:
                                        on({id:'0_userdata.0.sonos.EZKUGAWC.play', change:'ne', val:true} , function (dp) {
                                           controlSonos('EZKUGAWC', 'play');
                                           setState(dp.id, false);
                                        });
                                         
                                        on({id:'0_userdata.0.sonos.EZKUGAWC.pause', change:'ne', val:true} , function (dp) {
                                           controlSonos('EZKUGAWC', 'pause');
                                           setState(dp.id, false);
                                        });
                                        
                                        on({id:'0_userdata.0.sonos.BBBBBBBB.play', change:'ne', val:true} , function (dp) {
                                           controlSonos('BBBBBBBB', 'play');
                                           setState(dp.id, false);
                                        });
                                         
                                        on({id:'0_userdata.0.sonos.BBBBBBBB.pause', change:'ne', val:true} , function (dp) {
                                           controlSonos('BBBBBBBB', 'pause');
                                           setState(dp.id, false);
                                        });
                                        
                                        1. Die Funktion reicht einmal, solange man ihr als zusätzlichen Parameter die ID mit übergibt:
                                        function controlSonos(control_id, control_value){
                                        	try {
                                        		require("request")((['http://192.168.30.90:5005/' + control_id + '/' + control_value].join(''))).on("error", function (e) {console.error(e);});
                                        	} catch (e) {
                                        		log('Fehler bei Sonos HTTP API Steuerung: ' + e, 'warn');
                                        	}
                                        }
                                        

                                        Bei den Triggern siehst du den Aufruf der Funktion controlSonos mit zwei Parametern:
                                        controlSonos('BBBBBBBB', 'play');
                                        Die ID wäre dann für jeden Lautsprecher beim Datenpunkt und beim Aufruf der Funktion anzupassen.

                                        Wie gesagt, alles unter der Annahme, dass du 7 Lautsprecher hast.
                                        Wenn dir Blockly mehr zusagt, können wir auch gerne schauen, dass da zu realisieren.

                                        Q 1 Reply Last reply Reply Quote 0
                                        • s.bormann
                                          s.bormann Most Active @Qlink last edited by

                                          @qlink sagte in Test Adapter iQontrol 1.5.x:

                                          @blackeagle998

                                          Danke für die Info. Leider kann ich mit javascript wenig anfangen.

                                          Verstehe ich es richtig, dass ich für alle meine Sonos Player (insgesamt 7), jeweils das von dir gepostet Script benötigen würde und auch jeweils die Steuerungsdatenpunkte ?

                                          Also 7x das Script und 7x die Steuerungsdatenpunkte ?

                                          Ja, stimmt. Man könnte das Script aber so abwandeln, dass es die Datenpunkte selbst erstellt - bleibt aber ein wenig Handarbeit.

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Hc-Yami @s.bormann last edited by

                                            @s-bormann das wars. Danke dir! 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            5808135
                                            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