Ik ben eindelijk overgaan om zigbee2mqtt te implementeren.
alle xiaomi sensoren (vibration, temperature en door) gaan prima via MQTT.
ik heb alleen problemen met de switch.
ik heb het volgende gedaan volgens zigbee2mqtt,io:
YAML:
1
2
3
4
5
6
| sensor:
- platform: "mqtt"
state_topic: "zigbee2mqtt/Badkamer_switch"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:toggle-switch"
value_template: "{{ value_json.click }}" |
In de log van de zigbee2mqtt addon komen twee berichten binnen na een single click:
code:
1
2
| zigbee2mqtt:info 2020-01-04 13:49:37: MQTT publish: topic 'zigbee2mqtt/0x00158d000201ca2e', payload '{"battery":100,"voltage":3045,"linkquality":94,"click":"single"}'
zigbee2mqtt:info 2020-01-04 13:49:37: MQTT publish: topic 'zigbee2mqtt/0x00158d000201ca2e', payload '{"battery":100,"voltage":3045,"linkquality":94,"click":""}' |
In de states van de switch zie je even iets verspringen , maar daarna staat er enkel click:
zonder single of double......
Het lijkt erop alsof ie alleen het laatste bericht onthoudt.
mijn automation is als volgt, maar werkt niet......
YAML:
1
2
3
4
5
6
7
8
| - alias: badkamerlampen aan
trigger:
platform: state
entity_id: sensor.0x00158d0001e724ec_click
to: 'single'
action:
entity_id: scene.turn_on
service: scene.ei3bsqjpljrg0jhe |
ik heb ook al via mqtt de automation gemaakt:
YAML:
1
2
3
4
5
6
7
8
9
10
| - id: badlampenaan
trigger:
platform: mqtt
topic: "zigbee2mqtt/Badkamer_switch"
condition:
condition: template
value_template: "{{ 'single' == trigger.payload_json.click }}"
action:
entity_id: scene.turn_on
service: scene.ei3bsqjpljrg0jhe |
Hoe kan ik alleen het eerste bericht naar MQTT sturen zodat mijn automation werkt?
Ik heb al gezocht op de fora van zigbee2mqtt en deze, maar ik heb daar deze automation vandaan en zou moeten werken?