Fix mqtt cover retain and state (#3519)
* Platform schema had duplicate retain keys, which made it always set to default. * Optimistic state changed was inverted, due to using integer position instead of boolean. * Add more tests for mqtt cover.
This commit is contained in:
parent
bbfd86dec3
commit
ea4f49f0a0
2 changed files with 87 additions and 17 deletions
|
@ -43,8 +43,6 @@ PLATFORM_SCHEMA = mqtt.MQTT_RW_PLATFORM_SCHEMA.extend({
|
|||
vol.Optional(CONF_STATE_OPEN, default=STATE_OPEN): cv.string,
|
||||
vol.Optional(CONF_STATE_CLOSED, default=STATE_CLOSED): cv.string,
|
||||
vol.Optional(CONF_OPTIMISTIC, default=DEFAULT_OPTIMISTIC): cv.boolean,
|
||||
vol.Optional(CONF_RETAIN, default=DEFAULT_RETAIN): cv.boolean,
|
||||
vol.Optional(CONF_VALUE_TEMPLATE): cv.template,
|
||||
})
|
||||
|
||||
|
||||
|
@ -154,7 +152,7 @@ class MqttCover(CoverDevice):
|
|||
self._qos, self._retain)
|
||||
if self._optimistic:
|
||||
# Optimistically assume that cover has changed state.
|
||||
self._state = 100
|
||||
self._state = False
|
||||
self.update_ha_state()
|
||||
|
||||
def close_cover(self, **kwargs):
|
||||
|
@ -163,7 +161,7 @@ class MqttCover(CoverDevice):
|
|||
self._qos, self._retain)
|
||||
if self._optimistic:
|
||||
# Optimistically assume that cover has changed state.
|
||||
self._state = 0
|
||||
self._state = True
|
||||
self.update_ha_state()
|
||||
|
||||
def stop_cover(self, **kwargs):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue