Page 1 sur 1

Evenement Blocky qui ne fonctionne pas....

Publié : 10 avr. 2024, 08:51
par vwstepha
Salut a tous
J'ai voulu commencer à automatiser le fonctionnement de la filtration de ma piscine.
Je l'active pendant 5 min afin de faire circuler l'eau dans les tuyaux. Ensuite en fonction de la temperature j'active a nouveau avec un timer la filtration


Aujourd'hui la temperature de l'eau etait de 14.5° mais la pompe ne s'est pas activée.
LA semaine derniere, je n'avais pas la condition de l'heure decalée de 30 secondes mais comme cela ne marchait pas non plus, je pensais que cela venait de la....
Si vous avez une idée!
Merci :ugeek:

Re: Evenement Blocky qui ne fonctionne pas....

Publié : 10 avr. 2024, 12:44
par Keros
Ton screenshot est bien mais il nous faudrait toute la page et en particulier la partie droite avec le trigger. C'est pour vérifier qu'il est bien sur Time ;)

Ensuite, tu ne peux mettre qu'un seul bloc If de départ. Là, tu en as deux et je ne suis pas sur que Blockly le comprenne.

Enfin, essaye de mettre des écritures dans les logs pour savoir ce qu'il ce passe (sans forcément actionner ton dispositif).

Et un conseil : regarde la possibilité de réaliser tes scripts en code. Tu vas très vite atteindre les limites de blockly. Je te propose de regarder les petits guides que j'ai rédigé dans ma présentation (lien dans ma signature).

Re: Evenement Blocky qui ne fonctionne pas....

Publié : 10 avr. 2024, 16:59
par vwstepha
Merci pour ce retour
Désolé pour le screen; oui il est bien sur Time;
Par contre j'ai du mal avec les scripts. j'ai voulu au début car tout le monde le conseille mais j'ai pas su malgre avoir lu pas mal de pages........
je sais pas comment déclarer mes variables; aller les lire quand j'en ai besoin. ainsi que la syntaxe a utilisé

Pour le blocky avec mes 3 conditions de température, c est vrai que je suis pas sur de mon coup surtout quand je met >3° arrêt pompe puis >13° Pompe On....

Re: Evenement Blocky qui ne fonctionne pas....

Publié : 10 avr. 2024, 18:32
par gaston
Elo

Comme le dit Keros, le problème de base est 2 IF dans un bloc, il faut ajouter un ELSEIF sur le 2eme IF (comme tu l'a fait)et y mettre les champs du 1er IF qu'il faut effacer ensuite.

Après, comme tu l'a constaté, il faut revoir les "logiques" de ce script ;)

Re: Evenement Blocky qui ne fonctionne pas....

Publié : 10 avr. 2024, 20:58
par Keros
vwstepha a écrit : 10 avr. 2024, 16:59 je sais pas comment déclarer mes variables; aller les lire quand j'en ai besoin. ainsi que la syntaxe a utilisé
Je reprends l'exemple du premier lien dans mon aide :

Code : Tout sélectionner

commandArray = {}
if (devicechanged['CPU_Usage'])
        then
            val_rasp = tonumber(otherdevices_svalues['CPU_Usage'])
            print("cpu = "..val_rasp)
end
return commandArray
Oui, le script passe par une variable, mais ce n'est pas nécessaire. Cette simplification fonctionne :
D'ailleurs, formater en nombre pour ensuite afficher du texte ...

Code : Tout sélectionner

commandArray = {}
if (devicechanged['CPU_Usage'])
        then
            print("cpu = ".. otherdevices_svalues['CPU_Usage'])
end
return commandArray
Dans ton Blockly également, le Time = 08:05:30 ne sera jamais valide, car les scripts time s'exécute toutes les minutes pleines.
Tu as aussi la possibilité de mettre des conditions If en cascade :
S'il est 08h05 alors
si la température est inférieure à 3 alors
si la température est supérieure à 13 alors
si non ou si non si
....
fin