Expérience Blocky
Publié : 09 nov. 2022, 17:14
Salut à toutes et tous,
Le système Domoticz que j'utilise est le suivant :
Centrale RaspberryPi Raspbian Jessie avec Domoticz 4.97 .
Passerelle 1 Usb RFLink 433Mhz .
Passerelle 2 Usb MySensors 2.4Ghz nRF24L01 .
Passerelle 3 Ethernet W5100 MySensors 2.4Ghz nRF24L01 .
Passerelle 4 Ethernet W5100 MySensors 2.4Ghz nRF24L01 .
Quelques Sondes 433Mhz Oregon, Xiron ...
Une dizaine de sondes MySensors de fabrication maison 2.4Ghz nRF24L01.
Ces sondes sont réparties sur les passerelles 2, 3 et 4, qui ont chacune un canal radio propre.
N'étant pas programmeur, je n'ai jusqu'à présent jamais touché à Blocky, LUA, ou DzEvent. Je me suis limité à ajuster les programmes fournis sur le site MySensors pour mes sondes.
Comme je cherche à faire une régulation chaudière je pense à créer un Élément Virtuel pour faire office de thermostat.
J'ai des sondes de température sur batterie, mais elles n'émettent pas souvent, réveil toutes les deux minutes et émission sur changement de valeur ou forcée après vingt-huit ou trente minutes s'il n'y a pas de changement de valeur.
Si ma sonde (Sonde 10 sur alimentation secteur, pas de veille) veut interroger une sonde de température il n'y a aucune chance qu'elle réponde car elle sera sûrement en veille.
D'où l'idée d'éléments ou variables Domoticz accessibles en permanence à la sonde 10.
J'ai donc créé un élément virtuel consigne thermostat avec une valeur de 19.5°C et un autre interrupteur virtuel Thermostat Marche/Arrêt.
Il faut mettre à jour ces éléments à chaque variation de température, puis passer la valeur ou l'état à la sonde 10, mais là c'est du MySensors et je ne sais pas encore faire. On verra après.
Essayons avec Blocky:
Je crée un ensemble de blocs comme celui-ci.
Au passage, quand on n'a jamais manipulé, ce n'est pas si simple. Mais grâce au forum, on finit par y arriver...
Et ... ça ne fonctionne pas.
À chaque fois, on a les deux cas dans les Logs, comme si les conditions étaient toujours vraies.
J'ai joué avec les blocs pour faire une dizaines de versions, mais sans succès.
Je me suis dit que je loupais quelque chose, j'ai donc passé en revue au rayon "Script" tout ce qui parlait de Blocky, et après quelques heures j'ai vu un article qui affirmait que Blocky n'aimait pas les "Si condition Alors" multiples ! Et qu'il fallait faire plusieurs programmes avec un seul "Si".
Je refais deux programmes. Et là, çà fonctionne !!!
Je me dis que c'est à cause de ma vieille version, et que çà a été corrigé depuis.
Je dois donc migrer vers Buster et une version récente de Domoticz, mais comment ? Il n'y a plus que les sources sur le site Domoticz.
Cordialement.
Rpx.
Le système Domoticz que j'utilise est le suivant :
Centrale RaspberryPi Raspbian Jessie avec Domoticz 4.97 .
Passerelle 1 Usb RFLink 433Mhz .
Passerelle 2 Usb MySensors 2.4Ghz nRF24L01 .
Passerelle 3 Ethernet W5100 MySensors 2.4Ghz nRF24L01 .
Passerelle 4 Ethernet W5100 MySensors 2.4Ghz nRF24L01 .
Quelques Sondes 433Mhz Oregon, Xiron ...
Une dizaine de sondes MySensors de fabrication maison 2.4Ghz nRF24L01.
Ces sondes sont réparties sur les passerelles 2, 3 et 4, qui ont chacune un canal radio propre.
N'étant pas programmeur, je n'ai jusqu'à présent jamais touché à Blocky, LUA, ou DzEvent. Je me suis limité à ajuster les programmes fournis sur le site MySensors pour mes sondes.
Comme je cherche à faire une régulation chaudière je pense à créer un Élément Virtuel pour faire office de thermostat.
J'ai des sondes de température sur batterie, mais elles n'émettent pas souvent, réveil toutes les deux minutes et émission sur changement de valeur ou forcée après vingt-huit ou trente minutes s'il n'y a pas de changement de valeur.
Si ma sonde (Sonde 10 sur alimentation secteur, pas de veille) veut interroger une sonde de température il n'y a aucune chance qu'elle réponde car elle sera sûrement en veille.
D'où l'idée d'éléments ou variables Domoticz accessibles en permanence à la sonde 10.
J'ai donc créé un élément virtuel consigne thermostat avec une valeur de 19.5°C et un autre interrupteur virtuel Thermostat Marche/Arrêt.
Il faut mettre à jour ces éléments à chaque variation de température, puis passer la valeur ou l'état à la sonde 10, mais là c'est du MySensors et je ne sais pas encore faire. On verra après.
Essayons avec Blocky:
Je crée un ensemble de blocs comme celui-ci.
Au passage, quand on n'a jamais manipulé, ce n'est pas si simple. Mais grâce au forum, on finit par y arriver...
Et ... ça ne fonctionne pas.
À chaque fois, on a les deux cas dans les Logs, comme si les conditions étaient toujours vraies.
J'ai joué avec les blocs pour faire une dizaines de versions, mais sans succès.
Je me suis dit que je loupais quelque chose, j'ai donc passé en revue au rayon "Script" tout ce qui parlait de Blocky, et après quelques heures j'ai vu un article qui affirmait que Blocky n'aimait pas les "Si condition Alors" multiples ! Et qu'il fallait faire plusieurs programmes avec un seul "Si".
Je refais deux programmes. Et là, çà fonctionne !!!
Je me dis que c'est à cause de ma vieille version, et que çà a été corrigé depuis.
Je dois donc migrer vers Buster et une version récente de Domoticz, mais comment ? Il n'y a plus que les sources sur le site Domoticz.
Cordialement.
Rpx.