Home Assistant - Virtualization. Exploring the possibilities of the template platform, practice

  Рет қаралды 16,978

 Alex Kvazis - smart home technologies

Alex Kvazis - smart home technologies

Күн бұрын

Пікірлер: 68
@Alantar_music
@Alantar_music 3 жыл бұрын
Потрясающе, то что нужно. Спасибо, пошёл применять.
@andreykalinicheff4054
@andreykalinicheff4054 3 жыл бұрын
Спасибо! Только что назрела необходимость-сразу новый урок!!! You are the best !!!
@DKniazeff
@DKniazeff 3 жыл бұрын
Алекс, большое спасибо тебе еще раз!
@ionlineby
@ionlineby 3 жыл бұрын
Классные примеры. Жаль небыло примера с виртуальным термостатом. В одной комнате 3 батареи и было бы круто управлять ими с одной крутилки
@ostapbender5463
@ostapbender5463 3 жыл бұрын
Спасибо за проделанную работу.
@ivandomnich8260
@ivandomnich8260 3 жыл бұрын
Очень круто, спасибо
@Умныйдомсдиваном
@Умныйдомсдиваном 3 жыл бұрын
Мультисенсоры: 3:10 . Отмечу, что гораздо проще группировать сущности через group. При таком раскладе отпадает использовать шаблоны и классы. *Документация Group* www.home-assistant.io/integrations/group/ *Ниже привожу пример. Все это вписываем в файлик groups.yaml* # Создаем групповую сущность присутствия в квартире. Указывая те объекты, которые хотим включить в группу и если какой-то объект будет включен, значит в квартире кто-то есть presence_in_apartment: name: "Присутствие в квартире" all: false entities: - light.yeelight_ceiling4_0x000000000000000 - light.yeelight_ceiling4_0x000000000000001 - binary_sensor.motion_sensor_01 - binary_sensor.motion_sensor_02 - switch.computer_01 - switch.computer_02 - switch.tv_01 #Примечание про *all: false\true* #*all: "false"* - общий статус будет неактивен только в том случае, если все объекты будут неактивными #*all: "true"* - общий статус будет неактивен, если какой-то один из объектов будет неактивным
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Группы имеют весьма ограниченный функционал. Это можно сказать предыдущий шаг. В темплейтах есть возможность использовать логические и или, иметь много вариантов значений в зависимости от состояния внешних факторов, использовать задержки. Даже в показанном вами примере - сможете ли вы в группе использовать например показания энергомонитора, при превышении заданного значения? Или параметр как-то атрибута?
@Умныйдомсдиваном
@Умныйдомсдиваном 3 жыл бұрын
@@Alex_Kvazis Когда речь идет про группирование объектов, то проще использовать группы, в таком варианте мы отсеиваем шаблоны и классы. Если мы говорим про калькуляцию, то да, группа для этого не подходит, да и задача у группы совсем иная, но ничто не мешает создать отдельный файлик в packages для калькуляции.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
@@Умныйдомсдиваном Естественно для группирования объектов - группы. Но в рамках данного видео - для групп очень узкая ниша применения. Шаг влево, шаг вправо - и группа не подходит. Поэтому я про них даже не упоминал.
@СержВасильев-ю7ю
@СержВасильев-ю7ю 3 жыл бұрын
Отличное видео!
@avkulikoff
@avkulikoff 3 жыл бұрын
Для вычисления средних величин удобно использовать приблуду Average Sensor из hacs. Можно настраивать и использовать несколько датчиков.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Да есть и штатный сенсор min max с значением mean. Темплейт просто не ограничен в логике формул.
@avkulikoff
@avkulikoff 3 жыл бұрын
@@Alex_Kvazis What makes this sensor different from others built into HA: Compare with the min-max sensor: This sensor in the mean mode produces exactly the same average value from several sensors. But, unlike our sensor, it cannot receive the current temperature data from a weather, climate and water heater entities. Compare with statistics sensor: This sensor copes with the averaging of data over a certain period of time. However… 1) it cannot work with several sources at once (and can't receive temperature from weather, climate and water heater entities, like min-max sensor), 2) when calculating the average, it does not take into account how much time the temperature value was kept, 3) it has a limit on the number of values ​​it averages - if by chance there are more values, they will be dropped.
@Alexandr-Ast
@Alexandr-Ast 2 жыл бұрын
Подскажите как сделать график с температурой процессора как на 2:30? Чтобы отображался и график и значение?
@Alex_Kvazis
@Alex_Kvazis 2 жыл бұрын
Есть много кастомных карточек для графиков. Просто выбрать какая нравится. Я кстати уже ту карту не использую, она называлась mini-graph-card
@Alexandr-Ast
@Alexandr-Ast 2 жыл бұрын
@@Alex_Kvazis почитаю, спасибо) это не из хакса случаем?
@Alex_Kvazis
@Alex_Kvazis 2 жыл бұрын
Оттуда. Какой смысл ставить и обновлять руками, если есть хакс ?
@sergg4253
@sergg4253 3 жыл бұрын
Спасибо за хорошие примеры. Переход на виртуальные сенсоры не увеличивает время реакции системы?
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Нет, совершенно
@paranabolic3953
@paranabolic3953 2 жыл бұрын
Формат описания конфигурации изменился. При использовании формата описанного в уроке возникают ошибки...
@Alex_Kvazis
@Alex_Kvazis 2 жыл бұрын
Ничего не изменилось, урок актуален. Ищите ошибку в коде
@bambatv
@bambatv 3 жыл бұрын
Отличный урок - то, что нужно. Но может кто подскажет, как показанный в примере include файл прицепить к файлу конфигурации?
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Это в уроках про пакаджи
@bambatv
@bambatv 3 жыл бұрын
@@Alex_Kvazis Спасибо, нашёл. kzbin.info/www/bejne/a5jWhKtpebuMlc0
@lameritos
@lameritos 3 жыл бұрын
А есть ли датчик звука(шума) для tuya или mihome на zigbee? Можно проще определять присутствие людей в некоторых случаях
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Не встречал
@lameritos
@lameritos 3 жыл бұрын
@@Alex_Kvazis странно это)
@lameritos
@lameritos 3 жыл бұрын
@@Alex_Kvazis в камерах бывают детекторы звука, нужно будет по рыть можно ли этот сенсор использовать)
@VitalyKorol
@VitalyKorol 3 жыл бұрын
А почему бы не переименовывать сущности из sensor.0x0000000000_power в sensor.room_outlet_power?
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Это перекроет лишь очень небольшой кусочек того, что может платформа темплейтов.
@VitalyKorol
@VitalyKorol 3 жыл бұрын
@@Alex_Kvazis согласен, но это очень помогает ориентироваться в датчиках.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
@@VitalyKorol для этого не надо переименовать его техническое имя, можно просто переназвать например в zigbee2mqtt, не переименовывая сущности. Тогда легко ориентироваться по названию девайса, сохранив изначальные технические имена
@VitalyKorol
@VitalyKorol 3 жыл бұрын
@@Alex_Kvazis ну да, или в з2м или в устройствах ХА, если, например, через интеграцию gw3
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
GW3 тянет имена из михоум, тоже не есть проблема
@vvend1
@vvend1 3 жыл бұрын
Алекс, здравствуйте! А есть ли возможность создания не просто виртуального датчика, а полностью виртуального устройства, хранящего состояния? Идея в том, чтобы использовать промежуточные состояния, как в полноценных конечных автоматах.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Можно. Например привязав его к mqtt топику, в который писать нужные значения
@KirillSidorov
@KirillSidorov 3 жыл бұрын
Можно, в ха есть куча впомогательных виртуальных устройств, такие как импуты. Их можно использовать для хранения состояния.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
@@KirillSidorov Инпуты - интересная вещь. Для начинающих. Потому что скоро приходит понимание, что это лишь временное хранилище, да еще и локальное. А общее хранилище для неограниченного числа инстов, не зависящее от перезагрузок, бекапирующееся - это хранение в топиках mqtt.
@KirillSidorov
@KirillSidorov 3 жыл бұрын
@@Alex_Kvazis тут не стоит вопрос начинающий или нет. Вопрос надежности и обратного взаимодействия с другими системами. Если состояние строго локальное и не требует передачи в другие системы, то импут лучше, т.к. он тупо не зависит от состояния сервера mqtt. Более того для передачи состояний лучше вообще использовать другой объект. Впрочем тут и другой вариант это костыли, если есть возможность обрабатывать состояния скритами, то нужно это делать скриптами.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
@@KirillSidorov вопрос стоит о полностью виртуальном датчике хранящем состояния. Идеальное решение - хранение в топике mqtt, и создание виртуального сенсора считывающего этот топик.
@Artem-gd7we
@Artem-gd7we 3 жыл бұрын
Алекс! Привет! ты недавно публиковал в комментариях кусок кода для лампочек с "умным рассветом". Приехали лампы - а вот код найти не могу... Не затруднит еще раз суда скинуть? СПАСИБО!!!
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
просто включение light.turn_on с параметром transition - в секундах. Плавное включение
@artevrik
@artevrik 3 жыл бұрын
Как виртуализировать датчики освещённости? У меня виртуальный датчик ничего не показывает!
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Точно так же как и все другие. Разницы нет. Не показывает - значит ошиблись где-то, может указали неверный тип, там должен быть сенсор
@dNix
@dNix 3 жыл бұрын
Не понятная мне особенность Home Assistant - невозможность привязки виртуальных устройств к помещениям. Или я чего-то не знаю?
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Я вообще ничего не привязываю, не вижу в этом никакой необходимости
@KirillSidorov
@KirillSidorov 3 жыл бұрын
Немного не так, все на видео. На самом деле все объекты в системе уже виртуальные и достаточно задать ему имя, а при замене физического устройства нужно всего лишь новое устройство переименовать в старое. Темплейт используется для расширения функционала на базе существующих. Это классический паттерн ООП. Нет смысла виртуализировать все подряд, а действовать надо по необходимости, а вот что нужно точно делать, так это резервировать имена объектов.
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
В видео все так. Технические имена привязаны к типу устройства, к его адресу в сети и т.п. Зачем менять их названия? Когда темплейт кроме имени, ещё заменит необходимость кастомизации - в части класса, френдли нейма и иконки, это как минимум.
@KirillSidorov
@KirillSidorov 3 жыл бұрын
@@Alex_Kvazis Нет никаких технических имён и нет никаких устройств в ХА, изначально каждое физическое устройство должно получить уникальный идентификатор виртуального объекта(имя), который будет иметь методы управления этим устройством. т.е. в ХА уже создаётся виртуальный объект с дефолтным именем (для вас техническим) с которым и нужно работать. Имя объекта нужно рассматривать, как переменную в программировании, и в эту переменную всегда можно положить ссылку на другое объект. Это базовый принцип ХА - "все - объект"
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
@@KirillSidorov Это разные имена одного и того же. При разветвленной конфигурации на нескольких инстансах с одной общей базой устройств и mqtt - возня с переименованием устройств весьма трудозатраная да и не нужная. В то время как метод показанный в видео - универсальный и легко подходит для этого случая. Собственно и оттестирован он на конфигурации из трёх инстансов.
@KirillSidorov
@KirillSidorov 3 жыл бұрын
@@Alex_Kvazis Не очень понятен пример. Имена mqtt и имена объектов в ХА никак не связаны. ХА берет имена объектов mqtt, как первичное дефотное и не более. Пример. Вы добавили в mqtt устройство 0x00124b00239f650c, в ХА оно появилось с именем light.0x00124b00239f650c. Теперь вы заходите только в ХА и переименовываете light.0x00124b00239f650c -> light.kitchen и все. У вас объект типа light имеет понятное имя в ХА, при этом сохранена ссылка на физическое устройство 0x00124b00239f650c. Теперь допустим вы хотите заменить устройство, вы просто добавляете в mqtt новое устройство, допустим 0x12435, и в ХА устройство появляется light.0x12435 переименовываете опять в light.kitchen и у вас получается точно такой же эффект, как на видео, но без создания объектов прослоек. Нужно понимать, что в ХА нет физических устройств, а есть только виртуальные объекты, которые содержат следующую информацию 1. Имя или идентификатор, который участвует в автоматизациях, темлейтах и прочих штуках, мы можем его менять и задавать самостоятельно. 2. Тип объекта, который определяет методы и сервисы применимые к объекту. 3. Ссылка на физический объект если он есть. Эту ссылку мы не видим, менять не можем. 4. Протокол до физического объекта. Именно пункты (4,5) определяются связь с физическим устройством, а не имя. А разных инстансах ХА могут быть разные имена объектов, но при этом они могут иметь одинаковую ссылку и протокол до физического устройства. Суть объектов template она вообще в другом.
@VadimKulik
@VadimKulik 3 жыл бұрын
А я согласен, Alex Kvazis, какой-то антисовет даёт имхо. Нет никакого смысла и даже вредно под каждое устройство описывать виртуальный дубль. Этот инструмент должен использоваться по назначению., типа составных объектов или с особой логикой атрибутов. Я вижу тут только один резон, что т.к. всё это описывается в настройках, то всё попадёт в бекап обычной конфигурации, а следовательно если внезапно развернуть новый HA завести устройства, то всё заработает как было. Но даже не так, стандартный бекап и так папку .storage в которой и так есть реальзое описание физических объектов core.entity_registry, а раз оно тоже бекапится то смысл в подходе Alexa остаётся только в возможности быстрой перекидки нескольких девайсов, а это весьма специфичный кейс, чтоб его рекомендовать как хорошую практику. Давно перешёл к тому, что меняю entity_id сразу после добавления устройства, тут главное и что самое смешное сложное, придумать унифицированный подход к именованию и придерживаться его. Короче рано или поздно супергибкость и наоборот дубовость некоторых возможностей HA будет укрощена рекомендациями )
@zerkalka
@zerkalka 3 жыл бұрын
HACS? HACKS!
@Alex_Kvazis
@Alex_Kvazis 3 жыл бұрын
Home Assistant Community Store
@zerkalka
@zerkalka 3 жыл бұрын
@@Alex_Kvazis Home Assistant Community KvaziStore!
Home Assistant. Lesson 10.1 Practical Cases - Packages, Working with Lighting
18:36
Alex Kvazis - технологии умного дома
Рет қаралды 30 М.
Home Assistant Lessons - Control your smart home via Telegram from anywhere in the world
16:54
Alex Kvazis - технологии умного дома
Рет қаралды 21 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Home Assistant. Lesson 8.2, creating binary sensors, templates, time
8:54
Alex Kvazis - технологии умного дома
Рет қаралды 23 М.
Practice Home Assistant. Dealing with templates, part 1. Templates - expressions
12:07
Alex Kvazis - технологии умного дома
Рет қаралды 16 М.
Home Assistant. Lesson 6.1 Archive. Adding Xiaomi Wi-Fi Devices, Tokens, Creating Sensors
16:20
Alex Kvazis - технологии умного дома
Рет қаралды 36 М.
Home Assistant - binary sensors, learning and applying
19:08
Alex Kvazis - технологии умного дома
Рет қаралды 22 М.
Home Assistant. Lesson 10.5 Practical cases - energy monitoring on data from the device
10:35
Alex Kvazis - технологии умного дома
Рет қаралды 16 М.
Home Assistant. Lesson 12.1 Interface - Lovelace, auto-entities map
14:08
Alex Kvazis - технологии умного дома
Рет қаралды 24 М.
home assistant. Lesson 8.3 Scene Studying scenes, using them to control lighting
20:41
Alex Kvazis - технологии умного дома
Рет қаралды 14 М.
Home Assistant. ARCHIVE. Lesson 7.1 Backup to Google Drive
15:42
Alex Kvazis - технологии умного дома
Рет қаралды 28 М.