Script blocky pour activation chauffe serviettes

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 <\>.
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Script blocky pour activation chauffe serviettes

Message par manuloup »

Bonjour à tous et bonnes fêtes de fin d'année 2024 !

Etant abonné à Tempo, j'aimerais conditionné selon les couleurs l'activation de mon chauffe serviettes :

- rouge : ne s'allume pas
- blanc : selon les jours s'allume 1h
- bleu : selon les jours, 1h le week-end, 1h30 en semaine de 5h30 à 7h.

J'ai donc réalisé le script suivant, mais cela ne fonctionne pas :
blockly chauffe serviettes.jpg
blockly chauffe serviettes.jpg (79.55 Kio) Consulté 7975 fois
A noter que je récupère la couleur sous forme de texte, j'ai bien respecté les min/maj .

Je ne sais pas trop comment le débuguer.

Je vous remercie pour votre aide.
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script blocky pour activation chauffe serviettes

Message par Keros »

Est-ce que tu as procédé par étape pour essayer de déboguer et trouver d'où vient le soucis ?

Je commencerai très simple If time = "maintenant" alors on sinon si time = "maintenant" + 1 min alors off.

Est-ce que ce petit bout de fonction allume et éteint ton sèche serviette ?
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
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Re: Script blocky pour activation chauffe serviettes

Message par manuloup »

Salut,

Merci pour ta réponse. J'ai fait un simple test et déjà là, je ne viens rien dans la log :
blockly test.jpg
blockly test.jpg (16.16 Kio) Consulté 7969 fois
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script blocky pour activation chauffe serviettes

Message par Keros »

Le trigger de ton script est bien sur Time ?

Est-ce que tu as une sortie dans les logs si tu mets un else write to log ... ?
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
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Re: Script blocky pour activation chauffe serviettes

Message par manuloup »

Tu as raison, c'est niveau trigger. Par exemple, tu ne peux pas mélanger des conditions de temps et le device='Bleu', il ne sait traiter que les 2 séparément.

Je vais réécrire cela et reviendrai avec la version finalisée.

Par contre, je n'ai trouvé que les else if, mais pas les else qui , semble-t-il, ont disparu.
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Script blocky pour activation chauffe serviettes

Message par Keros »

Ah, désolé, je pensais que le Else simple existait en Blocky. Je l'utilise en permanence en code LUA et DzVents.
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
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Re: Script blocky pour activation chauffe serviettes

Message par manuloup »

Voilà, ça marche comme cela. J'aurais bien aimé pouvoir mélanger les conditions, ça aurait été un peu plus clean mais bon.

Je conditionne les heures de démarrage selon la couleur le week-end, et l'heure de fin selon la couleur en semaine.
Pas d'allumage en jour rouge.
blockly chauffe serviettes final.jpg
blockly chauffe serviettes final.jpg (102.52 Kio) Consulté 7939 fois
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Re: Script blocky pour activation chauffe serviettes

Message par manuloup »

Bon, ça ne marche pas du tout, il ne tient pas compte des couleurs, uniquement des triggers de temps.

Ce matin, on est en période rouge, il a démarré à 5h30 pour s'arrêter à 6h30.

Je pense que je vais écrire un script shell, ça sera plus simple.
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: Script blocky pour activation chauffe serviettes

Message par lost »

Si cela fonctionne c'est le principal mais:
-Pour un cas simple comme celui là codé avec des conditions type jour/heure pas si complexes, on touche déjà aux limites de blockly et cette présentation rends les choses peu lisibles.
-Il y aurait, blockly ou pas (Lua/dzVent), moyen de faire plus simple en utilisant les plannings (ou timer-plans): Selection d'un timer-plan "jour rouge" ou "normal", toutes les conditions horaires sortent alors du script et se retrouvent dans le planning.

Personnellement j'ai choisi cette solution planning plus facile d'édition que du code et qui passe mieux à l'échelle: J'ai en tout 7 radiateurs gérés ainsi, en plus du sèche serviettes, et pas seulement pour optimiser les jours Tempo mais aussi les HP/HC... j'ai aussi un planning vacances qui coupe tout quand je suis absent qq jours et je remets en route la veille de rentrer à distance, par simple retour au planning normal (et cela gère aussi le ballon d'eau chaude, pas seulement le chauffage, via un relais en série sur le côté commande du signal HP/HC qui ne laisse pas passer la commande en planning absence: J'ai donc de l'eau chaude en rentrant également...).

On peut créer autant de timer-plan indépendants dans Domoticz depuis pas mal d'années (au début, on était limité à 2) que l'on veut pour gérer toutes les conditions horaires et éviter de complexifier les scripts avec cela.
manuloup
Messages : 781
Inscription : 18 févr. 2015, 13:05

Re: Script blocky pour activation chauffe serviettes

Message par manuloup »

Merci Lost pour ta réponse.

Je vais regarder cette histoire de planning, je ne sais pas même pas où c'est :)
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
Répondre