Page 2 sur 2

Re: Blocky gérer le temps et la température

Publié : 25 janv. 2019, 03:22
par balajol
Re,
Pour Blockly avec 2 DUMMY Peut être ?

IF T°>= -17, Mise à on d'un Premier Dummy qui se mettra à Off Automatiquement au bout de 10 Minutes.
set DUMMY2 = On (Off après 590s)
ElseIf le DUMMY2 à Off et Dummy à On et T° >= -17

Set ......


tu auras eu Deux T° Anormales en 10 mn

Etant donner l'heure :roll: A tester ;)
Cdt
Bertrand

Re: Blocky gérer le temps et la température

Publié : 25 janv. 2019, 07:34
par Wolfen38
Comme toi je débute avec domoticz et au tout début j'utilisais les blocky.

Mais très vite tu te rends compte que c'est assez limité et que ça vaut le coup de passer au lua.

Tu cherches sur le forum des exemples de scripts qui ressemblent a ce que tu veux, tu modifies, tu tatonnes, ça merde, tu modifies... Et t'apprend comme ça.

Ça vaut le coup de s'y pencher

Re: Blocky gérer le temps et la température

Publié : 25 janv. 2019, 09:17
par Urbann
Pour répondre à vil1driver
vil1driver a écrit : 24 janv. 2019, 22:42 Lua n'est pas compliqué mais je parlais bien de blocky
Cela doit être possible, les calculs en blocky ayant à priori été ajoutés en novembre dernier ?
Sinon patienter ou le faire en lua effectivement
J'ai mis à jour la dernière version de Domoticz (4.10363 du 23 janvier 2019)
Je n'ai pas vu de possibilité de calcul avec Blocky

Je pense que Wolfen38 à raison et qu'il faut passer par LUA mais je trouve dommage qu'une fonction aussi simple ne soit pas possible avec Blocky.

Re: Blocky gérer le temps et la température

Publié : 25 janv. 2019, 10:01
par patoche

Re: Blocky gérer le temps et la température

Publié : 25 janv. 2019, 10:29
par patoche
Urbann a écrit : 25 janv. 2019, 09:17 Pour répondre à vil1driver
vil1driver a écrit : 24 janv. 2019, 22:42 Lua n'est pas compliqué mais je parlais bien de blocky
Cela doit être possible, les calculs en blocky ayant à priori été ajoutés en novembre dernier ?
Sinon patienter ou le faire en lua effectivement
J'ai mis à jour la dernière version de Domoticz (4.10363 du 23 janvier 2019)
Je n'ai pas vu de possibilité de calcul avec Blocky

Je pense que Wolfen38 à raison et qu'il faut passer par LUA mais je trouve dommage qu'une fonction aussi simple ne soit pas possible avec Blocky.

Ici pour pour ajouter des fonctions au blockly

https://easydomoticz.com/forum/viewtopic.php?t=7113

Re: Blocky gérer le temps et la température

Publié : 26 janv. 2019, 02:10
par Douns
Salut,

J'ai tenté en blocky mais c'est trop limité.

J'ai à la place codé vite fait ton script en LUA. J'ai pas testé mais l'idée est là.

Le script est à créer en time afin qu'il tourne toutes les minutes.
Il faut aussi créer une uservariable compteur_frigo afin de s'en servir comme compteur de type entier initialisé à 0

Code : Tout sélectionner

--fonction pour séparer utilisée pour les sonde de T° avec hydro
local function split(s, delimiter)
	local result = {}
	for match in (s..delimiter):gmatch('(.-)'..delimiter) do
		table.insert(result, match)
	end
	return result
end

commandArray = {}

--Si simple thermometre sans humidité alors : remplacer par
-- local thermometre_frigo = tonumber(otherdevices['temperature_frigo'])
local thermometre_frigo = tonumber(split(otherdevices['temperature_frigo'],";")[1])
local compteur_frigo=uservariables['compteur_frigo']

--Condition frigo>=-18
if thermometre_frigo>=-18 then
    
    --on incrémente la uservariable  (vu que time est lancé toutes les minutes, ça fait +1 minute)
    compteur_frigo=compteur_frigo+1
    
    --si le compteur atteind 10min alors... Attention si on met >= la condition sera lancée toutes les minutes. Avec =, une seule fois
    if compteur_frigo==10 then
        
        --notification
        commandArray[#commandArray +1]={['SendNotification']='frigo#10 min que le frigo >=10 min!'}
        
        --email
        commandArray[#commandArray +1]={['SendEmail']='frigo#10 min que le frigo >=10 min!#email@toto.fr'}
    end
    
    --on incrémente la uservariable
    commandArray[#commandArray +1]={['Variable:compteur_frigo']=tostring(compteur_frigo)}
else
    
    --tout va bien, on met le compteur à 0
    commandArray[#commandArray +1]={['Variable:compteur_frigo']=tostring(0)}
end
   
return commandArray

Re: Blocky gérer le temps et la température

Publié : 28 janv. 2019, 08:02
par Urbann
Merci Douns. En plus le script est bien commenté
Je vais regarder ça de plus près
C'est une bonne opportunité pour se lancer en LUA
Par contre ce genre d'activité est chronophage donc je risque de ne pas répondre immédiatement...
Je ne lâche pas le morceau.

Je rappelle le projet
Surveiller la température d'un congélateur avec un SONOFF équipé d'une sonde étanche DS18B20 (on ne se sert pas du relais)
En Blocky on peut facilement créer une alarme si la température remonte au dessus de la consigne et envoyer un SMS d'alerte.
A l'usage il s'avère que chaque fois que l'on ouvre la porte, ça déclenche une alarme et que si l'on remonte la consigne, on perd l'efficacité de la surveillance de la température.
L'idéal est de surveiller une élévation de la température pendant un certain temps (10mn) pour décider que c'est une anomalie.

Re: Blocky gérer le temps et la température

Publié : 28 janv. 2019, 08:09
par Douns
De rien, je te l'ai commenté pour ça ! :lol:
Et sur le coup je suis même tenté de l'utiliser parceque c'est pas une excellente idée!

Par contre je partirais d'un esp et j'ajouterais la sonde dbs18 plutôt que de partir d'un sonoff (moins cher avec un peu d'elec, un boitier en imprimante 3d et j'ai le matos en stock : j'achète !).

Il faudra avec cette sonde que tu utilises la ligne commentée pour récupérer la température.

Question pratique : par où vas tu faire passer le fil de la sonde ? Par la porte ?