• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Xiaomi/Aqara Куб в Home Assistant. Автоматизации с Aqara cube. Управление освещением.

22 октября, 2022

Приобрести можно тут: http://alii.pub/6hvr31

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

 

Наверное ни для кого не секрет для чего этот куб. В нем стоит гироскоп и крутя его в руках можно управлять устройствами умного дома.

На самом деле у него много действий которые можно выполнять. А именно:

  1. Поворот на 90 градусов
  2. Поворот на 180 градусов
  3. Передвинуть
  4. Покрутить вправо
  5. Покрутить в лево
  6. Потрясти
  7. Подкинуть

И вот эти все 7 действий можно использовать в автоматизациях.

Например Покрутить вправо – это мы увеличим яркость лампочки. А покрутив влево мы сделаем тусклее ее.

Или например потрясся его мы включим везде свет.

вот варианты действий показаны на картинке:

Ну и все эти действия доступны в умном доме Xiaomi или Aqara. Про них мы в этой статье не будем писать. А опишу способ управления устройствами в Home Assistant через zigbee2mqtt.

 

Сопряжение с zigbee2mqtt

Снимите заднюю пластину с помощью прилагаемого инструмента или клина, чтобы защелкнуть ее. Нажмите и удерживайте кнопку сброса внутри устройства в течение +- 5 секунд (пока синий индикатор не начнет мигать). После этого устройство автоматически подключится, но процесс интервью может не закончиться. Если это произойдет, продолжайте делать короткие нажатия на кнопку сброса, чтобы индикатор продолжал мигать, пока процесс интервью не завершится успешно.

 

Когда сопряжение пройдет корректно, то устройство появится в аддоне zigbee2mqtt.

Ну а теперь собственно к управлению.

аддон zigbee2mqtt работает из названия по mqtt. СОбственно нам нужно понять в какой топик он отправляет сообщения, какого они вида. Ну а дальше мы с этими данными можем работать и использовать в своих автоматизациях.

Топик, в который отправляются данные с куба, найти очень просто. По стандарту главный топик аддона называется zigbee2mqtt. Его впринципе можно посмотреть в аддоне, вот тут:

Настройки->MQTT-> Base topic

 

Ну а конкретный топик куба называется по его пользовательскому названию. у меня это Magic_Cube.

И того топик где мы можем поймать данные с куба будет звучать zigbee2mqtt/magic_cube

Собственно подписываемся на этот топик аддоном mqtt и вертим куб (снимая показания).

Так выглядят показания поворота на 90 градусов:


{
    "action": "flip90",
    "action_angle": null,
    "action_from_side": 3,
    "action_side": 1,
    "action_to_side": 1,
    "angle": -105.43,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "from_side": 3,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 1,
    "to_side": 1,
    "voltage": 3025
}
       

Так выглядит поворот на 180 градусов:

 


{
    "action": "flip180",
    "action_angle": null,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": -105.43,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
       
Так выглядит "передвинуть":
{
    "action": "slide",
    "action_angle": null,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": -105.43,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
        Так выглядит покрутить вправо:

{
    "action": "rotate_right",
    "action_angle": 82.06,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": 82.06,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
       
Так выглядит покрутить влево:
{
    "action": "rotate_left",
    "action_angle": -36.5,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": -36.5,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
       
Так выглядит потрясти:

{
    "action": "shake",
    "action_angle": null,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": -36.5,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
       
Ну а так выглядит подкинуть:
{
    "action": "fall",
    "action_angle": null,
    "action_from_side": null,
    "action_side": null,
    "action_to_side": null,
    "angle": -36.5,
    "battery": 100,
    "current": 0,
    "device_temperature": 24,
    "linkquality": 255,
    "power": 69,
    "power_outage_count": 3259,
    "side": 4,
    "voltage": 3025
}
       

Ну и собственно подытожим:

  1. flip90
  2. flip180
  3. slide
  4. rotate_right
  5. rotate_left
  6. shake
  7. fall

Вот 4 позиции. Собственно эти слова мы и будем определять в топике zigbee2mqtt/magic_cube 

Собственно вот так выглядит автоматизация в automations.yaml.

Автоматизация на положение flip90. Поворот на 90 градусов.


- id: magic_cube_flip90
  alias: Cube desk lamp
  trigger:
    platform: mqtt
    topic: zigbee2mqtt/magic_cube
  condition:
  - condition: template
    value_template: '{{ "flip90" == trigger.payload_json.action }}'
  action:
    entity_id: switch.wifi_2gang_1
    service: switch.toggle
       

Ну а так выглядит эта автоматизация в конфигураторе:

 

Эта автоматизация включает и выключает выключатель switch.wifi_2gang_1 по повороту куба на 90 градусов.

 

Так-же давайте рассмотрим автоматизацию под поворот куба по часовой стрелке и против часовой стрелки.

Такие жесты куба подходят для управления яркостью освещения или громкостью например.

ПО этому автоматизация тут немного сложнее. Я покажу на примере управления яркостью настольной лампы Xiaomi. Она у меня в системе Home Assistant называется light.desk_lamp


- id: magic_cube_rotate  
  alias: Cube - rotate
  initial_state: 'on'
  trigger:
    platform: mqtt
    topic: zigbee2mqtt/magic_cube
  condition:
    condition: template
    value_template: "{{ trigger.payload_json.action in ['rotate_right', 'rotate_left'] }}"
  action:         
    - service: light.turn_on
      data:
        entity_id: light.desk_lamp
    - service: light.turn_on
      data_template:
        entity_id: light.desk_lamp
        brightness: >-
          {% if trigger.payload_json.angle | float > 0 %}
          {{  states.light.desk_lamp.attributes.brightness | int + 30 }}
          {% else %}
          {{  states.light.desk_lamp.attributes.brightness | int - 30 }}
          {% endif %}    
  
       

Эта автоматизация будет управлять яркостью настольной лампы по повороту куба по часовой стрелке и против. Плюс добавлено, что если лампа была выключена и вы начинаете крутить куб по часовой стрелке, то она сначала включится а потом будет увеличиваться яркость.

Так-же если она была включена и вы начинаете крутить куб против часовой стрелки, то сначала будет уменьшаться яркость до минимума, а потом лампа выключится если яркость достигнет 0.

Ну а вот как эта автоматизация выглядит в графическом редакторе автоматизаций.

Ну и собственно остальные автоматизации можно делать по примеру, зная как называются положения в mqtt топиках.

Primary Sidebar

Поиск

Новые записи

  • Интеграция ИИ Deepseek в Home Assistant
  • Выводим уведомления из умного дома Home Assistant на Android TV с помощью программы TvOverlay.
  • Автоматизация оповещения о надвигающимся дожде в Home Assistant
  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·