Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX/Sonos-Integration kommt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Siehe #20

    Kommentar


      #32
      Zitat von viggo Beitrag anzeigen
      ... per KNX-Taster zu steuern ... bei den Sonos natürlich die Lautstärke ...
      Hab' gerade mal geschaut - wenn es wirklich nur um die Laufstärke geht, kannst Du das jetzt schon mit Firmware v5 machen. Ein kleines LUA-Script, das mir Gemini gerade gebastelt hat, führt zum Ziel.

      Code:
      local config = {
          ip = "192.168.x.x",
          port = 1400,
          target_vol = 25
      }
      
      local service = "urn:schemas-upnp-org:service:RenderingControl:1"
      local action = "SetVolume"
      
      local soap_body = '<?xml version="1.0"?>' ..
      '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' ..
      '<s:Body><u:' .. action .. ' xmlns:u="' .. service .. '">' ..
      '<InstanceID>0</InstanceID>' ..
      '<Channel>Master</Channel>' ..
      '<DesiredVolume>' .. config.target_vol .. '</DesiredVolume>' ..
      '</u:' .. action .. '></s:Body></s:Envelope>'
      
      local url = "http://" .. config.ip .. ":" .. config.port .. "/MediaRenderer/RenderingControl/Control"
      
      local headers = {
          ["Content-Type"] = "text/xml; charset=utf-8",
          ["SOAPAction"] = '"' .. service .. "#" .. action .. '"',
          ["Content-Length"] = tostring(string.len(soap_body))
      }
      
      local opts = {
          headers = headers,
          timeout = 5000
      }
      
      log.info("SONOS VOL: " .. config.target_vol)
      
      local resp, stat = http.post(url, soap_body, opts)
      
      if tonumber(stat) == 200 then
          log.info("OK")
      else
          log.info("ERROR: " .. tostring(stat))
      end​
      Müsste man natürlich entsprechend noch anpassen, was die Bedienung über KNX-Tasten angeht, aber Gemini führt einen da sicher zum Ziel.

      Kommentar


        #33
        Ich bastel gerade an einer MusicCast Unterstützung. Das Problem dabei....Die HTTP APi funktioniert zwar, aber ohne ständiges Pollen bekommt man keine Updates wenn jemand anderes den Device Status ändert. MusicCast sendet Updates aber per UDP, nur kann man bisher mit den Automationen und dem LUA Script nicht auf UDP Messages lauschen. Hab das mal dem Support geschrieben. 1Home, könnt ihr das bitte supporten?
        Zuletzt geändert von wunderer; 26.11.2025, 00:57.

        Kommentar


          #34
          Hallo, danke für die Mühe, aber ich kann mit den Scripten leider nix anfangen :-( Und welche Firmware V5 meinst Du? Also welches Gerät?

          Servus, Markus

          Kommentar


            #35
            Zitat von viggo Beitrag anzeigen
            welche Firmware V5 meinst Du? Also welches Gerät?
            Ich meine das gerade erschienene Update für den 1Home Server (Pro): https://www.1home.io/docs/en/server/releases/v5_0_0 Hast Du das schon? (Ich meine, der Server aktualisiert sich automatisch.)

            Kommentar


              #36
              Ah, ok, muss ich nachher mal schauen, danke

              Kommentar

              Lädt...
              X