[mielecloud] Initial contribution of the Miele Cloud binding (#9146)

Also-by: Bert Plonus <bert.plonus@miele.com>
Also-by: Martin Lepsy <martin.lepsy@miele.com>
Also-by: Benjamin Bolte <benjamin.bolte@itemis.de>
Signed-off-by: Björn Lange <bjoern.lange@itemis.de>
This commit is contained in:
Björn Lange
2021-05-25 22:06:49 +02:00
committed by GitHub
parent 5ec535f37b
commit 705f5c577c
230 changed files with 61858 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<binding:binding id="mielecloud" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:binding="https://openhab.org/schemas/binding/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd">
<name>@text/binding.mielecloud.name</name>
<description>@text/binding.mielecloud.description</description>
</binding:binding>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<config-description:config-descriptions
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0">
<config-description uri="thing-type:mielecloud:device">
<parameter name="deviceIdentifier" type="text" required="true">
<label>@text/thing-type.config.mielecloud.device.deviceIdentifier.label</label>
<description>@text/thing-type.config.mielecloud.device.deviceIdentifier.description</description>
</parameter>
</config-description>
</config-description:config-descriptions>

View File

@@ -0,0 +1,253 @@
# Binding related texts
binding.mielecloud.name=Miele@home Cloud Binding
binding.mielecloud.description=This is the cloud-based Miele@home binding.
# Thing related texts
thing-type.mielecloud.account.label=Miele@home Account
thing-type.mielecloud.account.description=The Miele@home Account is used to access linked Miele Conn@ct smart home devices.
thing-type.config.mielecloud.account.locale.label=E-mail
thing-type.config.mielecloud.account.locale.description=E-mail address associated with the Miele Cloud account.
thing-type.config.mielecloud.account.locale.label=Locale
thing-type.config.mielecloud.account.locale.description=Locale to be used for API calls.
thing-type.config.mielecloud.device.deviceIdentifier.label=Device identifier
thing-type.config.mielecloud.device.deviceIdentifier.description=Technical device identifier used to identify the Miele device.
thing-type.mielecloud.coffee_system.label=Coffee System
thing-type.mielecloud.coffee_system.description=The generic thing type for all Miele coffee systems.
thing-type.mielecloud.dishwasher.label=Dishwasher
thing-type.mielecloud.dishwasher.description=The generic thing type for all Miele dish washing devices.
thing-type.mielecloud.dish_warmer.label=Dish Warmer
thing-type.mielecloud.dish_warmer.description=The generic thing type for all Miele dish warmer devices.
thing-type.mielecloud.dryer.label=Tumble Dryer
thing-type.mielecloud.dryer.description=The generic thing type for all Miele drying devices.
thing-type.mielecloud.freezer.label=Freezer
thing-type.mielecloud.freezer.description=The generic thing type for all Miele freezer devices.
thing-type.mielecloud.fridge.label=Fridge
thing-type.mielecloud.fridge.description=The generic thing type for all Miele fridge devices.
thing-type.mielecloud.fridge_freezer.label=Fridge Freezer
thing-type.mielecloud.fridge_freezer.description=The generic thing type for all Miele fridge freezer devices.
thing-type.mielecloud.hob.label=Hob
thing-type.mielecloud.hob.description=The generic thing type for all Miele hob devices.
thing-type.mielecloud.hood.label=Hood
thing-type.mielecloud.hood.description=The generic thing type for all Miele hood devices.
thing-type.mielecloud.oven.label=Oven
thing-type.mielecloud.oven.description=The generic thing type for all Miele oven devices. Includes also Steam Ovens and Dialog Oven.
thing-type.mielecloud.robotic_vacuum_cleaner.label=Robotic Vacuum Cleaner
thing-type.mielecloud.robotic_vacuum_cleaner.description=The generic thing type for all Miele robotic vacuum cleaner devices.
thing-type.mielecloud.washer_dryer.label=Washer Dryer
thing-type.mielecloud.washer_dryer.description=The generic thing type for all Miele washer dryer devices.
thing-type.mielecloud.washing_machine.label=Washing Machine
thing-type.mielecloud.washing_machine.description=The generic thing type for all Miele washing devices.
thing-type.mielecloud.wine_storage.label=Wine Storage
thing-type.mielecloud.wine_storage.description=The generic thing type for all Miele wine storage devices.
# Channel related texts
channel-type.mielecloud.remote_control_can_be_started.label=Can Be Started
channel-type.mielecloud.remote_control_can_be_started.description=Indicates if this device can be started remotely.
channel-type.mielecloud.remote_control_can_be_stopped.label=Can Be Stopped
channel-type.mielecloud.remote_control_can_be_stopped.description=Indicates if this device can be stopped remotely.
channel-type.mielecloud.remote_control_can_be_paused.label=Can Be Paused
channel-type.mielecloud.remote_control_can_be_paused.description=Indicates if this device can be paused remotely.
channel-type.mielecloud.remote_control_can_be_switched_on.label=Can Be Switched On
channel-type.mielecloud.remote_control_can_be_switched_on.description=Indicates if the device can be switched on remotely.
channel-type.mielecloud.remote_control_can_be_switched_off.label=Can Be Switched Off
channel-type.mielecloud.remote_control_can_be_switched_off.description=Indicates if the device can be switched off remotely.
channel-type.mielecloud.remote_control_can_set_program_active.label=Can Set Active Program
channel-type.mielecloud.remote_control_can_set_program_active.description=Indicates if the active program of the device can be set remotely.
channel-type.mielecloud.spinning_speed.label=Spinning Speed
channel-type.mielecloud.spinning_speed.description=The spinning speed of the active program.
channel-type.mielecloud.spinning_speed_raw.label=Raw Spinning Speed
channel-type.mielecloud.spinning_speed_raw.description=The raw spinning speed of the active program.
channel-type.mielecloud.program_active.label=Active Program
channel-type.mielecloud.program_active.description=The active program of the device.
channel-type.mielecloud.program_active_raw.label=Raw Active Program
channel-type.mielecloud.program_active_raw.description=The raw active program of the device.
channel-type.mielecloud.dish_warmer_program_active.label=Active Program
channel-type.mielecloud.dish_warmer_program_active.description=The active program of the device.
channel-option.mielecloud.dish_warmer_program_active.warming_cups_glasses=Warming cups/glasses
channel-option.mielecloud.dish_warmer_program_active.warming_dishes_plates=Warming dishes/plates
channel-option.mielecloud.dish_warmer_program_active.keeping_food_warm=Keeping food warm
channel-option.mielecloud.dish_warmer_program_active.low_temperature_cooking=Low temperature cooking
channel-type.mielecloud.vacuum_cleaner_program_active.label=Active Program
channel-type.mielecloud.vacuum_cleaner_program_active.description=The active program of the device.
channel-option.mielecloud.vacuum_cleaner_program_active.auto=Auto
channel-option.mielecloud.vacuum_cleaner_program_active.spot=Spot
channel-option.mielecloud.vacuum_cleaner_program_active.turbo=Turbo
channel-option.mielecloud.vacuum_cleaner_program_active.silent=Silent
channel-type.mielecloud.program_phase.label=Program Phase
channel-type.mielecloud.program_phase.description=The phase of the active program.
channel-type.mielecloud.program_phase_raw.label=Raw Program Phase
channel-type.mielecloud.program_phase_raw.description=The raw phase of the active program.
channel-type.mielecloud.operation_state.label=Operation State
channel-type.mielecloud.operation_state.description=The operation state of the device.
channel-type.mielecloud.operation_state_raw.label=Raw Operation State
channel-type.mielecloud.operation_state_raw.description=The raw operation state of the device.
channel-type.mielecloud.program_start.label=Start
channel-type.mielecloud.program_start.description=Starts the currently selected program.
channel-type.mielecloud.program_stop.label=Stop
channel-type.mielecloud.program_stop.description=Stops the currently selected program.
channel-type.mielecloud.program_start_stop.label=Start Stop
channel-type.mielecloud.program_start_stop.description=Starts or stops the currently selected program.
channel-option.mielecloud.program_start_stop.start=Start
channel-option.mielecloud.program_start_stop.stop=Stop
channel-type.mielecloud.program_start_stop_pause.label=Start Stop Pause
channel-type.mielecloud.program_start_stop_pause.description=Starts, stops or pauses the currently selected program.
channel-option.mielecloud.program_start_stop_pause.start=Start
channel-option.mielecloud.program_start_stop_pause.stop=Stop
channel-option.mielecloud.program_start_stop_pause.pause=Pause
channel-type.mielecloud.power_state_on_off.label=Power
channel-type.mielecloud.power_state_on_off.description=Switches the device On or Off.
channel-option.mielecloud.power_state_on_off.on=On
channel-option.mielecloud.power_state_on_off.off=Off
channel-type.mielecloud.finish_state.label=Finished
channel-type.mielecloud.finish_state.description=Indicates whether the most recent program finished.
channel-type.mielecloud.delayed_start_time.label=Delayed Start Time
channel-type.mielecloud.delayed_start_time.description=The delayed start time of the selected program.
channel-type.mielecloud.program_remaining_time.label=Program Remaining Time
channel-type.mielecloud.program_remaining_time.description=The remaining time of the active program.
channel-type.mielecloud.program_elapsed_time.label=Program Elapsed Time
channel-type.mielecloud.program_elapsed_time.description=The elapsed time of the active program.
channel-type.mielecloud.program_progress.label=Program Progress
channel-type.mielecloud.program_progress.description=The progress of the active program.
channel-type.mielecloud.drying_target.label=Drying Target
channel-type.mielecloud.drying_target.description=The target drying step of the laundry.
channel-type.mielecloud.drying_target_raw.label=Raw Drying Target
channel-type.mielecloud.drying_target_raw.description=The raw target drying step of the laundry.
channel-type.mielecloud.pre_heat_finished.label=Pre-heat Finished
channel-type.mielecloud.pre_heat_finished.description=Indicates whether the pre-heating finished.
channel-type.mielecloud.temperature_target.label=Target Temperature
channel-type.mielecloud.temperature_target.description=The target temperature of the device.
channel-type.mielecloud.temperature_current.label=Current Temperature
channel-type.mielecloud.temperature_current.description=The currently measured temperature of the device.
channel-type.mielecloud.ventilation_power.label=Ventilation Power
channel-type.mielecloud.ventilation_power.description=The current ventilation power of the hood.
channel-type.mielecloud.ventilation_power_raw.label=Raw Ventilation Power
channel-type.mielecloud.ventilation_power_raw.description=The current raw ventilation power of the hood.
channel-type.mielecloud.error_state.label=Error
channel-type.mielecloud.error_state.description=Indication flag which signals an error state for the device.
channel-type.mielecloud.info_state.label=Info
channel-type.mielecloud.info_state.description=Indication flag which signals an information of the device.
channel-type.mielecloud.fridge_super_cool.label=Supercool
channel-type.mielecloud.fridge_super_cool.description=Start the super cooling mode of the fridge.
channel-type.mielecloud.freezer_super_freeze.label=Superfreeze
channel-type.mielecloud.freezer_super_freeze.description=Start the super freezing mode of the freezer.
channel-type.mielecloud.super_cool_can_be_controlled.label=Can Control Supercool
channel-type.mielecloud.super_cool_can_be_controlled.description=Indicates if super cooling can be toggled.
channel-type.mielecloud.super_freeze_can_be_controlled.label=Can Control Superfreeze
channel-type.mielecloud.super_freeze_can_be_controlled.description=Indicates if super freezing can be toggled
channel-type.mielecloud.fridge_temperature_target.label=Fridge Target Temperature
channel-type.mielecloud.fridge_temperature_target.description=The target temperature of the fridge.
channel-type.mielecloud.fridge_temperature_current.label=Current Fridge Temperature
channel-type.mielecloud.fridge_temperature_current.description=The currently measured temperature of the fridge.
channel-type.mielecloud.freezer_temperature_target.label=Freezer Target Temperature
channel-type.mielecloud.freezer_temperature_target.description=The target temperature of the freezer.
channel-type.mielecloud.freezer_temperature_current.label=Current Freezer Temperature
channel-type.mielecloud.freezer_temperature_current.description=The currently measured temperature of the freezer.
channel-type.mielecloud.top_temperature_target.label=Top Target Temperature
channel-type.mielecloud.top_temperature_target.description=The target temperature of the top area.
channel-type.mielecloud.top_temperature_current.label=Current Top Temperature
channel-type.mielecloud.top_temperature_current.description=The currently measured temperature of the top area.
channel-type.mielecloud.middle_temperature_target.label=Middle Target Temperature
channel-type.mielecloud.middle_temperature_target.description=The target temperature of the middle area.
channel-type.mielecloud.middle_temperature_current.label=Current Middle Temperature
channel-type.mielecloud.middle_temperature_current.description=The currently measured temperature of the middle area.
channel-type.mielecloud.bottom_temperature_target.label=Bottom Target Temperature
channel-type.mielecloud.bottom_temperature_target.description=The target temperature of the bottom area.
channel-type.mielecloud.bottom_temperature_current.label=Current Bottom Temperature
channel-type.mielecloud.bottom_temperature_current.description=The currently measured temperature of the bottom area.
channel-type.mielecloud.light_switch.label=Light Enabled
channel-type.mielecloud.light_switch.description=Indicates if the light of the device is enabled.
channel-type.mielecloud.light_can_be_controlled.label=Can Control Light
channel-type.mielecloud.light_can_be_controlled.description=Indicates if the light of the device can be controlled.
channel-type.mielecloud.plate_power_step.label=Plate Power Step
channel-type.mielecloud.plate_power_step.description=The power level of the heating plate.
channel-type.mielecloud.plate_power_step_raw.label=Raw Plate Power Step
channel-type.mielecloud.plate_power_step_raw.description=The raw power level of the heating plate.
channel-type.mielecloud.door_state.label=Door Signal
channel-type.mielecloud.door_state.description=Indicates if the door of the device is open.
channel-type.mielecloud.door_alarm.label=Door Alarm
channel-type.mielecloud.door_alarm.description=Indicates if the door alarm of the device is active.
channel-type.mielecloud.battery_level.label=Battery Level
channel-type.mielecloud.battery_level.description=The battery level of the robotic vacuum cleaner.
# Error message texts
mielecloud.bridge.status.access.token.not.configured=The OAuth2 access token is not configured.
mielecloud.bridge.status.account.not.authorized=The account has not been authorized. Please consult the documentation on how to do that.
mielecloud.bridge.status.access.token.refresh.failed=Failed to refresh the OAuth2 access token. Please authorize the account again.
mielecloud.bridge.status.invalid.email=The configured e-mail address has an invalid format.
mielecloud.bridge.status.transient.http.error=An unexpected HTTP error occurred. Check the logs if this error persists.
mielecloud.thing.status.webservice.missing=The Miele webservice cannot be accessed over the bridge. Check the bridge configuration.
mielecloud.thing.status.removed=This Miele device has been removed from the Miele@home account.
mielecloud.thing.status.ratelimit=The rate limit of the Miele cloud has been exceeded.
mielecloud.thing.status.disconnected=This Miele device is not connected to the internet.

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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">
<!-- Miele Cloud Connector Bridge -->
<bridge-type id="account">
<label>@text/thing-type.mielecloud.account.label</label>
<description>@text/thing-type.mielecloud.account.description</description>
<category>WebService</category>
<properties>
<property name="vendor">Miele</property>
<property name="modelId">Cloud Connector</property>
<property name="connection">INTERNET</property>
<!-- accessToken property is set on creation. -->
</properties>
<config-description>
<parameter name="email" type="text" required="true">
<context>email</context>
<label>@text/thing-type.config.mielecloud.account.email.label</label>
<description>@text/thing-type.config.mielecloud.account.email.description</description>
</parameter>
<parameter name="locale" type="text">
<label>@text/thing-type.config.mielecloud.account.locale.label</label>
<description>@text/thing-type.config.mielecloud.account.locale.description</description>
</parameter>
</config-description>
</bridge-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,448 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="remote_control_can_be_started">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_be_started.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_be_started.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="remote_control_can_be_stopped">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_be_stopped.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_be_stopped.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="remote_control_can_be_paused">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_be_paused.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_be_paused.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="remote_control_can_be_switched_on">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_be_switched_on.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_be_switched_on.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="remote_control_can_be_switched_off">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_be_switched_off.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_be_switched_off.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="remote_control_can_set_program_active">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.remote_control_can_set_program_active.label</label>
<description>@text/channel-type.mielecloud.remote_control_can_set_program_active.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="spinning_speed">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.spinning_speed.label</label>
<description>@text/channel-type.mielecloud.spinning_speed.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="spinning_speed_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.spinning_speed_raw.label</label>
<description>@text/channel-type.mielecloud.spinning_speed_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="program_active">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.program_active.label</label>
<description>@text/channel-type.mielecloud.program_active.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="program_active_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.program_active_raw.label</label>
<description>@text/channel-type.mielecloud.program_active_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="dish_warmer_program_active">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.dish_warmer_program_active.label</label>
<description>@text/channel-type.mielecloud.dish_warmer_program_active.description</description>
<state>
<options>
<option value="1">@text/channel-option.mielecloud.dish_warmer_program_active.warming_cups_glasses</option>
<option value="2">@text/channel-option.mielecloud.dish_warmer_program_active.warming_dishes_plates</option>
<option value="3">@text/channel-option.mielecloud.dish_warmer_program_active.keeping_food_warm</option>
<option value="4">@text/channel-option.mielecloud.dish_warmer_program_active.low_temperature_cooking</option>
</options>
</state>
</channel-type>
<channel-type id="vacuum_cleaner_program_active">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.vacuum_cleaner_program_active.label</label>
<description>@text/channel-type.mielecloud.vacuum_cleaner_program_active.description</description>
<state>
<options>
<option value="1">@text/channel-option.mielecloud.vacuum_cleaner_program_active.auto</option>
<option value="2">@text/channel-option.mielecloud.vacuum_cleaner_program_active.spot</option>
<option value="3">@text/channel-option.mielecloud.vacuum_cleaner_program_active.turbo</option>
<option value="4">@text/channel-option.mielecloud.vacuum_cleaner_program_active.silent</option>
</options>
</state>
</channel-type>
<channel-type id="program_phase">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.program_phase.label</label>
<description>@text/channel-type.mielecloud.program_phase.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="program_phase_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.program_phase_raw.label</label>
<description>@text/channel-type.mielecloud.program_phase_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="operation_state">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.operation_state.label</label>
<description>@text/channel-type.mielecloud.operation_state.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="operation_state_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.operation_state_raw.label</label>
<description>@text/channel-type.mielecloud.operation_state_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="program_start">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.program_start.label</label>
<description>@text/channel-type.mielecloud.program_start.description</description>
</channel-type>
<channel-type id="program_stop">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.program_stop.label</label>
<description>@text/channel-type.mielecloud.program_stop.description</description>
</channel-type>
<channel-type id="program_start_stop">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.program_start_stop.label</label>
<description>@text/channel-type.mielecloud.program_start_stop.description</description>
<state>
<options>
<option value="start">@text/channel-option.mielecloud.program_start_stop.start</option>
<option value="stop">@text/channel-option.mielecloud.program_start_stop.stop</option>
</options>
</state>
</channel-type>
<channel-type id="program_start_stop_pause">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.program_start_stop_pause.label</label>
<description>@text/channel-type.mielecloud.program_start_stop_pause.description</description>
<state>
<options>
<option value="start">@text/channel-option.mielecloud.program_start_stop_pause.start</option>
<option value="stop">@text/channel-option.mielecloud.program_start_stop_pause.stop</option>
<option value="pause">@text/channel-option.mielecloud.program_start_stop_pause.pause</option>
</options>
</state>
</channel-type>
<channel-type id="power_state_on_off">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.power_state_on_off.label</label>
<description>@text/channel-type.mielecloud.power_state_on_off.description</description>
<state>
<options>
<option value="on">@text/channel-option.mielecloud.power_state_on_off.on</option>
<option value="off">@text/channel-option.mielecloud.power_state_on_off.off</option>
</options>
</state>
</channel-type>
<channel-type id="finish_state">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.finish_state.label</label>
<description>@text/channel-type.mielecloud.finish_state.description</description>
<category>Alarm</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="delayed_start_time">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.delayed_start_time.label</label>
<description>@text/channel-type.mielecloud.delayed_start_time.description</description>
<category>Number</category>
<state pattern="%d sec" readOnly="true"/>
</channel-type>
<channel-type id="program_remaining_time">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.program_remaining_time.label</label>
<description>@text/channel-type.mielecloud.program_remaining_time.description</description>
<category>Number</category>
<state pattern="%d sec" readOnly="true"/>
</channel-type>
<channel-type id="program_elapsed_time">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.program_elapsed_time.label</label>
<description>@text/channel-type.mielecloud.program_elapsed_time.description</description>
<category>Number</category>
<state pattern="%d sec" readOnly="true"/>
</channel-type>
<channel-type id="program_progress">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.program_progress.label</label>
<description>@text/channel-type.mielecloud.program_progress.description</description>
<category>Number</category>
<state min="0" max="100" step="1" pattern="%d %%" readOnly="true"/>
</channel-type>
<channel-type id="drying_target">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.drying_target.label</label>
<description>@text/channel-type.mielecloud.drying_target.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="drying_target_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.drying_target_raw.label</label>
<description>@text/channel-type.mielecloud.drying_target_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="pre_heat_finished">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.pre_heat_finished.label</label>
<description>@text/channel-type.mielecloud.pre_heat_finished.description</description>
<category>Alarm</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.temperature_target.label</label>
<description>@text/channel-type.mielecloud.temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.temperature_current.label</label>
<description>@text/channel-type.mielecloud.temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="ventilation_power">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.ventilation_power.label</label>
<description>@text/channel-type.mielecloud.ventilation_power.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="ventilation_power_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.ventilation_power_raw.label</label>
<description>@text/channel-type.mielecloud.ventilation_power_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="error_state">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.error_state.label</label>
<description>@text/channel-type.mielecloud.error_state.description</description>
<category>Alarm</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="info_state">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.info_state.label</label>
<description>@text/channel-type.mielecloud.info_state.description</description>
<category>Alarm</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="fridge_super_cool">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.fridge_super_cool.label</label>
<description>@text/channel-type.mielecloud.fridge_super_cool.description</description>
<category>Switch</category>
</channel-type>
<channel-type id="freezer_super_freeze">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.freezer_super_freeze.label</label>
<description>@text/channel-type.mielecloud.freezer_super_freeze.description</description>
<category>Switch</category>
</channel-type>
<channel-type id="super_cool_can_be_controlled">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.super_cool_can_be_controlled.label</label>
<description>@text/channel-type.mielecloud.super_cool_can_be_controlled.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="super_freeze_can_be_controlled">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.super_freeze_can_be_controlled.label</label>
<description>@text/channel-type.mielecloud.super_freeze_can_be_controlled.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="fridge_temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.fridge_temperature_target.label</label>
<description>@text/channel-type.mielecloud.fridge_temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="fridge_temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.fridge_temperature_current.label</label>
<description>@text/channel-type.mielecloud.fridge_temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="freezer_temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.freezer_temperature_target.label</label>
<description>@text/channel-type.mielecloud.freezer_temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="freezer_temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.freezer_temperature_current.label</label>
<description>@text/channel-type.mielecloud.freezer_temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="top_temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.top_temperature_target.label</label>
<description>@text/channel-type.mielecloud.top_temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="top_temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.top_temperature_current.label</label>
<description>@text/channel-type.mielecloud.top_temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="middle_temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.middle_temperature_target.label</label>
<description>@text/channel-type.mielecloud.middle_temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="middle_temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.middle_temperature_current.label</label>
<description>@text/channel-type.mielecloud.middle_temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="bottom_temperature_target">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.bottom_temperature_target.label</label>
<description>@text/channel-type.mielecloud.bottom_temperature_target.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="bottom_temperature_current">
<item-type>Number:Temperature</item-type>
<label>@text/channel-type.mielecloud.bottom_temperature_current.label</label>
<description>@text/channel-type.mielecloud.bottom_temperature_current.description</description>
<category>Number:Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="light_switch">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.light_switch.label</label>
<description>@text/channel-type.mielecloud.light_switch.description</description>
<category>Switch</category>
</channel-type>
<channel-type id="light_can_be_controlled">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.light_can_be_controlled.label</label>
<description>@text/channel-type.mielecloud.light_can_be_controlled.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="plate_power_step">
<item-type>String</item-type>
<label>@text/channel-type.mielecloud.plate_power_step.label</label>
<description>@text/channel-type.mielecloud.plate_power_step.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="plate_power_step_raw">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.plate_power_step_raw.label</label>
<description>@text/channel-type.mielecloud.plate_power_step_raw.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="door_state">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.door_state.label</label>
<description>@text/channel-type.mielecloud.door_state.description</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="door_alarm">
<item-type>Switch</item-type>
<label>@text/channel-type.mielecloud.door_alarm.label</label>
<description>@text/channel-type.mielecloud.door_alarm.description</description>
<category>Alarm</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="battery_level">
<item-type>Number</item-type>
<label>@text/channel-type.mielecloud.battery_level.label</label>
<description>@text/channel-type.mielecloud.battery_level.description</description>
<category>Battery</category>
<state readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="coffee_system">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.coffee_system.label</label>
<description>@text/thing-type.mielecloud.coffee_system.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="dish_warmer">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.dish_warmer.label</label>
<description>@text/thing-type.mielecloud.dish_warmer.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="dish_warmer_program_active" typeId="dish_warmer_program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="temperature_target" typeId="temperature_target"/>
<channel id="temperature_current" typeId="temperature_current"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="dishwasher">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.dishwasher.label</label>
<description>@text/thing-type.mielecloud.dishwasher.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="program_start_stop" typeId="program_start_stop"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="delayed_start_time" typeId="delayed_start_time"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="dryer">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.dryer.label</label>
<description>@text/thing-type.mielecloud.dryer.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="program_start_stop" typeId="program_start_stop"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="delayed_start_time" typeId="delayed_start_time"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="drying_target" typeId="drying_target"/>
<channel id="drying_target_raw" typeId="drying_target_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="freezer">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.freezer.label</label>
<description>@text/thing-type.mielecloud.freezer.description</description>
<category>WhiteGood</category>
<channels>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="freezer_super_freeze" typeId="freezer_super_freeze"/>
<channel id="super_freeze_can_be_controlled" typeId="super_freeze_can_be_controlled"/>
<channel id="freezer_temperature_target" typeId="freezer_temperature_target"/>
<channel id="freezer_temperature_current" typeId="freezer_temperature_current"/>
<channel id="door_state" typeId="door_state"/>
<channel id="door_alarm" typeId="door_alarm"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="fridge">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.fridge.label</label>
<description>@text/thing-type.mielecloud.fridge.description</description>
<category>WhiteGood</category>
<channels>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="fridge_super_cool" typeId="fridge_super_cool"/>
<channel id="super_cool_can_be_controlled" typeId="super_cool_can_be_controlled"/>
<channel id="fridge_temperature_target" typeId="fridge_temperature_target"/>
<channel id="fridge_temperature_current" typeId="fridge_temperature_current"/>
<channel id="door_state" typeId="door_state"/>
<channel id="door_alarm" typeId="door_alarm"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="fridge_freezer">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.fridge_freezer.label</label>
<description>@text/thing-type.mielecloud.fridge_freezer.description</description>
<category>WhiteGood</category>
<channels>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="fridge_super_cool" typeId="fridge_super_cool"/>
<channel id="freezer_super_freeze" typeId="freezer_super_freeze"/>
<channel id="super_cool_can_be_controlled" typeId="super_cool_can_be_controlled"/>
<channel id="super_freeze_can_be_controlled" typeId="super_freeze_can_be_controlled"/>
<channel id="fridge_temperature_target" typeId="fridge_temperature_target"/>
<channel id="fridge_temperature_current" typeId="fridge_temperature_current"/>
<channel id="freezer_temperature_target" typeId="freezer_temperature_target"/>
<channel id="freezer_temperature_current" typeId="freezer_temperature_current"/>
<channel id="door_state" typeId="door_state"/>
<channel id="door_alarm" typeId="door_alarm"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="hob">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.hob.label</label>
<description>@text/thing-type.mielecloud.hob.description</description>
<category>WhiteGood</category>
<channels>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="plate_1_power_step" typeId="plate_power_step"/>
<channel id="plate_1_power_step_raw" typeId="plate_power_step_raw"/>
<channel id="plate_2_power_step" typeId="plate_power_step"/>
<channel id="plate_2_power_step_raw" typeId="plate_power_step_raw"/>
<channel id="plate_3_power_step" typeId="plate_power_step"/>
<channel id="plate_3_power_step_raw" typeId="plate_power_step_raw"/>
<channel id="plate_4_power_step" typeId="plate_power_step"/>
<channel id="plate_4_power_step_raw" typeId="plate_power_step_raw"/>
<channel id="plate_5_power_step" typeId="plate_power_step"/>
<channel id="plate_5_power_step_raw" typeId="plate_power_step_raw"/>
<channel id="plate_6_power_step" typeId="plate_power_step"/>
<channel id="plate_6_power_step_raw" typeId="plate_power_step_raw"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="hood">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.hood.label</label>
<description>@text/thing-type.mielecloud.hood.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="ventilation_power" typeId="ventilation_power"/>
<channel id="ventilation_power_raw" typeId="ventilation_power_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="oven">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.oven.label</label>
<description>@text/thing-type.mielecloud.oven.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="program_start_stop" typeId="program_start_stop"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="delayed_start_time" typeId="delayed_start_time"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="pre_heat_finished" typeId="pre_heat_finished"/>
<channel id="temperature_target" typeId="temperature_target"/>
<channel id="temperature_current" typeId="temperature_current"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="robotic_vacuum_cleaner">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.robotic_vacuum_cleaner.label</label>
<description>@text/thing-type.mielecloud.robotic_vacuum_cleaner.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_paused" typeId="remote_control_can_be_paused"/>
<channel id="remote_control_can_set_program_active" typeId="remote_control_can_set_program_active"/>
<channel id="vacuum_cleaner_program_active" typeId="vacuum_cleaner_program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="program_start_stop_pause" typeId="program_start_stop_pause"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="battery_level" typeId="battery_level"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="washer_dryer">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.washer_dryer.label</label>
<description>@text/thing-type.mielecloud.washer_dryer.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="spinning_speed" typeId="spinning_speed"/>
<channel id="spinning_speed_raw" typeId="spinning_speed_raw"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="program_start_stop" typeId="program_start_stop"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="delayed_start_time" typeId="delayed_start_time"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="drying_target" typeId="drying_target"/>
<channel id="drying_target_raw" typeId="drying_target_raw"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="temperature_target" typeId="temperature_target"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="washing_machine">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.washing_machine.label</label>
<description>@text/thing-type.mielecloud.washing_machine.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="spinning_speed" typeId="spinning_speed"/>
<channel id="spinning_speed_raw" typeId="spinning_speed_raw"/>
<channel id="program_active" typeId="program_active"/>
<channel id="program_active_raw" typeId="program_active_raw"/>
<channel id="program_phase" typeId="program_phase"/>
<channel id="program_phase_raw" typeId="program_phase_raw"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="program_start_stop" typeId="program_start_stop"/>
<channel id="finish_state" typeId="finish_state"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="delayed_start_time" typeId="delayed_start_time"/>
<channel id="program_remaining_time" typeId="program_remaining_time"/>
<channel id="program_elapsed_time" typeId="program_elapsed_time"/>
<channel id="program_progress" typeId="program_progress"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="temperature_target" typeId="temperature_target"/>
<channel id="light_switch" typeId="light_switch"/>
<channel id="light_can_be_controlled" typeId="light_can_be_controlled"/>
<channel id="door_state" typeId="door_state"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mielecloud"
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="wine_storage">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>@text/thing-type.mielecloud.wine_storage.label</label>
<description>@text/thing-type.mielecloud.wine_storage.description</description>
<category>WhiteGood</category>
<channels>
<channel id="remote_control_can_be_started" typeId="remote_control_can_be_started"/>
<channel id="remote_control_can_be_stopped" typeId="remote_control_can_be_stopped"/>
<channel id="remote_control_can_be_switched_on" typeId="remote_control_can_be_switched_on"/>
<channel id="remote_control_can_be_switched_off" typeId="remote_control_can_be_switched_off"/>
<channel id="operation_state" typeId="operation_state"/>
<channel id="operation_state_raw" typeId="operation_state_raw"/>
<channel id="power_state_on_off" typeId="power_state_on_off"/>
<channel id="error_state" typeId="error_state"/>
<channel id="info_state" typeId="info_state"/>
<channel id="temperature_target" typeId="temperature_target"/>
<channel id="temperature_current" typeId="temperature_current"/>
<channel id="top_temperature_target" typeId="top_temperature_target"/>
<channel id="top_temperature_current" typeId="top_temperature_current"/>
<channel id="middle_temperature_target" typeId="middle_temperature_target"/>
<channel id="middle_temperature_current" typeId="middle_temperature_current"/>
<channel id="bottom_temperature_target" typeId="bottom_temperature_target"/>
<channel id="bottom_temperature_current" typeId="bottom_temperature_current"/>
</channels>
<properties>
<property name="vendor">Miele</property>
</properties>
<config-description-ref uri="thing-type:mielecloud:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,10 @@
/* line 5, src/assets/scss/rtl.scss */
.jumbotron {
direction: ltr;
text-align: left;
margin: 0 2em 0 1em;
padding-right: 1em;
margin: 0 !important;
}
/*# sourceMappingURL=../../../scss */

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>openHAB - Miele Cloud Binding Configuration - Status</title>
<link rel="shortcut icon" type="image/x-icon" href="/mielecloud/assets/img/favicon.ico">
<link rel="stylesheet" href="/mielecloud/assets/css/main.css">
<link rel="stylesheet" href="/mielecloud/assets/css/rtl.css">
</head>
<body>
<div class="container">
<div class="logo-container">
<img src="/mielecloud/assets/img/OpenHAB_logo.svg" width="330" />
<img src="/mielecloud/assets/img/miele.png" width="190" />
</div>
<h2>Cloud Binding Configuration</h2>
<ul class="statusbar">
<li>Overview</li>
<li>Pairing</li>
<li class="active">Status</li>
</ul>
<main role="main">
<section class="mt-4 mb-5">
<div id="success-body">
<h3>Pairing failed!</h3>
<p>
<!-- ERROR MESSAGE TEXT -->
</p>
</div>
<a href="/mielecloud" class="btn btn-danger btn-lg">Go back to account overview</a>
</section>
</main>
<script src="/mielecloud/assets/js/main.js"></script>
</div>
</body>
</html>

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>openHAB - Miele Cloud Binding Configuration - Home</title>
<link rel="shortcut icon" type="image/x-icon" href="/mielecloud/assets/img/favicon.ico">
<link rel="stylesheet" href="/mielecloud/assets/css/main.css">
<link rel="stylesheet" href="/mielecloud/assets/css/rtl.css">
</head>
<body>
<div class="container">
<div class="logo-container">
<img src="/mielecloud/assets/img/OpenHAB_logo.svg" width="330" />
<img src="/mielecloud/assets/img/miele.png" width="190" />
</div>
<h2>Cloud Binding Configuration</h2>
<ul class="statusbar">
<li class="active">Overview</li>
<li>Pairing</li>
<li>Status</li>
</ul>
<main role="main">
<section class="mt-4 mb-5">
<h3><!-- BRIDGES TITLE --></h3>
<ul class="accounts">
<!-- BRIDGES -->
</ul>
<!-- NO SSL WARNING -->
<div class="controls">
<a href="/mielecloud/pair" class="btn btn-danger btn-lg">Pair Account</a>
</div>
</section>
</main>
<script src="/mielecloud/assets/js/main.js"></script>
</div>
</body>
</html>

View File

@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>openHAB - Miele Cloud Binding Configuration - Pairing</title>
<link rel="shortcut icon" type="image/x-icon" href="/mielecloud/assets/img/favicon.ico">
<link rel="stylesheet" href="/mielecloud/assets/css/main.css">
<link rel="stylesheet" href="/mielecloud/assets/css/rtl.css">
</head>
<body>
<div class="container">
<div class="logo-container">
<img src="/mielecloud/assets/img/OpenHAB_logo.svg" width="330" />
<img src="/mielecloud/assets/img/miele.png" width="190" />
</div>
<h2>Cloud Binding Configuration</h2>
<ul class="statusbar">
<li>Overview</li>
<li class="active">Pairing</li>
<li>Status</li>
</ul>
<main role="main">
<section class="mt-4 mb-5">
<div id="pair-body">
<p>
Go to <a href="https://www.miele.com/f/com/en/register_api.aspx">the Miele developer portal</a> to obtain your
client ID and client secret.
</p>
<!-- ERROR MESSAGE -->
<form action="/mielecloud/forwardToLogin">
<div class="form-group">
<label for="clientId">Client ID:</label>
<input type="text" class="form-control" id="clientId" name="clientId" placeholder="Enter your client ID" value="<!-- CLIENT ID -->" required />
</div>
<div class="form-group">
<label for="clientSecret">Client Secret:</label>
<input type="text" class="form-control" id="clientSecret" name="clientSecret" placeholder="Enter your client secret" value="<!-- CLIENT SECRET -->" required />
</div>
<div class="form-group">
<label for="bridgeId">Bridge ID:</label>
<input type="text" class="form-control" id="bridgeId" name="bridgeId" placeholder="Enter the bridge ID to use for pairing" required pattern="[A-Za-z0-9_-]*" />
</div>
<div class="form-group">
<label for="email">E-mail address:</label>
<input type="text" class="form-control" id="email" name="email" placeholder="Enter the e-mail address associated with you Miele Cloud Account" required pattern="[a-z0-9._%+-]{3,}@[a-z]{3,}([.]{1}[a-z]{2,}|[.]{1}[a-z]{2,}[.]{1}[a-z]{2,})" />
</div>
<button type="submit" class="btn btn-danger btn-lg">Pair Account</button>
</form>
</div>
</section>
</main>
<script src="/mielecloud/assets/js/main.js"></script>
</div>
</body>
</html>

View File

@@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>openHAB - Miele Cloud Binding Configuration - Status</title>
<link rel="shortcut icon" type="image/x-icon" href="/mielecloud/assets/img/favicon.ico">
<link rel="stylesheet" href="/mielecloud/assets/css/main.css">
<link rel="stylesheet" href="/mielecloud/assets/css/rtl.css">
</head>
<body>
<div class="container">
<div class="logo-container">
<img src="/mielecloud/assets/img/OpenHAB_logo.svg" width="330" />
<img src="/mielecloud/assets/img/miele.png" width="190" />
</div>
<h2>Cloud Binding Configuration</h2>
<ul class="statusbar">
<li>Overview</li>
<li>Pairing</li>
<li class="active">Status</li>
</ul>
<main role="main">
<section class="mt-4 mb-5">
<script type="text/javascript">
window.onload = function() {
var locale = document.getElementById("locale").value
updateLocale(locale)
}
function onLocaleChanged(event) {
var locale = event.target.value
updateLocale(locale)
}
function updateLocale(locale) {
var thingsTemplate = document.getElementById("things-template")
thingsTemplate.innerHTML = thingsTemplate.innerHTML.replace(/locale=".."/g, "locale=\"" + locale + "\"")
}
</script>
<div id="success-body">
<div>
<h3>Pairing successful!</h3>
<!-- ERROR MESSAGE TEXT -->
<p>You can now either let us automatically create and configure a bridge thing for you or configure it via a things-file.</p>
<p>Please choose a locale to use for display purposes.</p>
<form action="/mielecloud/createBridgeThing">
<div class="form-group">
<input type="hidden" name="bridgeUid" value="<!-- BRIDGE UID -->" />
<input type="hidden" name="email" value="<!-- EMAIL -->" />
<label for="locale">Locale:</label>
<select class="form-control" id="locale" name="locale" onchange="onLocaleChanged(event);">
<!-- LOCALE OPTIONS -->
</select>
</div>
<button type="submit" class="btn btn-danger btn-lg">Create and Configure</button>
</form>
</div>
<div class="things">
<span class="legend">
or use this .things-file template:
</span>
<div class="code-container">
<a href="#" onclick="copyCodeToClipboard(event, this);" class="btn btn-outline-info btn-sm copy">Copy</a>
<textarea id="things-template" readonly><!-- THINGS TEMPLATE CODE --></textarea>
</div>
</div>
<div class="controls">
<a href="/mielecloud" class="btn btn-info btn-lg">Back to overview</a>
</div>
</div>
</section>
</main>
<script src="/mielecloud/assets/js/main.js"></script>
</div>
</body>
</html>