Open false-coder opened 7 months ago
Это ошибка в HomeAssistant Core в версии 2024.01.хх Вот описание проблемы не только с Тионом https://github.com/home-assistant/core/issues/107633
Это ошибка в HomeAssistant Core в версии 2024.01.хх Вот описание проблемы не только с Тионом home-assistant/core#107633
В HomeAssistant Core ошибок нет, они просто в этой версии привели тип данных к обязательному str. Об этом писали тут еще в декабре 2022: https://github.com/airens/tion_home_assistant/issues/37 На стороне HA это поправлено не будет, надо править интеграцию.
Но я согласен с airens, https://github.com/airens/tion_home_assistant/issues/47#issuecomment-1890846214 вообще непонятно, как теперь передать в бризер целевой уровень CO2 и ограничения по скорость (1-2, например), если согласно спецификации fan_modes должны быть предустановлены заранее.
Наверное, только городить input_number'ы для целевого CO2 и типа приточки (дом, улица, смешанный), и еще input_text для режимов работы вентилятора с ограничениями ("1-3").
А в fan_mode и fan_modes оставить жесткие режимы (0,1,2,3,4,5, auto, off) для того, чтобы в другие системы (в умный дом яндекса и гугл) улетало то, что они способны увидеть, а также, чтобы можно было через стандартную карточку включить этот жесткий режим. Ну и увидеть текущий.
Вот тут еще похожее предложение писали: https://github.com/airens/tion_home_assistant/issues/46#issuecomment-1892000281
В общем, есть предложение, как переделать модуль для работы по CO2. Я пока остановился на том, чтобы сделать:
Например у меня все 5 бризеров работают всего в 2-х режимах, и у знакомы тоже так же. В спальне, включаем с 20:00 и до 08:00 на 1 скорость. Например режим PRESET_SLEEP В гостиной и кабинете, включаем с 08:00 до 21:00 на 2 скорость. Например режим PRESET_ACTIVITY
Написать типовой скрипт несложно: Получили текущее значение CO2 в НА, выставили нужную скорость через службу.
Обновил компонент, вроде все что хотел сделал. Описание: https://github.com/RealLord/tion_home_assistant У меня 5 бризеров дома, в кабинетах, в спальне, в гостинной. Все работает стабильно, на 3S/4S.
4 бризера работают по пресету:
Один по CO2 от Air Magic в гостиной по скрипту, который раз в минуту запускается, определяет СО2 и выставляет скорость вентилятора.
Один по CO2 от Air Magic в гостиной по скрипту, который раз в минуту запускается, определяет СО2 и выставляет скорость вентилятора
приветствую, покажите, пожалуйста, скрипт ПС: как же нам усложнили жизнь, как прекрасно жилось с целевой уставкой типа 1-4:800
Уточню, там не скрипт, а 4 типовые автоматизации, неправильно выразился. Руки пока не доходят собрать из них скрипт с условиями скорости в зависимости от CO2 .
description: "Кабинет TION СО2 500-600"
mode: single
trigger:
- platform: time_pattern
minutes: "5"
condition:
- condition: numeric_state
entity_id: sensor.magicair_co2
above: 500
below: 600
action:
- service: climate.set_fan_mode
target:
entity_id: climate.tion_breezer_3s_2_2
data:
fan_mode: "2"
description: "Кабинет TION СО2 600-700"
mode: single
trigger:
- platform: time_pattern
minutes: "5"
condition:
- condition: numeric_state
entity_id: sensor.magicair_co2
above: 601
below: 700
action:
- service: climate.set_fan_mode
target:
entity_id: climate.tion_breezer_3s_2_2
data:
fan_mode: "3"
description: "Кабинет TION СО2 700-800"
mode: single
trigger:
- platform: time_pattern
minutes: "5"
condition:
- condition: numeric_state
entity_id: sensor.magicair_co2
above: 701
below: 800
action:
- service: climate.set_fan_mode
target:
entity_id: climate.tion_breezer_3s_2_2
data:
fan_mode: "4"
description: "Кабинет TION СО2 900+"
mode: single
trigger:
- platform: time_pattern
minutes: "5"
condition:
- condition: numeric_state
entity_id: sensor.magicair_co2
above: 901
action:
- service: climate.set_fan_mode
target:
entity_id: climate.tion_breezer_3s_2_2
data:
fan_mode: "6"
У меня бризеры включены почти все время, поэтому реально скорость выше 3 не поднимается вообще.
Уточню, там не скрипт, а 4 типовые автоматизации, неправильно выразился. Руки пока не доходят собрать из них скрипт с условиями скорости в зависимости от CO2 .
https://pastebin.com/raw/t71fex2e спасибо, накидал скрипт и одна автоматизация, в которой триггер - любое изменение датчика со2 из скрипта действие - запуск скрипта принимаю критику по значениям уровня со2) Зы: в условиях везде кроме 0 скорости - сигнализация, чтоб оно по итогу просто выключило бризер
Обновил компонент, вроде все что хотел сделал.
Простите, не знаю как в вашем форке отписаться. Не очень понимаю как режим вентилятора бризера auto работает. Пытаюсь его выбрать, он либо сбрасывается на предыдущий числовой, либо выключает бризер (закономерность не понял, проверял на низком уровне со2 около 550, целевая 800) Так же у вас пресеты в форке описаны, но ха их не понимает и просит другие (в целом ха пишет какие, поэтому это не доставило проблем, а потом я от пресетов отказался в принципе)
Напишите в телегу @Dmitry_Durandin И проверьте пожалуйста, последняя ли у Вас версия с моего форка.
Уточню, там не скрипт, а 4 типовые автоматизации, неправильно выразился. Руки пока не доходят собрать из них скрипт с условиями скорости в зависимости от CO2 .
https://pastebin.com/raw/t71fex2e спасибо, накидал скрипт и одна автоматизация, в которой триггер - любое изменение датчика со2 из скрипта действие - запуск скрипта принимаю критику по значениям уровня со2) Зы: в условиях везде кроме 0 скорости - сигнализация, чтоб оно по итогу просто выключило бризер
посмотрел код. сразу вопросы- показатели CO2 это 0,01% CO2 в воздухе. считается что воздухе (если вы не в оранжерее где растения активно поглощают углекислый газ его содержание 4% - 400). у вас первое условие - выключить бризер при CO2 <350. Как такое может быть?
посмотрел код. сразу вопросы- показатели CO2 это 0,01% CO2 в воздухе. считается что воздухе (если вы не в оранжерее где растения активно поглощают углекислый газ его содержание 4% - 400). у вас первое условие - выключить бризер при CO2 <350. Как такое может быть?
я думаю чо датчик подвирает, потому что меньше 400 показывает изредка. в отпуске были, показывал 269. понимаю что фантастика
@RealLord к сожалению у Вас похоже запрещено создавать Issues в проекте, или я не нашёл где быть первым :(
подскажите, может я что-то не так делаю. в NodeRed пытаюсь передать "авто" следующим образом: msg.payload = { data: { "fan_mode": "auto" } } в Call Services. Нода говорит что всё ок, команда прошла. но бризер не переводится в Авто Режим. Проверил в приложении от тионов. Хотя если той же строкой передать цифру или off - то всё отлично отрабатывает.
Если я пытаюсь обоготить строку добавив target_co2: msg.payload = { data: { "fan_mode": "auto","target_co2":"800" } } то получаю ошибку: "HomeAssistantError: extra keys not allowed @ data['target_co2']"
Возможно я что-то не учитываю? Раньше достаточно было передать просто "авто", теперь похоже что-то изменилось, но я ни как не пойму что.
чуть уточню: мне не нужно передавать бризеру параметры по моей задумке. мне просто нужно включить его в Авто режим, чтобы он настройки взял из тех, что у него были настроены в приложении. раньше это работало просто через передачу "auto"
заранее спасибо за помощь :)
@RealLord к сожалению у Вас похоже запрещено создавать Issues в проекте, или я не нашёл где быть первым :(
подскажите, может я что-то не так делаю. в NodeRed пытаюсь передать "авто" следующим образом: msg.payload = { data: { "fan_mode": "auto" } } в Call Services. Нода говорит что всё ок, команда прошла. но бризер не переводится в Авто Режим. Проверил в приложении от тионов. Хотя если той же строкой передать цифру или off - то всё отлично отрабатывает.
Если я пытаюсь обоготить строку добавив target_co2: msg.payload = { data: { "fan_mode": "auto","target_co2":"800" } } то получаю ошибку: "HomeAssistantError: extra keys not allowed @ data['target_co2']"
Возможно я что-то не учитываю? Раньше достаточно было передать просто "авто", теперь похоже что-то изменилось, но я ни как не пойму что.
чуть уточню: мне не нужно передавать бризеру параметры по моей задумке. мне просто нужно включить его в Авто режим, чтобы он настройки взял из тех, что у него были настроены в приложении. раньше это работало просто через передачу "auto"
заранее спасибо за помощь :)
переходите на проект esp_tion. Стоимость «флешки» 1500₽ и получите локальный бризер
переходите на проект esp_tion. Стоимость «флешки» 1500₽ и получите локальный бризер
спасибо. интересный проект. буду за ним так же следить. но в данный момент он не поможет мне решить мою задачу с автоматическим режимом - он в нём пока ещё не реализован. а базовый функционал у меня и сейчас работает. подождём, посмотрим что у них получится со временем.
переходите на проект esp_tion. Стоимость «флешки» 1500₽ и получите локальный бризер
спасибо. интересный проект. буду за ним так же следить. но в данный момент он не поможет мне решить мою задачу с автоматическим режимом - он в нём пока ещё не реализован. а базовый функционал у меня и сейчас работает. подождём, посмотрим что у них получится со временем.
Реализован сторонним разработчиком, у меня работает. И автор проекта обещает в скором времени релиз с авто режимом
буду за ним так же следить. но в данный момент он не поможет мне решить мою задачу с автоматическим режимом - он в нём пока ещё не реализован
Ну как как мы говорим про интеграции в HA то для ESP HOME есть как минимум два варианта автоматизации.
Да, Вы правы, не заметил что issue не включены. Включил и добавил еще обсуждения. По поводу Авто, все оказалось не просто. В текущей версии на сайте действительно Авто режим не работает. Планирую в эти выходные выложить новую версию, где режим Авто реально будет работать.
К сожалению, пока не смог придумать никакого способа нормально сделать изменение target_co2. В текущей реализации объекта Climate просто нет никаких доступных методов указать СО2. Я уже пару недель думаю над этим вопросом, пока кроме пары пресетов AUTO (speed=1:6, target_co2=800) и COMFORT (speed=1:4, target_co2=600) ничего придумать не смог. Нельзя в текущей организации HomeAssistant добавлять методы и задавать переменные. Свойства - можно сколько угодно, а вот методы жестко заданы в Объекте Climate НА.
Для интересующихся, вот ссылка на описание объекта Climate https://developers.home-assistant.io/docs/core/entity/climate/
Для интересующихся, вот ссылка на описание объекта Climate https://developers.home-assistant.io/docs/core/entity/climate/
а мы не можем как то сначала преднастраивать бризер через параметры, а только потом пытаться включить его через климат в авто режим? в НодРеде это решалось бы через 2 итерации. но это и не проблема. как бы это выглядило в ХА - не знаю, давно ушёл в ноду, уже и забыл как там всё в жинже пишется.
Выкатил релиз 1.06 https://github.com/RealLord/tion_home_assistant/blob/master/CHANGELOG.md
а мы не можем как то сначала преднастраивать бризер через параметры, а только потом пытаться включить его через климат в авто режим? в НодРеде это решалось бы через 2 итерации. но это и не проблема. как бы это выглядило в ХА - не знаю, давно ушёл в ноду, уже и забыл как там всё в жинже пишется.
Здесь примерно то же самое, вот чем можно управлять:
Порядок управления не имеет значения. Но самое простое включение через пресет и потом если надо, дополнительно регулировка необходимого параметра.
предлагаю перенести дискуссию с идеей по включению в проект: https://github.com/RealLord/tion_home_assistant/discussions/3
Выкатил релиз 1.06 https://github.com/RealLord/tion_home_assistant/blob/master/CHANGELOG.md
а мы не можем как то сначала преднастраивать бризер через параметры, а только потом пытаться включить его через климат в авто режим? в НодРеде это решалось бы через 2 итерации. но это и не проблема. как бы это выглядило в ХА - не знаю, давно ушёл в ноду, уже и забыл как там всё в жинже пишется.
Здесь примерно то же самое, вот чем можно управлять:
- источник воздуха через swing_mode
- скорость вентилятора через fan_mode (здесь же режим авто)
- обогреватель ON/OFF через HVACMode (OFF, HEAT, FAN_ONLY)
Порядок управления не имеет значения. Но самое простое включение через пресет и потом если надо, дополнительно регулировка необходимого параметра.
Здравствуйте!
Можно ли как-то сделать кастомизацию ваших пресетов на локальной установке? Я могу подправить код под себя прямо в файле, но это неправильный путь. Мне нужно создать пресеты под свои условия, там несколько другие значения СО2 и скорости потока. Буду благодарен за совет!
При вызове службы управления вентилятором climate.set_fan_mode происходит ошибка, когда в качестве параметра заданы диапазоны скорости и/или CO (вообще при наличии любых чисел в тексте параметра), например 2-4:800:
Службу вызываю из автоматизации, созданной в графическом интерфейсе. Даже без выполнения всей автоматизации, просто при запуске одного блока вручную прямо из графического редактора автоматизации, вылезает окно "Ошибка при выполнении действия Unknown error".
Если в fan_mode задано "auto" или "off", то срабатывает правильно. Во всех остальных случаях пишет, что ожидается str, а найден int. Раньше работало, но в какой-то момент перестало, заметил с месяц назад. При попытке вызова службы set_fan_mode в логе выскакивает сразу две ошибки:
Пробовал задавать значение по всякому, и в кавычках, и через | и >-, и даже так - {{ ("2-4:800")|string }}, безрезультатно.
Бризер Тион 4S. Версия компонента c055732 (1.03) Core 2024.1.3 Supervisor 2023.12.0 Operating System 11.4