Bose SoundTouch Binding

most if not all of the home theater systems have it, those that were on the market when SoundTouch came out got an add-on module and a version number increase, then more recent models have it integrated, but the systems with a full console kept the LifeStyle branding instead of switching.

Hi @tiknx,

here my log when i switch with the remote:

17:07:34.486 [ERROR] [oundtouch.internal.items.ContentItem] - Unknown SourceType: 'PRODUCT' - needs to be defined!
17:07:34.490 [ERROR] [dtouch.internal.XMLResponseProcessor] - SoundTouch 300: Could not parse XML from string '<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="now_playing" method="GET"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><nowPlaying deviceID="9884E3B0F11B" source="PRODUCT" sourceAccount="TV"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /><art artImageStatus="SHOW_DEFAULT_IMAGE" /><playStatus>PLAY_STATE</playStatus></nowPlaying></body></msg>'; exception is: 
java.lang.NullPointerException
	at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.checkOperationMode(BoseSoundTouchHandler.java:444)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.openhab.binding.bosesoundtouch.internal.XMLResponseHandler.endElement(XMLResponseHandler.java:314)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)[:1.8.0_121]
	at org.openhab.binding.bosesoundtouch.internal.XMLResponseProcessor.handleMessage(XMLResponseProcessor.java:170)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.onWebSocketText(BoseSoundTouchHandler.java:567)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[74:org.eclipse.jetty.io:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[85:org.eclipse.jetty.util:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[85:org.eclipse.jetty.util:9.2.19.v20160908]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
17:11:49.017 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<userActivityUpdate deviceID="9884E3B0F11B" />')
17:11:49.032 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('userActivityUpdate'; state: INIT)
17:11:49.034 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during INIT: 'userActivityUpdate'
17:11:49.037 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('userActivityUpdate')
17:11:49.040 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowSelectionUpdated><preset id="0"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /></preset></nowSelectionUpdated></updates>')
17:11:49.048 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:11:49.050 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowSelectionUpdated'; state: Updates)
17:11:49.053 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('preset'; state: Unprocessed)
17:11:49.055 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: Unprocessed)
17:11:49.057 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
17:11:49.059 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('preset')
17:11:49.062 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowSelectionUpdated')
17:11:49.063 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:11:49.124 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowPlayingUpdated><nowPlaying deviceID="9884E3B0F11B" source="PRODUCT" sourceAccount="TV"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /><art artImageStatus="SHOW_DEFAULT_IMAGE" /><playStatus>PLAY_STATE</playStatus></nowPlaying></nowPlayingUpdated></updates>')
17:11:49.136 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:11:49.140 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlayingUpdated'; state: Updates)
17:11:49.143 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlaying'; state: MsgBody)
17:11:49.163 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: NowPlaying)
17:11:49.166 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
17:11:49.181 [ERROR] [oundtouch.internal.items.ContentItem] - Unknown SourceType: 'PRODUCT' - needs to be defined!
17:11:49.184 [ERROR] [dtouch.internal.XMLResponseProcessor] - SoundTouch 300: Could not parse XML from string '<updates deviceID="9884E3B0F11B"><nowPlayingUpdated><nowPlaying deviceID="9884E3B0F11B" source="PRODUCT" sourceAccount="TV"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /><art artImageStatus="SHOW_DEFAULT_IMAGE" /><playStatus>PLAY_STATE</playStatus></nowPlaying></nowPlayingUpdated></updates>'; exception is: 
java.lang.NullPointerException
	at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.checkOperationMode(BoseSoundTouchHandler.java:444)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.openhab.binding.bosesoundtouch.internal.XMLResponseHandler.endElement(XMLResponseHandler.java:314)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)[:1.8.0_121]
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)[:1.8.0_121]
	at org.openhab.binding.bosesoundtouch.internal.XMLResponseProcessor.handleMessage(XMLResponseProcessor.java:170)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.openhab.binding.bosesoundtouch.handler.BoseSoundTouchHandler.onWebSocketText(BoseSoundTouchHandler.java:567)[239:org.openhab.binding.bosesoundtouch:2.1.0.SNAPSHOT]
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480)[90:org.eclipse.jetty.websocket.common:9.2.19.v20160908]
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[74:org.eclipse.jetty.io:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[85:org.eclipse.jetty.util:9.2.19.v20160908]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[85:org.eclipse.jetty.util:9.2.19.v20160908]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
17:12:36.512 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><volumeUpdated><volume><targetvolume>21</targetvolume><actualvolume>21</actualvolume><muteenabled>false</muteenabled></volume></volumeUpdated></updates>')
17:12:36.518 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:12:36.519 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volumeUpdated'; state: Updates)
17:12:36.521 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: MsgBody)
17:12:36.522 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Volume)
17:12:36.524 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '21'
17:12:36.525 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
17:12:36.527 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Volume)
17:12:36.528 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeActual: '21'
17:12:36.533 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
17:12:36.535 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Volume)
17:12:36.538 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeMuteEnabled: 'false'
17:12:36.540 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
17:12:36.542 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
17:12:36.544 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volumeUpdated')
17:12:36.546 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:12:36.909 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><volumeUpdated><volume><targetvolume>22</targetvolume><actualvolume>22</actualvolume><muteenabled>false</muteenabled></volume></volumeUpdated></updates>')
17:12:36.916 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:12:36.918 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volumeUpdated'; state: Updates)
17:12:36.920 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: MsgBody)
17:12:36.928 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Volume)
17:12:36.934 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '22'
17:12:36.940 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
17:12:36.945 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Volume)
17:12:36.951 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeActual: '22'
17:12:36.961 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
17:12:36.974 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Volume)
17:12:36.977 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeMuteEnabled: 'false'
17:12:36.980 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
17:12:36.983 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
17:12:36.986 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volumeUpdated')
17:12:36.989 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:12:49.971 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:bass, -3);
17:12:50.017 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="bass" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/bass</status></body></msg>')
17:12:50.025 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
17:12:50.028 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
17:12:50.031 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
17:12:50.033 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
17:12:50.035 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
17:12:50.037 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
17:12:50.039 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
17:12:50.041 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
17:12:50.043 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('status'; state: MsgBody)
17:12:50.045 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '/bass'
17:12:50.046 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('status')
17:12:50.048 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
17:12:50.050 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
17:12:54.496 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:bass, -1);
17:12:54.513 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="bass" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/bass</status></body></msg>')
17:12:54.520 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
17:12:54.522 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
17:12:54.524 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
17:12:54.526 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
17:12:54.527 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
17:12:54.529 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
17:12:54.531 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
17:12:54.532 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
17:12:54.534 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('status'; state: MsgBody)
17:12:54.535 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '/bass'
17:12:54.537 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('status')
17:12:54.539 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
17:12:54.540 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
17:13:05.109 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="75" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:05.119 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:05.124 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:05.128 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:05.132 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:05.136 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:05.141 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:05.146 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:05.150 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:05.154 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.158 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.161 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:13:05.509 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="50" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:05.515 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:05.517 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:05.521 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:05.522 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:05.524 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:05.526 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:05.528 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:05.530 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:05.532 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.534 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.535 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:13:05.720 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="25" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:05.727 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:05.729 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:05.731 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:05.733 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:05.736 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:05.737 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:05.740 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:05.742 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:05.743 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.745 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:05.747 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:13:06.123 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="0" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:06.129 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:06.132 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:06.133 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:06.134 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:06.143 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:06.145 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:06.149 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:06.153 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:06.155 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.158 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.161 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:13:06.220 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="-25" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:06.226 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:06.228 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:06.229 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:06.231 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:06.233 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:06.235 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:06.237 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:06.238 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:06.240 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.242 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.243 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
17:13:06.319 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="-50" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
17:13:06.325 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
17:13:06.327 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
17:13:06.328 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
17:13:06.330 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
17:13:06.332 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
17:13:06.333 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
17:13:06.335 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
17:13:06.336 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
17:13:06.338 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.339 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
17:13:06.341 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')



And here the Log when i switch with the binding:

17:24:45.171 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:operationMode, HDMI);
17:24:45.174 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: OperationMode "HDMI" is not supported yet
17:24:45.191 [ERROR] [oundtouch.internal.items.ContentItem] - Unknown SourceType: 'PRODUCT' - needs to be defined!
17:24:50.628 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:operationMode, TV);
17:24:50.636 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: OperationMode "TV" is not supported yet
17:24:50.655 [ERROR] [oundtouch.internal.items.ContentItem] - Unknown SourceType: 'PRODUCT' - needs to be defined!
17:26:32.054 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:bass, 0);
17:26:32.079 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="bass" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/bass</status></body></msg>')
17:26:32.086 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
17:26:32.089 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
17:26:32.091 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
17:26:32.093 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
17:26:32.095 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
17:26:32.097 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
17:26:32.099 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
17:26:32.101 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
17:26:32.103 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('status'; state: MsgBody)
17:26:32.105 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '/bass'
17:26:32.107 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('status')
17:26:32.108 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
17:26:32.110 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
17:27:38.895 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:operationMode, INTERNET_RADIO);
17:27:38.922 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="select" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/select</status></body></msg>')

hi @crax

are you sure, you tested with the latest version?

I’m afraid my /info and /sources won’t help since I’m using non-standard firmware

For comparison to other systems, I can tell you Wireless Link Adapter has the same sources as ST10 (BT, AUX, streaming), SA-4 has only airplay and streaming, no BT or AUX.

hi @tiknx

Yes I am sure. I have loaded the binding from 14.04.17.

i have just updated the binding. Have a try

Hello @ thinx,

the HDMI and TV sources now working. I can’t control the bass over the binding …

Here my logfile:

19:02:18.279 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:02:18.281 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volumeUpdated'; state: Updates)
19:02:18.282 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: VolumeUpdated)
19:02:18.284 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during VolumeUpdated: 'volume'
19:02:18.286 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Unprocessed)
19:02:18.287 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '31'
19:02:18.289 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
19:02:18.291 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Unprocessed)
19:02:18.292 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '31'
19:02:18.294 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
19:02:18.296 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Unprocessed)
19:02:18.297 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: 'false'
19:02:18.299 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
19:02:18.301 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
19:02:18.302 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volumeUpdated')
19:02:18.305 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:02:18.380 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="volume" method="GET"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><volume deviceID="9884E3B0F11B"><targetvolume>31</targetvolume><actualvolume>31</actualvolume><muteenabled>false</muteenabled></volume></body></msg>')
19:02:18.387 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
19:02:18.399 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
19:02:18.401 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
19:02:18.403 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
19:02:18.405 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
19:02:18.407 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
19:02:18.409 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
19:02:18.410 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
19:02:18.412 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: MsgBody)
19:02:18.414 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Volume)
19:02:18.416 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeTarget: '31'
19:02:18.417 [DEBUG] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unexpected text data during VolumeTarget: '31'
19:02:18.419 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
19:02:18.421 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Volume)
19:02:18.423 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeActual: '31'
19:02:18.430 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
19:02:18.438 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Volume)
19:02:18.440 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeMuteEnabled: 'false'
19:02:18.443 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
19:02:18.446 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
19:02:18.452 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
19:02:18.455 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
19:02:18.668 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><volumeUpdated><volume><targetvolume>32</targetvolume><actualvolume>32</actualvolume><muteenabled>false</muteenabled></volume></volumeUpdated></updates>')
19:02:18.675 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:02:18.676 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volumeUpdated'; state: Updates)
19:02:18.678 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: VolumeUpdated)
19:02:18.679 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during VolumeUpdated: 'volume'
19:02:18.680 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Unprocessed)
19:02:18.682 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '32'
19:02:18.683 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
19:02:18.684 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Unprocessed)
19:02:18.686 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '32'
19:02:18.687 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
19:02:18.689 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Unprocessed)
19:02:18.690 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: 'false'
19:02:18.692 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
19:02:18.693 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
19:02:18.695 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volumeUpdated')
19:02:18.698 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:02:18.736 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="volume" method="GET"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><volume deviceID="9884E3B0F11B"><targetvolume>32</targetvolume><actualvolume>32</actualvolume><muteenabled>false</muteenabled></volume></body></msg>')
19:02:18.742 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
19:02:18.745 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
19:02:18.748 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
19:02:18.750 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
19:02:18.753 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
19:02:18.755 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
19:02:18.757 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
19:02:18.760 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
19:02:18.763 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('volume'; state: MsgBody)
19:02:18.765 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('targetvolume'; state: Volume)
19:02:18.767 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeTarget: '32'
19:02:18.770 [DEBUG] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unexpected text data during VolumeTarget: '32'
19:02:18.772 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('targetvolume')
19:02:18.775 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('actualvolume'; state: Volume)
19:02:18.777 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeActual: '32'
19:02:18.782 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('actualvolume')
19:02:18.786 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('muteenabled'; state: Volume)
19:02:18.790 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during VolumeMuteEnabled: 'false'
19:02:18.791 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('muteenabled')
19:02:18.793 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('volume')
19:02:18.796 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
19:02:18.797 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
19:02:46.041 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<userActivityUpdate deviceID="9884E3B0F11B" />')
19:02:46.049 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('userActivityUpdate'; state: INIT)
19:02:46.051 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during INIT: 'userActivityUpdate'
19:02:46.052 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('userActivityUpdate')
19:02:46.056 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowSelectionUpdated><preset id="0"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="HDMI_1" isPresetable="false" /></preset></nowSelectionUpdated></updates>')
19:02:46.064 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:02:46.067 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowSelectionUpdated'; state: Updates)
19:02:46.069 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('preset'; state: Unprocessed)
19:02:46.071 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: Unprocessed)
19:02:46.073 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
19:02:46.075 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('preset')
19:02:46.077 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowSelectionUpdated')
19:02:46.079 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:02:46.104 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowPlayingUpdated><nowPlaying deviceID="9884E3B0F11B" source="PRODUCT" sourceAccount="HDMI_1"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="HDMI_1" isPresetable="false" /><art artImageStatus="SHOW_DEFAULT_IMAGE" /><playStatus>PLAY_STATE</playStatus></nowPlaying></nowPlayingUpdated></updates>')
19:02:46.112 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:02:46.116 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlayingUpdated'; state: Updates)
19:02:46.120 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlaying'; state: MsgBody)
19:02:46.150 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: NowPlaying)
19:02:46.153 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
19:02:46.171 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('art'; state: NowPlaying)
19:02:46.174 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('art')
19:02:46.176 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('playStatus'; state: NowPlaying)
19:02:46.178 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during NowPlayingPlayStatus: 'PLAY_STATE'
19:02:46.183 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('playStatus')
19:02:46.186 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowPlaying')
19:02:46.192 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowPlayingUpdated')
19:02:46.195 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:12.152 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<userActivityUpdate deviceID="9884E3B0F11B" />')
19:03:12.158 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('userActivityUpdate'; state: INIT)
19:03:12.159 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during INIT: 'userActivityUpdate'
19:03:12.161 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('userActivityUpdate')
19:03:12.163 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowSelectionUpdated><preset id="0"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /></preset></nowSelectionUpdated></updates>')
19:03:12.170 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:12.172 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowSelectionUpdated'; state: Updates)
19:03:12.174 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('preset'; state: Unprocessed)
19:03:12.176 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: Unprocessed)
19:03:12.177 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
19:03:12.179 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('preset')
19:03:12.181 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowSelectionUpdated')
19:03:12.182 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:12.205 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="9884E3B0F11B"><nowPlayingUpdated><nowPlaying deviceID="9884E3B0F11B" source="PRODUCT" sourceAccount="TV"><ContentItem unusedField="0" source="PRODUCT" sourceAccount="TV" isPresetable="false" /><art artImageStatus="SHOW_DEFAULT_IMAGE" /><playStatus>PLAY_STATE</playStatus></nowPlaying></nowPlayingUpdated></updates>')
19:03:12.212 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:12.214 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlayingUpdated'; state: Updates)
19:03:12.217 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowPlaying'; state: MsgBody)
19:03:12.237 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: NowPlaying)
19:03:12.239 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('ContentItem')
19:03:12.256 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('art'; state: NowPlaying)
19:03:12.258 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('art')
19:03:12.260 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('playStatus'; state: NowPlaying)
19:03:12.262 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during NowPlayingPlayStatus: 'PLAY_STATE'
19:03:12.269 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('playStatus')
19:03:12.277 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowPlaying')
19:03:12.284 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('nowPlayingUpdated')
19:03:12.285 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:23.063 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audiodspcontrols><audiodspcontrols audiomode="AUDIO_MODE_DIALOG" videosyncaudiodelay="0" /></audiodspcontrols></updates>')
19:03:23.076 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:23.083 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audiodspcontrols'; state: Updates)
19:03:23.085 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audiodspcontrols'
19:03:23.088 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audiodspcontrols'; state: Unprocessed)
19:03:23.090 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audiodspcontrols')
19:03:23.093 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audiodspcontrols')
19:03:23.095 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:32.955 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="75" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:32.965 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:32.969 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:32.972 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:32.975 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:32.979 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:32.982 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:32.986 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:32.988 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:32.991 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:32.994 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:32.997 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:33.354 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="50" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:33.360 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:33.361 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:33.362 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:33.364 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:33.366 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:33.367 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:33.370 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:33.372 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:33.374 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:33.375 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:33.376 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:33.914 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="25" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:33.921 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:33.922 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:33.923 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:33.925 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:33.927 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:33.931 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:33.933 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:33.935 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:33.936 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:33.937 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:33.939 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:34.215 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="0" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:34.221 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:34.222 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:34.224 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:34.225 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:34.227 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:34.228 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:34.230 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:34.232 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:34.233 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.235 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.236 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:34.314 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="-25" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:34.320 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:34.322 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:34.323 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:34.325 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:34.326 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:34.328 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:34.329 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:34.331 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:34.332 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.333 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.335 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:34.861 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="0" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:34.869 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:34.874 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:34.880 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:34.882 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:34.885 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:34.887 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:34.890 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:34.893 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:34.894 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.896 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:34.898 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:35.261 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="25" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:35.268 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
19:03:35.273 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Updates)
19:03:35.280 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during Updates: 'audioproducttonecontrols'
19:03:35.282 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('audioproducttonecontrols'; state: Unprocessed)
19:03:35.285 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('bass'; state: Unprocessed)
19:03:35.287 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('bass')
19:03:35.289 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('treble'; state: Unprocessed)
19:03:35.291 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('treble')
19:03:35.293 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:35.295 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('audioproducttonecontrols')
19:03:35.297 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('updates')
19:03:35.376 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID='9884E3B0F11B'><audioproducttonecontrols><audioproducttonecontrols><bass value="50" minValue="-100" maxValue="100" step="25" /><treble value="0" minValue="-100" maxValue="100" step="25" /></audioproducttonecontrols></audioproducttonecontrols></updates>')
19:03:35.382 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)

thanks

1 Like

one more log: :wink:

in this case I switched the bass with the binding

19:07:21.916 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:bass, 3);
19:07:21.986 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="bass" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/bass</status></body></msg>')
19:07:21.993 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
19:07:21.996 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
19:07:21.998 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
19:07:22.001 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
19:07:22.004 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
19:07:22.007 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
19:07:22.010 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
19:07:22.012 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
19:07:22.015 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('status'; state: MsgBody)
19:07:22.018 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '/bass'
19:07:22.021 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('status')
19:07:22.023 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
19:07:22.026 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')
19:07:30.262 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:bass, 4);
19:07:30.281 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<?xml version="1.0" encoding="UTF-8" ?><msg><header deviceID="9884E3B0F11B" url="bass" method="POST"><request requestID="0" msgType="RESPONSE"><info type="new" /></request></header><body><status>/bass</status></body></msg>')
19:07:30.293 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('msg'; state: INIT)
19:07:30.298 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('header'; state: Msg)
19:07:30.302 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('request'; state: MsgHeader)
19:07:30.306 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('info'; state: Unprocessed)
19:07:30.309 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('info')
19:07:30.313 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('request')
19:07:30.317 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('header')
19:07:30.320 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('body'; state: Msg)
19:07:30.324 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('status'; state: MsgBody)
19:07:30.327 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: '/bass'
19:07:30.331 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('status')
19:07:30.334 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('body')
19:07:30.338 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('msg')

hi @crax
nice to here, that source is working now.
i had a look at the log you posted. It seems bass handling works quite different on the 300.

Please post your result of

http://ip_of_your_bose:8090/bass
http://ip_of_your_bose:8090/bassCapabilities

HI @tiknx
here my results:

http://ip_of_your_bose:8090/bass = 00
http://ip_of_your_bose:8090/bassCapabilities = false

hi @crax
please increase your bass, and post again /bass
and please also try /treble

setting bass works in an other way than with 10/20/30 etc.

Hi @tiknx

the bass setting is currently at the max value.

<bass deviceID="xxxxxxx">
<targetbass>0</targetbass>
<actualbass>0</actualbass>
</bass>

when I increase the bass, the same is shown below /bass.

<bassCapabilities deviceID="xxxxxxx">
<bassAvailable>false</bassAvailable>
</bassCapabilities>
Object Not Found
The requested URL '/treble' was not found on the RomPager Advanced server.

Hi @tiknx

the presets is no longer working…

23:00:24.409 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:xxxxxxx:preset, PRESET_1);
23:00:24.412 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: Invalid command type: class org.eclipse.smarthome.core.library.types.StringType: PRESET_1

only when I switch over the remote & app it works.

23:00:36.802 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<userActivityUpdate deviceID="xxxxxxx" />')
23:00:36.808 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('userActivityUpdate'; state: INIT)
23:00:36.810 [WARN ] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Unhandled XML entity during INIT: 'userActivityUpdate'
23:00:36.812 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('userActivityUpdate')
23:00:36.814 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: onWebSocketText('<updates deviceID="xxxxxxx"><nowSelectionUpdated><preset id="1"><ContentItem unusedField="0" source="INTERNET_RADIO" location="25219" sourceAccount="" isPresetable="true"><itemName>bigFM - Deutschlands biggste Beats</itemName><containerArt>http://item.radio456.com/007452/logo/logo-25219.jpg</containerArt></ContentItem></preset></nowSelectionUpdated></updates>')
23:00:36.822 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('updates'; state: INIT)
23:00:36.827 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('nowSelectionUpdated'; state: Updates)
23:00:36.830 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('preset'; state: Unprocessed)
23:00:36.832 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('ContentItem'; state: Unprocessed)
23:00:36.834 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: startElement('itemName'; state: Unprocessed)
23:00:36.836 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: Text data during Unprocessed: 'bigFM - Deutschlands biggste Beats'
23:00:36.837 [TRACE] [undtouch.internal.XMLResponseHandler] - SoundTouch 300: endElement('itemName')

Yes thats right.
PRESETS is now a number. PRESET_1 --> 1 etc.

I might have missed it somewhere, but just to make sure, are you guys seeing issues because the Bass speaker is an optional add-on with the SoundTouch 300 (called the Acoustimass 300)?

@mishakim
this might be the problem. It seems there is no official API for this device

Dear Chris, Thomas,

thank you for putting so much work in the Bose Binding.
As I happen to own a Soundtouch 300 Soundbar and an SoundTouch Wireless Link Adapter from your list.
I’m more than willing to help
Soundbar is running with Acoustimas 300 Sub and Virt.Inv. 300 Sourround Speakers.

SoundTouch 300 Soundbar Info:

<?xml version="1.0" encoding="UTF-8"?>
<info deviceID="38D269D10DDD">
<name>SoundTouch 300 Wohnzimmer</name>
<type>SoundTouch 300</type>
<margeAccountUUID>123456</margeAccountUUID>
<components>
<component>
<componentCategory>SCM</componentCategory>
<softwareVersion>14.0.33.34225.2189603 epdbuild.trunk.cepeswbld01.2017-03-01T13:23:04</softwareVersion>
<serialNumber>********</serialNumber>
</component>
<component>
<componentCategory>PackagedProduct</componentCategory>
<serialNumber>********</serialNumber>
</component>
<component>
<componentCategory>SpeakerPackage</componentCategory>
<softwareVersion>1.5.10.2189599</softwareVersion>
<serialNumber>********</serialNumber>
</component>
</components>
<margeURL>https://streaming.bose.com</margeURL>
<networkInfo type="SCM">
<macAddress>38D269D10DDD</macAddress>
<ipAddress>192.168.188.19</ipAddress>
</networkInfo>
<networkInfo type="SMSC">
<macAddress>38D269D10DDD</macAddress>
<ipAddress>192.168.188.19</ipAddress>
</networkInfo>
<moduleType>sm2</moduleType>
<variant>ginger</variant>
<variantMode>noap</variantMode>
<countryCode>GB</countryCode>
<regionCode>GB</regionCode>
</info>

SoundTouch 300 Soundbar Sources:

<?xml version="1.0" encoding="UTF-8"?>
<sources deviceID="606405E3FDDB">
<sourceItem isLocal="false" status="READY" source="INTERNET_RADIO"/>
<sourceItem isLocal="true" status="READY" sourceAccount="TV" source="PRODUCT">TV</sourceItem>
<sourceItem isLocal="true" status="READY" source="BLUETOOTH"/>
<sourceItem isLocal="true" status="UNAVAILABLE" sourceAccount="HDMI_1" source="PRODUCT">HDMI_1</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="QPlay1UserName" source="QPLAY">QPlay1UserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="QPlay2UserName" source="QPLAY">QPlay2UserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="StoredMusicUserName" source="STORED_MUSIC_MEDIA_RENDERER">StoredMusicUserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="UPnPUserName" source="UPNP">UPnPUserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" source="NOTIFICATION"/>
<sourceItem isLocal="false" status="UNAVAILABLE" source="SPOTIFY"/>
<sourceItem isLocal="false" status="READY" sourceAccount="4d696e69-444c-164e-9d41-******" source="STORED_MUSIC">SCNAS</sourceItem>
</sources>

SoundTouch 300 Soundbar Bass:

<?xml version="1.0" encoding="UTF-8"?>
<bass deviceID="606405E3FDDB">
<targetbass>0</targetbass>
<actualbass>0</actualbass>
</bass>

SoundTouch 300 Soundbar BassCapabilities:

<?xml version="1.0" encoding="UTF-8"?>
<bassCapabilities deviceID="606405E3FDDB">
<bassAvailable>false</bassAvailable>
</bassCapabilities>

SoundTouch Wireless Link Adapter Info:

<?xml version="1.0" encoding="UTF-8"?>
<info deviceID="506583DE7838">
<name>STW LA</name>
<type>SoundTouch Wireless Link Adapter</type>
<margeAccountUUID>123456</margeAccountUUID>
<components>
<component>
<componentCategory>SCM</componentCategory>
<softwareVersion>14.0.33.34225.2189603 epdbuild.trunk.cepeswbld01.2017-03-01T13:23:04</softwareVersion>
<serialNumber>**************</serialNumber>
</component>
<component>
<componentCategory>PackagedProduct</componentCategory>
<serialNumber>**********</serialNumber>
</component>
</components>
<margeURL>https://streaming.bose.com</margeURL>
<networkInfo type="SCM">
<macAddress>506583DE7838</macAddress>
<ipAddress>192.168.188.17</ipAddress>
</networkInfo>
<networkInfo type="SMSC">
<macAddress>F0C77FCC179F</macAddress>
<ipAddress>192.168.188.17</ipAddress>
</networkInfo>
<moduleType>sm2</moduleType>
<variant>binky</variant>
<variantMode>normal</variantMode>
<countryCode>GB</countryCode>
<regionCode>GB</regionCode>
</info>

SoundTouch Wireless Link Adapter Sources:

<?xml version="1.0" encoding="UTF-8"?>
<sources deviceID="506583DE7838">
<sourceItem isLocal="true" status="READY" sourceAccount="AUX" source="AUX">AUX IN</sourceItem>
<sourceItem isLocal="false" status="READY" sourceAccount="4d696e69-444c-164e-9d41-1234567/0" source="STORED_MUSIC">SCNAS</sourceItem>
<sourceItem isLocal="false" status="READY" source="INTERNET_RADIO"/>
<sourceItem isLocal="false" status="UNAVAILABLE" source="NOTIFICATION"/>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="UPnPUserName" source="UPNP">UPnPUserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="StoredMusicUserName" source="STORED_MUSIC_MEDIA_RENDERER">StoredMusicUserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="QPlay1UserName" source="QPLAY">QPlay1UserName</sourceItem>
<sourceItem isLocal="true" status="READY" source="BLUETOOTH"/>
<sourceItem isLocal="false" status="UNAVAILABLE" sourceAccount="QPlay2UserName" source="QPLAY">QPlay2UserName</sourceItem>
<sourceItem isLocal="false" status="UNAVAILABLE" source="SPOTIFY"/>
</sources>

SoundTouch Wireless Link Adapter Bass:

<?xml version="1.0" encoding="UTF-8"?>
<bass deviceID="506583DE7838">
<targetbass>0</targetbass>
<actualbass>0</actualbass>
</bass>

SoundTouch Wireless Link Adapter BassCapabilities:

<?xml version="1.0" encoding="UTF-8"?>
<bassCapabilities deviceID="506583DE7838">
<bassAvailable>false</bassAvailable>
</bassCapabilities>

If you need more Info, or somebody to test.
Let me know

@mc1271
Thank you for the XMLs. Nice to see them in real. Although they are as i expected, it’s nice to have a proof.

I have currently no idea how to manage bass on the 300. I think this will not work.

Hi @tiknx

The presets do not work. I receive this error in the logs, if I switch over the habpanel …

19:41:24.848 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:preset, 3);
19:41:24.849 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: Invalid command type: class org.eclipse.smarthome.core.library.types.StringType: 3
19:41:26.345 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:preset, 2);
19:41:26.346 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: Invalid command type: class org.eclipse.smarthome.core.library.types.StringType: 2
19:41:27.238 [DEBUG] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: handleCommand(bosesoundtouch:device:9884E3B0F11B:preset, 1);
19:41:27.239 [WARN ] [dtouch.handler.BoseSoundTouchHandler] - SoundTouch 300: Invalid command type: class org.eclipse.smarthome.core.library.types.StringType: 1