diff --git a/.all-contributorsrc b/.all-contributorsrc
index c7a5716..e2c7259 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -70,6 +70,15 @@
"contributions": [
"bug"
]
+ },
+ {
+ "login": "Flush1963",
+ "name": "Flush1963",
+ "avatar_url": "https://avatars.githubusercontent.com/u/117358003?v=4",
+ "profile": "https://github.com/Flush1963",
+ "contributions": [
+ "ideas"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.homeychangelog.json b/.homeychangelog.json
index aa25217..278b638 100644
--- a/.homeychangelog.json
+++ b/.homeychangelog.json
@@ -106,5 +106,8 @@
},
"0.9.2": {
"en": "Update learn instructions for SCS 317"
+ },
+ "0.10.0": {
+ "en": "Add support for SIR 321"
}
}
diff --git a/.homeycompose/app.json b/.homeycompose/app.json
index 102b46b..a066f69 100644
--- a/.homeycompose/app.json
+++ b/.homeycompose/app.json
@@ -1,6 +1,6 @@
{
"id": "com.horstmann",
- "version": "0.9.2",
+ "version": "0.10.0",
"compatibility": ">=5.0.0",
"sdk": 3,
"name": {
diff --git a/README.md b/README.md
index 1879ea3..414d7e8 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ Adds support for Secure (previously Horstmann) devices to Homey.
- [SSR 302 Dual Channel Power Switch](https://products.z-wavealliance.org/products/1619) - [Manual](https://products.z-wavealliance.org/ProductManual/File?folder=&filename=MarketCertificationFiles/1619/SSR%20302%20User%20Manual.pdf)
- [SSR 303 / ASR-ZW Power Switch](https://products.z-wavealliance.org/products/1618) - [Manual](https://products.z-wavealliance.org/ProductManual/File?folder=&filename=MarketCertificationFiles/1618/SSR%20303%20User%20Manual.pdf)
- [SCS 317 / C17-ZW Programmable Room Thermostat](https://products.z-wavealliance.org/products/864)
+- [SIR 321](https://products.z-wavealliance.org/products/1012/)
## License
@@ -32,15 +33,20 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
diff --git a/README.txt b/README.txt
index 4973265..2f2c05f 100644
--- a/README.txt
+++ b/README.txt
@@ -13,3 +13,4 @@ SRT 323
SSR 302
SSR 303 / ASR-ZW
SCS 317
+SIR 321
diff --git a/app.json b/app.json
index 6312d7d..42a9ce9 100644
--- a/app.json
+++ b/app.json
@@ -1,7 +1,7 @@
{
"_comment": "This file is generated. Please edit .homeycompose/app.json instead.",
"id": "com.horstmann",
- "version": "0.9.2",
+ "version": "0.10.0",
"compatibility": ">=5.0.0",
"sdk": 3,
"name": {
@@ -435,6 +435,78 @@
}
]
},
+ {
+ "id": "sir321",
+ "name": {
+ "en": "SIR321"
+ },
+ "class": "socket",
+ "capabilities": [
+ "onoff",
+ "measure_temperature"
+ ],
+ "connectivity": [
+ "zwave"
+ ],
+ "images": {
+ "small": "/drivers/sir321/assets/images/small.jpg",
+ "large": "/drivers/sir321/assets/images/large.jpg"
+ },
+ "zwave": {
+ "manufacturerId": 89,
+ "productTypeId": [
+ 16
+ ],
+ "productId": [
+ 2,
+ 3,
+ 4
+ ],
+ "zwaveAllianceProductId": 1012,
+ "zwaveAllianceProductDocumentation": "https://products.z-wavealliance.org/ProductManual/File?folder=&filename=product_documents/4045/SIR321%20BGX501-867%20R07.pdf",
+ "associationGroups": [
+ 1,
+ 2,
+ 3
+ ],
+ "associationGroupsOptions": {
+ "1": {
+ "hint": {
+ "en": "Lifeline"
+ }
+ },
+ "2": {
+ "hint": {
+ "en": "Schedule Report"
+ }
+ },
+ "3": {
+ "hint": {
+ "en": "Air Temperature"
+ }
+ }
+ },
+ "learnmode": {
+ "instruction": {
+ "en": "Press and hold the pairing button on the back of the unit\n When RF LED starts flashing, relase the button.\n On successful addition, the LED will stop flashing."
+ }
+ }
+ },
+ "pair": [
+ {
+ "id": "list_devices",
+ "template": "list_devices",
+ "navigation": {
+ "next": "add_devices"
+ }
+ },
+ {
+ "id": "add_devices",
+ "template": "add_devices"
+ }
+ ],
+ "settings": []
+ },
{
"class": "thermostat",
"capabilities": [
diff --git a/drivers/sir321/assets/icon.svg b/drivers/sir321/assets/icon.svg
new file mode 100644
index 0000000..19b53c8
--- /dev/null
+++ b/drivers/sir321/assets/icon.svg
@@ -0,0 +1,21 @@
+
+
diff --git a/drivers/sir321/assets/images/large.jpg b/drivers/sir321/assets/images/large.jpg
new file mode 100644
index 0000000..aba1588
Binary files /dev/null and b/drivers/sir321/assets/images/large.jpg differ
diff --git a/drivers/sir321/assets/images/small.jpg b/drivers/sir321/assets/images/small.jpg
new file mode 100644
index 0000000..6b80116
Binary files /dev/null and b/drivers/sir321/assets/images/small.jpg differ
diff --git a/drivers/sir321/device.js b/drivers/sir321/device.js
new file mode 100644
index 0000000..819d963
--- /dev/null
+++ b/drivers/sir321/device.js
@@ -0,0 +1,13 @@
+'use strict';
+
+const { ZwaveDevice } = require('homey-zwavedriver');
+
+class SIR321Device extends ZwaveDevice {
+ async onInit() {
+ this.log('SIR321Device has been initialized');
+ this.registerCapability('onoff', 'SWITCH_BINARY');
+ this.registerCapability('measure_temperature', 'SENSOR_MULTILEVEL');
+ }
+}
+
+module.exports = SIR321Device;
diff --git a/drivers/sir321/driver.compose.json b/drivers/sir321/driver.compose.json
new file mode 100644
index 0000000..7568410
--- /dev/null
+++ b/drivers/sir321/driver.compose.json
@@ -0,0 +1,56 @@
+{
+ "id": "sir321",
+ "name": {
+ "en": "SIR321"
+ },
+ "class": "socket",
+ "capabilities": ["onoff", "measure_temperature"],
+ "connectivity": ["zwave"],
+ "images": {
+ "small": "{{driverAssetsPath}}/images/small.jpg",
+ "large": "{{driverAssetsPath}}/images/large.jpg"
+ },
+ "zwave": {
+ "manufacturerId": 89,
+ "productTypeId": [16],
+ "productId": [2, 3, 4],
+ "zwaveAllianceProductId": 1012,
+ "zwaveAllianceProductDocumentation": "https://products.z-wavealliance.org/ProductManual/File?folder=&filename=product_documents/4045/SIR321%20BGX501-867%20R07.pdf",
+ "associationGroups": [1, 2, 3],
+ "associationGroupsOptions": {
+ "1": {
+ "hint": {
+ "en": "Lifeline"
+ }
+ },
+ "2": {
+ "hint": {
+ "en": "Schedule Report"
+ }
+ },
+ "3": {
+ "hint": {
+ "en": "Air Temperature"
+ }
+ }
+ },
+ "learnmode": {
+ "instruction": {
+ "en": "Press and hold the pairing button on the back of the unit\n When RF LED starts flashing, relase the button.\n On successful addition, the LED will stop flashing."
+ }
+ }
+ },
+ "pair": [
+ {
+ "id": "list_devices",
+ "template": "list_devices",
+ "navigation": {
+ "next": "add_devices"
+ }
+ },
+ {
+ "id": "add_devices",
+ "template": "add_devices"
+ }
+ ]
+}
diff --git a/drivers/sir321/driver.settings.compose.json b/drivers/sir321/driver.settings.compose.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/drivers/sir321/driver.settings.compose.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file