Page 2 sur 2

Re: formule math

Publié : 08 juin 2016, 23:40
par Stef17
Je me répète par rapport a un autre post mais bon

Tu prends un super exemple...
Tu crois vraiment que sur les forum php on te réponds souvent : tu as qu'a lire ce lien ????? Non on te dis "au moins" faut que tu utilise cette fonction avec un semblant d'exemple... après a toi effectivement d'aller approfondir s'il le faut

J'ai eu l'occasion de bosser depuis 10 ans avec plein de système, logiciel, erp, etc opensource (gratuit ou pas) pour moi perso et dans les services informatiques...

Je penses que pour le bien du "projet" il faut arriver un de ces jour à centraliser, non pas les solutions (quoique c'est ce qu'on a fait avec php), mais les usages "validés" pour un bon fonctionnement et une certaine convivialité dans le script. Aujourd'hui il y a trop de script d'exemple trop mal foutu pour les comprendre avec des explications trop peu clair. Obliger de visualiser plus de 70 pages pour trouver des réponses simples pour faire un script sommaire mais au moins que je comprends et qui fonctionne du moins sur le principe...
Cela ne vient pas de domoticz en tant que tel, mais de lua... en fait c'est cette communauté qui manque, celle des dev qui utilisent lua ;-)

Pour info voila des sites que je trouve utile pour trouver quoi utiliser et se faire une idée du mode de fonctionnement
http://www.luteus.biz/Download/LoriotPr ... ation.html
http://wxlua.developpez.com/tutoriels/l ... omplet/#L1

Après les site que tu m'a donné ont aussi était utile

A part à être un amoureux du script, c'est comme la manipulation de basse de donnée, on ne mets pas les mains dans le cambouis tous les jours (même pas tous les mois, voir même pas une fois par an...) alors l'important est de connaitre le principe (base) et d'avoir a dispo les ressource pour faire ce que l'on a a faire... je dirais la même chose pour php... ou java, ou visual...

Puis, c'est peut être car je bosse dans l'univers "professionnel" des services informatique mais heureusement que dans les systèmes et infrastructures les responsables informatiques s'aident beaucoup plus directement... moi (comme la majorité) si j'ai la réponse, je la balance direct... même si perso j'ai cherché des heures...

Bon allé trêve de bavardage et pourrais tu me dire "s'il te plait" si ce script (qui fonctionne) est viable ou les défaut que tu vois.... et merci ;)

script_device_thermSDB

----variables necessaire----
local ecart = 1 -- permets d'avoir un ecrat de 1+1 donc 2°C de battement pour eviter que le chauffage change de position trop souvent
local radiateur = 'Prise_SecheServiette' --Nom du device de type chauffage à allumer/éteindre en fait une simple prise connecté où est branché le seche serviette qui chauffe la piece
local periode = 'Periode_Chauffe_SDB' --Switch manuel permettant de valider si on est en periode de chauffage de SDB (en prevision sera lié avec temperature exterieur)
local sonde = 'Temp_SDB' -- sonde temperature/humidite salle de bain
local planning = 'Consignes_SDB' --themostat avec plannification pour le chauffage de la salle de bain
--------------------------------
commandArray = {}
local temp, hum = otherdevices_svalues[sonde]:match("([^;]+);([^;]+)") -- recuperation de la temperature de la sonde
local temp = tonumber(temp) -- mise au format chiffre (vieux reflex php) pour securité
local consigne = otherdevices_svalues[planning] -- recuperation de la temperature du hermostat
local consigne = tonumber(consigne) -- mise au format chiffre (vieux reflex php) pour securité
-- print("temperature reference "..consigne) -- utiliser pour test
-- print("temperature reel "..temp) -- utiliser pour test
if (otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
-- print("Pas de chauffage en ce moment dans SDB ") -- utiliser pour test
elseif (temp <= (consigne - ecart) and otherdevices[periode] == 'On' and otherdevices[radiateur] == 'Off') then
commandArray[radiateur]='On'
print("Mise en route du chauffage dans SDB ")
elseif (temp <= (consigne - ecart) and otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
-- print("Attention periode hors chauffage SDB ") -- utiliser pour test
elseif (temp > (consigne + ecart) and otherdevices[periode] == 'On' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
print("Extinction du chauffage dans SDB ")
elseif (temp > (consigne + ecart) and otherdevices[periode] == 'Off' and otherdevices[radiateur] == 'On') then
commandArray[radiateur]='Off'
-- print("Attention periode hors chauffage SDB - en plus il fait trop chaud ") -- utiliser pour test
elseif (temp < (consigne + ecart) and temp > (consigne - ecart)) then
-- print("temperature ideal ") -- utiliser pour test
else
-- print("Aucune modif necessaire ") -- utiliser pour test
end
return commandArray

Re: formule math

Publié : 09 juin 2016, 00:50
par vil1driver
[edit] les commentaires suivants se suffisent à eux même ;) [/edit]

Re: formule math

Publié : 09 juin 2016, 00:55
par Neutrino
J'ai un passé de responsable d'application Java, et le monde pro ne fonctionne pas comme un forum d'entraide, en tout cas pas comme celui là. :)
Il m'est arrivé trop souvent de livrer la solution avec du commentaire car c'est efficace, que la deadline approche et que le client s'en fout que la TMA est un mec qui a très bien été vendu par son commercial mais qui ne fait pas l'affaire. :mrgreen:

Mon expérience de formateur me force à apprendre au gens à pêcher plutôt que leur refiler le poisson. ;) C'est pour ça que je balance les liens qui permettent de poser une bonne base, ne connaissant pas ton niveau non plus.

Mais en parcourant ce forum, tu verras que le débuggage fait aussi partie de notre philosophie :)
Donc, quand je scripte après une longue pause ou en cas de trou de mémoire, ma bible est là http://www.domoticz.com/wiki/Events pour la syntaxe spécifique à Domoticz.
Pour le LUA, c'est franchement facile.
Un truc pas mal aussi, c'est dzVents : https://github.com/dannybloe/dzVents
C'est toujours du LUA, mais vraiment adapté à domoticz et avec des exemples concrets et facile et un objet domoticz très appréciable :D

Et vu ton script, tu t'en sorts très bien. ;) même pour "une pipe en code" :P
Il te reste à gérer la VMC en fonction de l'humidité :mrgreen:
Par contre, utilise des balises [ code] stp, c'est plus lisible.

Re: formule math

Publié : 09 juin 2016, 10:55
par rimram31
Stef17 a écrit :...J'ai eu l'occasion de bosser depuis 10 ans avec plein de système ...
Tu vas découvrir que dans l'environnement domoticz, la communauté est tout sauf un panel de professionnels et que dans les forums d’entraide tu n'as pas une population de développeurs (et parfois heureusement :-)) mais de personnes s'étant intéressées a la domotique capables de t'aider sur plein de sujets autour: usages, électronique ... mais pour l'essentiel pas du tout expert en informatique.

Le code que tu vas trouver va donc souvent être un exemple du code qu'ils ont fait tourner chez eux pour eux avec malheureusement des fois des complexités bien inutiles quand tu as l'oeil du développeur (j'ai + 20 ans d'info derrière moi) mais la communauté est celle-ci. LUA est bien moins utilisé que PHP, lua + domoticz je n'en parle même pas et faire du LUA pour domoticz est autre chose car il faut aussi intégrer les "variables propres a domoticz qui permettent l'interface (et la conception/archi n'est pas des plus professionnelle). Enfin au final la communauté est très réduite et faire ce que tu demandes: des tutos chiadés, du code bien conçu facile a réutiliser ... demande beaucoup, beaucoup de temps et de compétences qui ne sont pas là.

Si tu es candidat, bienvenu a toi :-) sinon ben le principe c'est d'essayer de comprendre et adapter. Tu verras quand tu auras appris une vingtaine de langages différents, en apprendre un de plus n'est qu'une simple formalité :mrgreen:

Re: formule math

Publié : 09 juin 2016, 11:19
par Stef17
rimram31 a écrit : Si tu es candidat, bienvenu a toi :-) sinon ben le principe c'est d'essayer de comprendre et adapter. Tu verras quand tu auras appris une vingtaine de langages différents, en apprendre un de plus n'est qu'une simple formalité :mrgreen:
Evidemment que dans quelque temps je répondrais a tout ce que je peux même si cela m'a pris du temps à trouver... Merci encore de cet échange...