Пользователь

(dima11235)

Активность


Получил новое достижение

Новый подписчик (rommas)

Получил лайк от пользователя за коментарий написанный к статье Управление бризером Tion из Home Assistant

«<p>Вроде получилось подключить несколько базовых станций. Ниже правки, на случай, если кому-то еще пригодится.</p><p>Файл homeassistant/lib/python3.8/site-packages/tion/tion.py</p> <p>class TionApi - меняем</p> <p>self._data: Tion = None<br />на<br />self._data: Tion = []</p> <p>return f"TionApi({self.authorization}, data={'Tion()' if self._data else None})"<br />на<br />return f"TionApi({self.authorization}, data=[] ({len(self._data)} items)"</p> <p></p> <p>в методе get_data меняем</p> <p>self._data = None<br />на<br />self._data = []</p> <p>self._data: Tion = Tion(response.json()[0])<br />на<br />locations = response.json()<br />for location in locations:<br />    self._data.append(Tion(location))</p> <p></p> <p>в методе  _get_zones_data меняем</p> <p>for zone in self._data.zones:<br />    if any([<br />        not name_part and not guid,<br />        guid and zone.guid == guid,<br />        name_part and name_part.lower() in zone.name.lower()<br />             ]):<br />        result.append(zone) <br />на<br />    for location in self._data:<br />        for zone in location.zones:<br />            if any([<br />               not name_part and not guid,<br />               guid and zone.guid == guid,<br />               name_part and name_part.lower() in zone.name.lower()<br />                     ]):<br />               result.append(zone)</p> <p></p> <p>в методе  _get_devices_data меняем</p> <p>        for zone in self._data.zones:<br />            for device in zone.devices:<br />                if any([<br />                        not name_part and not guid and not type,<br />                        guid and device.guid == guid,<br />                        name_part and name_part.lower() in device.name.lower(),<br />                        type and type.lower() in device.type.lower()<br />                       ]):<br />                   devices_data.append(device)<br />                   zones.append(zone)</p> <p>на</p> <p>     for location in self._data:<br />                for zone in location.zones:<br />                    for device in zone.devices:<br />                        if any([<br />                                not name_part and not guid and not type,<br />                                guid and device.guid == guid,<br />                                name_part and name_part.lower() in device.name.lower(),<br />                                type and type.lower() in device.type.lower()<br />                               ]):<br />                            devices_data.append(device)<br />                            zones.append(zone)</p> <p></p>»

Получил лайк от пользователя за коментарий написанный к статье Управление бризером Tion из Home Assistant

«<p>Вроде получилось подключить несколько базовых станций. Ниже правки, на случай, если кому-то еще пригодится.</p><p>Файл homeassistant/lib/python3.8/site-packages/tion/tion.py</p> <p>class TionApi - меняем</p> <p>self._data: Tion = None<br />на<br />self._data: Tion = []</p> <p>return f"TionApi({self.authorization}, data={'Tion()' if self._data else None})"<br />на<br />return f"TionApi({self.authorization}, data=[] ({len(self._data)} items)"</p> <p></p> <p>в методе get_data меняем</p> <p>self._data = None<br />на<br />self._data = []</p> <p>self._data: Tion = Tion(response.json()[0])<br />на<br />locations = response.json()<br />for location in locations:<br />    self._data.append(Tion(location))</p> <p></p> <p>в методе  _get_zones_data меняем</p> <p>for zone in self._data.zones:<br />    if any([<br />        not name_part and not guid,<br />        guid and zone.guid == guid,<br />        name_part and name_part.lower() in zone.name.lower()<br />             ]):<br />        result.append(zone) <br />на<br />    for location in self._data:<br />        for zone in location.zones:<br />            if any([<br />               not name_part and not guid,<br />               guid and zone.guid == guid,<br />               name_part and name_part.lower() in zone.name.lower()<br />                     ]):<br />               result.append(zone)</p> <p></p> <p>в методе  _get_devices_data меняем</p> <p>        for zone in self._data.zones:<br />            for device in zone.devices:<br />                if any([<br />                        not name_part and not guid and not type,<br />                        guid and device.guid == guid,<br />                        name_part and name_part.lower() in device.name.lower(),<br />                        type and type.lower() in device.type.lower()<br />                       ]):<br />                   devices_data.append(device)<br />                   zones.append(zone)</p> <p>на</p> <p>     for location in self._data:<br />                for zone in location.zones:<br />                    for device in zone.devices:<br />                        if any([<br />                                not name_part and not guid and not type,<br />                                guid and device.guid == guid,<br />                                name_part and name_part.lower() in device.name.lower(),<br />                                type and type.lower() in device.type.lower()<br />                               ]):<br />                            devices_data.append(device)<br />                            zones.append(zone)</p> <p></p>»

Добавил комментарий к статье Управление бризером Tion из Home Assistant

«<p>Вроде получилось подключить несколько базовых станций. Ниже правки, на случай, если кому-то еще пригодится.</p><p>Файл homeassistant/lib/python3.8/site-packages/tion/tion.py</p> <p>class TionApi - меняем</p> <p>self._data: Tion = None<br />на<br />self._data: Tion = []</p> <p>return f"TionApi({self.authorization}, data={'Tion()' if self._data else None})"<br />на<br />return f"TionApi({self.authorization}, data=[] ({len(self._data)} items)"</p> <p></p> <p>в методе get_data меняем</p> <p>self._data = None<br />на<br />self._data = []</p> <p>self._data: Tion = Tion(response.json()[0])<br />на<br />locations = response.json()<br />for location in locations:<br />    self._data.append(Tion(location))</p> <p></p> <p>в методе  _get_zones_data меняем</p> <p>for zone in self._data.zones:<br />    if any([<br />        not name_part and not guid,<br />        guid and zone.guid == guid,<br />        name_part and name_part.lower() in zone.name.lower()<br />             ]):<br />        result.append(zone) <br />на<br />    for location in self._data:<br />        for zone in location.zones:<br />            if any([<br />               not name_part and not guid,<br />               guid and zone.guid == guid,<br />               name_part and name_part.lower() in zone.name.lower()<br />                     ]):<br />               result.append(zone)</p> <p></p> <p>в методе  _get_devices_data меняем</p> <p>        for zone in self._data.zones:<br />            for device in zone.devices:<br />                if any([<br />                        not name_part and not guid and not type,<br />                        guid and device.guid == guid,<br />                        name_part and name_part.lower() in device.name.lower(),<br />                        type and type.lower() in device.type.lower()<br />                       ]):<br />                   devices_data.append(device)<br />                   zones.append(zone)</p> <p>на</p> <p>     for location in self._data:<br />                for zone in location.zones:<br />                    for device in zone.devices:<br />                        if any([<br />                                not name_part and not guid and not type,<br />                                guid and device.guid == guid,<br />                                name_part and name_part.lower() in device.name.lower(),<br />                                type and type.lower() in device.type.lower()<br />                               ]):<br />                            devices_data.append(device)<br />                            zones.append(zone)</p> <p></p>»

Ответил на комментарий к статье Управление бризером Tion из Home Assistant

«<p>У меня объекты climate.&lt;имя бризера&gt; появились. Пока больше ничего не пробовал, возникла проблема, что у меня две базовые стации, а библитека рассчитана на то, что базовая станция только одна. Хотя вроде структура объектов позволяет работать с несколькими базовыми станциями без кардинальных изменений. В общем, сел читать учебник по питону :D.</p>»

Получил новое достижение

Получил лайк от пользователя за коментарий написанный к статье Управление бризером Tion из Home Assistant

«<p>Проблема решилась небольшой правкой библиотеки tion - заменой в файле</p><p>.../lib/python3.8/site-packages/tion/tion.py</p><p> строки  </p><p>class TionApi: auth_fname = "tion_auth" </p><p>на</p><p> class TionApi: auth_fname = "/tmp/tion_auth"  </p>»

Ответил на комментарий к статье Управление бризером Tion из Home Assistant

«<p>Проблема решилась небольшой правкой библиотеки tion - заменой в файле</p><p>.../lib/python3.8/site-packages/tion/tion.py</p><p> строки  </p><p>class TionApi: auth_fname = "tion_auth" </p><p>на</p><p> class TionApi: auth_fname = "/tmp/tion_auth"  </p>»

Получил новое достижение

Ответил на комментарий к статье Управление бризером Tion из Home Assistant

«<p>Добрый день. Установил компоненты. При перезапуске HA у меня аналогичная ошибка в логе:</p><p>ERROR (MainThread) [homeassistant.setup] Error during setup of component tion Traceback (most recent call last): File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py", line 174, in _async_setup_component result = await hass.async_add_executor_job( File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/homeassistant/.homeassistant/custom_components/tion/__init__.py", line 41, in setup api = TionApi(config[DOMAIN][CONF_USERNAME], config[DOMAIN][CONF_PASSWORD], min_update_interval_sec=(config[DOMAIN][CONF_SCAN_INTERVAL]).seconds) File "/srv/homeassistant/lib/python3.8/site-packages/tion/tion.py", line 418, in __init__ self._get_authorization() File "/srv/homeassistant/lib/python3.8/site-packages/tion/tion.py", line 456, in _get_authorization with open(TionApi.auth_fname, "w") as file: PermissionError: [Errno 13] Permission denied: 'tion_auth'</p>»

Регистрация

Присоединился к порталу