mavrikkk / ha_kettler

allows you to connect Redmond SkyKettle, SkyCooker and SkyHeat to your Home Assistant. see README to know further
131 stars 50 forks source link

Предлагаю перевести компонент на использование config flow #11

Closed notabene00 closed 4 years ago

notabene00 commented 4 years ago

Для начала хочу поблагодарить за большую работу по расковыриванию протокола. Компонент отличный и потому вдохновляет сделать его еще лучше. Любое предлагаемое изменение готов обсудить.

Суть: У меня не получилось красиво и оставить конфигурацию через yaml, и добавить config flow, поэтому я выпилил всё связанное с ямлом к чертям.

Снимок экрана 2020-04-08 в 18 40 14

В форме наличествуют проверки: валидности мака, длины пароля и дубля конфига. Если второй раз добавляя указать тот же мак, то система скажет "уже есть" и прервет добавление. Если указать невалидный мак или пароль неверной длины, то подсказка об этом вылезет в том же окне и будет ждать исправлений, не давая продолжить с невалидными данными.

Config flow: не требует залезания в текстовые файлы, не требует перезагрузки для добавления/удаления конфигурации, позволяет уже сейчас добавить несколько чайников в один сетап. Так же для каждой сущности в интеграции теперь генерируется unique_id, что позволяет позже прямо из веб-интерфейса, без перезагрузок менять entity_id на любой удобный.

Снимок экрана 2020-04-08 в 18 55 39
mavrikkk commented 4 years ago

config flow очень классная штука. Пытался с наскоку его одолеть, но не получилось, а потом времени не было, чтобы копаться и разбираться. Классно, что вы разобрались! Постараюсь побыстрее ознакомиться с вашими правками и с удовольствием приму их )

mavrikkk commented 4 years ago

Пользуясь случаем, может у вас есть примеры организации перевода интеграций на несколько языков? В моем проекте https://github.com/mavrikkk/ha_routes это очень бы пригодилось.

notabene00 commented 4 years ago

Примеров перевода интеграций нет (думаю, можно прямо тут в компонентах посмотреть), сам только-только config flow освоил, нужды переводить сами состояния, атрибуты и прочее пока не было. А насчет Вашего проекта _haroutes. Может, я несколько неверно понял суть... это не то же самое, что и одно из последних нововведений?

notabene00 commented 4 years ago
Снимок экрана 2020-04-10 в 01 33 08 Снимок экрана 2020-04-10 в 02 21 30 Снимок экрана 2020-04-10 в 02 20 39

Днем допилю это дело и запушу

mavrikkk commented 4 years ago

да, моя интеграция чем то похожа на нововведение, однако моя интеграция более тонкая в настройке и создана задолго до офф релиза ) на гитхабе в компонентах смотрел, там нет ничего. Как я понял, они не хранят переводы в интеграциях. Однако для сторонних интеграций предоставляют такую возможность. Только описания мало (( Ладно, может докопаюсь до истины когданть...