Aide script blockly

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Thx
Messages : 56
Inscription : 21 déc. 2020, 12:38

Aide script blockly

Message par Thx »

Bonjour,

J'aimerais suivre le niveau de charge de la tablette des enfants. J'ai donc créé un device virtuel de type pourcentage qui est alimenté par requette HTTP depuis la tablette. Et j'ai créé un script Blocky pour m'envoyer un email quand ça passe en dessous de 30 %.
Image

mais ce fichu script n'est jamais déclenché quand la tablette envoie son état.


Qu'ais-je fait de mal ?


Note : le script n'est pas terminé, tel qu'il est il m'enverra un message à chaque descente de 1%

Merci d'avance
Thx
Dernière modification par Thx le 21 déc. 2020, 14:26, modifié 1 fois.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Evènement Blocky jamais déclenché

Message par Keros »

Bonjour Thx et bienvenu sur le forum ;)

Les scripts, qu'ils soient en blocky ou en lua, ont besoin de trigger pour être lancer : Voir la documentation blockly sur le wiki

Explique également qu'est ce c'est que le device Tablette de Léane (le type et comment il récupère l'info). Est ce que lui est déjà bien mise à jour par ta tablette ?

Je te conseil de commencer doucement en faisant un print de l'info quand tu recois un état de la tablette.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Thx
Messages : 56
Inscription : 21 déc. 2020, 12:38

Re: Evènement Blocky jamais déclenché

Message par Thx »

Au final, ce qui n'est pas écris dans la documentation (en tous cas je ne l'ai pas vu) c'est que le device pour lequel on veur déclencher le script DOIT IMPERATIVEMENT être dans la condition du bloc "if" de premier niveau
Thx
Messages : 56
Inscription : 21 déc. 2020, 12:38

Conditions non respectées dans un script Blocky

Message par Thx »

Bonjour

Je suis en train d'écrire un script blocky pour suivre le niveau de charge de mes tablettes.

Les tablettes envoient leur niveau de charge via l'API JSON de domoticz (cette partie fonctionne). Par exemple :

Code : Tout sélectionner

http://mon.serveur.domoticz/json.htm?type=command&param=udevice&idx=11&nvalue=0&svalue=93
La valeur est stockée dans un device virtuel de type général, sous-type Percentage

J'utilise également une variable utilisateur pour stocker la valeur précédente (type entier)

La mise à jour du device déclenche le script suivant :
Image

Et j'obtiens le log suivant :
2020-12-21 14:37:29.667 Status: Tablette Léane xx
2020-12-21 14:37:29.668 Status: 55
2020-12-21 14:37:29.668 Status: 50
2020-12-21 14:37:29.668 Status: Envoi d'un e-mail : Il faut recharger la tablette de Léane
2020-12-21 14:37:29.668 Status: tablette de léane : update dernière mesure
2020-12-21 14:37:29.669 Status: 55
Comme vous pouvez le voir dans le log :
1) la nouvelle valeur (55) est supérieure à l'ancienne (50)
2) la nouvelle valeur est supérieure à 30 (mon seuil d'alerte)

Et pourtant le script blocky passe quand meme dans le block de log "envoi d'un email" :!:

Est-ce que vous pouvez m'expliquer ce comportement ?

Merci d'avance
Dernière modification par Keros le 21 déc. 2020, 17:10, modifié 1 fois.
Raison : Merci de ne pas multiplier les sujets pour un seul script
Répondre