]> git.basschouten.com Git - openhab-addons.git/commitdiff
[OmniLink] Add semantic tags to channels (#11100)
authorEthan Dye <mrtops03@gmail.com>
Tue, 8 Feb 2022 21:01:57 +0000 (14:01 -0700)
committerGitHub <noreply@github.com>
Tue, 8 Feb 2022 21:01:57 +0000 (22:01 +0100)
* Add semantic tags to channels
* Use system channels where possible

Signed-off-by: Ethan Dye <mrtops03@gmail.com>
14 files changed:
bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java
bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/i18n/omnilink.properties
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/area.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/audio-source.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/audio-zone.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/bridge.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/button.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/humidity-sensor.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/lock.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/temp-sensor.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/thermostat.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/unit.xml
bundles/org.openhab.binding.omnilink/src/main/resources/OH-INF/thing/zone.xml

index 35a43697441f039bfb09fae0bcd494a7661750a8..c88514eb0d699a228301d49d001cfe5fe3522371 100644 (file)
@@ -174,10 +174,6 @@ public class OmnilinkBindingConstants {
     public static final String THING_PROPERTIES_NUMBER = "number";
     public static final String THING_PROPERTIES_AREA = "area";
     public static final String THING_PROPERTIES_AUTO_START = "autostart";
-    public static final String THING_PROPERTIES_MODEL_NUMBER = "modelNumber";
-    public static final String THING_PROPERTIES_MAJOR_VERSION = "majorVersion";
-    public static final String THING_PROPERTIES_MINOR_VERSION = "minorVersion";
-    public static final String THING_PROPERTIES_REVISION = "revision";
     public static final String THING_PROPERTIES_PHONE_NUMBER = "phoneNumber";
 
     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_OMNI_AREA,
index 6230027067ccc7eb8b4fff3b622edaad16d9bb37..6fbf5b1644d4685d6e15b7b569b639c32814becc 100644 (file)
@@ -587,10 +587,11 @@ public class OmnilinkBridgeHandler extends BaseBridgeHandler implements Notifica
         try {
             SystemInformation systemInformation = reqSystemInformation();
             Map<String, String> properties = editProperties();
-            properties.put(THING_PROPERTIES_MODEL_NUMBER, Integer.toString(systemInformation.getModel()));
-            properties.put(THING_PROPERTIES_MAJOR_VERSION, Integer.toString(systemInformation.getMajor()));
-            properties.put(THING_PROPERTIES_MINOR_VERSION, Integer.toString(systemInformation.getMinor()));
-            properties.put(THING_PROPERTIES_REVISION, Integer.toString(systemInformation.getRevision()));
+            properties.put(Thing.PROPERTY_MODEL_ID, Integer.toString(systemInformation.getModel()));
+            properties.put(Thing.PROPERTY_FIRMWARE_VERSION,
+                    Integer.toString(systemInformation.getMajor()) + "."
+                            + Integer.toString(systemInformation.getMinor()) + "."
+                            + Integer.toString(systemInformation.getRevision()));
             properties.put(THING_PROPERTIES_PHONE_NUMBER, systemInformation.getPhone());
             updateProperties(properties);
         } catch (OmniInvalidResponseException | OmniUnknownMessageTypeException | BridgeOfflineException e) {
index 5804eef25d5e5088faa811ca5bc315767596e7a9..7447554c43ccb222963b7d17d740a6d7c694cf11 100644 (file)
@@ -11,6 +11,12 @@ thing-type.omnilink.audio_source.label = Audio Source
 thing-type.omnilink.audio_source.description = An audio source configured in the controller.
 thing-type.omnilink.audio_zone.label = Audio Zone
 thing-type.omnilink.audio_zone.description = An audio zone configured in the controller.
+thing-type.omnilink.audio_zone.channel.zone_control.label = Control
+thing-type.omnilink.audio_zone.channel.zone_control.description = Control the audio zone, e.g. start/stop/next/previous.
+thing-type.omnilink.audio_zone.channel.zone_mute.label = Audio Zone Mute
+thing-type.omnilink.audio_zone.channel.zone_mute.description = Mute status of this audio zone.
+thing-type.omnilink.audio_zone.channel.zone_volume.label = Audio Zone Volume
+thing-type.omnilink.audio_zone.channel.zone_volume.description = Volume level of this audio zone.
 thing-type.omnilink.button.label = Button
 thing-type.omnilink.button.description = A button configured in the controller.
 thing-type.omnilink.console.label = Console
@@ -21,8 +27,14 @@ thing-type.omnilink.controller.channel.beep.label = Beep Consoles
 thing-type.omnilink.controller.channel.enable_disable_beeper.label = Console Beepers
 thing-type.omnilink.dimmable.label = Dimmable Unit
 thing-type.omnilink.dimmable.description = A dimmable unit configured in the controller.
+thing-type.omnilink.dimmable.channel.level.label = Dimmable Level
+thing-type.omnilink.dimmable.channel.level.description = Increase/Decrease the level of this dimmable unit.
+thing-type.omnilink.dimmable.channel.switch.label = Dimmable Switch
+thing-type.omnilink.dimmable.channel.switch.description = Turn this dimmable unit on/off.
 thing-type.omnilink.flag.label = Flag
 thing-type.omnilink.flag.description = A flag configured in the controller.
+thing-type.omnilink.flag.channel.switch.label = Flag Switch
+thing-type.omnilink.flag.channel.switch.description = Turn this flag on/off.
 thing-type.omnilink.humidity_sensor.label = Humidity Sensor
 thing-type.omnilink.humidity_sensor.description = A humidity sensor configured in the controller.
 thing-type.omnilink.lock.label = Lock
@@ -31,20 +43,38 @@ thing-type.omnilink.lumina_area.label = Lumina Area
 thing-type.omnilink.lumina_area.description = An Lumina area configured in the controller.
 thing-type.omnilink.output.label = Voltage Output
 thing-type.omnilink.output.description = A voltage output configured in the controller.
+thing-type.omnilink.output.channel.switch.label = Voltage Output Switch
+thing-type.omnilink.output.channel.switch.description = Turn this voltage output on/off.
 thing-type.omnilink.room.label = Room
 thing-type.omnilink.room.description = A room configured in the controller.
 thing-type.omnilink.room.channel.scene_a.label = Scene A
+thing-type.omnilink.room.channel.scene_a.description = Turn this scene on/off.
 thing-type.omnilink.room.channel.scene_b.label = Scene B
+thing-type.omnilink.room.channel.scene_b.description = Turn this scene on/off.
 thing-type.omnilink.room.channel.scene_c.label = Scene C
+thing-type.omnilink.room.channel.scene_c.description = Turn this scene on/off.
 thing-type.omnilink.room.channel.scene_d.label = Scene D
+thing-type.omnilink.room.channel.scene_d.description = Turn this scene on/off.
+thing-type.omnilink.room.channel.switch.label = Room Switch
+thing-type.omnilink.room.channel.switch.description = Turn this room on/off.
 thing-type.omnilink.temp_sensor.label = Temperature Sensor
 thing-type.omnilink.temp_sensor.description = A temperature sensor configured in the controller.
 thing-type.omnilink.thermostat.label = Thermostat
 thing-type.omnilink.thermostat.description = A thermostat configured in the controller.
+thing-type.omnilink.thermostat.channel.outdoor_temperature.label = Outdoor Temperature
+thing-type.omnilink.thermostat.channel.outdoor_temperature.description = The current outdoor temperature detected by this thermostat.
 thing-type.omnilink.unit.label = Unit
 thing-type.omnilink.unit.description = A basic unit configured in the controller.
+thing-type.omnilink.unit.channel.level.label = Unit Level
+thing-type.omnilink.unit.channel.level.description = Increase/Decrease the level of this unit.
+thing-type.omnilink.unit.channel.switch.label = Unit Switch
+thing-type.omnilink.unit.channel.switch.description = Turn this unit on/off.
 thing-type.omnilink.upb.label = UPB Unit
 thing-type.omnilink.upb.description = A UPB unit configured in the controller.
+thing-type.omnilink.upb.channel.level.label = UPB Level
+thing-type.omnilink.upb.channel.level.description = Increase/Decrease the level of this UPB unit.
+thing-type.omnilink.upb.channel.switch.label = UPB Switch
+thing-type.omnilink.upb.channel.switch.description = Turn this UPB unit on/off.
 thing-type.omnilink.zone.label = Zone
 thing-type.omnilink.zone.description = A zone configured in the controller.
 
@@ -111,16 +141,10 @@ channel-type.omnilink.audio_source_polling.label = Audio Source Polling
 channel-type.omnilink.audio_source_polling.description = Enable or disable polling of this audio source.
 channel-type.omnilink.audio_source_text.label = Source Data
 channel-type.omnilink.audio_source_text.description = A line of metadata from this audio source.
-channel-type.omnilink.audio_zone_control.label = Control
-channel-type.omnilink.audio_zone_control.description = Control the audio zone, e.g. start/stop/next/previous.
-channel-type.omnilink.audio_zone_mute.label = Audio Zone Mute
-channel-type.omnilink.audio_zone_mute.description = Mute status of this audio zone.
 channel-type.omnilink.audio_zone_power.label = Audio Zone Power
 channel-type.omnilink.audio_zone_power.description = Power status of this audio zone.
 channel-type.omnilink.audio_zone_source.label = Source
 channel-type.omnilink.audio_zone_source.description = Source for this audio zone.
-channel-type.omnilink.audio_zone_volume.label = Audio Zone Volume
-channel-type.omnilink.audio_zone_volume.description = Volume level of this audio zone.
 channel-type.omnilink.battery_event.label = Battery Event
 channel-type.omnilink.battery_event.description = Event sent when battery trouble conditions are detected.
 channel-type.omnilink.button_activated.label = Button Activated
@@ -146,8 +170,6 @@ channel-type.omnilink.dcm_event.label = DCM Event
 channel-type.omnilink.dcm_event.description = Event sent when digital communicator trouble conditions are detected.
 channel-type.omnilink.energy_cost_event.label = Energy Cost Event
 channel-type.omnilink.energy_cost_event.description = Event sent when the cost of energy changes.
-channel-type.omnilink.flag_switch.label = Flag Switch
-channel-type.omnilink.flag_switch.description = Turn this flag on/off.
 channel-type.omnilink.flag_value.label = Flag Value
 channel-type.omnilink.flag_value.description = Numeric value of this flag.
 channel-type.omnilink.last_log.label = Last Log Entry
@@ -210,10 +232,6 @@ channel-type.omnilink.room_state.state.option.2 = Scene A
 channel-type.omnilink.room_state.state.option.3 = Scene B
 channel-type.omnilink.room_state.state.option.4 = Scene C
 channel-type.omnilink.room_state.state.option.5 = Scene D
-channel-type.omnilink.room_switch.label = Switch
-channel-type.omnilink.room_switch.description = Turn this room on/off.
-channel-type.omnilink.scene_toggle.label = Scene Toggle
-channel-type.omnilink.scene_toggle.description = Turn this scene on/off.
 channel-type.omnilink.sensor_humidity.label = Humidity
 channel-type.omnilink.sensor_humidity.description = The current relative humidity at this humidity sensor.
 channel-type.omnilink.sensor_humidity_high_setpoint.label = High SetPoint
@@ -255,8 +273,6 @@ channel-type.omnilink.thermostat_humidify_setpoint.label = Humidify SetPoint
 channel-type.omnilink.thermostat_humidify_setpoint.description = The current low/humidify setpoint for this thermostat.
 channel-type.omnilink.thermostat_humidity.label = Humidity
 channel-type.omnilink.thermostat_humidity.description = The relative humidity at this thermostat.
-channel-type.omnilink.thermostat_outdoor_temperature.label = Outdoor Temperature
-channel-type.omnilink.thermostat_outdoor_temperature.description = The current outdoor temperature detected by this thermostat.
 channel-type.omnilink.thermostat_status.label = Thermostat Status
 channel-type.omnilink.thermostat_status.description = The current status of this thermostat.
 channel-type.omnilink.thermostat_status.state.option.0 = Idle
@@ -273,10 +289,6 @@ channel-type.omnilink.thermostat_system_mode.state.option.3 = Auto
 channel-type.omnilink.thermostat_system_mode.state.option.4 = Emergency heat
 channel-type.omnilink.thermostat_temperature.label = Temperature
 channel-type.omnilink.thermostat_temperature.description = The current temperature at this thermostat.
-channel-type.omnilink.unit_level.label = Unit Level
-channel-type.omnilink.unit_level.description = Increase/Decrease the level of this unit.
-channel-type.omnilink.unit_switch.label = Switch
-channel-type.omnilink.unit_switch.description = Turn this unit on/off.
 channel-type.omnilink.upb_link_activated_event.label = UPB Link
 channel-type.omnilink.upb_link_activated_event.description = Event sent when a UPB link is activated.
 channel-type.omnilink.upb_link_deactivated_event.label = UPB Link
index 10475f6362ba034b9d48973179a41a7622524412..021e2fd5b89c7174efe99217662d1e7260160df0 100644 (file)
@@ -31,9 +31,6 @@
                        <channel id="night_delayed" typeId="area_command"/>
                        <channel id="all_on_off_event" typeId="all_on_off_event"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
@@ -77,6 +74,9 @@
                <label>Area Alarm</label>
                <description>Indicates if an alarm is active.</description>
                <category>Alarm</category>
+               <tags>
+                       <tag>Alarm</tag>
+               </tags>
                <state readOnly="true"/>
        </channel-type>
 
index 314ff9c3e8cad9bdffc4012d3a6d9136f2ca0df7..a5f382da6f0d342da8189ae7eb6a651d08e068f0 100644 (file)
@@ -20,9 +20,6 @@
                        <channel id="source_text_6" typeId="audio_source_text"/>
                        <channel id="polling" typeId="audio_source_polling"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
index 27cfce3666f7a2023d15b15d087329e2780bcdf1..5ed77804db861c91120c6f9a164927a58742f106 100644 (file)
                <description>An audio zone configured in the controller.</description>
                <channels>
                        <channel id="zone_power" typeId="audio_zone_power"/>
-                       <channel id="zone_mute" typeId="audio_zone_mute"/>
-                       <channel id="zone_volume" typeId="audio_zone_volume"/>
+                       <channel id="zone_mute" typeId="system.mute">
+                               <label>Audio Zone Mute</label>
+                               <description>Mute status of this audio zone.</description>
+                       </channel>
+                       <channel id="zone_volume" typeId="system.volume">
+                               <label>Audio Zone Volume</label>
+                               <description>Volume level of this audio zone.</description>
+                       </channel>
                        <channel id="zone_source" typeId="audio_zone_source"/>
-                       <channel id="zone_control" typeId="audio_zone_control"/>
+                       <channel id="zone_control" typeId="system.media-control">
+                               <label>Control</label>
+                               <description>Control the audio zone, e.g. start/stop/next/previous.</description>
+                       </channel>
                </channels>
                <properties>
                        <property name="name"/>
                <label>Audio Zone Power</label>
                <description>Power status of this audio zone.</description>
                <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="audio_zone_mute">
-               <item-type>Switch</item-type>
-               <label>Audio Zone Mute</label>
-               <description>Mute status of this audio zone.</description>
-               <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="audio_zone_volume">
-               <item-type>Dimmer</item-type>
-               <label>Audio Zone Volume</label>
-               <description>Volume level of this audio zone.</description>
-               <category>Slider</category>
-               <state min="0" max="100"/>
+               <tags>
+                       <tag>Control</tag>
+                       <tag>Power</tag>
+               </tags>
        </channel-type>
 
        <channel-type id="audio_zone_source">
                <state min="1" max="100"/>
        </channel-type>
 
-       <channel-type id="audio_zone_control">
-               <item-type>Player</item-type>
-               <label>Control</label>
-               <description>Control the audio zone, e.g. start/stop/next/previous.</description>
-               <category>MediaControl</category>
-       </channel-type>
-
 </thing:thing-descriptions>
index fef71b51c5303de50b452899f16be61f3652127e..6d05fac23a4b192a1bcb6224c6c3349cbae1124a 100644 (file)
                        <channel id="upb_link_activated_event" typeId="upb_link_activated_event"/>
                        <channel id="upb_link_deactivated_event" typeId="upb_link_deactivated_event"/>
                </channels>
-               <properties>
-                       <property name="model number"/>
-                       <property name="major version"/>
-                       <property name="minor version"/>
-                       <property name="revision"/>
-                       <property name="phone number"/>
-               </properties>
                <config-description>
                        <parameter name="ipAddress" type="text" required="true">
                                <context>network-address</context>
index 3b5364f1108bb5b142ea3cc62071e87ce82e4b91..05ac3f90853b884123c91d5ff5ead20a39531fa9 100644 (file)
                        <channel id="press" typeId="button_press"/>
                        <channel id="activated_event" typeId="button_activated"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
index af126b62f839b204e3610bdf89b4664f8c880b45..8821edb609539d644044e1c7b1e2ef6b44619858 100644 (file)
                        <channel id="low_setpoint" typeId="sensor_humidity_low_setpoint"/>
                        <channel id="high_setpoint" typeId="sensor_humidity_high_setpoint"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
                <label>Humidity</label>
                <description>The current relative humidity at this humidity sensor.</description>
                <category>Humidity</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Humidity</tag>
+               </tags>
                <state readOnly="true" min="0" max="100" pattern="%d %%"/>
        </channel-type>
 
index 8364b84914f308451106024de31d22106c30d0b7..c70d83387164dd2e2a94a30fb1e9f27fbef9893e 100644 (file)
                <channels>
                        <channel id="switch" typeId="lock_switch"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
@@ -33,6 +29,9 @@
                <label>Lock/Unlock</label>
                <description>Lock or unlock this lock.</description>
                <category>Switch</category>
+               <tags>
+                       <tag>OpenState</tag>
+               </tags>
        </channel-type>
 
 </thing:thing-descriptions>
index a7fd4ec8a48a07f225431858844cb457340eafa3..81241ca54d18a313ce31630113d3c9e469e902ae 100644 (file)
                        <channel id="low_setpoint" typeId="sensor_temp_low_setpoint"/>
                        <channel id="high_setpoint" typeId="sensor_temp_high_setpoint"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
                <label>Temperature</label>
                <description>The current temperature at this temperature sensor.</description>
                <category>Temperature</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Temperature</tag>
+               </tags>
                <state readOnly="true" pattern="%.1f %unit%"/>
        </channel-type>
 
index 1504f62a190160822411760718ba9a054177ae80..93dea7cb2ac564cb062e0f1a1e4a674864d6d6ea 100644 (file)
                        <channel id="comm_failure" typeId="thermostat_comm_failure"/>
                        <channel id="status" typeId="thermostat_status"/>
                        <channel id="temperature" typeId="thermostat_temperature"/>
-                       <channel id="outdoor_temperature" typeId="thermostat_outdoor_temperature"/>
+                       <channel id="outdoor_temperature" typeId="system.outdoor-temperature">
+                               <label>Outdoor Temperature</label>
+                               <description>The current outdoor temperature detected by this thermostat.</description>
+                       </channel>
                        <channel id="heat_setpoint" typeId="thermostat_heat_setpoint"/>
                        <channel id="cool_setpoint" typeId="thermostat_cool_setpoint"/>
                        <channel id="humidity" typeId="thermostat_humidity"/>
                        <channel id="fan_mode" typeId="thermostat_fan_mode"/>
                        <channel id="hold_status" typeId="thermostat_hold_status"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
                <label>Temperature</label>
                <description>The current temperature at this thermostat.</description>
                <category>Temperature</category>
-               <state readOnly="true" pattern="%.1f %unit%"/>
-       </channel-type>
-
-       <channel-type id="thermostat_outdoor_temperature">
-               <item-type>Number:Temperature</item-type>
-               <label>Outdoor Temperature</label>
-               <description>The current outdoor temperature detected by this thermostat.</description>
-               <category>Temperature</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Temperature</tag>
+               </tags>
                <state readOnly="true" pattern="%.1f %unit%"/>
        </channel-type>
 
                <label>Humidity</label>
                <description>The relative humidity at this thermostat.</description>
                <category>Humidity</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Humidity</tag>
+               </tags>
                <state readOnly="true" min="0" max="100" pattern="%d %%"/>
        </channel-type>
 
index bc96c6e8f30d9d651b6ac7bc64a61851456d5977..ff2cf3f15d6ecd326d3a62ceacfbd72e03c122ab 100644 (file)
                <label>Unit</label>
                <description>A basic unit configured in the controller.</description>
                <channels>
-                       <channel id="level" typeId="unit_level"/>
-                       <channel id="switch" typeId="unit_switch"/>
+                       <channel id="level" typeId="system.brightness">
+                               <label>Unit Level</label>
+                               <description>Increase/Decrease the level of this unit.</description>
+                       </channel>
+                       <channel id="switch" typeId="system.power">
+                               <label>Unit Switch</label>
+                               <description>Turn this unit on/off.</description>
+                       </channel>
                        <channel id="on_for_seconds" typeId="on_for_seconds"/>
                        <channel id="off_for_seconds" typeId="off_for_seconds"/>
                        <channel id="on_for_minutes" typeId="on_for_minutes"/>
                        <channel id="on_for_hours" typeId="on_for_hours"/>
                        <channel id="off_for_hours" typeId="off_for_hours"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
                <label>Dimmable Unit</label>
                <description>A dimmable unit configured in the controller.</description>
                <channels>
-                       <channel id="level" typeId="unit_level"/>
-                       <channel id="switch" typeId="unit_switch"/>
+                       <channel id="level" typeId="system.brightness">
+                               <label>Dimmable Level</label>
+                               <description>Increase/Decrease the level of this dimmable unit.</description>
+                       </channel>
+                       <channel id="switch" typeId="system.power">
+                               <label>Dimmable Switch</label>
+                               <description>Turn this dimmable unit on/off.</description>
+                       </channel>
                        <channel id="on_for_seconds" typeId="on_for_seconds"/>
                        <channel id="off_for_seconds" typeId="off_for_seconds"/>
                        <channel id="on_for_minutes" typeId="on_for_minutes"/>
                <label>UPB Unit</label>
                <description>A UPB unit configured in the controller.</description>
                <channels>
-                       <channel id="level" typeId="unit_level"/>
-                       <channel id="switch" typeId="unit_switch"/>
+                       <channel id="level" typeId="system.brightness">
+                               <label>UPB Level</label>
+                               <description>Increase/Decrease the level of this UPB unit.</description>
+                       </channel>
+                       <channel id="switch" typeId="system.power">
+                               <label>UPB Switch</label>
+                               <description>Turn this UPB unit on/off.</description>
+                       </channel>
                        <channel id="on_for_seconds" typeId="on_for_seconds"/>
                        <channel id="off_for_seconds" typeId="off_for_seconds"/>
                        <channel id="on_for_minutes" typeId="on_for_minutes"/>
                <description>A flag configured in the controller.</description>
                <channels>
                        <channel id="value" typeId="flag_value"/>
-                       <channel id="switch" typeId="flag_switch"/>
+                       <channel id="switch" typeId="system.power">
+                               <label>Flag Switch</label>
+                               <description>Turn this flag on/off.</description>
+                       </channel>
                        <channel id="on_for_seconds" typeId="on_for_seconds"/>
                        <channel id="off_for_seconds" typeId="off_for_seconds"/>
                        <channel id="on_for_minutes" typeId="on_for_minutes"/>
                <label>Voltage Output</label>
                <description>A voltage output configured in the controller.</description>
                <channels>
-                       <channel id="switch" typeId="unit_switch"/>
+                       <channel id="switch" typeId="system.power">
+                               <label>Voltage Output Switch</label>
+                               <description>Turn this voltage output on/off.</description>
+                       </channel>
                        <channel id="on_for_seconds" typeId="on_for_seconds"/>
                        <channel id="off_for_seconds" typeId="off_for_seconds"/>
                        <channel id="on_for_minutes" typeId="on_for_minutes"/>
                <label>Room</label>
                <description>A room configured in the controller.</description>
                <channels>
-                       <channel id="switch" typeId="room_switch"/>
-                       <channel id="scene_a" typeId="scene_toggle">
+                       <channel id="switch" typeId="system.power">
+                               <label>Room Switch</label>
+                               <description>Turn this room on/off.</description>
+                       </channel>
+                       <channel id="scene_a" typeId="system.power">
                                <label>Scene A</label>
+                               <description>Turn this scene on/off.</description>
                        </channel>
-                       <channel id="scene_b" typeId="scene_toggle">
+                       <channel id="scene_b" typeId="system.power">
                                <label>Scene B</label>
+                               <description>Turn this scene on/off.</description>
                        </channel>
-                       <channel id="scene_c" typeId="scene_toggle">
+                       <channel id="scene_c" typeId="system.power">
                                <label>Scene C</label>
+                               <description>Turn this scene on/off.</description>
                        </channel>
-                       <channel id="scene_d" typeId="scene_toggle">
+                       <channel id="scene_d" typeId="system.power">
                                <label>Scene D</label>
+                               <description>Turn this scene on/off.</description>
                        </channel>
                        <channel id="state" typeId="room_state"/>
                </channels>
        </thing-type>
 
        <!-- Unit channels -->
-       <channel-type id="unit_level">
-               <item-type>Dimmer</item-type>
-               <label>Unit Level</label>
-               <description>Increase/Decrease the level of this unit.</description>
-               <category>Slider</category>
-               <state min="0" max="100" pattern="%d %%"/>
-       </channel-type>
-
-       <channel-type id="unit_switch">
-               <item-type>Switch</item-type>
-               <label>Switch</label>
-               <description>Turn this unit on/off.</description>
-               <category>Switch</category>
-       </channel-type>
-
        <channel-type id="on_for_seconds">
                <item-type>Number</item-type>
                <label>On for Seconds</label>
                </command>
        </channel-type>
 
-       <channel-type id="room_switch">
-               <item-type>Switch</item-type>
-               <label>Switch</label>
-               <description>Turn this room on/off.</description>
-               <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="scene_toggle">
-               <item-type>Switch</item-type>
-               <label>Scene Toggle</label>
-               <description>Turn this scene on/off.</description>
-               <category>Switch</category>
-       </channel-type>
-
        <channel-type id="room_state">
                <item-type>Number</item-type>
                <label>State</label>
                <state min="0" max="255" pattern="%d"/>
        </channel-type>
 
-       <channel-type id="flag_switch">
-               <item-type>Switch</item-type>
-               <label>Flag Switch</label>
-               <description>Turn this flag on/off.</description>
-               <category>Switch</category>
-       </channel-type>
-
        <channel-type id="switch_press_event">
                <kind>trigger</kind>
                <label>Switch Press Event</label>
index 48f09b16241041d2a97f3112c79ec3234c5927a9..0833f25624a1b61cbb374f13a82d9dc3006a898b 100644 (file)
                        <channel id="bypass" typeId="zone_bypass"/>
                        <channel id="restore" typeId="zone_restore"/>
                </channels>
-               <properties>
-                       <property name="name"/>
-                       <property name="area"/>
-               </properties>
                <representation-property>number</representation-property>
                <config-description>
                        <parameter name="number" type="integer" required="true">
@@ -38,6 +34,9 @@
                <label>Contact State</label>
                <description>Contact state information of this zone.</description>
                <category>Contact</category>
+               <tags>
+                       <tag>OpenState</tag>
+               </tags>
                <state readOnly="true"/>
        </channel-type>