Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Sonos-HTTP-API Installation für Newbies, Dummies und mich

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Sonos-HTTP-API Installation für Newbies, Dummies und mich

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
sonos
438 Beiträge 50 Kommentatoren 116.7k Aufrufe 48 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S skokarl

    @rehmosch
    Kann dass sein, dass Du vom Sonos Adapter redest ? zumindest teilweise ?

    Ich nutze den gar nicht mehr weil er nicht 100% funktioniert.

    R Offline
    R Offline
    rehmosch
    schrieb am zuletzt editiert von rehmosch
    #343

    Ja, ich benutze den Sonos Adapter und jetzt wird mir so einiges klar :) Warum state (pause, play, stop) spinnen und das Cover nicht angezeigt wird.

    Wie kommst du an das Sonos Cover ran? In der Sonos Api finde ich nichts ;(

    @skokarl said in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

    @rehmosch
    Kann dass sein, dass Du vom Sonos Adapter redest ? zumindest teilweise ?

    Ich nutze den gar nicht mehr weil er nicht 100% funktioniert.

    RP4/Conbee II/Pihilips Hue/HarmonyHub/Sonos/Alexa/Aqara Sensoren/Tradfri/ZigbeeThermostate/Xiaomi Saugroboter/Smarte Türklingel & Briefkasten ...

    S 1 Antwort Letzte Antwort
    0
    • R rehmosch

      hey, @skokarl

      wie hast du das abspielen deiner Spotify Playlisten (an Sonos) in deiner VIS denn umgesetzt?
      Drop Down Menü, sowie im Spotify Player?
      Per Button?

      Ich weiß nicht wie ich es machen soll und suche Ideen. Würdest du einen Screenshot teilen?

      Danke

      S Offline
      S Offline
      skokarl
      schrieb am zuletzt editiert von
      #344

      @rehmosch

      Auswahl über Button, neue VIS Seite.....gewählte Playlist kriegt roten Rahmen,
      Playlist wird in Userdata gespeichert ...

      1.jpg

      2.jpg

      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

      1 Antwort Letzte Antwort
      1
      • R rehmosch

        Ja, ich benutze den Sonos Adapter und jetzt wird mir so einiges klar :) Warum state (pause, play, stop) spinnen und das Cover nicht angezeigt wird.

        Wie kommst du an das Sonos Cover ran? In der Sonos Api finde ich nichts ;(

        @skokarl said in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

        @rehmosch
        Kann dass sein, dass Du vom Sonos Adapter redest ? zumindest teilweise ?

        Ich nutze den gar nicht mehr weil er nicht 100% funktioniert.

        S Offline
        S Offline
        skokarl
        schrieb am zuletzt editiert von skokarl
        #345

        @rehmosch

        das Cover hole ich mir über den Sonos State ....

        setState("0_userdata.0.Sonos.absoluteAlbumArtUri", tablet.currentTrack.absoluteAlbumArtUri);
        
        
        
        
        
        on({id: '0_userdata.0.Sonos.state', change: "ne"}, function (obj) {
        
          var value = obj.state.val;
          var oldValue = obj.oldState.val;  
          
          if (getState("0_userdata.0.Sonos.state").val == true) 
        
           {
        
         
              var tablet;
              var kueche;
              var wohnl;
              var wohnr; 
               
                var test;
        
            try {
        
                  require("request")('http://192.168.178.56:5005/tablet/state/', function (error, response, result) 
        
                  {
        
        			  tablet =  JSON.parse(result);
                      
        			  setState("0_userdata.0.Sonos.lautstaerke_tablet", tablet.volume); 
                      setState("0_userdata.0.Sonos.stationName", tablet.currentTrack.stationName);
                      setState("0_userdata.0.Sonos.artist", tablet.currentTrack.artist);
                      setState("0_userdata.0.Sonos.title", tablet.currentTrack.title);
                      setState("0_userdata.0.Sonos.absoluteAlbumArtUri", tablet.currentTrack.absoluteAlbumArtUri);
                      
        
              }).on("error", function (e) {console.error(e);});
        
            } catch (e) { console.error(e); }
         
          /*
           try {
        
                  require("request")('http://192.168.178.56:5005/kueche/state/', function (error, response, result) 
        
                  {
        
        			  kueche =  JSON.parse(result);
        
        			                setState("0_userdata.0.Sonos.lautstaerke_kueche", kueche.volume);
                                    
        
              }).on("error", function (e) {console.error(e);});
        
            } catch (e) { console.error(e); }
         
             
             
             try {
        
                  require("request")('http://192.168.178.56:5005/wohnl/state/', function (error, response, result) 
        
                  {
        
        			  wohnl =  JSON.parse(result);
        
        			                setState("0_userdata.0.Sonos.lautstaerke_wohnl", wohnl.volume);
                                    
        
              }).on("error", function (e) {console.error(e);});
        
            } catch (e) { console.error(e); }
          
             
             try {
        
                  require("request")('http://192.168.178.56:5005/wohnr/state/', function (error, response, result) 
        
                  {
        
        			  wohnr =  JSON.parse(result);
        
        			                setState("0_userdata.0.Sonos.lautstaerke_wohnr", wohnr.volume);
                                    
        
              }).on("error", function (e) {console.error(e);});
        
            } catch (e) { console.error(e); }
          
             */
                 
             setState("0_userdata.0.Sonos.state", false);             
        
           }
        
          
        });
        
        

        frag mich jetzt nicht .....ist soooolange her :-)

        probier einfach mal die State Funktion

        IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

        1 Antwort Letzte Antwort
        1
        • R Offline
          R Offline
          rehmosch
          schrieb am zuletzt editiert von rehmosch
          #346

          @skokarl @skokarl hey,

          seit ich deinen Code absetze:
          http://192.168.1.253:5005/BÜRO/spotify/now/spotify:playlist:03QzL5uRB48iVZhSg3EGH1

          erhalte ich diese Fehlermeldung von der Sonos Api

          {"status":"error","error":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error: Got status 500 when invoking /MediaRenderer/AVTransport/Control\n    at Object.invoke (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:99:10)\n    at Player.trackSeek (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/models/Player.js:552:15)\n    at /home/pi/node-sonos-http-api-master/lib/actions/spotify.js:38:56\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)"}
          

          und diese errors im spotify adapter debug log:

          potify-premium.0	2021-01-29 17:19:51.793	error	(8567) erron in request: 403
          spotify-premium.0	2021-01-29 17:19:51.792	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
          spotify-premium.0	2021-01-29 17:19:51.792	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
          spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
          spotify-premium.0	2021-01-29 17:19:51.792	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
          spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:262:38
          spotify-premium.0	2021-01-29 17:19:51.792	warn	(8567) Error
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1580:20
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffleOn (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1837:12)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffle (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1820:12)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	at sendRequest (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:154:21)
          spotify-premium.0	2021-01-29 17:19:51.791	warn	(8567) Error
          spotify-premium.0	2021-01-29 17:19:51.790	warn	(8567) http request error not handled, please debug
          spotify-premium.0	2021-01-29 17:19:51.631	error	(8567) erron in request: 403
          

          Dann funktioniert bei mir der Spotify Player nicht mehr (keine Reaktion auf play, pause, ...) aber nur wenn von Spotify auf Sonos gespielt wird. Der Player in der VIS geht dann wieder, wenn andere Geräte außer Sonos gespielt werden.

          Komisch ;(

          RP4/Conbee II/Pihilips Hue/HarmonyHub/Sonos/Alexa/Aqara Sensoren/Tradfri/ZigbeeThermostate/Xiaomi Saugroboter/Smarte Türklingel & Briefkasten ...

          S 1 Antwort Letzte Antwort
          0
          • R rehmosch

            @skokarl @skokarl hey,

            seit ich deinen Code absetze:
            http://192.168.1.253:5005/BÜRO/spotify/now/spotify:playlist:03QzL5uRB48iVZhSg3EGH1

            erhalte ich diese Fehlermeldung von der Sonos Api

            {"status":"error","error":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error: Got status 500 when invoking /MediaRenderer/AVTransport/Control\n    at Object.invoke (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:99:10)\n    at Player.trackSeek (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/models/Player.js:552:15)\n    at /home/pi/node-sonos-http-api-master/lib/actions/spotify.js:38:56\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)"}
            

            und diese errors im spotify adapter debug log:

            potify-premium.0	2021-01-29 17:19:51.793	error	(8567) erron in request: 403
            spotify-premium.0	2021-01-29 17:19:51.792	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
            spotify-premium.0	2021-01-29 17:19:51.792	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
            spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
            spotify-premium.0	2021-01-29 17:19:51.792	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
            spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:262:38
            spotify-premium.0	2021-01-29 17:19:51.792	warn	(8567) Error
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1580:20
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffleOn (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1837:12)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffle (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1820:12)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	at sendRequest (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:154:21)
            spotify-premium.0	2021-01-29 17:19:51.791	warn	(8567) Error
            spotify-premium.0	2021-01-29 17:19:51.790	warn	(8567) http request error not handled, please debug
            spotify-premium.0	2021-01-29 17:19:51.631	error	(8567) erron in request: 403
            

            Dann funktioniert bei mir der Spotify Player nicht mehr (keine Reaktion auf play, pause, ...) aber nur wenn von Spotify auf Sonos gespielt wird. Der Player in der VIS geht dann wieder, wenn andere Geräte außer Sonos gespielt werden.

            Komisch ;(

            S Offline
            S Offline
            skokarl
            schrieb am zuletzt editiert von skokarl
            #347

            @rehmosch
            moin,
            1.) vermutlich nix schlimmes, aber ich nutze nie umlaute ( büro = buero )

            2.) wofür brauchst du den Spotify Adapter, nehme ich nicht, den Spotify Account habe ich in der Sonos App, kann Dir
            also nix zu den Fehler sagen

            3.) und zu dem Got status 500 when invoking /MediaRenderer/AVTransport/Control
            google bitte mal, ist ein Fehler in der Sonos API, ist bekannt, und es gibt auch workaround's dazu
            da kommt irgendwas durcheinander, ich meine hätte was mit den Ausgängen zu tun, hatte ich auch schon

            Ich kann hier gerade keinen Link mehr einstellen, forbidden ??

            IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

            R 1 Antwort Letzte Antwort
            0
            • S skokarl

              @rehmosch
              moin,
              1.) vermutlich nix schlimmes, aber ich nutze nie umlaute ( büro = buero )

              2.) wofür brauchst du den Spotify Adapter, nehme ich nicht, den Spotify Account habe ich in der Sonos App, kann Dir
              also nix zu den Fehler sagen

              3.) und zu dem Got status 500 when invoking /MediaRenderer/AVTransport/Control
              google bitte mal, ist ein Fehler in der Sonos API, ist bekannt, und es gibt auch workaround's dazu
              da kommt irgendwas durcheinander, ich meine hätte was mit den Ausgängen zu tun, hatte ich auch schon

              Ich kann hier gerade keinen Link mehr einstellen, forbidden ??

              R Offline
              R Offline
              rehmosch
              schrieb am zuletzt editiert von
              #348

              @skokarl hey, wollte dir auch schon mehrmals antworten und war auch forbidden.

              @skokarl said in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

              Ich kann hier gerade keinen Link mehr einstellen, forbidden ??

              War bei mir auch so, musste diesse domain auf meinen pihole auf die whitelist aktualisieren. Oder es ist irgendein Adblocker aktiv.

              Ach ja, irgendwie kann ich nicht mehr spotify premium authorisieren, da der Link ins Nirvana geht. Werde es heute mal mit Vivaldi und Co (nach Installation) ausprobieren, da ich das Gefühl nicht loswerde das Chrome, Safari und Firefox hier mit Datenschutz und Sicherheit rumspinnen ;

              Baue mir gerade meine Wlan Türklingel mit Xiaomi Fenstersensoren zusammen und es klappt ganz gut. Will jetzt noch Sonos (sayit), Hue, und Apple Nachrichten einbinden im Script ;)

              Schön das du hier so aktiv bist , Danke!

              RP4/Conbee II/Pihilips Hue/HarmonyHub/Sonos/Alexa/Aqara Sensoren/Tradfri/ZigbeeThermostate/Xiaomi Saugroboter/Smarte Türklingel & Briefkasten ...

              1 Antwort Letzte Antwort
              0
              • metaxaM metaxa

                @skokarl sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:

                @metaxa
                Du schaffst das... und lass es mich dann wissen ....
                und dann gibts Du BITTE mal hier nen paar Beispiel was man damit machen kann

                Anleitungen zu schreiben ist gar nicht so einfach ..... ich versuche es dennoch:

                SSML Tag – Unterstützung für AWS Polly (MP3 weiter unten)
                Die "node-sonos-http-api" unterstützt von Haus aus keine SSML (Speech Synthesis Markup Language) Tags. Damit kann man z.B. Pausen zusätzlich einfügen, Sprechgeschwindigkeit und Tonlagen ändern.
                >>>Hier<<< findet Ihr eine Auflistung der Möglichkeiten und Spielarten.

                Dazu benötigt neben der Installation der sonos-api (dieser thread) es 3 zusätzliche Dinge:

                  1. Einen aktiven AWS Account (für Polly)
                    Bitte Tante G****e bemühen, es gibt aber auch deutschsprachige Hilfeseiten auf den AWS Seiten
                  1. a) Datei „aws-polly.js“ editieren
                    Im Installationsverzeichnis der sonos-api /home/kommt_drauf_an/node-sonos-http-api-master/lib/tts-providers/aws-polly.js findet ihr die Datei „aws-polly.js“, dort bitte die Zeilen 26-28 lt. >>>dieser Anleitung<<< nachhaltig einfügen.
                if (phrase.startsWith('<speak>') && phrase.endsWith('</speak>')) {
                    synthesizeParameters.TextType = 'ssml';
                }
                
                  1. b) Sonos-api Service neustarten
                sudo systemctl stop sonosapi.service
                sudo systemctl start sonosapi.service
                
                  1. c) Danach sollte in eurem Browser dies hier bereits deutlich machen was alles möglich ist:
                http://192.168.xxx.xxx:5005/Lautsprechername/say/%3Cspeak%3EJeden%20Morgen%20wenn%20ich%20aufwache%2C%3Cprosody%20rate%3D%22x-slow%22%3Espreche%20ich%20sehr%20langsam%20bis%20ich%20meinen%20ersten%20Cafe%20trinke.%3C%2Fprosody%3E%3C%2Fspeak%3E/Vicki/50
                

                Hörbeispiel: AWS Polly - Vicki mit SSML(x-slow).mp3

                  1. a) js-function „encodeURIComponent()“
                  1. b) diese Funktion ist standardmäßig in JS vorhanden, sofern blockly verwendet wird müsst ihr unter Funktionen den Block „JS-Funktion mit Ergebnis“ verwenden.
                    Beispiel:
                    bd77f958-9a1a-41cb-9ea7-cc61525aef9c-grafik.png
                    f6d82f95-28a2-4083-a72e-cf6077b3c894-grafik.png
                return "http://192.168.0.96:5005/Wohnzimmer/say/"+ encodeURIComponent('<speak>'+url1+'<prosody rate="x-slow">'+url2+'</prosody>'+url3+'</speak>') + "/Vicki/50";
                
                • hilfreiche Links:
                  https://docs.aws.amazon.com/de_de/polly/latest/dg/supportedtags.html
                  https://github.com/jishi/node-sonos-http-api/pull/737
                  https://www.w3schools.com/jsref/jsref_encodeuricomponent.asp

                Klingt alles sehr kompliziert, liegt aber sicher nur an meiner Anleitung :-)

                Wer es gebrauchen kann, bitte sehr!
                LG, mxa

                S Offline
                S Offline
                skorpil
                schrieb am zuletzt editiert von
                #349

                @metaxa @skokarl

                Ihr seid doch die Fachleute für Sprachausgaben mit say. Bei mir kommt es immer wieder vor, dass das Ende meines Satzes, der über AWS Polly gesagt werden soll, am Ende abgeschnitten wird.

                Bin ich ein Einzelfall? Gab es das schon mal? Wie könnte ich das beseitigen? Danke für Eure Hilfe!

                S 1 Antwort Letzte Antwort
                0
                • S skorpil

                  @metaxa @skokarl

                  Ihr seid doch die Fachleute für Sprachausgaben mit say. Bei mir kommt es immer wieder vor, dass das Ende meines Satzes, der über AWS Polly gesagt werden soll, am Ende abgeschnitten wird.

                  Bin ich ein Einzelfall? Gab es das schon mal? Wie könnte ich das beseitigen? Danke für Eure Hilfe!

                  S Offline
                  S Offline
                  skokarl
                  schrieb am zuletzt editiert von
                  #350

                  @skorpil
                  sorry, keine Ahnung

                  IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    Ryco
                    schrieb am zuletzt editiert von Ryco
                    #351

                    Gibt es eine einfache Möglichkeit, aus dem JSON-State von einem Sonos einen Wert zu extrahieren?

                    Ich habe versucht, nachzuvollziehen, was DWM gemacht hat. Ich verstehe es so, dass er Sonos-Instanzen angelegt hat und über ein Script alle Sonos-States abfragt. Mir scheint es für meinen Zweck etwas zu viel, zum anderen übersteigt es sowohl meine JS und ioBroker-Fähigkeiten.

                    Was will ich? Ich möchte den Wert zu playbackState abfragen und abhänig von dem Ergebnis eine if else Funktion durchlaufen lassen. Ich habe mir ein Script zusammengebastelt, was zu einer festgelegten Uhrzeit einen Radio-Sender startet. Wenn allerdings schon ein Sender läuft, wechselt er den Radiosender nicht. Daher würde ich gerne wenn playbackState = !Stopped vorher die Wiedergabe stoppen lassen.

                    Mir fehlt aber ein Ansatz, die über http://192.168.66.111:5005/flur/state/ gelieferten JSON-Werte in Javascript zu bekommen. Oder ich verstehe die Lösungen nicht. Das könnte auch sein.

                    Zwischenzeitlich habe ich es gelöst bekommen. Allerdings war es weniger Try sondern mehr Error.

                    Ich hatte eigentlich gedacht, dass ich zwigend getState() brauche, ich habe mir jetzt aber zwischenzeitlich zusammengereimt, dass ich getState() nur brauche, wenn ich von irgendwo einen Wert holen will. Wenn ich die das Ergebnis über die request-Funktion mache wohl nicht?

                    const request = require('request');
                    
                    request('http://192.168.66.111:5005/flur/state', (err, res, body) =>   {
                    
                     test = JSON.parse(body);
                      
                      //Controll-Log um JSON.parse Ergbnis zu sehen
                        console.log(test);
                      
                    
                      view = test.playbackState;
                    
                    console.log(view);
                    console.log(test.volume);
                     
                    });
                    
                    
                    Paul ReinhartP 1 Antwort Letzte Antwort
                    0
                    • R Ryco

                      Gibt es eine einfache Möglichkeit, aus dem JSON-State von einem Sonos einen Wert zu extrahieren?

                      Ich habe versucht, nachzuvollziehen, was DWM gemacht hat. Ich verstehe es so, dass er Sonos-Instanzen angelegt hat und über ein Script alle Sonos-States abfragt. Mir scheint es für meinen Zweck etwas zu viel, zum anderen übersteigt es sowohl meine JS und ioBroker-Fähigkeiten.

                      Was will ich? Ich möchte den Wert zu playbackState abfragen und abhänig von dem Ergebnis eine if else Funktion durchlaufen lassen. Ich habe mir ein Script zusammengebastelt, was zu einer festgelegten Uhrzeit einen Radio-Sender startet. Wenn allerdings schon ein Sender läuft, wechselt er den Radiosender nicht. Daher würde ich gerne wenn playbackState = !Stopped vorher die Wiedergabe stoppen lassen.

                      Mir fehlt aber ein Ansatz, die über http://192.168.66.111:5005/flur/state/ gelieferten JSON-Werte in Javascript zu bekommen. Oder ich verstehe die Lösungen nicht. Das könnte auch sein.

                      Zwischenzeitlich habe ich es gelöst bekommen. Allerdings war es weniger Try sondern mehr Error.

                      Ich hatte eigentlich gedacht, dass ich zwigend getState() brauche, ich habe mir jetzt aber zwischenzeitlich zusammengereimt, dass ich getState() nur brauche, wenn ich von irgendwo einen Wert holen will. Wenn ich die das Ergebnis über die request-Funktion mache wohl nicht?

                      const request = require('request');
                      
                      request('http://192.168.66.111:5005/flur/state', (err, res, body) =>   {
                      
                       test = JSON.parse(body);
                        
                        //Controll-Log um JSON.parse Ergbnis zu sehen
                          console.log(test);
                        
                      
                        view = test.playbackState;
                      
                      console.log(view);
                      console.log(test.volume);
                       
                      });
                      
                      
                      Paul ReinhartP Offline
                      Paul ReinhartP Offline
                      Paul Reinhart
                      schrieb am zuletzt editiert von
                      #352

                      Ist es möglich einen Clip und einen say Befehl zu kombinieren? Möchte einen Gong gefolgt von TTS-Text ausgeben?

                      Paul ReinhartP 1 Antwort Letzte Antwort
                      0
                      • Paul ReinhartP Paul Reinhart

                        Ist es möglich einen Clip und einen say Befehl zu kombinieren? Möchte einen Gong gefolgt von TTS-Text ausgeben?

                        Paul ReinhartP Offline
                        Paul ReinhartP Offline
                        Paul Reinhart
                        schrieb am zuletzt editiert von
                        #353

                        Kann es sein, dass die Restauration auf einer Sonos-Beam nicht funktioniert? Zumindest bei mir funktioniert sie nämlich nur auf der Play 1.

                        1 Antwort Letzte Antwort
                        0
                        • L Online
                          L Online
                          Linedancer
                          schrieb am zuletzt editiert von Linedancer
                          #354

                          Nachdem meine neue FRITZ!Box den Sonos Speakern neue IP Adressen zugeteilt hat, läuft der Sonos Adapter bei mir leider auch nicht mehr zuverlässig und ich hab mich mit dem Thema Sonos API beschäftigt.
                          Soweit funktioniert das meiste, auch wenn jetzt deutlich mehr gescriptet werden muss als mit dem Sonos Adapter.

                          Was mir fehlt (oder noch nicht gefunden) ist die Möglichkeit abzufragen ob in welcher Gruppe ein Speaker ist. Gibt es diese Möglichkeit?

                          –

                          Ciao, Gerhard

                          A 1 Antwort Letzte Antwort
                          0
                          • L Linedancer

                            Nachdem meine neue FRITZ!Box den Sonos Speakern neue IP Adressen zugeteilt hat, läuft der Sonos Adapter bei mir leider auch nicht mehr zuverlässig und ich hab mich mit dem Thema Sonos API beschäftigt.
                            Soweit funktioniert das meiste, auch wenn jetzt deutlich mehr gescriptet werden muss als mit dem Sonos Adapter.

                            Was mir fehlt (oder noch nicht gefunden) ist die Möglichkeit abzufragen ob in welcher Gruppe ein Speaker ist. Gibt es diese Möglichkeit?

                            A Offline
                            A Offline
                            ATARI
                            schrieb am zuletzt editiert von ATARI
                            #355

                            @alle
                            Moin, moin.

                            "Trotz fast völliger Ahnungslosigkeit (only learning by doing)" habe ich 'SONOS-HTTP-API' und den
                            'webhook' auf meinem 'TinkerBoard S' eingerichtet bekommen.
                            Auf diesem Wege: "Großen Dank, für die SUPER Anleitungen hier."

                            Mir sind die 'http Aufrufe' der 'API' zu 'umständlich' deshalb würde ich gerne nur die Datenpunkte
                            aus dem 'webhook' nutzen.

                            2 Umstände bereiten mir allerdings noch 'Kopfschmerzen':

                            1. alle 'say' Anweisungen über 'webhook Datenpunkte' werden in englisch augegeben.
                              Keine Ahnung wie ich auf deutsch umstelle, und das mit gewünschter Lautstärke.
                              Mit der Syntax eines 'http Aufruf' geht es jedenfalls nicht.
                            2. bei der '/state' Abfrage werden die 'Equalizer Einstellungen:' 'Bass', 'Treble' u. 'Loudness'
                              angezeigt, jedoch gibt es hierzu keine 'webhook Datenpunkte'.
                              Muss/kann ich mir diese selber erstellen? Wann ja, wie?
                              (Hintergrund: ich nutze 3 x Play:5 (Gen.1) und 4 x Play:1, die TTS Ansagen über Play:5 sind sehr
                              basslastig und dumpf, somit relativ unverständlich, würde gerne vor einer TTS Ansage den Bass
                              von xx auf -10 stellen, danach wieder zurück auf xx stellen.)

                            Sorry wegen meiner "Ahnungsloskeit"

                            Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)

                            S 1 Antwort Letzte Antwort
                            0
                            • A ATARI

                              @alle
                              Moin, moin.

                              "Trotz fast völliger Ahnungslosigkeit (only learning by doing)" habe ich 'SONOS-HTTP-API' und den
                              'webhook' auf meinem 'TinkerBoard S' eingerichtet bekommen.
                              Auf diesem Wege: "Großen Dank, für die SUPER Anleitungen hier."

                              Mir sind die 'http Aufrufe' der 'API' zu 'umständlich' deshalb würde ich gerne nur die Datenpunkte
                              aus dem 'webhook' nutzen.

                              2 Umstände bereiten mir allerdings noch 'Kopfschmerzen':

                              1. alle 'say' Anweisungen über 'webhook Datenpunkte' werden in englisch augegeben.
                                Keine Ahnung wie ich auf deutsch umstelle, und das mit gewünschter Lautstärke.
                                Mit der Syntax eines 'http Aufruf' geht es jedenfalls nicht.
                              2. bei der '/state' Abfrage werden die 'Equalizer Einstellungen:' 'Bass', 'Treble' u. 'Loudness'
                                angezeigt, jedoch gibt es hierzu keine 'webhook Datenpunkte'.
                                Muss/kann ich mir diese selber erstellen? Wann ja, wie?
                                (Hintergrund: ich nutze 3 x Play:5 (Gen.1) und 4 x Play:1, die TTS Ansagen über Play:5 sind sehr
                                basslastig und dumpf, somit relativ unverständlich, würde gerne vor einer TTS Ansage den Bass
                                von xx auf -10 stellen, danach wieder zurück auf xx stellen.)

                              Sorry wegen meiner "Ahnungsloskeit"

                              S Offline
                              S Offline
                              skokarl
                              schrieb am zuletzt editiert von
                              #356

                              @atari

                              erstmal Danke für Dein Lob...... hoffe Du hast auch auf "gefällt mir" geklickt....unten rechts. :grimacing:

                              Aber mal im Ernst.....Was ist bei den http Aufrufen zu umständlich ? Willst Du alles über Sprache realisieren ?

                              Ich nutze alles über ein paar kleine Blocklys.... meine Frau will auch nicht mit dem Ding sprechen,
                              und mit IOBroker und Blocklys kannst Du sehr einfach verschiedenste http's ausführen.

                              IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                ATARI
                                schrieb am zuletzt editiert von ATARI
                                #357

                                @skokarl
                                Nein, mit "Sprachsteuerung" hab ich nichts im Sinn, hab auch kein Alexa o.ä. im Betrieb.
                                Ich finde es einfach "geschmeidiger" für TTS einfach den Datenpunkt "say" mit dem
                                Text zubeschreiben. Leider bekomme ich dann alles auf englisch.
                                Habe mir in letzter Zeit etwas JavaScript angeeignet, mit Blockly hab ich mich noch
                                nicht beschäftigt.

                                btw. Auf 'http://host_ip:1884/info' bekomme ich keine Antwort. In SonosAPI werden
                                die Änderungen aber angezeigt. In 'settings.json' habe ich def. den Port auf 1884
                                eingetragen.

                                Ach ja, bis auf die TTS Funktion läuft mein Sonos-Adapter. Das das TTS nicht
                                funktioniert liegt evtl. auch an den Einstellungen hierfür, keine Ahnung was ich
                                hierfür wo alles eintragen muß, alle bisherigen Versuche blieben ohne Erfolg.

                                Raspberry Pi 5B (ioB via pi OS_lite(64bit) | Synology NAS (ioB via Docker)

                                1 Antwort Letzte Antwort
                                0
                                • H Offline
                                  H Offline
                                  hsjan
                                  schrieb am zuletzt editiert von
                                  #358

                                  Guten Morgen zusammen,
                                  erstmal vielen Dank für die gute Arbeit. Ich bin erst seit kurzem dabei und verzweifele gerade. Ich versuche jetzt schon etwas länger die einzelnen Befehle nachzustellen. Leider ohne Erfolg.
                                  Der Server läuft und ich komme auch mit der IP:5005 auf die Startseite.
                                  Nur die einzelnen "http://192.168.XXX.XXX:5005/flur/play/sender" werden dann nicht umgesetzt.
                                  Eigentlich wollte ich nur eine funktionierende Gruppe erzeugen und diese über den Master steuern. Alles andere funktioniert ja mit dem Adapter (für mich ausreichend gut und zuverlässig).
                                  Kann mir jemand evtl. mal ein Blocklys zur Verfügung stellen mit welchem ich dieses Vorhaben umsetzten kann.

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • H hsjan

                                    Guten Morgen zusammen,
                                    erstmal vielen Dank für die gute Arbeit. Ich bin erst seit kurzem dabei und verzweifele gerade. Ich versuche jetzt schon etwas länger die einzelnen Befehle nachzustellen. Leider ohne Erfolg.
                                    Der Server läuft und ich komme auch mit der IP:5005 auf die Startseite.
                                    Nur die einzelnen "http://192.168.XXX.XXX:5005/flur/play/sender" werden dann nicht umgesetzt.
                                    Eigentlich wollte ich nur eine funktionierende Gruppe erzeugen und diese über den Master steuern. Alles andere funktioniert ja mit dem Adapter (für mich ausreichend gut und zuverlässig).
                                    Kann mir jemand evtl. mal ein Blocklys zur Verfügung stellen mit welchem ich dieses Vorhaben umsetzten kann.

                                    S Offline
                                    S Offline
                                    skokarl
                                    schrieb am zuletzt editiert von skokarl
                                    #359

                                    @hsjan

                                    mach bitte mal eins nach dem anderen, nicht alles auf einmal. ( Gruppen usw )
                                    Probier erstmal eine Play Funktion.

                                    http://192.168.178.56:5005/tablet/tunein/play/144167
                                    ( "Tablet" ist ein Raum, Sender kommt von Tunein, 144167 ist RTL Radio )

                                    und auch wenn der Thread lang ist .... den mal komplett zu lesen hilft auch manchmal.

                                    und bei einer Gruppe gibt es einen Master, dem Du dann den Sender schicken musst.

                                    IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                    H 1 Antwort Letzte Antwort
                                    0
                                    • S skokarl

                                      @hsjan

                                      mach bitte mal eins nach dem anderen, nicht alles auf einmal. ( Gruppen usw )
                                      Probier erstmal eine Play Funktion.

                                      http://192.168.178.56:5005/tablet/tunein/play/144167
                                      ( "Tablet" ist ein Raum, Sender kommt von Tunein, 144167 ist RTL Radio )

                                      und auch wenn der Thread lang ist .... den mal komplett zu lesen hilft auch manchmal.

                                      und bei einer Gruppe gibt es einen Master, dem Du dann den Sender schicken musst.

                                      H Offline
                                      H Offline
                                      hsjan
                                      schrieb am zuletzt editiert von
                                      #360

                                      @skokarl

                                      Vielen Dank,
                                      leider funktioniert es bei mir nicht. Ich habe deinen Befehl mal angepasst und abgeschickt leider nichts. Bei mir sieht es so aus. http://192.168.1.6:5005/Garten/tunein/play/144167
                                      Wie würde es denn aussehen wenn ich einen Sender aus den Favoriten abspielen möchte.

                                      ....ich habe den Thread komplett gelesen, sonst hätte ich mich auch nicht gemeldet.

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • H hsjan

                                        @skokarl

                                        Vielen Dank,
                                        leider funktioniert es bei mir nicht. Ich habe deinen Befehl mal angepasst und abgeschickt leider nichts. Bei mir sieht es so aus. http://192.168.1.6:5005/Garten/tunein/play/144167
                                        Wie würde es denn aussehen wenn ich einen Sender aus den Favoriten abspielen möchte.

                                        ....ich habe den Thread komplett gelesen, sonst hätte ich mich auch nicht gemeldet.

                                        S Offline
                                        S Offline
                                        skokarl
                                        schrieb am zuletzt editiert von skokarl
                                        #361

                                        @hsjan

                                        gib mal deinen Befehl in den Browser ein ....
                                        Was kommt als Ergebnis ? ( error oder success ? )

                                        dann gib mal http://192.168.1.6:5005/state im Browser ein
                                        Was kommt dann ?

                                        Ist Tunein in der Sonos APP (Dienste, Musik und Inhalte )

                                        Wieviel Sonos Player hast Du ?
                                        Gruppen angelegt ?...lösch die mal

                                        IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                        H 3 Antworten Letzte Antwort
                                        0
                                        • S skokarl

                                          @hsjan

                                          gib mal deinen Befehl in den Browser ein ....
                                          Was kommt als Ergebnis ? ( error oder success ? )

                                          dann gib mal http://192.168.1.6:5005/state im Browser ein
                                          Was kommt dann ?

                                          Ist Tunein in der Sonos APP (Dienste, Musik und Inhalte )

                                          Wieviel Sonos Player hast Du ?
                                          Gruppen angelegt ?...lösch die mal

                                          H Offline
                                          H Offline
                                          hsjan
                                          schrieb am zuletzt editiert von
                                          #362

                                          @skokarl

                                          {"volume":14,"mute":false,"equalizer":{"bass":0,"treble":10,"loudness":false},"currentTrack":{"artist":"tunein","title":"Monrose - Even Heaven Cries","albumArtUri":"/getaa?s=1&u=x-sonosapi-stream%3aSTATION%253a14435%3fsid%3d264%26flags%3d8232%26sn%3d4","duration":0,"uri":"x-sonosapi-stream:STATION%3a14435?sid=264&flags=8232&sn=4","trackUri":"x-sonosapi-stream:STATION%3a14435?sid=264&flags=8232&sn=4","type":"radio","stationName":"tunein","absoluteAlbumArtUri":"http://192.168.1.76:1400/getaa?s=1&u=x-sonosapi-stream%3ASTATION%253a14435%3Fsid%3D264%26flags%3D8232%26sn%3D4"},"nextTrack":{"artist":"","title":"","album":"","albumArtUri":"","duration":0,"uri":""},"trackNo":1,"elapsedTime":173,"elapsedTimeFormatted":"00:02:53","playbackState":"PLAYING","playMode":{"repeat":"none","shuffle":false,"crossfade":false}}

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          726

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe