Активность
Новый подписчик (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.<имя бризера> появились. Пока больше ничего не пробовал, возникла проблема, что у меня две базовые стации, а библитека рассчитана на то, что базовая станция только одна. Хотя вроде структура объектов позволяет работать с несколькими базовыми станциями без кардинальных изменений. В общем, сел читать учебник по питону :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>»
Регистрация
Присоединился к порталу