Nebz a écrit : ↑28 sept. 2019, 22:51
le contenu d'hap est garni par un multicast DNS (un dns txtRecord envoyé en multicast par homebridge) qui contient des données diverses sur le bridge
Pour confirmer mon hypothèse, à savoir que sur mon réseau local, discovery ne voyait pas le type de service "_hap._tcp.local"
et donc les instances de services associés, parce que je n'avais que des Homebridge-jeedom qui n’annonçaient pas ce type de service bien qu'ils les exposent (lié au fonctionnement de HAP-NodeJS, utilisé par Homebridge et donc Homebridge-jeedom)
j'ai
- acheté une Tradfi GW chez Ikea.
- déballé, branché sur le réseau
-lancé un Wireshark
-branché la Tradfi GW sur le secteur
- attendu 1 minute
-lancé Discovery sur l'iPhone
et là le type de service "_hap._tcp.local" est apparu dans la foulée !!!
explication :
la Tradfri GW s'annonce (Advertisement) régulièrement sur le réseau local avec l'entrée suivante :
_services._dns-sd._udp.local: type PTR, class IN, _hap._tcp.local
alors que les Homebridge-jeedom ne le font pas.
Il suffit que le discovery ait connaissance du type de service _hap._tcp.local par l'annonce au moins d'un équipement
pour qu'ensuite tous les équipements qui exposent ce même type de service soient visibles dans la découverte.
voici un extrait (simplifié) des paquets mDNS (224.0.0.251) que l'on peut voir dans Wireshark au moment du tout premier branchement sur secteur de la Tradfri GW :
paquet 1 :
-requete
TRADFRI-Gateway-MACaddress.local: type ANY, class IN, "QM" question
-Authoritative nameservers
TRADFRI-Gateway-MACaddress.local: type A, class IN, addr IP
paquet 2 :
-reponse
TRADFRI-Gateway-MACaddress.local: type A, class IN, cache flush, addr IP
paquet 3 :
-requete
TRADFRI gateway._hap._tcp.local: type ANY, class IN, "QM" question
-Authoritative nameservers
TRADFRI gateway._hap._tcp.local.local: type SRV, class IN, priority 0, weight 0, port 80, target TRADFRI-Gateway-MACaddress.local
paquet 4 :
-reponse
TRADFRI gateway._hap._tcp.local.local: type SRV, class IN, cache flush, priority 0, weight 0, port 80, target TRADFRI-Gateway-MACaddress.local
paquet 5 :
-reponse
_services._dns-sd._udp.local: type PTR, class IN, _hap._tcp.local
_hap._tcp.local: type PTR, class IN, TRADFRI gateway._hap._tcp.local.local
TRADFRI gateway._hap._tcp.local: type TXT, class IN
TRADFRI gateway._hap._tcp.local.local: type SRV, class IN, priority 0, weight 0, port 80, target TRADFRI-Gateway-MACaddress.local
TRADFRI-Gateway-MACaddress.local: type A, class IN, addr IP
(pour ne pas charger j'ai enlevé les enregistrements relatifs à un autre type de service _coap._udp.local exposé par la Tradfi GW et IPv6)
Toutes les annonces suivante sont identiques au paquet 5.
à partir de ce moment là, tous les outils de découverte cités dans mon premier post qui ne voyaient pas le type de service _hap._tcp.local
et les Homebridge-jeedom, les voient grâce à l'ajout de la Tradfri GW sur le réseau local.
akenad