I try to install your integration.
But i start with HA.
Can you tell me : how i can install it ?
I ve try to past the link from your github but it’s not working
Je commence sur HA, j’ai une question dans ta doc tu parles du pypix800 qui est requit. Cependant tu ne dis pas ou faut le mettre dans ta doc et comment bref je voulais juste savoir si il était possible de m’indiquer le répertoire. Si il y a plus à faire que de mettre le fichier pyton dit le moi. PS: Ta première doc je l’ai lu et tout me semble bon j’attends juste de tes nouvelle pour faire un restart…
Pour information il est important de vérifier le temps d’interrogation sur vos box domotique, si vous utilisez Jeedom par exemple aller dans le plugin et dans la configuration pour augmenter ce temps d’interrogation. Trop de demande bloque la connexion vers l’ipx et sous HA cela ne fonctionnera tous simplement pas.
Merci à Mati24 de m’avoir aidé.
For more information, it is important to check the polling time on your home automation box, if you use Jeedom, for example, go to the plugin and in the configuration to increase this polling time. Too much call is blocking the connection to ipx and under HA it just won’t work.
J’aurais besoin d’un peu d’aide, j’explique vite fait la situation, je tourne sur Jeedom actuellement avec ma domotique quasi complète sur ipx800v4 (à l’exception de quelques modules zigbee).
Tout se passe correctement, mais j’aimerais bien essayer HA.
Le seul frein, l’intégration de l’ipx.
Ton travail apparait donc pour moi comme une bénédiction, mais malheureusement je n’arrive pas (encore) à en profiter.
J’ai téléchargé et dezippé, placé le dossier “custom_components/ipx800” dans un répertoire “custom_components” que j’ai donc spécialement créé.
Cela fait donc une redondance (config/custom_components/custom_components/ipx800/ipx800)
Jusque là, j’ai bon ou pas?
Ensuite, si je comprends bien, je dois modifier le ficher configuration.yaml?
Actuellement, il ressemble à ça:
Configure a default setup of Home Assistant (frontend, api, etc)
il ne doit y avoir qu’une fois chaque nom, donc tu dois avoir config/custom_components/ipx800 avec les fichiers .py dans ce dernier.
Ensuite tu dois ajouter la configuration dans ton fichier .yaml en effet. Regarde l’exemple
je suis actuellement en train de travailler pour ajouter l’intégration dans le core pour ne pas avoir à gérer ça. Cependant la partie en yaml restera obligatoire je pense avec le nombre de paramètre à configurer
name: IPX00
host: “adresse ip de l’ipx”
api_key: “apikey”
username: “Nom d’utilisateur de l’ipx”
password: “mot de passe ipx”
scan_interval: 10
devices:
{% configuration %}
name:
description: Name of the IPX800.
required: true
type: name
host:
description: Hostname or IP address of the IPX800.
required: true
type: host
port:
description: HTTP port.
required: false
default: 80
type: port
api_key:
description: API key (need to be activate in Network => API)
required: true
type: string
username:
description: Username (for X-PWM control only)
required: false
default: VA
type: string
password:
description: User’s password (for X-PWM control only)
required: false
type: string
devices:
component:
description: device type
required: true
type: string
values: “switch”, “light”, “cover”, “sensor” or “binary_sensor”
name:
description: friendly name of the device
required: true
type: string
device_class:
description: custom device_class for binary_sensor and sensor only, see Home Assistant
required: false
type: string
unit_of_measurement:
description: set a unit of measurement for sensor only
required: false
type: string
transition:
description: transition time in millisecond, for lights only trough X-Dimmer or X-PWM
required: false
default: 500
type: int
icon:
description: custom icon
required: false
type: string
Type to control/Get value, only one otherwise the device will not be added
type:
description: type of input/output on the IPX800 or an extension.
required: true
type: string
values: “relay”, “analogin”, “digitalin”, “virtualin”, “virtualout”, “xdimmer”, “xpwm”, “xpwm_rgb”, “xpwm_rgbw”, “xthl”, “x4vr”, “x4fp”, “relay_fp”
id:
description: id of type output, required for all except xpwm_rgb and xpwm_rgbw type
required: false
type: int
ext_id:
description: id of X-4VR extension, required only for x4vr and x4fp type
required: false
type: int
ids:
description: ids of channel for xpwm_rgb, xpwm_rgbw type or relay as climate component
required: false
type: list of int
{% endconfiguration %}
J’ai ensuite configuré un push pour le relay 1, à savoir:
/api/ipx800/relay.1/on
Il me reste donc à trouver comment récupérer l’info dans Hass. Désolé de me répéter, mais je suis débutant dans hass…
Par contre, j’ai plusieurs erreurs sur mon config.yaml, je ne dois pas ajouter la seconde partie?
A partir de " ## List of configuration parameters"
Bonjour,
Je débute aussi dans HASS, je viens de Jeedom mais j’avais envie de voir un peu ce qui se passait ailleurs. C’est quand même loin d’être simple à mettre en oeuvre. Autant dans Jeedom certaines choses ne m’ont jamais semblé claires mais là… et pourtant je suis informaticien !!
Bref, je suis aussi en galère pour mettre en place les remontées de l’IPX. @MrJspk, effectivement, il ne faut pas copier la partie qui commence par ## List of…
C’est la description des champs avec les valeurs attendues.
Moi j’ai 2 questions :
j’ai l’impression de passer mon temps à redémarrer le serveur… c’est vraiment pénible ! Il n’y pas un autre solution, surtout en période de configuration, c’est insupportable et long !
par rapport à l’add on en lui même, déjà un immense BRAVO et MERCI à @Mati24. Je n’ai pas encore réussi à le faire fonctionner mais je vais y arriver. La question c’est de savoir comment on fait pour faire apparaitre les relays sur le tableau de bord de HASS… ? ça parait tellement simple dans Jeedom et là tellement compliqué !
Merci.
Salut,
Un custom_component nécessite le redémarrage en effet, par contre home-assistant suffit (via configuration, servers control, restart), pas de besoin de redémarrer l’hôte (VM, rasp…), sur une configuration vierge ça prend 1 à 2 mn max logiquement.
Là c’est de la configuration Home Assistant classique, regarde ici https://www.home-assistant.io/lovelace/ il y a une vidéo
Et bien ça avance, merci de vos réponses à tout les deux.
Pour “list of configuration…”, il me semblait bien que je ne devais pas l’ajouter, mais quand je l’enlève et que je vérifie le code, j’ai encore cette erreur:
“Component error: ipx800 - Integration ‘ipx800’ not found.”
list of configuration parameter ne doit pas être mis dans le fichier yaml, c’est une liste des paramètres qui peuvent être mis, avec les valeurs par défaut et les options possible.
En remplaçant host et api_key correspondant à votre configuration
Pour le message “Component error: ipx800 - Integration ‘ipx800’ not found.” ça veut dire que le dossier custom_component/ipx800 n’a pas été copié dans le dossier /config de home assistant (ou alors pas au bon endroit)
Bonjour @Mati24 !
Merci pour le composant qui à l’air d’être très pratique. Je ne l’ai pas encore testé je viens de l’installer…
Je me suis dit que j’allais faire un petit retour d’installation. Je suis en container docker, et j’avais l’erreur suivante dans les logs de HA lorsque j’essayais de contrôler ma config :
Logger: homeassistant.loader
Source: custom_components/ipx800v4/__init__.py:7
Integration: ipx800v4
First occurred: 22:51:35 (5 occurrences)
Last logged: 23:11:44
Error loading custom_components.ipx800v4. Make sure all dependencies are installed
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 609, in _load_file
module = importlib.import_module(path)
File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/ipx800v4/__init__.py", line 7, in <module>
from pypx800 import IPX800, Ipx800CannotConnectError, Ipx800InvalidAuthError
ModuleNotFoundError: No module named 'pypx800'
Pour résoudre, j’ai du installer manuellement le module pypx800 de cette façon :
Connecté en SSH sur mon RaspberryPi2
Commande sudo docker exec -it homeassistant /bin/bash (vérifier le nom de votre docker avec sudo docker ps si nécessaire
Ca ouvre une autre commande, cette fois ci à l’intérieur du docker
Par contre petite question, lorsque je change le “name” d’un composant dans le fichier de config, l’ancien reste affiché dans mes appareils et dans mes entités, même après rechargement ? Comment nettoyer ces anciens id ?
Ah ben oui… Je l’ai fait hier mais ils n’ont pas disparu, et aujourd’hui en retournant voir ils ne sont plus là
Dernière question (après j’arrête parce que normalement j’aurai déjà bien fait le tour) : j’ai vu un thread quelque part, mais que j’arrive plus à retrouver, où ça parlait de mettre à jour toutes les entrées/sorties en un seul push. Quelque chose du genre /api/ipx800v4_data/$D&$R&$A&$C&$VI&$VO... qui enverrait un unique JSON parsé par ton composant. Etant donné que la config contient le “type” et l’“id” de chaque entité déclarée, ça avait l’air de fonctionner.
Malheureusement, je n’arrive plus à retrouver ce thread et donc je me demande si j’ai rêvé ou si ça fonctionne ? Ca te dit quelque chose ?
Bonjour @Mati24
J’ai retrouvé le fil où ça parlait du push full, et en fait il s’agit du plugin Jeedom. Mais à mon avis ça serait possible de reproduire ça sur homeassistant : peut-être même que ton plugin le fait déjà ?
Bon par contre j’ai un souci avec le push, même avec une info unique… J’ai un scenario configuré sur l’IPX :
serveur (https://?) : mon.domaine.com
port : 8123
identifiant : null
URL ON : /api/ipx800v4/binary_sensor.inter_terrasse/on
URL OFF : /api/ipx800v4/binary_sensor.inter_terrasse/off
Méthode : GET
SSL : enabled
J’ai essayé avec et sans le “https” dans l’url du serveur.
Lorsque l’actionne mon interrupteur, le scénario est bien exécuté car j’ai testé de mettre à jour une entrée virtuelle à la place du push et ça l’actionne bien. Par contre rien ne se passe côté homeassistant.
Lorsque j’essaye de faire exactement le meme push depuis un client comme POSTMAN, aucun problème, ça change correctement le statut de l’inter dans homeassistant. Du coup… je ne comprends pas ce qui ne va pas… Le scenario a l’air bon, le push a l’air bon, la config HA a l’air bonne, mais quand on met tout ensemble ça ne fait rien…
Il y’a un moyen de visualiser les logs du plugin IPX coté HA pour voir si ça reçoit bien quelque chose ?