Skip to content

Commit c623170

Browse files
committed
Corrected config.schema.json & improved docu.
1 parent 9a03c1d commit c623170

3 files changed

Lines changed: 113 additions & 34 deletions

File tree

README.md

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
Homebridge-hsd is a plugin for [Homebridge.io](https://homebridge.io/). It accesses KNX via the [Gira HomeSever URL endpoints](https://partner.gira.com/en/service/software-tools/developer.html).
44

5-
## Helpful Links
6-
* [Gira HomeServer URL Endpoint Documentation](https://partner.gira.com/en/service/software-tools/developer.html): \HS ICD\URL Endpoint\documentation\de
7-
* [Homebridge KNX Plugin](https://github.com/kodmax/homebridge-knx-eib) as template
8-
* [Homebridge Service Types](https://developers.homebridge.io/#/service)
9-
105
## Glossary
116

127
| Term | Definition |
@@ -17,6 +12,10 @@ Homebridge-hsd is a plugin for [Homebridge.io](https://homebridge.io/). It acces
1712
| Characteristic | Requiered by Homebridge. A "characteristic" is a specific property within a service. These are the individual attributes or settings that a service can control. For example, a light service could have the characteristics "On/Off status", "Brightness" and "Color temperature". Characteristics are the actual data points that are read or written by HomeKit. |
1813
| Endpoints | Gira HomeServer URL Endpoints. The interface of the Gira HomeServer to KNX, mirroring KNX Group Addresses. |
1914

15+
## Helpful Links
16+
* [Gira HomeServer URL Endpoint Documentation](https://partner.gira.com/en/service/software-tools/developer.html): \HS ICD\URL Endpoint\documentation\de
17+
* [Homebridge KNX Plugin](https://github.com/kodmax/homebridge-knx-eib) as template
18+
* [Homebridge Service Types](https://developers.homebridge.io/#/service)
2019

2120
# Strategy
2221

@@ -31,30 +30,39 @@ Check [Homebridge.io docuemntation](https://developers.homebridge.io/#/service)
3130

3231
## Services
3332
### Garage Door Opener
34-
#### Characteristics
33+
Check required Homebridge characteristics for [Garage Door Opener Service](https://developers.homebridge.io/#/service/GarageDoorOpener).
34+
35+
The plugin implemented the following characteristics:
3536
- [Current Door State](#current-door-state)
3637
- [Target Door State](#target-door-state)
3738
- [Obstruction Detection](#obstruction-detected)
3839

3940
### Lightbulb
40-
#### Characteristics
41+
Check required Homebridge characteristics for [Lightbulb Service](https://developers.homebridge.io/#/service/Lightbulb).
42+
43+
The plugin implemented the following characteristics:
4144
- [On](#on)
4245
- [Brightness](#brightness)
4346

4447
### Outlet
45-
#### Characteristics
48+
Check required Homebridge characteristics for [Outlet Service](https://developers.homebridge.io/#/service/Outlet).
49+
The plugin implemented the following characteristics:
4650
- [On](#on)
4751

4852
### Switch
49-
#### Characteristics
53+
Check required Homebridge characteristics for [Switch Service](https://developers.homebridge.io/#/service/Switch).
54+
The plugin implemented the following characteristics:
5055
- [On](#on)
5156

5257
### Temperature Sensor
53-
#### Characterisitcs
58+
Check required Homebridge characteristics for [Temperature Sensor Service](https://developers.homebridge.io/#/service/TemperatureSensor).
59+
The plugin implemented the following characteristics:
5460
- [Current Temperature](#current-temperature)
5561

5662
### Window
57-
#### Characterisitcs
63+
Check required Homebridge characteristics for [Window Service](https://developers.homebridge.io/#/service/Window).
64+
65+
The plugin implemented the following characteristics:
5866
- [Current Door State](#current-door-state)
5967
- [Target Door State](#target-door-state)
6068
- [Obstruction Detected](#obstruction-detected)
@@ -271,6 +279,4 @@ For reference, the current criteria are:
271279
- The plugin must not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.
272280
- If the plugin needs to write files to disk (cache, keys, etc.), it must store them inside the Homebridge storage directory.
273281

274-
### Useful Links
275-
Note these links are here for help but are not supported/verified by the Homebridge team
276-
- [Custom Characteristics](https://github.com/homebridge/homebridge-plugin-template/issues/20)
282+

config.schema.json

Lines changed: 92 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44
"footerDisplay": "v0.8",
55
"singular": false,
66
"schema": {
7-
"required": ["hsIp", "hsUserName", "hsUserPw", "hsPort", "accessories"],
7+
"required": [
8+
"hsIp",
9+
"hsUserName",
10+
"hsUserPw",
11+
"hsPort",
12+
"accessories"
13+
],
814
"type": "object",
915
"properties": {
1016
"hsIp": {
@@ -33,7 +39,9 @@
3339
"expanded": false,
3440
"items": {
3541
"type": "object",
36-
"required": ["accessoryName"],
42+
"required": [
43+
"accessoryName"
44+
],
3745
"properties": {
3846
"accessoryName": {
3947
"title": "Accessory Name",
@@ -43,7 +51,7 @@
4351
"services": {
4452
"type": "array",
4553
"expandable": true,
46-
"expanded": false,
54+
"expanded": false,
4755
"items": {
4856
"type": "object",
4957
"properties": {
@@ -58,17 +66,42 @@
5866
"required": true,
5967
"default": "Lightbulb",
6068
"oneOf": [
61-
{ "title": "Lightbulb", "enum": ["Lightbulb"] },
62-
{ "title": "Outlet", "enum": ["Outlet"] },
63-
{ "title": "Switch", "enum": ["Switch"] },
64-
{ "title": "Garage Door Opener", "enum": ["GarageDoorOpener"] },
65-
{ "title": "Window", "enum": ["Window"] }
69+
{
70+
"title": "Lightbulb",
71+
"enum": [
72+
"Lightbulb"
73+
]
74+
},
75+
{
76+
"title": "Outlet",
77+
"enum": [
78+
"Outlet"
79+
]
80+
},
81+
{
82+
"title": "Switch",
83+
"enum": [
84+
"Switch"
85+
]
86+
},
87+
{
88+
"title": "Garage Door Opener",
89+
"enum": [
90+
"GarageDoorOpener"
91+
]
92+
},
93+
{
94+
"title": "Window",
95+
"enum": [
96+
"Window"
97+
]
98+
}
6699
]
67-
},
100+
},
68101
"characteristics": {
69102
"type": "array",
70103
"expandable": true,
71-
"expanded": false,
104+
"expanded": false,
72105
"items": {
73106
"type": "object",
74107
"properties": {
@@ -78,20 +111,60 @@
78111
"default": "On",
79112
"description": "<h4>Endpoints</h4><p><ul><li>Brightness: 1=set, 2=get</li><li>On: 1=set, 2=get</li><li>CurrentDoorState: 1=get</li><li>TargetDoorState: 1=set, 2=get</li><li>ObstructionDetected: 1=get</li></ul></p>",
80113
"oneOf": [
81-
{ "title": "Brightness", "enum": ["Brightness"]},
82-
{ "title": "On", "enum": ["On"]},
83-
{ "title": "Current Door State", "enum": ["CurrentDoorState"]},
84-
{ "title": "Target Door State", "enum": ["TargetDoorState"]},
85-
{ "title": "Obstruction Detection", "enum": ["ObstructionDetection"]},
86-
{ "title": "Position State", "enum": ["PositionState"]},
87-
{ "title": "Target Position", "enum": ["TargetPosition"]}
88-
{ "title": "Current Temperature", "enum": ["CurrentTemperature"]}
114+
{
115+
"title": "Brightness",
116+
"enum": [
117+
"Brightness"
118+
]
119+
},
120+
{
121+
"title": "On",
122+
"enum": [
123+
"On"
124+
]
125+
},
126+
{
127+
"title": "Current Door State",
128+
"enum": [
129+
"CurrentDoorState"
130+
]
131+
},
132+
{
133+
"title": "Target Door State",
134+
"enum": [
135+
"TargetDoorState"
136+
]
137+
},
138+
{
139+
"title": "Obstruction Detection",
140+
"enum": [
141+
"ObstructionDetection"
142+
]
143+
},
144+
{
145+
"title": "Position State",
146+
"enum": [
147+
"PositionState"
148+
]
149+
},
150+
{
151+
"title": "Target Position",
152+
"enum": [
153+
"TargetPosition"
154+
]
155+
},
156+
{
157+
"title": "Current Temperature",
158+
"enum": [
159+
"CurrentTemperature"
160+
]
161+
}
89162
]
90163
},
91164
"endpoints": {
92165
"type": "array",
93166
"expandable": true,
94-
"expanded": false,
167+
"expanded": false,
95168
"items": {
96169
"title": "Endpoints",
97170
"type": "string"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "homebridge-hsd",
33
"displayName": "Homebridge Gira Homeserver URL-Endpoint",
4-
"version": "1.1.0",
4+
"version": "1.1.1",
55
"description": "Plugin to access KNX bus via Gira Homeserver",
66
"license": "MIT",
77
"keywords": [

0 commit comments

Comments
 (0)