Plugin permettant de récupérer les informations des Xiaomi Plants ou MiFlora ainsi que des Parrot flower power et Parrot flower pot
Les Xiaomi Plants sont des sticks Bluetooth de la marque Xiaomi permettant de mesurer l’hygrométrie, la température, la lumière, l’engrais d’une plante. Nul besoin d’autre chose qu’une connexion Bluetooth, y compris via un appareil déporté.
Le Parrots flower est la version originale de Parrot du stick MiFlora, le Parrot Pot est un pot de fleurs avec les fonctionalités du Parrot flower.
Retrouvez le sur le Market Jeedom ici
Lien vers le forum ici
Lien vers le chat ici
L’écran principal du plugin ce présente de la façon suivante :
Permet l’ajout d’un nouvel équipement
Permet de lancer une recherche des équipement MiFlora présent en Bluetooth mais pas encore présent dans Jeedom
Permet la configuration générale du plugin
Permet de définir des antennes distantes pour collecter les données des équipements
Permet d’avoir une vision globale du fonctionnement du plugin et de tous les équipements
Cet écran permet l’ajout d’équipement Miflora. Il se présente de la façon suivante :
Ce champ est saisi lors du lancement de la fonction. Il peut être modifié par la suite si on le souhaite
Ratache l’équipement à un objet Jeedom
Active et/ou rend visible/invisible l’équipement
Champ obligatoire il doit contenir la mac adresse de l’équipement. Cette mac adresse peut etre obtenue via l’écran de Scan (voir plus bas)
Permet de fixer une valeur différente de la valeur par défaut du plugin pour cet équipement spécifiquement
Permet de définir quel controleur bluetooth va collecter les donées de l’équipement les valeurs suivantes sont possibles
Permet d’indiquer que c’est le controleur local de Jeedom (voir configuration) qui sera utilisé
Permet de laisser le plugin choisir l’antenne la plus adaptée à la collecte. Pour ce faire toutes les heures le plugin va scanner le réseau sur tous les controleurs disponnible (Local et remote ) Pour chaque équipement défini en mode automatique l’antenne avec le signal Bluetooth le plus fort sera choisie.
les choix suivants correspondent aux différentes antennes qui ont été définie dans ce cas seule cette antenne sera utilisée pour les collectes
Permet de définir un seuil d’alerte pour l’humidité minimum de l’équipement. Si la valeur de l’humidité est inférieure à cette valeur alors la commande HumMin est positionnée a 1 (ce qui permet de déclancher des scénario etc …) Attention la mesure n’est faite que lors des collectes il ne s’agit pas d’une mesure “temps réel”
Ces champs sont remplis lors des collectes
Cet écran permet de visualiser l’ensemble des équipement MiFlora actifs en Bluetoth et qui ne sont pas définis comme des équipements dans le plugin cela permet entre autre de récupérer les mac adresse pour la fonction Ajouter
il se présente de la façon suivante
Donne le type de Miflora (remontée par l’équipement lors du scan) les équipements bluetooth qui ne sont ni des MiFlora ni des Parrots sont pas affichés
Indique la mac adresse de l’équipement détecté (les équipements déja déclarés ne sont pas affichés )
Indique l’antenne qui a détecté l’équipement remarque: on peut retrouver le même équipement détecté par des antennes différentes c’est normal cela permet de choisir l’antenne qui a la meilleure réception
indique la puissance du signal de réception plus le chiffre est petit moins le signa est bon (donc un signal a -75 est meilleur qu’un signal à -96)
Attention: la majorité des plugins Bluetooth monopolisent le controleur, le scan ne trouvent aucune antenne quand un autre plugin bloque le controleur. Pour avoir un resultat fiable il faut dédier un ‘adaptateur Bluetooth’ à MiFlora, celui integré à un raspberry PI ou un dongle par exemple.
La partie configuration du plugin permet :
hciconfig
permet de lister ceux disponibles sur votre système),high
sauf si ce n’est pas supporté par votre système),Pour chaque équipement, il faut rentrer l’adresse Bluetooth de l’équipement.
Il est possible de trouver celle-ci en utilisant les commandes :
bluetoothctl
scan on
Les adresses des MiFlora apparaissent comme ci-dessous:
[NEW] Device C4:7C:8D:xx:xx:xx Flower mate
[NEW] Device C4:7C:8D:xx:xx:xx Flower care
scan off
quit
La fréquence de lecture des données est par défaut celle de la configuration globale. Elle peut être modifié pour chaque équipement.
Il est possible que Jeedom pilote des appareils déportés qui se chargeront de la communication Bluetooth avec les MiFlora.
Dans ce cas, il faut renseigner les paramètres de connexion SSH entre Jeedom et cet appareil déporté :
Le choix déporté active la partie configuration qui permet de saisir une adresse IP, un port, un nom d’utilisateur ainsi que le mot de passe associé pour l’appareil distant.
Le plugin va alors se connecter en SSH à l’IP saisie précédemment et récupérer les informations du MiFlora en Bluetooth grâce à la commande gatttools
Aucun Jeedom n’est nécessaire sur l’équipement distant.
Il faut installer le Bluetooth et s’assurer que gatttool --device=hci0 -b _macAddMiFlora_ --char-read -a 0x35 --sec-level=high
fonctionne sur l’appareil cible (selon le choix local ou déporté).
hci : permet de choisir le dongle Bluetooth pour ceux qui en ont plusieurs.
niveau de sécurité : permet de choisir le niveau de sécurité Bluetooth, high
semble bien dans la majorité des cas, cependant changer le niveau de sécurité semble résoudre certains problèmes de connexions.
Le mode debug permet de lancer en permanence (toutes les minutes), la récupération des données MiFlora. Il convient de limiter son utilisation au debug. Laisser le mode debug en permanence va affecter la durée de vie du support de stockage, spécialement les cartes SD et vider plus rapidement la pile de l’appareil.
Cette page permet la récupération des données des équipements distants via des antennes déportées
Peuvent être utilisé comme antenne toute machine linux sur laquelle la commande gatttool
fonctionne et sur laquelle le ssh est possible.
Les Xiaomi Plants sont des sticks Bluetooth de la marque Xiaomi permettant de mesurer l’hygrométrie, la température, la lumière, l’engrais d’une plante. Nul besoin d’autre chose qu’une connexion Bluetooth, y compris via un appareil déporté.
L’écran de base ce présente comme ceci
L’écran ce présente comme ceci
indique le nom de l’antenne
indique l’adresse ip de l’antenne distante
indique le nom du user qui sera utilisé pour lancer les commandes distante (attention ce user doit disposer du droit de lancer des commandes sudo)
indique le mot de passe du compte ‘User’
indique le port pour la commande ssh (en général port = 22)
indique le nom du device bluetooth qui sera utilisé sur la machine distante (valeures possibles de hci0 a hci3 )
Cet écran permet de visualiser l’état du plugin et des équipements
il se présente de la façon suivante
L’icone sera grisé si l’équipement n’est pas activé (voir écran d ajout)
Donne les informations sur l’équipement (objet et nom)
Indique l’ID Jeedom interne
Indique la mac adresse de l’équipement
indique la fréquence de collecte des données (permet de voir si l’équipement utilise la valeur par default ou une valeur specifique )
en vert indique que la derniere collecte s’est bien déroulée en rouge indique qu’il y a eu une erreur lors du dernier essai de collecte
Donne l’état de la pile de l’équipement
indique quelle antenne à été indiquée dans la configuration de l équipement (local, Auto, nom de l’antenne deportée)
Indique si la configuration de l’antenne est à Auto l’antenne la plus puissante qui a été trouvée et qui est utilisée
Indique la date et l’heure de la derniere collecte de donnée
MiFlora ne gère que les plantes, BLEA est un plugin pour tous les objets Bluetooth LE, il est donc beaucoup plus complexe, il nécéssite des dépendances, a un systeme de démon, il est adapté pour gérer une multitude de types d’objets Bluetooth LE mais nécéssite plus de suivi et de maintenance, principalement les démons et dépendances lors des mise à jour
Le plugin utilise le Bluetooth pour récupérer les informations du MiFlora. Il faut installer le Bluetooth et s’assurer que
gatttool -b macAddMiFlora --char-read -a 0x35
fonctionne sur l’objet cible.
Non pas du tout, il a besoin du Bluetooth pour chaque relevé, cf question suivante pour plus de détails sur le nombre de relevés par jour.
C’est défini dans la configuration globale du plugin, pour tous les objets : de toutes les 15 minutes à toutes les 12 heures. Il est possible de configurer une fréquence differente par MiFlora,
defaut
permet d’utiliser la frequence globale.
J’utilise le modulo de l’heure actuelle avec la fréquence saisie en paramètre. + Attention: en mode debug, les données sont récupérés en permanence indépendamment de la configuration.
Les informations statiques (batterie, nom de l appareil, version du firmware) sont récupérées toutes les 12 heures : à minuit et midi.
Il est compatible avec toutes les versions connues à ce jour (2.9.2) depuis la version 1.0 du plugin.
Dans ce cas il faut prendre un dongle BLE. Le problème avec le razberry c’est seulement si on utilise le contrôleur interne.
Bien sur, le code est sur GitHub : rjullien/plugin-MiFlora, vous pouvez soumettre des pull requests.
Il y a beaucoup de configuration qui peuvent générer ce problème. Avec Pixel il faut faire attention d’avoir un seul gestionnaire de bluetooth. BlueZ est incompatible avec blueman (sudo apt-get remove blueman)
Dans la configuration du plugin mobile Jeedom, il faut chercher Miflora et cocher la case activer, configurer la température avec Info/Température et l’hygrometrie avec Info/Humidité, les autres avec Aucun. Les informations remontent ensuite toute seule dans la partie objets de l’app Jeedom
MiFlora gere les Parrots Flower et MiFlora. Le plugin les differencie en utilisant les addresses MAC reservés à ces deux societés. La Mac address saisi ne correspond pas. Si c’est bien un de ces deux objets, il faut faire une demande de support ou une PR sur GitHub.
Les valeurs d’humidité, de fertilité, de luminosité et de températures sont accessible depuis des scénarios.
Il est possible de lire ces valeurs, de les comparer à un seuil et d’alerter en cas de dépassement du seuil, par exemple pour arroser une plante.
Les alertes peuvent être données par du ‘text to speech’ (plugin playTTS par exemple), par notification sur smartphone (plugin pushbullet), par SMS …
Les seuils peuvent être trouvés en utilisant la base de plantes de Xiaomi ou celle de Parrot à défaut un seuil entre 14 et 16 semble convenir à une majorité de plantes d’intérieur.
Il est aussi possible de réguler un arrosage automatique, MiFlora semble bien résister aux intempéries
Cette liste de questions provient essentiellement de vos questions sur le fil de discussion MiFlora du forum.