aohzan / ipx800 Goto Github PK
View Code? Open in Web Editor NEWIPX800 V4 integration for Home-Assistant
License: Apache License 2.0
IPX800 V4 integration for Home-Assistant
License: Apache License 2.0
2022-09-28 21:13:04.248 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ipx800v4 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-09-28 21:13:04.249 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration browser_mod which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-09-28 21:13:04.266 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ui_lovelace_minimalist which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-09-28 21:13:18.439 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:13:57.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:14:37.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:15:55.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:19:23.001 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:20:16.529 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140243427084464] Timeout occurred while connecting to IPX800.
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 61, in request_api
response = await self._session.get(
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 535, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 542, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 907, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 986, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1049, in create_connection
sock = await self._connect_sock(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect
return await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 60, in request_api
with async_timeout.timeout(self._request_timeout):
File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 116, in __exit__
self._do_exit(exc_type)
File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 212, in _do_exit
raise asyncio.TimeoutError
asyncio.exceptions.TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 676, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 713, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 535, in async_handle_light_on_service
await light.async_turn_on(**filter_turn_on_params(light, params))
File "/config/custom_components/ipx800v4/light.py", line 106, in async_turn_on
await self.control.on()
File "/usr/local/lib/python3.10/site-packages/pypx800/relay.py", line 28, in on
await self._ipx.request_api(params)
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 81, in request_api
raise Ipx800CannotConnectError(
pypx800.exceptions.Ipx800CannotConnectError: Timeout occurred while connecting to IPX800.
2022-09-28 21:20:21.529 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140243427084464] Timeout occurred while connecting to IPX800.
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 61, in request_api
response = await self._session.get(
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 535, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 542, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 907, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 986, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1049, in create_connection
sock = await self._connect_sock(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect
return await fut
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 60, in request_api
with async_timeout.timeout(self._request_timeout):
File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 116, in __exit__
self._do_exit(exc_type)
File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 212, in _do_exit
raise asyncio.TimeoutError
asyncio.exceptions.TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 676, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 713, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 535, in async_handle_light_on_service
await light.async_turn_on(**filter_turn_on_params(light, params))
File "/config/custom_components/ipx800v4/light.py", line 106, in async_turn_on
await self.control.on()
File "/usr/local/lib/python3.10/site-packages/pypx800/relay.py", line 28, in on
await self._ipx.request_api(params)
File "/usr/local/lib/python3.10/site-packages/pypx800/ipx800.py", line 81, in request_api
raise Ipx800CannotConnectError(
pypx800.exceptions.Ipx800CannotConnectError: Timeout occurred while connecting to IPX800.
2022-09-28 21:20:23.003 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:21:26.001 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:22:51.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:23:31.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:24:44.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
2022-09-28 21:25:36.002 ERROR (MainThread) [custom_components.ipx800v4] Error fetching ipx800v4 data: Failed to communicating with API: Timeout occurred while connecting to IPX800.
Bonjour,
J’ai ce message d’erreur depuis la mise à jour:
Pour l’instant j’ai Rollback et tout est en ordre.
2023-05-30 23:13:32.333 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration ipx800v4 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-05-30 23:14:24.849 ERROR (MainThread) [custom_components.ipx800v4] Cannot connect to the IPX800 named IPX800, check host, port or api_key
2023-05-30 23:14:24.870 WARNING (MainThread) [homeassistant.config_entries] Config entry 'IPX800' for ipx800v4 integration not ready yet; Retrying in background
2023-05-30 23:14:40.876 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry IPX800 for ipx800v4
File "/config/custom_components/ipx800v4/init.py", line 207, in async_setup_entry
Hello,
J'essaie de passer sur cette intégration & je n'arrive pas à faire passer mon entrée analogique qui est branchée sur un TC100 :
- name: IPX800 Température Piscine
unit_of_measurement: '°C'
device_class: "temperature"
type: "analogin"
component: "sensor"
id: 1
Je suis toujours en unavailable sur Home Assistant. :-/
For your information, this message is logged in HA log system
Detected code that calls async_forward_entry_setup for integration ipx800v4 with title: IPX800 and entry_id: 6a8c8b5c1841842bc777b376e5147d9b, during setup without awaiting async_forward_entry_setup, which can cause the setup lock to be released before the setup is done. This will stop working in Home Assistant 2025.1. Please report this issue.
I'm running HA 2024.7.2 and ipx800 3.8.1
I need to use "analogin" or "virtualanalogin" type but I also need to add some calculations, could you add value_template option please or do you have another solution to map IPX800 sensor formulas to Home Assistant ?
Hello
est il possible de récupérer les compteurs de l'IPX?
je n'ai pas trouvé le type adéquat
merci
Bonjour,
J'ai un petit, j'utilise home assistant en docker avec un ipx800v4 et j'aimerais bien mettre en place le push global (ipx800v4_refresh/on), le soucis c'est que je suis en docker et donc l'ip avec laquelle arrive les demandes de l'ipx sont en 172.X.X.X et non avec l'ip réel de l'ipx. J'ai donc logs des erreurs comme quoi l'ip n'est pas celle d'un ipx...
Comment faire dans ce cas ?
Merci d'avance pour ta réponse.
Having 2 IPX v4 in the network, in the same subnet as the home assistant.
IPX Pushes are not working since addition of API auth controls.
I don't know why but the script init always take the 2nd IP of the IPX so request.remote is alway different of host and raise "API call not coming from IPX800 IP".
Push works when commenting this control.
It would be nice if this can be fixed cause I cannont fixe it from my side.
Regards*
C.
J'ai installé ipx800 sur HA.
J'ai inclu dans le fichier configuration :
ipx800v4:
- name: IPX800_V4
host: "192.168.0.43"
api_key: "motdepasse"
devices:
- name: spotpiscine
icon: mdi:water-boiler
type: "relay"
component: "switch"
id: 3
```
Mais j'ai échec de la configuration après redémarrage...
Pouvez-vous m'aider ?
Merci
Hello,
An idea to integrate icon_template on switch...
For example:
icon_template: "mdi:window-shutter{{ '-open' if is_state('switch.velux_escalier','on') else '' }}"
Bonjour,
Je viens de mettre en place ton extension sur HA, merci pour ce travail, cela fonctionne très bien.
Cependant, je pense qu'il y aurait une optimisation à faire côté API.
J'ai vu dans les logs que tu utilisais un Get=all.
Dans mon cas, j'ai beaucoup de modules GCE et donc beaucoup d'entrées, de sorties, de relay... bref, ça ramène beaucoup de choses par rapport à ce que j'utilise réellement.
Dans Jeedom que j'utilisais jusqu'à présent, on cochait ce qu'on voulait rapporter :
[All] Tous
[A] Entrée analogique
[C] Compteurs
[R] Sortie digital (relai)
[D] Entrès digital
[VI] Entrée virtuel
[VO] Sortie virtuel
[VA] Entrée analogique virtuelle
[PW] Watchdog
[XTHL] Sonde THL
[VR] Volet roulant
[XENO] EnOcean
[FP] Fil pilote
[G] X-Dimmer
[T] Thermostat
[XPWM] PWM
[X010V] 010V
Si c'est possible, dans les paramètres de l'extension de sélectionner uniquement ce qu'on utilise... ça pourrait être top !
Merci.
PS : je voulais modifier le readme pour compléter quelques infos que j'aurais bien eu besoin quand j'ai fait mon install mais ça a créé un fork. Je ne sais pas comment faire pour être "contributeur" de ton projet. Merci.
Hello,
I have the last version:
Describe the bug
it seems to work but for some reasons I have plenty of error in my log.
In option I have :
Enable newly added entities. : DISABLE
Enable polling for updates : ENABLE
Configuration
ipx800v4:
- name: IPX800
host: 192.168.0.39
api_key: xxx
devices:
- name: Portail_State
type: "digitalin"
component: "binary_sensor"
id: 4
- name: Portail_Action
type: relay
component: switch
id: 3
Debug logs
2024-02-03 19:19:41.628 ERROR (MainThread) [custom_components.ipx800v4] Unexpected error fetching ipx800v4 data: IPX800 API request error
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 300, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 256, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ipx800v4/__init__.py", line 166, in async_update_data
return await ipx.global_get()
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pypx800/ipx800.py", line 139, in global_get
values = await self.request_api({"Get": "all"})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pypx800/ipx800.py", line 78, in request_api
raise Ipx800RequestError("IPX800 API request error")
pypx800.exceptions.Ipx800RequestError: IPX800 API request error
2024-02-03 19:21:41.257 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 243, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 399, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 479, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1066, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1003, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 951, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 300, in state
if (is_on := self.is_on) is None:
^^^^^^^^^^
File "/config/custom_components/ipx800v4/binary_sensor.py", line 61, in is_on
return self.coordinator.data[f"D{self._id}"] == 1
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'D4'
Bonjour,
La nouvelle version qui ne génère plus d'erreur sera-t-elle bientôt disponible.
J'ai tous les jours des groupes de volets ou de lampes qui ne fonctionnent pas correctement...
Merci :)
Bonjour,
J'ai défini une fréquence d'actualisation du 1 sec. Je sais que c'est très court mais j'en ai besoin car beaucoup de capteurs (ouverture de portes, mouvements,...) qui me servent de déclencheurs. Je ne me vois pas créer un scénario dans l'IPX pour chaque relai concerné.
Y a t il une autre solution ?
Merci !
Bonjour,
Je viens de passer la version de dev sur mon serveur HA et je rencontre toujours des bugs :
`
Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/ipx800v4/light.py:77
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 22:47:16 (2 occurrences)
Last logged: 22:48:18
[139693602581328] ('IPX800 api request error, url: %sr%s', 'http://10.0.4.200:80/api/xdevices.json?key=removed&SetR=26', {'product': 'IPX800_V4', 'status': 'Error'}) [139693602581328] ('IPX800 api request error, url: %s
r%s', 'http://10.0.4.200:80/api/xdevices.json?key=removed&SetR=4', {'product': 'IPX800_V4', 'status': 'Error'})
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 143, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1515, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 206, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 649, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 692, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 308, in async_handle_light_on_service
await light.async_turn_on(**params)
File "/usr/src/homeassistant/homeassistant/components/group/light.py", line 239, in async_turn_on
await self.hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1515, in _execute_service
await handler.job.target(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 206, in handle_service
await self.hass.helpers.service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 649, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 692, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 308, in async_handle_light_on_service
await light.async_turn_on(**params)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 717, in async_turn_on
await self.hass.async_add_executor_job(ft.partial(self.turn_on, **kwargs))
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/ipx800v4/light.py", line 77, in turn_on
self.control.on()
File "/usr/local/lib/python3.8/site-packages/pypx800/init.py", line 95, in on
self._request_api(params)
File "/usr/local/lib/python3.8/site-packages/pypx800/init.py", line 37, in _request_api
raise Exception(
Exception: ('IPX800 api request error, url: %sr%s', 'http://10.0.4.200:80/api/xdevices.json?key=removed&SetR=26', {'product': 'IPX800_V4', 'status': 'Error'})
Que puis-je faire pour t'aider à les résoudre ?
Bonjour,
Je m'apprête à basculer de Jeedom à Home Assistant et je suis en train de refaire mes scénarios avec Node-Red.
Quand je lancer un cover_open ou cover_close, j'obtiens cette erreur :
"Call-service API error. Error Message: ('IPX800 api request error, url: %s`r%s', 'http://10.0.4.200:80/api/xdevices.json?key=removed&SetVR05=100', {'product': 'IPX800_V4', 'status': 'Error'})"
Pour autant l'action se réalise bien, d'où ce message...
Quand j'essaie de passer cette même commande (en remplaçant l'apikey), ça passe sans erreur.
Je ne sais pas si ça peut avoir une relation, j'ai fixé le scan_interval à 2.
Merci
Bonjour,
Le lien HACS pour l'IPX800-V4 remonte une erreur inconnue, est-il possible de m'aider svp ?
Merci
Les entitées remontées dans HA sont de type string.
Serait-il possible que ce soit directement des number afin de pouvoir effectuer des calculs directement avec?
I have create a switch based on virtualout (id: 4).
The switch state is not updated in home assistant (always off).
If I activate the switch in home assistant, the http request is done on IPX and the virtual out is set on IPX.
But the state come back to off in home assistant....
If I do a binary_sensor, the state is get form IPX to home assistant but I cannot toggle it in homeassistant (for sure it's a sensor).
I think there is a thing with Switch and Virtualout.
Bonjour,
Il me semble qu'il y a une petite erreur sur l'authentification :
ipx800/custom_components/ipx800v4/__init__.py
Line 380 in 1cdb68a
Avec cette ligne si le username est bon, le mot de passe ne sera pas vérifié puisque la 1ère partie de la condition and
est fausse. Je pense qu'il faudrait alors mettre un or
pour que la condition soit vraiment vérifiée.
Et encore merci pour votre travail sur cette nouvelle version !
upstream package have been update, this is just to test and check
Hi,
First, i am not sure used to HA yet so i might be wrong, if that's the case, sorry :)
I am using IPX800V4 to count the water consumption. Using the GCE Pulse counter, 1 Pulse = 1 Liter
Thanks to your integration, i have in HA the entities (sensor.compteur_eau, type : counter, unit_of_measurement: "L")
I am trying to add Water to the energy tab of HA but it is not possible to use it ;
"No matching statistics found"
Open an issue with the author of the integration and link them to (https://developers.home-assistant.io/docs/core/entity/sensor#long-term-statistics).
is it something that is possible ?
Thank you.
Target is to be able through a single PUSH request (IPX side) to force Home Assistant (your custom component) to update all states of its channels & arguments from IPX800.
It will allow us to keep the default "scan_interval" value and have a better user experience :
Hello,
There's a new problem experienced right after the upgrade to release 2021.12 of Home Assistant.
Any feedback on this topic ? Am alone to have this problem ?
Logger: homeassistant.setup
Source: setup.py:153
First occurred: 08:43:13 (1 occurrences)
Last logged: 08:43:13
Setup failed for ipx800v4: Unable to import component: cannot import name 'HTTP_OK' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
Thank you for your help
Simon
Bonsoir, j'ai installé ce jour la derniere version 3.1.0 de votre integration IPX800 et j'ai ce joli message d'erreur dans les logs :
J'imagine que c'est lié à votre tout dernier commit sur l'ajout de cette variable. Je vais downgrader l'install du plugin de mon côté et retenter une installation, n'hésitez pas à me faire savoir si vous avez besoin que je reteste cette version 3.1.0
Merci beaucoup pour votre plugin !
Bonjour,
Après avoir cherché dans la doc et dans le code source, je n'arrive pas à trouver comment faire un toggle sur un groupe de lumières.
J'ai tenté d'appeler cette URL mais cela ne fonctionne pas comme attendu : /api/ipx800v4/light.chambre_parents/toggle
Le principe est de pouvoir changer l'état toggle des lumières plutôt que du ON/OFF car l'IPX ne connait pas l'état des lumières à l'avance, et je voudrais éviter les envois de type ON alors que la lumière est déjà sur ON sur HA.
Merci bien !
Mathieu
Bonjour,
C'est encore moi :) J'a commencé à configurer le push pour éviter d'appeler toutes les secondes l'état de toutes les entrées/sorties de l'IPX... je progresse ;).
Le problème du moment c'est la gestion des XDIMMER et des X4VR.
Je pense que l'API retourne une valeur qui correspond soit au 0% d'éclairage ou au % d'ouverture du volet. Dans ton code, pour ce que j'en ai compris, tu alimentes le state avec on ou off. Et du coup, le push ne fonctionne pas...
Est-ce que tu penses que tu pourrais tenir compte des vraies valeurs renvoyées (comme c'est le cas avec le polling) ?
Merci
Bonjour,
Depuis la mise à jour vers HA 2022.6, j'obtiens le message de warning suivant, au démarrage de HA :
WARNING (MainThread) [homeassistant.helpers.frame] Detected integration that uses deprecated `async_get_registry` to access device registry, use async_get instead. Please report issue to the custom component author for ipx800v4 using this method at custom_components/ipx800v4/__init__.py, line 208: device_registry = await dr.async_get_registry(hass)
Merci beaucoup pour votre plugin !
Hello,
Do you think possible to make a distinction between name and friendly name ?
For example:
name: rdc_spots
friendly_name: Spots couloir RDC
Regards
Buonasera, non riesco ad avviare l'integreazione in home assistant.
l'errore è questo:
Questo errore ha avuto origine da un'integrazione personalizzata.
Logger: custom_components.ipx800v4
Source: custom_components/ipx800v4/init.py:156
Integration: GCE IPX800 V4 (documentation, issues)
First occurred: 23:05:56 (4 occurrences)
Last logged: 23:06:19
Cannot connect to the IPX800 named IPX800, check host, port or api_key
Cannot connect to the IPX800 named alessandro, check host, port or api_key
Sicuramente non riesco a compilare correttamente il file configuration.yaml
potete aiutarmi nella compilazione?
i dati sono:
ipx800v4 in rete ip.192.168.1.225 porta 9800
password api: apikey pota:9870
Grazie per l'aiuto
Bonjour,
J'ai un petit problème d'actualisation dans home assistant sur mes entrées digital qui sont pilotées par des interrupteurs monostable.
En effet, j'ai correctement configuré les push message et lors d'un appui bref je vois bien dans les logs passer les push message, mais rien n'apparaît dans mon historique et je n'arrive pas à lancer d'automatisation. Il est nécessaire de faire un appui légèrement plus long sur l'interrupteur pour que cela apparaisse dans la base.
Avez vous également ce problème ? Avez vous fait un réglage particulier ?
J'ai l'impression que le fetching ne se fait pas lors d'un changement trop rapide.
Merci par avance
Log lors d'un appui bref :
2022-10-09 11:26:01.677 DEBUG (MainThread) [custom_components.ipx800v4] Update asked from IPX PUSH
2022-10-09 11:26:01.680 DEBUG (MainThread) [custom_components.ipx800v4] Update asked from IPX PUSH
2022-10-09 11:26:02.263 DEBUG (MainThread) [custom_components.ipx800v4] Finished fetching ipx800v4 data in 0.085 seconds (success: True)
Log lors d'un appui un peu plus long pris en compte par la base :
2022-10-09 11:21:45.874 DEBUG (MainThread) [custom_components.ipx800v4] Finished fetching ipx800v4 data in 0.085 seconds (success: True)
2022-10-09 11:21:46.270 DEBUG (MainThread) [custom_components.ipx800v4] Update asked from IPX PUSH
2022-10-09 11:21:46.464 DEBUG (MainThread) [custom_components.ipx800v4] Finished fetching ipx800v4 data in 0.085 seconds (success: True)
2022-10-09 11:21:49.159 DEBUG (MainThread) [custom_components.ipx800v4] Update asked from IPX PUSH
Describe the bug
Hey Aohzan
Sometimes when I try to turn on/off my switch in my HA, My IPX800v4 dosen't return states to my HA.
The consequences of that is that my switches states on my IPX800v4 look "ON" and the switches on my HA look "OFF"
After that I have this error logs :
Error logs
Enregistreur: custom_components.ipx800v4
Source: helpers/debounce.py:137
intégration: GCE IPX800 V4 ([documentation](https://github.com/Aohzan/ipx800), [problèmes](https://github.com/Aohzan/ipx800/issues))
S'est produit pour la première fois: 21:53:19 (16 occurrences)
Dernier enregistrement: 21:55:15
Unexpected exception from <bound method DataUpdateCoordinator.async_refresh of <homeassistant.helpers.update_coordinator.DataUpdateCoordinator object at 0x7f1332bf8590>>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 137, in _handle_timer_finish
await task
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 288, in async_refresh
await self._async_refresh(log_failures=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 411, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 165, in async_update_listeners
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 491, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1007, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1133, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1068, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1013, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 533, in state
value = self.native_value
^^^^^^^^^^^^^^^^^
File "/config/custom_components/ipx800v4/sensor.py", line 124, in native_value
return self.coordinator.data[f"VA{self._id}"]
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'VA29'
Thank you in advance
Hello !
thanks for the work on HA and IPX800, very useful.
just a quick info, the way you push the API from HA, can be better to avoid multiple declaration in PUSH on the IPX.
they support some variables mentioned here gce wiki push
Do you think I can start a PR with some change around this ?
Describe the bug
Thank you for this integration. It is working very well and speeds up the development process.
I'm not too sure whether it is a bug or something missing in ipx800v4 labels. It seems not possible to push dimmer value to HA, however it possible to send dimmer state (on/off).
There is some side effect when the user switches on and off as this short video shows it. When it is switched on there is a short time when light is set to minimal value then it is set to the last knwon value, when it is switched off, the dimmer value is greyed out and after some time the bar goes to 0
Configuration
ipx800v4:
- name: IPX800
host: "xxx.xxx.xxx.xxx"
api_key: "api_key"
push_password: aaaaa
devices:
# Relays
- name: Chauffe-eau
icon: mdi:water-boiler
type: "relay"
component: "switch"
id: 1
- name: Couloir grenier
icon: mdi:lightbulb
type: "relay"
component: "switch"
id: 2
- name: Porte d'entrée
icon: mdi:outdoor-lamp
type: "relay"
component: "switch"
id: 3
- name: Lampes buffet
icon: mdi:lamp
type: "relay"
component: "switch"
id: 4
- name: Grenier
icon: mdi:lightbulb
type: "relay"
component: "switch"
id: 5
# Dimmers
- name: Suspension entrée
icon: mdi:ceiling-light
type: xdimmer
component: light
id: 3
- name: Suspension centrale
icon: mdi:ceiling-light
type: xdimmer
component: light
id: 4
- name: Couloir
icon: mdi:ceiling-light
type: xdimmer
component: light
id: 1
- name: Portail
icon: mdi:coach-lamp
type: xdimmer
component: light
id: 2
# Fils pilote
- name: Radiateur fenêtre Braii
icon: mdi:radiator
type: x4fp
component: climate
ext_id: 1
id: 1
# Entrées numériques
# - name: Fond du puisard
# icon: mdi:water-minus
# component: digitalin
# type: binary_sensor
# id : 7
# - name: Seuil haut du puisard
# icon: mdi:water-alert-outline
# component: digitalin
# type: binary_sensor
# id: 8
# Capteur THL
- name: Cuisine Braii
icon: mdi:thermometer
type: xthl
component: sensor
id: 1
- name: Cave
icon: mdi:thermometer
type: xthl
component: sensor
id: 2
Expected behavior
Is there a way to push the dimmer value at the same time state is pushed? As a matter of fact, this is not a big deal since I'm not using ipx800v4 interface.
Bar should not be set to 0 after sometime, and dimmer should be set right away to its last value.
Edit: more of a problem. When physical switch is used to switch on or off light, the bar stays at the minimum value, whereas the light is set at the expected value.
Screenshots
If applicable, add screenshots to help explain your problem.
Debug logs
not applicable
First of all, thank you for this ha component which works wonderfully!
Would it be possible to add compatibility with the pilot wire extension of the ipx800: X-4FP ?
I can do the tests if you don't have the required equipment and give you feedback if needed.
Thank you!
Dear,
i have this error every 30 second.
Where is the problem?
Thanks
2022-09-19 19:32:07.127 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 151, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 283, in _async_refresh
self.async_update_listeners()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 110, in async_update_listeners
update_callback()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 348, in _handle_coordinator_update
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 571, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 539, in _stringify_state
if (state := self.state) is None:
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 970, in state
if (is_on := self.is_on) is None:
File "/config/custom_components/ipx800v4/switch.py", line 68, in is_on
return self.coordinator.data[f"R{self._id}"] == 1
KeyError: 'R1'
Bonjour,
Depuis quelques jours les push message ne marchent plus.
J'ai l'erreur suivante :
Cette erreur provient d'une intégration personnalisée
Logger: py.warnings
Source: custom_components/ipx800v4/__init__.py:485
Integration: GCE IPX800 V4 (documentation, issues)
First occurred: 19:16:47 (1 occurrences)
Last logged: 19:16:47
/config/custom_components/ipx800v4/__init__.py:485: RuntimeWarning: coroutine 'DataUpdateCoordinator.async_request_refresh' was never awaited self.coordinator.async_request_refresh()
Difficile de dire si c'est depuis la dernière mise à jour...
Merci
Bonjour,
Déjà merci pour votre plugin sur Home Assistant 😊
J’ai des volets BSO et la fonction n’est pas disponible dans le plugin (sauf erreur de ma part 😊)
J’ai donc sortie les 2 commande api qui permet de fermer et ouvrir les lames :
Le X-4VR dois etre en mode 4 pour que la commande fonctionne !
/api.cgi?Set4VR=3&VrNum=2&PulseDown=1
/api.cgi?Set4VR=3&VrNum=2&PulseUp=1
Set4VR = Modules X-4VR value = 1 to 10
VrNum = Numéro du volet value = 1 to 4
PulseDown = BSO fermer value = 1
PulseUp= BSO ouvert value = 1
Pouvez-vous rajouter l’option dans le plugin ?
Bien cordialement
Alain Fuchs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.