homebridge-virtual-accessories 3.7.5 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,35 @@
1
+ import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
+ import { VirtualAccessoriesPlatform } from '../platform.js';
3
+ import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
4
+ import { ExternalAccessory } from './externalAccessory.js';
5
+ /**
6
+ * SmartSpeaker - Accessory implementation
7
+ */
8
+ export declare class SmartSpeaker extends ExternalAccessory {
9
+ static readonly ACCESSORY_TYPE_NAME: string;
10
+ static readonly PLAY: number;
11
+ static readonly PAUSE: number;
12
+ static readonly STOP: number;
13
+ static readonly LOADING: number;
14
+ static readonly INTERRUPTED: number;
15
+ static readonly MUTED: boolean;
16
+ static readonly UNMUTED: boolean;
17
+ private readonly stateStorageKey;
18
+ private readonly muteStorageKey;
19
+ private readonly volumeStorageKey;
20
+ private readonly configuredNameStorageKey;
21
+ private states;
22
+ constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
23
+ getCurrentMediaState(): Promise<CharacteristicValue>;
24
+ setTargetMediaState(value: CharacteristicValue): Promise<void>;
25
+ getTargetMediaState(): Promise<CharacteristicValue>;
26
+ setConfiguredName(value: CharacteristicValue): Promise<void>;
27
+ getConfiguredName(): Promise<CharacteristicValue>;
28
+ setVolume(value: CharacteristicValue): Promise<void>;
29
+ getVolume(): Promise<CharacteristicValue>;
30
+ setMute(value: CharacteristicValue): Promise<void>;
31
+ getMute(): Promise<CharacteristicValue>;
32
+ protected getJsonState(): string;
33
+ protected getAccessoryTypeName(): string;
34
+ static getStateName(state: number): string;
35
+ }
@@ -0,0 +1,164 @@
1
+ import { ExternalAccessory } from './externalAccessory.js';
2
+ /**
3
+ * SmartSpeaker - Accessory implementation
4
+ */
5
+ export class SmartSpeaker extends ExternalAccessory {
6
+ static ACCESSORY_TYPE_NAME = 'SmartSpeaker';
7
+ static PLAY = 0; // Characteristic.CurrentMediaState.PLAY - Characteristic.TargetMediaState.PLAY
8
+ static PAUSE = 1; // Characteristic.CurrentMediaState.PAUSE - Characteristic.TargetMediaState.PAUSE
9
+ static STOP = 2; // Characteristic.CurrentMediaState.STOP - Characteristic.TargetMediaState.STOP
10
+ static LOADING = 3; // Characteristic.CurrentMediaState.LOADING
11
+ static INTERRUPTED = 4; // Characteristic.CurrentMediaState.INTERRUPTED
12
+ static MUTED = true; // Characteristic.Mute
13
+ static UNMUTED = false; // Characteristic.Mute
14
+ stateStorageKey = 'SmartSpeakerState';
15
+ muteStorageKey = 'SmartSpeakerMuteState';
16
+ volumeStorageKey = 'SmartSpeakerVolume';
17
+ configuredNameStorageKey = 'SmartSpeakerConfiguredName';
18
+ states = {
19
+ CurrentMediaState: SmartSpeaker.STOP,
20
+ TargetMediaState: SmartSpeaker.STOP,
21
+ ConfiguredName: '',
22
+ Mute: SmartSpeaker.UNMUTED,
23
+ Volume: 100,
24
+ };
25
+ constructor(platform, accessory, accessoryConfiguration) {
26
+ super(platform, accessory, accessoryConfiguration);
27
+ // First configure the device based on the accessory details
28
+ this.states.CurrentMediaState = SmartSpeaker.STOP;
29
+ this.states.ConfiguredName = this.accessoryConfiguration.accessoryName;
30
+ this.states.Mute = (this.accessoryConfiguration.speaker.mute !== undefined) ? this.accessoryConfiguration.speaker.mute : SmartSpeaker.UNMUTED;
31
+ this.states.Volume = this.accessoryConfiguration.speaker.volume;
32
+ // If the accessory is stateful retrieve stored state
33
+ if (this.accessoryConfiguration.accessoryIsStateful) {
34
+ const accessoryState = this.loadAccessoryState(this.storagePath);
35
+ const cachedState = accessoryState[this.stateStorageKey];
36
+ const cachedMute = accessoryState[this.muteStorageKey];
37
+ const cachedVolume = accessoryState[this.volumeStorageKey];
38
+ const cachedConfiguredName = accessoryState[this.configuredNameStorageKey];
39
+ if (cachedState !== undefined) {
40
+ this.states.CurrentMediaState = cachedState;
41
+ }
42
+ if (cachedMute !== undefined) {
43
+ this.states.Mute = cachedMute;
44
+ }
45
+ if (cachedVolume !== undefined) {
46
+ this.states.Volume = cachedVolume;
47
+ }
48
+ if (cachedConfiguredName !== undefined) {
49
+ this.states.ConfiguredName = cachedConfiguredName;
50
+ }
51
+ }
52
+ this.states.TargetMediaState = this.states.CurrentMediaState;
53
+ // set accessory information
54
+ this.service = this.accessory.getService(this.platform.Service.SmartSpeaker) || this.accessory.addService(this.platform.Service.SmartSpeaker);
55
+ this.service.setCharacteristic(this.platform.Characteristic.Name, this.accessoryConfiguration.accessoryName);
56
+ // register handlers
57
+ this.service.getCharacteristic(this.platform.Characteristic.CurrentMediaState)
58
+ .onGet(this.getCurrentMediaState.bind(this));
59
+ this.service.getCharacteristic(this.platform.Characteristic.TargetMediaState)
60
+ .onSet(this.setTargetMediaState.bind(this))
61
+ .onGet(this.getTargetMediaState.bind(this));
62
+ this.service.getCharacteristic(this.platform.Characteristic.ConfiguredName)
63
+ .onSet(this.setConfiguredName.bind(this))
64
+ .onGet(this.getConfiguredName.bind(this));
65
+ this.service.getCharacteristic(this.platform.Characteristic.Mute)
66
+ .onSet(this.setMute.bind(this))
67
+ .onGet(this.getMute.bind(this));
68
+ this.service.getCharacteristic(this.platform.Characteristic.Volume)
69
+ .onSet(this.setVolume.bind(this))
70
+ .onGet(this.getVolume.bind(this));
71
+ }
72
+ // Handlers
73
+ async getCurrentMediaState() {
74
+ const speakerState = this.states.CurrentMediaState;
75
+ this.log.debug(`[${this.accessoryConfiguration.accessoryName}] Getting Current Media State: ${SmartSpeaker.getStateName(speakerState)}`);
76
+ return speakerState;
77
+ }
78
+ async setTargetMediaState(value) {
79
+ this.states.TargetMediaState = value;
80
+ this.states.CurrentMediaState = this.states.TargetMediaState;
81
+ this.storeState();
82
+ this.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Target Media State: ${SmartSpeaker.getStateName(this.states.TargetMediaState)}`);
83
+ }
84
+ async getTargetMediaState() {
85
+ const speakerState = this.states.TargetMediaState;
86
+ this.log.debug(`[${this.accessoryConfiguration.accessoryName}] Getting Target Media State: ${SmartSpeaker.getStateName(speakerState)}`);
87
+ return speakerState;
88
+ }
89
+ async setConfiguredName(value) {
90
+ this.states.ConfiguredName = value;
91
+ this.storeState();
92
+ this.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Configured Name: ${this.states.ConfiguredName}`);
93
+ }
94
+ async getConfiguredName() {
95
+ const configuredName = this.states.ConfiguredName;
96
+ this.log.debug(`[${this.accessoryConfiguration.accessoryName}] Getting Configured Name: ${configuredName}`);
97
+ return configuredName;
98
+ }
99
+ async setVolume(value) {
100
+ this.states.Volume = value;
101
+ this.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Volume: ${this.states.Volume}`);
102
+ }
103
+ async getVolume() {
104
+ const volume = this.states.Volume;
105
+ this.log.debug(`[${this.accessoryConfiguration.accessoryName}] Getting Volume: ${volume}`);
106
+ return volume;
107
+ }
108
+ async setMute(value) {
109
+ this.states.Mute = value;
110
+ this.log.info(`[${this.accessoryConfiguration.accessoryName}] Setting Mute: ${this.states.Mute}`);
111
+ }
112
+ async getMute() {
113
+ const mute = this.states.Mute;
114
+ this.log.debug(`[${this.accessoryConfiguration.accessoryName}] Getting Mute: ${mute}`);
115
+ return mute;
116
+ }
117
+ getJsonState() {
118
+ const jsonState = {
119
+ [this.stateStorageKey]: this.states.CurrentMediaState,
120
+ [this.configuredNameStorageKey]: this.states.ConfiguredName,
121
+ [this.muteStorageKey]: this.states.Mute,
122
+ [this.volumeStorageKey]: this.states.Volume,
123
+ };
124
+ const json = JSON.stringify(jsonState);
125
+ return json;
126
+ }
127
+ getAccessoryTypeName() {
128
+ return SmartSpeaker.ACCESSORY_TYPE_NAME;
129
+ }
130
+ static getStateName(state) {
131
+ let stateName;
132
+ switch (state) {
133
+ case undefined: {
134
+ stateName = 'undefined';
135
+ break;
136
+ }
137
+ case SmartSpeaker.PLAY: {
138
+ stateName = 'PLAY';
139
+ break;
140
+ }
141
+ case SmartSpeaker.PAUSE: {
142
+ stateName = 'PAUSE';
143
+ break;
144
+ }
145
+ case SmartSpeaker.STOP: {
146
+ stateName = 'STOP';
147
+ break;
148
+ }
149
+ case SmartSpeaker.LOADING: {
150
+ stateName = 'LOADING';
151
+ break;
152
+ }
153
+ case SmartSpeaker.INTERRUPTED: {
154
+ stateName = 'INTERRUPTED';
155
+ break;
156
+ }
157
+ default: {
158
+ stateName = state.toString();
159
+ }
160
+ }
161
+ return stateName;
162
+ }
163
+ }
164
+ //# sourceMappingURL=virtualAccessorySmartSpeaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualAccessorySmartSpeaker.js","sourceRoot":"","sources":["../../src/accessories/virtualAccessorySmartSpeaker.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ import { HumidifierDehumidifier } from './accessories/virtualAccessoryHumidifier
9
9
  import { Lightbulb } from './accessories/virtualAccessoryLightbulb.js';
10
10
  import { Lock } from './accessories/virtualAccessoryLock.js';
11
11
  import { SecuritySystem } from './accessories/virtualAccessorySecuritySystem.js';
12
- import { Speaker } from './accessories/virtualAccessorySpeaker.js';
12
+ import { SmartSpeaker } from './accessories/virtualAccessorySmartSpeaker.js';
13
+ //import { Speaker } from './accessories/virtualAccessorySpeaker.js';
13
14
  import { Switch } from './accessories/virtualAccessorySwitch.js';
14
15
  import { Television } from './accessories/virtualAccessoryTelevision.js';
15
16
  import { Valve } from './accessories/virtualAccessoryValve.js';
@@ -73,7 +74,7 @@ export class AccessoryFactory {
73
74
  virtualAccessory = new SecuritySystem(platform, accessory, accessoryConfiguration);
74
75
  break;
75
76
  case AccessoryType.Speaker:
76
- virtualAccessory = new Speaker(platform, accessory, accessoryConfiguration);
77
+ virtualAccessory = new SmartSpeaker(platform, accessory, accessoryConfiguration);
77
78
  break;
78
79
  case AccessoryType.Switch:
79
80
  virtualAccessory = new Switch(platform, accessory, accessoryConfiguration);
@@ -1 +1 @@
1
- {"version":3,"file":"accessoryFactory.js","sourceRoot":"","sources":["../src/accessoryFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessoryFactory.js","sourceRoot":"","sources":["../src/accessoryFactory.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { AudioAccessoryConfiguration } from '../configurationAudioAccessoryConfiguration.js';
2
1
  /**
3
2
  *
4
3
  */
5
- export declare class SpeakerConfiguration extends AudioAccessoryConfiguration {
4
+ export declare class SpeakerConfiguration {
5
+ volume: number;
6
+ mute: boolean;
6
7
  private errorFields;
7
8
  readonly fieldNames: { [P in keyof this]?: P | undefined; };
8
9
  isValid(prefix: string): [boolean, string[]];
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable curly */
2
- import { AudioAccessoryConfiguration } from '../configurationAudioAccessoryConfiguration.js';
3
2
  import { Utils } from '../../utils/utils.js';
4
3
  /**
5
4
  *
6
5
  */
7
- export class SpeakerConfiguration extends AudioAccessoryConfiguration {
8
- // volume!: number;
9
- // mute!: boolean;
6
+ export class SpeakerConfiguration {
7
+ volume;
8
+ mute;
10
9
  errorFields = [];
11
10
  fieldNames = Utils.proxiedPropertiesOf(this);
12
11
  isValid(prefix) {
@@ -1 +1 @@
1
- {"version":3,"file":"configurationSpeaker.js","sourceRoot":"","sources":["../../../src/configuration/accessories/configurationSpeaker.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,2BAA2B;IACnE,mBAAmB;IACnB,kBAAkB;IAEV,WAAW,GAAa,EAAE,CAAC;IAE1B,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAc;QACpB,MAAM,aAAa,GAAY,CAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAChC,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjF,OAAO;YACL,CAAC,aAAa,CAAC;YACf,IAAI,CAAC,WAAW;SACjB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"configurationSpeaker.js","sourceRoot":"","sources":["../../../src/configuration/accessories/configurationSpeaker.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAU;IAChB,IAAI,CAAW;IAEP,WAAW,GAAa,EAAE,CAAC;IAE1B,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAc;QACpB,MAAM,aAAa,GAAY,CAC7B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAChC,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjF,OAAO;YACL,CAAC,aAAa,CAAC;YACf,IAAI,CAAC,WAAW;SACjB,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "homebridge-virtual-accessories",
3
3
  "displayName": "Virtual Accessories for Homebridge",
4
4
  "type": "module",
5
- "version": "3.7.5",
5
+ "version": "3.8.0",
6
6
  "description": "Virtual HomeKit accessories for Homebridge.",
7
7
  "author": "justjam2013",
8
8
  "license": "MIT",