]> git.basschouten.com Git - openhab-addons.git/commitdiff
[wemo] Add missing channel categories and semantic tags (#12411)
authorJacob Laursen <jacob-github@vindvejr.dk>
Fri, 4 Mar 2022 07:38:45 +0000 (08:38 +0100)
committerGitHub <noreply@github.com>
Fri, 4 Mar 2022 07:38:45 +0000 (08:38 +0100)
* Extract thing descriptions into separate files
* Add missing channel categories
* Add semantic tags for temperature and humidity
* Fix typo

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
15 files changed:
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/i18n/wemo.properties
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/coffeemaker.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/crockpot.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/dimmer.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/heater.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/humidifier.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/insight.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/lightswitch.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/maker.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/motion.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/mz100.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/purifier.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/socket.xml [new file with mode: 0644]
bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/thing-types.xml [deleted file]

index a423beb6ebe341ce7bb543add77b476da8bc494a..e69a1e5554f9ca68df7ad2a1f00cc5ac0c52383e 100644 (file)
@@ -7,10 +7,18 @@ binding.wemo.description = The WeMo binding integrates Belkin WeMo devices.
 
 thing-type.wemo.CoffeeMaker.label = Mr. Coffee WeMo Enabled Coffeemaker
 thing-type.wemo.CoffeeMaker.description = This is a WeMo enabled coffee maker
+thing-type.wemo.Crockpot.label = Crock-Pot Slow Cooker
+thing-type.wemo.Crockpot.description = Crock-Pot Smart Slow Cooker with WeMo
+thing-type.wemo.Heater.label = Holmes Heater
+thing-type.wemo.Heater.description = Holmes Smart Heater with WeMo
+thing-type.wemo.Humidifier.label = Holmes Humidifier
+thing-type.wemo.Humidifier.description = Holmes Smart Humidifier with WeMo
 thing-type.wemo.MZ100.label = WeMo LED Light
 thing-type.wemo.MZ100.description = This is a standard WeMo light bulb with E27 socket
 thing-type.wemo.Maker.label = WeMo Maker
 thing-type.wemo.Maker.description = This is a WeMo Maker
+thing-type.wemo.Purifier.label = Holmes Air Purifier
+thing-type.wemo.Purifier.description = Holmes Smart Air Purifier with WeMo
 thing-type.wemo.bridge.label = WeMo Link
 thing-type.wemo.bridge.description = The Wemo Link represents the Belkin WeMo Link bridge.
 thing-type.wemo.dimmer.label = WeMo DimmerSwitch
@@ -39,6 +47,11 @@ thing-type.config.wemo.device.udn.description = The UDN identifies the WeMo Devi
 
 # channel types
 
+channel-type.wemo.airQiality.label = Air Quality
+channel-type.wemo.airQiality.description = Shows the air quality measured by a WeMo enabled Holmes Air Purifier
+channel-type.wemo.autoOffTime.label = Auto OFF Time
+channel-type.wemo.autoOffTime.description = Time when a WeMo enabled Heater should switch off
+channel-type.wemo.autoOffTime.state.pattern = %1$tR
 channel-type.wemo.averagePower.label = Average Power
 channel-type.wemo.averagePower.description = The average power consumption
 channel-type.wemo.brewed.label = Brewed
@@ -58,8 +71,22 @@ channel-type.wemo.coffeeMode.state.option.Brewed = Brewing Finished
 channel-type.wemo.coffeeMode.state.option.CleaningBrewing = Cleaning Coffee Maker
 channel-type.wemo.coffeeMode.state.option.CleaningSoaking = Cleaning Filter
 channel-type.wemo.coffeeMode.state.option.BrewFailCarafeRemoved = Brewing Failed: Carafe Removed
+channel-type.wemo.cookMode.label = Cooking Mode
+channel-type.wemo.cookMode.description = Shows the operation mode of a WeMo CrockPot
+channel-type.wemo.cookMode.state.option.OFF = Not cooking
+channel-type.wemo.cookMode.state.option.WARM = Warming
+channel-type.wemo.cookMode.state.option.LOW = Low cooking
+channel-type.wemo.cookMode.state.option.HIGH = High cooking
+channel-type.wemo.cookedTime.label = CookedTime
+channel-type.wemo.cookedTime.description = Shows the elapsed cooking time
+channel-type.wemo.currentHumidity.label = Current Humidity
+channel-type.wemo.currentHumidity.description = Shows the current humidity of a WeMo enabled Holmes Humidifier
 channel-type.wemo.currentPower.label = Power
 channel-type.wemo.currentPower.description = The current power consumption
+channel-type.wemo.currentTemperature.label = Current Temperature
+channel-type.wemo.currentTemperature.description = Shows the current temperature measured by a WeMo enabled Heater
+channel-type.wemo.desiredHumidity.label = Target Humidity
+channel-type.wemo.desiredHumidity.description = Shows the target humidity of a WeMo enabled Holmes Humidifier
 channel-type.wemo.endTime.label = NightMode End Time
 channel-type.wemo.endTime.description = Time when the Night Mode ends
 channel-type.wemo.endTime.state.pattern = %1$tR
@@ -73,6 +100,33 @@ channel-type.wemo.faderEnabled.label = Fader OFF/ON
 channel-type.wemo.faderEnabled.description = Allows to switch the fader ON/OFF
 channel-type.wemo.filterAdvise.label = FilterAdvise
 channel-type.wemo.filterAdvise.description = Indicates if a WeMo Coffee Maker needs to have the filter changed
+channel-type.wemo.filterExpired.label = Filter Time expired
+channel-type.wemo.filterExpired.description = Indicates whether the air Filter needs to be replaced
+channel-type.wemo.filterLife.label = Filter Life
+channel-type.wemo.filterLife.description = Shows the remaining lifetime percentage of the air filter
+channel-type.wemo.filterPresent.label = Filter is present
+channel-type.wemo.filterPresent.description = Indicates whether the air Filter is present
+channel-type.wemo.heaterMode.label = Operation Mode
+channel-type.wemo.heaterMode.description = Shows the operation mode of a WeMo enabled Heater
+channel-type.wemo.heaterMode.state.option.OFF = Not Running
+channel-type.wemo.heaterMode.state.option.FROSTPROTECT = Running at FrostProtect
+channel-type.wemo.heaterMode.state.option.HIGH = Running at high level
+channel-type.wemo.heaterMode.state.option.LOW = Running at low level
+channel-type.wemo.heaterMode.state.option.ECO = Running in Eco mode
+channel-type.wemo.heatingRemaining.label = Remaining heating time
+channel-type.wemo.heatingRemaining.description = Shows the target temperature for a WeMo enabled Heater
+channel-type.wemo.highCookTime.label = HighCookTime
+channel-type.wemo.highCookTime.description = Shows the timer settings for high cooking mode
+channel-type.wemo.humidifierMode.label = Operation Mode
+channel-type.wemo.humidifierMode.description = Shows the operation mode of a WeMo enabled Holmes Humidifier
+channel-type.wemo.humidifierMode.state.option.OFF = Not Running
+channel-type.wemo.humidifierMode.state.option.MIN = Running at min level
+channel-type.wemo.humidifierMode.state.option.LOW = Running at low level
+channel-type.wemo.humidifierMode.state.option.MED = Running at medium level
+channel-type.wemo.humidifierMode.state.option.HIGH = Running at high level
+channel-type.wemo.humidifierMode.state.option.MAX = Running in max level
+channel-type.wemo.ionizer.label = Ionizer
+channel-type.wemo.ionizer.description = Switches ionization ON or OFF
 channel-type.wemo.lastChangedAt.label = Last Activity (Date/Time)
 channel-type.wemo.lastChangedAt.description = Date/time when the state last changed
 channel-type.wemo.lastCleaned.label = LastCleaned
@@ -81,6 +135,8 @@ channel-type.wemo.lastMotionDetected.label = Last Activity (Date/Time)
 channel-type.wemo.lastMotionDetected.description = Date/time when last motion was detected
 channel-type.wemo.lastOnFor.label = Last Activity (s)
 channel-type.wemo.lastOnFor.description = Duration the device has been switched on for
+channel-type.wemo.lowCookTime.label = LowCookTime
+channel-type.wemo.lowCookTime.description = Shows the timer settings for low cooking mode
 channel-type.wemo.modeTime.label = ModeTime
 channel-type.wemo.modeTime.description = Shows the current amount of time, in minutes, that the Coffee Maker has been in the current mode
 channel-type.wemo.motionDetection.label = Motion Status
@@ -95,6 +151,13 @@ channel-type.wemo.onToday.label = Today's Activity (s)
 channel-type.wemo.onToday.description = How long has the device been switched on today
 channel-type.wemo.onTotal.label = Total Activity (s)
 channel-type.wemo.onTotal.description = How long has the device been switched on totally
+channel-type.wemo.purifierMode.label = Operation Mode
+channel-type.wemo.purifierMode.description = Shows the operation mode of a WeMo enabled Holmes Air Purifier
+channel-type.wemo.purifierMode.state.option.OFF = Not Running
+channel-type.wemo.purifierMode.state.option.LOW = Running at low level
+channel-type.wemo.purifierMode.state.option.MED = Running at medium level
+channel-type.wemo.purifierMode.state.option.HIGH = Running at high level
+channel-type.wemo.purifierMode.state.option.AUTO = Running in auto mode
 channel-type.wemo.relay.label = Relay
 channel-type.wemo.relay.description = Switches the integrated relay contact close/open
 channel-type.wemo.sensor.label = Sensor
@@ -106,16 +169,23 @@ channel-type.wemo.startTime.description = Time when the Night Mode starts
 channel-type.wemo.startTime.state.pattern = %1$tR
 channel-type.wemo.state.label = Switch
 channel-type.wemo.state.description = Turns the power on or off
+channel-type.wemo.targetTemperature.label = Target Temperature
+channel-type.wemo.targetTemperature.description = Shows the target temperature for a WeMo enabled Heater
 channel-type.wemo.timeRemaining.label = TimeRemaining
 channel-type.wemo.timeRemaining.description = Shows the remaining brewing time of a WeMo Coffee Maker
 channel-type.wemo.timerStart.label = Timer OFF/ON
 channel-type.wemo.timerStart.description = Allows to switch the timer ON/OFF
 channel-type.wemo.timespan.label = Usage Timespan (s)
 channel-type.wemo.timespan.description = Time used to measure average usage
+channel-type.wemo.warmCookTime.label = WarmCookTime
+channel-type.wemo.warmCookTime.description = Shows the timer settings for warm cooking mode
+channel-type.wemo.waterLevel.label = Water Level
+channel-type.wemo.waterLevel.description = Shows the water level of a WeMo enabled Holmes Humidifier
 channel-type.wemo.waterLevelReached.label = WaterLevelReached
 channel-type.wemo.waterLevelReached.description = Indicates if the WeMo Coffee Maker needs to be refilled
 
-# Config status messages
+# config status messages
+
 config-status.pending.device-not-registered = UPnP device is not registered yet.
 config-status.error.missing-udn = UDN of the WeMo device is missing.
 config-status.error.missing-ip = IP address of the WeMo device is missing.
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml
new file mode 100644 (file)
index 0000000..62aeed0
--- /dev/null
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <channel-type id="state">
+               <item-type>Switch</item-type>
+               <label>Switch</label>
+               <description>Turns the power on or off</description>
+               <category>Switch</category>
+       </channel-type>
+
+       <channel-type id="motionDetection">
+               <item-type>Switch</item-type>
+               <label>Motion Status</label>
+               <description>Indicates whether motion is detected or not</description>
+               <category>Motion</category>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="lastMotionDetected" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>Last Activity (Date/Time)</label>
+               <description>Date/time when last motion was detected</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="lastChangedAt" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>Last Activity (Date/Time)</label>
+               <description>Date/time when the state last changed</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="lastOnFor" advanced="true">
+               <item-type>Number</item-type>
+               <label>Last Activity (s)</label>
+               <description>Duration the device has been switched on for</description>
+               <state pattern="%.1f s"/>
+       </channel-type>
+
+       <channel-type id="onToday" advanced="true">
+               <item-type>Number</item-type>
+               <label>Today's Activity (s)</label>
+               <description>How long has the device been switched on today</description>
+               <category>Time</category>
+               <state pattern="%.1f s"/>
+       </channel-type>
+
+       <channel-type id="onTotal" advanced="true">
+               <item-type>Number</item-type>
+               <label>Total Activity (s)</label>
+               <description>How long has the device been switched on totally</description>
+               <category>Time</category>
+               <state pattern="%.1f s"/>
+       </channel-type>
+
+       <channel-type id="timespan" advanced="true">
+               <item-type>Number</item-type>
+               <label>Usage Timespan (s)</label>
+               <description>Time used to measure average usage</description>
+               <category>Time</category>
+               <state pattern="%.1f s"/>
+       </channel-type>
+
+       <channel-type id="averagePower" advanced="true">
+               <item-type>Number:Power</item-type>
+               <label>Average Power</label>
+               <description>The average power consumption</description>
+               <category>Energy</category>
+               <state pattern="%.0f %unit%"/>
+       </channel-type>
+
+       <channel-type id="currentPower">
+               <item-type>Number:Power</item-type>
+               <label>Power</label>
+               <description>The current power consumption</description>
+               <category>Energy</category>
+               <state pattern="%.0f %unit%"/>
+       </channel-type>
+
+       <channel-type id="energyToday" advanced="true">
+               <item-type>Number:Energy</item-type>
+               <label>Energy Today</label>
+               <description>Todays power consumption</description>
+               <category>Energy</category>
+               <state pattern="%.0f %unit%"/>
+       </channel-type>
+
+       <channel-type id="energyTotal" advanced="true">
+               <item-type>Number:Energy</item-type>
+               <label>Energy Total</label>
+               <description>Total power consumption</description>
+               <category>Energy</category>
+               <state pattern="%.0f %unit%"/>
+       </channel-type>
+
+       <channel-type id="standByLimit" advanced="true">
+               <item-type>Number:Power</item-type>
+               <label>StandBy Limit</label>
+               <description>Minimum energy draw to register device as switched on</description>
+               <category>Energy</category>
+               <state pattern="%.0f %unit%"/>
+       </channel-type>
+
+       <channel-type id="onStandBy" advanced="true">
+               <item-type>Switch</item-type>
+               <label>On Standby</label>
+               <description>Appliance on standby</description>
+               <category>Energy</category>
+               <state readOnly="true"/>
+       </channel-type>
+
+       <!-- Brightness Channel -->
+       <channel-type id="brightness">
+               <item-type>Dimmer</item-type>
+               <label>Brightness</label>
+               <description>The brightness channel allows to control the brightness of a light.
+                       It is also possible to switch the
+                       light on and off.
+               </description>
+               <category>Light</category>
+       </channel-type>
+
+       <channel-type id="relay">
+               <item-type>Switch</item-type>
+               <label>Relay</label>
+               <description>Switches the integrated relay contact close/open</description>
+               <category>Switch</category>
+       </channel-type>
+
+       <channel-type id="sensor">
+               <item-type>Switch</item-type>
+               <label>Sensor</label>
+               <description>Shows the state of the integrated sensor</description>
+               <category>Switch</category>
+       </channel-type>
+
+       <channel-type id="coffeeMode">
+               <item-type>String</item-type>
+               <label>Mode</label>
+               <description>Shows the operation mode of a WeMo Coffee Maker</description>
+               <state readOnly="true">
+                       <options>
+                               <option value="Refill">Not Ready: Refill Water and Replace Carafe</option>
+                               <option value="PlaceCarafe">Not Ready: Replace Carafe</option>
+                               <option value="RefillWater">Not Ready: Refill Water</option>
+                               <option value="Ready">Ready</option>
+                               <option value="Brewing">Brewing</option>
+                               <option value="Brewed">Brewing Finished</option>
+                               <option value="CleaningBrewing">Cleaning Coffee Maker</option>
+                               <option value="CleaningSoaking">Cleaning Filter</option>
+                               <option value="BrewFailCarafeRemoved">Brewing Failed: Carafe Removed</option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="modeTime">
+               <item-type>Number</item-type>
+               <label>ModeTime</label>
+               <description>Shows the current amount of time, in minutes, that the Coffee Maker has been in the current mode</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="timeRemaining">
+               <item-type>Number</item-type>
+               <label>TimeRemaining</label>
+               <description>Shows the remaining brewing time of a WeMo Coffee Maker</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="waterLevelReached" advanced="true">
+               <item-type>Switch</item-type>
+               <label>WaterLevelReached</label>
+               <description>Indicates if the WeMo Coffee Maker needs to be refilled</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="cleanAdvise" advanced="true">
+               <item-type>Switch</item-type>
+               <label>CleanAdvise</label>
+               <description>Indicates if a WeMo Coffee Maker needs to be cleaned</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="filterAdvise" advanced="true">
+               <item-type>Switch</item-type>
+               <label>FilterAdvise</label>
+               <description>Indicates if a WeMo Coffee Maker needs to have the filter changed</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="brewed" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>Brewed</label>
+               <description>Date/time the coffee maker last completed brewing coffee</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="lastCleaned" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>LastCleaned</label>
+               <description>Date/time the coffee maker last completed cleaning</description>
+               <category>Time</category>
+       </channel-type>
+
+       <channel-type id="faderCountDownTime" advanced="true">
+               <item-type>Number</item-type>
+               <label>Fader CountDown Time</label>
+               <description>The fading duration time in minutes</description>
+               <category>Time</category>
+               <state min="1" max="30" step="1.0" pattern="%d min" readOnly="false"/>
+       </channel-type>
+
+       <channel-type id="faderEnabled" advanced="true">
+               <item-type>Switch</item-type>
+               <label>Fader OFF/ON</label>
+               <description>Allows to switch the fader ON/OFF</description>
+       </channel-type>
+
+       <channel-type id="timerStart" advanced="true">
+               <item-type>Switch</item-type>
+               <label>Timer OFF/ON</label>
+               <description>Allows to switch the timer ON/OFF</description>
+       </channel-type>
+
+       <channel-type id="nightMode" advanced="true">
+               <item-type>Switch</item-type>
+               <label>NightMode OFF/ON</label>
+               <description>Allows to switch the nightMode ON/OFF</description>
+       </channel-type>
+
+       <channel-type id="startTime" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>NightMode Start Time</label>
+               <description>Time when the Night Mode starts</description>
+               <category>Time</category>
+               <state pattern="%1$tR" readOnly="true"/>
+       </channel-type>
+
+       <channel-type id="endTime" advanced="true">
+               <item-type>DateTime</item-type>
+               <label>NightMode End Time</label>
+               <description>Time when the Night Mode ends</description>
+               <category>Time</category>
+               <state pattern="%1$tR" readOnly="true"/>
+       </channel-type>
+
+       <channel-type id="nightModeBrightness" advanced="true">
+               <item-type>Dimmer</item-type>
+               <label>Night Mode Brightness</label>
+               <description>Allows setting the brightness of Night Mode</description>
+       </channel-type>
+
+       <channel-type id="cookMode">
+               <item-type>String</item-type>
+               <label>Cooking Mode</label>
+               <description>Shows the operation mode of a WeMo CrockPot</description>
+               <state readOnly="false">
+                       <options>
+                               <option value="OFF">Not cooking</option>
+                               <option value="WARM">Warming</option>
+                               <option value="LOW">Low cooking</option>
+                               <option value="HIGH">High cooking</option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="warmCookTime">
+               <item-type>Number</item-type>
+               <label>WarmCookTime</label>
+               <description>Shows the timer settings for warm cooking mode</description>
+       </channel-type>
+
+       <channel-type id="lowCookTime">
+               <item-type>Number</item-type>
+               <label>LowCookTime</label>
+               <description>Shows the timer settings for low cooking mode</description>
+       </channel-type>
+
+       <channel-type id="highCookTime">
+               <item-type>Number</item-type>
+               <label>HighCookTime</label>
+               <description>Shows the timer settings for high cooking mode</description>
+       </channel-type>
+
+       <channel-type id="cookedTime">
+               <item-type>Number</item-type>
+               <label>CookedTime</label>
+               <description>Shows the elapsed cooking time</description>
+       </channel-type>
+
+       <channel-type id="purifierMode">
+               <item-type>String</item-type>
+               <label>Operation Mode</label>
+               <description>Shows the operation mode of a WeMo enabled Holmes Air Purifier</description>
+               <state readOnly="false">
+                       <options>
+                               <option value="OFF">Not Running</option>
+                               <option value="LOW">Running at low level</option>
+                               <option value="MED">Running at medium level</option>
+                               <option value="HIGH">Running at high level</option>
+                               <option value="AUTO">Running in auto mode</option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="airQiality">
+               <item-type>String</item-type>
+               <label>Air Quality</label>
+               <description>Shows the air quality measured by a WeMo enabled Holmes Air Purifier</description>
+               <state readOnly="true">
+                       <options>
+                               <option value="POOR"></option>
+                               <option value="MODERATE"></option>
+                               <option value="GOOD"></option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="ionizer">
+               <item-type>Switch</item-type>
+               <label>Ionizer</label>
+               <description>Switches ionization ON or OFF</description>
+       </channel-type>
+
+       <channel-type id="filterLife">
+               <item-type>Number</item-type>
+               <label>Filter Life</label>
+               <description>Shows the remaining lifetime percentage of the air filter</description>
+       </channel-type>
+
+       <channel-type id="filterExpired">
+               <item-type>Switch</item-type>
+               <label>Filter Time expired</label>
+               <description>Indicates whether the air Filter needs to be replaced</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="filterPresent">
+               <item-type>Switch</item-type>
+               <label>Filter is present</label>
+               <description>Indicates whether the air Filter is present</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+       <channel-type id="humidifierMode">
+               <item-type>String</item-type>
+               <label>Operation Mode</label>
+               <description>Shows the operation mode of a WeMo enabled Holmes Humidifier</description>
+               <state readOnly="false">
+                       <options>
+                               <option value="OFF">Not Running</option>
+                               <option value="MIN">Running at min level</option>
+                               <option value="LOW">Running at low level</option>
+                               <option value="MED">Running at medium level</option>
+                               <option value="HIGH">Running at high level</option>
+                               <option value="MAX">Running in max level</option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="currentHumidity">
+               <item-type>Number</item-type>
+               <label>Current Humidity</label>
+               <description>Shows the current humidity of a WeMo enabled Holmes Humidifier</description>
+               <category>Humidity</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Humidity</tag>
+               </tags>
+       </channel-type>
+
+       <channel-type id="desiredHumidity">
+               <item-type>Number</item-type>
+               <label>Target Humidity</label>
+               <description>Shows the target humidity of a WeMo enabled Holmes Humidifier</description>
+               <category>Humidity</category>
+               <tags>
+                       <tag>Setpoint</tag>
+                       <tag>Humidity</tag>
+               </tags>
+               <state readOnly="false">
+                       <options>
+                               <option value="45"></option>
+                               <option value="50"></option>
+                               <option value="55"></option>
+                               <option value="60"></option>
+                               <option value="100"></option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="waterLevel">
+               <item-type>String</item-type>
+               <label>Water Level</label>
+               <description>Shows the water level of a WeMo enabled Holmes Humidifier</description>
+               <state readOnly="true">
+                       <options>
+                               <option value="EMPTY"></option>
+                               <option value="LOW"></option>
+                               <option value="GOOD"></option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="heaterMode">
+               <item-type>String</item-type>
+               <label>Operation Mode</label>
+               <description>Shows the operation mode of a WeMo enabled Heater</description>
+               <state readOnly="false">
+                       <options>
+                               <option value="OFF">Not Running</option>
+                               <option value="FROSTPROTECT">Running at FrostProtect</option>
+                               <option value="HIGH">Running at high level</option>
+                               <option value="LOW">Running at low level</option>
+                               <option value="ECO">Running in Eco mode</option>
+                       </options>
+               </state>
+       </channel-type>
+
+       <channel-type id="currentTemperature">
+               <item-type>Number</item-type>
+               <label>Current Temperature</label>
+               <description>Shows the current temperature measured by a WeMo enabled Heater</description>
+               <category>Temperature</category>
+               <tags>
+                       <tag>Measurement</tag>
+                       <tag>Temperature</tag>
+               </tags>
+       </channel-type>
+
+       <channel-type id="targetTemperature">
+               <item-type>Number</item-type>
+               <label>Target Temperature</label>
+               <description>Shows the target temperature for a WeMo enabled Heater</description>
+               <category>Temperature</category>
+               <tags>
+                       <tag>Setpoint</tag>
+                       <tag>Temperature</tag>
+               </tags>
+       </channel-type>
+
+       <channel-type id="autoOffTime">
+               <item-type>DateTime</item-type>
+               <label>Auto OFF Time</label>
+               <description>Time when a WeMo enabled Heater should switch off</description>
+               <category>Time</category>
+               <state pattern="%1$tR" readOnly="false"/>
+       </channel-type>
+
+       <channel-type id="heatingRemaining">
+               <item-type>Number</item-type>
+               <label>Remaining heating time</label>
+               <description>Shows the target temperature for a WeMo enabled Heater</description>
+               <state readOnly="true"></state>
+       </channel-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/coffeemaker.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/coffeemaker.xml
new file mode 100644 (file)
index 0000000..e9554e4
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="CoffeeMaker">
+               <label>Mr. Coffee WeMo Enabled Coffeemaker</label>
+               <description>This is a WeMo enabled coffee maker</description>
+
+               <channels>
+                       <channel id="state" typeId="state"/>
+                       <channel id="coffeeMode" typeId="coffeeMode"/>
+                       <channel id="modeTime" typeId="modeTime"/>
+                       <channel id="timeRemaining" typeId="timeRemaining"/>
+                       <channel id="waterLevelReached" typeId="waterLevelReached"/>
+                       <channel id="cleanAdvise" typeId="cleanAdvise"/>
+                       <channel id="filterAdvise" typeId="filterAdvise"/>
+                       <channel id="brewed" typeId="brewed"/>
+                       <channel id="lastCleaned" typeId="lastCleaned"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description>
+                       <parameter name="udn" type="text" required="true">
+                               <label>Unique Device Name</label>
+                               <description>The UDN identifies the WeMo Device</description>
+                       </parameter>
+                       <parameter name="pollingInterval" type="integer" required="false" min="15" max="180">
+                               <label>Polling Interval</label>
+                               <description>Interval polling the WeMo Coffee Maker.</description>
+                               <default>60</default>
+                       </parameter>
+               </config-description>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/crockpot.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/crockpot.xml
new file mode 100644 (file)
index 0000000..94c8665
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="Crockpot">
+               <label>Crock-Pot Slow Cooker</label>
+               <description>Crock-Pot Smart Slow Cooker with WeMo</description>
+
+               <channels>
+                       <channel id="cookMode" typeId="cookMode"/>
+                       <channel id="warmCookTime" typeId="warmCookTime"/>
+                       <channel id="lowCookTime" typeId="lowCookTime"/>
+                       <channel id="highCookTime" typeId="highCookTime"/>
+                       <channel id="cookedTime" typeId="cookedTime"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/dimmer.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/dimmer.xml
new file mode 100644 (file)
index 0000000..ef6e300
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="dimmer">
+               <label>WeMo DimmerSwitch</label>
+               <description>This is a WeMo DimmerSwitch</description>
+
+               <channels>
+                       <channel id="brightness" typeId="brightness"/>
+                       <channel id="faderCountDownTime" typeId="faderCountDownTime"/>
+                       <channel id="faderEnabled" typeId="faderEnabled"/>
+                       <channel id="timerStart" typeId="timerStart"/>
+                       <channel id="nightMode" typeId="nightMode"/>
+                       <channel id="startTime" typeId="startTime"/>
+                       <channel id="endTime" typeId="endTime"/>
+                       <channel id="nightModeBrightness" typeId="nightModeBrightness"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/heater.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/heater.xml
new file mode 100644 (file)
index 0000000..c2cc42b
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="Heater">
+               <label>Holmes Heater</label>
+               <description>Holmes Smart Heater with WeMo</description>
+
+               <channels>
+                       <channel id="heaterMode" typeId="heaterMode"/>
+                       <channel id="currentTemperature" typeId="currentTemperature"/>
+                       <channel id="targetTemperature" typeId="targetTemperature"/>
+                       <channel id="autoOffTime" typeId="autoOffTime"/>
+                       <channel id="heatingRemaining" typeId="heatingRemaining"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/humidifier.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/humidifier.xml
new file mode 100644 (file)
index 0000000..7ce930f
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="Humidifier">
+               <label>Holmes Humidifier</label>
+               <description>Holmes Smart Humidifier with WeMo</description>
+
+               <channels>
+                       <channel id="humidifierMode" typeId="humidifierMode"/>
+                       <channel id="desiredHumidity" typeId="desiredHumidity"/>
+                       <channel id="currentHumidity" typeId="currentHumidity"/>
+                       <channel id="waterLEvel" typeId="waterLEvel"/>
+                       <channel id="filterLife" typeId="filterLife"/>
+                       <channel id="expiredFilterTime" typeId="expiredFilterTime"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/insight.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/insight.xml
new file mode 100644 (file)
index 0000000..6485462
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="insight">
+               <label>WeMo Insight Switch</label>
+               <description>This is a WeMo Insight Switch with energy measurement</description>
+
+               <channels>
+                       <channel id="state" typeId="state"/>
+                       <channel id="lastChangedAt" typeId="lastChangedAt"/>
+                       <channel id="lastOnFor" typeId="lastOnFor"/>
+                       <channel id="onToday" typeId="onToday"/>
+                       <channel id="onTotal" typeId="onTotal"/>
+                       <channel id="timespan" typeId="timespan"/>
+                       <channel id="averagePower" typeId="averagePower"/>
+                       <channel id="currentPower" typeId="currentPower"/>
+                       <channel id="energyToday" typeId="energyToday"/>
+                       <channel id="energyTotal" typeId="energyTotal"/>
+                       <channel id="standByLimit" typeId="standByLimit"/>
+                       <channel id="onStandBy" typeId="onStandBy"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/lightswitch.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/lightswitch.xml
new file mode 100644 (file)
index 0000000..8725682
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="lightswitch">
+               <label>WeMo Light Switch</label>
+               <description>This is a WeMo LightSwitch</description>
+
+               <channels>
+                       <channel id="state" typeId="state"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/maker.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/maker.xml
new file mode 100644 (file)
index 0000000..6dac377
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="Maker">
+               <label>WeMo Maker</label>
+               <description>This is a WeMo Maker</description>
+
+               <channels>
+                       <channel id="relay" typeId="relay"/>
+                       <channel id="sensor" typeId="sensor"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/motion.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/motion.xml
new file mode 100644 (file)
index 0000000..184dc97
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="motion">
+               <label>WeMo Motion</label>
+               <description>This is a WeMo MotionSensor</description>
+
+               <channels>
+                       <channel id="motionDetection" typeId="motionDetection"/>
+                       <channel id="lastMotionDetected" typeId="lastMotionDetected"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/mz100.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/mz100.xml
new file mode 100644 (file)
index 0000000..3251173
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <!-- Standard WeMo Bulb with E27 socket -->
+       <thing-type id="MZ100">
+               <supported-bridge-type-refs>
+                       <bridge-type-ref id="bridge"/>
+               </supported-bridge-type-refs>
+
+               <label>WeMo LED Light</label>
+               <description>This is a standard WeMo light bulb with E27 socket </description>
+
+               <channels>
+                       <channel id="state" typeId="state"/>
+                       <channel id="brightness" typeId="brightness"/>
+               </channels>
+
+               <properties>
+                       <property name="vendor">MRVL</property>
+                       <property name="modelId">MZ100</property>
+               </properties>
+
+               <config-description>
+                       <parameter name="deviceID" type="text" required="true">
+                               <label>Device ID</label>
+                               <description>The device ID identifies one certain WeMo light.</description>
+                       </parameter>
+               </config-description>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/purifier.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/purifier.xml
new file mode 100644 (file)
index 0000000..09877ea
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="Purifier">
+               <label>Holmes Air Purifier</label>
+               <description>Holmes Smart Air Purifier with WeMo</description>
+
+               <channels>
+                       <channel id="purifierMode" typeId="purifierMode"/>
+                       <channel id="airQuality" typeId="airQuality"/>
+                       <channel id="ionizer" typeId="ionizer"/>
+                       <channel id="filterLife" typeId="filterLife"/>
+                       <channel id="expiredFilterTime" typeId="expiredFilterTime"/>
+                       <channel id="filterPresent" typeId="filterPresent"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/socket.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/socket.xml
new file mode 100644 (file)
index 0000000..d95e837
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<thing:thing-descriptions bindingId="wemo"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
+       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
+
+       <thing-type id="socket">
+               <label>WeMo Switch</label>
+               <description>This is a standard WeMo Switch</description>
+
+               <channels>
+                       <channel id="state" typeId="state"/>
+               </channels>
+
+               <representation-property>udn</representation-property>
+
+               <config-description-ref uri="thing-type:wemo:device"/>
+       </thing-type>
+
+</thing:thing-descriptions>
diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/thing-types.xml
deleted file mode 100644 (file)
index e21fdba..0000000
+++ /dev/null
@@ -1,654 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<thing:thing-descriptions bindingId="wemo"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
-       xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
-
-       <thing-type id="socket">
-               <label>WeMo Switch</label>
-               <description>This is a standard WeMo Switch</description>
-
-               <channels>
-                       <channel id="state" typeId="state"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="insight">
-               <label>WeMo Insight Switch</label>
-               <description>This is a WeMo Insight Switch with energy measurement</description>
-
-               <channels>
-                       <channel id="state" typeId="state"/>
-                       <channel id="lastChangedAt" typeId="lastChangedAt"/>
-                       <channel id="lastOnFor" typeId="lastOnFor"/>
-                       <channel id="onToday" typeId="onToday"/>
-                       <channel id="onTotal" typeId="onTotal"/>
-                       <channel id="timespan" typeId="timespan"/>
-                       <channel id="averagePower" typeId="averagePower"/>
-                       <channel id="currentPower" typeId="currentPower"/>
-                       <channel id="energyToday" typeId="energyToday"/>
-                       <channel id="energyTotal" typeId="energyTotal"/>
-                       <channel id="standByLimit" typeId="standByLimit"/>
-                       <channel id="onStandBy" typeId="onStandBy"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="lightswitch">
-               <label>WeMo Light Switch</label>
-               <description>This is a WeMo LightSwitch</description>
-
-               <channels>
-                       <channel id="state" typeId="state"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="motion">
-               <label>WeMo Motion</label>
-               <description>This is a WeMo MotionSensor</description>
-
-               <channels>
-                       <channel id="motionDetection" typeId="motionDetection"/>
-                       <channel id="lastMotionDetected" typeId="lastMotionDetected"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <!-- Standard WeMo Bulb with E27 socket -->
-       <thing-type id="MZ100">
-               <supported-bridge-type-refs>
-                       <bridge-type-ref id="bridge"/>
-               </supported-bridge-type-refs>
-
-               <label>WeMo LED Light</label>
-               <description>This is a standard WeMo light bulb with E27 socket </description>
-
-               <channels>
-                       <channel id="state" typeId="state"/>
-                       <channel id="brightness" typeId="brightness"/>
-               </channels>
-
-               <properties>
-                       <property name="vendor">MRVL</property>
-                       <property name="modelId">MZ100</property>
-               </properties>
-
-               <config-description>
-                       <parameter name="deviceID" type="text" required="true">
-                               <label>Device ID</label>
-                               <description>The device ID identifies one certain WeMo light.</description>
-                       </parameter>
-               </config-description>
-       </thing-type>
-
-       <thing-type id="Maker">
-               <label>WeMo Maker</label>
-               <description>This is a WeMo Maker</description>
-
-               <channels>
-                       <channel id="relay" typeId="relay"/>
-                       <channel id="sensor" typeId="sensor"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="CoffeeMaker">
-               <label>Mr. Coffee WeMo Enabled Coffeemaker</label>
-               <description>This is a WeMo enabled coffee maker</description>
-
-               <channels>
-                       <channel id="state" typeId="state"/>
-                       <channel id="coffeeMode" typeId="coffeeMode"/>
-                       <channel id="modeTime" typeId="modeTime"/>
-                       <channel id="timeRemaining" typeId="timeRemaining"/>
-                       <channel id="waterLevelReached" typeId="waterLevelReached"/>
-                       <channel id="cleanAdvise" typeId="cleanAdvise"/>
-                       <channel id="filterAdvise" typeId="filterAdvise"/>
-                       <channel id="brewed" typeId="brewed"/>
-                       <channel id="lastCleaned" typeId="lastCleaned"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description>
-                       <parameter name="udn" type="text" required="true">
-                               <label>Unique Device Name</label>
-                               <description>The UDN identifies the WeMo Device</description>
-                       </parameter>
-                       <parameter name="pollingInterval" type="integer" required="false" min="15" max="180">
-                               <label>Polling Interval</label>
-                               <description>Interval polling the WeMo Coffee Maker.</description>
-                               <default>60</default>
-                       </parameter>
-               </config-description>
-       </thing-type>
-
-       <thing-type id="dimmer">
-               <label>WeMo DimmerSwitch</label>
-               <description>This is a WeMo DimmerSwitch</description>
-
-               <channels>
-                       <channel id="brightness" typeId="brightness"/>
-                       <channel id="faderCountDownTime" typeId="faderCountDownTime"/>
-                       <channel id="faderEnabled" typeId="faderEnabled"/>
-                       <channel id="timerStart" typeId="timerStart"/>
-                       <channel id="nightMode" typeId="nightMode"/>
-                       <channel id="startTime" typeId="startTime"/>
-                       <channel id="endTime" typeId="endTime"/>
-                       <channel id="nightModeBrightness" typeId="nightModeBrightness"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="Crockpot">
-               <label>Crock-Pot Slow Cooker</label>
-               <description>Crock-Pot Smart Slow Cooker with WeMo</description>
-
-               <channels>
-                       <channel id="cookMode" typeId="cookMode"/>
-                       <channel id="warmCookTime" typeId="warmCookTime"/>
-                       <channel id="lowCookTime" typeId="lowCookTime"/>
-                       <channel id="highCookTime" typeId="highCookTime"/>
-                       <channel id="cookedTime" typeId="cookedTime"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="Purifier">
-               <label>Holmes Air Purifier</label>
-               <description>Holmes Smart Air Purifier with WeMo</description>
-
-               <channels>
-                       <channel id="purifierMode" typeId="purifierMode"/>
-                       <channel id="airQuality" typeId="airQuality"/>
-                       <channel id="ionizer" typeId="ionizer"/>
-                       <channel id="filterLife" typeId="filterLife"/>
-                       <channel id="expiredFilterTime" typeId="expiredFilterTime"/>
-                       <channel id="filterPresent" typeId="filterPresent"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="Humidifier">
-               <label>Holmes Humidifier</label>
-               <description>Holmes Smart Humidifier with WeMo</description>
-
-               <channels>
-                       <channel id="humidifierMode" typeId="humidifierMode"/>
-                       <channel id="desiredHumidity" typeId="desiredHumidity"/>
-                       <channel id="currentHumidity" typeId="currentHumidity"/>
-                       <channel id="waterLEvel" typeId="waterLEvel"/>
-                       <channel id="filterLife" typeId="filterLife"/>
-                       <channel id="expiredFilterTime" typeId="expiredFilterTime"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <thing-type id="Heater">
-               <label>Holmes Heater</label>
-               <description>Holmes Smart Heater with WeMo</description>
-
-               <channels>
-                       <channel id="heaterMode" typeId="heaterMode"/>
-                       <channel id="currentTemperature" typeId="currentTemperature"/>
-                       <channel id="targetTemperature" typeId="targetTemperature"/>
-                       <channel id="autoOffTime" typeId="autoOffTime"/>
-                       <channel id="heatingRemaining" typeId="heatingRemaining"/>
-               </channels>
-
-               <representation-property>udn</representation-property>
-
-               <config-description-ref uri="thing-type:wemo:device"/>
-       </thing-type>
-
-       <channel-type id="state">
-               <item-type>Switch</item-type>
-               <label>Switch</label>
-               <description>Turns the power on or off</description>
-               <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="motionDetection">
-               <item-type>Switch</item-type>
-               <label>Motion Status</label>
-               <description>Indicates whether motion is detected or not</description>
-               <category>Switch</category>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="lastMotionDetected" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>Last Activity (Date/Time)</label>
-               <description>Date/time when last motion was detected</description>
-       </channel-type>
-
-       <channel-type id="lastChangedAt" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>Last Activity (Date/Time)</label>
-               <description>Date/time when the state last changed</description>
-       </channel-type>
-
-       <channel-type id="lastOnFor" advanced="true">
-               <item-type>Number</item-type>
-               <label>Last Activity (s)</label>
-               <description>Duration the device has been switched on for</description>
-               <state pattern="%.1f s"/>
-       </channel-type>
-
-       <channel-type id="onToday" advanced="true">
-               <item-type>Number</item-type>
-               <label>Today's Activity (s)</label>
-               <description>How long has the device been switched on today</description>
-               <state pattern="%.1f s"/>
-       </channel-type>
-
-       <channel-type id="onTotal" advanced="true">
-               <item-type>Number</item-type>
-               <label>Total Activity (s)</label>
-               <description>How long has the device been switched on totally</description>
-               <state pattern="%.1f s"/>
-       </channel-type>
-
-       <channel-type id="timespan" advanced="true">
-               <item-type>Number</item-type>
-               <label>Usage Timespan (s)</label>
-               <description>Time used to measure average usage</description>
-               <state pattern="%.1f s"/>
-       </channel-type>
-
-       <channel-type id="averagePower" advanced="true">
-               <item-type>Number:Power</item-type>
-               <label>Average Power</label>
-               <description>The average power consumption</description>
-               <category>Energy</category>
-               <state pattern="%.0f %unit%"/>
-       </channel-type>
-
-       <channel-type id="currentPower">
-               <item-type>Number:Power</item-type>
-               <label>Power</label>
-               <description>The current power consumption</description>
-               <category>Energy</category>
-               <state pattern="%.0f %unit%"/>
-       </channel-type>
-
-       <channel-type id="energyToday" advanced="true">
-               <item-type>Number:Energy</item-type>
-               <label>Energy Today</label>
-               <description>Todays power consumption</description>
-               <category>Energy</category>
-               <state pattern="%.0f %unit%"/>
-       </channel-type>
-
-       <channel-type id="energyTotal" advanced="true">
-               <item-type>Number:Energy</item-type>
-               <label>Energy Total</label>
-               <description>Total power consumption</description>
-               <category>Energy</category>
-               <state pattern="%.0f %unit%"/>
-       </channel-type>
-
-       <channel-type id="standByLimit" advanced="true">
-               <item-type>Number:Power</item-type>
-               <label>StandBy Limit</label>
-               <description>Minimum energy draw to register device as switched on</description>
-               <category>Energy</category>
-               <state pattern="%.0f %unit%"/>
-       </channel-type>
-
-       <channel-type id="onStandBy" advanced="true">
-               <item-type>Switch</item-type>
-               <label>On Standby</label>
-               <description>Appliance on standby</description>
-               <category>Energy</category>
-               <state readOnly="true"/>
-
-       </channel-type>
-
-       <!-- Brightness Channel -->
-       <channel-type id="brightness">
-               <item-type>Dimmer</item-type>
-               <label>Brightness</label>
-               <description>The brightness channel allows to control the brightness of a light.
-                       It is also possible to switch the
-                       light on and off.
-               </description>
-               <category>Light</category>
-       </channel-type>
-
-       <channel-type id="relay">
-               <item-type>Switch</item-type>
-               <label>Relay</label>
-               <description>Switches the integrated relay contact close/open</description>
-               <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="sensor">
-               <item-type>Switch</item-type>
-               <label>Sensor</label>
-               <description>Shows the state of the integrated sensor</description>
-               <category>Switch</category>
-       </channel-type>
-
-       <channel-type id="coffeeMode">
-               <item-type>String</item-type>
-               <label>Mode</label>
-               <description>Shows the operation mode of a WeMo Coffee Maker</description>
-               <state readOnly="true">
-                       <options>
-                               <option value="Refill">Not Ready: Refill Water and Replace Carafe</option>
-                               <option value="PlaceCarafe">Not Ready: Replace Carafe</option>
-                               <option value="RefillWater">Not Ready: Refill Water</option>
-                               <option value="Ready">Ready</option>
-                               <option value="Brewing">Brewing</option>
-                               <option value="Brewed">Brewing Finished</option>
-                               <option value="CleaningBrewing">Cleaning Coffee Maker</option>
-                               <option value="CleaningSoaking">Cleaning Filter</option>
-                               <option value="BrewFailCarafeRemoved">Brewing Failed: Carafe Removed</option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="modeTime">
-               <item-type>Number</item-type>
-               <label>ModeTime</label>
-               <description>Shows the current amount of time, in minutes, that the Coffee Maker has been in the current mode</description>
-       </channel-type>
-
-       <channel-type id="timeRemaining">
-               <item-type>Number</item-type>
-               <label>TimeRemaining</label>
-               <description>Shows the remaining brewing time of a WeMo Coffee Maker</description>
-       </channel-type>
-
-       <channel-type id="waterLevelReached" advanced="true">
-               <item-type>Switch</item-type>
-               <label>WaterLevelReached</label>
-               <description>Indicates if the WeMo Coffee Maker needs to be refilled</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="cleanAdvise" advanced="true">
-               <item-type>Switch</item-type>
-               <label>CleanAdvise</label>
-               <description>Indicates if a WeMo Coffee Maker needs to be cleaned</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="filterAdvise" advanced="true">
-               <item-type>Switch</item-type>
-               <label>FilterAdvise</label>
-               <description>Indicates if a WeMo Coffee Maker needs to have the filter changed</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="brewed" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>Brewed</label>
-               <description>Date/time the coffee maker last completed brewing coffee</description>
-       </channel-type>
-
-       <channel-type id="lastCleaned" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>LastCleaned</label>
-               <description>Date/time the coffee maker last completed cleaning</description>
-       </channel-type>
-
-       <channel-type id="faderCountDownTime" advanced="true">
-               <item-type>Number</item-type>
-               <label>Fader CountDown Time</label>
-               <description>The fading duration time in minutes</description>
-               <state min="1" max="30" step="1.0" pattern="%d min" readOnly="false"/>
-       </channel-type>
-
-       <channel-type id="faderEnabled" advanced="true">
-               <item-type>Switch</item-type>
-               <label>Fader OFF/ON</label>
-               <description>Allows to switch the fader ON/OFF</description>
-       </channel-type>
-
-       <channel-type id="timerStart" advanced="true">
-               <item-type>Switch</item-type>
-               <label>Timer OFF/ON</label>
-               <description>Allows to switch the timer ON/OFF</description>
-       </channel-type>
-
-       <channel-type id="nightMode" advanced="true">
-               <item-type>Switch</item-type>
-               <label>NightMode OFF/ON</label>
-               <description>Allows to switch the nightMode ON/OFF</description>
-       </channel-type>
-
-       <channel-type id="startTime" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>NightMode Start Time</label>
-               <description>Time when the Night Mode starts</description>
-               <state pattern="%1$tR" readOnly="true"/>
-       </channel-type>
-
-       <channel-type id="endTime" advanced="true">
-               <item-type>DateTime</item-type>
-               <label>NightMode End Time</label>
-               <description>Time when the Night Mode ends</description>
-               <state pattern="%1$tR" readOnly="true"/>
-       </channel-type>
-
-       <channel-type id="nightModeBrightness" advanced="true">
-               <item-type>Dimmer</item-type>
-               <label>Night Mode Brightness</label>
-               <description>Allows setting the brightness of Night Mode</description>
-       </channel-type>
-
-       <channel-type id="cookMode">
-               <item-type>String</item-type>
-               <label>Cooking Mode</label>
-               <description>Shows the operation mode of a WeMo CrockPot</description>
-               <state readOnly="false">
-                       <options>
-                               <option value="OFF">Not cooking</option>
-                               <option value="WARM">Warming</option>
-                               <option value="LOW">Low cooking</option>
-                               <option value="HIGH">High cooking</option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="warmCookTime">
-               <item-type>Number</item-type>
-               <label>WarmCookTime</label>
-               <description>Shows the timer settings for warm cooking mode</description>
-       </channel-type>
-
-       <channel-type id="lowCookTime">
-               <item-type>Number</item-type>
-               <label>LowCookTime</label>
-               <description>Shows the timer settings for low cooking mode</description>
-       </channel-type>
-
-       <channel-type id="highCookTime">
-               <item-type>Number</item-type>
-               <label>HighCookTime</label>
-               <description>Shows the timer settings for high cooking mode</description>
-       </channel-type>
-
-       <channel-type id="cookedTime">
-               <item-type>Number</item-type>
-               <label>CookedTime</label>
-               <description>Shows the elapsed cooking time</description>
-       </channel-type>
-
-       <channel-type id="purifierMode">
-               <item-type>String</item-type>
-               <label>Operation Mode</label>
-               <description>Shows the operation mode of a WeMo enabled Holmes Air Purifier</description>
-               <state readOnly="false">
-                       <options>
-                               <option value="OFF">Not Running</option>
-                               <option value="LOW">Running at low level</option>
-                               <option value="MED">Running at medium level</option>
-                               <option value="HIGH">Running at high level</option>
-                               <option value="AUTO">Running in auto mode</option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="airQiality">
-               <item-type>String</item-type>
-               <label>Air Quality</label>
-               <description>Shows the air quality measured by a WeMo enabled Holmes Air Purifier</description>
-               <state readOnly="true">
-                       <options>
-                               <option value="POOR"></option>
-                               <option value="MODERATE"></option>
-                               <option value="GOOD"></option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="ionizer">
-               <item-type>Switch</item-type>
-               <label>Ionizer</label>
-               <description>Switches ionization ON or OFF</description>
-       </channel-type>
-
-       <channel-type id="filterLife">
-               <item-type>Number</item-type>
-               <label>Filter Life</label>
-               <description>Shows the remaining lifetime percentage of the air filter</description>
-       </channel-type>
-
-       <channel-type id="filterExpired">
-               <item-type>Switch</item-type>
-               <label>Filter Time expired</label>
-               <description>Indicates whether the air Filter needs to be replaced</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="filterPresent">
-               <item-type>Switch</item-type>
-               <label>Filter is present</label>
-               <description>Indicates whether the air Filter is present</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-       <channel-type id="humidifierMode">
-               <item-type>String</item-type>
-               <label>Operation Mode</label>
-               <description>Shows the operation mode of a WeMo enabled Holmes Humidifier</description>
-               <state readOnly="false">
-                       <options>
-                               <option value="OFF">Not Running</option>
-                               <option value="MIN">Running at min level</option>
-                               <option value="LOW">Running at low level</option>
-                               <option value="MED">Running at medium level</option>
-                               <option value="HIGH">Running at high level</option>
-                               <option value="MAX">Running in max level</option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="currentHumidity">
-               <item-type>Number</item-type>
-               <label>Current Humidity</label>
-               <description>Shows the current humidity of a WeMo enabled Holmes Humidifier</description>
-       </channel-type>
-
-       <channel-type id="desiredHumidity">
-               <item-type>Number</item-type>
-               <label>Target Humidity</label>
-               <description>Shows the target humidity of a WeMo enabled Holmes Humidifier</description>
-               <state readOnly="false">
-                       <options>
-                               <option value="45"></option>
-                               <option value="50"></option>
-                               <option value="55"></option>
-                               <option value="60"></option>
-                               <option value="100"></option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="waterLevel">
-               <item-type>String</item-type>
-               <label>Water Level</label>
-               <description>Shows the water levele of a WeMo enabled Holmes Humidifier</description>
-               <state readOnly="true">
-                       <options>
-                               <option value="EMPTY"></option>
-                               <option value="LOW"></option>
-                               <option value="GOOD"></option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="heaterMode">
-               <item-type>String</item-type>
-               <label>Operation Mode</label>
-               <description>Shows the operation mode of a WeMo enabled Heater</description>
-               <state readOnly="false">
-                       <options>
-                               <option value="OFF">Not Running</option>
-                               <option value="FROSTPROTECT">Running at FrostProtect</option>
-                               <option value="HIGH">Running at high level</option>
-                               <option value="LOW">Running at low level</option>
-                               <option value="ECO">Running in Eco mode</option>
-                       </options>
-               </state>
-       </channel-type>
-
-       <channel-type id="currentTemperature">
-               <item-type>Number</item-type>
-               <label>Current Temperature</label>
-               <description>Shows the current temperature measured by a WeMo enabled Heater</description>
-       </channel-type>
-
-       <channel-type id="targetTemperature">
-               <item-type>Number</item-type>
-               <label>Target Temperature</label>
-               <description>Shows the target temperature for a WeMo enabled Heater</description>
-       </channel-type>
-
-       <channel-type id="autoOffTime">
-               <item-type>DateTime</item-type>
-               <label>Auto OFF Time</label>
-               <description>Time when a WeMo enabled Heater should switch off</description>
-               <state pattern="%1$tR" readOnly="false"/>
-       </channel-type>
-
-       <channel-type id="heatingRemaining">
-               <item-type>Number</item-type>
-               <label>Remaining heating time</label>
-               <description>Shows the target temperature for a WeMo enabled Heater</description>
-               <state readOnly="true"></state>
-       </channel-type>
-
-</thing:thing-descriptions>