1) Machine à état
J’ai utilisé le plugin virtuel pour créer des commandes qui dépendent d’un certain nombre de variables.
J’ai fait de la logique booléenne dans mes commandes en fonction de différents retour d’état, météo etc.
Ensuite je récupère ces commandes jeedom dans un démon python qui tourne en tâche de fond et qui active les pins du port GPIO de mon raspberry. Par exemple (en logique simplifiée)
// Recuperation de la commande jeedom
requests.get(url_jeedom_local+'#ID_COMMANDE#')
//Vérification par rapport à l'état précédent
//mise à jour si nécessaire de l'état de sortie de la pin correspondante
GPIO.setup(#PIN_GPIO#, GPIO.OUT)
Exemple de la commande jeedom pour le pilotage du circulateur de la chaudière via un relais
Autorisation circulateur chaudiere :: (#[Chauffage][PAC][statut_PAC]#*((#[Hitachi][Hlink][Etat opérationnel]# == 6 ) | (#[Hitachi][Hlink][Etat opérationnel]# == 3 ))+(#[Hitachi][Commande PAC][Valeur]#==0)+1)*0 | max(#[Hitachi][Hitachi Tuya][W]#,20min)>120|(#[Hitachi][Hlink][Température de sortie de leau]#-1)>#[Chauffage][PAC][T_retour_chaudiere]#*!#[Rotex][ECS][PAC_ECS]#
Pour l’instant ça fonctionne bien mais :
- le suivi des différentes commandes d’état est complètement illisible!
- j’ai construit ces variables d’état au fur et à mesure et je les ai dispaché dans plusieurs équipement virtuels différents ce qui n’aide pas au suivi…
- j’avais essayé d’utiliser jeeduino pour configurer les pins du GPIO dans succès à l’époque… Il faudrait que je regarde de ce côté là : GPIO avec V4 et JEEDOUINO - #9 par revlys
Je ne pense pas revoir la partie configuration des pins maintenant pour la réintégrer dans jeedom avec jeeduino mais je pensais commencer par centraliser toute mes commandes d’état, soit dans un équipement virtuel unique, en passant par des scénarios ou encore le plugin script => Machine à état.
Si je veux regrouper les commande d’état dans un même équipement virtuel, il faudrait que je puisse les déplacer entre les différents équipements mais sans perdre leur ID pour ne pas casser le lien avec le demon en arrière tache.
Je ne savais pas non plus comment modifier une valeur de commande par un scénario, peut être que le plugin script serait plus adapté…