[TP-Link] Développement nouveau service

Bonjour,

J’ai attaqué le développement du module TP-Link pour intégrer les prises et lampes connectées de cette marque.

Vous pouvez tester avec cette Pull-Request et tout commentaire est bienvenu :smile:

3 Likes

Ping @Will9 @JPL @Boimb @damalgos @bouillou7 @Jap93

Top @cicoub13 congrats pour ce développement :slight_smile:

J’ai hâte de voir ce service fonctionner dans Gladys Assistant

Bonjour
Cool j’ai justement 4 ampoule wifi de tplink ^^
Pour tester il faut attendre que la PR soit merge ou y’a une manip a afire pour pouvoir l’integrer avant ?

Il est possible de générer une image de test à partir de sa branche.

Bonjour, j’ai généré une image docker pour toutes les architectures : https://hub.docker.com/repository/registry-1.docker.io/cicoub13/gladys/tags?page=1

Si vous voulez tester :

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-tp-link \
-e NODE_ENV=production \
-e SERVER_PORT=1080 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-tplink.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
cicoub13/gladys:dev-tp-link

J’ai édité la commande pour pas écraser la db de production et utiliser un port différent.

1 Like

Bonjour
je viens de tester ton image

No devices found. Make sure you have connected one TP Link Plug to your wifi.

Il ne detecte aucune ampoule sur mon reseau
Le raspberry est sur le meme reseau que les ampoules et le ping passe tres bien etre eux
Besoin de quoi pour le debug ?

Zut. Est-ce que tu peux lancer ces deux commandes et me donner le résultat ?

Connexion à l’instance docker :
docker exec -it gladys-tp-link /bin/ash

Recherche des périphériques sur le réseau (cela dure 10 secondes) :
./services/tp-link/node_modules/.bin/tplink-smarthome-api search

Bonjour
Voila le retour :

┌┼─┤ pi @ gladys ─┤├─ 09:06:43 ─┤(1200Mhz:61.8’C)
└┼─┤ ~ | $ :arrow_forward:docker exec -it gladys-tp-link /bin/ash
/src/server # ./services/tp-link/node_modules/.bin/tplink-smarthome-api search
Searching…
startDiscovery({
discoveryInterval: 2000,
discoveryTimeout: 10000,
breakoutChildren: true,
broadcast: ‘255.255.255.255’
})
LB120(EU) bulb IOT.SMARTBULB 192.168.1.22 9999 50C7BFEFFFBA 8012059DA69A4DBED01168CE56FA04F018D122A6 Chambre
LB100(EU) bulb IOT.SMARTBULB 192.168.1.23 9999 50C7BFA361C8 801236FAD6778A0D8E460CF84E7D2BC4189AA1E8 Cuisine
LB100(EU) bulb IOT.SMARTBULB 192.168.1.21 9999 50C7BFDAD944 8012C22D7A9D34CF0AEABD83255C2B6A18C57DCC Salon
/src/server #

La il y a bien les 3 ampoules ^^

Merci pour le test :slight_smile:
J’ai trouvé le moyen de simuler des ampoules et il y avait une erreur dans la détection de devices.
J’ai publié une nouvelle image avec le correctif :whale:

Tu peux lancer les commande suivantes pour tester :

docker stop gladys-tp-link
docker rm gladys-tp-link
docker pull cicoub13/gladys:dev-tp-link

Et la commande plus haut pour lancer un nouveau container avec cette image (docker run …)

Aucun souci

Re test avec la nouvelle image il y a du mieux beaucoup mieux :grin:
Tous fonctionne mis a part que j’ai du rafraichir plusieur fois pour avoir les 3 ampoules (3 fois en tous)
Il ma vu 2 la 1er fois (chambre , salon)
une seule la 2 ieme (salon)
et la derniere la 3 ieme fois (cuisine) :sweat_smile:

Merci

Du coup pour les ampoules que le on / off pour l’instant ?
Il n’y a pas de gestion de la couleur et de l’intensite ? ( 0 a 100%)
C’est prévu ou pas ?

C’est prévu, il y a une features ici:

Je suis parti uniquement sur On/Off pour les prises et lumières.
C’est assez difficile pour moi de développer les features pour les lumières sans en avoir physiquement :sweat_smile:
Je vais sûrement terminer l’intégration et les tests pour l’intégration simple des appareils TP-Link.
Et plus tard intégrer de nouvelles fonctionnalités (en me basant sur les Philips Hue, ça devrait aller).
Qu’est-ce que vous en pensez ?

Et comme le dit @Tlse-vins, je ne suis pas sûr que les boxs/dashboard front soient prêts.

1 Like

Un sujet technique a été ouvert sur la PR. C’est pas encore pour tout de suite.