var device = "upnp.0.BubbleUPnP_(Tab2A7-10F)"; //Hier das upnp Gerät eintragen das gesteuert werden soll var control = 'javascript.0.Tab2'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen var oldVol; //createState(name, initialValue, forceCreation, common, native, callback); createState(control + '.MediaControl.Play', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.play'}); createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.pause'}); createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.stop'}); createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_up'}); createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.volume_down'}); createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: 'true', write: 'true', role: 'button.mute'}); createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: 'true', write: 'true', role: 'button.mute'}); on({id: control + '.MediaControl.Play', val: true }, function(obj){ //Wiedergabe starten setState(device + '.MediaRenderer.AVTransport.Play.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Play.Speed', 1); setState(device + '.MediaRenderer.AVTransport.Play', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.Pause', val: true }, function(obj){ //Wiedergabe pausieren setState(device + '.MediaRenderer.AVTransport.Pause.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Pause', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.Stop', val: true }, function(obj){ //Wiedergabe stoppen setState(device + '.MediaRenderer.AVTransport.Stop.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.Stop', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Vol_UP', val: true }, function(obj){ oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden //neue Lautstärke senden setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol); setState(device + '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Vol_Down', val: true }, function(obj){ oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden //neue Lautstärke senden setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol); setState(device + '.MediaRenderer.RenderingControl.SetVolume.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetVolume', 'send'); setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.AudioControl.Mute', val: true }, function(){ var oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val; if(oldMute == 0){ setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 1); setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send'); //oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val; }else{ setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master'); setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', 0); setState(device + '.MediaRenderer.RenderingControl.SetMute', 'send'); } setTimeout(function(){setState(obj.id, false);}, 150); }); on({id: control + '.MediaControl.MediaURL' }, function(obj){ setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.newState.val); setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', 0); setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI', 'send'); });