This integration allows to control smart kettles from Redmond SkyKettle series.
- RK-G200
- RK-G200S
- RK-G201S
- RK-G202S
- RK-G203S
- RK-G204S
- RK-G210S
- RK-G211S
- RK-G212S
- RK-G213S
- RK-G214S
- RK-G215S
- RK-G233S
- RK-G240S
- RK-M139S
- RK-M171S
- RK-M215S
- RK-M216S
- RK-M223S
- RK-M136S
- RFS-KKL002
- RFS-KKL003
- ???
If your kettle model is not listed, please write an issue and I'll try to add support for it with your help.
- Allows to set target temperature.
- Allows to set any boil mode: heating (keep desired temperature), standard boiling, boiling+heating.
- Allows to change many settings of the kettle directly from Home Assistant, even more settings than the official application allows.
- Allows to read all statistics, even more than the official application allows.
- Allows to use kettle as RGB lamp.
- Automatic mode change if target temperature changed, allows easy control from Google Assistant, Yandex Alice, etc.
- Persistent connection and fast reconnect.
- Linux-based server with Home Assistant.
- Bluetooth adapter with BLE support.
- timeout utility.
- hcitool utility.
- gatttool utility.
- Install it via HACS - search for SkyKettle or just copy skykettle directory to your
custom_components
directory. - If you are not using Home Assistant Operating System make sure that
hcitool
andgetttool
(or just Home Assistant binary) has access to BLE device. To do it just execute those commands:
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcitool`
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which gatttool`
- Add SkyKettle integration just like any other integration (press Shift+F5 if it's not listed).
- Make sure that the Kettle is on the stand and it's plugged into the outlet.
- Select MAC address of your kettle from the list.
- Tune rest of the settings if you want.
- Enjoy.
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 %};
}
- PayPal: [email protected]
- YooMoney: 41001843680639
- Bitcoin: 1GS4XXx1FjQaFjgHnoPPVAzw9xqfv5Spx5
- DonationAlerts: https://www.donationalerts.com/r/clustermeerkat