[openwebnet] added support for CEN/CEN+ scenarios (WHO=15/25) (#11398)

* [openwebnet] first support for CEN

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] added CEN actions. OpenWebNetThingHandler.send() is now public

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] added CEN+ support

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] use WhereCEN, removed nullpointer warnings from EnergyHandler. Improved README

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] completed support for CEN/CEN+

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] improved log

Signed-off-by: Massimo Valla <mvcode00@gmail.com>

* [openwebnet] corrected "pressure" and renamed some labels

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
This commit is contained in:
M Valla
2021-10-30 18:10:03 +02:00
committed by GitHub
parent 306b3c4853
commit 3bd2939b6c
23 changed files with 699 additions and 55 deletions

View File

@@ -38,7 +38,7 @@
</parameter>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>Example: A/PL address: A=1 PL=3 --> where=13. On local bus: where=13#4#01</description>
</parameter>
</config-description>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="openwebnet"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<!-- Thing for BUS CEN+ Scenario Control (BTicino HC/HD/HS/L/N/NT4680) -->
<thing-type id="bus_cenplus_scenario_control">
<supported-bridge-type-refs>
<bridge-type-ref id="bus_gateway"/>
</supported-bridge-type-refs>
<label>CEN+ Scenario Control</label>
<description>A OpenWebNet BUS/SCS CEN+ Scenario Control device. BTicino models: HC/HD/HS/L/N/NT4680</description>
<!-- channels are created dynamically based on configured buttons -->
<properties>
<property name="vendor">BTicino/Legrand</property>
<property name="model">BTI-HC/HD/HS/L/N/NT4680</property>
<property name="ownDeviceType">273</property>
</properties>
<representation-property>ownId</representation-property>
<config-description>
<parameter name="buttons" type="text">
<label>Configured Buttons</label>
<description>List (comma separated) of buttons numbers [0-31] configured for this scenario device, example:
buttons=1,2,4
</description>
</parameter>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Address (where)</label>
<description>Use 2+N[0-2047]. Example: scenario control 5 --> WHERE=25</description>
</parameter>
</config-description>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="openwebnet"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<!-- Thing for BUS CEN Scenario Control (BTicino HC/HD/HS/L/N/NT4680) -->
<thing-type id="bus_cen_scenario_control">
<supported-bridge-type-refs>
<bridge-type-ref id="bus_gateway"/>
</supported-bridge-type-refs>
<label>CEN Scenario Control</label>
<description>A OpenWebNet BUS/SCS CEN Scenario Control device. BTicino models: HC/HD/HS/L/N/NT4680</description>
<!-- channels are created dynamically based on configured buttons -->
<properties>
<property name="vendor">BTicino/Legrand</property>
<property name="model">BTI-HC/HD/HS/L/N/NT4680</property>
<property name="ownDeviceType">2</property>
</properties>
<representation-property>ownId</representation-property>
<config-description>
<parameter name="buttons" type="text">
<label>Configured Buttons</label>
<description>List (comma separated) of buttons numbers [0-31] configured for this scenario device. Example:
buttons=1,2,4</description>
</parameter>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Address (where)</label>
<description>Example: A/PL address: A=1 PL=3 --> WHERE=13. On local bus: WHERE=13#4#01</description>
</parameter>
</config-description>
</thing-type>
</thing:thing-descriptions>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>Example: A/PL address: A=1 PL=3 --> where=13. On local bus: where=13#4#01</description>
</parameter>
</config-description>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Address</label>
<label>OpenWebNet Address (where)</label>
<description>Example: 5N with N=[1-255]</description>
</parameter>
</config-description>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>Example: A/PL address: A=1 PL=3 --> where=13. On local bus: where=13#4#01</description>
</parameter>
</config-description>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address</label>
<label>OpenWebNet Address (where)</label>
<description>Example: sensor 3 of zone 2 --> where=302. Sensor 5 of external zone 00 --> where=500</description>
</parameter>
</config-description>

View File

@@ -36,7 +36,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address</label>
<label>OpenWebNet Address (where)</label>
<description>Example: zone 2 --> where=2.</description>
</parameter>

View File

@@ -37,7 +37,7 @@
<default>AUTO</default>
</parameter>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>It identifies one ZigBee device. Example: 765432101#9</description>
</parameter>
</config-description>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>It identifies one ZigBee device. Example: 765432101#9</description>
</parameter>
</config-description>

View File

@@ -27,7 +27,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>It identifies one ZigBee device. Example: 765432101#9</description>
</parameter>
</config-description>

View File

@@ -28,7 +28,7 @@
<config-description>
<parameter name="where" type="text" required="true">
<label>OpenWebNet Device Address (where)</label>
<label>OpenWebNet Address (where)</label>
<description>It identifies one ZigBee device. Example: 765432100#9 (use unit=00 at the end)</description>
</parameter>
</config-description>

View File

@@ -178,4 +178,31 @@
<category>Energy</category>
<state readOnly="true" pattern="%.0f %unit%"></state>
</channel-type>
<!-- CEN/CEN+ trigger channels -->
<channel-type id="cenButtonEvent">
<kind>trigger</kind>
<label>CEN Button Event</label>
<event>
<options>
<option value="START_PRESS">start press</option>
<option value="SHORT_PRESS">release after short press</option>
<option value="EXTENDED_PRESS">extended press (repeated until release)</option>
<option value="RELEASE_EXTENDED_PRESS">release after extended press</option>
</options>
</event>
</channel-type>
<channel-type id="cenPlusButtonEvent">
<kind>trigger</kind>
<label>CEN+ Button Event</label>
<event>
<options>
<option value="SHORT_PRESS">short press</option>
<option value="START_EXTENDED_PRESS">start of extended press</option>
<option value="EXTENDED_PRESS">extended press (repeated until release)</option>
<option value="RELEASE_EXTENDED_PRESS">release after extended press</option>
</options>
</event>
</channel-type>
</thing:thing-descriptions>