Page 2 sur 2

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 15 nov. 2023, 09:46
par lost
Keros a écrit : 13 nov. 2023, 18:46les aspects d'historique me semble être la partie la plus compliquée à mettre avec les scripts.
C'est exact, sauf à utiliser les "user variables" mais pour des besoins un peu complexe on est vite amené à devoir les multiplier ce qui n'est pas très propre. Il manque à mon sens un truc à ce niveau dans Domoticz, comme la possibilité de passer une table données utilisateur (à la manière du commandArray) entre appels scripts.

Maintenant, il est parfois possible de limiter le besoin aussi en utilisant asticieusement ce qui est dispo, comme ici une valeur de puissance et son last_update. Cela donne la possibilité d'intégrer (somme des différence de temps * conso, dans une user var unique) une courbe de conso sur un compteur virtuel (dont on a aussi le last_update, qui peut par exemple être une tranche cible de 5, minimum vu la pérodicité d'échantillonnage en BD des données, à 10mn sans MAJ, pour la division temps total de la somme précédente).

Cela donnera une puissance moyenne sur le temps d'update cible du compteur virtuel qui, quand on tombe sous un seuil de Pmoy défini (fraction de la puissance de la résistance du ballon), pourra indiquer que l'on est alors dans une phase d'entretien de la température permettant de couper le relais.

Avec une seule valeur/variable, on fait ce qui autrement nécessiterait de stocker un historique de conso récente.

Mais bon, dans tous les cas de figure c'est pas faisable en jouant au Lego en blockly!

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 15 nov. 2023, 12:42
par Keros
lost a écrit : 15 nov. 2023, 09:46 Il manque à mon sens un truc à ce niveau dans Domoticz, comme la possibilité de passer une table données utilisateur (à la manière du commandArray) entre appels scripts.
Le DzVents le permet avec les persistant Data : les données sont disponibles entre les exécution d'un même script. Tu peux ainsi faire des calculs de moyenne, de mini/maxi et certainement d'autres.
C'est dès la création de la "data" que tu indiques l'historique que tu souhaites conserver : soit en nombre de valeurs soit sur une durée.

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 15 nov. 2023, 17:13
par lost
Keros a écrit : 15 nov. 2023, 12:42 Le DzVents le permet avec les persistant Data...
Oui, j'avais vu cela, mais au delà du fait que j'ai jamais eu le courage (Lua ne m'ayant pas obligé à le prendre à 2 mains, si simple niveau syntaxe qu'il n'y a même pas besoin de vraiment apprendre et allant sans doute mieux avec ma logique très procédurale de développeur bas niveau/embarqué en C) de me mettre à dzVent c'est à mon sens aussi fait pour combler un manque de Domoticz qui aurait pu pousser plus loin le concept de variable utilisateur!

Car le gros défaut que j'y voit, c'est que cela stocke en fait ce qui doit persister dans des fichiers. Je ne suis pas certain que beaucoup de gens pensent aux impacts: Performance voir durée de vie de la uSD d'un PI si on en utilise beaucoup/avec une fréquence de MAJ d'un script très sollicité importante, sauf à pouvoir faire en sorte que cela tombe sur un point de montage dans un tmpfs ou à minima régler la gestion de mémoire virtuelle pour minimiser/grouper les écritures.

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 15 nov. 2023, 19:06
par Keros
La documentation indique seulement :
Size matters and watch your speed!!

If you include tables (or arrays) in the persistent data, beware to not let them grow. It will definitely slow down script execution because dzVents has to serialize and deserialize the data. It is better to use the historical option as described below.
Je ne sais pas où ces données sont stockées.


Le DzVent est plus compliqué au début pour comprendre le principe de fonctionnement des scripts mais, une fois apprivoisée, la programmation orientée objet me semble plus facile que le lua. J'y ai gouté : je l'ai adopté :mrgreen:

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 15 nov. 2023, 20:18
par Neutrino
C'est stocké dans "~/domoticz/scripts/dzVents/data".
Le côté persistent exclue un stockage en RAM.
ça m'aide a débuggé parfois pour connaitre les données stockées.

Re: [2023.2] Ajuster au mieux le temps de chauffe d'un Chauffe Eau electrique

Publié : 17 nov. 2023, 10:13
par boum
comme dit plus haut, pour éviter de stocker des données dans les persistent data, on peut utiliser les variables utilisateur.
ou sinon des dispositifs virtuels. j'ai un matériel dummy consacré aux scripts et je les place dans un plan spécifique