26/06/2013, 17:29:10
(26/06/2013, 15:59:21)silverrcx a écrit : A propos de l'adresse:
Il y a deux adresses multicast définies par KNX. Une pour trouver les passerelles (c'est ce qu'utilise ETS pour la trouver) et une pour échanger des messages. Mais ce sont les mêmes souvent en pratique (les trames sont différentes, pas moyen de se mélanger les pinceaux):
/////////////// EIBnet/IP system specs, core
8.5.2 IP multicast addresses
8.5.2.1 EIBnet/IP system setup multicast address
To ensure that any EIBnet/IP device can be reached by the EIBnet/IP Core discovery services a „System Setup Multicast Address“ is defined. The value of the „System Setup Multicast Address“ is 224.0.23.12.
8.5.2.2 EIBnet/IP routing multicast address
Any EIBnet/IP device implementing EIBnet/IP routing has a „Routing Multicast Address“. This address is derived from the „System Setup Multicast Address“ by adding an offset. This offset has a default value of zero.
///////////////
=> multicast par défault = setup multicast.
Mais bon, c'est égal, si tout le monde s'accorde sur une autre adresse multicast pour les messages, c'est tout bon.
Vu !
Citation :Tous les devices qui écoutent cette adresse multicast devraient répondre à ton ping. Mais bon...
Si je comprends bien ce que tu essayes de faire, c'est d'utiliser eibd comme routeur depuis une source tunelling, afin que ton code python puisse fonctionner en mode routeur ?
De ce que je comprends de l'aide de eibd, ca donne eibd -S -R ipt:<ta_passerelle> (+ le reste du bazar), pour dire: connecte toi au bus via la passerelle en tunelling, sois Serveur avec support du Routing (sur l'adresse multicast ci-dessus je pense, je ne sais pas comment tu le configure pour en utiliser une autre).
Ensuite, ton code python devrait voir du traffic sur 224.0.23.12 à chaque fois que tu envoies un message sur le bus.
Les messages que tu vois sur les adresses multicast sont certainement des recherches de devices KNX...
Bon, en fait, c'est le script de lancement de eibd, sur la linknxwebbox qui m'a induit en erreur ! Lorsqu'on choisit comme adresse ipt:xxx, il ajoute automatiquement --Tunneling. Si on utilise comme adresse ip:xxx, il ajoute --Router... En gros, il ajoute le mode que tu utilises pour te connecter, pour relayer la ressource qu'il a consommée, ce qui n'est pas tout à fait ce que je veux faire...
Comme tu le suggères, il faut rester avec ipt:xxx, et ajouter l'option --Router en plus de --Tunneling.. Le script ne gère pas ce que je veux faire... Il faut que je le force. Et ça sembler marcher
Citation :Pour linknx, je sais pas. Je suppose qu'il se connecte via localhost sur l'interface propriétaire de eibd (qui si je comprends bien n'est affectée par aucune option ci-dessus), donc ?
Yep, c'est ça. linknx se connecte sur le port 6720 où tourne eibd (il faut lancer eibd avec l'option --listen-tcp=6720).
Merci pour ton aide ! Je continue mon framework...