Réseau IP différent pour les équipements Xiaomi

Hello !

Je tente de faire fonctionner le plugin XiaomiHome avec mes équipements Xiaomi qui sont sur un autre réseau et cela ne fonctionne pas. L’idée est de séparer un peu les différents équipements de la maison pour que ça ne soit pas le bazar.

Routeur pfSense :

  • Jeedom : 192.168.1.0/24
  • IOT : 192.168.11.0/24

J’effectue mes tests avec des Downlight Xiaomi/Philips :

  • l’une est sur le réseau Jeedom et tout est Ok : ça me permet surtout de regarder les trames réseau
  • l’autre est sur le réseau IOT et là ça ne fonctionne pas

Depuis le réseau IOT je vois bien la trame réseau UDP « HELO » (!1) partir du réseau Jeedom vers mon équipement, mais ce dernier n’émet pas de réponse (SID, short_id)…

Est-ce qu’il est possible qu’il reste muet car le réseau source n’est pas le même que le sien ?

J’ai lu des histoires de proxy IGMP par ci par là : est-ce que ça serait la solution ?

Depuis l’application Xiaomi Home sur Android, peu importe si le téléphone est sur le réseau Jeedom ou IOT je peux interragir sans soucis avec les équipements des 2 réseaux, j’imagine que c’est parce que ça passe par le cloud de Xiaomi :roll_eyes:

J’imagine que je parle chinois pour beaucoup d’entre vous, mais si quelqu’un de calé en réseau passe par ici j’imagine qu’il saura peut-être me donner des pistes à explorer :slight_smile:

Merci pour la lecture en tout cas !

Bonjour

Je n’ai pas de matis Xiaomi mais je crois bien qu’ils fonctionnent avec du multicast (tu devrais voir des requêtes avec des adresses commençant par 224. (Ou de 224 à 239).
Ces adresses ne passent pas les réseaux, du moins de base. Par exemple, il n’est pas possible de faire du airprint entre deux réseaux ip (sans configuration).
Il va te falloir faire du routage multicast (selon les matériels, cela porte un nom différent: igmp proxy, multicast routing ou encore multicast forwarding).
Je ne sais pas comment faire avec le pfsense, mais c’est une piste de recherche (tous les matériels ne sont pas capables de faire du routing multicast, il faut déjà vérifier si le pfsense sait le faire).

Merci de ta réponse !

Justement je ne suis pas certain que ça soit un problème de multicast car sur le réseau Jeedom je ne vois justement aucune trame multicast… ni dans le code du plugin…

En y regardant de plus près au final il n’y a que des trames UDP entre le démon Jeedom et l’ampoule Xiaomi, cas Ok sur le réseau Jeedom :

A comparaison entre le réseau Jeedom et le réseau IOT, en capturant depuis l’interface côté IOT :

On voit en 1, 2 et 11 les paquets UDP, à 5 secondes d’intervale et 3 tentatives tel qu’on le voit dans le code, arriver sans que l’ampoule Xiaomi ne daigne faire la moindre réponse…

Pour complément pour le multicast par contre ça se vérifie sur la Gateway Xiaomi : si Jeedom et la GW ne sont pas dans le même subnet Jeedom ne verra effectivement pas les trame Multicast et n’ajoutera donc pas la GW automatiquement :wink:

Bonjour

Dans la 2ème capture, l’ampoule ne répond pas au jeedom en UDP. Ce qui pourrait signifier qu’elle ne s’est pas enregistré auprès du pont, et donc qu’elle ne comprend pas la requête.
Il doit y avoir du multicast soit au démarrage du pont, soit au démarrage de l’ampoule.

Hum ces ampoules (Downlight Philips) sont complètement autonomes et n’ont pas besoin de la Gateway (pont) si ? :thinking:

Non, ca passe pas par la gateway.
Bizarre qu’elles répondent pas si ca vient d’un autre réseau.

Je vais mettre un Jeedom temporaire sur le réseau IOT pour tester ^^

OK donc pas besoin de pont.

Donc, si je résume: 192.168.1.20 parle à 192.168.11.14, mais ce dernier ne répond pas. Ou alors, il ne sait pas où répondre.
Quelle est la gateway de ton 192.168.1.20? Et de 192.168.11.14?

La GW c’est mon routeur pfSense :

  • 192.168.1.1 pour le réseau sur lequel est le Jeedom
  • 192.168.11.1 pour le réseau IOT

Le ping passe bien que ça soit du réseau 192.168.1.0/24 vers 192.168.11.0/24 et inversement donc ça ne devrait pas poser de soucis :thinking:

Bon sans trop de surprise j’ai exactement le même comportement à l’inverse depuis le réseau IOT:

  • je peux piloter sans soucis les équipements sur le même réseau
  • je ne peux PAS piloter ceux qui l’autre réseau

Je constate bien la trame UDP arriver au Downlight mais ce dernier ne répond pas… possible que ça soit un cas non géré par le firmware :sleepy:

Question bête, mais as-tu bien autorisé les flux dans le pfsense? Y-a-t-il de l’IPS qui pourrait bloquer quelque chose?
Sur ton pfsense, il faudrait faire un tcpdump sur les deux interfaces en même temps, pour voir si le côté IOT ne répond vraiment pas, ou bien si c’est le pfsense qui le bloque.

Oui c’est bien ce que je fais : tcpdump sur les 2 interfaces en simultané.

Et donc je ne vois pas le Downlight répondre, vu que ce n’est pas sur son réseau il devrait forcément passer par la GW, mais non…

Je pense que le firmware du Downlight ne permet tout simplement pas cela, ça doit être tellement réduit en taille… et puis bon le commun des mortels ne s’amuse pas à mettre ses IOT sur un réseau différent :smile:

Je pense que je vais simplement mettre le Jeedom sur le réseau IOT, et au final ça sera plus un réseau « domotique » qu’autre chose ^^

Effectivement s’il ne répond pas du tout, il y a peut être quelque chose qui fait qu’il ne répond pas à une machine en dehors de son réseau.

Faudrait limite arriver à contacter Xiaomi, je ne sais pas trop par quel biais ça serait possible et j’imagine qu’ils porteraient pas beaucoup d’intérêt à ce type de problème :rofl:

tu parles des yeelight ?
J’ai moi aussi plusieurs réseau de DMZ derrière un pfsense sans problème particulier.
http://blog.info16.fr/index.php?article68/securiser-les-equipements-iot-en-wifi

Si le ping passe c’est que le niveau 3 est ok.
Donc ca bloque au dessus …

Tu es sur de tes règles de filtrages sur pfsense ?

Je ne sais pas si c’est « yeelight » réellement…

Ce sont des spots encastrables « Philips E27 » :thinking:

Pas de soucis de routage, un équipement sur le même réseau accès à Internet ainsi qu’aux autre réseaux privés que j’ai autorisé…

J’ai mis une interface dans le VLAN concerné sur le Jeedom du coup il a une route directe avec les spots et ça fonctionne…

Hello !

J’ai encore un soucis… mais cette fois c’est avec ma Gateway :dizzy_face:

Jeedom ne parvient plus à échanger avec elle depuis un reboot suite MAJ de certains de mes serveurs.

Maintenant :

  • si j’ajoute la GW sur la LAN « normal » je la vois bien dans l’application Xiaomi mais le plugin Jeedom ne la voit pas…
  • si j’ajoute la GW sur le VLAN « IOT » ça foire sur l’application Xiaomi mais elle est bien détectée par Jeedom !

Il faut que je révise un peu mon réseau parce que j’ai du mal à capter ce qui déconne…

Si jamais quelqu’un a un peu de temps pour me filer un coup de patte ^^ Pour rappel j’ai un routeur est un pfSense.

Re-moi !

J’ai l’impression que c’est plus un soucis d’accès WiFi :grimacing:

Je vais creuser de ce côté là…

Concrètement mon point d’accès (un Linksys WRT3200ACM sous OpenWRT) a 3 « antennes » :

  • Marvell 88W8964 802.11nac
    • LAN : WiFi 5GHz AC
  • Marvell 88W8964 802.11bgn
    • LAN : WiFi 2.4GHz N
    • IOT_N : WiFi 2.4GHz N
  • Marvell 88W8887 802.11bgnac
    • IOT : WiFi 2.4GHz Legacy

Concrètement la GW n’accepte pas de se connecter au point d’accès IOT Legacy… alors que les spots « Philips » eux ne savent se connecter uniquement à ce PA :smile:

J’ai créé le IOT N et là la GW se connecte volontiers et ça fonctionne correctement :upside_down_face: