[enocean] Add support for Soda Handles (EEP D2-06-01) (#11230)

* added data validation

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* Revert "added data validation"

This reverts commit 945101056b7d0a79b6d53985cfcef8e06bf0a8aa.

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* added calibration channels

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* added calibration channels

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* initial d20601 impl

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* fixed D20601 temp and battery

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* README updated and changed D20601 to mechanical handle

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* spotless

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* use common events

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* fix spotless

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* Revert "added calibration channels"

This reverts commit 6287b4be19fc37e8d1c2211109628fff513ecc8e.

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* Revert "added calibration channels"

This reverts commit fca8b4b11d1df0345bc02466311cf3f139044562.

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* Revert "Revert "added data validation""

This reverts commit e8ff27fa44461a108f3942f5e9547d72bb280d65.

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* Revert "added data validation"

This reverts commit 8d7bd95629426640d9f63d53c05335f3dcbd9b5b.

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* added more comments and fixed channel labels

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* added state enums

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* added missing modifiers

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* fixed typo in comment

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

* upstream changes

Signed-off-by: Thomas Lauterbach <lauterbachthomas@gmail.com>

Co-authored-by: Thomas Lauterbach <lauterbachthomas@gmail.com>
This commit is contained in:
Thomas Lauterbach
2021-10-16 18:47:58 +02:00
committed by GitHub
parent 1e57450e3f
commit a253250427
7 changed files with 337 additions and 7 deletions

View File

@@ -68,6 +68,7 @@ This binding is developed on and tested with the following devices
* Hoppe SecuSignal window handles
* Rocker switches (NodOn, Eltako FT55 etc)
* Siegenia Senso Secure window sensors
* Soda window handles
However, because of the standardized EnOcean protocol it is more important which EEP this binding supports.
Hence if your device supports one of the following EEPs the chances are good that your device is also supported by this binding.
@@ -77,7 +78,7 @@ Hence if your device supports one of the following EEPs the chances are good tha
| bridge | - | - | repeaterMode, setBaseId | USB300, EnOceanPi | - |
| pushButton | F6-01/D2-03 | 0x01/0x0A | pushButton, doublePress,<br/>longPress, batteryLevel | NodOn soft button | Manually/Discovery |
| rockerSwitch | F6-02 | 0x01-02 | rockerswitchA, rockerswitchB,<br/>rockerSwitchAction | Eltako FT55 | Discovery |
| mechanicalHandle | F6-10 | 0x00-01 | windowHandleState, contact | Hoppe SecuSignal handles, Eltako TF-FGB | Discovery |
| mechanicalHandle | F6-10/D2-06 | 0x00-01/0x01 | windowHandleState, contact and a lot more for soda handles³ | Hoppe SecuSignal handles, Eltako TF-FGB, Soda handles | Discovery |
| contact | D5-00 | 0x01 | contact | Eltako FTK(E) & TF-FKB | Discovery |
| temperatureSensor | A5-02 | 0x01-30 | temperature | Thermokon SR65 | Discovery |
| temperatureHumiditySensor | A5-04 | 0x01-03 | humidity, temperature | Eltako FTSB | Discovery |
@@ -99,6 +100,11 @@ Hence if your device supports one of the following EEPs the chances are good tha
² These are just examples of supported devices
³ Note that the soda handles potentially contain a wide range of different sensors and buttons.
However the amount of built-in sensors and buttons may vary between different models.
In case your particular device does not contain one of the potentially supported features the corresponding channel will never trigger an update.
Please see the manual of your particular model to check which channels should be supported before opening an issue.
Furthermore following supporting EEP family is available too: A5-11, types 0x03 (rollershutter position status), 0x04 (extended light status) and D0-06 (battery level indication).
A `rockerSwitch` is used to receive messages from a physical EnOcean Rocker Switch.
@@ -183,7 +189,7 @@ If you change the SenderId of your thing, you have to pair again the thing with
| | enoceanId | EnOceanId of device this thing belongs to | hex value as string |
| rockerSwitch | receivingEEPId | | F6_02_01, F6_02_02 |
| | enoceanId | | |
| mechanicalHandle | receivingEEPId | | F6_10_00, F6_10_01, A5_14_09 |
| mechanicalHandle | receivingEEPId | | F6_10_00, F6_10_01, A5_14_09, D2_06_01 |
| | enoceanId | | |
| | receivingSIGEEP | | |
| contact | receivingEEPId | | D5_00_01, A5_14_01_ELTAKO |
@@ -258,12 +264,13 @@ The channels of a thing are determined automatically based on the chosen EEP.
| repeaterMode | String | Set repeater level to 1, 2 or disable |
| setBaseId | String | Changes the BaseId of your gateway. This can only be done 10 times! So use it with care. |
| pushButton | Trigger | Channel type system:rawbutton, emits PRESSED and RELEASED events |
| pushButton2 | Trigger | Channel type system:rawbutton, emits PRESSED and RELEASED events |
| doublePress | Trigger | Channel type system:rawbutton, emits PRESSED |
| longPress | Trigger | Channel type system:rawbutton, emits PRESSED and RELEASED events |
| rockerswitchA/B | Trigger | Channel type system:rawrocker, emits DIR1_PRESSED, DIR1_RELEASED, DIR2_PRESSED, DIR2_RELEASED events |
| rockerSwitchAction | Trigger | Emits combined rocker switch actions for channel A and B and RELEASED events |
| windowHandleState | String | Textual representation of handle position (OPEN, CLOSED, TILTED) |
| windowSashState | String | Textual representation of sash position (OPEN, CLOSED, TILTED) |
| windowHandleState | String | Textual representation of handle position (UP, DOWN, LEFT, RIGHT for the D2_06_01 EEP and OPEN, CLOSED, TILTED for all others) |
| windowSashState | String | Textual representation of sash position (TILTED or NOT TILTED for the D2_06_01 EEP and OPEN, CLOSED, TILTED for all others) |
| windowCalibrationState | String | Textual representation of the calibration state (OK, ERROR, INVALID) |
| windowCalibrationStep | String | Textual representation of the next step that must be performed for calibrating the device (e.g. NONE, SASH CLOSED HANDLE CLOSED, SASH CLOSED HANDLE OPEN, SASH OPEN HANDLE TILTED, and so on) |
| contact | Contact | State OPEN/CLOSED (tilted handle => OPEN) |
@@ -328,7 +335,9 @@ The channels of a thing are determined automatically based on the chosen EEP.
| repeatCount | Number | Number of repeaters involved in the transmission of the telegram |
| lastReceived | DateTime | Date and time the last telegram was received |
| statusRequestEvent | Trigger | Emits event 'requestAnswer' |
| windowBreachEvent | Trigger | Emits event 'ALARM' |
| windowBreachEvent | Trigger | Emits event 'ALARM' |
| protectionPlusEvent | Trigger | Emits event 'ALARM' |
| vacationModeToggleEvent | Trigger | Emits events 'ACTIVATED', 'DEACTIVATED' |
Items linked to bi-directional actuators (actuator sends status messages back) should always disable the `autoupdate`.