Code Monkey home page Code Monkey logo

skykettle-ha's Introduction

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
  • RFS-KKL004
  • ???

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.

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

  • Bluetooth adapter with BLE support.
  • Home Assistant Bluetooth integration (comes with Home Assistant v2022.8.1+)

How to use

  • Make sure that you are using Home Assistant version 2022.8.1 or greater.
  • Make sure that Bluetooth integration is installed, enabled and working.
  • Install SkyKettle integration via HACS - search for SkyKettle or just copy skykettle directory to your custom_components directory.
  • Add SkyKettle integration just like any other integration (restart Home Assistant and 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.

Entities

The default entity names are listed below. Note that some entities can be missed on your kettle model.

water_heater.kettle_model

This is main entity to control water boiling and heating. There are five operation modes:

  • Off - the kettle is off, not heating at all.
  • Heat - just heat water to the desired temperature and keep this temperature. Without boiling. Useful when water already boiled and you need just to warm it up.
  • Boil - boil water and turn off (switch to "Off" mode).
  • Boil+heat - boil water, wait until temperature drops to the desired temperature and keep this temperature.
  • Lamp - use kettle as night light, color changes between the selected ones (see below).
  • Light - use kettle as night light but keep the only one selected color (see below).

light.kettle_model_light (Light)

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.

switch.kettle_model

Just virtual switch to control the kettle. Turn it on to switch the kettle to "Boil" mode and turn it off for "Off" mode.

sensor.kettle_model_water_freshness

Virtual sensor to check how long the water has been in the kettle. Actually, it's just kettle uptime.

number.kettle_model_boil_time (Boil time)

This is configuration entity to select boil time from -5 to +5 just like in the official app.

switch.kettle_model_enable_boil_light (Enable boil light)

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

switch.kettle_model_enable_sound (Enable sound).

This is configuration entity to enable or disable kettle beeping sounds.

switch.kettle_model_enable_sync_light (Enable sync light)

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

light.kettle_model_lamp_1_color (Lamp color #1), light.kettle_model_lamp_2_color (Lamp color #2) and light.kettle_model_lamp_3_color (Lamp color #3)

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.

number.kettle_model_lamp_color_change_interval (Lamp color change interval)

This is configuration entity to select color change interval in the "Lamp" mode. In seconds. Minimum is 30 seconds.

number.kettle_model_lamp_auto_off_time (Lamp auto off time)

This is configuration entity to select lamp auto off time in hours. Lamp will be turned off after this time passed.

number.kettle_model_temperature_1 (Temperature #1), light.kettle_model_temperature_1_color (Temperature #1 color), number.kettle_model_temperature_2 (Temperature #2), light.kettle_model_temperature_2_color (Temperature #2 color) and number.kettle_model_temperature_3 (Temperature #3), light.kettle_model_temperature_3_color (Temperature #3 color)

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.

sensor.skykettle_rk_g211s_success_rate (Success rate)

Diagnostic entity, shows percent of successfull connections and polls.

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

skykettle-ha's People

Contributors

clusterm avatar hepoh3 avatar jvitkauskas avatar kvasenok avatar mikegeine avatar olixandyr avatar sandmanpr avatar wiljames avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skykettle-ha's Issues

Отсутствует локализация

У чайника режимы не переводятся на русский. Все режимы отображаются под своим английским названием типа "Boil", "Boil+Heat" и т.п., кроме режима "Выключено", т.к. это стандартный для ХА режим и его перевод подхватывается из самого ХА.
Просто в файлах компонента в папке translations есть перевод режимов, но, видимо, он никак не подхватывается интеграцией.

Неизвестная ошибка, смотрите логи.

Эта ошибка возникла в кастомной интеграции.

Logger: custom_components.skykettle.config_flow
Source: custom_components/skykettle/config_flow.py:94
Integration: SkyKettle (documentation, issues)
First occurred: 17:53:12 (2 occurrences)
Last logged: 17:59:24

Traceback (most recent call last): File "/config/custom_components/skykettle/config_flow.py", line 73, in async_step_scan macs = await ble_scan(scan_time=BLE_SCAN_TIME) File "/config/custom_components/skykettle/ble_scan.py", line 34, in ble_scan raise Exception(err) Exception: Enable scan failed: I/O error

Не ставится

По инструкции всё сделал в "Службах" ничего не находится.
Home Assistant 2023.7.1
Что делать? Как пользователь "HA" всего 3 дня понять не могу.
А чайник подрубить хочется

Невозможно подключить RK-M216S

Перепробовал все возможные варианты, но не могу подключить чайник к JetHub h1. Подключить его удалось каким-то чудом пару недель назад, но после перезагрузки он отвалился снова, и подключить его уже не выходит. Причем на x86 инсталяции HA подключается быстро и без проблем (правда отваливается).

Что вижу в логе homeassistant при подключении чайника:

2023-05-02 11:34:38.897 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:34:44.968 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:34:52.895 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:34:52.897 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Can't update status, BleakDBusError: [org.bluez.Error.Failed] Disconnected early
2023-05-02 11:34:58.898 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:35:18.445 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
2023-05-02 11:35:53.891 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:35:59.944 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Can't update status, BleakDBusError: [org.bluez.Error.Failed] Disconnected early
2023-05-02 11:36:21.659 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:36:21.665 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Can't update status, BleakDBusError: [org.bluez.Error.Failed] Disconnected early
2023-05-02 11:36:38.550 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:36:46.268 WARNING (MainThread) [bleak.backends.bluezdbus.client] Failed to cancel connection (/org/bluez/hci0/dev_CE_84_39_D8_9A_D1):
2023-05-02 11:36:46.272 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Can't update status, BleakDBusError: [org.bluez.Error.Failed] Disconnected early

Bluetooth адаптер становится недоступен

Добрый день. Интеграция работает примерно сутки, после чего в лог пишет, что не может соединиться с устройством. При этом сам адаптер bluetooth перестаёт работать, и оживает только после физического ребута rasbery. Готов все логи прислать, какие нужны :)

RK-M173S-E

Привет, нет продвижений?) Видел что попытки были.Может быть еще что то требуется??

RK-M173S

Can be added to the RK-M173S integration

Не подключается к RK-G200S (обходное решение)

Добрый день.

Не возможно установить соединение с RK-G200S хотя компонент его видит.
Как обходное решение в файле /homeassistant/custom_components/skykettle/skykettle.py
Строку "RK-G200S": MODELS_4, поменять на "RK-G200S": MODELS_3,
После установки соединения откатить изменения назад.

Не работает на RK-M170S-E

В логах вот такое

Source: custom_components/skykettle/kettle_connection.py:140
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 10:36:17 PM (1 occurrences)
Last logged: 10:36:17 PM
Can't terminate, error (AttributeError): 'NoneType' object has no attribute 'isalive'```

```Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:278
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 10:36:28 PM (2 occurrences)
Last logged: 10:48:52 PM
Can't set mode to (4, 85) for 30 seconds, stop trying```

```Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:291
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 10:33:51 PM (41 occurrences)
Last logged: 10:51:39 PM

    Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 112, in get_status r = await self.command(SkyKettle.COMMAND_GET_STATUS) File "/config/custom_components/skykettle/kettle_connection.py", line 81, in command raise IOError("Disconnected") OSError: Disconnected During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 112, in get_status r = await self.command(SkyKettle.COMMAND_GET_STATUS) File "/config/custom_components/skykettle/kettle_connection.py", line 81, in command raise IOError("Disconnected") OSError: Disconnected During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 112, in get_status r = await self.command(SkyKettle.COMMAND_GET_STATUS) File "/config/custom_components/skykettle/kettle_connection.py", line 81, in command raise IOError("Disconnected") OSError: Disconnected During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes
    Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 178, in update await self._connect_if_need() File "/config/custom_components/skykettle/kettle_connection.py", line 158, in _connect_if_need raise ex File "/config/custom_components/skykettle/kettle_connection.py", line 154, in _connect_if_need await self._connect() File "/config/custom_components/skykettle/kettle_connection.py", line 105, in _connect await self._child.expect(r"Connection successful.*?\[LE\]> ", async_=True) File "/usr/local/lib/python3.9/site-packages/pexpect/_async.py", line 28, in expect_async return expecter.timeout(e) File "/usr/local/lib/python3.9/site-packages/pexpect/expect.py", line 144, in timeout raise exc pexpect.exceptions.TIMEOUT: <pexpect.pty_spawn.spawn object at 0x7f77fdc580> command: /usr/bin/gatttool args: ['/usr/bin/gatttool', '-I', '-t', 'random', '-b', 'D3:A5:D5:66:8C:75'] buffer (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' before (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' after: <class 'pexpect.exceptions.TIMEOUT'> match: None match_index: None exitstatus: None flag_eof: False pid: 443 child_fd: 68 closed: False timeout: 1.5 delimiter: <class 'pexpect.exceptions.EOF'> logfile: None logfile_read: None logfile_send: None maxread: 2000 ignorecase: False searchwindowsize: None delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1 searcher: searcher_re: 0: re.compile(b'Connection successful.*?\\[LE\\]> ') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes
    Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes
    Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 178, in update await self._connect_if_need() File "/config/custom_components/skykettle/kettle_connection.py", line 158, in _connect_if_need raise ex File "/config/custom_components/skykettle/kettle_connection.py", line 154, in _connect_if_need await self._connect() File "/config/custom_components/skykettle/kettle_connection.py", line 105, in _connect await self._child.expect(r"Connection successful.*?\[LE\]> ", async_=True) File "/usr/local/lib/python3.9/site-packages/pexpect/_async.py", line 28, in expect_async return expecter.timeout(e) File "/usr/local/lib/python3.9/site-packages/pexpect/expect.py", line 144, in timeout raise exc pexpect.exceptions.TIMEOUT: <pexpect.pty_spawn.spawn object at 0x7f785af610> command: /usr/bin/gatttool args: ['/usr/bin/gatttool', '-I', '-t', 'random', '-b', 'D3:A5:D5:66:8C:75'] buffer (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' before (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' after: <class 'pexpect.exceptions.TIMEOUT'> match: None match_index: None exitstatus: None flag_eof: False pid: 457 child_fd: 30 closed: False timeout: 1.5 delimiter: <class 'pexpect.exceptions.EOF'> logfile: None logfile_read: None logfile_send: None maxread: 2000 ignorecase: False searchwindowsize: None delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1 searcher: searcher_re: 0: re.compile(b'Connection successful.*?\\[LE\\]> ') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes
    Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 178, in update await self._connect_if_need() File "/config/custom_components/skykettle/kettle_connection.py", line 158, in _connect_if_need raise ex File "/config/custom_components/skykettle/kettle_connection.py", line 154, in _connect_if_need await self._connect() File "/config/custom_components/skykettle/kettle_connection.py", line 105, in _connect await self._child.expect(r"Connection successful.*?\[LE\]> ", async_=True) File "/usr/local/lib/python3.9/site-packages/pexpect/_async.py", line 28, in expect_async return expecter.timeout(e) File "/usr/local/lib/python3.9/site-packages/pexpect/expect.py", line 144, in timeout raise exc pexpect.exceptions.TIMEOUT: <pexpect.pty_spawn.spawn object at 0x7f78fa4a90> command: /usr/bin/gatttool args: ['/usr/bin/gatttool', '-I', '-t', 'random', '-b', 'D3:A5:D5:66:8C:75'] buffer (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' before (last 100 chars): b'91mError: \x1b[0mconnect to D3:A5:D5:66:8C:75: Function not implemented (38)\r\n[D3:A5:D5:66:8C:75][LE]> ' after: <class 'pexpect.exceptions.TIMEOUT'> match: None match_index: None exitstatus: None flag_eof: False pid: 461 child_fd: 40 closed: False timeout: 1.5 delimiter: <class 'pexpect.exceptions.EOF'> logfile: None logfile_read: None logfile_send: None maxread: 2000 ignorecase: False searchwindowsize: None delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1 searcher: searcher_re: 0: re.compile(b'Connection successful.*?\\[LE\\]> ') During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/config/custom_components/skykettle/kettle_connection.py", line 183, in update self._status = await self.get_status() File "/config/custom_components/skykettle/skykettle.py", line 113, in get_status status = SkyKettle.Status(*unpack("<BxBx?BHBxxxxBxx", r)) struct.error: unpack requires a buffer of 16 bytes```

Skykettle RK-173S-E

Собственно, хотелось бы узнать, почему среди большого списка чайников нет данной модели? Чем это обусловлено и есть ли возможность добавить поддержку?

Чайник не переподключается после перезагрузки HA

Подключается все штатно, работает нормально.
После перезагрузки Home Assistant чайник недоступен.
Снятие и постановка чайника (по сути перезагрузка) на подставку решает проблему -- чайник становится доступен.

Версии интеграции и ХА -- последние релизные

My M216S-E is not able to be paired

I've tried several times to pair my M216S-E using this integration, and it always says that it connected to the kettle but cannot pair with it.
Any ideas?

NOTE: I'm able to pair it using the ready4sky integration
NOTE2: I've removed other BLE devices from the list, just in case.

2022-02-12 21:45:21 DEBUG (MainThread) [custom_components.skykettle.config_flow] Scan result: [ BleDevice(mac='ED:59:6E:4D:16:52', name='RK-M216S-E')]
2022-02-12 21:45:21 DEBUG (MainThread) [custom_components.skykettle.config_flow] Filtered scan result: [BleDevice(mac='ED:59:6E:4D:16:52', name='RK-M216S-E')]
2022-02-12 21:45:22 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:22 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:23 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:23 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:24 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:24 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #1
2022-02-12 21:45:25 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:25 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:25 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:25 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:26 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:26 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #2
2022-02-12 21:45:27 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:27 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:27 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:27 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #3
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #4
2022-02-12 21:45:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:33 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:33 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for mqtt doing blocking calls at homeassistant/components/mqtt/__init__.py, line 371: return self._value_template.async_render_with_possible_json_value(
2022-02-12 21:45:34 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for mqtt doing blocking calls at homeassistant/components/mqtt/__init__.py, line 371: return self._value_template.async_render_with_possible_json_value(
2022-02-12 21:45:34 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for mqtt doing blocking calls at homeassistant/components/mqtt/__init__.py, line 371: return self._value_template.async_render_with_possible_json_value(
2022-02-12 21:45:35 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:35 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #1
2022-02-12 21:45:35 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:35 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [9c a2 e7 99 4d b0 7c d8]
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=False
2022-02-12 21:45:36 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Auth failed. You need to enable pairing mode on the kettle.
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-02-12 21:45:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:37 INFO (SyncWorker_6) [custom_components.skykettle.kettle_connection] Disposed.
2022-02-12 21:45:55 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:55 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:55 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:55 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #1
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:45:57 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:45:59 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:45:59 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #2
2022-02-12 21:45:59 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:45:59 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:00 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:00 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:01 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:46:01 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #3
2022-02-12 21:46:02 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:46:02 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:02 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:02 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:03 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:46:03 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #4
2022-02-12 21:46:04 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:46:04 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:04 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:04 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [9c a2 e7 99 4d b0 7c d8]
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 02
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=False
2022-02-12 21:46:06 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Auth failed. You need to enable pairing mode on the kettle.
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-02-12 21:46:06 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:46:11 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:46:11 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:11 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:11 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:12 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-02-12 21:46:12 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #1
2022-02-12 21:46:13 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for websocket_api doing blocking calls at homeassistant/components/websocket_api/commands.py, line 275: integrations = await asyncio.gather(
2022-02-12 21:46:13 INFO (SyncWorker_12) [custom_components.skykettle.kettle_connection] Disposed.
2022-02-12 21:46:13 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for websocket_api doing blocking calls at homeassistant/components/websocket_api/commands.py, line 275: integrations = await asyncio.gather(
2022-02-12 21:46:13 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for websocket_api doing blocking calls at homeassistant/components/websocket_api/commands.py, line 275: integrations = await asyncio.gather(
2022-02-12 21:46:13 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call inside the event loop. This is causing stability issues. Please report issue for websocket_api doing blocking calls at homeassistant/components/websocket_api/commands.py, line 275: integrations = await asyncio.gather(
2022-02-12 21:46:13 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-02-12 21:46:13 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Staring gatttool...
2022-02-12 21:46:13 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Started gatttool
2022-02-12 21:46:13 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [9c a2 e7 99 4d b0 7c d8]
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 02
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=False
2022-02-12 21:46:14 WARNING (MainThread) [custom_components.skykettle.kettle_connection] Auth failed. You need to enable pairing mode on the kettle.
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-02-12 21:46:14 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated

I'm on HAOS v7.4 with 2022.2.6 core.

Can't update status, OSError: Receive timeout

Home assistant Supervised 2022.9.4
A lot of errors in logs and mentioned in #28

Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:369
Integration: SkyKettle (documentation, issues)
First occurred: 7:37:37 PM (4 occurrences)
Last logged: 8:21:31 PM

Can't update status, OSError: Receive timeout

Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:233
Integration: SkyKettle (documentation, issues)
First occurred: 7:10:15 PM (257 occurrences)
Last logged: 8:21:36 PM

Can't update status, BleakDBusError: [org.freedesktop.DBus.Error.UnknownObject] Method "Connect" with signature "" on interface "org.bluez.Device1" doesn't exist
Can't update status, OSError: Receive timeout
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Input/output error
Can't update status, BleakError: No device found for address None

Ошибка в логах на 2022.9.1

Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: 9:02:14 PM (1 occurrences)
Last logged: 9:02:14 PM

Detected integration that attempted to call BleakClient with an address instead of a BLEDevice. Please report issue to the custom integration author for skykettle using this method at custom_components/skykettle/kettle_connection.py, line 91: self._client = BleakClient(self._device)

Need RFS-KCM002

Привет, возможно ли добавить поддержку кофеварки, логи постараюсь записать)

Не подключается в 2024.2.1

Добрый день!

Перестал работать чайник 210s в HA 2024.2.1.
Замена на model_3 активирует переключатель включения, но чайник не работает.

Перемещение строк в файле connection тоже не помогло...
Что еще можно попробовать?

Connection issue after upgrade to 1.4

Hi,
after upgrade I have connection issue. Can't connect to my kettle RK-G200S-E. Tried to remove integration and installed again. Now I can't pair my kettle.

Tried with AUTO or selected BT device, without success.

image

2022-04-17 09:56:12 INFO (SyncWorker_0) [homeassistant.loader] Loaded skykettle from custom_components.skykettle 2022-04-17 09:56:12 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration skykettle which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant 2022-04-17 09:56:12 INFO (MainThread) [custom_components.hacs] <Integration ClusterM/skykettle-ha> Post installation steps completed 2022-04-17 09:58:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating 2022-04-17 09:58:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"... 2022-04-17 09:58:29 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started 2022-04-17 09:58:30 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect... 2022-04-17 09:58:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated 2022-04-17 09:58:31 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #1 2022-04-17 09:58:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating 2022-04-17 09:58:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"... 2022-04-17 09:58:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started 2022-04-17 09:58:32 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect... 2022-04-17 09:58:34 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated 2022-04-17 09:58:34 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #2 2022-04-17 09:58:34 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating 2022-04-17 09:58:34 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"... 2022-04-17 09:58:34 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started 2022-04-17 09:58:35 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect... 2022-04-17 09:58:36 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated

image

До 2025 года нужно поменять

Entity None (<class 'custom_components.skykettle.light.KettleLight'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <LightEntityFeature: 0> and color modes

Не работает одновременно с Bluetooth low energy monitor

В окне установки "Автоматическое обнаружение чайника" после подтверждения появляется "Неизвестная ошибка, смотрите логи."

Эта ошибка возникла в кастомной интеграции.

Регистратор : custom_components.skykettle.config_flow
Источник: custom_components/skykettle/config_flow.py:118 Интеграция: SkyKettle Первое появление: 10:28:55 ( 1 вхождение) Последнее ведение журнала: 10:28:55
( документация , проблемы )

Трассировка (последний последний вызов): Файл "/config/custom_components/skykettle/config_flow.py", строка 97, в async_step_scan macs = await ble_scan(scan_time=BLE_SCAN_TIME) Файл "/config/custom_components/skykettle/ble_scan.py", строка 45, в ble_scan поднять исключение (ошибка) Исключение: не удалось установить параметры сканирования: ошибка ввода-вывода

Ошибка подключения cant_auth к SkyKettle RK-G214S (RFS-KKL003)

При добавлении интеграции HA видит чайник SkyKettle RK-G214S (RFS-KKL003):

Screenshot_18

Но не даёт подключиться к нему, выдаёт ошибку cant_auth .

Использую Home Assistant:

    Core 2023.12.4
    Supervisor 2023.12.0
    Operating System 11.2
    Пользовательский интерфейс 20231208.2

Can't pair RK-G200S on the latest firmware

Logger: homeassistant.util.async_
Source: util/async_.py:144
First occurred: 15:53:08 (46 occurrences)
Last logged: 15:59:07

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 89: self._child.sendline(f"connect")
Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 102: self._child.sendline(f"disconnect")
Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 93: self._child.sendline("char-write-cmd 0x000c 0100")
Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 60: self._child.sendline(data)
Detected blocking call inside the event loop. This is causing stability issues. Please report issue for xiaomi_miio doing blocking calls at homeassistant/components/xiaomi_miio/switch.py, line 739: state = await self.hass.async_add_executor_job(self._device.status)

Эта ошибка возникла в кастомной интеграции.

Logger: custom_components.skykettle.kettle_connection
Source: custom_components/skykettle/kettle_connection.py:146
Integration: SkyKettle (documentation, issues)
First occurred: 15:53:43 (2 occurrences)
Last logged: 15:54:03

Auth failed. You need to enable pairing mode on the kettle.

Unknown kettle model.

Эта ошибка возникла в кастомной интеграции.

Logger: homeassistant.config_entries
Source: custom_components/skykettle/skykettle.py:117
Integration: SkyKettle (documentation, issues)
First occurred: 20:44:10 (1 occurrences)
Last logged: 20:44:10

Error setting up entry RFS-KKL00 (C9:39:93:22:77:0D) for skykettle
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/skykettle/init.py", line 41, in async_setup_entry
kettle = KettleConnection(
File "/config/custom_components/skykettle/kettle_connection.py", line 26, in init
super().init(model)
File "/config/custom_components/skykettle/skykettle.py", line 117, in init
raise SkyKettleError("Unknown kettle model")
custom_components.skykettle.skykettle.SkyKettleError:
Unknown kettle model

Please report issue to the custom integration author for skykettle

Logger: homeassistant.helpers.frame
Source: helpers/frame.py:77
First occurred: 18 октября 2022 г., 22:29:35 (1 occurrences)
Last logged: 18 октября 2022 г., 22:29:35

Detected integration that attempted to call BleakClient with an address instead of a BLEDevice. Please report issue to the custom integration author for skykettle using this method at custom_components/skykettle/kettle_connection.py, line 92: self._client = BleakClient(self._device)

Auth failed

Hi, thank you for your integration!
I was able to add RK-G213S kettle to the integration, but everything is inactive and there is an error in the logs:

Auth failed. You need to enable pairing mode on the kettle.

While I already enabled pairing mode and pair was successful. Actually there is a stale integration that kinda worked (but inconsistently). And this integration needed to send any 8-byte password, maybe that's the problem?

Нестабильное соединение с чайником

Очень часто теряется коннект, в логах следуюющее
`Logger: homeassistant.util.async_
Source: util/async_.py:150
First occurred: 31 мая 2022 г., 20:28:30 (1674 occurrences)
Last logged: 15:17:05

Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue for http doing blocking calls at homeassistant/components/http/request_context.py, line 27: context.set(request)
Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 115: if self._child and self._child.isalive():
Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/init.py, line 49: hass.data[DOMAIN][DATA_CANCEL] = ev.async_call_later(hass, td, poll)
Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue for http doing blocking calls at homeassistant/components/http/security_filter.py, line 53: if FILTERS.search(request.query_string):
Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue for mobile_app doing blocking calls at homeassistant/components/mobile_app/entity.py, line 123: self.async_write_ha_state()`

График выглядит очень рвано
image

Boulloire Bodum connecte

Bonjour,
J ai la bouilloire Bodum connecté, est il possible de l integrer à HA?

Cordialement monsieur Baudin

The - light mode does not work RK210S

RU: привет, выходит куча ошибок при попытке включить режим light на чайнике RK210S, при этом режим lamp работает, но его невозможно добавить в автоматизации, так как нет в списке
ENG: hi, are there a lot of errors when trying to turn on the light mode on the RK210S kettle, at the same time, lamp mode works, but it cannot be added to automation, since it is not in the list


Exception in update when dispatching 'update': () Traceback (most recent call last): File "/config/custom_components/skykettle/light.py", line 57, in update self.hass.async_create_task(self.async_turn_on()) File "/usr/src/homeassistant/homeassistant/core.py", line 816, in async_create_task self.verify_event_loop_thread("async_create_task") File "/usr/src/homeassistant/homeassistant/core.py", line 440, in verify_event_loop_thread frame.report( File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 162, in report _report_integration(what, integration_frame, level, error_if_integration) File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 203, in _report_integration raise RuntimeError( RuntimeError: Detected that custom integration 'skykettle' calls async_create_task from a thread at custom_components/skykettle/light.py, line 57: self.hass.async_create_task(self.async_turn_on()). Please report it to the author of the 'skykettle' custom integration.


Detected that custom integration 'skykettle' calls async_create_task from a thread at custom_components/skykettle/light.py, line 57: self.hass.async_create_task(self.async_turn_on()), please report it to the author of the 'skykettle' custom integration

/usr/src/homeassistant/homeassistant/util/logging.py:120: RuntimeWarning: coroutine 'KettleLight.async_turn_on' was never awaited log_exception(format_err, *args

Невозможно подключиться к чайнику

Интеграция перестала подключаться к чайнику: перезапуск интеграции/HA, переустановка интеграции - всё это не дало никакого результата.
Но из крайней версии приложения "Sky умные приборы и сервисы" (v2.6.12) я тоже не могу подключиться. Вот что мне ответила поддержка:


Доброго времени суток, приносим свои извинения за доставленные неудобства. В связи с повышенной нагрузкой на сервис поддержки, мы установили автоответ на обращения по блокировке приборов:

Блокировка приборов происходит по причине неуплаты лицензий на использование смарт-технологии Ready for Sky производителем REDMOND, тем не менее, пользователи - наш главный приоритет, поэтому мы предлагаем владельцам приборов, купленных до 21 ноября, в индивидуальном порядке разблокировать управление техникой.

Приборы, приобретённые и добавленные в Ready for Sky до 21 ноября, не должны быть заблокированы к управлению. Пожалуйста, проверьте возможность управления Вашего прибора в приложении, перед этим выйдите и повторно авторизуйтесь с вашим логином и паролем в приложении Ready for Sky.

Если переавторизация не помогает, пожалуйста, перейдите по ссылке https://content.skydom.company/device-unlock-request и авторизуйтесь с Вашими данными уч.записи. После авторизации откроется форма для заполнения данных о покупке (место приобретения товара), которую необходимо заполнить, также предоставив:

  1. Скан/фото чека о покупке в формате JPG

2)Фото серийного номера на приборе

3)Фото серийного номера на упаковке

Если чек и/или коробка отсутствуют, достаточно прикрепить фотографию серийного номера на приборе в строках, запрашивающих отсутствующий у Вас документ. После отправки запрашиваемых документов, разблокировка займет до 24 часов


Возможно, проблема как-то связана с этим всем.
Тем не менее, я смог подключится к своему чайнику через старое приложение "Ready for Sky" (v2.5.7).

Не подключается к RK-M171S

Pairing происходит успешно, но устройство не доступно. в логах:

2022-07-09 17:58:38 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 6e, data: [7e 7b c9 62 50 46 00 00]
2022-07-09 17:58:40 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-07-09 17:58:40 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-07-09 17:58:40 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #2
2022-07-09 17:58:40 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-07-09 17:58:40 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"...
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [6a b9 3c d1 aa 3d 59 72]
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 01
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=True
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Auth ok
2022-07-09 17:58:41 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 6e, data: [81 7b c9 62 50 46 00 00]
2022-07-09 17:58:43 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-07-09 17:58:43 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-07-09 17:58:43 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #3
2022-07-09 17:58:43 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-07-09 17:58:43 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"...
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [6a b9 3c d1 aa 3d 59 72]
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 01
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=True
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Auth ok
2022-07-09 17:58:44 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 6e, data: [84 7b c9 62 50 46 00 00]
2022-07-09 17:58:46 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-07-09 17:58:46 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Terminated
2022-07-09 17:58:46 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Timeout, retry #4
2022-07-09 17:58:46 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-07-09 17:58:46 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Starting "gatttool"...
2022-07-09 17:58:47 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] "gatttool" started
2022-07-09 17:58:47 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Attempting to connect...
2022-07-09 17:58:47 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-07-09 17:58:47 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [6a b9 3c d1 aa 3d 59 72]



Logger: homeassistant
Source: custom_components/skykettle/kettle_connection.py:456
Integration: SkyKettle ([documentation](https://github.com/ClusterM/skykettle-ha/blob/master/README.md), [issues](https://github.com/ClusterM/skykettle-ha/issues))
First occurred: 17:58:49 (8 occurrences)
Last logged: 18:01:52

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 519, in async_update_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 573, in _async_write_ha_state
    attr.update(self.extra_state_attributes or {})
  File "/config/custom_components/skykettle/water_heater.py", line 100, in extra_state_attributes
    sw_version = self.kettle.sw_version
  File "/config/custom_components/skykettle/kettle_connection.py", line 456, in sw_version
    return self._sw_version
AttributeError: 'KettleConnection' object has no attribute '_sw_version'

RK-M171S Unknown error occurred

Здравствуйте.

На последнем шаге долго крутится лоадер, потом показывает ошибку Unknown error occurred.

Чайник в режиме сопряжения, мак-адрес верный. В логах ничего не вижу, или не там смотрю.

Home Assistant Core 2022.6.6
Home Assistant Supervisor 2022.05.3
Home Assistant OS 8.2

skykettle.number::SkyNumber

Logger: homeassistant.components.number
Source: components/number/init.py:220
Integration: Число
First occurred: 02:49:56 (1 occurrences)
Last logged: 02:49:56

custom_components.skykettle.number::SkyNumber is overriding deprecated methods on an instance of NumberEntity, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom component author.

Deprecated constants will be removed

Throws errors due to deprecated constants

DATA_RATE_KIBIBYTES_PER_SECOND was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfDataRate.KIBIBYTES_PER_SECOND instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
DATA_RATE_MEBIBYTES_PER_SECOND was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfDataRate.MEBIBYTES_PER_SECOND instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
DATA_RATE_GIBIBYTES_PER_SECOND was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfDataRate.GIBIBYTES_PER_SECOND instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
ENTITY_CATEGORY_CONFIG was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use EntityCategory.CONFIG instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
ENTITY_CATEGORY_DIAGNOSTIC was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use EntityCategory.DIAGNOSTIC instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
SUPPORT_OPERATION_MODE was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use WaterHeaterEntityFeature.OPERATION_MODE instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues
SUPPORT_TARGET_TEMPERATURE was used from skykettle, this is a deprecated constant which will be removed in HA Core 2025.1. Use WaterHeaterEntityFeature.TARGET_TEMPERATURE instead, please create a bug report at https://github.com/ClusterM/skykettle-ha/issues

Мультиварка?

Подскажите, можно ли при помощи компонента прикрутить мультиварку? полная подержка программ не принципиальна, хотя бы базовый функционал.
RMC-M223S - старушка работает исправно, и еще будет лет цать работать, но всё что находил из интеграций по R4S либо умерло, либо на пути туда. Если нужно что-то, могу попробовать выдернуть. Пока есть обнаруженный девайс через BLE.
cc052ace58b22db01d4a23ffd9207540-53997193

Так же вот эту интеграцию нашел, но так и не понял как сопряжение организовать и где ключ выдернуть.
https://github.com/mavrikkk/ha_kettler

SkyKettle RK-M216S постоянно отваливается соединение

СКРИНШОТ

Screenshot_2023-04-06-14-54-58-542_io homeassistant companion android

Подарили данный чайник. Завёл его в HomeAssistant, получилось далеко не с первого раза. Пока не поднёс сам чайник с розеткой к малинке (RaspberyPi 4B). Сейчас чайник в зоне прямой видимости (около 1.5 метров) от малинки. Периодически связь появляется, на пару минут, и снова пропадает на минут 10. Иногда дольше. В логах - следующее:

Can't set mode to (2, 35) for 30 seconds, stop trying
Can't update status, BleakError: failed to discover services, device disconnected
Can't set mode to (0, 0) for 30 seconds, stop trying
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't set mode to (2, 35) for 30 seconds, stop trying
Can't update status, BleakDBusError: [org.bluez.Error.Failed] Software caused connection abort
Can't update status, OSError: Receive timeout
Can't update status, BleakError: failed to discover services, device disconnected
Can't set mode to (1, 70.0) for 30 seconds, stop trying
Can't set mode to (1, 75.0) for 30 seconds, stop trying

И так по кругу.
Ещё данный чайник прокинут в умный дом Яндекса через интеграцию.

"Пожалуйста убедитесь что чайник стоит на подставке и включен в розетку"

"Пожалуйста убедитесь что чайник стоит на подставке и включен в розетку"
****************************** лог ****************************

Sun Feb 6 14:24:46 2022 daemon.err hass[2901]: File "/etc/homeassistant/custom_components/skykettle/ble_scan.py", line 19, in run
Sun Feb 6 14:24:46 2022 daemon.err hass[2901]: proc = subprocess.Popen(["timeout", "-s", "INT", f"{self.scan_time}s", "hcitool", "lescan"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)
Sun Feb 6 14:24:46 2022 daemon.err hass[2901]: File "/usr/lib/python3.9/subprocess.py", line 951, in init
Sun Feb 6 14:24:46 2022 daemon.err hass[2901]: File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
Sun Feb 6 14:24:46 2022 daemon.err hass[2901]: FileNotFoundError: [Errno 2] No such file or directory: 'timeout'


root@OpenWrt:~# hcitool lescan
LE Scan ...
F5:82:FC:A8:9F:85 RK-G211S
33:BA:68:1A:26:D5 (unknown)
A4:C1:38:AD:2B:D4 (unknown)
69:8D:E7:4E:68:BF (unknown)

HA 2022.8.5 + SkyKettle v2.0 Не сопрягается с устройством

Home Assistant 2022.8.5

2022-08-16 15:35:19.005 DEBUG (MainThread) [custom_components.skykettle.config_flow] Device found: 0C:8C:DC:23:74:CD - 0C-8C-DC-23-74-CD
2022-08-16 15:35:19.006 DEBUG (MainThread) [custom_components.skykettle.config_flow] Device found: 64:90:C1:71:5F:E7 - 64-90-C1-71-5F-E7
2022-08-16 15:35:42.324 INFO (MainThread) [custom_components.skykettle.skykettle] Kettle model: RK-M171S
2022-08-16 15:35:42.325 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-08-16 15:35:42.326 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connecting to the Kettle...
2022-08-16 15:35:52.733 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2022-08-16 15:35:52.803 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Subscribed to RX
2022-08-16 15:35:52.804 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [e8 c4 e0 9e f8 76 b2 4b]
2022-08-16 15:35:52.936 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00
2022-08-16 15:35:52.937 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=False
2022-08-16 15:35:52.938 ERROR (MainThread) [custom_components.skykettle.kettle_connection] Auth failed. You need to enable pairing mode on the kettle.
2022-08-16 15:35:52.976 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Disconnected
2022-08-16 15:35:52.979 INFO (MainThread) [custom_components.skykettle.kettle_connection] Stopped.
2022-08-16 15:35:55.072 INFO (MainThread) [custom_components.skykettle.skykettle] Kettle model: RK-M171S
2022-08-16 15:35:55.073 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-08-16 15:35:55.074 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connecting to the Kettle...
2022-08-16 15:35:55.124 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] EOFError: , retry #1
2022-08-16 15:35:55.627 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2022-08-16 15:35:55.628 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connecting to the Kettle.

Warnings on HA version 2022.2

After updating core following warnings are shown:

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 89: self._child.sendline(f"connect")

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 93: self._child.sendline("char-write-cmd 0x000c 0100")

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 60: self._child.sendline(data)

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 102: self._child.sendline(f"disconnect")

Detected blocking call inside the event loop. This is causing stability issues. Please report issue to the custom component author for skykettle doing blocking calls at custom_components/skykettle/kettle_connection.py, line 120: self._child.terminate(force=True)

Полностью отвалился чайник Redmond RK-M216S после обновления до 2024.6.0

Несколько дней назад чайник перестал откликаться полностью. Все сенсоры и сущности не доступны.

Система установлена на ProxMox:

Core - 2024.6.0
Supervisor - 2024.06.0
Operating System - 12.3
Пользовательский интерфейс - 20240605.0

В логах ошибка

2024-06-07 14:22:19.258 DEBUG (MainThread) [custom_components.skykettle] Unloading
2024-06-07 14:22:19.309 WARNING (SyncWorker_3) [py.warnings] /config/custom_components/skykettle/kettle_connection.py:285: RuntimeWarning: coroutine 'KettleConnection._disconnect' was never awaited
  self._disconnect()

2024-06-07 14:22:19.309 INFO (SyncWorker_3) [custom_components.skykettle.kettle_connection] Stopped.
2024-06-07 14:22:19.319 DEBUG (MainThread) [custom_components.skykettle] Entry unloaded
2024-06-07 14:22:19.320 INFO (MainThread) [custom_components.skykettle.skykettle] Kettle model: RK-M216S
2024-06-07 14:22:22.402 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Updating
2024-06-07 14:22:22.402 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connecting to the Kettle...
2024-06-07 14:22:22.407 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Connected to the Kettle
2024-06-07 14:22:22.409 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Subscribed to RX
2024-06-07 14:22:22.409 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command ff, data: [c8 4f 66 ba d3 52 f4 b5]
2024-06-07 14:22:22.517 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 02
2024-06-07 14:22:22.518 DEBUG (MainThread) [custom_components.skykettle.skykettle] Auth: ok=True
2024-06-07 14:22:22.518 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Auth ok
2024-06-07 14:22:22.518 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 01, data: []
2024-06-07 14:22:22.653 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 04 15
2024-06-07 14:22:22.653 DEBUG (MainThread) [custom_components.skykettle.skykettle] Version: 4.21
2024-06-07 14:22:22.653 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 6e, data: [1e a7 62 66 80 70 00 00]
2024-06-07 14:22:22.835 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00
2024-06-07 14:22:22.836 DEBUG (MainThread) [custom_components.skykettle.skykettle] Writed time=1717741342 (2024-06-07 14:22:22), offset=28800 (GMT+8.00)
2024-06-07 14:22:22.836 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 06, data: []
2024-06-07 14:22:22.969 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 00 00 00 01 3c 1e 00 00 00 00 00 00 82 00 00
2024-06-07 14:22:22.969 DEBUG (MainThread) [custom_components.skykettle.skykettle] Status: mode=0 (Boil), is_on=False, target_temp=0, current_temp=60, sound_enabled=True, color_interval=30, boil_time=2
2024-06-07 14:22:22.969 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 47, data: [00]
2024-06-07 14:22:23.193 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 00 4d 05 00 00 3d 03 00 00 52 00 00 00 00 00
2024-06-07 14:22:23.193 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 50, data: [00]
2024-06-07 14:22:23.328 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00
2024-06-07 14:22:23.328 DEBUG (MainThread) [custom_components.skykettle.skykettle] Stats: ontime=0:22:37, energy_wh=829, user_on_count=14, heater_on_count=82
2024-06-07 14:22:23.329 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 35, data: [00]
2024-06-07 14:22:23.464 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 00 01 00 00
2024-06-07 14:22:23.464 DEBUG (MainThread) [custom_components.skykettle.skykettle] Light with type=0 (boiling_light) is on
2024-06-07 14:22:23.464 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 35, data: [c8]
2024-06-07 14:22:23.598 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: c8 00 00 c8 00
2024-06-07 14:22:23.598 DEBUG (MainThread) [custom_components.skykettle.skykettle] Light with type=200 (sync_light) is off
2024-06-07 14:22:23.598 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 30, data: []
2024-06-07 14:22:23.778 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 08 00
2024-06-07 14:22:23.778 DEBUG (MainThread) [custom_components.skykettle.skykettle] Lamp auto off hours=8
2024-06-07 14:22:23.778 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 52, data: [00]
2024-06-07 14:22:23.913 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00
2024-06-07 14:22:23.913 DEBUG (MainThread) [custom_components.skykettle.skykettle] Fresh water notification is off, unknown1=48, water_freshness_hours=0
2024-06-07 14:22:23.913 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 33, data: [00]
2024-06-07 14:22:24.093 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 00 23 ff 00 00 ff 46 ff 00 ff 00 64 ff ff 00 00
2024-06-07 14:22:24.093 DEBUG (MainThread) [custom_components.skykettle.skykettle] ColorsSet(light_type=0, temp_low=35, brightness=255, r_low=0, g_low=0, b_low=255, temp_mid=70, unknown1=255, r_mid=0, g_mid=255, b_mid=0, temp_high=100, unknown2=255, r_high=255, g_high=0, b_high=0)
2024-06-07 14:22:24.093 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Writing command 33, data: [01]
2024-06-07 14:22:24.228 DEBUG (MainThread) [custom_components.skykettle.kettle_connection] Received: 01 00 ff 00 00 ff 32 ff 88 ff 00 64 ff ff 00 00
2024-06-07 14:22:24.228 DEBUG (MainThread) [custom_components.skykettle.skykettle] ColorsSet(light_type=1, temp_low=0, brightness=255, r_low=0, g_low=0, b_low=255, temp_mid=50, unknown1=255, r_mid=136, g_mid=255, b_mid=0, temp_high=100, unknown2=255, r_high=255, g_high=0, b_high=0)
2024-06-07 14:22:24.230 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 143, in report
    integration_frame = get_integration_frame(
                        ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 107, in get_integration_frame
    raise MissingIntegrationFrame
homeassistant.helpers.frame.MissingIntegrationFrame

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/skykettle/__init__.py", line 47, in poll
    await hass.async_add_executor_job(async_dispatcher_send, hass, DISPATCHER_UPDATE)
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/dispatcher.py", line 214, in async_dispatcher_send
    hass.verify_event_loop_thread("async_dispatcher_send")
  File "/usr/src/homeassistant/homeassistant/core.py", line 447, in verify_event_loop_thread
    frame.report(
  File "/usr/src/homeassistant/homeassistant/helpers/frame.py", line 149, in report
    raise RuntimeError(msg) from err
RuntimeError: Detected code that calls async_dispatcher_send from a thread other than the event loop, which may cause Home Assistant to crash or data to corrupt. For more information, see https://developers.home-assistant.io/docs/asyncio_thread_safety/#async_dispatcher_send. Please report this issue.

Изначально чайник начал отваливаться по утрам. У меня стоит автоматизация подогревать в 7 утра когда просыпаемся. Лечилось перетыканием чайника с подставки. Вчера вообще отвалился полностью, нет реакции ни на что. Удалял интеграцию, удалял BlueTooth, пробовал другой свисток, разницы нет. Все остальные устройства bluetooth работают отлично. Пробовал отключать чайник от HomeAssistant и добавлять в родное приложение - всё работает отлично. Вернул назад - ничего не работает. Расстояние между свистком и чайником около метра без преград. В таком положении уже около года стоит, и проблем не было.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.