From 2eabeb967b739f21f36541393b4bd193134b50f3 Mon Sep 17 00:00:00 2001 From: jsetton Date: Sat, 14 Sep 2024 12:51:45 -0400 Subject: [PATCH] [insteon] Code review changes Signed-off-by: jsetton --- bundles/org.openhab.binding.insteon/README.md | 748 +++++++++--------- .../internal/InsteonBindingConstants.java | 8 +- .../insteon/internal/device/LegacyDevice.java | 3 - .../internal/device/LegacyRequestManager.java | 6 - .../device/feature/CommandHandler.java | 12 +- .../device/feature/LegacyCommandHandler.java | 8 - .../feature/LegacyMessageDispatcher.java | 6 - .../device/feature/LegacyMessageHandler.java | 6 - .../device/feature/MessageDispatcher.java | 6 - .../device/feature/MessageHandler.java | 14 +- .../handler/InsteonLegacyNetworkHandler.java | 5 +- .../internal/transport/HubIOStream.java | 8 +- .../internal/transport/LegacyPort.java | 6 +- .../transport/message/MsgDefinition.java | 5 - .../resources/OH-INF/i18n/insteon.properties | 44 +- .../main/resources/OH-INF/thing/channels.xml | 78 +- .../OH-INF/thing/legacy-thing-types.xml | 4 +- .../src/main/resources/OH-INF/thing/scene.xml | 6 +- .../src/main/resources/device_features.xml | 22 +- .../src/main/resources/device_products.xml | 1 - .../src/main/resources/device_types.xml | 39 +- 21 files changed, 487 insertions(+), 548 deletions(-) diff --git a/bundles/org.openhab.binding.insteon/README.md b/bundles/org.openhab.binding.insteon/README.md index 4a7824884b4db..44988f74076b6 100644 --- a/bundles/org.openhab.binding.insteon/README.md +++ b/bundles/org.openhab.binding.insteon/README.md @@ -26,21 +26,21 @@ It is important to note that once the migration has occurred, downgrading to an ## Supported Things -| Thing | Type | Description | -|-------|------|-------------| -| hub1 | Bridge | An Insteon Hub Legacy that communicates with Insteon devices. | -| hub2 | Bridge | An Insteon Hub 2 that communicates with Insteon devices. | -| plm | Bridge | An Insteon PLM that communicates with Insteon devices. | -| device | Thing | An Insteon device such as a switch, dimmer, keypad, sensor, etc. | -| scene | Thing | An Insteon scene that controls multiple devices simultaneously. | -| x10 | Thing | An X10 device such as a switch, dimmer or sensor. | +| Thing | Type | Description | +| ------ | ------ | ---------------------------------------------------------------- | +| hub1 | Bridge | An Insteon Hub Legacy that communicates with Insteon devices. | +| hub2 | Bridge | An Insteon Hub 2 that communicates with Insteon devices. | +| plm | Bridge | An Insteon PLM that communicates with Insteon devices. | +| device | Thing | An Insteon device such as a switch, dimmer, keypad, sensor, etc. | +| scene | Thing | An Insteon scene that controls multiple devices simultaneously. | +| x10 | Thing | An X10 device such as a switch, dimmer or sensor. | ### Legacy Things -| Thing | Type | Description | -|-------|------|-------------| -| network | Bridge | An Insteon PLM or Hub that communicates with Insteon devices. | -| legacy_device | Thing | An Insteon or X10 device such as a switch, dimmer, keypad, sensor, etc. | +| Thing | Type | Description | +| ------------- | ------ | ----------------------------------------------------------------------- | +| network | Bridge | An Insteon PLM or Hub that communicates with Insteon devices. | +| legacy_device | Thing | An Insteon or X10 device such as a switch, dimmer, keypad, sensor, etc. | ## Discovery @@ -54,162 +54,163 @@ X10 devices are not auto discovered. ## Thing Configuration -### Insteon Hub Configuration - -The Insteon Hub Legacy is configured with the following parameters: - -| Parameter | Default | Required | Description | -|-----------|:-------:|:--------:|-------------| -| hostname | | Yes | Network address of the hub. | -| port | 9761 | No | Network port of the hub. | -| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. The hub will be overloaded if interval is too short, leading to sluggish or no response when trying to send messages to devices. The default poll interval of 300 seconds has been tested and found to be a good compromise in a configuration of about 110 switches/dimmers. | -| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the hub database but not configured. | -| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the hub database but not configured. | -| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | - -### Insteon Hub 2 Configuration - -The Insteon Hub 2 is configured with the following parameters: - -| Parameter | Default | Required | Description | -|-----------|:-------:|:--------:|-------------| -| hostname | | Yes | Network address of the hub. | -| port | 25105 | No | Network port of the hub. | -| username | | Yes | Username to access the hub. | -| password | | Yes | Password to access the hub. | -| hubPollIntervalInMilliseconds | 1000 | No | Hub poll interval in milliseconds. | -| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. The hub will be overloaded if interval is too short, leading to sluggish or no response when trying to send messages to devices. The default poll interval of 300 seconds has been tested and found to be a good compromise in a configuration of about 110 switches/dimmers. | -| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the hub database but not configured. | -| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the hub database but not configured. | -| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | - -### Insteon PLM Configuration - -The Insteon PLM is configured with the following parameters: - -| Parameter | Default | Required | Description | -|-----------|:-------:|:--------:|-------------| -| serialPort | | Yes | Serial port connected to the modem. Example: `/dev/ttyS0` or `COM1` | -| baudRate | 19200 | No | Serial port baud rate connected to the modem. | -| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. The modem will be overloaded if interval is too short, leading to sluggish or no response when trying to send messages to devices. The default poll interval of 300 seconds has been tested and found to be a good compromise in a configuration of about 110 switches/dimmers. | -| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the modem database but not configured. | -| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the modem database but not configured. | -| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | - -### Insteon Device Configuration - -The Insteon device is configured with the following parameter: - -| Parameter | Required | Description | -|-----------|:--------:|-------------| -| address | Yes | Insteon address of the device. It can be found on the device. Example: `12.34.56`. | +For bridge things, if the poll interval is too short, it will result in sluggish performance and no response when trying to send messages to devices. +The default poll interval of 300 seconds has been tested and found to be a good compromise in a configuration of about 110 switches/dimmers. + +### `hub1` + +| Parameter | Default | Required | Description | +| --------------------------- | :-----: | :------: | ---------------------------------------------------------------------- | +| hostname | | Yes | Network address of the hub. | +| port | 9761 | No | Network port of the hub. | +| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. | +| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the hub database but not configured. | +| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the hub database but not configured. | +| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | + +>NOTE: Use this bridge to connect to a networked PLM via ser2net. + +### `hub2` + +| Parameter | Default | Required | Description | +| ----------------------------- | :-----: | :------: | ---------------------------------------------------------------------- | +| hostname | | Yes | Network address of the hub. | +| port | 25105 | No | Network port of the hub. | +| username | | Yes | Username to access the hub. | +| password | | Yes | Password to access the hub. | +| hubPollIntervalInMilliseconds | 1000 | No | Hub poll interval in milliseconds. | +| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. | +| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the hub database but not configured. | +| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the hub database but not configured. | +| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | + +### `plm` + +| Parameter | Default | Required | Description | +| --------------------------- | :-----: | :------: | ------------------------------------------------------------------------ | +| serialPort | | Yes | Serial port connected to the modem. Example: `/dev/ttyS0` or `COM1` | +| baudRate | 19200 | No | Serial port baud rate connected to the modem. | +| devicePollIntervalInSeconds | 300 | No | Device poll interval in seconds. | +| deviceDiscoveryEnabled | true | No | Discover Insteon devices found in the modem database but not configured. | +| sceneDiscoveryEnabled | false | No | Discover Insteon scenes found in the modem database but not configured. | +| deviceSyncEnabled | false | No | Synchronize related devices based on their all-link database. | + +### `device` + +| Parameter | Required | Description | +| --------- | :------: | ---------------------------------------------------------------------------------- | +| address | Yes | Insteon address of the device. It can be found on the device. Example: `12.34.56`. | The device type is automatically determined by the binding using the device product data. For a [battery powered device](#battery-powered-devices) that was never configured previously, it may take until the next time that device sends a broadcast message to be modeled properly. To speed up the process for this case, it is recommended to force the device to become awake after the associated bridge is online. Likewise, for a device that wasn't accessible during the binding initialization phase, press on its SET button once powered on to notify the binding that it is available. -### Insteon Scene Configuration +### `scene` -The Insteon scene is configured with the following parameter: +| Parameter | Required | Description | +| --------- | :------: | -------------------------------------------------------------------------------------------------------------------------- | +| group | Yes | Insteon scene group number between 2 and 254. It can be found in the scene detailed information in the Insteon mobile app. | -| Parameter | Required | Description | -|-----------|:--------:|-------------| -| group | Yes | Insteon scene group number between 2 and 254. It can be found in the scene detailed information in the Insteon mobile app. | - -### X10 Device Configuration - -The X10 device is configured with the following parameters: - -| Parameter | Required | Description | -|-----------|:--------:|-------------| -| houseCode | Yes | X10 house code of the device. Example: `A`| -| unitCode | Yes | X10 unit code of the device. Example: `1` | -| deviceType | Yes | X10 device type | +### `x10` +| Parameter | Required | Description | +| ---------- | :------: | ------------------------------------------ | +| houseCode | Yes | X10 house code of the device. Example: `A` | +| unitCode | Yes | X10 unit code of the device. Example: `1` | +| deviceType | Yes | X10 device type |
Supported X10 device types | Device Type | Description | - |-------------|-------------| - | X10_Switch | X10 Switch | - | X10_Dimmer | X10 Dimmer | - | X10_Sensor | X10 Sensor | + | ----------- | ----------- | + | X10_Switch | X10 Switch | + | X10_Dimmer | X10 Dimmer | + | X10_Sensor | X10 Sensor |
-### Legacy Network Configuration +### `network` -The Insteon PLM or hub is configured with the following parameters: - -| Parameter | Default | Required | Description | -|-----------|:-------:|:--------:|-------------| -| port | | Yes | **Examples:**
- PLM on Linux: `/dev/ttyS0` or `/dev/ttyUSB0`
- Smartenit ZBPLM on Linux: `/dev/ttyUSB0,baudRate=115200`
- PLM on Windows: `COM1`
- Current hub (2245-222) at 192.168.1.100 on port 25105, with a poll interval of 1000 ms (1 second): `/hub2/my_user_name:my_password@192.168.1.100:25105,poll_time=1000`
- Legacy hub (2242-222) at 192.168.1.100 on port 9761:`/hub/192.168.1.100:9761`
- Networked PLM using ser2net at 192.168.1.100 on port 9761:`/tcp/192.168.1.100:9761` | -| devicePollIntervalSeconds | 300 | No | Poll interval of devices in seconds. Poll too often and you will overload the insteon network, leading to sluggish or no response when trying to send messages to devices. The default poll interval of 300 seconds has been tested and found to be a good compromise in a configuration of about 110 switches/dimmers. | -| additionalDevices | | No | File with additional device types. The syntax of the file is identical to the `device_types.xml` file in the source tree. Please remember to post successfully added device types to the openhab group so the developers can include them into the `device_types.xml` file! | -| additionalFeatures | | No | File with additional feature templates, like in the `device_features.xml` file in the source tree. | +| Parameter | Default | Required | Description | +| ------------------------- | :-----: | :------: | --------------------------------------- | +| port | | Yes | Port configuration. | +| devicePollIntervalSeconds | 300 | No | Poll interval of devices in seconds. | +| additionalDevices | | No | File with additional device types. | +| additionalFeatures | | No | File with additional feature templates. | >NOTE: For users upgrading from InsteonPLM, The parameter port_1 is now port. -### Legacy Device Configuration +
+ Port configuration examples + + | Modem Type | Port Configuration | + | --------------------- | --------------------------------------------------------------------------------------------------------------- | + | Hub (2245-222) | `/hub2/my_user_name:my_password@192.168.1.100:25105,poll_time=1000` | + | Legacy Hub (2242-222) | `/hub/192.168.1.100:9761` | + | PLM | `/dev/ttyS0` or `/dev/ttyUSB0` (Linux)
`COM1` (Windows)
`/tcp/192.168.1.100:9761` (Networked via ser2net) | + | Smartenit ZBPLM | `/dev/ttyUSB0,baudRate=115200` (Linux) | +
+ +### `legacy-device` -| Parameter | Required | Description | -|-----------|:--------:|-------------| -| address | Yes | Insteon or X10 address of the device. Insteon device addresses are in the format 'xx.xx.xx', and can be found on the device. X10 device address are in the format 'x.y' and are typically configured on the device. | -| productKey | Yes | Insteon binding product key that is used to identy the device. Every Insteon device type is uniquely identified by its Insteon product key, typically a six digit hex number. For some of the older device types (in particular the SwitchLinc switches and dimmers), Insteon does not give a product key, so an arbitrary fake one of the format Fxx.xx.xx (or Xxx.xx.xx for X10 devices) is assigned by the binding. | -| deviceConfig | No | Optional JSON object with device specific configuration. The JSON object will contain one or more key/value pairs. The key is a parameter for the device and the type of the value will vary. | +| Parameter | Required | Description | +| ------------ | :------: | ------------------------------------------------------------ | +| address | Yes | Device address. Example: `12.34.56` (Insteon) or `A.1` (X10) | +| productKey | Yes | Product key used to identify the model of the device. | +| deviceConfig | No | Optional JSON object with device specific configuration. |
Supported product keys - | Model | Description | Product Key | - |-------|-------------|-------------| - | 2477D | SwitchLinc Dimmer | F00.00.01 | - | 2477S | SwitchLinc Switch | F00.00.02 | - | 2845-222 | Hidden Door Sensor | F00.00.03 | - | 2876S | ICON Switch | F00.00.04 | - | 2456D3 | LampLinc V2 | F00.00.05 | - | 2442-222 | Micro Dimmer | F00.00.06 | - | 2453-222 | DIN Rail On/Off | F00.00.07 | - | 2452-222 | DIN Rail Dimmer | F00.00.08 | - | 2458-A1 | MorningLinc RF Lock Controller | F00.00.09 | - | 2852-222 | Leak Sensor | F00.00.0A | - | 2672-422 | LED Dimmer | F00.00.0B | - | 2476D | SwitchLinc Dimmer | F00.00.0C | - | 2634-222 | On/Off Dual-Band Outdoor Module | F00.00.0D | - | 2342-2 | Mini Remote | F00.00.10 | - | 2663-222 | On/Off Outlet | 0x000039 | - | 2466D | ToggleLinc Dimmer | F00.00.11 | - | 2466S | ToggleLinc Switch | F00.00.12 | - | 2672-222 | LED Bulb | F00.00.13 | - | 2487S | KeypadLinc On/Off 6-Button | F00.00.14 | - | 2334-232 | KeypadLink Dimmer 6-Button | F00.00.15 | - | 2334-232 | KeypadLink Dimmer 8-Button | F00.00.16 | - | 2423A1 | iMeter Solo Power Meter | F00.00.17 | - | 2423A1 | Thermostat 2441TH | F00.00.18 | - | 2457D2 | LampLinc Dimmer | F00.00.19 | - | 2475SDB | In-LineLinc Relay | F00.00.1A | - | 2635-222 | On/Off Module | F00.00.1B | - | 2475F | FanLinc Module | F00.00.1C | - | 2456S3 | ApplianceLinc | F00.00.1D | - | 2674-222 | LED Bulb (recessed) | F00.00.1E | - | 2477SA1 | 220V 30-amp Load Controller N/O | F00.00.1F | - | 2342-222 | Mini Remote (8 Button) | F00.00.20 | - | 2441V | Insteon Thermostat Adaptor for Venstar | F00.00.21 | - | 2982-222 | Insteon Smoke Bridge | F00.00.22 | - | 2487S | KeypadLinc On/Off 8-Button | F00.00.23 | - | 2450 | IO Link | 0x00001A | - | 2486D | KeypadLinc Dimmer | 0x000037 | - | 2484DWH8 | KeypadLinc Countdown Timer | 0x000041 | - | Various | PLM or Hub | 0x000045 | - | 2843-222 | Wireless Open/Close Sensor | 0x000049 | - | 2842-222 | Motion Sensor | 0x00004A | - | 2844-222 | Motion Sensor II | F00.00.24 | - | 2486DWH8 | KeypadLinc Dimmer | 0x000051 | - | 2472D | OutletLincDimmer | 0x000068 | - | X10 switch | generic X10 switch | X00.00.01 | - | X10 dimmer | generic X10 dimmer | X00.00.02 | - | X10 motion | generic X10 motion sensor | X00.00.03 | + | Model | Description | Product Key | + | ---------- | -------------------------------------- | ----------- | + | 2477D | SwitchLinc Dimmer | F00.00.01 | + | 2477S | SwitchLinc Switch | F00.00.02 | + | 2845-222 | Hidden Door Sensor | F00.00.03 | + | 2876S | ICON Switch | F00.00.04 | + | 2456D3 | LampLinc V2 | F00.00.05 | + | 2442-222 | Micro Dimmer | F00.00.06 | + | 2453-222 | DIN Rail On/Off | F00.00.07 | + | 2452-222 | DIN Rail Dimmer | F00.00.08 | + | 2458-A1 | MorningLinc RF Lock Controller | F00.00.09 | + | 2852-222 | Leak Sensor | F00.00.0A | + | 2672-422 | LED Dimmer | F00.00.0B | + | 2476D | SwitchLinc Dimmer | F00.00.0C | + | 2634-222 | On/Off Dual-Band Outdoor Module | F00.00.0D | + | 2342-2 | Mini Remote | F00.00.10 | + | 2663-222 | On/Off Outlet | 0x000039 | + | 2466D | ToggleLinc Dimmer | F00.00.11 | + | 2466S | ToggleLinc Switch | F00.00.12 | + | 2672-222 | LED Bulb | F00.00.13 | + | 2487S | KeypadLinc On/Off 6-Button | F00.00.14 | + | 2334-232 | KeypadLink Dimmer 6-Button | F00.00.15 | + | 2334-232 | KeypadLink Dimmer 8-Button | F00.00.16 | + | 2423A1 | iMeter Solo Power Meter | F00.00.17 | + | 2423A1 | Thermostat 2441TH | F00.00.18 | + | 2457D2 | LampLinc Dimmer | F00.00.19 | + | 2475SDB | In-LineLinc Relay | F00.00.1A | + | 2635-222 | On/Off Module | F00.00.1B | + | 2475F | FanLinc Module | F00.00.1C | + | 2456S3 | ApplianceLinc | F00.00.1D | + | 2674-222 | LED Bulb (recessed) | F00.00.1E | + | 2477SA1 | 220V 30-amp Load Controller N/O | F00.00.1F | + | 2342-222 | Mini Remote (8 Button) | F00.00.20 | + | 2441V | Insteon Thermostat Adaptor for Venstar | F00.00.21 | + | 2982-222 | Insteon Smoke Bridge | F00.00.22 | + | 2487S | KeypadLinc On/Off 8-Button | F00.00.23 | + | 2450 | IO Link | 0x00001A | + | 2486D | KeypadLinc Dimmer | 0x000037 | + | 2484DWH8 | KeypadLinc Countdown Timer | 0x000041 | + | Various | PLM or Hub | 0x000045 | + | 2843-222 | Wireless Open/Close Sensor | 0x000049 | + | 2842-222 | Motion Sensor | 0x00004A | + | 2844-222 | Motion Sensor II | F00.00.24 | + | 2486DWH8 | KeypadLinc Dimmer | 0x000051 | + | 2472D | OutletLincDimmer | 0x000068 | + | X10 switch | generic X10 switch | X00.00.01 | + | X10 dimmer | generic X10 dimmer | X00.00.02 | + | X10 motion | generic X10 motion sensor | X00.00.03 |
## Channels @@ -219,150 +220,150 @@ In order to determine which channels a device supports, check the device in the ### State Channels -| Channel | Type | Access Mode | Description | -|---------|------|-------------|-------------| -| 3WayMode | Switch | R/W | 3-Way Toggle Mode | -| acDelay | Number:Time | R/W | AC Delay | -| alarmDelay | Switch | R/W | Alarm Delay | -| alarmDuration | Number:Time | R/W | Alarm Duration | -| alarmType | String | R/W | Alarm Type | -| armed | Switch | R/W | Armed State | -| backlightDuration | Number:Time | R/W | Back Light Duration | -| batteryLevel | Number:Dimensionless | R | Battery Level | -| batteryPowered | Switch | R | Battery Powered State | -| beep | Switch | W | Beep | -| buttonA | Switch | R/W | Button A | -| buttonB | Switch | R/W | Button B | -| buttonC | Switch | R/W | Button C | -| buttonD | Switch | R/W | Button D | -| buttonE | Switch | R/W | Button E | -| buttonF | Switch | R/W | Button F | -| buttonG | Switch | R/W | Button G | -| buttonH | Switch | R/W | Button H | -| buttonBeep | Switch | R/W | Beep on Button Press | -| buttonConfig | String | R/W | Button Config | -| buttonLock | Switch | R/W | Button Lock | -| carbonMonoxideAlarm | Switch | R | Carbon Monoxide Alarm | -| contact | Contact | R | Contact State | -| coolSetPoint | Number:Temperature | R/W | Cool Set Point | -| daylight | Contact | R | Daylight State | -| dimmer | Dimmer | R/W | Dimmer | -| energyOffset | Number:Temperature | R/W | Energy Set Point Offset | -| energySaving | Switch | R | Energy Saving | -| energyUsage | Number:Energy | R | Energy Usage in Kilowatt Hour | -| error | Switch | R | Error | -| fanMode | String | R/W | Fan Mode | -| fanSpeed | String | R/W | Fan Speed | -| fanState | Switch | R | Fan State | -| heartbeatInterval | Number:Time | R/W | Heartbeat Interval | -| heartbeatOnOff | Switch | R/W | Heartbeat On/Off | -| heatSetPoint | Number:Temperature | R/W | Heat Set Point | -| humidity | Number:Dimensionless | R | Current Humidity | -| humidityControl | String | R | Humidity Control State | -| humidityHigh | Number:Dimensionless | R/W | Humidity High | -| humidityLow | Number:Dimensionless | R/W | Humidity Low | -| lastHeardFrom | DateTime | R | Last Heard From | -| leak | Switch | R | Leak Detected | -| ledBrightness | Dimmer | R/W | LED Brightness | -| ledOnOff | Switch | R/W | LED On/Off | -| ledTraffic | Switch | R/W | LED Blink on Traffic | -| lightLevel | Number:Dimensionless | R | Light Level | -| load | Switch | R | Load State | -| loadSense | Switch | R/W | Load Sense | -| loadSenseBottom | Switch | R/W | Load Sense Bottom | -| loadSenseTop | Switch | R/W | Load Sense Top | -| lock | Switch | R/W | Lock | -| lowBattery | Switch | R | Low Battery Alert | -| momentaryDuration | Number:Time | R/W | Momentary Duration | -| monitorMode | Switch | R/W | Monitor Mode | -| motion | Switch | R | Motion Detected | -| onLevel | Dimmer | R/W | On Level | -| operationMode | String | R/W | Switch Operation Mode | -| outletBottom | Switch | R/W | Outlet Bottom | -| outletTop | Switch | R/W | Outlet Top | -| powerUsage | Number:Power | R | Power Usage in Watts | -| program1 | Player | R/W | Program 1 | -| program2 | Player | R/W | Program 2 | -| program3 | Player | R/W | Program 3 | -| program4 | Player | R/W | Program 4 | -| programLock | Switch | R/W | Local Programming Lock | -| pump | Switch | R/W | Pump | -| rampRate | Number:Time | R/W | Ramp Rate | -| relayMode | String | R/W | Output Relay Mode | -| relaySensorFollow | Switch | R/W | Output Relay Follows Input Sensor | -| reset | Switch | W | Reset | -| resumeDim | Switch | R/W | Resume Dim | -| reverseDirection | Switch | R/W | Reverse Direction | -| rollershutter | Rollershutter | R/W | Rollershutter | -| sceneOnOff | Switch | R/W | Scene On/Off | -| sceneFastOnOff | Switch | W | Scene Fast On/Off | -| sceneManualChange | Rollershutter | W | Scene Manual Change | -| siren | Switch | R/W | Siren | -| smokeAlarm | Switch | R | Smoke Alarm | -| stage1Duration | Number:Time | R/W | Stage 1 Duration | -| stayAwake | Switch | R/W | Stay Awake for Extended Time | -| switch | Switch | R/W | Switch | -| syncTime | Switch | W | Sync Time | -| systemMode | String | R/W | System Mode | -| systemState | String | R | System State | -| tamperSwitch | Contact | R | Tamper Switch | -| temperature | Number:Temperature | R | Current Temperature | -| temperatureFormat | String | R/W | Temperature Format | -| testAlarm | Switch | R | Test Alarm | -| timeFormat | String | R/W | Time Format | -| toggleModeButtonA | String | R/W | Toggle Mode Button A | -| toggleModeButtonB | String | R/W | Toggle Mode Button B | -| toggleModeButtonC | String | R/W | Toggle Mode Button C | -| toggleModeButtonD | String | R/W | Toggle Mode Button D | -| toggleModeButtonE | String | R/W | Toggle Mode Button E | -| toggleModeButtonF | String | R/W | Toggle Mode Button F | -| toggleModeButtonG | String | R/W | Toggle Mode Button G | -| toggleModeButtonH | String | R/W | Toggle Mode Button H | -| valve1 | Switch | R/W | Valve 1 | -| valve2 | Switch | R/W | Valve 2 | -| valve3 | Switch | R/W | Valve 3 | -| valve4 | Switch | R/W | Valve 4 | -| valve5 | Switch | R/W | Valve 5 | -| valve6 | Switch | R/W | Valve 6 | -| valve7 | Switch | R/W | Valve 7 | -| valve8 | Switch | R/W | Valve 8 | +| Channel | Type | Access Mode | Description | +| ------------------- | -------------------- | :---------: | --------------------------------- | +| 3WayMode | Switch | R/W | 3-Way Toggle Mode | +| acDelay | Number:Time | R/W | AC Delay | +| alarmDelay | Switch | R/W | Alarm Delay | +| alarmDuration | Number:Time | R/W | Alarm Duration | +| alarmType | String | R/W | Alarm Type | +| armed | Switch | R/W | Armed State | +| backlightDuration | Number:Time | R/W | Back Light Duration | +| batteryLevel | Number:Dimensionless | R | Battery Level | +| batteryPowered | Switch | R | Battery Powered State | +| beep | Switch | W | Beep | +| buttonA | Switch | R/W | Button A | +| buttonB | Switch | R/W | Button B | +| buttonC | Switch | R/W | Button C | +| buttonD | Switch | R/W | Button D | +| buttonE | Switch | R/W | Button E | +| buttonF | Switch | R/W | Button F | +| buttonG | Switch | R/W | Button G | +| buttonH | Switch | R/W | Button H | +| buttonBeep | Switch | R/W | Beep on Button Press | +| buttonConfig | String | R/W | Button Config | +| buttonLock | Switch | R/W | Button Lock | +| carbonMonoxideAlarm | Switch | R | Carbon Monoxide Alarm | +| contact | Contact | R | Contact State | +| coolSetpoint | Number:Temperature | R/W | Cool Setpoint | +| daylight | Contact | R | Daylight State | +| dimmer | Dimmer | R/W | Dimmer | +| energyOffset | Number:Temperature | R/W | Energy Setpoint Offset | +| energySaving | Switch | R | Energy Saving | +| energyUsage | Number:Energy | R | Energy Usage | +| error | Switch | R | Error | +| fanMode | String | R/W | Fan Mode | +| fanSpeed | String | R/W | Fan Speed | +| fanState | Switch | R | Fan State | +| fastOnOff | Switch | W | Fast On/Off | +| heartbeatInterval | Number:Time | R/W | Heartbeat Interval | +| heartbeatOnOff | Switch | R/W | Heartbeat Enabled | +| heatSetpoint | Number:Temperature | R/W | Heat Setpoint | +| humidity | Number:Dimensionless | R | Current Humidity | +| humidityControl | String | R | Humidity Control State | +| humidityHigh | Number:Dimensionless | R/W | Humidity High | +| humidityLow | Number:Dimensionless | R/W | Humidity Low | +| lastHeardFrom | DateTime | R | Last Heard From | +| leak | Switch | R | Leak Detected | +| ledBrightness | Dimmer | R/W | LED Brightness | +| ledOnOff | Switch | R/W | LED Enabled | +| ledTraffic | Switch | R/W | LED Blink on Traffic | +| lightSensitivity | Number:Dimensionless | R | Light Sensitivity | +| load | Switch | R | Load State | +| loadSense | Switch | R/W | Load Sense | +| loadSenseBottom | Switch | R/W | Load Sense Bottom | +| loadSenseTop | Switch | R/W | Load Sense Top | +| lock | Switch | R/W | Lock | +| lowBattery | Switch | R | Low Battery Alert | +| manualChange | Rollershutter | W | Manual Change | +| momentaryDuration | Number:Time | R/W | Momentary Duration | +| monitorMode | Switch | R/W | Monitor Mode | +| motion | Switch | R | Motion Detected | +| onLevel | Dimmer | R/W | On Level | +| operationMode | String | R/W | Switch Operation Mode | +| outletBottom | Switch | R/W | Outlet Bottom | +| outletTop | Switch | R/W | Outlet Top | +| powerUsage | Number:Power | R | Power Usage | +| program1 | Player | R/W | Program 1 | +| program2 | Player | R/W | Program 2 | +| program3 | Player | R/W | Program 3 | +| program4 | Player | R/W | Program 4 | +| programLock | Switch | R/W | Local Programming Lock | +| pump | Switch | R/W | Pump | +| rampRate | Number:Time | R/W | Ramp Rate | +| relayMode | String | R/W | Output Relay Mode | +| relaySensorFollow | Switch | R/W | Output Relay Follows Input Sensor | +| reset | Switch | W | Reset | +| resumeDim | Switch | R/W | Resume Dim | +| reverseDirection | Switch | R/W | Reverse Direction | +| rollershutter | Rollershutter | R/W | Rollershutter | +| scene | Switch | R/W | Scene | +| siren | Switch | R/W | Siren | +| smokeAlarm | Switch | R | Smoke Alarm | +| stage1Duration | Number:Time | R/W | Stage 1 Duration | +| stayAwake | Switch | R/W | Stay Awake for Extended Time | +| switch | Switch | R/W | Switch | +| syncTime | Switch | W | Sync Time | +| systemMode | String | R/W | System Mode | +| systemState | String | R | System State | +| tamperSwitch | Contact | R | Tamper Switch | +| temperature | Number:Temperature | R | Current Temperature | +| temperatureFormat | String | R/W | Temperature Format | +| testAlarm | Switch | R | Test Alarm | +| timeFormat | String | R/W | Time Format | +| toggleModeButtonA | String | R/W | Toggle Mode Button A | +| toggleModeButtonB | String | R/W | Toggle Mode Button B | +| toggleModeButtonC | String | R/W | Toggle Mode Button C | +| toggleModeButtonD | String | R/W | Toggle Mode Button D | +| toggleModeButtonE | String | R/W | Toggle Mode Button E | +| toggleModeButtonF | String | R/W | Toggle Mode Button F | +| toggleModeButtonG | String | R/W | Toggle Mode Button G | +| toggleModeButtonH | String | R/W | Toggle Mode Button H | +| valve1 | Switch | R/W | Valve 1 | +| valve2 | Switch | R/W | Valve 2 | +| valve3 | Switch | R/W | Valve 3 | +| valve4 | Switch | R/W | Valve 4 | +| valve5 | Switch | R/W | Valve 5 | +| valve6 | Switch | R/W | Valve 6 | +| valve7 | Switch | R/W | Valve 7 | +| valve8 | Switch | R/W | Valve 8 | ### Trigger Channels -| Channel | Description | -|---------|-------------| -| eventButton | Event Button | -| eventButtonA | Event Button A | -| eventButtonB | Event Button B | -| eventButtonC | Event Button C | -| eventButtonD | Event Button D | -| eventButtonE | Event Button E | -| eventButtonF | Event Button F | -| eventButtonG | Event Button G | -| eventButtonH | Event Button H | -| eventButtonMain | Event Button Main | +| Channel | Description | +| ----------------- | ------------------- | +| eventButton | Event Button | +| eventButtonA | Event Button A | +| eventButtonB | Event Button B | +| eventButtonC | Event Button C | +| eventButtonD | Event Button D | +| eventButtonE | Event Button E | +| eventButtonF | Event Button F | +| eventButtonG | Event Button G | +| eventButtonH | Event Button H | +| eventButtonMain | Event Button Main | | eventButtonBottom | Event Button Bottom | -| eventButtonTop | Event Button Top | -| imEventButton | Event Button | +| eventButtonTop | Event Button Top | +| imEventButton | Event Button | The supported triggered events for Insteon Device things: -| Event | Description | -|-------|-------------| -| `PRESSED_ON` | Button Pressed On (Regular On) | -| `PRESSED_OFF` | Button Pressed Off (Regular Off) | -| `DOUBLE_PRESSED_ON` | Button Double Pressed On (Fast On) | -| `DOUBLE_PRESSED_OFF` | Button Double Pressed Off (Fast Off) | -| `HELD_UP` | Button Held Up (Manual Change Up) | -| `HELD_DOWN` | Button Held Down (Manual Change Down) | -| `RELEASED` | Button Released (Manual Change Stop) | +| Event | Description | +| -------------------- | ------------------------------------- | +| `PRESSED_ON` | Button Pressed On (Regular On) | +| `PRESSED_OFF` | Button Pressed Off (Regular Off) | +| `DOUBLE_PRESSED_ON` | Button Double Pressed On (Fast On) | +| `DOUBLE_PRESSED_OFF` | Button Double Pressed Off (Fast Off) | +| `HELD_UP` | Button Held Up (Manual Change Up) | +| `HELD_DOWN` | Button Held Down (Manual Change Down) | +| `RELEASED` | Button Released (Manual Change Stop) | And for Insteon Hub and PLM things: -| Event | Description | -|-------|-------------| -| `PRESSED` | Button Pressed | -| `HELD` | Button Held | +| Event | Description | +| ---------- | --------------- | +| `PRESSED` | Button Pressed | +| `HELD` | Button Held | | `RELEASED` | Button Released | @@ -370,79 +371,79 @@ And for Insteon Hub and PLM things:
- | channel | type | description | - |---------|------|-------------| - | acDelay | Number | AC Delay | - | backlightDuration | Number | Back Light Duration | - | batteryLevel | Number | Battery Level | - | batteryPercent | Number:Dimensionless | Battery Percent | - | batteryWatermarkLevel | Number | Battery Watermark Level | - | beep | Switch | Beep | - | bottomOutlet | Switch | Bottom Outlet | - | buttonA | Switch | Button A | - | buttonB | Switch | Button B | - | buttonC | Switch | Button C | - | buttonD | Switch | Button D | - | buttonE | Switch | Button E | - | buttonF | Switch | Button F | - | buttonG | Switch | Button G | - | buttonH | Switch | Button H | - | broadcastOnOff | Switch | Broadcast On/Off | - | contact | Contact | Contact | - | coolSetPoint | Number | Cool Set Point | - | dimmer | Dimmer | Dimmer | - | fan | Number | Fan | - | fanMode | Number | Fan Mode | - | fastOnOff | Switch | Fast On/Off | - | fastOnOffButtonA | Switch | Fast On/Off Button A | - | fastOnOffButtonB | Switch | Fast On/Off Button B | - | fastOnOffButtonC | Switch | Fast On/Off Button C | - | fastOnOffButtonD | Switch | Fast On/Off Button D | - | heatSetPoint | Number | Heat Set Point | - | humidity | Number | Humidity | - | humidityHigh | Number | Humidity High | - | humidityLow | Number | Humidity Low | - | isCooling | Number | Is Cooling | - | isHeating | Number | Is Heating | - | keypadButtonA | Switch | Keypad Button A | - | keypadButtonB | Switch | Keypad Button B | - | keypadButtonC | Switch | Keypad Button C | - | keypadButtonD | Switch | Keypad Button D | - | keypadButtonE | Switch | Keypad Button E | - | keypadButtonF | Switch | Keypad Button F | - | keypadButtonG | Switch | Keypad Button G | - | keypadButtonH | Switch | Keypad Button H | - | kWh | Number:Energy | Kilowatt Hour | - | lastHeardFrom | DateTime | Last Heard From | - | ledBrightness | Number | LED brightness | - | ledOnOff | Switch | LED On/Off | - | lightDimmer | Dimmer | light Dimmer | - | lightLevel | Number | Light Level | - | lightLevelAboveThreshold | Contact | Light Level Above/Below Threshold | - | loadDimmer | Dimmer | Load Dimmer | - | loadSwitch | Switch | Load Switch | - | loadSwitchFastOnOff | Switch | Load Switch Fast On/Off | - | loadSwitchManualChange | Number | Load Switch Manual Change | - | lowBattery | Contact | Low Battery | - | manualChange | Number | Manual Change | - | manualChangeButtonA | Number | Manual Change Button A | - | manualChangeButtonB | Number | Manual Change Button B | - | manualChangeButtonC | Number | Manual Change Button C | - | manualChangeButtonD | Number | Manual Change Button D | - | notification | Number | Notification | - | onLevel | Number | On Level | - | rampDimmer | Dimmer | Ramp Dimmer | - | rampRate | Number | Ramp Rate | - | reset | Switch | Reset | - | stage1Duration | Number | Stage 1 Duration | - | switch | Switch | Switch | - | systemMode | Number | System Mode | - | tamperSwitch | Contact | Tamper Switch | - | temperature | Number:Temperature | Temperature | - | temperatureLevel | Number | Temperature Level | - | topOutlet | Switch | Top Outlet | - | update | Switch | Update | - | watts | Number:Power | Watts | + | Channel | Type | Description | + | ------------------------ | -------------------- | --------------------------------- | + | acDelay | Number | AC Delay | + | backlightDuration | Number | Back Light Duration | + | batteryLevel | Number | Battery Level | + | batteryPercent | Number:Dimensionless | Battery Percent | + | batteryWatermarkLevel | Number | Battery Watermark Level | + | beep | Switch | Beep | + | bottomOutlet | Switch | Bottom Outlet | + | buttonA | Switch | Button A | + | buttonB | Switch | Button B | + | buttonC | Switch | Button C | + | buttonD | Switch | Button D | + | buttonE | Switch | Button E | + | buttonF | Switch | Button F | + | buttonG | Switch | Button G | + | buttonH | Switch | Button H | + | broadcastOnOff | Switch | Broadcast On/Off | + | contact | Contact | Contact | + | coolSetPoint | Number | Cool Setpoint | + | dimmer | Dimmer | Dimmer | + | fan | Number | Fan | + | fanMode | Number | Fan Mode | + | fastOnOff | Switch | Fast On/Off | + | fastOnOffButtonA | Switch | Fast On/Off Button A | + | fastOnOffButtonB | Switch | Fast On/Off Button B | + | fastOnOffButtonC | Switch | Fast On/Off Button C | + | fastOnOffButtonD | Switch | Fast On/Off Button D | + | heatSetPoint | Number | Heat Setpoint | + | humidity | Number | Humidity | + | humidityHigh | Number | Humidity High | + | humidityLow | Number | Humidity Low | + | isCooling | Number | Is Cooling | + | isHeating | Number | Is Heating | + | keypadButtonA | Switch | Keypad Button A | + | keypadButtonB | Switch | Keypad Button B | + | keypadButtonC | Switch | Keypad Button C | + | keypadButtonD | Switch | Keypad Button D | + | keypadButtonE | Switch | Keypad Button E | + | keypadButtonF | Switch | Keypad Button F | + | keypadButtonG | Switch | Keypad Button G | + | keypadButtonH | Switch | Keypad Button H | + | kWh | Number:Energy | Kilowatt Hour | + | lastHeardFrom | DateTime | Last Heard From | + | ledBrightness | Number | LED brightness | + | ledOnOff | Switch | LED On/Off | + | lightDimmer | Dimmer | light Dimmer | + | lightLevel | Number | Light Level | + | lightLevelAboveThreshold | Contact | Light Level Above/Below Threshold | + | loadDimmer | Dimmer | Load Dimmer | + | loadSwitch | Switch | Load Switch | + | loadSwitchFastOnOff | Switch | Load Switch Fast On/Off | + | loadSwitchManualChange | Number | Load Switch Manual Change | + | lowBattery | Contact | Low Battery | + | manualChange | Number | Manual Change | + | manualChangeButtonA | Number | Manual Change Button A | + | manualChangeButtonB | Number | Manual Change Button B | + | manualChangeButtonC | Number | Manual Change Button C | + | manualChangeButtonD | Number | Manual Change Button D | + | notification | Number | Notification | + | onLevel | Number | On Level | + | rampDimmer | Dimmer | Ramp Dimmer | + | rampRate | Number | Ramp Rate | + | reset | Switch | Reset | + | stage1Duration | Number | Stage 1 Duration | + | switch | Switch | Switch | + | systemMode | Number | System Mode | + | tamperSwitch | Contact | Tamper Switch | + | temperature | Number:Temperature | Temperature | + | temperatureLevel | Number | Temperature Level | + | topOutlet | Switch | Top Outlet | + | update | Switch | Update | + | watts | Number:Power | Watts |
@@ -508,7 +509,7 @@ Switch keypadA { channel="insteon:device:home:22F8A8:buttonA" } Switch keypadB { channel="insteon:device:home:22F8A8:buttonB" } Switch keypadC { channel="insteon:device:home:22F8A8:buttonC" } Switch keypadD { channel="insteon:device:home:22F8A8:buttonD" } -Switch scene42 { channel="insteon:scene:home:scene42:sceneOnOff" } +Switch scene42 { channel="insteon:scene:home:scene42:scene" } Switch switch2 { channel="insteon:x10:home:A2:switch" } ``` @@ -585,8 +586,8 @@ Since Insteon devices can have multiple features (for instance a switchable rela For example, the following lines would create two Number items referring to the same thermostat device, but to different features of it: ```java -Number:Temperature thermostatCoolPoint "cool point [%.1f °F]" { channel="insteon:device:home:32F422:coolSetPoint" } -Number:Temperature thermostatHeatPoint "heat point [%.1f °F]" { channel="insteon:device:home:32F422:heatSetPoint" } +Number:Temperature thermostatCoolPoint "cool point [%.1f °F]" { channel="insteon:device:home:32F422:coolSetpoint" } +Number:Temperature thermostatHeatPoint "heat point [%.1f °F]" { channel="insteon:device:home:32F422:heatSetpoint" } ``` ### Switches @@ -659,12 +660,12 @@ The button numbering used internally by the device must be mapped to whatever la Here is an example correspondence table: | Group | Button Number | 2487S Label | -|-------|---------------|-------------| -| 0x01 | 1 | (Load) | -| 0x03 | 3 | A | -| 0x04 | 4 | B | -| 0x05 | 5 | C | -| 0x06 | 6 | D | +| :---: | :-----------: | :---------: | +| 0x01 | 1 | (Load) | +| 0x03 | 3 | A | +| 0x04 | 4 | B | +| 0x05 | 5 | C | +| 0x06 | 6 | D | When e.g. the "A" button is pressed (that's button #3 internally) a broadcast message will be sent out to all responders configured to listen to Insteon group #3. In this case, the modem must be configured as a responder to group #3 (and #4, #5, #6) messages coming from the keypad. @@ -851,11 +852,14 @@ Link such that the modem is a responder to the motion sensor. ##### Items ```java -Switch motionSensor "motion sensor [MAP(motion.map):%s]" { channel="insteon:device:home:AABBCC:motion"} -Number:Dimensionless motionSensorBatteryLevel "battery level [%.1f %%]" { channel="insteon:device:home:AABBCC:batteryLevel" } -Number:Dimensionless motionSensorLightLevel "light level [%.1f %%]" { channel="insteon:device:home:AABBCC:lightLevel" } +Switch motionSensor "motion sensor [MAP(motion.map):%s]" { channel="insteon:device:home:AABBCC:motion"} +Number:Dimensionless motionSensorBatteryLevel "battery level [%.1f %%]" { channel="insteon:device:home:AABBCC:batteryLevel" } +Number:Dimensionless motionSensorLightSensitivity "light sensitivity [%.1f %%]" { channel="insteon:device:home:AABBCC:lightSensitivity" } ``` +
+ Legacy + ```java Contact motionSensor "motion sensor [MAP(motion.map):%s]" { channel="insteon:device:home:AABBCC:contact"} Number motionSensorBatteryLevel "motion sensor battery level" { channel="insteon:device:home:AABBCC:batteryLevel" } @@ -882,7 +886,7 @@ Number:Temperature motionSensorTemperature "temperature [%.1f °F]" The temperature is automatically calculated in Fahrenheit based on the motion sensor II powered source. Since that sensor might not be calibrated correctly, the output temperature may need to be offset on the openHAB side. -Note that battery and light level are only updated when either there is motion, light level above/below threshold, tamper switch activated, or the sensor battery runs low. +The battery and light sensitivity are only updated when either there is motion, light sensitivity above/below threshold, tamper switch activated, or the sensor battery runs low.
Legacy @@ -1018,7 +1022,7 @@ Switch item=fanLincFan mappings=[ OFF="OFF", LOW="LOW", MEDIUM="MEDIUM", HIGH="H ### Power Meters -The iMeter Solo reports both wattage and kilowatt hours, and is updated during the normal polling process of the devices. +The iMeter Solo reports both energy and power usage, and is updated during the normal polling process of the devices. Send a `REFRESH` command to force update the current values for the device. Additionally, the device can be reset. @@ -1106,8 +1110,8 @@ To ensure all links are configured between the modem and device, and the status ##### Items ```java -Number:Temperature thermostatCoolPoint "cool point [%.1f °F]" { channel="insteon:device:home:AABBCC:coolSetPoint" } -Number:Temperature thermostatHeatPoint "heat point [%.1f °F]" { channel="insteon:device:home:AABBCC:heatSetPoint" } +Number:Temperature thermostatCoolPoint "cool point [%.1f °F]" { channel="insteon:device:home:AABBCC:coolSetpoint" } +Number:Temperature thermostatHeatPoint "heat point [%.1f °F]" { channel="insteon:device:home:AABBCC:heatSetpoint" } String thermostatSystemMode "system mode [%s]" { channel="insteon:device:home:AABBCC:systemMode" } String thermostatSystemState "system state [%s]" { channel="insteon:device:home:AABBCC:systemState" } String thermostatFanMode "fan mode [%s]" { channel="insteon:device:home:AABBCC:fanMode" } @@ -1219,21 +1223,21 @@ Bridge insteon:plm:home [serialPort="/dev/ttyUSB0"] { ### Items ```java -Switch sceneOnOff "scene on/off" { channel="insteon:scene:home:scene42:sceneOnOff" } -Switch sceneFastOnOff "scene fast on/off" { channel="insteon:scene:home:scene42:sceneFastOnOff" } -Rollershutter sceneManualChange "scene manual change" { channel="insteon:scene:home:scene42:sceneManualChange" } +Switch scene "scene" { channel="insteon:scene:home:scene42:scene" } +Switch sceneFastOnOff "fast on/off" { channel="insteon:scene:home:scene42:fastOnOff" } +Rollershutter sceneManualChange "manual change" { channel="insteon:scene:home:scene42:manualChange" } ``` ### Sitemap ```perl -Switch item=sceneOnOff +Switch item=scene Switch item=sceneFastOnOff mappings=[ ON="ON", OFF="OFF" ] Switch item=sceneManualChange mappings=[ UP="UP", DOWN="DOWN", STOP="STOP" ] ``` -Sending `ON` command to `sceneOnOff` will cause the modem to send a broadcast message with group=42, and all devices that are configured to respond to it should react. -The current state of a scene is published on the `sceneOnOff` channel. +Sending `ON` command to `scene` will cause the modem to send a broadcast message to group 42, and all devices that are configured to respond to it should react. +The current state of a scene is published on the `scene` channel. An `ON` state indicates that all the device states associated to a scene are matching their configured link on level.
diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBindingConstants.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBindingConstants.java index 7b3c21f6e2ca5..cbfe1dfa2158b 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBindingConstants.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBindingConstants.java @@ -92,12 +92,12 @@ public class InsteonBindingConstants { public static final String FEATURE_TYPE_OUTLET_SWITCH = "OutletSwitch"; public static final String FEATURE_TYPE_THERMOSTAT_FAN_MODE = "ThermostatFanMode"; public static final String FEATURE_TYPE_THERMOSTAT_SYSTEM_MODE = "ThermostatSystemMode"; - public static final String FEATURE_TYPE_THERMOSTAT_COOL_SETPOINT = "ThermostatCoolSetPoint"; - public static final String FEATURE_TYPE_THERMOSTAT_HEAT_SETPOINT = "ThermostatHeatSetPoint"; + public static final String FEATURE_TYPE_THERMOSTAT_COOL_SETPOINT = "ThermostatCoolSetpoint"; + public static final String FEATURE_TYPE_THERMOSTAT_HEAT_SETPOINT = "ThermostatHeatSetpoint"; public static final String FEATURE_TYPE_VENSTAR_FAN_MODE = "VenstarFanMode"; public static final String FEATURE_TYPE_VENSTAR_SYSTEM_MODE = "VenstarSystemMode"; - public static final String FEATURE_TYPE_VENSTAR_COOL_SETPOINT = "VenstarCoolSetPoint"; - public static final String FEATURE_TYPE_VENSTAR_HEAT_SETPOINT = "VenstarHeatSetPoint"; + public static final String FEATURE_TYPE_VENSTAR_COOL_SETPOINT = "VenstarCoolSetpoint"; + public static final String FEATURE_TYPE_VENSTAR_HEAT_SETPOINT = "VenstarHeatSetpoint"; // List of specific device types public static final String DEVICE_TYPE_CLIMATE_CONTROL_VENSTAR_THERMOSTAT = "ClimateControl_VenstarThermostat"; diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyDevice.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyDevice.java index 989edecb7474e..3a3e62d42b1fd 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyDevice.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyDevice.java @@ -81,8 +81,6 @@ public LegacyDevice() { lastMsgReceived = System.currentTimeMillis(); } - // --------------------- simple getters ----------------------------- - public boolean hasProductKey() { return productKey != null; } @@ -146,7 +144,6 @@ public boolean hasAnyListeners() { } return false; } - // --------------------- simple setters ----------------------------- public void setStatus(DeviceStatus aI) { status = aI; diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyRequestManager.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyRequestManager.java index b4c0c8751489f..0d37a7869d01c 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyRequestManager.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/LegacyRequestManager.java @@ -127,21 +127,15 @@ public void run() { long expTime = q.getExpirationTime(); LegacyDevice dev = q.getDevice(); if (expTime > now) { - // // The head of the queue is not up for processing yet, wait(). - // logger.trace("request queue head: {} must wait for {} msec", dev.getAddress(), expTime - now); requestQueues.wait(expTime - now); - // // note that the wait() can also return because of changes to // the queue, not just because the time expired! - // continue; } - // // The head of the queue has expired and can be processed! - // q = requestQueues.poll(); // remove front element requestQueueHash.remove(dev); // and remove from hash map long nextExp = dev.processRequestQueue(now); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/CommandHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/CommandHandler.java index 029669eff2db9..25aadbd760fac 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/CommandHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/CommandHandler.java @@ -89,7 +89,7 @@ public abstract class CommandHandler extends FeatureBaseHandler { /** * Constructor * - * @param f The DeviceFeature for which this command was intended. + * @param feature The DeviceFeature for which this command was intended. * The openHAB commands are issued on an openhab item. The .items files bind * an openHAB item to a DeviceFeature. */ @@ -123,12 +123,6 @@ public String getId() { */ public abstract void handleCommand(InsteonChannelConfiguration config, Command cmd); - // - // - // ---------------- the various command handlers start here ------------------- - // - // - /** * Default command handler */ @@ -2273,10 +2267,6 @@ public boolean canHandle(Command cmd) { @Override protected int getCommandCode(Command cmd, byte houseCode) { - // - // I did not have hardware that would respond to the PRESET_DIM codes. - // This code path needs testing. - // int level = ((PercentType) cmd).intValue() * 32 / 100; int levelCode = X10_LEVEL_CODES[level % 16]; int cmdCode = level >= 16 ? X10Command.PRESET_DIM_2.code() : X10Command.PRESET_DIM_1.code(); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyCommandHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyCommandHandler.java index 2bc1bba2f30c4..cb9ece1490fbc 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyCommandHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyCommandHandler.java @@ -408,10 +408,6 @@ public static class X10PercentCommandHandler extends LegacyCommandHandler { @Override public void handleCommand(InsteonLegacyChannelConfiguration conf, Command cmd, LegacyDevice dev) { try { - // - // I did not have hardware that would respond to the PRESET_DIM codes. - // This code path needs testing. - // X10Address address = (X10Address) dev.getAddress(); Msg munit = Msg.makeX10AddressMessage(address); // send unit code dev.enqueueMessage(munit, feature); @@ -715,9 +711,7 @@ public void handleCommand(InsteonLegacyChannelConfiguration conf, Command cmd, L try { int dc = transform(((DecimalType) cmd).intValue()); int intFactor = getIntParameter("factor", 1); - // // determine what level should be, and what field it should be in - // int ilevel = dc * intFactor; byte level = (byte) (ilevel > 255 ? 0xFF : ((ilevel < 0) ? 0 : ilevel)); String vfield = getStringParameter("value", ""); @@ -725,10 +719,8 @@ public void handleCommand(InsteonLegacyChannelConfiguration conf, Command cmd, L logger.warn("{} has no value field specified", nm()); return; } - // // figure out what cmd1, cmd2, d1, d2, d3 are supposed to be // to form a proper message - // int cmd1 = getIntParameter("cmd1", -1); if (cmd1 < 0) { logger.warn("{} has no cmd1 specified!", nm()); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageDispatcher.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageDispatcher.java index b7e8455330efc..7d3518ef936de 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageDispatcher.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageDispatcher.java @@ -124,12 +124,6 @@ boolean isMyDirectAck(Msg msg) { */ public abstract boolean dispatch(Msg msg); - // - // - // ------------ implementations of MessageDispatchers start here ------------------ - // - // - public static class DefaultDispatcher extends LegacyMessageDispatcher { DefaultDispatcher(LegacyDeviceFeature f) { super(f); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageHandler.java index 5bb5c82a296a8..f1c3b712cc9de 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/LegacyMessageHandler.java @@ -325,12 +325,6 @@ public void setParameters(Map map) { parameters = map; } - // - // - // ---------------- the various command handler start here ------------------- - // - // - public static class DefaultMsgHandler extends LegacyMessageHandler { public DefaultMsgHandler(LegacyDeviceFeature p) { super(p); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageDispatcher.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageDispatcher.java index 9451456fcfb8a..8b311abd059a3 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageDispatcher.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageDispatcher.java @@ -107,12 +107,6 @@ protected void handleIMMessage(Msg msg, DeviceFeature feature) throws FieldExcep */ public abstract boolean dispatch(Msg msg); - // - // - // ------------ implementations of MessageDispatchers start here ------------------ - // - // - public static class DefaultDispatcher extends MessageDispatcher { DefaultDispatcher(DeviceFeature feature) { super(feature); diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageHandler.java index 2f33dba09becd..b48fc0f342084 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/feature/MessageHandler.java @@ -261,12 +261,6 @@ private boolean matchesParameter(Msg msg, String field, String param) throws Fie */ public abstract void handleMessage(byte cmd1, Msg msg); - // - // - // ---------------- the various message handlers start here ------------------- - // - // - /** * Default message handler */ @@ -658,8 +652,8 @@ public void handleMessage(byte cmd1, Msg msg) { /** * Button event message handler */ - public static class ButtonEventHandler extends MessageHandler { - ButtonEventHandler(DeviceFeature feature) { + public static class ButtonEventMsgHandler extends MessageHandler { + ButtonEventMsgHandler(DeviceFeature feature) { super(feature); } @@ -1853,8 +1847,8 @@ protected Unit getTemperatureUnit() { /** * IM button event message handler */ - public static class IMButtonEventHandler extends MessageHandler { - IMButtonEventHandler(DeviceFeature feature) { + public static class IMButtonEventMsgHandler extends MessageHandler { + IMButtonEventMsgHandler(DeviceFeature feature) { super(feature); } diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonLegacyNetworkHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonLegacyNetworkHandler.java index 9a39910128c86..f04c693738e08 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonLegacyNetworkHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/handler/InsteonLegacyNetworkHandler.java @@ -324,9 +324,6 @@ public void addChannelConfigs(Map channelConfigs) { } private void display(Console console, Map info) { - info.entrySet().stream() // - .sorted(Entry.comparingByKey()) // - .map(Entry::getValue) // - .forEach(console::println); + info.entrySet().stream().sorted(Entry.comparingByKey()).map(Entry::getValue).forEach(console::println); } } diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/HubIOStream.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/HubIOStream.java index a3c9c2605063c..c86320634291a 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/HubIOStream.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/HubIOStream.java @@ -58,7 +58,7 @@ public class HubIOStream extends IOStream { private int bufferIdx = -1; /** - * Constructor for HubIOStream + * Constructor * * @param host host name of hub device * @param port port to connect to @@ -67,11 +67,11 @@ public class HubIOStream extends IOStream { * @param pollInterval hub poll interval (in milliseconds) * @param scheduler the scheduler */ - public HubIOStream(String host, int port, String user, String pass, int pollInterval, + public HubIOStream(String host, int port, String username, String password, int pollInterval, ScheduledExecutorService scheduler) { this.host = host; this.port = port; - this.auth = Base64.getEncoder().encodeToString((user + ":" + pass).getBytes(StandardCharsets.UTF_8)); + this.auth = Base64.getEncoder().encodeToString((username + ":" + password).getBytes(StandardCharsets.UTF_8)); this.pollInterval = pollInterval; this.scheduler = scheduler; } @@ -206,10 +206,8 @@ private synchronized void poll() throws IOException { if (logger.isTraceEnabled()) { logger.trace("poll: {}", buffer); } - // // The Hub maintains a ring buffer where the last two digits (in hex!) represent // the position of the last byte read. - // String data = buffer.substring(0, buffer.length() - 2); // pure data w/o index pointer int nIdx = -1; diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/LegacyPort.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/LegacyPort.java index c2623c41731ff..ec873fcf873aa 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/LegacyPort.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/LegacyPort.java @@ -90,8 +90,10 @@ enum ReplyType { /** * Constructor * - * @param devName the name of the port, i.e. '/dev/insteon' - * @param d The Driver object that manages this port + * @param config the network bridge config + * @param driver the driver that manages this port + * @param serialPortManager the serial port manager + * @param scheduler the scheduler */ public LegacyPort(InsteonLegacyNetworkConfiguration config, LegacyDriver driver, SerialPortManager serialPortManager, ScheduledExecutorService scheduler) { diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/message/MsgDefinition.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/message/MsgDefinition.java index cd80dbdf3b902..0b80be274735b 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/message/MsgDefinition.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/transport/message/MsgDefinition.java @@ -35,11 +35,6 @@ public class MsgDefinition { MsgDefinition() { } - /* - * Copy constructor, needed to make a copy of a message - * - * @param m the definition to copy - */ MsgDefinition(MsgDefinition m) { fields = new HashMap<>(m.fields); } diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/i18n/insteon.properties b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/i18n/insteon.properties index bc48e727d7043..44f3edac661f7 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/i18n/insteon.properties +++ b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/i18n/insteon.properties @@ -204,18 +204,18 @@ channel-type.insteon.carbonMonoxideAlarm.label = Carbon Monoxide Alarm channel-type.insteon.carbonMonoxideAlarm.description = Carbon Monoxide Alarm channel-type.insteon.contact.label = Contact channel-type.insteon.contact.description = Contact State -channel-type.insteon.coolSetPoint.label = Cool Set Point -channel-type.insteon.coolSetPoint.description = Cool Set Point +channel-type.insteon.coolSetpoint.label = Cool Setpoint +channel-type.insteon.coolSetpoint.description = Cool Setpoint channel-type.insteon.daylight.label = Daylight channel-type.insteon.daylight.description = Daylight State channel-type.insteon.dimmer.label = Dimmer channel-type.insteon.dimmer.description = Dimmer -channel-type.insteon.energyOffset.label = Energy Set Point Offset -channel-type.insteon.energyOffset.description = Energy Set Point Offset +channel-type.insteon.energyOffset.label = Energy Setpoint Offset +channel-type.insteon.energyOffset.description = Energy Setpoint Offset channel-type.insteon.energySaving.label = Energy Saving channel-type.insteon.energySaving.description = Energy Saving channel-type.insteon.energyUsage.label = Energy Usage -channel-type.insteon.energyUsage.description = Energy Usage in Kilowatt Hour +channel-type.insteon.energyUsage.description = Energy Usage channel-type.insteon.error.label = Error channel-type.insteon.error.description = Error channel-type.insteon.fanMode.label = Fan Mode @@ -230,12 +230,14 @@ channel-type.insteon.fanSpeed.state.option.MEDIUM = Medium channel-type.insteon.fanSpeed.state.option.HIGH = High channel-type.insteon.fanState.label = Fan State channel-type.insteon.fanState.description = Fan State +channel-type.insteon.fastOnOff.label = Fast On/Off +channel-type.insteon.fastOnOff.description = Fast On/Off (command only) channel-type.insteon.heartbeatInterval.label = Heartbeat Interval channel-type.insteon.heartbeatInterval.description = Heartbeat Interval -channel-type.insteon.heartbeatOnOff.label = Heartbeat On/Off -channel-type.insteon.heartbeatOnOff.description = Heartbeat On/Off -channel-type.insteon.heatSetPoint.label = Heat Set Point -channel-type.insteon.heatSetPoint.description = Heat Set Point +channel-type.insteon.heartbeatOnOff.label = Heartbeat Enabled +channel-type.insteon.heartbeatOnOff.description = Heartbeat Enabled +channel-type.insteon.heatSetpoint.label = Heat Setpoint +channel-type.insteon.heatSetpoint.description = Heat Setpoint channel-type.insteon.humidity.label = Humidity channel-type.insteon.humidity.description = Current Humidity channel-type.insteon.humidityControl.label = Humidity Control @@ -253,12 +255,12 @@ channel-type.insteon.leak.label = Leak channel-type.insteon.leak.description = Leak Detected channel-type.insteon.ledBrightness.label = LED Brightness channel-type.insteon.ledBrightness.description = LED Brightness -channel-type.insteon.ledOnOff.label = LED On/Off -channel-type.insteon.ledOnOff.description = LED On/Off +channel-type.insteon.ledOnOff.label = LED Enabled +channel-type.insteon.ledOnOff.description = LED Enabled channel-type.insteon.ledTraffic.label = LED Traffic channel-type.insteon.ledTraffic.description = LED Blink on Traffic -channel-type.insteon.lightLevel.label = Light Level -channel-type.insteon.lightLevel.description = Light Level +channel-type.insteon.lightSensitivity.label = Light Sensitivity +channel-type.insteon.lightSensitivity.description = Light Sensitivity channel-type.insteon.load.label = Load channel-type.insteon.load.description = Load State channel-type.insteon.loadSense.label = Load Sense @@ -271,6 +273,8 @@ channel-type.insteon.lock.label = Lock channel-type.insteon.lock.description = Lock channel-type.insteon.lowBattery.label = Low Battery channel-type.insteon.lowBattery.description = Low Battery Alert +channel-type.insteon.manualChange.label = Manual Change +channel-type.insteon.manualChange.description = Manual Change (command only) channel-type.insteon.momentaryDuration.label = Momentary Duration channel-type.insteon.momentaryDuration.description = Momentary Duration channel-type.insteon.monitorMode.label = Monitor Mode @@ -289,7 +293,7 @@ channel-type.insteon.outletBottom.description = Outlet Bottom channel-type.insteon.outletTop.label = Outlet Top channel-type.insteon.outletTop.description = Outlet Top channel-type.insteon.powerUsage.label = Power Usage -channel-type.insteon.powerUsage.description = Power Usage in Watt +channel-type.insteon.powerUsage.description = Power Usage channel-type.insteon.program1.label = Program 1 channel-type.insteon.program1.description = Program 1 channel-type.insteon.program2.label = Program 2 @@ -320,12 +324,8 @@ channel-type.insteon.reverseDirection.label = Reverse Direction channel-type.insteon.reverseDirection.description = Reverse Motor Direction channel-type.insteon.rollershutter.label = Rollershutter channel-type.insteon.rollershutter.description = Rollershutter -channel-type.insteon.sceneFastOnOff.label = Scene Fast On/Off -channel-type.insteon.sceneFastOnOff.description = Scene Fast On/Off (command only) -channel-type.insteon.sceneManualChange.label = Scene Manual Change -channel-type.insteon.sceneManualChange.description = Scene Manual Change (command only) -channel-type.insteon.sceneOnOff.label = Scene On/Off -channel-type.insteon.sceneOnOff.description = Scene On/Off +channel-type.insteon.scene.label = Scene +channel-type.insteon.scene.description = Scene channel-type.insteon.siren.label = Siren channel-type.insteon.siren.description = Siren channel-type.insteon.smokeAlarm.label = Smoke Alarm @@ -465,7 +465,7 @@ channel-type.insteon.legacyButtonF.label = Button F channel-type.insteon.legacyButtonG.label = Button G channel-type.insteon.legacyButtonH.label = Button H channel-type.insteon.legacyContact.label = Contact -channel-type.insteon.legacyCoolSetPoint.label = Cool Set Point +channel-type.insteon.legacyCoolSetPoint.label = Cool Setpoint channel-type.insteon.legacyDimmer.label = Dimmer channel-type.insteon.legacyFan.label = Fan channel-type.insteon.legacyFanMode.label = Fan Mode @@ -478,7 +478,7 @@ channel-type.insteon.legacyFastOnOffButtonE.label = Fast On/Off Button E channel-type.insteon.legacyFastOnOffButtonF.label = Fast On/Off Button F channel-type.insteon.legacyFastOnOffButtonG.label = Fast On/Off Button G channel-type.insteon.legacyFastOnOffButtonH.label = Fast On/Off Button H -channel-type.insteon.legacyHeatSetPoint.label = Heat Set Point +channel-type.insteon.legacyHeatSetPoint.label = Heat Setpoint channel-type.insteon.legacyHumidity.label = Humidity channel-type.insteon.legacyHumidityHigh.label = Humidity High channel-type.insteon.legacyHumidityLow.label = Humidity Low diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/channels.xml index 82e3cd88c1e97..24ac999cf38d1 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/channels.xml @@ -62,7 +62,7 @@ Battery Level BatteryLevel - + @@ -172,10 +172,10 @@ Contact State - + Number:Temperature - - Cool Set Point + + Cool Setpoint Temperature @@ -197,8 +197,8 @@ Number:Temperature - - Energy Set Point Offset + + Energy Setpoint Offset @@ -212,7 +212,7 @@ Number:Energy - Energy Usage in Kilowatt Hour + Energy Usage Energy @@ -257,6 +257,13 @@ + + Switch + + Fast On/Off (command only) + veto + + Number:Time @@ -274,14 +281,14 @@ Switch - - Heartbeat On/Off + + Heartbeat Enabled - + Number:Temperature - - Heat Set Point + + Heat Setpoint Temperature @@ -291,7 +298,7 @@ Current Humidity Humidity - + @@ -312,7 +319,7 @@ Humidity High Setpoint Humidity - + @@ -320,7 +327,7 @@ Humidity Low Setpoint Humidity - + @@ -347,8 +354,8 @@ Switch - - LED On/Off + + LED Enabled @@ -357,11 +364,11 @@ LED Blink on Traffic - + Number:Dimensionless - - Light Level - + + Light Sensitivity + @@ -404,6 +411,13 @@ + + Rollershutter + + Manual Change (command only) + veto + + Number:Time @@ -461,7 +475,7 @@ Number:Power - Power Usage in Watts + Power Usage Energy @@ -591,27 +605,13 @@ veto - + Switch - - Scene On/Off + + Scene Switch - - Switch - - Scene Fast On/Off (command only) - veto - - - - Rollershutter - - Scene Manual Change (command only) - veto - - Switch diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/legacy-thing-types.xml b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/legacy-thing-types.xml index aa38c1665cd95..a122a1e0f70fa 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/legacy-thing-types.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/legacy-thing-types.xml @@ -211,7 +211,7 @@ Number - + @@ -285,7 +285,7 @@ Number - + diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/scene.xml b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/scene.xml index 6b2724fd271bd..51ff1b21888ea 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/scene.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/OH-INF/thing/scene.xml @@ -15,9 +15,9 @@ An Insteon scene that controls multiple devices simultaneously. - - - + + + group diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml b/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml index 3b7aab9e5c5a7..0ae4831d7a1b6 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml @@ -43,12 +43,12 @@ DefaultDispatcher - ButtonEventHandler - ButtonEventHandler - ButtonEventHandler - ButtonEventHandler - ButtonEventHandler - ButtonEventHandler + ButtonEventMsgHandler + ButtonEventMsgHandler + ButtonEventMsgHandler + ButtonEventMsgHandler + ButtonEventMsgHandler + ButtonEventMsgHandler NoOpMsgHandler NoOpCommandHandler NoPollHandler @@ -651,7 +651,7 @@ FlexPollHandler - + DefaultDispatcher CustomTemperatureMsgHandler @@ -668,7 +668,7 @@ NoOpCommandHandler NoPollHandler - + DefaultDispatcher CustomTemperatureMsgHandler @@ -896,7 +896,7 @@ NoPollHandler - + DefaultDispatcher VenstarTemperatureMsgHandler @@ -912,7 +912,7 @@ NoOpCommandHandler NoPollHandler - + DefaultDispatcher VenstarTemperatureMsgHandler @@ -1000,7 +1000,7 @@ IMDispatcher - IMButtonEventHandler + IMButtonEventMsgHandler NoOpMsgHandler NoOpCommandHandler NoPollHandler diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/device_products.xml b/bundles/org.openhab.binding.insteon/src/main/resources/device_products.xml index 38236cdc4f30c..b52d13dfe8805 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/device_products.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/device_products.xml @@ -5,7 +5,6 @@ Generalized Controller Generic - GeneralizedController ControLinc diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml b/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml index 886cfc735b1b3..9a77fbd1fb14f 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml @@ -11,11 +11,6 @@ - - GenericButtonEvent - - - GenericButtonEvent GenericButtonEvent @@ -56,7 +51,7 @@ GenericButtonEvent OpFlags - OpFlags + OpFlags OpFlags OpFlags @@ -77,7 +72,7 @@ GenericButtonEvent OpFlags - OpFlags + OpFlags OpFlags OpFlags @@ -95,7 +90,7 @@ GenericButtonEvent OpFlags - OpFlags + OpFlags OpFlags OpFlags @@ -628,9 +623,9 @@ - GroupBroadcastOnOff - GroupBroadcastFastOnOff - GroupBroadcastManualChange + GroupBroadcastOnOff + GroupBroadcastFastOnOff + GroupBroadcastManualChange IMButtonEvent IMLEDOnOff @@ -641,9 +636,9 @@ - GroupBroadcastOnOff - GroupBroadcastFastOnOff - GroupBroadcastManualChange + GroupBroadcastOnOff + GroupBroadcastFastOnOff + GroupBroadcastManualChange IMButtonEvent IMLEDOnOff IMBeep @@ -679,8 +674,8 @@ - ThermostatCoolSetPoint - ThermostatHeatSetPoint + ThermostatCoolSetpoint + ThermostatHeatSetpoint ThermostatSystemMode ThermostatSystemState ThermostatEnergySaving @@ -718,8 +713,8 @@ - ThermostatCoolSetPoint - ThermostatHeatSetPoint + ThermostatCoolSetpoint + ThermostatHeatSetpoint ThermostatSystemMode ThermostatSystemState ThermostatEnergySaving @@ -760,8 +755,8 @@ - VenstarCoolSetPoint - VenstarHeatSetPoint + VenstarCoolSetpoint + VenstarHeatSetpoint VenstarSystemMode ThermostatSystemState VenstarFanMode @@ -886,7 +881,7 @@ HeartbeatMonitor MotionSensorBatteryLevel - MotionSensorLightLevel + MotionSensorLightLevel OpFlags @@ -907,7 +902,7 @@ WirelessSensorContact MotionSensor2BatteryLevel - MotionSensor2LightLevel + MotionSensor2LightLevel MotionSensor2Temperature