From: Andrew Fiddian-Green Date: Tue, 10 Jan 2023 07:14:54 +0000 (+0000) Subject: [velux] tweak read me (#14196) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=72786df044d113b5143a27530c523e4d956b0570;p=openhab-addons.git [velux] tweak read me (#14196) Signed-off-by: Andrew Fiddian-Green --- diff --git a/bundles/org.openhab.binding.velux/README.md b/bundles/org.openhab.binding.velux/README.md index 9d1e847880..d9c892c17f 100644 --- a/bundles/org.openhab.binding.velux/README.md +++ b/bundles/org.openhab.binding.velux/README.md @@ -83,13 +83,13 @@ Normally it differs from the password of the web frontend. Advice: if you see a significant number of messages per day as follows, you should increase the parameters `retries` or/and `timeoutMsecs`... -``` +```text communicate(): socket I/O failed continuously (x times). ``` For your convenience you'll see a log entry for the recognized configuration within the log file i.e. -``` +```text 2018-07-23 20:40:24.746 [INFO ] [.b.velux.internal.VeluxBinding] - veluxConfig[ipAddress=192.168.42.1,tcpPort=80,password=********,timeoutMsecs=2000,retries=10] ``` @@ -108,7 +108,7 @@ In addition there are some optional Configuration Parameters. Notes: 1. To enable a complete inversion of all parameter values (i.e. for Velux windows), use the property `inverted` or add a trailing star to the eight-byte serial number. -For an example, see the Thing definition for 'Bathroom_Roof_Window' below. + For an example, see the Thing definition for 'Bathroom_Roof_Window' below. 2. Somfy devices do not provide a valid serial number to the Velux KLF200 Bridge. For such devices you have to enter the special all-zero serial number 00:00:00:00:00:00:00:00 in the `serial` parameter. @@ -258,7 +258,7 @@ The bridge Thing provides the following properties. ### Things -``` +```java Bridge velux:klf200:g24 "Velux KLF200 Hub" @ "Under Stairs" [ipAddress="192.168.1.xxx", password="secret"] { // Velux (standard) window (with serial number) Thing window Bathroom_Roof_Window "Bathroom Roof Window" @ "Bathroom" [serial="56:36:13:5A:11:2A:05:70", inverted=true] @@ -268,25 +268,25 @@ Bridge velux:klf200:g24 "Velux KLF200 Hub" @ "Under Stairs" [ipAddress="192.168. } ``` -See [velux.things](doc/conf/things/velux.things) for more examples. +See [things.md](doc/things.md) for more examples. ### Items -``` +```java Rollershutter Bathroom_Roof_Window_Position "Bathroom Roof Window Position [%.0f %%]" {channel="velux:window:g24:w56-36-13-5A-11-2A-05-70:position"} ``` -See [velux.items](doc/conf/items/velux.items) for more examples. +See [items.md](doc/items.md) for more examples. ### Sitemap -``` +```perl Frame label="Velux Windows" { Slider item=Bathroom_Roof_Window_Position } ``` -See [velux.sitemap](doc/conf/sitemaps/velux.sitemap) for more examples. +See [sitemaps.md](doc/sitemaps.md) for more examples. ### Rule for simultaneously moving the main position and the vane position @@ -360,7 +360,7 @@ then end ``` -See [velux.rules](doc/conf/rules/velux.rules) for more examples. +See [rules.md](doc/rules.md) for more examples. ### Rule for rebooting the Bridge @@ -431,21 +431,21 @@ For those who are interested in more detailed insight of the processing of this With Karaf you can use the following command sequence: -``` +```text log:set TRACE org.openhab.binding.velux log:tail ``` This, of course, is possible on command line with the commands: -``` +```text % openhab-cli console log:set TRACE org.openhab.binding.velux % openhab-cli console log:tail org.openhab.binding.velux ``` On the other hand, if you prefer a textual configuration, you can append the logging definition with: -``` +```text @@ -453,7 +453,7 @@ On the other hand, if you prefer a textual configuration, you can append the log During startup of normal operations, there should be only some few messages within the logfile, like: -``` +```text [INFO ] [nal.VeluxValidatedBridgeConfiguration] - veluxConfig[protocol=slip,ipAddress=192.168.45.9,tcpPort=51200,password=********,timeoutMsecs=1000,retries=5,refreshMsecs=15000,isBulkRetrievalEnabled=true] [INFO ] [ng.velux.bridge.slip.io.SSLconnection] - Starting velux bridge connection. [INFO ] [hab.binding.velux.bridge.slip.SClogin] - velux bridge connection successfully established (login succeeded). @@ -478,7 +478,7 @@ During startup of normal operations, there should be only some few messages with However if you have set the configuration parameter isProtocolTraceEnabled to true, you'll see the complete sequence of exchanged messages: -``` +```text [INFO ] [internal.bridge.slip.SlipVeluxBridge] - Sending command GW_PASSWORD_ENTER_REQ. [INFO ] [nternal.bridge.slip.io.SSLconnection] - Starting velux bridge connection. [INFO ] [internal.bridge.slip.SlipVeluxBridge] - Received answer GW_PASSWORD_ENTER_CFM. @@ -559,6 +559,6 @@ All known Velux devices can be handled by this binding. However, there might be some new ones which will be reported within the logfiles. Therefore, error messages like the one below should be reported to the maintainers so that the new Velux device type can be incorporated. -``` +```text [ERROR] [g.velux.things.VeluxProductReference] - PLEASE REPORT THIS TO MAINTAINER: VeluxProductReference(3) has found an unregistered ProductTypeId. ``` diff --git a/bundles/org.openhab.binding.velux/doc/conf/items/velux.items b/bundles/org.openhab.binding.velux/doc/conf/items/velux.items deleted file mode 100644 index be3922cc18..0000000000 --- a/bundles/org.openhab.binding.velux/doc/conf/items/velux.items +++ /dev/null @@ -1,66 +0,0 @@ -/** - * - * Copyright (c) 2010-2023 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - */ - -/** - * OpenHAB item defintion for velux binding: - * Velux Bridge and Devices - * - * @author Guenther Schreiner - Initial contribution - */ - -// Group for simulating push buttons - -Group:Switch:OR(ON, OFF) gV "PushButton" - -// Velux Bridge channels - -String V_BRIDGE_STATUS "Velux Bridge Status [%s]" { channel="velux:klf200:home:status" } -Switch V_BRIDGE_RELOAD "Velux Bridge Reload" (gV) { channel="velux:klf200:home:reload" } -String V_BRIDGE_TIMESTAMP "Velux Bridge Timestamp [%d]" { channel="velux:klf200:home:timestamp" } - -String V_BRIDGE_FIRMWARE "Velux Bridge Firmware version [%s]" { channel="velux:klf200:home:firmware" } -String V_BRIDGE_IPADDRESS "Velux Bridge LAN IP Address" { channel="velux:klf200:home:ipAddress" } -String V_BRIDGE_SUBNETMASK "Velux Bridge LAN IP Subnet Mask" { channel="velux:klf200:home:subnetMask" } -String V_BRIDGE_DEFAULTGW "Velux Bridge LAN Default Gateway" { channel="velux:klf200:home:defaultGW" } -String V_BRIDGE_DHCP "Velux Bridge LAN DHCP Enabled" { channel="velux:klf200:home:DHCP" } -String V_BRIDGE_WLANSSID "Velux Bridge WLAN SSID" { channel="velux:klf200:home:WLANSSID" } -String V_BRIDGE_WLANPASSWD "Velux Bridge WLAN Password" { channel="velux:klf200:home:WLANPassword" } - -Switch V_BRIDGE_DETECTION "Velux Bridge Detection mode" (gV) { channel="velux:klf200:home:doDetection" } -String V_BRIDGE_CHECK "Velux Bridge Check" { channel="velux:klf200:home:check" } -String V_BRIDGE_SCENES "Velux Bridge Scenes" { channel="velux:klf200:home:scenes" } -String V_BRIDGE_PRODUCTS "Velux Bridge Products" { channel="velux:klf200:home:products" } - -// Velux Scene channels - -Switch V_DG_M_W_OPEN "Velux DG Window open" (gV) { channel="velux:scene:home:windowOpened:action" } -Switch V_DG_M_W_UNLOCKED "Velux DG Window a little open" (gV) { channel="velux:scene:home:windowUnlocked:action" } -Switch V_DG_M_W_CLOSED "Velux DG Window closed" (gV) { channel="velux:scene:home:windowClosed:action" } - -// Velux Bridge channel - -Rollershutter RS2 "Velux Rolladen 2 [%d]" { channel="velux:klf200:home:shutter#0,V_DG_Shutter_Ost_000,100,V_DG_Shutter_Ost_100", channel="knx:device:bridge:control:VeluxFenster" } - - -// Velux Actuator channels - -Rollershutter V_DG_M_W "DG Fenster Bad [%d]" { channel="velux:klf200:home:V_DG_M_W" } -Rollershutter V_DG_M_W2 "DG Fenster Bad [%d]" { channel="velux:klf200:home:V_DG_M_W2" } -Rollershutter V_DG_M_S "DG Bad [%d]" { channel="velux:klf200:home:V_DG_M_S" } -Rollershutter V_DG_W_S "DG West [%d]" { channel="velux:klf200:home:V_DG_W_S" } -Rollershutter V_DG_O_S "DG Ost [%d]" { channel="velux:klf200:home:V_DG_O_S" } - -// -// vim: syntax=Xtend vim: noai:ts=4:sw=4 -// -// end-of-items/velux.items -// diff --git a/bundles/org.openhab.binding.velux/doc/conf/rules/velux.rules b/bundles/org.openhab.binding.velux/doc/conf/rules/velux.rules deleted file mode 100644 index 14e43017c6..0000000000 --- a/bundles/org.openhab.binding.velux/doc/conf/rules/velux.rules +++ /dev/null @@ -1,37 +0,0 @@ -/** - * - * Copyright (c) 2010-2023 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - */ - -/** - * OpenHAB rules for velux binding: - * This rule simulates the push button behaviour. - * - * @author Guenther Schreiner - Initial contribution - */ - -rule "PushButton of group gV" - when - Item gV changed - then - // waiting a second. - Thread::sleep(1000) - // Foreach-Switch-is-ON - gV.allMembers.filter( s | s.state == ON).forEach[i| - // switching OFF - i.sendCommand(OFF) - ] - end - -// -// vim: syntax=Xtend vim: noai:ts=4:sw=4 -// -// end-of-rules/velux.rules -// diff --git a/bundles/org.openhab.binding.velux/doc/conf/sitemaps/velux.sitemap b/bundles/org.openhab.binding.velux/doc/conf/sitemaps/velux.sitemap deleted file mode 100644 index db13f11c7f..0000000000 --- a/bundles/org.openhab.binding.velux/doc/conf/sitemaps/velux.sitemap +++ /dev/null @@ -1,59 +0,0 @@ -/** - * - * Copyright (c) 2010-2023 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - */ - -/** - * OpenHAB sitemap definition for velux binding: - * displays most of the Velux items - * - * @author Guenther Schreiner - Initial contribution - */ - -sitemap velux label="Velux Environment" -{ - Frame label="Velux Shutter and Window" { - - Switch item=V_DG_M_W_OPEN - Switch item=V_DG_M_W_UNLOCKED - Switch item=V_DG_M_W_CLOSED - Slider item=V_DG_M_W - } - - Frame label="Velux Bridge Status" { - Text item=V_BRIDGE_STATUS - Text item=V_BRIDGE_TIMESTAMP - Switch item=V_BRIDGE_RELOAD - } - - Frame label="Velux Bridge Status" { - Switch item=V_BRIDGE_DETECTION - Text item=V_BRIDGE_CHECK - Text item=V_BRIDGE_SCENES - Text item=V_BRIDGE_PRODUCTS - } - - Frame label="Velux Bridge Configuration" { - Text item=V_BRIDGE_FIRMWARE - Text item=V_BRIDGE_IPADDRESS - Text item=V_BRIDGE_SUBNETMASK - Text item=V_BRIDGE_DEFAULTGW - Switch item=V_BRIDGE_DHCP - Text item=V_BRIDGE_WLANSSID - Text item=V_BRIDGE_WLANPASSWD - } - -} - -// -// vim: syntax=Xtend vim: noai:ts=4:sw=4 -// -// end-of-sitemap/velux.sitemap -// diff --git a/bundles/org.openhab.binding.velux/doc/conf/things/velux.things b/bundles/org.openhab.binding.velux/doc/conf/things/velux.things deleted file mode 100644 index 3035b29d60..0000000000 --- a/bundles/org.openhab.binding.velux/doc/conf/things/velux.things +++ /dev/null @@ -1,62 +0,0 @@ -/** - * - * Copyright (c) 2010-2023 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - */ - -/** - * OpenHAB thing definition for velux binding: - * define basic Velux bridge parameters - * - * This is a definition which corresponds to the output of th Bridge - * during startup, i.e. - * - * [INFO ] [x.internal.handler.VeluxBridgeHandler] - Found velux actuators: - * Product "#0" / SLIDER_SHUTTER (bridgeIndex=0,serial=56:32:14:5A:12:1C:05:5F,position=0000) - * Product "#1" / SLIDER_SHUTTER (bridgeIndex=1,serial=53:09:40:5A:0C:23:0A:6E,position=0000) - * Product "DG-M-Window" / SLIDER_WINDOW (bridgeIndex=3,serial=56:23:3E:26:0C:1B:00:10,position=C800) - * Product "#2" / SLIDER_SHUTTER (bridgeIndex=2,serial=53:09:40:5A:0C:2A:05:64,position=0000) - * Product "#4" / SWITCH (bridgeIndex=4,serial=Somfy-Switch,position=C800) - * Product "#5" / SWITCH (bridgeIndex=5,serial=Somfy-Switch,position=C800) - * - * @author Guenther Schreiner - Initial contribution - */ - -// -// Definition of Velux bridge velux:klf200:home -// - -Bridge velux:klf200:home [ ipAddress="192.168.45.9", tcpPort=51200, password="verySecret" ] { - -// Velux scenes - - Thing scene windowClosed [ sceneName="V_DG_Window_Mitte_000" ] - Thing scene windowUnlocked [ sceneName="V_DG_Window_Mitte_005" ] - Thing scene windowOpened [ sceneName="V_DG_Window_Mitte_100" ] - Thing scene unknownScene [ sceneName="ThisIsADummySceneName" ] - -// Velux IO-homecontrol devices - - Thing window V_DG_M_W [ serial="56:23:3E:26:0C:1B:00:10" ] - Thing rollershutter V_DG_M_S [ serial="56:23:3E:26:0C:1B:00:10" ] - Thing rollershutter V_DG_W_S [ serial="53:09:40:5A:0C:2A:05:64" ] - Thing rollershuffer V_DG_O_S [ serial="53:09:40:5A:0C:23:0A:6E" ] - Thing actuator V_SWITCH1 [ name="#4" ] - Thing actuator V_SWITCH2 [ name="#5" ] - -// Virtual rollershutter - - Thing vshutter V_WINDOW [ sceneLevels="0,V_DG_Window_Mitte_000#5,V_DG_Window_Mitte_005#100,V_DG_Window_Mitte_100" ] -} - -// -// vim: syntax=Xtend vim: noai:ts=4:sw=4 -// -// end-of-things/velux.things -// diff --git a/bundles/org.openhab.binding.velux/doc/items.md b/bundles/org.openhab.binding.velux/doc/items.md new file mode 100644 index 0000000000..55f91076a3 --- /dev/null +++ b/bundles/org.openhab.binding.velux/doc/items.md @@ -0,0 +1,43 @@ +```java +// Group for simulating push buttons + +Group:Switch:OR(ON, OFF) gV "PushButton" + +// Velux Bridge channels + +String V_BRIDGE_STATUS "Velux Bridge Status [%s]" { channel="velux:klf200:home:status" } +Switch V_BRIDGE_RELOAD "Velux Bridge Reload" (gV) { channel="velux:klf200:home:reload" } +String V_BRIDGE_TIMESTAMP "Velux Bridge Timestamp [%d]" { channel="velux:klf200:home:timestamp" } + +String V_BRIDGE_FIRMWARE "Velux Bridge Firmware version [%s]" { channel="velux:klf200:home:firmware" } +String V_BRIDGE_IPADDRESS "Velux Bridge LAN IP Address" { channel="velux:klf200:home:ipAddress" } +String V_BRIDGE_SUBNETMASK "Velux Bridge LAN IP Subnet Mask" { channel="velux:klf200:home:subnetMask" } +String V_BRIDGE_DEFAULTGW "Velux Bridge LAN Default Gateway" { channel="velux:klf200:home:defaultGW" } +String V_BRIDGE_DHCP "Velux Bridge LAN DHCP Enabled" { channel="velux:klf200:home:DHCP" } +String V_BRIDGE_WLANSSID "Velux Bridge WLAN SSID" { channel="velux:klf200:home:WLANSSID" } +String V_BRIDGE_WLANPASSWD "Velux Bridge WLAN Password" { channel="velux:klf200:home:WLANPassword" } + +Switch V_BRIDGE_DETECTION "Velux Bridge Detection mode" (gV) { channel="velux:klf200:home:doDetection" } +String V_BRIDGE_CHECK "Velux Bridge Check" { channel="velux:klf200:home:check" } +String V_BRIDGE_SCENES "Velux Bridge Scenes" { channel="velux:klf200:home:scenes" } +String V_BRIDGE_PRODUCTS "Velux Bridge Products" { channel="velux:klf200:home:products" } + +// Velux Scene channels + +Switch V_DG_M_W_OPEN "Velux DG Window open" (gV) { channel="velux:scene:home:windowOpened:action" } +Switch V_DG_M_W_UNLOCKED "Velux DG Window a little open" (gV) { channel="velux:scene:home:windowUnlocked:action" } +Switch V_DG_M_W_CLOSED "Velux DG Window closed" (gV) { channel="velux:scene:home:windowClosed:action" } + +// Velux Bridge channel + +Rollershutter RS2 "Velux Rolladen 2 [%d]" { channel="velux:klf200:home:shutter#0,V_DG_Shutter_Ost_000,100,V_DG_Shutter_Ost_100", channel="knx:device:bridge:control:VeluxFenster" } + + +// Velux Actuator channels + +Rollershutter V_DG_M_W "DG Fenster Bad [%d]" { channel="velux:klf200:home:V_DG_M_W" } +Rollershutter V_DG_M_W2 "DG Fenster Bad [%d]" { channel="velux:klf200:home:V_DG_M_W2" } +Rollershutter V_DG_M_S "DG Bad [%d]" { channel="velux:klf200:home:V_DG_M_S" } +Rollershutter V_DG_W_S "DG West [%d]" { channel="velux:klf200:home:V_DG_W_S" } +Rollershutter V_DG_O_S "DG Ost [%d]" { channel="velux:klf200:home:V_DG_O_S" } +``` diff --git a/bundles/org.openhab.binding.velux/doc/rules.md b/bundles/org.openhab.binding.velux/doc/rules.md new file mode 100644 index 0000000000..cd031642a3 --- /dev/null +++ b/bundles/org.openhab.binding.velux/doc/rules.md @@ -0,0 +1,15 @@ +```java +// This rule simulates a push button behaviour. +rule "PushButton of group gV" + when + Item gV changed + then + // waiting a second. + Thread::sleep(1000) + // Foreach-Switch-is-ON + gV.allMembers.filter( s | s.state == ON).forEach[i| + // switching OFF + i.sendCommand(OFF) + ] + end +``` diff --git a/bundles/org.openhab.binding.velux/doc/sitemaps.md b/bundles/org.openhab.binding.velux/doc/sitemaps.md new file mode 100644 index 0000000000..bb310c9313 --- /dev/null +++ b/bundles/org.openhab.binding.velux/doc/sitemaps.md @@ -0,0 +1,37 @@ + +```perl +sitemap velux label="Velux Environment" +{ + Frame label="Velux Shutter and Window" { + + Switch item=V_DG_M_W_OPEN + Switch item=V_DG_M_W_UNLOCKED + Switch item=V_DG_M_W_CLOSED + Slider item=V_DG_M_W + } + + Frame label="Velux Bridge Status" { + Text item=V_BRIDGE_STATUS + Text item=V_BRIDGE_TIMESTAMP + Switch item=V_BRIDGE_RELOAD + } + + Frame label="Velux Bridge Status" { + Switch item=V_BRIDGE_DETECTION + Text item=V_BRIDGE_CHECK + Text item=V_BRIDGE_SCENES + Text item=V_BRIDGE_PRODUCTS + } + + Frame label="Velux Bridge Configuration" { + Text item=V_BRIDGE_FIRMWARE + Text item=V_BRIDGE_IPADDRESS + Text item=V_BRIDGE_SUBNETMASK + Text item=V_BRIDGE_DEFAULTGW + Switch item=V_BRIDGE_DHCP + Text item=V_BRIDGE_WLANSSID + Text item=V_BRIDGE_WLANPASSWD + } + +} +``` diff --git a/bundles/org.openhab.binding.velux/doc/things.md b/bundles/org.openhab.binding.velux/doc/things.md new file mode 100644 index 0000000000..77ced47e6b --- /dev/null +++ b/bundles/org.openhab.binding.velux/doc/things.md @@ -0,0 +1,28 @@ +```java +// +// Definition of Velux bridge velux:klf200:home +// + +Bridge velux:klf200:home [ ipAddress="192.168.45.9", tcpPort=51200, password="verySecret" ] { + +// Velux scenes + + Thing scene windowClosed [ sceneName="V_DG_Window_Mitte_000" ] + Thing scene windowUnlocked [ sceneName="V_DG_Window_Mitte_005" ] + Thing scene windowOpened [ sceneName="V_DG_Window_Mitte_100" ] + Thing scene unknownScene [ sceneName="ThisIsADummySceneName" ] + +// Velux IO-homecontrol devices + + Thing window V_DG_M_W [ serial="56:23:3E:26:0C:1B:00:10" ] + Thing rollershutter V_DG_M_S [ serial="56:23:3E:26:0C:1B:00:10" ] + Thing rollershutter V_DG_W_S [ serial="53:09:40:5A:0C:2A:05:64" ] + Thing rollershuffer V_DG_O_S [ serial="53:09:40:5A:0C:23:0A:6E" ] + Thing actuator V_SWITCH1 [ name="#4" ] + Thing actuator V_SWITCH2 [ name="#5" ] + +// Virtual rollershutter + + Thing vshutter V_WINDOW [ sceneLevels="0,V_DG_Window_Mitte_000#5,V_DG_Window_Mitte_005#100,V_DG_Window_Mitte_100" ] +} +```