Skip to content

Redmond SkyKettle integration for Home Assistant

License

Notifications You must be signed in to change notification settings

HepoH3/skykettle-ha

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redmond SkyKettle integration for Home Assistant

This integration allows to control smart kettles from Redmond SkyKettle series.

image

image

image

Supported models

  • 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.

Features

  • 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.

Requirements

  • Linux-based server with Home Assistant.
  • Bluetooth adapter with BLE support.
  • timeout utility.
  • hcitool utility.
  • gatttool utility.

How to use

  • 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 and getttool (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.

Scripts

To boil and turn off after boiling

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

To boil and keep desired temperature

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

To warm up and keep desired temperature without boiling

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

Turn the kettle off

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

Turn the kettle into a lamp

sequence:
  - service: light.turn_on
    data:
      rgb_color:
        - 255
        - 100
        - 255
      brightness: 255
    target:
      entity_id: light.skykettle_rk_g211_light

Hints

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 %};
            }

image

Donations

About

Redmond SkyKettle integration for Home Assistant

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%