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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Frage] Denon Heos (Multiroom WIFI Speaker)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

[Frage] Denon Heos (Multiroom WIFI Speaker)

Geplant Angeheftet Gesperrt Verschoben Visualisierung
16 Beiträge 8 Kommentatoren 5.9k Aufrufe 1 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.
  • B Offline
    B Offline
    Brati
    schrieb am zuletzt editiert von
    #7

    Hallo,

    weil das HEOS System ja dynamisch ist und mit das anpassen der Expect Scripte doch etwas nervig war, habe ich mich am Denon Script aus diesem Thread probiert:

    http://forum.iobroker.net/viewtopic.php … =40#p82336

    Und Tatsache man kann die Boxen aus JS ansprechen. Einfach die "case" Varianten mit den Befehlen erweitern, diese werden aus vis über den State "javascript.1.Denon.Heos.Command" übergeben. Man könnte auch den ganzen Link aus vis übertragen, dann bräuchte man die case Abfrage nicht. Ich baue das bei Zeiten noch aus, die Auswertung des Status läuft bei mir noch über Expect.

    <size size="150">http://forum.iobroker.net/viewtopic.php?f=30&t=5693#p115554</size>

    ! ````
    var heosip = '19.16.178.63', //hier die IP der HEO Box eintragen*
    net = require('net'),
    client;
    ! on({id: "javascript.1.Denon.Heos.Command"/Commando für HEOS Aufruf/, change: "any"}, function (obj) {
    befehl = getState("javascript.1.Denon.Heos.Command").val; // Befehl gleich Name des aufzurufendem case

    if(!getState('javascript.1.Denon.Heos.Verbunden').val) 
        checkIP(getState('javascript.1.Denon.Heos.IP_Adresse').val);    // Verbinden mit HEOS
    
    switch (befehl) {
        case "dividing":
            sendMessage('heos://browse/play_stream?pid=140815639&sid=1028&cid=CID-55&mid=s134548');
            break;
        case "morow":
            sendMessage('heos://browse/play_stream?pid=140815639&sid=1028&cid=CID-55&mid=s17213');
            break;
        case "radio1":
            sendMessage('heos://browse/play_stream?pid=140815639&sid=1028&cid=CID-55&mid=s25111');
            break;
        case "teddy":
            sendMessage('heos://browse/play_stream?pid=140815639&url=http://streamtdy.ir-media-tec.com/live/mp3-128/web/play.mp33');
            break;
    
        default:
            console.warn("HEOS Befehl nicht bekannt!");
            // falls keine der case-Klauseln mit befehl übereinstimmt
        break;
    }
    

    !
    });
    ! checkIP(getState('javascript.1.Denon.Heos.IP_Adresse').val);
    ! /** Funktion Verbindung zur Box---------------------------------------------------------- */
    function checkIP(IP){ //IP Adresse prüfen
    if(net.isIPv4(IP)){
    setTimeout(function () {
    client=Connect(IP);
    },2000);
    }
    else{console.error('ungültige IP Adresse')}
    }

    function Connect(IP){ // zur Box Verbinden

    var client = net.connect({host:IP, port:1255});
        client.setKeepAlive(true,5000);
    
    console.log('Connectig...');
    
    client.on('error',function(error) {
        console.error(error);
        killClient(client);
    }); 
    
    client.on('connect', function () {          //Verbindung hergestellt
    {setState("javascript.1.Denon.Heos.Verbunden",val=true,akt=true);}
    console.log('Verbunden mit Denon Heos!');
    if (getState("javascript.1.Denon.Heos.Verbunden").val) console.log ("Variable ist true");
    
    });
    

    ! client.on('end', function () { //die Gegenseite hat die Verbindung geschlossen
    console.warn('Heos hat die Verbindung geschlossen !');
    killClient(client);
    });

    return client;
    }//end of Function Connect

    ! /** Funktion Nachricht Senden---------------------------------------------------------- /
    function sendMessage(message) {
    if(getState('javascript.1.Denon.Heos.Verbunden').val){
    client.write(message + "\n");
    console.log("Message versandt: "+ message);
    }
    else
    console.log("Keine Verbindung - keine Message versandt!");
    }
    ! /
    * Funktion Verbindung beenden---------------------------------------------------------- */
    function killClient(client){
    client.destroy();
    client.unref();
    setState("javascript.1.Denon.Heos.Verbunden"/javascript.1.Denon.Heos.Verbunden/, false);
    console.log('Connection closed!');
    }// end of Function CennectEnd
    ! onStop(function () {
    if(getState('javascript.1.Denon.Heos.Verbunden').val){killClient(client)};
    }, 2000 /ms/);
    ! createState('javascript.1.Denon.Heos.IP_Adresse', heosip,{type: "string", role: "HEOS IP Adresse"});
    createState('javascript.1.Denon.Heos.Verbunden', false, {
    name: 'Verbindung zu HEOS',
    desc: 'Verbindung zu HEOS',
    type: 'boolean',
    });
    ! ````

    Die IP und PID muss angepasst werden und das Script läuft bei mir in der 2. JS Instanz also javascript.1….

    Grüße

    Brati

    CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

    1 Antwort Letzte Antwort
    0
    • O Offline
      O Offline
      obakuhl
      Developer
      schrieb am zuletzt editiert von
      #8

      Hallo Brati, danke erstmal für deinen Denkanstoß Heos Geräte über Javascript zu steuern. Bei mir wird auch ein neuer Ordner im Bereits vorhanden Denon Ordner (erstellt durch das Denonscript) erstellt (arbeite mit einer javascript instanz, javascript.0)

      3322_heos_denon.png

      doch verstehe ich nicht wie es weiter geht. Ich habe das Script natürlich angepasst, die Verbindung scheint ja auch aufgebaut zu werden, doch wie kann ich nun etwas steuern? Also z.B. Pause oder Play?

      Viele Grüße

      Ben

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Sebastian
        schrieb am zuletzt editiert von
        #9

        Hallo obakuhl,

        vielleicht kann ich hier etwas weiterhelfen. Brati hab dein Script noch etwas angepasst und erweitert. Danke für die Idee, ich komm damit sehr gut zurecht. Jetzt müsste ich bei Gelegenheit noch den Status aus den Boxen auslesen und anzeigen. Aber das sollte ja auch nicht all zu schwer sein.

        Ich habe in vis die Widgets wie im Bild gebaut. Das Widget muss dann einfach die PID der zu bedienenden Box und den Befehl (aus den case abfrage) in die Objekte Command und CommandPID schreiben.

        mein switch mit dem Befehlen, play, stop, Lautstärke, verschiedene streams und AUX in, Gruppen (funktioniert noch nicht richtig)

        sieht so aus.

        ! ````
        createState('javascript.1.Denon.Heos.IP_Adresse', heosip,{type: "string", role: "HEOS IP Adresse"});
        createState('javascript.1.Denon.Heos.Command', "getALLPlayersInfo");
        createState('javascript.1.Denon.Heos.CommandPID', "1946911914");
        createState('javascript.1.Denon.Heos.Return', "");
        createState('javascript.1.Denon.Heos.Verbunden', false, {
        name: 'Verbindung zu HEOS',
        desc: 'Verbindung zu HEOS',
        type: 'boolean',
        });
        ! on({id: "javascript.1.Denon.Heos.Command"/Commando für HEOS Aufruf/, change: "any"}, function (obj) {
        befehl = getState("javascript.1.Denon.Heos.Command").val; // Befehl gleich Name des aufzurufendem case
        var StreamURL = ""

        if(!getState('javascript.1.Denon.Heos.Verbunden').val) 
            checkIP(getState('javascript.1.Denon.Heos.IP_Adresse').val);    // Verbinden mit HEOS
        
        switch (befehl) {
            case "muteTogglePlayer":
                sendMessage('heos://player/toggle_mute?pid='+getState('javascript.1.Denon.Heos.CommandPID').val);
                break;   
            case "volUp":
                sendMessage('heos://player/volume_up?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+"/step=5");
                break;    
            case "volDown":
                sendMessage('heos://player/volume_down?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+"/step=5");
                break; 
             case "playPlayer":
                sendMessage('heos://player/set_play_state?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+'&state=play'); //play, pause, stop
                break;   
            case "stopPlayer":
                sendMessage('heos://player/set_play_state?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+'&state=stop'); //play, pause, stop
                break;
            case "stream_swr3":
                StreamURL = "http://mp3-live.swr3.de/swr3_m.m3u";
                sendMessage('heos://browse/play_stream?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+'&url='+StreamURL);
                break;
            case "stream_rockantenne":
                StreamURL = "http://www.rockantenne.de/webradio/rockantenne.m3u";
                sendMessage('heos://browse/play_stream?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+'&url='+StreamURL);
                break;
            case "groupEG":
                sendMessage('heos://group/set_group?pid=-624821035,-570512098');
                break;
            case "unGroupEG":
                sendMessage('heos://group/set_group?pid=-624821035');
                break;
             case "inputAUX":
                sendMessage('heos://browse/play_input?pid='+getState('javascript.1.Denon.Heos.CommandPID').val+'&input=inputs/aux_in_1');
                break;   
        
            default:
                console.warn("HEOS Befehl nicht bekannt!");
                // falls keine der case-Klauseln mit befehl übereinstimmt
            break;
        }
        

        !
        });
        ! ````

        Hoffe das hilft etwas.

        Gruß

        Sebastian
        1619_bildschirmfoto_2018-01-17_23-27-37.png

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Brati
          schrieb am zuletzt editiert von
          #10

          Nabend,

          hab den Beitrag von heute morgen gelöscht und mich noch mal an das Script gesetzt. Der Status kann jetzt ausgelesen werden und vor allem das Album Cover finde ich genial :lol:

          So sieht es aus:
          709_heoscontrol.jpg

          Das ist das Script:

          ! ````
          /** HEOS Control v 0.6 vom 25.01.2018

          •  HEOS CLI Protokoll: http://rn.dmglobal.com/euheos/HEOS_CLI_ProtocolSpecification.pdf
            
          •  HowTo Infos zu HEOS auslesen: https://www.loxforum.com/forum/faqs-tutorials-howto-s/5665-howto-denon-heos-als-multiroom-l%C3%B6sung
            
          •  Funktion
            
          •  - IP und PID der Box im State unter Objekte ergänzen
            
          •  - LogIn Daten in den Objekten ergänzen
            
          •  - mittels Widget werden im State ...Denon.Heos.Command die auszuführenden Kommandos übergeben.
            
          •    jedes Kommando muss sich dann im switch/ case Teil wieder finden und dort die Links aus dem CLI Protokoll hinterlegt sein
            

          */

          ! var heosip = getState('javascript.' + instance + '.Denon.Heos.IP_Adresse').val,
          heospid = getState("javascript." + instance + ".Denon.Heos.PID").val,
          logging = false, // true = Ausgabe im Log
          net = require('net'),
          befehl = "",
          level = "",
          volume = 0,
          client ;
          ! log('Script ' + name + ' started by ' + instance + '!');
          ! /** Befehl aus dem State Command ausführen */
          on({id: "javascript." + instance + ".Denon.Heos.Command"/Commando für HEOS Aufruf/, change: "any"}, function (obj) {
          befehl = getState("javascript." + instance + ".Denon.Heos.Command").val; // Befehl gleich Name des aufzurufendem case

          /** in diesem Bereich wird der Status bei Befehlsaufruf getriggert */
          if(!getState('javascript.' + instance + '.Denon.Heos.Verbunden').val) 
              checkIP(getState('javascript.' + instance + '.Denon.Heos.IP_Adresse').val);    // Verbinden mit HEOS
          
          if (befehl != "getvol" && befehl != "getstate" && befehl !="getmedia"){     // Status Infos Pollen
              setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'getvol', 500, false);
              setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'getstate', 2500, false);
              setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'getmedia', 3500, false);
          }
          if (befehl == "getmedia"){                                                   // Status Infos Pollen
              setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'getvol', 500, false);
              setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'getstate', 2500, false);
          
          }
          
          switch (befehl) {
              case "getvol":
                  sendMessage('heos://player/get_volume?pid=' + heospid + '');
                  break;  
              case "getstate":
                  sendMessage('heos://player/get_play_state?pid=' + heospid + '');
                  break;        
              case "getmedia":
                  sendMessage('heos://player/get_now_playing_media?pid=' + heospid + '');
                  break;
              case "sign":	// Sign In der Box ausführen
                  sendMessage('heos://system/sign_in?un=' + getState('javascript.' + instance + '.Denon.Heos.Login').val + '&pw=' + getState('javascript.' + instance + '.Denon.Heos.LoginPW').val);
                  break;
              case "play":   // Play Starten
                  sendMessage('heos://player/set_play_state?pid=' + heospid + '&state=play');
                  break;
              case "pause":   // Box Pause
                  sendMessage('heos://player/set_play_state?pid=' + heospid + '&state=pause');
                  break;
              case "stop":   // Box Stop
                  sendMessage('heos://player/set_play_state?pid=' + heospid + '&state=stop');
                  break;   
              case "volslider":
                  sendMessage('heos://player/set_volume?pid=' + heospid + '&level=' + volume);
                  break;  
              case "vol15":   // Volume auf 15
                  sendMessage('heos://player/set_volume?pid=' + heospid + '&level=15');
                  break;
              case "vol20":   // Volume auf 20
                  sendMessage('heos://player/set_volume?pid=' + heospid + '&level=20');
                  break;
              case "vol0":   // Volume auf 20
                  sendMessage('heos://player/set_volume?pid=' + heospid + '&level=0');
                  break;    
              case "voldown":   // Volume 5 runter
                  sendMessage('heos://player/volume_down?pid=' + heospid + '&step=5');
                  break;
              case "volup":   // Volume 5 runter
                  sendMessage('heos://player/volume_up?pid=' + heospid + '&step=5');
                  break;
              case "dividing":// Dividing Line abspielen - TuneIn Heos Favorit   
                  sendMessage('heos://browse/play_stream?pid=' + heospid + '&sid=1028&cid=CID-55&mid=s134548');
                  break;
              case "morow":   // Morow Prog FM abspielen - TuneIn Heos Favorit
                  sendMessage('heos://browse/play_stream?pid=' + heospid + '&sid=1028&cid=CID-55&mid=s17213');
                  break;
              case "radio1":   // Radio1 abspielen - TuneIn Heos Favorit
                  sendMessage('heos://browse/play_stream?pid=' + heospid + '&sid=1028&cid=CID-55&mid=s25111');
                  break; 
              case "teddy":   // Radio Teddy abspielen - TuneIn Heos Favorit
                  sendMessage('heos://browse/play_stream?pid=' + heospid + '&sid=1028&cid=CID-55&mid=s80044');
                  break;
          
              default:
                  console.warn("HEOS Befehl -- " + befehl + " -- nicht bekannt!");
                  // falls keine der case-Klauseln mit befehl übereinstimmt
              break;
          }
          

          !
          });
          ! checkIP(getState('javascript.' + instance + '.Denon.Heos.IP_Adresse').val);
          ! /** Volume über Slider steuern---------------------------------------------------------- */
          ! on({id: "javascript." + instance + ".Denon.Heos.Volume"/Commando für HEOS Aufruf/, change: "ne"}, function (obj) {

          befehl  = getState("javascript." + instance + ".Denon.Heos.Command").val;      // Befehl gleich Name des aufzurufendem case
          volume  = getState("javascript." + instance + ".Denon.Heos.Volume").val;       // neue Volume auslesen
          
          if (befehl != "getvol") setStateDelayed("javascript." + instance + ".Denon.Heos.Command", 'volslider', 1000, false);
          
          });
          

          ! /** Funktion Verbindung zur Box---------------------------------------------------------- */
          function checkIP(IP){ //IP Adresse prüfen
          if(net.isIPv4(IP)){
          setTimeout(function () {
          client=Connect(IP);
          },2000);
          }
          else{console.error('ungültige IP Adresse')}
          }

          function Connect(IP){ // zur Box Verbinden

          var client = net.connect({host:IP, port:1255});
              client.setKeepAlive(true,5000);
          
          console.log('Connectig...');
          
          client.on('error',function(error) {
              console.error(error);
              killClient(client);
          }); 
          
          client.on('connect', function () {          //Verbindung hergestellt
          {setState("javascript." + instance + ".Denon.Heos.Verbunden",val=true,akt=true);}
          console.log('Verbunden mit Denon Heos!');
          if (getState("javascript." + instance + ".Denon.Heos.Verbunden").val) console.log ("Variable ist true");
          
          });
          

          ! client.on('end', function () { //die Gegenseite hat die Verbindung geschlossen
          console.warn('Heos hat die Verbindung geschlossen !');
          killClient(client);
          });

          client.on('data', function (data) {
          
              if (logging) console.log(data.toString());         //log für kommende Daten ################################################################################################
          
              response(data);
          
           });
          

          return client;
          }//end of Function Connect

          ! /** Funktion Nachricht Senden---------------------------------------------------------- /
          function sendMessage(message) {
          if(getState('javascript.' + instance + '.Denon.Heos.Verbunden').val){
          client.write(message + "\n");
          if (logging) console.log("Message versandt: "+ message);
          }
          else
          console.log("Keine Verbindung - keine Message versandt!");
          }
          ! /
          * Funktion Daten empfangen ---------------------------------------------------------- */
          function response (data) {

          var HEOS_Response=data.toString().replace(/[\n\r]/g, '');    // Steuerzeichen "CR" entfernen   
          
          messageJSON = JSON.parse(HEOS_Response);                          // JSON Objekt einlesen
          
          if (befehl == "getmedia") {                                 // aktuelle Medieninfo einlesen
              try {    
                  setState('javascript.' + instance + '.Denon.Heos.song',messageJSON.payload.song);
                  setState('javascript.' + instance + '.Denon.Heos.station',messageJSON.payload.station);
                  setState('javascript.' + instance + '.Denon.Heos.Artist',messageJSON.payload.artist);
                  setState('javascript.' + instance + '.Denon.Heos.image_url',messageJSON.payload.image_url);
                  setState('javascript.' + instance + '.Denon.Heos.Artist',messageJSON.payload.artist);
                  setState('javascript.' + instance + '.Denon.Heos.type',messageJSON.payload.type);
                  }
              catch(e){
                  log('HEOS get Media Error:' + e);
                  setState('javascript.' + instance + '.Denon.Heos.song', "fail");
                  setState('javascript.' + instance + '.Denon.Heos.station', "fail");
                  setState('javascript.' + instance + '.Denon.Heos.Artist', "fail"); 
                  }
          
          }
          if (befehl == "getvol") {                                   // aktuelle Volume einlesen
              try {
                  level = HEOS_Response.split('level=');
                  level = level[1].split('"');
                  setState('javascript.' + instance + '.Denon.Heos.Volume',level[0]);
                  }
              catch(e){
                      log('HEOS getVol Error:' + e);
                  }
          }    
          
          if (befehl == "getstate") {                             // aktuelle PlayState einlesen
              try {
                  level = HEOS_Response.split('state=');
                  level = level[1].split('"');
                  setState('javascript.' + instance + '.Denon.Heos.State',level[0]);
              }
              catch(e){
                      log('HEOS getState Error:' + e);
                  }    
          }
          

          }

          ! /** Funktion Verbindung beenden---------------------------------------------------------- */
          function killClient(client){
          client.destroy();
          client.unref();
          setState("javascript." + instance + ".Denon.Heos.Verbunden"/javascript.1.Denon.Heos.Verbunden/, false);
          console.log('Connection closed!');
          }// end of Function CennectEnd
          ! onStop(function () {
          if(getState('javascript.' + instance + '.Denon.Heos.Verbunden').val){killClient(client)}
          }, 2000 /ms/);
          ! createState('javascript.' + instance + '.Denon.Heos.Command', "", {role: 'Commando für HEOS Aufruf'});
          createState('javascript.' + instance + '.Denon.Heos.PID', "", {desc: 'PID für HEOS Box'});
          createState('javascript.' + instance + '.Denon.Heos.Login', "", {role: 'Login HEOS Konto'});
          createState('javascript.' + instance + '.Denon.Heos.LoginPW', "", {role: 'Passwort HEOS Konto'});
          createState('javascript.' + instance + '.Denon.Heos.Volume', "", {role: 'Abgefragte Volume für HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.State', "", {role: 'State von HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.station', "", {role: 'aktuelles Medium von HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.Artist', "", {role: 'aktueller Artist von HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.song', "", {role: 'aktueller Song von HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.image_url', "", {role: 'aktuelle image_url von HEOS'});
          createState('javascript.' + instance + '.Denon.Heos.type', "", {role: 'aktueller Quellen Type von HEOS'});
          ! createState('javascript.' + instance + '.Denon.Heos.IP_Adresse', heosip,{type: "string", role: "HEOS IP Adresse"});
          createState('javascript.' + instance + '.Denon.Heos.Verbunden', false, {
          name: 'Verbindung zu HEOS',
          desc: 'Verbindung zu HEOS',
          type: 'boolean',
          });
          ! ````

          Zur Funktion:

          Über den State heos.command wird der Befehl übergeben, welcher mit einem Wert im switch/ case Teil übereinstimmen muss. Dort müssen die Links auf die eigenen Favoriten angepasst werden.

          Dazu bitte die http://rn.dmglobal.com/euheos/HEOS_CLI_ProtocolSpecification.pdf verwenden und https://www.loxforum.com/forum/faqs-tutorials-howto-s/5665-howto-denon-heos-als-multiroom-l%C3%B6sung gibt es viele Infos zum Auslesen der PID usw.

          ViewExport:

          ! ````
          [{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"volup","text":"","src":"/vis.0/main/img/svg/control_plus.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"7px","top":"80px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"voldown","text":"","src":"/vis.0/main/img/svg/control_minus.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"187px","top":"80px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"play","text":"","src":"/icons-mfd-svg/audio_play.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"7px","top":"8px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"pause","text":"","src":"/icons-mfd-svg/audio_pause.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"67px","top":"8px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"stop","text":"","src":"/icons-mfd-svg/audio_stop.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"127px","top":"8px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"dividing","text":"","src":"/vis.0/main/img/Dividing_Line.png","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"67px","top":"247px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"teddy","text":"","src":"/vis.0/main/img/Radio_Teddy.jpg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"7px","top":"247px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"morow","text":"","src":"/vis.0/main/img/morow.jpg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"127px","top":"247px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"radio1","text":"","src":"/vis.0/main/img/Radio1.jpg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"187px","top":"245px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"Station: ","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"10px","top":"160px","width":"47px","height":"25px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"play","visibility-groups-action":"hide","title":"","title_color":"black","title_top":"-10","title_left":"15","header_height":"0","header_color":"black","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-oid":"javascript.1.Denon.Heos.State","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"24px","top":"64px","width":"15px","height":"5px","background":"green","border-radius":"3px"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"pause","visibility-groups-action":"hide","title":"","title_color":"black","title_top":"-10","title_left":"15","header_height":"0","header_color":"black","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-oid":"javascript.1.Denon.Heos.State","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"84px","top":"64px","width":"15px","height":"5px","background":"darkorange","border-radius":"3px"},"widgetSet":"basic"},{"tpl":"tplFrame","data":{"g_fixed":false,"g_visibility":true,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":"stop","visibility-groups-action":"hide","title":"","title_color":"black","title_top":"-10","title_left":"15","header_height":"0","header_color":"black","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"visibility-oid":"javascript.1.Denon.Heos.State","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"144px","top":"64px","width":"15px","height":"5px","background":"darkred","border-radius":"3px"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"Artist: ","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"10px","top":"180px","width":"47px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"Song: ","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"10px","top":"200px","width":"47px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.1.Denon.Heos.station","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"60px","top":"160px","width":"270px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.1.Denon.Heos.Artist","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"60px","top":"180px","width":"270px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.1.Denon.Heos.song","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"60px","top":"200px","width":"270px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"vol15","text":"15","src":"","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"67px","top":"80px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"vol20","text":"20","src":"","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"127px","top":"80px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplValueString","data":{"oid":"","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"Vol: ","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"10px","top":"140px","width":"47px","height":"25px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"javascript.1.Denon.Heos.Volume","visibility-cond":"==","visibility-val":1,"name":"Aktuelle Lautstärke","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_gestures":false,"html_prepend":"","g_css_border":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"60px","top":"140px","width":"270px","height":"26px","color":"rgb(255, 255, 255)","font-size":"small","letter-spacing":"","word-spacing":"","line-height":"2","text-align":"left"},"widgetSet":"basic"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"getmedia","text":"Status","src":"","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"350px","top":"9px","width":"50px","height":"50px","font-size":"small"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"sign","text":"SignIn","src":"","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"290px","top":"9px","width":"50px","height":"50px","font-size":"small"},"widgetSet":"jqui"},{"tpl":"tplValueStringImg","data":{"oid":"javascript.1.Denon.Heos.image_url","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"60000","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"250px","top":"144px","width":"150px","height":"150px","position":""},"widgetSet":"basic"},{"tpl":"tplIconState","data":{"oid":"javascript.1.Denon.Heos.Command","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"value":"vol0","text":"","src":"/vis.0/main/img/svg/audio_volume_mute.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"247px","top":"80px","width":"50px","height":"50px"},"widgetSet":"jqui"},{"tpl":"tplIconStateBool","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"false_src":"/vis.0/main/img/svg/control_plus.svg","click_id":"javascript.0.Denon.Heos.Command","click_value":"volup","true_src":"/vis.0/main/img/svg/control_plus.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"297px","top":"73px"},"widgetSet":"jqui"},{"tpl":"tplIconStateBool","data":{"oid":"nothing_selected","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"false_src":"/vis.0/main/img/svg/control_plus.svg","click_id":"javascript.0.Denon.Heos.Command","click_value":"volup","true_src":"/vis.0/main/img/svg/control_plus.svg","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"326px","top":"27px"},"widgetSet":"jqui"}]

          
          Was noch fehlt:
          
          - Gruppensteuerung
          
          - verschiedene Boxen steuern (hab momentan nur eine)
          
          - Status regelmäßig pollen
          
          Ich empfehle solche Scripte nicht in der 1\. Instanz von JS laufen zu lassen. Läuft beim Parsen was schief, stürzt die ganze Instanz ab und somit alle Scripte dort.
          
          ****<u>######## Updates#######</u>****
          
          V 0.6 vom 25.01.2018
          
          - das Script reagiert auf das Setzen des State "Volume" -> Einbindung Widget Slider möglich
          
          - JS Instanz wird automatisch ausgelesen 
          
          Grüße
          
          Brati

          CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

          1 Antwort Letzte Antwort
          0
          • O Offline
            O Offline
            obakuhl
            Developer
            schrieb am zuletzt editiert von
            #11

            Hallo Brati, hallo Sebastian,

            Danke für Eure Ideen. Jetzt habe ich einen Ansatz an dem man weiter arbeiten kann. Dein Skript Brati sieht super aus. Auf den ersten Blick sind mir nur ein paar Rechtschreibfehler aufgefallen(z.B. "Connectig"), und beim Widget scheinst du 2 mal "javascript.0" noch zu verwenden. Ich habe schon angefangen, das Ganze für meine Bedürfnisse anzupassen. Die Steuerung über den Commandbefehl über Objekte ist problemlos möglich, ich denke das nächste Große sind die Gruppensteuerung sowie ein regelmäßiges abfragen der aktuellen Parameter. Werde das WE mal was probieren, wenn nicht bis dahin schon jemand von Euch eine saubere Lösung gefunden hat :)

            Viele Grüße

            Ben

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              Brati
              schrieb am zuletzt editiert von
              #12

              Morjens,

              vielleicht können wir ja zusammen ein Script weiter bauen, was sich nur in den case Befehlen unterscheidet. Alles andere Variable ist in States ausgelagert. Die JS Instanz kann man wohl auch variabel gestalten.

              Regelmäßig abfragen geht einfach über schedule, ich würde das Intervall bei Playstate Stop aber länger setzen als bei Play.

              Das Widget schau ich mir noch mal an, hab gar keine Objekte mehr in Javascript.0

              Grüße Brati

              Von unterwegs gesendet…

              CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

              1 Antwort Letzte Antwort
              0
              • O Offline
                O Offline
                obakuhl
                Developer
                schrieb am zuletzt editiert von
                #13

                Guten Morgen,

                bei der Lautstärke habe ich mir überlegt, das es doch cleverer wäre, wenn diese über einen 'slider' als Vis Element gesteuert werden kann, der Werte zwischen 0 und z. B 30 (wäre dann in diesem Fall die max. Lautstärke) übergibt.

                Gestern Abend habe ich aus dem Denon Skript die Schleife rauskopiert und in das Heos Skript eingebaut, aber noch nicht weiter angepasst. Ich denke mit dieser sollte es möglich sein. Wenn über Spotify Musik gehört wird gibt es sowieso ständigen Austausch zwischen der Box und dem Netzwerk, da wird ich eine weitere Abfrage, in welchem state die Box sich befindet nicht ins Gewicht fallen.

                Das wird ein Bastel Wochenende ;)

                Lg Ben

                1 Antwort Letzte Antwort
                0
                • UhulaU Offline
                  UhulaU Offline
                  Uhula
                  schrieb am zuletzt editiert von
                  #14

                  Soll keine Konkurrenz sein, eher eine Alternative, welche auch mehrere HEOS Player unterstützt.

                  http://forum.iobroker.net/viewtopic.php … 03#p119303

                  Danke für die Inspiration hier.

                  Uhula - Leise und Weise
                  Ex: ioBroker on Gigabyte NUC Proxmox

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    Brati
                    schrieb am zuletzt editiert von
                    #15

                    @Uhula:

                    Soll keine Konkurrenz sein, eher eine Alternative, welche auch mehrere HEOS Player unterstützt.

                    http://forum.iobroker.net/viewtopic.php … 03#p119303

                    Danke für die Inspiration hier. `

                    Hut ab und gleich den richtigen Ansatz gewählt. Da ja HEOS alles auslesen lässt, muss man es ja auch intigrieren können.

                    Ich werde mich mit deinem Script weiter beschäftigen :).

                    CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

                    W 1 Antwort Letzte Antwort
                    0
                    • B Brati

                      @Uhula:

                      Soll keine Konkurrenz sein, eher eine Alternative, welche auch mehrere HEOS Player unterstützt.

                      http://forum.iobroker.net/viewtopic.php … 03#p119303

                      Danke für die Inspiration hier. `

                      Hut ab und gleich den richtigen Ansatz gewählt. Da ja HEOS alles auslesen lässt, muss man es ja auch intigrieren können.

                      Ich werde mich mit deinem Script weiter beschäftigen :).

                      W Offline
                      W Offline
                      withstu
                      schrieb am zuletzt editiert von
                      #16

                      @Brati Btw. es gibt mittlerweile einen HEOS Adapter: https://github.com/withstu/ioBroker.heos

                      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

                      754

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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