* Use EntityFeature in melcloud
* Use EntityFeature in mystrom
* Use EntityFeature in mysensors
* Use EntityFeature in myq
* Use EntityFeature in mpd
* Use EntityFeature in monoprice
* Use EntityFeature in moehlenhoff_alpha2
* Use EntityFeature in modern_forms
* Use EntityFeature in modbus
* Use EntityFeature in melissa
* Use EntityFeature in mediaroom
* Use EntityFeature in maxcube
* Use EntityFeature in manual_mqtt
* Fix maxcube tests
* Revert "Use EntityFeature in modbus"
This reverts commit 56cf9d900d.
* Revert "Use EntityFeature in myq"
This reverts commit 44a31b1a03.
* Revert "Use EntityFeature in mystrom"
This reverts commit 7260ee0384.
* Revert "Revert "Use EntityFeature in modbus""
This reverts commit 916a612a60.
* Revert "Revert "Use EntityFeature in myq""
This reverts commit a6be42fa17.
* Simplify maxcube integration
Device objects returned by maxcube-api dependency are stable, so
we do not need to resolve from the device address every time.
Also, refactor and unify how maxcube integration sets temperature & mode.
* Raise ValueError if missing parameters for set_temperature method
Raise a ValueError exception If set_temperature does not receive
a temperature parameter.
Also, document properly _set_target method.
* Use Type | None instead of Optional[Type] annotation
* Protect set_hvac_mode and set_preset_mode from unsupported parameters
maxcube-api dependency now supports using None as the
target temperature: in that case, it uses the scheduled
temperature in auto mode and current temperature in all
other modes.
We will use that feature when changing hvac_mode to auto and
selecting PRESET_NONE.
Transition from HVAC_MODE_OFF to HVAC_MODE_HEAT are not executed because
target temperature is kept at OFF_TEMPERATURE, turning it into a no-op.
This change ensures that we increase the target temperature to at least
the minimum temperature when transitioning to HVAC_MODE_HEAT mode.
* Rename BinarySensorDevice to BinarySensorEntity
* Tweak
* Move deprecation warning to __new__, add test
* Move deprecation warning back to __init__
* Move deprecation warning to __init_subclass
* maxcube: Make it possible to return to auto mode
It's currently not possible to switch back to auto (schedule) mode after
changing to manual or vacation. Add `PRESET_NONE` to list of presets
that will return thermostat back into auto (schedule) mode.
Additionally, use `PRESET_AWAY` instead of custom preset name for
vacation mode.
* maxcube: Provide `hvac_action` based on valve state
Not supported for wall thermostats.
* maxcube: Add support for Comfort, Eco, Off and On modes
Off is mapped to HVAC_OFF, while On - to HVAC_HEAT.
* maxcube: Add `hvac_action` support for wall thermostats
We check all thermostats in the same room as the wall thermostat. If at
least one of them has its valve open - the room is being heated.
* maxcube: Expose valve position as state attribute
Also fix a small logical error in `hvac_action`.
* maxcube: Fix linter errors and formatting
* maxcube: Adjust mapping between MAX! and HA modes and presets
MAX! 'Manual' mode now corresponds to 'Heating' mode of HA. MAX! 'Eco'
and 'Comfort' temperatures are 'Heating' mode presets. MAX! 'On' mode is
now a 'Heating' preset, too.
* maxcube: Address review comments