[AIDE] Intégration des sorties de Niko Home Control (version 1)

Bonjour la communauté HACF
Je suis tout nouveau sur HomeAssistant et j’aimerais donner un coup de neuf à mon installation domotique actuelle. En effet, j’ai une installation Niko Home Control (NHC) v1 qui est un peu figée dans le temps et ne communique pas beaucoup avec le reste du monde.

Description

J’ai trouvé un moyen pour que NHC communique avec HA mais actuellement ils ne se comprennent pas tout à fait.

  • Un volet est une lampe
  • Une lampe est une lampe mais s’allume en plusieurs fois
  • Les lampes variables sont aussi des lampes mais ne réagissent pas au départ de HA

Pour les volets et lampes variable, je pense que le Domain n’est pas bon mais comment le changer ??
Les lampes s’allument au départ de HA mais au moyen d’un « double clic » et le statut n’est pas toujours bien suivi

J’ai intégrer (si l’on peut dire intégrer) NHC de la manière suivante
Ajout au fichier configuration.yaml des lignes suivantes

light:
  - platform: niko_home_control
    host: IP_ADDRESS

Ce n’est peut-être pas du tout la bonne méthode… Je ne sais pas, en tout cas après un reboot, j’ai retrouvé toutes sorties de NHC mais sous forme de lampe.

Ma configuration

## System Health
version core-2022.7.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.5
os_name Linux
os_version 5.15.32-v8
arch aarch64
timezone Europe/Brussels
config_dir /config
AccuWeather
can_reach_server ok
remaining_requests 29
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 8.2
update_channel stable
supervisor_version supervisor-2022.07.0
agent_version 1.2.1
docker_version 20.10.14
disk_total 29.0 GB
disk_used 4.5 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.6.0), Samba share (10.0.0), Node-RED (12.0.2), SNMP Server (1.0.0), ESPHome (2022.6.2), UniFi Network Application (2.3.0)
Dashboards
dashboards 2
resources 0
views 10
mode storage
Recorder
oldest_recorder_run 4 juillet 2022, 21:07
current_recorder_run 13 juillet 2022, 18:49
estimated_db_size 254.28 MiB
database_engine sqlite
database_version 3.38.5
Spotify
api_endpoint_reachable ok

ça ressemble à un intégration qui n’est pas terminé cotée dev

Et avec 4 utilisateurs actuels c’est pas idéal

Salut @Pulpy ,
Du coup, si je comprends bien, j’ai tout bien fait ET je ne risque pas de faire évoluer mon install …
C’est con d’autant en plus qu’on voit qu’il y a moyen…

Tu as 2 options :

  • te mettre au python et ajouter les autres entités (cover etc))
  • rentrer en contact avec le créateur de ce début d’intégration (peut-être celui qui a modifié le dernier code mais pas certain)

Humm, vu que je n’ai aucune notion de dev, je pense que je vais et m^me que j’ai déjà commencé à entreprendre l’option 2… Qui sait croise les doigts

Le plus simple selon moi ce serait de faire un script/programme Python.

Vu que j’y connais rien en Python, je ne serais même pas par ou commencer :slight_smile:

Dailleurs, je suis toujours occupé de me demander ou je dois mettre les 3 fichiers

__init__.py
light.py
manifest.json

Tu penses que c’est plus facile de faire un truc à part que de repartir des éléments de l’api déjà existant dans cette intégration ?

Je ne saurais pas te dire, je connais les bases de python , mais je n’ai jamais fais du python avec/ pour HA

Hello there,

Bon, je n’y connais (encore) rien dans la manière de coder une intégration. Pas frapper si je dis une connerie mais…

Je viens de regarder rapidement le code de l’intégration et je ne pense pas que ce soit possible de l’étendre facilement, car elle semble « focalisée » sur les lampes et elle ne fait que du « Pooling » : elle interroge NHC pour récupérer les status.

Je ne vois pas dans le code, ce qui permet de différencier les différents composants du NHC : lampes, volets, …

Par contre, je vois qu’elle importe im package Niko: import nikohomecontrol
il faudra voir comment celui-ci est codé pour savoir comment l’utiliser. Mais je ne le trouve pas.

Maintenant, je vois qu’il existe d’autres Lib sur Github (comme: GitHub - NoUseFreak/niko-home-control: Python connector for niko home control)
Peut-être jeter un coup d’oeil de ce côté.

Ou alors, faire comme moi : utiliser NodeRed et MQTT pour coupler Niko et HA. :wink:

1 « J'aime »

N’étant pas dev, je suis un peu pour ne pas dire totalement larguer et malheureusement, je ne peux aider. C’est un peu la raison pour laquelle je fais appel au secours :slight_smile:

Cela dit, si ton installation fonctionne bien comme ça, je suis preneur pour faire comme toi et profiter de tes bases et expériences sur le sujet MQTT/Node-RED en attendant une intégrations qui ne viendra jamais sauf si quelques courageux ici s’y mettent :slight_smile:

p.s. je veux bien tester la contribution dont tu fais références mais euh… comment dire…
Comment est-ce que je mets ça en place ?

J’ai l’impression d’avoir 3 mains gauche mais ça viendra :slight_smile:
Quand on ne dev pas et qu’on ne fait pas joujou avec Linux, tout ça parait très abstrait :frowning:

Ce n’est pas une question d’avoir des mains gauches… C’est pas forcément évident de coder une intégration (voir de coder tout cour). C’est un métier je sais de quoi je parle.

Et concernant l’autre lien Github, il ne s’agit pas d’une integration HA, mais juste d’une librairie qui permet d’interagir avec HA. Elle pourrait être utilisée dans le cadre du développement d’une nouvelle integration.

Mais on va trouver une solution. Pas de soucis pour moi de partager ce que j’ai fait et puis dans discuter.
Je vais regarder comment partager cela le plus facilement possible.

Es-tu sur le Discord ?

Je t’envoie ça en PM