MULTIMEDIA - INCREMENTO VOLUME SONOS CON OGGETTO KNX ON/OFF - MULTIMEDIA - Domotica KNX MyHOME Modbus e soluzioni IOT


MULTIMEDIA - INCREMENTO VOLUME SONOS CON OGGETTO KNX ON/OFF

Lo script presentato in questo tutorial permette di regolare il volume di una zona SONOS mediante un ingresso KNX ON/OFF, aumentando o diminuendo rispettivamente il volume (di un valore di "step" prefissato) alla ricezione di 1 o di 0.

 

CREAZIONE DELLO SCRIPT

Il primo passo consiste nel creare uno SCRIPT, procedendo come segue:

A questo punto, cancellare il contenuto dello SCRIPT ed inserire il codice seguente:

/*
  This script increases or decreases volume of a given Sonos zone according to input value:
     1 = increase
     0 = decrease

  Please adjust IP address and step 
*/

//Including sonos library
include_library("sonos");

//Binding to a SONOS device with given IP address - Change it accordingly to your configuration!
sonosM::bind("192.168.0.150");

//Initializing step
$step = 5;

//Retrieving volume
$volume_old = sonosM::getVolume();
if($volume_old==null){
   debug("Error connecting to Sonos, skipping");
} else {
   debug("Actual volume is " . $volume_old);

   //Increasing or decreasing volume according to input value
   if( intval( input() ) ==1 ){
      $volume_new = min(100,$volume_old+$step);
   } else {
      $volume_new = max(0,$volume_old-$step);
   }

   //Setting volume if changed
   if($volume_new != $volume_old){
      sonosM::setVolume($volume_new);
      debug("Setting volume to " + $volume_new);
   } else {
      debug("Ignoring volume increase/decrease being already at 0 or 100");
   }
}

output("");

Modificare opportunamente l'indirizzo IP del dispositivo SONOS da controllare, ed eventualmente personalizzare lo step di incremento del volume, quindi salvare mediante l'apposito pulsante SALVA.

 

CREAZIONE DELLO SCRIPT RUNNER

Per ogni zona che si desidera gestire, è necessario configurare un nuovo SCRIPT RUNNER nel seguente modo:

A questo punto inserire nella sezione "DATI GENERALI" un nome identificativo per il nuovo oggetto, e selezionare lo SCRIPT creato in precedenza nell'omonimo menu a tendina; lasciare inalterate le altre opzioni della sezione "ASPETTO".

Nella sezione "INGRESSI" trascinare l'oggetto di tipo ON/OFF che, quando va ad 1, deve aumentare il volume, mentre quando va a 0 deve ridurlo; prestare attenzione a indicare "$VAL" come valore.

E' possibile effettuare il debug dello script forzando nella apposita sezione in basso (dopo aver premuto il pulsante "AGGIORNA") rispettivamente i valori 0 e 1; è necessario essere nella stessa rete del sistema SONOS, altrimenti lo script va in errore di timeout.