hap-nodejs 1.1.1-beta.1 → 1.1.1-beta.3
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.
- package/@types/bonjour-hap.d.ts +50 -53
- package/README.md +16 -19
- package/dist/accessories/AirConditioner_accessory.js +28 -30
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +69 -81
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +141 -136
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +18 -22
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +33 -35
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +42 -44
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +32 -34
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +25 -26
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +13 -16
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +20 -22
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +18 -20
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +34 -37
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +43 -45
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +12 -15
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +9 -12
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +11 -14
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +37 -38
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/accessories/types.d.ts +63 -63
- package/dist/accessories/types.d.ts.map +1 -1
- package/dist/accessories/types.js +83 -87
- package/dist/accessories/types.js.map +1 -1
- package/dist/index.d.ts +26 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -34
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts +1 -1
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js +19 -21
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +39 -38
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +314 -292
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +7 -7
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +128 -136
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +1 -1
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js +2 -6
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +40 -41
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +204 -208
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +31 -30
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +220 -229
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +22 -22
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +63 -67
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +2 -1
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +28 -44
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +34 -33
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +179 -151
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts +19 -17
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +160 -151
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.d.ts +3 -3
- package/dist/lib/camera/index.d.ts.map +1 -1
- package/dist/lib/camera/index.js +3 -6
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +152 -144
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +22 -20
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +74 -78
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +4 -4
- package/dist/lib/controller/Controller.d.ts.map +1 -1
- package/dist/lib/controller/Controller.js +5 -8
- package/dist/lib/controller/Controller.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts +5 -4
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +9 -13
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +39 -37
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +208 -197
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.d.ts +5 -5
- package/dist/lib/controller/index.d.ts.map +1 -1
- package/dist/lib/controller/index.js +5 -8
- package/dist/lib/controller/index.js.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
- package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +39 -39
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +1 -0
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +57 -77
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +23 -22
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +154 -164
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.d.ts +3 -3
- package/dist/lib/datastream/index.d.ts.map +1 -1
- package/dist/lib/datastream/index.js +3 -6
- package/dist/lib/datastream/index.js.map +1 -1
- package/dist/lib/dbus/align.d.ts +2 -0
- package/dist/lib/dbus/align.d.ts.map +1 -0
- package/dist/lib/dbus/align.js +12 -0
- package/dist/lib/dbus/align.js.map +1 -0
- package/dist/lib/dbus/bus.d.ts +38 -0
- package/dist/lib/dbus/bus.d.ts.map +1 -0
- package/dist/lib/dbus/bus.js +222 -0
- package/dist/lib/dbus/bus.js.map +1 -0
- package/dist/lib/dbus/constants.d.ts +43 -0
- package/dist/lib/dbus/constants.d.ts.map +1 -0
- package/dist/lib/dbus/constants.js +53 -0
- package/dist/lib/dbus/constants.js.map +1 -0
- package/dist/lib/dbus/dbus-buffer.d.ts +30 -0
- package/dist/lib/dbus/dbus-buffer.d.ts.map +1 -0
- package/dist/lib/dbus/dbus-buffer.js +175 -0
- package/dist/lib/dbus/dbus-buffer.js.map +1 -0
- package/dist/lib/dbus/handshake.d.ts +2 -0
- package/dist/lib/dbus/handshake.d.ts.map +1 -0
- package/dist/lib/dbus/handshake.js +130 -0
- package/dist/lib/dbus/handshake.js.map +1 -0
- package/dist/lib/dbus/index.d.ts +3 -0
- package/dist/lib/dbus/index.d.ts.map +1 -0
- package/dist/lib/dbus/index.js +123 -0
- package/dist/lib/dbus/index.js.map +1 -0
- package/dist/lib/dbus/introspect.d.ts +30 -0
- package/dist/lib/dbus/introspect.d.ts.map +1 -0
- package/dist/lib/dbus/introspect.js +208 -0
- package/dist/lib/dbus/introspect.js.map +1 -0
- package/dist/lib/dbus/marshall.d.ts +2 -0
- package/dist/lib/dbus/marshall.d.ts.map +1 -0
- package/dist/lib/dbus/marshall.js +97 -0
- package/dist/lib/dbus/marshall.js.map +1 -0
- package/dist/lib/dbus/marshallers.d.ts +10 -0
- package/dist/lib/dbus/marshallers.d.ts.map +1 -0
- package/dist/lib/dbus/marshallers.js +329 -0
- package/dist/lib/dbus/marshallers.js.map +1 -0
- package/dist/lib/dbus/message.d.ts +4 -0
- package/dist/lib/dbus/message.d.ts.map +1 -0
- package/dist/lib/dbus/message.js +116 -0
- package/dist/lib/dbus/message.js.map +1 -0
- package/dist/lib/dbus/put.d.ts +21 -0
- package/dist/lib/dbus/put.d.ts.map +1 -0
- package/dist/lib/dbus/put.js +120 -0
- package/dist/lib/dbus/put.js.map +1 -0
- package/dist/lib/dbus/readline.d.ts +2 -0
- package/dist/lib/dbus/readline.d.ts.map +1 -0
- package/dist/lib/dbus/readline.js +27 -0
- package/dist/lib/dbus/readline.js.map +1 -0
- package/dist/lib/dbus/signature.d.ts +2 -0
- package/dist/lib/dbus/signature.d.ts.map +1 -0
- package/dist/lib/dbus/signature.js +58 -0
- package/dist/lib/dbus/signature.js.map +1 -0
- package/dist/lib/dbus/stdifaces.d.ts +3 -0
- package/dist/lib/dbus/stdifaces.d.ts.map +1 -0
- package/dist/lib/dbus/stdifaces.js +206 -0
- package/dist/lib/dbus/stdifaces.js.map +1 -0
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +958 -1204
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +620 -695
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.d.ts +3 -3
- package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +246 -253
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +160 -165
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/definitions/index.d.ts +2 -2
- package/dist/lib/definitions/index.d.ts.map +1 -1
- package/dist/lib/definitions/index.js +2 -5
- package/dist/lib/definitions/index.js.map +1 -1
- package/dist/lib/model/AccessoryInfo.d.ts +4 -3
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +50 -53
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.d.ts +3 -3
- package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
- package/dist/lib/model/ControllerStorage.js +17 -22
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.d.ts +2 -2
- package/dist/lib/model/HAPStorage.d.ts.map +1 -1
- package/dist/lib/model/HAPStorage.js +4 -11
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +1 -1
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +19 -27
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +27 -29
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/checkName.d.ts +2 -2
- package/dist/lib/util/checkName.d.ts.map +1 -1
- package/dist/lib/util/checkName.js +6 -9
- package/dist/lib/util/checkName.js.map +1 -1
- package/dist/lib/util/clone.d.ts.map +1 -1
- package/dist/lib/util/clone.js +1 -5
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts +1 -1
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +4 -9
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +23 -22
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +109 -116
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +3 -2
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +31 -40
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.d.ts +1 -1
- package/dist/lib/util/hapStatusError.d.ts.map +1 -1
- package/dist/lib/util/hapStatusError.js +4 -8
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.d.ts +1 -1
- package/dist/lib/util/net-utils.js +17 -23
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +2 -6
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +1 -1
- package/dist/lib/util/promise-utils.d.ts.map +1 -1
- package/dist/lib/util/promise-utils.js +3 -9
- package/dist/lib/util/promise-utils.js.map +1 -1
- package/dist/lib/util/request-util.d.ts +3 -2
- package/dist/lib/util/request-util.d.ts.map +1 -1
- package/dist/lib/util/request-util.js +11 -19
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +1 -0
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +6 -11
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +1 -0
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +28 -43
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +1 -0
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +26 -38
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +24 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -5
- package/dist/types.js.map +1 -1
- package/package.json +51 -46
- package/@types/simple-plist.d.ts +0 -4
- package/dist/lib/gen/HomeKit.d.ts +0 -7
- package/dist/lib/gen/HomeKit.d.ts.map +0 -1
- package/dist/lib/gen/HomeKit.js +0 -8
- package/dist/lib/gen/HomeKit.js.map +0 -1
|
@@ -1,69 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("..");
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
4
2
|
class LightControllerClass {
|
|
5
|
-
name =
|
|
6
|
-
pincode =
|
|
7
|
-
username =
|
|
8
|
-
manufacturer =
|
|
9
|
-
model =
|
|
10
|
-
serialNumber =
|
|
11
|
-
power = false; //current power status
|
|
12
|
-
brightness = 100; //current brightness
|
|
13
|
-
hue = 0; //current hue
|
|
14
|
-
saturation = 0; //current saturation
|
|
15
|
-
outputLogs = true; //output logs
|
|
3
|
+
name = 'Simple Light'; // name of accessory
|
|
4
|
+
pincode = '031-45-154';
|
|
5
|
+
username = 'FA:3C:ED:5A:1A:1A'; // MAC like address used by HomeKit to differentiate accessories.
|
|
6
|
+
manufacturer = 'HAP-NodeJS'; // manufacturer (optional)
|
|
7
|
+
model = 'v1.0'; // model (optional)
|
|
8
|
+
serialNumber = 'A12S345KGB'; // serial number (optional)
|
|
9
|
+
power = false; // current power status
|
|
10
|
+
brightness = 100; // current brightness
|
|
11
|
+
hue = 0; // current hue
|
|
12
|
+
saturation = 0; // current saturation
|
|
13
|
+
outputLogs = true; // output logs
|
|
16
14
|
setPower(status) {
|
|
17
15
|
if (this.outputLogs) {
|
|
18
|
-
console.log(
|
|
16
|
+
console.log('Turning the \'%s\' %s', this.name, status ? 'on' : 'off');
|
|
19
17
|
}
|
|
20
18
|
this.power = status;
|
|
21
19
|
}
|
|
22
20
|
getPower() {
|
|
23
21
|
if (this.outputLogs) {
|
|
24
|
-
console.log(
|
|
22
|
+
console.log('\'%s\' is %s.', this.name, this.power ? 'on' : 'off');
|
|
25
23
|
}
|
|
26
24
|
return this.power;
|
|
27
25
|
}
|
|
28
26
|
setBrightness(brightness) {
|
|
29
27
|
if (this.outputLogs) {
|
|
30
|
-
console.log(
|
|
28
|
+
console.log('Setting \'%s\' brightness to %s', this.name, brightness);
|
|
31
29
|
}
|
|
32
30
|
this.brightness = brightness;
|
|
33
31
|
}
|
|
34
32
|
getBrightness() {
|
|
35
33
|
if (this.outputLogs) {
|
|
36
|
-
console.log(
|
|
34
|
+
console.log('\'%s\' brightness is %s', this.name, this.brightness);
|
|
37
35
|
}
|
|
38
36
|
return this.brightness;
|
|
39
37
|
}
|
|
40
38
|
setSaturation(saturation) {
|
|
41
39
|
if (this.outputLogs) {
|
|
42
|
-
console.log(
|
|
40
|
+
console.log('Setting \'%s\' saturation to %s', this.name, saturation);
|
|
43
41
|
}
|
|
44
42
|
this.saturation = saturation;
|
|
45
43
|
}
|
|
46
44
|
getSaturation() {
|
|
47
45
|
if (this.outputLogs) {
|
|
48
|
-
console.log(
|
|
46
|
+
console.log('\'%s\' saturation is %s', this.name, this.saturation);
|
|
49
47
|
}
|
|
50
48
|
return this.saturation;
|
|
51
49
|
}
|
|
52
50
|
setHue(hue) {
|
|
53
51
|
if (this.outputLogs) {
|
|
54
|
-
console.log(
|
|
52
|
+
console.log('Setting \'%s\' hue to %s', this.name, hue);
|
|
55
53
|
}
|
|
56
54
|
this.hue = hue;
|
|
57
55
|
}
|
|
58
56
|
getHue() {
|
|
59
57
|
if (this.outputLogs) {
|
|
60
|
-
console.log(
|
|
58
|
+
console.log('\'%s\' hue is %s', this.name, this.hue);
|
|
61
59
|
}
|
|
62
60
|
return this.hue;
|
|
63
61
|
}
|
|
64
62
|
identify() {
|
|
65
63
|
if (this.outputLogs) {
|
|
66
|
-
console.log(
|
|
64
|
+
console.log('Identify the \'%s\'', this.name);
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
}
|
|
@@ -71,9 +69,9 @@ const LightController = new LightControllerClass();
|
|
|
71
69
|
// Generate a consistent UUID for our light Accessory that will remain the same even when
|
|
72
70
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
73
71
|
// UUID based on an arbitrary "namespace" and the word "light".
|
|
74
|
-
const lightUUID =
|
|
72
|
+
const lightUUID = uuid.generate(`hap-nodejs:accessories:light${LightController.name}`);
|
|
75
73
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our light.
|
|
76
|
-
const lightAccessory = exports.accessory = new
|
|
74
|
+
const lightAccessory = exports.accessory = new Accessory(LightController.name, lightUUID);
|
|
77
75
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
78
76
|
// @ts-expect-error: Core/BridgeCore API
|
|
79
77
|
lightAccessory.username = LightController.username;
|
|
@@ -82,18 +80,18 @@ lightAccessory.pincode = LightController.pincode;
|
|
|
82
80
|
lightAccessory.category = 5 /* Categories.LIGHTBULB */;
|
|
83
81
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
84
82
|
lightAccessory
|
|
85
|
-
.getService(
|
|
86
|
-
.setCharacteristic(
|
|
87
|
-
.setCharacteristic(
|
|
88
|
-
.setCharacteristic(
|
|
83
|
+
.getService(Service.AccessoryInformation)
|
|
84
|
+
.setCharacteristic(Characteristic.Manufacturer, LightController.manufacturer)
|
|
85
|
+
.setCharacteristic(Characteristic.Model, LightController.model)
|
|
86
|
+
.setCharacteristic(Characteristic.SerialNumber, LightController.serialNumber);
|
|
89
87
|
// listen for the "identify" event for this Accessory
|
|
90
88
|
lightAccessory.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
91
89
|
LightController.identify();
|
|
92
90
|
callback();
|
|
93
91
|
});
|
|
94
92
|
// services exposed to the user should have "names" like "Light" for this case
|
|
95
|
-
const lightbulb = lightAccessory.addService(
|
|
96
|
-
lightbulb.getCharacteristic(
|
|
93
|
+
const lightbulb = lightAccessory.addService(Service.Lightbulb, LightController.name);
|
|
94
|
+
lightbulb.getCharacteristic(Characteristic.On)
|
|
97
95
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
98
96
|
LightController.setPower(value);
|
|
99
97
|
// Our light is synchronous - this value has been successfully set
|
|
@@ -116,7 +114,7 @@ lightbulb.getCharacteristic(__1.Characteristic.On)
|
|
|
116
114
|
// .getCharacteristic(Characteristic.On)
|
|
117
115
|
// .updateValue(true);
|
|
118
116
|
// also add an "optional" Characteristic for Brightness
|
|
119
|
-
lightbulb.addCharacteristic(
|
|
117
|
+
lightbulb.addCharacteristic(Characteristic.Brightness)
|
|
120
118
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
121
119
|
LightController.setBrightness(value);
|
|
122
120
|
callback();
|
|
@@ -125,7 +123,7 @@ lightbulb.addCharacteristic(__1.Characteristic.Brightness)
|
|
|
125
123
|
callback(null, LightController.getBrightness());
|
|
126
124
|
});
|
|
127
125
|
// also add an "optional" Characteristic for Saturation
|
|
128
|
-
lightbulb.addCharacteristic(
|
|
126
|
+
lightbulb.addCharacteristic(Characteristic.Saturation)
|
|
129
127
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
130
128
|
LightController.setSaturation(value);
|
|
131
129
|
callback();
|
|
@@ -134,7 +132,7 @@ lightbulb.addCharacteristic(__1.Characteristic.Saturation)
|
|
|
134
132
|
callback(null, LightController.getSaturation());
|
|
135
133
|
});
|
|
136
134
|
// also add an "optional" Characteristic for Hue
|
|
137
|
-
lightbulb.addCharacteristic(
|
|
135
|
+
lightbulb.addCharacteristic(Characteristic.Hue)
|
|
138
136
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
139
137
|
LightController.setHue(value);
|
|
140
138
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Light_accessory.js","sourceRoot":"","sources":["../../src/accessories/Light_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Light_accessory.js","sourceRoot":"","sources":["../../src/accessories/Light_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const __1 = require("../");
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
4
3
|
// here's a fake hardware device that we'll expose to HomeKit
|
|
5
4
|
const FAKE_LOCK = {
|
|
6
5
|
locked: false,
|
|
7
6
|
lock: () => {
|
|
8
|
-
console.log(
|
|
7
|
+
console.log('Locking the lock!');
|
|
9
8
|
FAKE_LOCK.locked = true;
|
|
10
9
|
},
|
|
11
10
|
unlock: () => {
|
|
12
|
-
console.log(
|
|
11
|
+
console.log('Unlocking the lock!');
|
|
13
12
|
FAKE_LOCK.locked = false;
|
|
14
13
|
},
|
|
15
14
|
identify: () => {
|
|
16
|
-
console.log(
|
|
15
|
+
console.log('Identify the lock!');
|
|
17
16
|
},
|
|
18
17
|
};
|
|
19
18
|
// Generate a consistent UUID for our Lock Accessory that will remain the same even when
|
|
20
19
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
21
20
|
// UUID based on an arbitrary "namespace" and the word "lock".
|
|
22
|
-
const lockUUID =
|
|
21
|
+
const lockUUID = uuid.generate('hap-nodejs:accessories:lock');
|
|
23
22
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake lock.
|
|
24
|
-
const lock = exports.accessory = new
|
|
23
|
+
const lock = exports.accessory = new Accessory('Lock', lockUUID);
|
|
25
24
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
26
25
|
// @ts-expect-error: Core/BridgeCore API
|
|
27
|
-
lock.username =
|
|
26
|
+
lock.username = 'C1:5D:3A:EE:5E:FA';
|
|
28
27
|
// @ts-expect-error: Core/BridgeCore API
|
|
29
|
-
lock.pincode =
|
|
28
|
+
lock.pincode = '031-45-154';
|
|
30
29
|
lock.category = 6 /* Categories.DOOR_LOCK */;
|
|
31
30
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
32
31
|
lock
|
|
33
|
-
.getService(
|
|
34
|
-
.setCharacteristic(
|
|
35
|
-
.setCharacteristic(
|
|
36
|
-
.setCharacteristic(
|
|
32
|
+
.getService(Service.AccessoryInformation)
|
|
33
|
+
.setCharacteristic(Characteristic.Manufacturer, 'Lock Manufacturer')
|
|
34
|
+
.setCharacteristic(Characteristic.Model, 'Rev-2')
|
|
35
|
+
.setCharacteristic(Characteristic.SerialNumber, 'MY-Serial-Number');
|
|
37
36
|
// listen for the "identify" event for this Accessory
|
|
38
37
|
lock.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
39
38
|
FAKE_LOCK.identify();
|
|
40
39
|
callback(); // success
|
|
41
40
|
});
|
|
42
|
-
const service = new
|
|
41
|
+
const service = new Service.LockMechanism('Fake Lock');
|
|
43
42
|
// Add the actual Door Lock Service and listen for change events from iOS.
|
|
44
|
-
service.getCharacteristic(
|
|
43
|
+
service.getCharacteristic(Characteristic.LockTargetState)
|
|
45
44
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
46
|
-
if (value ===
|
|
45
|
+
if (value === Characteristic.LockTargetState.UNSECURED) {
|
|
47
46
|
FAKE_LOCK.unlock();
|
|
48
47
|
callback(); // Our fake Lock is synchronous - this value has been successfully set
|
|
49
48
|
// now we want to set our lock's "actual state" to be unsecured so it shows as unlocked in iOS apps
|
|
50
|
-
service.updateCharacteristic(
|
|
49
|
+
service.updateCharacteristic(Characteristic.LockCurrentState, Characteristic.LockCurrentState.UNSECURED);
|
|
51
50
|
}
|
|
52
|
-
else if (value ===
|
|
51
|
+
else if (value === Characteristic.LockTargetState.SECURED) {
|
|
53
52
|
FAKE_LOCK.lock();
|
|
54
53
|
callback(); // Our fake Lock is synchronous - this value has been successfully set
|
|
55
54
|
// now we want to set our lock's "actual state" to be locked so it shows as open in iOS apps
|
|
56
|
-
service.updateCharacteristic(
|
|
55
|
+
service.updateCharacteristic(Characteristic.LockCurrentState, Characteristic.LockCurrentState.SECURED);
|
|
57
56
|
}
|
|
58
57
|
});
|
|
59
58
|
// We want to intercept requests for our current state so we can query the hardware itself instead of
|
|
60
59
|
// allowing HAP-NodeJS to return the cached Characteristic.value.
|
|
61
|
-
service.getCharacteristic(
|
|
62
|
-
.on("get" /* CharacteristicEventTypes.GET */, callback => {
|
|
60
|
+
service.getCharacteristic(Characteristic.LockCurrentState)
|
|
61
|
+
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
63
62
|
// this event is emitted when you ask Siri directly whether your lock is locked or not. you might query
|
|
64
63
|
// the lock hardware itself to find this out, then call the callback. But if you take longer than a
|
|
65
64
|
// few seconds to respond, Siri will give up.
|
|
66
65
|
if (FAKE_LOCK.locked) {
|
|
67
|
-
console.log(
|
|
68
|
-
callback(undefined,
|
|
66
|
+
console.log('Are we locked? Yes.');
|
|
67
|
+
callback(undefined, Characteristic.LockCurrentState.SECURED);
|
|
69
68
|
}
|
|
70
69
|
else {
|
|
71
|
-
console.log(
|
|
72
|
-
callback(undefined,
|
|
70
|
+
console.log('Are we locked? No.');
|
|
71
|
+
callback(undefined, Characteristic.LockCurrentState.UNSECURED);
|
|
73
72
|
}
|
|
74
73
|
});
|
|
75
74
|
lock.addService(service);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lock_accessory.js","sourceRoot":"","sources":["../../src/accessories/Lock_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Lock_accessory.js","sourceRoot":"","sources":["../../src/accessories/Lock_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// here's a fake hardware device that we'll expose to HomeKit
|
|
4
|
-
const __1 = require("..");
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
5
2
|
const MOTION_SENSOR = {
|
|
6
3
|
motionDetected: false,
|
|
7
4
|
getStatus: () => {
|
|
8
|
-
//set the boolean here, this will be returned to the device
|
|
5
|
+
// set the boolean here, this will be returned to the device
|
|
9
6
|
MOTION_SENSOR.motionDetected = false;
|
|
10
7
|
},
|
|
11
8
|
identify: () => {
|
|
12
|
-
console.log(
|
|
9
|
+
console.log('Identify the motion sensor!');
|
|
13
10
|
},
|
|
14
11
|
};
|
|
15
12
|
// Generate a consistent UUID for our Motion Sensor Accessory that will remain the same even when
|
|
16
13
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
17
14
|
// UUID based on an arbitrary "namespace" and the word "motionsensor".
|
|
18
|
-
const motionSensorUUID =
|
|
15
|
+
const motionSensorUUID = uuid.generate('hap-nodejs:accessories:motionsensor');
|
|
19
16
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake motionSensor.
|
|
20
|
-
const motionSensor = exports.accessory = new
|
|
17
|
+
const motionSensor = exports.accessory = new Accessory('Motion Sensor', motionSensorUUID);
|
|
21
18
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
22
19
|
// @ts-expect-error: Core/BridgeCore API
|
|
23
|
-
motionSensor.username =
|
|
20
|
+
motionSensor.username = '1A:2B:3D:4D:2E:AF';
|
|
24
21
|
// @ts-expect-error: Core/BridgeCore API
|
|
25
|
-
motionSensor.pincode =
|
|
22
|
+
motionSensor.pincode = '031-45-154';
|
|
26
23
|
motionSensor.category = 10 /* Categories.SENSOR */;
|
|
27
24
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
28
25
|
motionSensor
|
|
29
|
-
.getService(
|
|
30
|
-
.setCharacteristic(
|
|
31
|
-
.setCharacteristic(
|
|
32
|
-
.setCharacteristic(
|
|
26
|
+
.getService(Service.AccessoryInformation)
|
|
27
|
+
.setCharacteristic(Characteristic.Manufacturer, 'Oltica')
|
|
28
|
+
.setCharacteristic(Characteristic.Model, 'Rev-1')
|
|
29
|
+
.setCharacteristic(Characteristic.SerialNumber, 'A1S2NASF88EW');
|
|
33
30
|
// listen for the "identify" event for this Accessory
|
|
34
31
|
motionSensor.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
35
32
|
MOTION_SENSOR.identify();
|
|
36
33
|
callback(); // success
|
|
37
34
|
});
|
|
38
35
|
motionSensor
|
|
39
|
-
.addService(
|
|
40
|
-
.getCharacteristic(
|
|
36
|
+
.addService(Service.MotionSensor, 'Fake Motion Sensor') // services exposed to the user should have "names" like "Fake Motion Sensor" for us
|
|
37
|
+
.getCharacteristic(Characteristic.MotionDetected)
|
|
41
38
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
42
39
|
MOTION_SENSOR.getStatus();
|
|
43
40
|
callback(null, Boolean(MOTION_SENSOR.motionDetected));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MotionSensor_accessory.js","sourceRoot":"","sources":["../../src/accessories/MotionSensor_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MotionSensor_accessory.js","sourceRoot":"","sources":["../../src/accessories/MotionSensor_accessory.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EAGT,cAAc,EAEd,OAAO,EACP,IAAI,GACL,MAAM,aAAa,CAAA;AAEpB,MAAM,aAAa,GAAG;IACpB,cAAc,EAAE,KAAK;IAErB,SAAS,EAAE,GAAG,EAAE;QACd,4DAA4D;QAC5D,aAAa,CAAC,cAAc,GAAG,KAAK,CAAA;IACtC,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AAED,iGAAiG;AACjG,8FAA8F;AAC9F,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAA;AAE7E,+FAA+F;AAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;AAEzF,qFAAqF;AAErF,wCAAwC;AACxC,YAAY,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAE3C,wCAAwC;AACxC,YAAY,CAAC,OAAO,GAAG,YAAY,CAAA;AACnC,YAAY,CAAC,QAAQ,6BAAoB,CAAA;AAEzC,sFAAsF;AACtF,YAAY;KACT,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;KACzC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;KACxD,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;KAChD,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;AAEjE,qDAAqD;AACrD,YAAY,CAAC,EAAE,gDAA+B,CAAC,MAAe,EAAE,QAAsB,EAAE,EAAE;IACxF,aAAa,CAAC,QAAQ,EAAE,CAAA;IACxB,QAAQ,EAAE,CAAA,CAAC,UAAU;AACvB,CAAC,CAAC,CAAA;AAEF,YAAY;KACT,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,oFAAoF;KAC3I,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAE;KACjD,EAAE,2CAA+B,CAAC,QAA2C,EAAE,EAAE;IAChF,aAAa,CAAC,SAAS,EAAE,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAA;AACvD,CAAC,CAAC,CAAA"}
|
|
@@ -1,49 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("..");
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
4
2
|
const err = null; // in case there were any problems
|
|
5
3
|
// here's a fake hardware device that we'll expose to HomeKit
|
|
6
4
|
const FAKE_OUTLET = {
|
|
7
5
|
powerOn: false,
|
|
8
6
|
setPowerOn: (on) => {
|
|
9
|
-
console.log(
|
|
7
|
+
console.log('Turning the outlet %s!...', on ? 'on' : 'off');
|
|
10
8
|
if (on) {
|
|
11
9
|
FAKE_OUTLET.powerOn = true;
|
|
12
10
|
if (err) {
|
|
13
11
|
return console.log(err);
|
|
14
12
|
}
|
|
15
|
-
console.log(
|
|
13
|
+
console.log('...outlet is now on.');
|
|
16
14
|
}
|
|
17
15
|
else {
|
|
18
16
|
FAKE_OUTLET.powerOn = false;
|
|
19
17
|
if (err) {
|
|
20
18
|
return console.log(err);
|
|
21
19
|
}
|
|
22
|
-
console.log(
|
|
20
|
+
console.log('...outlet is now off.');
|
|
23
21
|
}
|
|
24
22
|
},
|
|
25
|
-
identify
|
|
26
|
-
console.log(
|
|
23
|
+
identify() {
|
|
24
|
+
console.log('Identify the outlet.');
|
|
27
25
|
},
|
|
28
26
|
};
|
|
29
27
|
// Generate a consistent UUID for our outlet Accessory that will remain the same even when
|
|
30
28
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
31
29
|
// UUID based on an arbitrary "namespace" and the accessory name.
|
|
32
|
-
const outletUUID =
|
|
30
|
+
const outletUUID = uuid.generate('hap-nodejs:accessories:Outlet');
|
|
33
31
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake light.
|
|
34
|
-
const outlet = exports.accessory = new
|
|
32
|
+
const outlet = exports.accessory = new Accessory('Outlet', outletUUID);
|
|
35
33
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
36
34
|
// @ts-expect-error: Core/BridgeCore API
|
|
37
|
-
outlet.username =
|
|
35
|
+
outlet.username = '1A:2B:3C:4D:5D:FF';
|
|
38
36
|
// @ts-expect-error: Core/BridgeCore API
|
|
39
|
-
outlet.pincode =
|
|
37
|
+
outlet.pincode = '031-45-154';
|
|
40
38
|
outlet.category = 7 /* Categories.OUTLET */;
|
|
41
39
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
42
40
|
outlet
|
|
43
|
-
.getService(
|
|
44
|
-
.setCharacteristic(
|
|
45
|
-
.setCharacteristic(
|
|
46
|
-
.setCharacteristic(
|
|
41
|
+
.getService(Service.AccessoryInformation)
|
|
42
|
+
.setCharacteristic(Characteristic.Manufacturer, 'Oltica')
|
|
43
|
+
.setCharacteristic(Characteristic.Model, 'Rev-1')
|
|
44
|
+
.setCharacteristic(Characteristic.SerialNumber, 'A1S2NASF88EW');
|
|
47
45
|
// listen for the "identify" event for this Accessory
|
|
48
46
|
outlet.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
49
47
|
FAKE_OUTLET.identify();
|
|
@@ -51,8 +49,8 @@ outlet.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
|
51
49
|
});
|
|
52
50
|
// Add the actual outlet Service and listen for change events from iOS.
|
|
53
51
|
outlet
|
|
54
|
-
.addService(
|
|
55
|
-
.getCharacteristic(
|
|
52
|
+
.addService(Service.Outlet, 'Fake Outlet') // services exposed to the user should have "names" like "Fake Light" for us
|
|
53
|
+
.getCharacteristic(Characteristic.On)
|
|
56
54
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
57
55
|
FAKE_OUTLET.setPowerOn(value);
|
|
58
56
|
callback(); // Our fake Outlet is synchronous - this value has been successfully set
|
|
@@ -60,19 +58,19 @@ outlet
|
|
|
60
58
|
// We want to intercept requests for our current power state so we can query the hardware itself instead of
|
|
61
59
|
// allowing HAP-NodeJS to return the cached Characteristic.value.
|
|
62
60
|
outlet
|
|
63
|
-
.getService(
|
|
64
|
-
.getCharacteristic(
|
|
61
|
+
.getService(Service.Outlet)
|
|
62
|
+
.getCharacteristic(Characteristic.On)
|
|
65
63
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
66
64
|
// this event is emitted when you ask Siri directly whether your light is on or not. you might query
|
|
67
65
|
// the light hardware itself to find this out, then call the callback. But if you take longer than a
|
|
68
66
|
// few seconds to respond, Siri will give up.
|
|
69
67
|
const err = null; // in case there were any problems
|
|
70
68
|
if (FAKE_OUTLET.powerOn) {
|
|
71
|
-
console.log(
|
|
69
|
+
console.log('Are we on? Yes.');
|
|
72
70
|
callback(err, true);
|
|
73
71
|
}
|
|
74
72
|
else {
|
|
75
|
-
console.log(
|
|
73
|
+
console.log('Are we on? No.');
|
|
76
74
|
callback(err, false);
|
|
77
75
|
}
|
|
78
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Outlet_accessory.js","sourceRoot":"","sources":["../../src/accessories/Outlet_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Outlet_accessory.js","sourceRoot":"","sources":["../../src/accessories/Outlet_accessory.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EAGT,cAAc,EAEd,OAAO,EACP,IAAI,GACL,MAAM,aAAa,CAAA;AAEpB,MAAM,GAAG,GAAoB,IAAI,CAAA,CAAC,kCAAkC;AAEpE,6DAA6D;AAC7D,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,CAAC,EAAuB,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,EAAE,EAAE,CAAC;YACP,WAAW,CAAC,OAAO,GAAG,IAAI,CAAA;YAC1B,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,OAAO,GAAG,KAAK,CAAA;YAC3B,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IACD,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AAED,0FAA0F;AAC1F,8FAA8F;AAC9F,iEAAiE;AACjE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAA;AAEjE,wFAAwF;AACxF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAEtE,qFAAqF;AAErF,wCAAwC;AACxC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAErC,wCAAwC;AACxC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAA;AAC7B,MAAM,CAAC,QAAQ,4BAAoB,CAAA;AAEnC,sFAAsF;AACtF,MAAM;KACH,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;KACzC,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;KACxD,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;KAChD,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;AAEjE,qDAAqD;AACrD,MAAM,CAAC,EAAE,gDAA+B,CAAC,MAAe,EAAE,QAAsB,EAAE,EAAE;IAClF,WAAW,CAAC,QAAQ,EAAE,CAAA;IACtB,QAAQ,EAAE,CAAA,CAAC,UAAU;AACvB,CAAC,CAAC,CAAA;AAEF,uEAAuE;AACvE,MAAM;KACH,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,4EAA4E;KACtH,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAE;KACrC,EAAE,2CAA+B,CAAC,KAA0B,EAAE,QAAmC,EAAE,EAAE;IACpG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7B,QAAQ,EAAE,CAAA,CAAC,wEAAwE;AACrF,CAAC,CAAC,CAAA;AAEJ,2GAA2G;AAC3G,iEAAiE;AACjE,MAAM;KACH,UAAU,CAAC,OAAO,CAAC,MAAM,CAAE;KAC3B,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAE;KACrC,EAAE,2CAA+B,CAAC,QAA2C,EAAE,EAAE;IAChF,oGAAoG;IACpG,oGAAoG;IACpG,6CAA6C;IAE7C,MAAM,GAAG,GAAG,IAAI,CAAA,CAAC,kCAAkC;IAEnD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC9B,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC7B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACtB,CAAC;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const speakerUUID = __1.uuid.generate("hap-nodejs:accessories:smart-speaker");
|
|
5
|
-
const speaker = exports.accessory = new __1.Accessory("SmartSpeaker", speakerUUID);
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
2
|
+
const speakerUUID = uuid.generate('hap-nodejs:accessories:smart-speaker');
|
|
3
|
+
const speaker = exports.accessory = new Accessory('SmartSpeaker', speakerUUID);
|
|
6
4
|
// @ts-expect-error: Core/BridgeCore API
|
|
7
|
-
speaker.username =
|
|
5
|
+
speaker.username = '89:A8:E4:1E:95:EE';
|
|
8
6
|
// @ts-expect-error: Core/BridgeCore API
|
|
9
|
-
speaker.pincode =
|
|
7
|
+
speaker.pincode = '676-54-344';
|
|
10
8
|
speaker.category = 26 /* Categories.SPEAKER */;
|
|
11
|
-
const service = new
|
|
12
|
-
let currentMediaState =
|
|
13
|
-
let targetMediaState =
|
|
9
|
+
const service = new Service.SmartSpeaker('Smart Speaker', '');
|
|
10
|
+
let currentMediaState = Characteristic.CurrentMediaState.PAUSE;
|
|
11
|
+
let targetMediaState = Characteristic.TargetMediaState.PAUSE;
|
|
14
12
|
// ConfigureName is used to listen for Name changes inside the Home App.
|
|
15
13
|
// A device manufacturer would probably need to adjust the name of the device in the AirPlay 2 protocol (or something)
|
|
16
|
-
service.setCharacteristic(
|
|
17
|
-
service.setCharacteristic(
|
|
18
|
-
service.setCharacteristic(
|
|
19
|
-
service.getCharacteristic(
|
|
14
|
+
service.setCharacteristic(Characteristic.ConfiguredName, 'Smart Speaker');
|
|
15
|
+
service.setCharacteristic(Characteristic.Mute, false);
|
|
16
|
+
service.setCharacteristic(Characteristic.Volume, 100);
|
|
17
|
+
service.getCharacteristic(Characteristic.CurrentMediaState)
|
|
20
18
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
21
|
-
console.log(
|
|
19
|
+
console.log(`Reading CurrentMediaState: ${currentMediaState}`);
|
|
22
20
|
callback(undefined, currentMediaState);
|
|
23
21
|
})
|
|
24
22
|
.updateValue(currentMediaState); // init value
|
|
25
|
-
service.getCharacteristic(
|
|
23
|
+
service.getCharacteristic(Characteristic.TargetMediaState)
|
|
26
24
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
27
|
-
console.log(
|
|
25
|
+
console.log(`Setting TargetMediaState to: ${value}`);
|
|
28
26
|
targetMediaState = value;
|
|
29
27
|
currentMediaState = targetMediaState;
|
|
30
28
|
callback();
|
|
31
|
-
service.setCharacteristic(
|
|
29
|
+
service.setCharacteristic(Characteristic.CurrentMediaState, targetMediaState);
|
|
32
30
|
})
|
|
33
31
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
34
|
-
console.log(
|
|
32
|
+
console.log(`Reading TargetMediaState: ${targetMediaState}`);
|
|
35
33
|
callback(undefined, targetMediaState);
|
|
36
34
|
})
|
|
37
35
|
.updateValue(targetMediaState);
|
|
38
|
-
service.getCharacteristic(
|
|
36
|
+
service.getCharacteristic(Characteristic.ConfiguredName)
|
|
39
37
|
.on("set" /* CharacteristicEventTypes.SET */, (value, callback) => {
|
|
40
38
|
console.log(`Name was changed to: '${value}'`);
|
|
41
39
|
callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartSpeaker_accessory.js","sourceRoot":"","sources":["../../src/accessories/SmartSpeaker_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SmartSpeaker_accessory.js","sourceRoot":"","sources":["../../src/accessories/SmartSpeaker_accessory.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAET,cAAc,EAEd,OAAO,EACP,IAAI,GACL,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAA;AACzE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;AAE9E,wCAAwC;AACxC,OAAO,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAEtC,wCAAwC;AACxC,OAAO,CAAC,OAAO,GAAG,YAAY,CAAA;AAC9B,OAAO,CAAC,QAAQ,8BAAqB,CAAA;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AAE7D,IAAI,iBAAiB,GAAW,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAA;AACtE,IAAI,gBAAgB,GAAW,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAA;AAEpE,wEAAwE;AACxE,sHAAsH;AACtH,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,EAAE,eAAe,CAAC,CAAA;AACzE,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACrD,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAErD,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAE;KACzD,EAAE,2CAA+B,CAAC,QAAmC,EAAE,EAAE;IACxE,OAAO,CAAC,GAAG,CAAC,8BAA8B,iBAAiB,EAAE,CAAC,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;AACxC,CAAC,CAAC;KACD,WAAW,CAAC,iBAAiB,CAAC,CAAA,CAAC,aAAa;AAE/C,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAE;KACxD,EAAE,2CAA+B,CAAC,KAA0B,EAAE,QAAmC,EAAE,EAAE;IACpG,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;IACpD,gBAAgB,GAAG,KAAe,CAAA;IAClC,iBAAiB,GAAG,gBAAgB,CAAA;IAEpC,QAAQ,EAAE,CAAA;IAEV,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;AAC/E,CAAC,CAAC;KACD,EAAE,2CAA+B,CAAC,QAAmC,EAAE,EAAE;IACxE,OAAO,CAAC,GAAG,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAA;IAC5D,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AACvC,CAAC,CAAC;KACD,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAEhC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAE;KACtD,EAAE,2CAA+B,CAAC,KAA0B,EAAE,QAAmC,EAAE,EAAE;IACpG,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAA;IAC9C,QAAQ,EAAE,CAAA;AACZ,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA"}
|