Alors, la chance est à moitié avec moi. En effet, l’ampoule refuse de se connecter à mon serveur mosquitto parce qu’elle ne connait pas la root CA de mon certificat. C’est assez surprenant parce que le certificat est rooté chez Let’s Encrypt, mais je soupçonne les échanges « Alljoyn » de fournir le certificat à l’ampoule et que donc celle-ci ne connait qu’une seule root CA.
Par contre, coté application Enki, ça ne lui pose aucun problème de se connecter à mon serveur MQTT et j’ai donc pu voir ce qui est envoyé par l’application :
{"capability":"check_bulb_state","externalId":"IDAmpoule","nodeId":"UIDNode","gatewayId":"UIDGateway","requestIdentifier":"check_bulb_state_android_GUID1_UIDRequests","responseMessageKey":"check_bulb_state","type":"CAPABILITY","userId":"UIDUser"}
{"value":"ON","capability":"switch_electrical_power","externalId":"IDAmpoule","nodeId":"UIDNode","gatewayId":"UIDGateway","requestIdentifier":"switch_electrical_power_android_GUID2_UIDRequests","responseMessageKey":"switch_electrical_power","type":"CAPABILITY","userId":"UIDUser"}
{"value":0.75,"capability":"change_brightness","externalId":"IDAmpoule","nodeId":"UIDNode","gatewayId":"UIDGateway","requestIdentifier":"change_brightness_android_GUID3_UIDRequests","responseMessageKey":"change_brightness","type":"CAPABILITY","userId":"UIDUser"}
{"value":"T2750K","capability":"change_color_temperature","externalId":"IDAmpoule","nodeId":"UIDNode","gatewayId":"UIDGateway","requestIdentifier":"change_color_temperature_android_GUID4_UIDRequests","responseMessageKey":"change_color_temperature","type":"CAPABILITY","userId":"UIDUser"}
Rien de bien violent donc, si ce ne sont les UIDs utilisés qui semblent avoir été échangés avec l’ampoule également pour éviter de contrôler l’ampoule du voisin vu que tout le monde passe par le même broker. D’ailleurs, j’ai essayé de me connecter à ce broker, mais mosquitto_sub
n’est pas content lui non plus parce que la root CA utilisée est « auto signée » par Leroy Merlin et donc inaccessible.
Bref, il faut vraiment que j’arrive à interpréter les messages AllJoyn pour pouvoir configurer l’ampoule proprement afin qu’elle se passe des serveurs de LM.
A ce propos, j’ai utilisé l’appli AllJoyn Dashboard pour Android disponible ici et elle voit bien l’ampoule. Mais elle me dit qu’elle n’a aucune « capability » connue, ce qui n’est pas très surprenant.
Suite au prochain épisode.