]> git.basschouten.com Git - openhab-addons.git/commitdiff
[insteon] added ability to configure the channels with parameters from the ui (#8959)
authorrobnielsen <rob.nielsen@yahoo.com>
Thu, 12 Nov 2020 03:11:17 +0000 (21:11 -0600)
committerGitHub <noreply@github.com>
Thu, 12 Nov 2020 03:11:17 +0000 (19:11 -0800)
Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
bundles/org.openhab.binding.insteon/README.md
bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/config/config.xml [new file with mode: 0644]
bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/thing-types.xml

index 11e4e1de393a3b89543b17be472da4e35f16cb51..84ec001ea3c0389a8de00e66034dfeace8696f35 100644 (file)
@@ -199,27 +199,27 @@ Sample things file:
 Bridge insteon:network:home [port="/dev/ttyUSB0"] {
   Thing device 22F8A8 [address="22.F8.A8", productKey="F00.00.15"] {
     Channels:
-      Type switch : keypadButtonA [ group=3 ]
-      Type switch : keypadButtonB [ group=4 ]
-      Type switch : keypadButtonC [ group=5 ]
-      Type switch : keypadButtonD [ group=6 ]
+      Type keypadButtonA : keypadButtonA [ group=3 ]
+      Type keypadButtonB : keypadButtonB [ group=4 ]
+      Type keypadButtonC : keypadButtonC [ group=5 ]
+      Type keypadButtonD : keypadButtonD [ group=6 ]
   }
   Thing device 238D93 [address="23.8D.93", productKey="F00.00.12"]
   Thing device 238F55 [address="23.8F.55", productKey="F00.00.11"] {
     Channels:
-      Type dimmer : dimmer [related="23.B0.D9+23.8F.C9"]
+      Type dimmer        : dimmer [related="23.B0.D9+23.8F.C9"]
   }
   Thing device 238FC9 [address="23.8F.C9", productKey="F00.00.11"] {
     Channels:
-      Type dimmer : dimmer [related="23.8F.55+23.B0.D9"]
+      Type dimmer        : dimmer [related="23.8F.55+23.B0.D9"]
   }
   Thing device 23B0D9 [address="23.B0.D9", productKey="F00.00.11"] {
     Channels:
-      Type dimmer : dimmer [related="23.8F.55+23.8F.C9"]
+      Type dimmer        : dimmer [related="23.8F.55+23.8F.C9"]
   }
   Thing device 243141 [address="24.31.41", productKey="F00.00.11"]  {
     Channels:
-      Type dimmer : dimmer [dimmermax=60]
+      Type dimmer        : dimmer [dimmermax=60]
   }
 }
 ```
@@ -329,11 +329,11 @@ The below example sets a maximum level of 70% for dim 1 and 60% for dim 2:
 Bridge insteon:network:home [port="/dev/ttyUSB0"] {
   Thing device AABBCC [address="AA.BB.CC", productKey="F00.00.11"]  {
     Channels:
-      Type dimmer : dimmer [dimmermax=70]
+      Type dimmer     : dimmer [dimmermax=70]
   }
   Thing device AABBCD [address="AA.BB.CD", productKey="F00.00.15"]  {
     Channels:
-      Type dimmer : loadDimmer [dimmermax=60]
+      Type loadDimmer : loadDimmer [dimmermax=60]
   }
 }
 ```
@@ -576,10 +576,10 @@ To make the buttons available, add the following:
 Bridge insteon:network:home [port="/dev/ttyUSB0"] {
   Thing device AABBCC [address="AA.BB.CC", productKey="F00.00.15"] {
     Channels:
-      Type switch : keypadButtonA [ group="0xf3" ]
-      Type switch : keypadButtonB [ group="0xf4" ]
-      Type switch : keypadButtonC [ group="0xf5" ]
-      Type switch : keypadButtonD [ group="0xf6" ]
+      Type keypadButtonA : keypadButtonA [ group="0xf3" ]
+      Type keypadButtonB : keypadButtonB [ group="0xf4" ]
+      Type keypadButtonC : keypadButtonC [ group="0xf5" ]
+      Type keypadButtonD : keypadButtonD [ group="0xf6" ]
   }
 }
 ```
@@ -747,7 +747,7 @@ The format is `broadcastOnOff#X` where X is the group that you want to be able t
 Bridge insteon:network:home [port="/dev/ttyUSB0"] {
   Thing device AABBCC             [address="AA.BB.CC", productKey="0x000045"] {
     Channels:
-      Type switch : broadcastOnOff#2
+      Type broadcastOnOff : broadcastOnOff#2
   }
 }
 
@@ -802,7 +802,7 @@ A typical example would be a switch configured to broadcast to a group, and one
 Bridge insteon:network:home [port="/dev/ttyUSB0"] {
   Thing device AABBCC [address="AA.BB.CC", productKey="0x000045"] {
     Channels:
-      Type switch : broadcastOnOff#3 [related="AA.BB.DD"]
+      Type broadcastOnOff : broadcastOnOff#3 [related="AA.BB.DD"]
   }
   Thing device AABBDD [address="AA.BB.DD", productKey="F00.00.11"]
 }
diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/config/config.xml
new file mode 100644 (file)
index 0000000..b3966c2
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<config-description:config-descriptions
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
+
+       <config-description uri="channel-type:insteon:button">
+               <parameter name="related" type="text">
+                       <label>Related Devices</label>
+                       <description>List of related Insteon devices separated by a '+' sign.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:contact">
+               <parameter name="related" type="text">
+                       <label>Related Devices</label>
+                       <description>List of related Insteon devices separated by a '+' sign.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:dimmer">
+               <parameter name="dimmermax" type="integer" min="1" max="99">
+                       <label>Maximum Brightness</label>
+                       <description>Maximum brightness of the dimmer in percentage.</description>
+               </parameter>
+               <parameter name="related" type="text">
+                       <label>Related Devices</label>
+                       <description>List of related Insteon devices separated by a '+' sign.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:keypad-button">
+               <parameter name="group" type="text">
+                       <label>Group</label>
+                       <description>Insteon broadcast group configured for this button.</description>
+               </parameter>
+               <parameter name="related" type="text">
+                       <label>Related Devices</label>
+                       <description>List of related Insteon devices separated by a '+' sign.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:keypad-button-fastonoff">
+               <parameter name="group" type="text">
+                       <label>Group</label>
+                       <description>Insteon broadcast group configured for this button.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:keypad-button-manualchange">
+               <parameter name="group" type="text">
+                       <label>Group</label>
+                       <description>Insteon broadcast group configured for this button.</description>
+               </parameter>
+       </config-description>
+
+       <config-description uri="channel-type:insteon:switch">
+               <parameter name="related" type="text">
+                       <label>Related Devices</label>
+                       <description>List of related Insteon devices separated by a '+' sign.</description>
+               </parameter>
+       </config-description>
+</config-description:config-descriptions>
index 09a58de64f1d66614528a6e4939c60321000b87d..93346592db00dcdbe8f538e1178aa20f659e1dad 100644 (file)
        <channel-type id="bottomOutlet">
                <item-type>Switch</item-type>
                <label>Bottom Outlet</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="buttonA">
                <item-type>Switch</item-type>
                <label>Button A</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonB">
                <item-type>Switch</item-type>
                <label>Button B</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonC">
                <item-type>Switch</item-type>
                <label>Button C</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonD">
                <item-type>Switch</item-type>
                <label>Button D</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonE">
                <item-type>Switch</item-type>
                <label>Button E</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonF">
                <item-type>Switch</item-type>
                <label>Button F</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonG">
                <item-type>Switch</item-type>
                <label>Button G</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="buttonH">
                <item-type>Switch</item-type>
                <label>Button H</label>
+               <config-description-ref uri="channel-type:insteon:button"/>
        </channel-type>
 
        <channel-type id="broadcastOnOff">
                <item-type>Switch</item-type>
                <label>Broadcast On/Off</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="contact">
                <item-type>Contact</item-type>
                <label>Contact</label>
+               <config-description-ref uri="channel-type:insteon:contact"/>
        </channel-type>
 
        <channel-type id="coolSetPoint">
        <channel-type id="dimmer">
                <item-type>Dimmer</item-type>
                <label>Dimmer</label>
+               <config-description-ref uri="channel-type:insteon:dimmer"/>
        </channel-type>
 
        <channel-type id="fan">
        <channel-type id="fastOnOffButtonA">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button A</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonB">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button B</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonC">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button C</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonD">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button D</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonE">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button E</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonF">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button F</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonG">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button G</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="fastOnOffButtonH">
                <item-type>Switch</item-type>
                <label>Fast On/Off Button H</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-fastonoff"/>
        </channel-type>
 
        <channel-type id="heatSetPoint">
        <channel-type id="keypadButtonA">
                <item-type>Switch</item-type>
                <label>Keypad Button A</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonB">
                <item-type>Switch</item-type>
                <label>Keypad Button B</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonC">
                <item-type>Switch</item-type>
                <label>Keypad Button C</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonD">
                <item-type>Switch</item-type>
                <label>Keypad Button D</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonE">
                <item-type>Switch</item-type>
                <label>Keypad Button E</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonF">
                <item-type>Switch</item-type>
                <label>Keypad Button F</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonG">
                <item-type>Switch</item-type>
                <label>Keypad Button G</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="keypadButtonH">
                <item-type>Switch</item-type>
                <label>Keypad Button H</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button"/>
        </channel-type>
 
        <channel-type id="kWh">
        <channel-type id="lightDimmer">
                <item-type>Dimmer</item-type>
                <label>Light Dimmer</label>
+               <config-description-ref uri="channel-type:insteon:dimmer"/>
        </channel-type>
 
        <channel-type id="lightLevel">
        <channel-type id="loadDimmer">
                <item-type>Dimmer</item-type>
                <label>Load Dimmer</label>
+               <config-description-ref uri="channel-type:insteon:dimmer"/>
        </channel-type>
 
        <channel-type id="loadSwitch">
                <item-type>Switch</item-type>
                <label>Load Switch</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="loadSwitchFastOnOff">
                <item-type>Switch</item-type>
                <label>Load Switch Fast On/Off</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="loadSwitchManualChange">
        <channel-type id="manualChangeButtonA">
                <item-type>Number</item-type>
                <label>Manual Change Button A</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonB">
                <item-type>Number</item-type>
                <label>Manual Change Button B</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonC">
                <item-type>Number</item-type>
                <label>Manual Change Button C</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonD">
                <item-type>Number</item-type>
                <label>Manual Change Button D</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonE">
                <item-type>Number</item-type>
                <label>Manual Change Button E</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonF">
                <item-type>Number</item-type>
                <label>Manual Change Button F</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonG">
                <item-type>Number</item-type>
                <label>Manual Change Button G</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="manualChangeButtonH">
                <item-type>Number</item-type>
                <label>Manual Change Button H</label>
+               <config-description-ref uri="channel-type:insteon:keypad-button-manualchange"/>
        </channel-type>
 
        <channel-type id="notification">
        <channel-type id="switch">
                <item-type>Switch</item-type>
                <label>Switch</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="systemMode">
        <channel-type id="topOutlet">
                <item-type>Switch</item-type>
                <label>Top Outlet</label>
+               <config-description-ref uri="channel-type:insteon:switch"/>
        </channel-type>
 
        <channel-type id="update">