Skip to content

Commit

Permalink
Revert "subscribeState calls eliminated"
Browse files Browse the repository at this point in the history
This reverts commit 8ce73e1.
  • Loading branch information
Uwe1958 committed Oct 5, 2024
1 parent b120cc7 commit 85c56fa
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ Change Volume (triggered by changing '.control.volume')

### **WORK IN PROGRESS**

- (Uwe Nagel) state roles set according to standard
- (Uwe Nagel) subscribeState calls eliminated
- (Uwe Nagel) Instance prefixes in ObjectIds are omitted when calling setState()
- (Uwe Nagel) State change now honors ack flag
Expand Down
26 changes: 26 additions & 0 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,9 @@ class Bluesound extends utils.Adapter {
// set Info

let sNameTag = 'info.name';
this.subscribeStates(sNameTag);
const sModelNameTag = 'info.modelname';
this.subscribeStates(sModelNameTag);
try {
const response = await apiClient.get('/SyncStatus');
if (response.status === 200) {
Expand All @@ -96,15 +98,19 @@ class Bluesound extends utils.Adapter {

// stop = false
sNameTag = 'control.stop';
this.subscribeStates(sNameTag);
this.setState(sNameTag, false, true);
// pause = false
sNameTag = 'control.pause';
this.subscribeStates(sNameTag);
this.setState(sNameTag, false, true);
// play = false
sNameTag = 'control.play';
this.subscribeStates(sNameTag);
this.setState(sNameTag, false, true);
// state = ""
sNameTag = 'control.state';
this.subscribeStates(sNameTag);
this.setState(sNameTag, '', true);

// volume from player
Expand All @@ -118,9 +124,11 @@ class Bluesound extends utils.Adapter {
return;
}
sNameTag = 'control.volume';
this.subscribeStates(sNameTag);
this.setState(sNameTag, parseInt(result.volume._), true);

sNameTag = 'info.volume';
this.subscribeStates(sNameTag);
this.setState(sNameTag, parseInt(result.volume._), true);
});
} else {
Expand Down Expand Up @@ -159,6 +167,7 @@ class Bluesound extends utils.Adapter {
const sTag = `presets.preset${sPresetID}.${obj.common.name}`;
for (const x in data1) {
if (x == obj.common.name) {
this.subscribeStates(sTag);
if (obj.common.type == 'number') {
this.setState(sTag, parseInt(data1[x]), true);
} else {
Expand Down Expand Up @@ -245,6 +254,7 @@ class Bluesound extends utils.Adapter {
return;
}
const sStateTag = 'control.state';
this.subscribeStates(sStateTag);
this.setState(sStateTag, result.state, true);
this.log.info(`${this.namespace} Preset${preset} Start`);
});
Expand All @@ -269,6 +279,7 @@ class Bluesound extends utils.Adapter {
return;
}
const sStateTag = 'control.state';
this.subscribeStates(sStateTag);
this.setState(sStateTag, result.state, true);
this.log.info(`${this.namespace} Pause`);
});
Expand All @@ -290,6 +301,7 @@ class Bluesound extends utils.Adapter {
return;
}
const sStateTag = 'control.state';
this.subscribeStates(sStateTag);
this.setState(sStateTag, result.state, true);
this.log.info(`${this.namespace} Stop`);
});
Expand All @@ -312,6 +324,7 @@ class Bluesound extends utils.Adapter {
return;
}
const sStateTag = 'control.state';
this.subscribeStates(sStateTag);
this.setState(sStateTag, result.state, true);
this.log.info(`${this.namespace} Play`);
});
Expand Down Expand Up @@ -373,6 +386,7 @@ class Bluesound extends utils.Adapter {

async clearPlayerStatus() {
let i;
this.subscribeStates('info.title*');
for (i = 1; i < 4; i++) {
const sStateTag = `info.title${i}`;
await this.setStateAsync(sStateTag, { val: '', ack: true });
Expand Down Expand Up @@ -450,10 +464,13 @@ class Bluesound extends utils.Adapter {

if (pState != pStateOld.val) {
const sStateTag = 'control.state';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: pState, ack: true });
}

if (pState == 'stream' || pState == 'play') {
this.subscribeStates('info.title*');

for (i = 1; i < 4; i++) {
const sStateTag = `info.title${i}`;
const valOld = await this.getStateAsync(sStateTag);
Expand All @@ -464,18 +481,23 @@ class Bluesound extends utils.Adapter {
}

let sStateTag = 'info.secs';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: parseInt(varSecs), ack: true });

sStateTag = 'info.totlen';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: parseInt(varTotLen), ack: true });

sStateTag = 'info.str_secs';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: strSecs, ack: true });

sStateTag = 'info.str_totlen';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: strTotLen, ack: true });

sStateTag = 'info.image';
this.subscribeStates(sStateTag);
let valOld = await this.getStateAsync(sStateTag);

if (valOld.val != imageUrl) {
Expand All @@ -484,6 +506,7 @@ class Bluesound extends utils.Adapter {
}

sStateTag = 'info.volume';
this.subscribeStates(sStateTag);
valOld = await this.getStateAsync(sStateTag);
if (valOld.val != varVolume) {
await this.setStateAsync(sStateTag, { val: parseInt(varVolume), ack: true });
Expand All @@ -496,12 +519,15 @@ class Bluesound extends utils.Adapter {
}

let sStateTag = 'info.secs';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: 0, ack: true });

sStateTag = 'info.totlen';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: 0, ack: true });

sStateTag = 'info.image';
this.subscribeStates(sStateTag);
await this.setStateAsync(sStateTag, { val: '', ack: true });
}
} else {
Expand Down

0 comments on commit 85c56fa

Please sign in to comment.