Okay, after some really bumpy ride on the MQTT train I decided to jump off. I ran across some huge mysterious loops, not working commands confusion to the max, and the bummer that it seems impossible to flush a whole Mosquitto queue that runs on hass.io.
Goodbye MQTT, hello REST
I installed https://github.com/ioBroker/ioBroker.simple-api and created some RESTful sensors and switches:
Indeed MQTT is instant, and REST takes the scan_interval (default to 60s), but i think i am cool with that. Testing at scan_interval
set to 10s is totally fine for me.
Had some strange occurrences at the guard_mode sensor, sometimes i saw 1 as a string, sometimes as an integer. No idea what happened here.
sensors:
- platform: rest
name: station_guard_mode_restful_v3
resource: "http://ioBroker:somePort/getPlainValue/eufy-security.0.T8010XXXXXXX.station.guard_mode"
scan_interval: 10
value_template: >-
{% set v = value | replace('"', "")|int %}
{{ {0: "Away",
1: "Home",
2: "Schedule",
3: "Custom1",
4: "Custom2",
5: "Custom3",
47: "Geofence",
63: "Disarmed"}[v] | default("Unknown state:" + (value|urlencode)) }}
rest_command:
eufy_guard_mode_away:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=0&ack=false"
eufy_guard_mode_home:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=1&ack=false"
eufy_guard_mode_schedule:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=2&ack=false"
eufy_guard_mode_custom1:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=3&ack=false"
eufy_guard_mode_custom2:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=4&ack=false"
eufy_guard_mode_custom3:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=5&ack=false"
eufy_guard_mode_geo:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=47&ack=false"
eufy_guard_mode_disarmed:
url: "http://ioBroker:somePort/set/eufy-security.0.T8010XXXXXXX.station.guard_mode?value=63&ack=false"