Configuration knxD avec DIY sur docker (SYNOLOGY)

Merci, je vais l’effacer de mon mémo.
Serais tu me confirmer si la suite des étapes est correcte ?

Knxd est bien chargé mais rien ne passe dans le moniteur de bus. Il me semble que sur la version Raspberry il y avait aussi le service knxd.socket, mais du coup je ne voie pas comment le charger dans cette configuration…

Non, jeedom ne check pas si le service est en route faut que je l’ajoute.
Il check uniquement que le bus monitor est démarrer

Pour ton problème regarde dans un premier lieu le log de knxd (page général des équipements knx).
Ça vas déjà nous dit si knxd est démarrer ou s’il est bloquée
Vérifie bien que les adresse physique donné a jeedom soit libre

Log du service vide :

La configuration est la même que sur le raspberry ou le système est fonctionnel (~était : la carte SD commence a me lacher)

Ok pour la configuration
Si log vidé c’est que knxd ne démarre pas
Peux tu faire

systemctl status knxd.service
systemctl status knxd.socket

C’est un des soucis, je peux exécuter de commande avec systemctl

System has not been booted with systemd as init system (PID 1). Can't operate

Par contre :

/etc/init.d/knxd status
[ ok ] knxd is running.

Mais je ne voie pas comment vérifier pour le socket

Bonjour

Certainement l’origine du problème
Si tu n’utilise pas systemd, tu dois gérer knxd manuelement.

Le fichier de conf gérer par le plugin /etc/knxd.ini est il chargée par init.d

En lançant knxd manuellement via /usr/bin/knxd /etc/knxd.ini, je parvient à interagir avec le reseau knx.
Mais 2h que je tente d’intégrer le fichier ini dans le chargement du démon sans succès :

J’ai modifié le fichier /etc/default/knxd.ini pour :

# Defaults for knxd initscript
# sourced by /etc/init.d/knxd
# installed at /etc/default/knxd by the maintainer scripts

########################################################################
# This file is ignored when using systemd: edit /etc/knxd.conf instead #
########################################################################

# start knxd when /etc/init.d/knxd start is run
# by default knxd does NOT start. set to YES to enable
START_KNXD=YES

# Additional options that are passed to the Daemon.
#
# sane default: route between local KNX clients and multicast
# DAEMON_ARGS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -u /var/run/knx -i -b ip"
 DAEMON_ARGS="/etc/knxd.ini"

Je ne dois pas utiliser la bonne méthode pour lié le fichier ini !?

Essai plutôt le /etc/knxd.conf

Encore merci pour ton aide.

Je commence a y perdre mon latin.
Le fichier est correctement renseigné :

KNXD_OPTS=/etc/knxd.ini

La seule façon pour que ca fonctionne est de modifier le fichier « /etc/default/knxd » comme suit :

 DAEMON_ARGS="-e 0.0.1 -E 0.0.2:8 -u /tmp/eib -u /var/run/knx -i -b ipt:192.168.1.250"

Si j’active le service via SSH, la connection est OK, je peux fermer mes volets/allumer mes lumières via le plugin EIB.

Par contre via le plugin, je ne peux pas activer/désactiver le démon et je n’ai pas le retour d’états des lumières ( donc je ne peux que allumer, toggle …).
Le plugin ne semble pas pouvoir communiquer avec le demon knxd.

Y a t-il quelque chose qui m’échappe ? Serais ce le knxd.socket qui fait la communication entre le plugin EIBD et le démon knxd ?

Du côté de jeedom configuré en manuel plutôt que sur knxd le démon devrait démarrer

J’ai l’impression que le plugin n’a pas de ~~ liaison avec knxd.
Lorsque je met en manuel, puis j’arrête le démon via le plugin :
- L’interface graphique indique : NOK
- Un sudo service knxd status indique : [ ok ] knxd is running.

Lorsque j’arrête le service via sudo service knxd stop et je tente de l’activer via le plugin :

[2022-07-02 23:42:02]DEBUG : [Moniteur Bus] Lancement du Bus Monitor
[2022-07-02 23:42:02]DEBUG : [Moniteur Bus] Connexion a EIBD sur le serveur 127.0.0.1:6720
[2022-07-02 23:42:02]ERROR : Erreur sur eibd::BusMonitor() : connect failed

Si j’active le service par : sudo service knxd start.
- Le plugin peut writer sur le bus
- Pas de mise à jour de l’état des objets
- Le moniteur de bus n’affiche jamais rien

Je suis a cours d’idée …

En manuel non plus aucune liaison .

Avec le paramètres sur knxd, j’ai enlevé beaucoup de choses à se niveau notamment la vérification du statut de knxd.
Par contre a chaque démarrage on reecrit le fichier knxd.ini et relance le service.

Faut vérifier ça il faut le paramètres listen_tcp dans la ligne de commande

Il est bien activé, c’est le paramètre -i avec la valeur par défaut 6720,

netstat -paunt :
tcp        0      0 0.0.0.0:6720            0.0.0.0:*               LISTEN      -

Serais tu comment le plugin récupère les états des objets ? Il écoute du multicast ou il y a un dialogue avec le démon ?

Comment se peut-il que les actions «Démarrer le démon» et «Arrêter le démon» affichent sur l’interface qu’il est démarrer ou arrêter alors qu’un service knxd status montre qu’il n’a pas changé d’état.

Oui j’avais un doute

C’est un démon qui se connecte a knxd et écoute le bus pour mettre a jour sont état au passage d’un message.
Si tu peux envoyer un ordre il n’y a pas de raison que le démon ne soit pas capable de se connecter

Le démon écoute le bus et a une attente d’un message.
C’est ce qui doit te donner l’impression qu’il démarre
Encore une fois le démon du plugin n’influence pas knxd.
Si le démon du plugin crash c’est qu’un message ne lui plaît pas

Je viens de refaire une install sur une machine virtuelle Synology / Debian 11( et non plus Docker, à noter qu’il faut éxécuter le script d’install Jeedom pas seulement en root mais avec un su - ).
La recherche de la passerelle est OK
La gestion du démon automatique du démon est OK
J’arrive à activer mes objets
Les logs démon sont visibles
Remonté d’état et moniteur de bus toujours vide :frowning:

Je viens de supprimer tous mes objets sur 2 ( 1 lumiere et un volet ). Et la remonté d’état se fait bien :slight_smile: :lying_face:. Y a t-il un moyen de trouver l’objet(s) qui pourrait faire c… son monde ?

Salut à vous deux.

Je suis un peu perdu avec les histoire d’adresse ??

On parle des adresse materiel ou celle des evenements dans ETS ??

Hier j’ai changé l’adresse materiel de mon inreupteur en 1.1.1 pour y mettre la passerelle à la place, est ce bien ca qu’il fallait faire ?? ou je dois aussi changer l’adresse de la passerelle ip pour laisser 1.1.1 libre ??

Merci par avance.

ps : pour slayes j’ai utilisé macvlan pour mettre jeedom sur le reseau et supprimer le bridge.

Laisse jeedom a 0.0.1 ça sera plus simple

Salut

Voila ma config mais malgré la recherche concluante j’ai le message d’erreur connect:failed quand je demarre le demon

Quelles pistes suivrent ?? Merci d’avance

1 « J'aime »

Je suis un peu perdu
A tu vérifier comme @Slayes que knxd est démarrer

voila la reponse :
System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

je ne comprend pas trop