This integration allows to control smart kettles from Redmond SkyKettle series.
If your kettle model is not listed, please write an issue and I'll try to add support for it with your help. Models RK-M123S, RK-M170S and RK-M173S are especially wanted.
custom_components
directory.The default entity names are listed below. Note that some entities can be missed on your kettle model.
This is main entity to control water boiling and heating. There are five operation modes:
This entity allows to control the "Light" mode. You can select brightness and color when this mode is active. The "Light" mode will be enabled automatically when this virtual light is on.
Just virtual switch to control the kettle. Turn it on to switch the kettle to "Boil" mode and turn it off for "Off" mode.
Virtual sensor to check how long the water has been in the kettle. Actually, it's just kettle uptime.
This is configuration entity to select boil time from -5 to +5 just like in the official app.
This is configuration entity to enable or disable the boil light. This light in on when "Heat", "Boil" or "Boil+Heat" mode is active. Color depends on the current water temperature (see below).
This is configuration entity to enable or disable kettle beeping sounds.
This is configuration entity to enable or disable the idle light. This light in on when "Off" mode is active. Color depends on the current water temperature (see below).
These are three configuration entities to select colors in the "Lamp" mode. The color will change smoothly from #1 to #2, from #2 to #3 and back.
This is configuration entity to select color change interval in the "Lamp" mode. In seconds. Minimum is 30 seconds.
This is configuration entity to select lamp auto off time in hours. Lamp will be turned off after this time passed.
These are six configuration entities to select colors for the "boil light" and "sync light". You can select three colors and temperature for each color. The color will change smoothly.
Diagnostic entity, shows percent of successfull connections and polls.
sequence:
- service: water_heater.set_operation_mode
data:
operation_mode: Boil
target:
entity_id: water_heater.skykettle_rk_g211
Also you can use water_heater.turn_on
service when the kettle is off/idle:
sequence:
- service: water_heater.turn_on
data: {}
target:
entity_id: water_heater.skykettle_rk_g211
sequence:
- service: water_heater.set_operation_mode
data:
operation_mode: Boil+Heat
target:
entity_id: water_heater.skykettle_rk_g211
- service: water_heater.set_temperature
data:
temperature: 90
target:
entity_id: water_heater.skykettle_rk_g211
sequence:
- service: water_heater.set_operation_mode
data:
operation_mode: Heat
target:
entity_id: water_heater.skykettle_rk_g211
- service: water_heater.set_temperature
data:
temperature: 90
target:
entity_id: water_heater.skykettle_rk_g211
sequence:
- service: water_heater.set_operation_mode
data:
operation_mode: off
target:
entity_id: water_heater.skykettle_rk_g211
Also you can use water_heater.turn_off
service:
sequence:
- service: water_heater.turn_off
data: {}
target:
entity_id: water_heater.skykettle_rk_g211
sequence:
- service: light.turn_on
data:
rgb_color:
- 255
- 100
- 255
brightness: 255
target:
entity_id: light.skykettle_rk_g211_light
You can use the card_mod integration to make the color of the card icon depend on the temperature of the kettle.
Example:
type: vertical-stack
cards:
- type: button
tap_action:
action: more-info
entity: water_heater.skykettle_rk_g211
show_state: true
name: Чайник
hold_action:
action: toggle
card_mod:
style: >
{% set temp = state_attr("water_heater.skykettle_rk_g211",
"current_temperature") %}
:host {
--card-mod-icon:
{% if temp != None and temp > 95 %}
mdi:kettle-steam;
{% else %}
mdi:kettle;
{% endif %}
--card-mod-icon-color:
{% if temp != None -%}
hsl(
{{ 235 + (0 - 235) / (95 - 25) * (temp - 25) }},
{{ 60 + (100 - 60) / (100 - 25) * (temp - 25) }}%,
50%
)
{%- else -%}
black
{%- endif %};
}
- type: entities
entities:
- entity: water_heater.skykettle_rk_g211
card_mod:
style: >
{% set temp = state_attr("water_heater.skykettle_rk_g211",
"current_temperature") %}
:host {
--card-mod-icon:
{% if temp != None and temp > 95 %}
mdi:kettle-steam;
{% else %}
mdi:kettle;
{% endif %}
--card-mod-icon-color:
{% if temp != None -%}
hsl(
{{ 235 + (0 - 235) / (95 - 25) * (temp - 25) }},
{{ 60 + (100 - 60) / (100 - 25) * (temp - 25) }}%,
50%
)
{%- else -%}
black
{%- endif %};
}