pour ceux qui veulent tester leur pont TRADFRI dès à présent, j'ai écrit en python3 un script de test du pont TRADFRI qui permet une première interaction avec JEEDOM à l'aide du module script, pour allumer ou éteindre certaines lumières.
Pour cela il faut installer la bibliothèque python3 pytradfri (instructions tirées de https://github.com/ggravlingen/pytradfri)
Il faut pour cela d'abord installer libcoap, (sous root)
Code : Tout sélectionner
$ apt-get install libtool
$ git clone --depth 1 --recursive -b dtls https://github.com/home-assistant/libcoap.git
$ cd libcoap
$ ./autogen.sh
$ ./configure --disable-documentation --disable-shared --without-debug CFLAGS="-D COAP_DEBUG_FD=stderr"
$ make
$ make install
puis installer ensuite la librairie pytradfri avec pip3 (version python3)
Code : Tout sélectionner
pip3 install pytradfri
Code : Tout sélectionner
python3 test_pytradfri.py
Code : Tout sélectionner
python3 test_pytradfri.py on 0 2
Voila ci-dessous le code python3 test_pytrafri.py dans lequel il faut indiquer l'adresse IP du pont et sa clé (écrite sous le boitier)
Code : Tout sélectionner
#! /usr/bin/env python3
# programme test du pont TRADFRI
# allume ou eteind des lumieres
import sys
import pytradfri
import time
#
IP="xxxxx"
KEY="xxxxx"
# configuration variables.
api = pytradfri.coap_cli.api_factory(IP, KEY)
gateway = pytradfri.gateway.Gateway(api)
# recuperation info
devices = gateway.get_devices()
lights = [dev for dev in devices if dev.has_light_control]
#
print("\t\tTest pont TRADFRI")
print("\n\tdevices %d"%len(devices))
print(devices)
# Print all lights
print("\n\tliste des ampoules %d"%len(lights))
print(lights,"\n")
# allume ou eteinds des ampoules
if (len(sys.argv) == 1): sys.exit(0)
state = sys.argv[1] == "on"
ampoules = [int(sys.argv[k]) for k in range(2,len(sys.argv))]
for ampoule in ampoules :
print("Etat ampoule %d"%(ampoule))
# device
light=lights[ampoule]
# ampoule associée
Light=lights[ampoule].light_control.lights[0]
print("name ",light.name)
print("status ",Light.state)
print("dimmmer ",Light.dimmer)
# allumage
light.light_control.set_state(state)
# lecture etat apres commandes
print("changement etat des ampoules %s\n"%(state))
devices = gateway.get_devices()
lights = [dev for dev in devices if dev.has_light_control]
for ampoule in ampoules :
print("Etat ampoule %d"%(ampoule))
light=lights[ampoule]
Light=lights[ampoule].light_control.lights[0]
print("status ",Light.state)
print("dimmmer ",Light.dimmer)
#
sys.exit(0)
Attention: cela demande un minimum de connaissance sous linux (tester sous jessie raspbian) !!!!
Pour mon utilisation perso je développe sur ce principe des scripts plus sophistiqués pour remonter l'état des ampoules; changer la luminosité , ...
La librairie semble très complète mais avec peu de documentation !!!