Avis code rules

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
padbol2002
Messages : 84
Inscription : 23 oct. 2017, 08:53

Avis code rules

Message par padbol2002 »

Hello a tous,
mon petit projet se finalise (ecran nextion)
j'en suis a la partie nettoyage du code :

j'ai 1 page par piece et 4 pieces avec 4 thermostats

j'ai donc ceci pour 1 piece et que j'ai du dupliquer 4x en changeant uniquement les variables
étant nul en programmation orienté objet y'a t'il un programme pour pourrait raccourcir ceci ?

Code : Tout sélectionner

//chambres
on nextion#idx=1270 do 
 TaskValueSet 5,2,([Thermostat#chambres]+0.5)
 if [Thermostat#chambres]>25
  TaskValueSet 5,2,25
 endif
TaskRun,5
endon

on nextion#idx=1271 do 
 TaskValueSet 5,2,([Thermostat#chambres]-0.5)
 if [Thermostat#chambres]<15
  TaskValueSet 5,2,15
 endif
TaskRun,5
endon

on nextion#idx=1272 do
  if [regul#chambres]=30
    TaskValueSet 6,2,20
  else
   if [regul#chambres]=20
    TaskValueSet 6,2,30
   endif
  endif
  SendToHTTP,192.168.1.118,8080,/json.htm?type=command&param=switchlight&idx=522&switchcmd=Set%20Level&level=[regul#chambres]
endon

on Thermostat#chambres do
 nextion,Chambres.cons.txt="[Thermostat#chambres]"
 SendToHTTP,192.168.1.118,8080,/json.htm?type=command&param=udevice&idx=520&nvalue=0&svalue=[Thermostat#chambres]
endon
 
merci pour vos avis éclairés
pronoob
Messages : 43
Inscription : 16 oct. 2021, 18:16

Re: Avis code rules

Message par pronoob »

Bonjour,

Tu peux placer la logique au bout du fil plutôt que sur le bouton
je pense à tes limites 15-25°C qui pourraient être traitées par domoticz et non plus l'esp.
vraiment une histoire de gout, ça déplace juste le code et raccourcirait du coup celui ci.

après j'ai une préférence pour afficher un retour d'action (accusé de réception) plutôt que l'ordre.
si c'est suffisamment réactif, informer domoticz de ton appuis bouton, domoticz en retour modifie la valeur affichée.

autrement je ne connais pas les esp pour t'aider sur le code, mais je n'ai pas vraiment l'impression qu'il y ait grand chose à grater
padbol2002
Messages : 84
Inscription : 23 oct. 2017, 08:53

Re: Avis code rules

Message par padbol2002 »

moi j'aurai voulu un sous programme dont on envoi en paramètre la consigne et en retour on obtient la consigne modifé et securisée (15 - 25)

style (complètement improvisé):

Code : Tout sélectionner

on nextion#idx=1270 do
	TaskValueSet 5,2,fonction_plus([temp#chambres])
	TaskRun,5
endon

fonction_plus(x):
	if x<25
	   x = x+0.5
	endif
	return x

Je gagnerais 3 lignes par pièce et j'en rajoute 5 pour la fonction donc dès la 2eme pièce je serais gagnant... mais je ne sais pas faire :?
pronoob a écrit : 29 déc. 2021, 18:24
si c'est suffisamment réactif, informer domoticz de ton appuis bouton, domoticz en retour modifie la valeur affichée.
et voila ce n'est pas reactif... mme a deja appuyé 3 fois en s'enervant que le 1er retour a pas eu lieu :lol: :lol: :lol: :lol:
Dernière modification par Keros le 30 déc. 2021, 00:36, modifié 1 fois.
Raison : Merci de ne pas citer le message précédent lors d'une réponse directe
Répondre