Planning sur Sélecteur Domoticz

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
jmarcusse
Messages : 9
Inscription : 19 déc. 2020, 17:57

Planning sur Sélecteur Domoticz

Message par jmarcusse »

Bonjour,
Je n'arrive pas à piloter mes radiateurs correctement avec cette fonction. Pourtant en commutant les états de pilotage (Off, HorsGel, Eco, Confort) à la main, tout va bien.
Très souvent le passage en mode Confort s'éxécute correctement depuis le planning, mais le passage en mode Off est raté.
Pourtant, le log montre que les commandes sont bien émises.
Mon Domoticz est en version 2020.1. Une version est à upgrader 11995, cela résoudrait?

Dommage, parce que sinon,tout marche très bien. Vos avis? pareil chez vous? autre solution avec du script LUA ou BLOCKLY?
image_2021-01-18_205123.png
image_2021-01-18_205123.png (51.75 Kio) Consulté 2481 fois
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Planning sur Sélecteur Domoticz

Message par Keros »

Je trouve qu'il y a souvent des soucis avec les plannings et les sélecteurs en ce moment : plusieurs sujets parlent de cette problématique :roll:

Il y a une autre version stable en 2020.2. Mais je ne pense pas que ça résolve le problème. Tu peux essayer néanmoins (fais quand même une sauvegarde par sécurité).
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
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Planning sur Sélecteur Domoticz

Message par hestia »

Salut,
quel est le protocole?
quel est le type de device? ça donne directement confort et off ou existe-t-il qqch entre?
jmarcusse
Messages : 9
Inscription : 19 déc. 2020, 17:57

Re: Planning sur Sélecteur Domoticz

Message par jmarcusse »

Ma configuration est toute simple et en conformité avec les capteurs MySensors.

Le but de l'installation est de piloter chaque radiateur avec un ordre "fil pilote" pour avoir accès à distance via accès @, et pour domotiser en programmant les plages horaires.
J'utilise un Raspi Pi4, avec Domoticz, qui via une Gateway USB, qui discute avec une poignée de noeuds répartis dans la maison
Chaque noeud est constitué d'un PCB alimenté depuis le 230V du radiateur, et par un module alim, qui permet le 5V sur un Arduino MiniPro, qui pilote 2 optotriacs qui permettent suivant la combinaison binaire d'obtenir 4 état pour piloter le mode de fonctionnement du radiateur. Un capteur de température, hygro, et pression BME280 complète le noeud et permet la remontée des mesures sur Domoticz. Un régulateur 5V/3V,3 permet l'alimentation de l'antenne NRF24L01 on board aussi.
Le tout est installé dans un boitier réalisé 3D.
Coté Domoticz, 2 voies TOR descendent(les optos) et 3 mesures remontent, par radiateur.
Pour piloter en manuel le chauffage, plutôt que d'actionner manuellement les 2 bits binaires, un sélecteur à 4 position est intercalé, un script LUA retranscrit les états aux 2 bits suivant le choix Off, HorsGel, Eco, Confort : ça marche super bien comme ça.
Dès que j'utilise les plannings de chaque sélecteur, c'est la panique.
Merci à tous de votre expertise.
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Planning sur Sélecteur Domoticz

Message par hestia »

jmarcusse a écrit : 18 janv. 2021, 22:45 Ma configuration est toute simple ...
vu ce qui suit, c'est sophistiqué...
Je pourrais suggérer de tester le planning sur des devices dummy pour voir si c'est un pur pb de plannnig ou autre.
Aussi de doubler les commandes qui ne fonctionnement pas toujours 15:15 et 15:16.
Ne pas mettre tous les plannings exactement à la même minute au cas où...
J'utilise les planning pour mon chauffage et c'est ok, c'est un device dummy qui a le planning et un script qui met à jour chaque radiateur. Ma version est 2020.2 (build 12819)
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Planning sur Sélecteur Domoticz

Message par hestia »

A voir aussi ici https://www.domoticz.com/forum/viewtopi ... =6&t=35259
Je vais à la fin sans tout lire en détail:
"Some of them (but not all) are related to a (temporary) wrong timezone setting on the host."
jmarcusse
Messages : 9
Inscription : 19 déc. 2020, 17:57

Re: Planning sur Sélecteur Domoticz

Message par jmarcusse »

Bonjour,
Vous savez quoi? tout marche bien mieux depuis que j'ai calmé un noeud que j'avais un peu oublié car il fonctionnait bien dans son coin : seul problème il émettait des mesures toutes les 2 secondes avec un" Delai(2000); Durée de la boucle en ms" dans l'arduino. Je l'ai passé à Wait(20000), ça libère un peu le réseau? et tout les cas les timers marchent correctement depuis.
J'ai lu que le Wait(MySensors) permet d'attendre sans monopoliser le processeur, contrairement au Delai (d'Arduino de base).
Le fait de passer la remonté de mesure de 2s à 20s peut aider aussi.
Mais je n'y vois pas très clair, quelqu'un a déjà sniffé un réseau MySensors récemment?
Flying Domotic
Messages : 772
Inscription : 10 mars 2020, 15:26

Re: Planning sur Sélecteur Domoticz

Message par Flying Domotic »

Bonjour,

Wait/delay/sleep bloquent l'exécution du programme "utilisateur". Ça ne pose pas de souci lorsqu'on n'a qu'un seul capteur, mais devient problématique quand on en a plusieurs, ou qu'on souhaite faire quelque chose pendant le temps d'attente.

Une autre façon de faire est de modifier un peu le contenu de la boucle loop. Avant :

Code : Tout sélectionner

loop: {
	do_something;
	delay(xxx);
}
Après :

Code : Tout sélectionner

unsigned long previousTime;     //!< horodatage de la dernière exécution du code
loop: {
  // Récupérer l'horodatage actuel
  unsigned long currentTime = (unsigned long) millis();
  // Est-il temps d'exécuter le code ?
  if((currentTime - previousTime) > xxx) {
    // Oui, mémoriser l'horodatage de la dernière exeécution
    previousTime = currentTime;
    // Faire le boulot ...
    do_something;
  }
}
En faisant comme ça, on ne bloque plus la boucle, et on peut empiler différents bouts de code avec des timers ou des conditions de déclenchement différents.
Répondre