Closed notabene00 closed 4 years ago
config flow очень классная штука. Пытался с наскоку его одолеть, но не получилось, а потом времени не было, чтобы копаться и разбираться. Классно, что вы разобрались! Постараюсь побыстрее ознакомиться с вашими правками и с удовольствием приму их )
Пользуясь случаем, может у вас есть примеры организации перевода интеграций на несколько языков? В моем проекте https://github.com/mavrikkk/ha_routes это очень бы пригодилось.
Примеров перевода интеграций нет (думаю, можно прямо тут в компонентах посмотреть), сам только-только config flow освоил, нужды переводить сами состояния, атрибуты и прочее пока не было. А насчет Вашего проекта _haroutes. Может, я несколько неверно понял суть... это не то же самое, что и одно из последних нововведений?
Днем допилю это дело и запушу
да, моя интеграция чем то похожа на нововведение, однако моя интеграция более тонкая в настройке и создана задолго до офф релиза ) на гитхабе в компонентах смотрел, там нет ничего. Как я понял, они не хранят переводы в интеграциях. Однако для сторонних интеграций предоставляют такую возможность. Только описания мало (( Ладно, может докопаюсь до истины когданть...
Для начала хочу поблагодарить за большую работу по расковыриванию протокола. Компонент отличный и потому вдохновляет сделать его еще лучше. Любое предлагаемое изменение готов обсудить.
Суть: У меня не получилось красиво и оставить конфигурацию через yaml, и добавить config flow, поэтому я выпилил всё связанное с ямлом к чертям.
В форме наличествуют проверки: валидности мака, длины пароля и дубля конфига. Если второй раз добавляя указать тот же мак, то система скажет "уже есть" и прервет добавление. Если указать невалидный мак или пароль неверной длины, то подсказка об этом вылезет в том же окне и будет ждать исправлений, не давая продолжить с невалидными данными.
Config flow: не требует залезания в текстовые файлы, не требует перезагрузки для добавления/удаления конфигурации, позволяет уже сейчас добавить несколько чайников в один сетап. Так же для каждой сущности в интеграции теперь генерируется unique_id, что позволяет позже прямо из веб-интерфейса, без перезагрузок менять entity_id на любой удобный.