56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
mqtt:
|
|
sensor:
|
|
- unique_id: kettle.temp
|
|
name: "Kettle Temperature"
|
|
state_topic: "tele/tasmo-kkettle-3773-portable/RESULT"
|
|
availability_topic: "tele/tasmo-kkettle-3773-portable/LWT"
|
|
payload_available: "Online"
|
|
payload_not_available: "Offline"
|
|
value_template: >
|
|
{% if value_json.TuyaReceived['5'].DpIdData %}
|
|
{{ value_json.TuyaReceived['5'].DpIdData | int(base=16) }}
|
|
{% else %}
|
|
{{ states('sensor.kettle_temp') }}
|
|
{% endif %}
|
|
unit_of_measurement: "°C"
|
|
switch:
|
|
- unique_id: kettle.power
|
|
name: kettle
|
|
state_topic: "stat/tasmo-kkettle-3773-portable/POWER"
|
|
command_topic: "cmnd/tasmo-kkettle-3773-portable/POWER"
|
|
availability_topic: "tele/tasmo-kkettle-3773-portable/LWT"
|
|
payload_on: "ON"
|
|
payload_off: "OFF"
|
|
payload_available: "Online"
|
|
payload_not_available: "Offline"
|
|
retain: false
|
|
|
|
input_select:
|
|
kettle_set:
|
|
name: Keep Kettle Warm
|
|
initial: "OFF"
|
|
options:
|
|
- "OFF"
|
|
- "40°C"
|
|
- "50°C"
|
|
- "60°C"
|
|
- "80°C"
|
|
- "90°C"
|
|
|
|
automation:
|
|
- id: set_the_kettle
|
|
initial_state: true
|
|
alias: Set the Kettle
|
|
trigger:
|
|
platform: state
|
|
entity_id: input_select.kettle_set
|
|
action:
|
|
service: mqtt.publish
|
|
data:
|
|
topic: cmnd/tasmo-kkettle-3773-portable/TuyaSend4
|
|
payload: '{% set mapping = { "OFF":"102,5", "40°C":"102,0",
|
|
"50°C":"102,1", "60°C":"102,2", "80°C":"102,3",
|
|
"90°C":"102,4" } %} {% set dta = trigger.to_state.state %}
|
|
{{ mapping[dta] }}
|
|
'
|