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,36 +1,33 @@
|
|
|
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 SPRINKLER = {
|
|
6
3
|
active: false,
|
|
7
|
-
name:
|
|
4
|
+
name: 'Garten Hinten',
|
|
8
5
|
timerEnd: 0,
|
|
9
6
|
defaultDuration: 3600,
|
|
10
7
|
motionDetected: false,
|
|
11
8
|
getStatus: () => {
|
|
12
|
-
//set the boolean here, this will be returned to the device
|
|
9
|
+
// set the boolean here, this will be returned to the device
|
|
13
10
|
SPRINKLER.motionDetected = false;
|
|
14
11
|
},
|
|
15
12
|
identify: () => {
|
|
16
|
-
console.log(
|
|
13
|
+
console.log('Identify the sprinkler!');
|
|
17
14
|
},
|
|
18
15
|
};
|
|
19
16
|
// Generate a consistent UUID for our Motion Sensor Accessory that will remain the same even when
|
|
20
17
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
21
18
|
// UUID based on an arbitrary "namespace" and the word "motionsensor".
|
|
22
|
-
const sprinklerUUID =
|
|
19
|
+
const sprinklerUUID = uuid.generate('hap-nodejs:accessories:sprinkler');
|
|
23
20
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake motionSensor.
|
|
24
|
-
const sprinkler = exports.accessory = new
|
|
21
|
+
const sprinkler = exports.accessory = new Accessory('Sprinkler', sprinklerUUID);
|
|
25
22
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
26
23
|
// @ts-expect-error: Core/BridgeCore API
|
|
27
|
-
sprinkler.username =
|
|
24
|
+
sprinkler.username = 'A3:AB:3D:4D:2E:A3';
|
|
28
25
|
// @ts-expect-error: Core/BridgeCore API
|
|
29
|
-
sprinkler.pincode =
|
|
26
|
+
sprinkler.pincode = '123-44-567';
|
|
30
27
|
sprinkler.category = 28 /* Categories.SPRINKLER */;
|
|
31
28
|
// Add the actual Valve Service and listen for change events from iOS.
|
|
32
|
-
const sprinklerService = sprinkler.addService(
|
|
33
|
-
// Sprinkler
|
|
29
|
+
const sprinklerService = sprinkler.addService(Service.Valve, 'Sprinkler');
|
|
30
|
+
// Sprinkler Control
|
|
34
31
|
function openVentile() {
|
|
35
32
|
// Add your code here
|
|
36
33
|
}
|
|
@@ -39,12 +36,12 @@ function closeVentile() {
|
|
|
39
36
|
}
|
|
40
37
|
// set some basic properties (these values are arbitrary and setting them is optional)
|
|
41
38
|
sprinklerService
|
|
42
|
-
.setCharacteristic(
|
|
43
|
-
.setCharacteristic(
|
|
39
|
+
.setCharacteristic(Characteristic.ValveType, '1') // IRRIGATION/SPRINKLER = 1; SHOWER_HEAD = 2; WATER_FAUCET = 3;
|
|
40
|
+
.setCharacteristic(Characteristic.Name, SPRINKLER.name);
|
|
44
41
|
sprinklerService
|
|
45
|
-
.getCharacteristic(
|
|
42
|
+
.getCharacteristic(Characteristic.Active)
|
|
46
43
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
47
|
-
console.log(
|
|
44
|
+
console.log('get Active');
|
|
48
45
|
const err = null; // in case there were any problems
|
|
49
46
|
if (SPRINKLER.active) {
|
|
50
47
|
callback(err, true);
|
|
@@ -54,45 +51,45 @@ sprinklerService
|
|
|
54
51
|
}
|
|
55
52
|
})
|
|
56
53
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
57
|
-
console.log(
|
|
54
|
+
console.log(`set Active => setNewValue: ${newValue}`);
|
|
58
55
|
if (SPRINKLER.active) {
|
|
59
56
|
SPRINKLER.active = false;
|
|
60
57
|
closeVentile();
|
|
61
58
|
setTimeout(() => {
|
|
62
|
-
console.log(
|
|
59
|
+
console.log('Ausgeschaltet');
|
|
63
60
|
SPRINKLER.timerEnd = SPRINKLER.defaultDuration + Math.floor(new Date().getTime() / 1000);
|
|
64
61
|
callback(null);
|
|
65
62
|
sprinkler
|
|
66
|
-
.getService(
|
|
67
|
-
.setCharacteristic(
|
|
63
|
+
.getService(Service.Valve)
|
|
64
|
+
.setCharacteristic(Characteristic.SetDuration, 0);
|
|
68
65
|
sprinkler
|
|
69
|
-
.getService(
|
|
70
|
-
.setCharacteristic(
|
|
66
|
+
.getService(Service.Valve)
|
|
67
|
+
.setCharacteristic(Characteristic.InUse, 0);
|
|
71
68
|
}, 1000);
|
|
72
69
|
}
|
|
73
70
|
else {
|
|
74
71
|
SPRINKLER.active = true;
|
|
75
72
|
openVentile();
|
|
76
73
|
setTimeout(() => {
|
|
77
|
-
console.log(
|
|
74
|
+
console.log('Eingeschaltet');
|
|
78
75
|
SPRINKLER.timerEnd = SPRINKLER.defaultDuration + Math.floor(new Date().getTime() / 1000);
|
|
79
76
|
callback(null, SPRINKLER.defaultDuration);
|
|
80
77
|
sprinkler
|
|
81
|
-
.getService(
|
|
82
|
-
.setCharacteristic(
|
|
78
|
+
.getService(Service.Valve)
|
|
79
|
+
.setCharacteristic(Characteristic.InUse, 1);
|
|
83
80
|
sprinkler
|
|
84
|
-
.getService(
|
|
85
|
-
.setCharacteristic(
|
|
81
|
+
.getService(Service.Valve)
|
|
82
|
+
.setCharacteristic(Characteristic.RemainingDuration, SPRINKLER.defaultDuration);
|
|
86
83
|
sprinkler
|
|
87
|
-
.getService(
|
|
88
|
-
.setCharacteristic(
|
|
84
|
+
.getService(Service.Valve)
|
|
85
|
+
.setCharacteristic(Characteristic.SetDuration, SPRINKLER.defaultDuration);
|
|
89
86
|
}, 1000);
|
|
90
87
|
}
|
|
91
88
|
});
|
|
92
89
|
sprinklerService
|
|
93
|
-
.getCharacteristic(
|
|
90
|
+
.getCharacteristic(Characteristic.InUse)
|
|
94
91
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
95
|
-
console.log(
|
|
92
|
+
console.log('get In_Use');
|
|
96
93
|
const err = null; // in case there were any problems
|
|
97
94
|
if (SPRINKLER.active) {
|
|
98
95
|
callback(err, true);
|
|
@@ -102,16 +99,16 @@ sprinklerService
|
|
|
102
99
|
}
|
|
103
100
|
})
|
|
104
101
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
105
|
-
console.log(
|
|
102
|
+
console.log(`set In_Use => NewValue: ${newValue}`);
|
|
106
103
|
callback();
|
|
107
104
|
});
|
|
108
105
|
sprinklerService
|
|
109
|
-
.getCharacteristic(
|
|
106
|
+
.getCharacteristic(Characteristic.RemainingDuration)
|
|
110
107
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
111
108
|
const err = null; // in case there were any problems
|
|
112
109
|
if (SPRINKLER.active) {
|
|
113
110
|
const duration = SPRINKLER.timerEnd - Math.floor(new Date().getTime() / 1000);
|
|
114
|
-
console.log(
|
|
111
|
+
console.log(`RemainingDuration: ${duration}`);
|
|
115
112
|
callback(err, duration);
|
|
116
113
|
}
|
|
117
114
|
else {
|
|
@@ -119,9 +116,9 @@ sprinklerService
|
|
|
119
116
|
}
|
|
120
117
|
});
|
|
121
118
|
sprinklerService
|
|
122
|
-
.getCharacteristic(
|
|
119
|
+
.getCharacteristic(Characteristic.SetDuration)
|
|
123
120
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
124
|
-
console.log(
|
|
121
|
+
console.log(`SetDuration => NewValue: ${newValue}`);
|
|
125
122
|
SPRINKLER.defaultDuration = newValue;
|
|
126
123
|
callback();
|
|
127
124
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sprinkler_accessory.js","sourceRoot":"","sources":["../../src/accessories/Sprinkler_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Sprinkler_accessory.js","sourceRoot":"","sources":["../../src/accessories/Sprinkler_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,100 +1,98 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("..");
|
|
1
|
+
import { AccessControlManagement, Accessory, Characteristic, Service, uuid, } from '../index.js';
|
|
4
2
|
// Generate a consistent UUID for TV that will remain the same even when
|
|
5
3
|
// restarting our server. We use the `uuid.generate` helper function to create a deterministic
|
|
6
4
|
// UUID based on an arbitrary "namespace" and the word "tv".
|
|
7
|
-
const tvUUID =
|
|
5
|
+
const tvUUID = uuid.generate('hap-nodejs:accessories:tv');
|
|
8
6
|
// This is the Accessory that we'll return to HAP-NodeJS.
|
|
9
|
-
const tv = exports.accessory = new
|
|
7
|
+
const tv = exports.accessory = new Accessory('TV', tvUUID);
|
|
10
8
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
11
9
|
// @ts-expect-error: Core/BridgeCore API
|
|
12
|
-
tv.username =
|
|
10
|
+
tv.username = 'A3:FB:3D:4D:2E:AC';
|
|
13
11
|
// @ts-expect-error: Core/BridgeCore API
|
|
14
|
-
tv.pincode =
|
|
12
|
+
tv.pincode = '031-45-154';
|
|
15
13
|
tv.category = 31 /* Categories.TELEVISION */;
|
|
16
14
|
// Add the actual TV Service and listen for change events from iOS.
|
|
17
|
-
const televisionService = tv.addService(
|
|
15
|
+
const televisionService = tv.addService(Service.Television, 'Television', 'Television');
|
|
18
16
|
televisionService
|
|
19
|
-
.setCharacteristic(
|
|
17
|
+
.setCharacteristic(Characteristic.ConfiguredName, 'Television');
|
|
20
18
|
televisionService
|
|
21
|
-
.setCharacteristic(
|
|
19
|
+
.setCharacteristic(Characteristic.SleepDiscoveryMode, Characteristic.SleepDiscoveryMode.ALWAYS_DISCOVERABLE);
|
|
22
20
|
televisionService
|
|
23
|
-
.getCharacteristic(
|
|
21
|
+
.getCharacteristic(Characteristic.Active)
|
|
24
22
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
25
|
-
console.log(
|
|
23
|
+
console.log(`set Active => setNewValue: ${newValue}`);
|
|
26
24
|
callback(null);
|
|
27
25
|
});
|
|
28
26
|
televisionService
|
|
29
|
-
.setCharacteristic(
|
|
27
|
+
.setCharacteristic(Characteristic.ActiveIdentifier, 1);
|
|
30
28
|
televisionService
|
|
31
|
-
.getCharacteristic(
|
|
29
|
+
.getCharacteristic(Characteristic.ActiveIdentifier)
|
|
32
30
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
33
|
-
console.log(
|
|
31
|
+
console.log(`set Active Identifier => setNewValue: ${newValue}`);
|
|
34
32
|
callback(null);
|
|
35
33
|
});
|
|
36
34
|
televisionService
|
|
37
|
-
.getCharacteristic(
|
|
35
|
+
.getCharacteristic(Characteristic.RemoteKey)
|
|
38
36
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
39
|
-
console.log(
|
|
37
|
+
console.log(`set Remote Key => setNewValue: ${newValue}`);
|
|
40
38
|
callback(null);
|
|
41
39
|
});
|
|
42
40
|
televisionService
|
|
43
|
-
.getCharacteristic(
|
|
41
|
+
.getCharacteristic(Characteristic.PictureMode)
|
|
44
42
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
45
|
-
console.log(
|
|
43
|
+
console.log(`set PictureMode => setNewValue: ${newValue}`);
|
|
46
44
|
callback(null);
|
|
47
45
|
});
|
|
48
46
|
televisionService
|
|
49
|
-
.getCharacteristic(
|
|
47
|
+
.getCharacteristic(Characteristic.PowerModeSelection)
|
|
50
48
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
51
|
-
console.log(
|
|
49
|
+
console.log(`set PowerModeSelection => setNewValue: ${newValue}`);
|
|
52
50
|
callback(null);
|
|
53
51
|
});
|
|
54
52
|
// Speaker
|
|
55
|
-
const speakerService = tv.addService(
|
|
53
|
+
const speakerService = tv.addService(Service.TelevisionSpeaker);
|
|
56
54
|
speakerService
|
|
57
|
-
.setCharacteristic(
|
|
58
|
-
.setCharacteristic(
|
|
59
|
-
speakerService.getCharacteristic(
|
|
55
|
+
.setCharacteristic(Characteristic.Active, Characteristic.Active.ACTIVE)
|
|
56
|
+
.setCharacteristic(Characteristic.VolumeControlType, Characteristic.VolumeControlType.ABSOLUTE);
|
|
57
|
+
speakerService.getCharacteristic(Characteristic.VolumeSelector)
|
|
60
58
|
.on("set" /* CharacteristicEventTypes.SET */, (newValue, callback) => {
|
|
61
|
-
console.log(
|
|
59
|
+
console.log(`set VolumeSelector => setNewValue: ${newValue}`);
|
|
62
60
|
callback(null);
|
|
63
61
|
});
|
|
64
62
|
// HDMI 1
|
|
65
|
-
const inputHDMI1 = tv.addService(
|
|
63
|
+
const inputHDMI1 = tv.addService(Service.InputSource, 'hdmi1', 'HDMI 1');
|
|
66
64
|
inputHDMI1
|
|
67
|
-
.setCharacteristic(
|
|
68
|
-
.setCharacteristic(
|
|
69
|
-
.setCharacteristic(
|
|
70
|
-
.setCharacteristic(
|
|
65
|
+
.setCharacteristic(Characteristic.Identifier, 1)
|
|
66
|
+
.setCharacteristic(Characteristic.ConfiguredName, 'HDMI 1')
|
|
67
|
+
.setCharacteristic(Characteristic.IsConfigured, Characteristic.IsConfigured.CONFIGURED)
|
|
68
|
+
.setCharacteristic(Characteristic.InputSourceType, Characteristic.InputSourceType.HDMI);
|
|
71
69
|
// HDMI 2
|
|
72
|
-
const inputHDMI2 = tv.addService(
|
|
70
|
+
const inputHDMI2 = tv.addService(Service.InputSource, 'hdmi2', 'HDMI 2');
|
|
73
71
|
inputHDMI2
|
|
74
|
-
.setCharacteristic(
|
|
75
|
-
.setCharacteristic(
|
|
76
|
-
.setCharacteristic(
|
|
77
|
-
.setCharacteristic(
|
|
72
|
+
.setCharacteristic(Characteristic.Identifier, 2)
|
|
73
|
+
.setCharacteristic(Characteristic.ConfiguredName, 'HDMI 2')
|
|
74
|
+
.setCharacteristic(Characteristic.IsConfigured, Characteristic.IsConfigured.CONFIGURED)
|
|
75
|
+
.setCharacteristic(Characteristic.InputSourceType, Characteristic.InputSourceType.HDMI);
|
|
78
76
|
// Netflix
|
|
79
|
-
const inputNetflix = tv.addService(
|
|
77
|
+
const inputNetflix = tv.addService(Service.InputSource, 'netflix', 'Netflix');
|
|
80
78
|
inputNetflix
|
|
81
|
-
.setCharacteristic(
|
|
82
|
-
.setCharacteristic(
|
|
83
|
-
.setCharacteristic(
|
|
84
|
-
.setCharacteristic(
|
|
79
|
+
.setCharacteristic(Characteristic.Identifier, 3)
|
|
80
|
+
.setCharacteristic(Characteristic.ConfiguredName, 'Netflix')
|
|
81
|
+
.setCharacteristic(Characteristic.IsConfigured, Characteristic.IsConfigured.CONFIGURED)
|
|
82
|
+
.setCharacteristic(Characteristic.InputSourceType, Characteristic.InputSourceType.APPLICATION);
|
|
85
83
|
televisionService.addLinkedService(inputHDMI1);
|
|
86
84
|
televisionService.addLinkedService(inputHDMI2);
|
|
87
85
|
televisionService.addLinkedService(inputNetflix);
|
|
88
|
-
const accessControl = new
|
|
86
|
+
const accessControl = new AccessControlManagement(true);
|
|
89
87
|
accessControl.on("update-control-level" /* AccessControlEvent.ACCESS_LEVEL_UPDATED */, (level) => {
|
|
90
|
-
console.log(
|
|
88
|
+
console.log(`New access control level of ${level}`);
|
|
91
89
|
});
|
|
92
90
|
accessControl.on("update-password" /* AccessControlEvent.PASSWORD_SETTING_UPDATED */, (password, passwordRequired) => {
|
|
93
91
|
if (passwordRequired) {
|
|
94
|
-
console.log(
|
|
92
|
+
console.log('A required password was specified');
|
|
95
93
|
}
|
|
96
94
|
else {
|
|
97
|
-
console.log(
|
|
95
|
+
console.log('No password set!');
|
|
98
96
|
}
|
|
99
97
|
});
|
|
100
98
|
tv.addService(accessControl.getService());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TV_accessory.js","sourceRoot":"","sources":["../../src/accessories/TV_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TV_accessory.js","sourceRoot":"","sources":["../../src/accessories/TV_accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// here's a fake temperature sensor device that we'll expose to HomeKit
|
|
4
|
-
const __1 = require("..");
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid } from '../index.js';
|
|
5
2
|
const FAKE_SENSOR = {
|
|
6
3
|
currentTemperature: 50,
|
|
7
|
-
getTemperature
|
|
8
|
-
console.log(
|
|
4
|
+
getTemperature() {
|
|
5
|
+
console.log('Getting the current temperature!');
|
|
9
6
|
return FAKE_SENSOR.currentTemperature;
|
|
10
7
|
},
|
|
11
|
-
randomizeTemperature
|
|
8
|
+
randomizeTemperature() {
|
|
12
9
|
// randomize temperature to a value between 0 and 100
|
|
13
10
|
FAKE_SENSOR.currentTemperature = Math.round(Math.random() * 100);
|
|
14
11
|
},
|
|
@@ -16,19 +13,19 @@ const FAKE_SENSOR = {
|
|
|
16
13
|
// Generate a consistent UUID for our Temperature Sensor Accessory that will remain the same
|
|
17
14
|
// even when restarting our server. We use the `uuid.generate` helper function to create
|
|
18
15
|
// a deterministic UUID based on an arbitrary "namespace" and the string "temperature-sensor".
|
|
19
|
-
const sensorUUID =
|
|
16
|
+
const sensorUUID = uuid.generate('hap-nodejs:accessories:temperature-sensor');
|
|
20
17
|
// This is the Accessory that we'll return to HAP-NodeJS that represents our fake lock.
|
|
21
|
-
const sensor = exports.accessory = new
|
|
18
|
+
const sensor = exports.accessory = new Accessory('Temperature Sensor', sensorUUID);
|
|
22
19
|
// Add properties for publishing (in case we're using Core.js and not BridgedCore.js)
|
|
23
20
|
// @ts-expect-error: Core/BridgeCore API
|
|
24
|
-
sensor.username =
|
|
21
|
+
sensor.username = 'C1:5D:3A:AE:5E:FA';
|
|
25
22
|
// @ts-expect-error: Core/BridgeCore API
|
|
26
|
-
sensor.pincode =
|
|
23
|
+
sensor.pincode = '031-45-154';
|
|
27
24
|
sensor.category = 10 /* Categories.SENSOR */;
|
|
28
25
|
// Add the actual TemperatureSensor Service.
|
|
29
26
|
sensor
|
|
30
|
-
.addService(
|
|
31
|
-
.getCharacteristic(
|
|
27
|
+
.addService(Service.TemperatureSensor)
|
|
28
|
+
.getCharacteristic(Characteristic.CurrentTemperature)
|
|
32
29
|
.on("get" /* CharacteristicEventTypes.GET */, (callback) => {
|
|
33
30
|
// return our current value
|
|
34
31
|
callback(null, FAKE_SENSOR.getTemperature());
|
|
@@ -38,7 +35,7 @@ setInterval(() => {
|
|
|
38
35
|
FAKE_SENSOR.randomizeTemperature();
|
|
39
36
|
// update the characteristic value so interested iOS devices can get notified
|
|
40
37
|
sensor
|
|
41
|
-
.getService(
|
|
42
|
-
.setCharacteristic(
|
|
38
|
+
.getService(Service.TemperatureSensor)
|
|
39
|
+
.setCharacteristic(Characteristic.CurrentTemperature, FAKE_SENSOR.currentTemperature);
|
|
43
40
|
}, 3000);
|
|
44
41
|
//# sourceMappingURL=TemperatureSensor_accessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemperatureSensor_accessory.js","sourceRoot":"","sources":["../../src/accessories/TemperatureSensor_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TemperatureSensor_accessory.js","sourceRoot":"","sources":["../../src/accessories/TemperatureSensor_accessory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAc,cAAc,EAA4B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAE5G,MAAM,WAAW,GAAG;IAClB,kBAAkB,EAAE,EAAE;IACtB,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAC/C,OAAO,WAAW,CAAC,kBAAkB,CAAA;IACvC,CAAC;IACD,oBAAoB;QAClB,qDAAqD;QACrD,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;IAClE,CAAC;CACF,CAAA;AAED,4FAA4F;AAC5F,wFAAwF;AACxF,8FAA8F;AAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAA;AAE7E,uFAAuF;AACvF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAA;AAElF,qFAAqF;AAErF,wCAAwC;AACxC,MAAM,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAErC,wCAAwC;AACxC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAA;AAC7B,MAAM,CAAC,QAAQ,6BAAoB,CAAA;AAEnC,4CAA4C;AAC5C,MAAM;KACH,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAE;KACtC,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,CAAE;KACrD,EAAE,2CAA+B,CAAC,QAA2C,EAAE,EAAE;IAChF,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,cAAc,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEJ,oDAAoD;AACpD,WAAW,CAAC,GAAG,EAAE;IACf,WAAW,CAAC,oBAAoB,EAAE,CAAA;IAElC,6EAA6E;IAC7E,MAAM;SACH,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAE;SACtC,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAA;AACzF,CAAC,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wi-FiRouter_accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/Wi-FiRouter_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wi-FiRouter_accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/Wi-FiRouter_accessory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAkD,MAAM,aAAa,CAAA;AAGvF,eAAO,MAAM,SAAS,WAAsC,CAAA"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const __1 = require("..");
|
|
5
|
-
const UUID = __1.uuid.generate("hap-nodejs:accessories:wifi-router");
|
|
6
|
-
exports.accessory = new __1.Accessory("Wi-Fi Router", UUID);
|
|
1
|
+
import { Accessory, Service, uuid } from '../index.js';
|
|
2
|
+
const UUID = uuid.generate('hap-nodejs:accessories:wifi-router');
|
|
3
|
+
export const accessory = new Accessory('Wi-Fi Router', UUID);
|
|
7
4
|
// @ts-expect-error: Core/BridgeCore API
|
|
8
|
-
|
|
5
|
+
accessory.username = 'FA:3C:ED:D2:1A:A2';
|
|
9
6
|
// @ts-expect-error: Core/BridgeCore API
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console.log(
|
|
7
|
+
accessory.pincode = '031-45-154';
|
|
8
|
+
accessory.category = 33 /* Categories.ROUTER */;
|
|
9
|
+
accessory.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
10
|
+
console.log('Identify the \'%s\'', accessory.displayName);
|
|
14
11
|
callback();
|
|
15
12
|
});
|
|
16
|
-
|
|
13
|
+
accessory.addService(Service.WiFiRouter);
|
|
17
14
|
//# sourceMappingURL=Wi-FiRouter_accessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wi-FiRouter_accessory.js","sourceRoot":"","sources":["../../src/accessories/Wi-FiRouter_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wi-FiRouter_accessory.js","sourceRoot":"","sources":["../../src/accessories/Wi-FiRouter_accessory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;AAE5D,wCAAwC;AACxC,SAAS,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAExC,wCAAwC;AACxC,SAAS,CAAC,OAAO,GAAG,YAAY,CAAA;AAChC,SAAS,CAAC,QAAQ,6BAAoB,CAAA;AAEtC,SAAS,CAAC,EAAE,gDAA+B,CAAC,MAAe,EAAE,QAAsB,EAAE,EAAE;IACrF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;IACzD,QAAQ,EAAE,CAAA;AACZ,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wi-FiSatellite_accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/Wi-FiSatellite_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wi-FiSatellite_accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/Wi-FiSatellite_accessory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAkE,MAAM,aAAa,CAAA;AAGvG,eAAO,MAAM,SAAS,WAAyC,CAAA"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const __1 = require("..");
|
|
5
|
-
const UUID = __1.uuid.generate("hap-nodejs:accessories:wifi-satellite");
|
|
6
|
-
exports.accessory = new __1.Accessory("Wi-Fi Satellite", UUID);
|
|
1
|
+
import { Accessory, Characteristic, Service, uuid } from '../index.js';
|
|
2
|
+
const UUID = uuid.generate('hap-nodejs:accessories:wifi-satellite');
|
|
3
|
+
export const accessory = new Accessory('Wi-Fi Satellite', UUID);
|
|
7
4
|
// @ts-expect-error: Core/BridgeCore API
|
|
8
|
-
|
|
5
|
+
accessory.username = 'FA:3C:ED:5A:1A:A2';
|
|
9
6
|
// @ts-expect-error: Core/BridgeCore API
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
console.log(
|
|
7
|
+
accessory.pincode = '031-45-154';
|
|
8
|
+
accessory.category = 33 /* Categories.ROUTER */;
|
|
9
|
+
accessory.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
|
|
10
|
+
console.log('Identify the \'%s\'', accessory.displayName);
|
|
14
11
|
callback();
|
|
15
12
|
});
|
|
16
|
-
const satellite =
|
|
17
|
-
satellite.getCharacteristic(
|
|
18
|
-
.updateValue(
|
|
13
|
+
const satellite = accessory.addService(Service.WiFiSatellite);
|
|
14
|
+
satellite.getCharacteristic(Characteristic.WiFiSatelliteStatus)
|
|
15
|
+
.updateValue(Characteristic.WiFiSatelliteStatus.CONNECTED);
|
|
19
16
|
//# sourceMappingURL=Wi-FiSatellite_accessory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wi-FiSatellite_accessory.js","sourceRoot":"","sources":["../../src/accessories/Wi-FiSatellite_accessory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wi-FiSatellite_accessory.js","sourceRoot":"","sources":["../../src/accessories/Wi-FiSatellite_accessory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvG,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAA;AACnE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAE/D,wCAAwC;AACxC,SAAS,CAAC,QAAQ,GAAG,mBAAmB,CAAA;AAExC,wCAAwC;AACxC,SAAS,CAAC,OAAO,GAAG,YAAY,CAAA;AAChC,SAAS,CAAC,QAAQ,6BAAoB,CAAA;AAEtC,SAAS,CAAC,EAAE,gDAA+B,CAAC,MAAe,EAAE,QAAsB,EAAE,EAAE;IACrF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;IACzD,QAAQ,EAAE,CAAA;AACZ,CAAC,CAAC,CAAA;AAEF,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AAE7D,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,mBAAmB,CAAE;KAC7D,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AudioCodecConfiguration, ErrorHandler, FrameHandler, SiriAudioStreamProducer } from
|
|
2
|
-
export
|
|
1
|
+
import type { AudioCodecConfiguration, ErrorHandler, FrameHandler, SiriAudioStreamProducer } from '..';
|
|
2
|
+
export interface GStreamerOptions {
|
|
3
3
|
alsaSrc: string;
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
5
|
/**
|
|
6
6
|
* SiriAudioStreamProducer utilizing gstreamer and alsa audio devices to create opus audio frames.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstreamer-audioProducer.d.ts","sourceRoot":"","sources":["../../src/accessories/gstreamer-audioProducer.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"gstreamer-audioProducer.d.ts","sourceRoot":"","sources":["../../src/accessories/gstreamer-audioProducer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACxB,MAAM,IAAI,CAAA;AAuCX,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAuB,YAAW,uBAAuB;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEvB;IAED,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,OAAO,CAAQ;gBAEX,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAYvG,oBAAoB,CAAC,0BAA0B,EAAE,uBAAuB,GAAG,IAAI;IAyF/E,mBAAmB,IAAI,IAAI;CAQ5B"}
|