Non, non , il ne s’agit pas de ce à quoi vous pensez 😳
Un autre indice :
Vous voyez ce n’était vraiment pas ce à quoi vous avez pensé.
Bon, vous l’avez compris, une fois n’est pas coutume, nous allons parler de jardinage grâce au Parrot Flower Power, cet objet connecté qui permet de surveiller nos plantations.
Voici le pitch d’Apple :
Le capteur Parrot Flower Power s’enfonce près d’une plante en pot ou en pleine terre et fournit des données en temps réel sur les facteurs essentiels à la santé et à la croissance végétale. Il envoie ensuite les données les plus récentes vers une app gratuite sur votre iPhone, iPad ou iPod touch. En gardant un œil sur l’humidité de la terre, le niveau de fertilisation, la température ambiante et l’intensité lumineuse, vous pourrez prendre parfaitement soin de vos plantes et les aider à mieux pousser.
Un article de Cnet ici http://www.clubic.com/mag/article-732593-1-flower-power-parrot.html
Sur le forum rodriguezyohann posait récemment la question de la récupération de données issues du Flower Power et leur envoi vers Domoticz.
Il s’agissait de récupérer les données nommées « Mon Jardin » dans l’interface web Parrot https://myflowerpower.parrot.com
Nous avons le plaisir de vous annoncer que, après avoir commis quelques ligne de python, les mesures ci-dessous sont récupérées dans Domoticz ainsi que les conseils Parrot pour votre plante nommés « Instructions » et « Status ».
Parrot met à notre disposition, par plante, 3 mesures pour les 4 paramètres suivants : Lumière, Air, Engrais, Humidité.
Ces mesures se nomment chez Parrot ;
- « Instruction », « Status », les conseils Parrot, qui seront des virtual sensor texte pour Domoticz et
- « Value », une valeur numérique (un widget compteur semble (?) adapté).
Source :http://www.parrot.com/fr/support/parrot-flower-power/
Ainsi, pour chaque plante, nous avons 12 virtual sensors à créer dans Domoticz (4 paramètres x 3 mesures).
Le script ne récupère les données que pour UNE seule plante, il faudra copier ce script autant de fois que vous avez de plantes à gérer.
Prérequis
-
Installer python puis python requests
- installation de python
sudo apt-get install python sudo apt-get install python-dev sudo apt-get install python-setuptools sudo apt-get install python-pip
- Installation de requests
sudo pip install requests
-
Obtenir un accès aux données Parrot
Rendez vous à https://apiflowerpower.parrot.com/api_access/signup
Remplissez le formulaire, un courrier électronique vous est renvoyé avec un identifiant unique nommé client_secret lié à votre adresse e-mail (client_id)
client_secret est de la forme « Fg45fxGHJszUFcvVgOT8DFYYSqe643358hvdd »
D’autre part lors de votre première installation du Flower Power vous avez crée un couple d’identifiant user et password qu’il faudra aussi (c’est celui qui sert à la connexion sur l’interface web Parrot).
-
Parametrage Domoticz
Ainsi, pour chaque plante, nous avons 12 virtual sensors à créer dans Domoticz.
- Lumiere_Instruction, Lumiere_Status, Lumiere_Valeur
- Air_Instruction, Air_Status, Air_Valeur
- Humidite_Instruction, Humidite_Status, Humidite_Valeur
- Engrais_Instruction, Engrais_Status, Engrais_Valeur
Vous pouvez nommer ces capteurs comme bon vous semble, nous ne ferons référence qu’a leur ID Domoticz par la suite.
Toutefois je vous conseille, si vous avez plusieurs plantes à gérer de créer vos sensors en leur donnant le nom de la plante.
Exemple : Géranium_Lumiere_Instruction, Géranium_Lumiere_valeur, Clem_Lumiere_Instruction, Clem_Lumiere_valeur font référence aux Instructions et valeurs de lumière pour mon géranium et mon clémentinier.
La quantité de virtual sensors à créer étant importante, il faut être rigoureux dans cette phase.
La création se passe comme d’habitude dans “Matériel” et “Create virtual sensor” créons 2 capteurs “Texte” et 1 capteur « Compteur ». Puis dans le menu « Dispositifs » utilisez la flèche verte pour les nommer correctement.
N’oubliez pas : 2 virtual sensor pour Instructions et Status et un virtual sensor de type compteur pour la valeur numérique.
Je vous conseille de placer ce compteur en type « Counter ». cela permet d’avoir des logs, des courbes et des notifications. Bien que les cumul soient plutot inadaptés et inutiles.
Si vous ne voulez pas afficher certains paramètres, créez un capteur virtuel « poubelle », que vous n’afficherez pas et sur l’idx duquel vous ferez pointer dans le paramétrage tous les trucs inutiles.
Bon vous avez bien travaillé, une pause s’impause (sic).
Le script
Il est téléchargeable ici https://easydomoticz.com/scripts/parrot_fl_power.py
il est volontairement pas/peu pythonesque pour que la lecture/modification soit plus aisée par tous.
Le paramétrage du script
La config Domoticz
Les paramètres de votre Domoticz doivent être dans config_Domoticz.py, ce fichier pourra ainsi être réutilisé si vous avez plusieurs plantes.
Créer ce fichier puis y introduire vos IP, ports,user, mdp.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # les parametres de Domoticz #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ domoticz_ip='192.168.1.82' domoticz_port='8080' domoticz_user='patrice' domoticz_password='123456'
Si votre Domoticz n’à pas d’authentification domoticz_user et domoticz_password seront laissés vides.
Les parametrages liés au FLower Power
-
Les Identifiants
Cette section du paramétrage contient les divers identifiants Parrot, tout d’abord username et password puis l’id et la clé secrète obtenue à https://apiflowerpower.parrot.com/api_access/signup
#~~~~~~~~~~~ Parametres Parrot ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" # First we set our credentials username = 'mon_identifiant_chez_parrot@xxx.fr' password = 'lemot_de_passe_associé' # Get your client credentials here: https://apiflowerpower.parrot.com/api_access/signup client_id = 'xyz.xyz@gmail.com' client_secret = 'Gffggjkfre4TGdQqfgg5uXCbRFDSSSazszr566fd' #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
La plante
introduisez dans cette partie le nom TEL QUE vous l’avez donné à votre plante chez Parrot. (les accents sont acceptés).
#~~~~~~~~~~~ Parametres de la plante ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # c'est le nom que vous avez donne chez Parrot Nom_Plante='géranium'
-
Liens avec les virtual sensors Domoticz
Dans les prérequis vous devriez avoir crée des virtual sensor correspondants à nos 12 paramètres.
Faisons ici le lien entre les IDX des widget Domoticz.
Remarquez ici que vous ne devez mettre que les bons IDX en face de Lumiere_Instruction, Lumiere_Status, Lumiere_valeur, etc, etc.
Regardez ici :
- Geranium_Air_Inst à l’IDX 36 que je mets en face de Plante_Air_Instruction puisque il s’agit de Air_Instruction
- GEranium_Air_Valeur à l’IDX 45 que je mets en face de Plante_Air_Valeur puisque il s’agit de la valeur de l’air pour ma plante, etc, etc.
Au final :
### Parametrage des idx des widget text de Domoticz ########################## periph_idx= { 'Plante_Lumiere_Instruction' : 33, 'Plante_Lumiere_Status' : 34, 'Plante_Lumiere_Valeur' : 44, 'Plante_Air_Instruction' : 36, 'Plante_Air_Status' : 37, 'Plante_Air_Valeur' : 45, 'Plante_Humidite_Instruction' : 39, 'Plante_Humidite_Status' : 40, 'Plante_Humidite_Valeur' : 46, 'Plante_Engrais_Instruction' : 42, 'Plante_Engrais_Status' : 43, 'Plante_Engrais_Valeur' : 47, } ##################################################################################
Mode debug
Le script python contient
### Mode debug ################################################################## # si debug = autre chose que 0 on affiche les données recues debug=1 ##################################################################################
Si debug ne vaut pas zéro , plein de lignes sont affichées pour montrer les données reçues, envoyées vers Domoticz.
Pour tester passez donc debug à 1 , repassez le à 0 ensuite.
Lancement du script
Puisque ce script gère mon géranium, enregistrons le sous le nom de geranium.py
un chmod +x geranium.py
puis un ./geranium.py
Voila, on récupère bien nos conseils horticoles et les valeurs numériques associées.
N’oubliez pas un petit crontab -e pour appeler le script régulièrement.
J’espère que vous trouverez votre bonheur grâce à ce script.
Toutes les améliorations, corrections, optimisations m’intéressent et j’essaierai de prendre en compte vos remarques pour faire évoluer les outils.
Et si IRL le jardinage c’est pas votre truc, il y à http://silence-ca-pousse.france5.fr/
Bonjour Patrice,
J’ai essayé de faire la conf et lorsque j’execute le py, j’ai comme retour:
File « ./Areca.py », line 168, in
maj_widget_texte(domoticz_idx,inst_key)
File « ./Areca.py », line 92, in maj_widget_texte
r=requests.get(requete,auth=HTTPBasicAuth(user,password))
File « /usr/local/lib/python2.7/dist-packages/requests-2.4.3-py2.7.egg/requests/api.py », line 60, in
return request(‘get’, url, **kwargs)
File « /usr/local/lib/python2.7/dist-packages/requests-2.4.3-py2.7.egg/requests/api.py », line 49, in
return session.request(method=method, url=url, **kwargs)
File « /usr/local/lib/python2.7/dist-packages/requests-2.4.3-py2.7.egg/requests/sessions.py », line 45
resp = self.send(prep, **send_kwargs)
File « /usr/local/lib/python2.7/dist-packages/requests-2.4.3-py2.7.egg/requests/sessions.py », line 56
r = adapter.send(request, **kwargs)
File « /usr/local/lib/python2.7/dist-packages/requests-2.4.3-py2.7.egg/requests/adapters.py », line 40
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: (‘Connection aborted.’, error(110, ‘Connection timed out’))
J’ai du mal à voir d’où vient le souci sachant que j’ai vérifié les ID/PWD :/ et que ma plante est bien trouvée.
Merci pour ton aide.
Bonjour
les 2 lignes
npus disent qu’il s’agit d’un problme d’identification dans TON Domoticz, tu as mis des user/password Domoticz pas bon, il n(y a pas de user/pass dans Domoticz et tu en a mis un ….
il s’agit de ces lignes dans le script
les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_user=’patrice’
domoticz_password=’123456′
jettes y un oeil et dis moi ce qu’il en est
Hello, c’est good, effectivement j’avais un souci dans mon fichier config.
Tks
Bonjour, étant novice dans les langages de programmation et la domotique, je me demandais comment adapter votre tutoriel pour Domoticz version Windows. Quelqu’un pourrait-il m’éclairer ?
Bonjour
Pas d’expérience précise de python sous Windows mais
il faudra commencer par installer le langage python , explications ici http://guigui.developpez.com/Tutoriel/Python/PythonWindows/
Ensuite placer le script de mother dans le dossier domoticz/scripts
Le parametrer, le lancer et voir ce que ca donne (erreurs evventuelles)
Dis nous ce qu’il en est
Bonjour,
Très bon tutoriel mais il serait encore plus intéressant d’obtenir les données en temps réel en les récupérant via le bluetooth du PowerFlower, si quelqu’un sait comment faire ça je suis preneur !
Bonsoir
Cela n’est pas prévu, sinon a part faire un peu de hacking des échanges entre PowerFlower et périphérique Bluetooth il n’y a pas de solution.
Je pense avoir tout configuré comme le tuto mais j’ai ces erreurs
Cela pourrait venir de où ?
Merci
Bonsoir
Il ‘agit d’un truc avec open ssl donc un pb d’identification
Mauvaise identification chez parrot ?, mauvaise recopie ds identifiantss/password parrot ?
A moins que qq chose ai changé chez parrot depuis le temps , j’avais fait le script pour quelqu’un et je ne sais spas si cela continue a fonctionner
Est ce quelqu’un sait ?
Bonjour Patrice,
Merci et bravo pour le tuto : sans compétence très poussées en informatique, j’ai réussi à récupérer les données du site https://myflowerpower.parrot.com !
Question : pourquoi avoir utiliser le capteur virtuel « compteur », qui est un compteur électrique ? N’existe-t-il pas un capteur virtuel plus adapté ? (avec les %age d’humidité).
Si non, est-il possible de modifier les unités sur le site ?
merci !
Jéré
Bonjour
C’est dans le but de pouvoir envoyer les notifications liées à ce widget, ce que ne possedent pas les %humidité
Ha ok, merci Patrice. Est-il possible de déclencher des actions en fonction de l’évolution des taux d’humidité ? (du genre ouvrir un switch pour arroser les plantes)
y’a t’il une solution viable maintenant que le site myflowerpower est HS ?
Je n’ai aucunes connaissances là dedans, en général je suis les tutos ce qui me permet d’apprendre petit a petit.
j’ai trouvé ça : http://developer.parrot.com/docs/FlowerPower/#flower-power-cloud-api