Page 3 sur 4
Re: Bidouillage de Neutrino
Publié : 02 nov. 2016, 23:29
par azriek
Salut Neutrino,
j'ai enfin récupéré cette télécommande, mais je bute sur la manière de lui faire apprendre une zone.
Mes recherches me donnent des docs pour dupliquer une teleco identique. J'ai bidouillé avec un de mes volets en suivant des docs eveno, j'ai juste réussi à perdre le contrôle de ce volet (temporairement, il a fallu un reset électrique)
Te rappelles tu comment tu as fait ?
Az'
Re: Bidouillage de Neutrino
Publié : 03 nov. 2016, 10:33
par Neutrino
J'ai associé la nouvelle telco avec ce lien
http://segedip.fr/catalogue/teleco/pdf/ ... 04-M04.pdf
Comment introduire un émetteur via radio, sans accéder au récepteur, à
l’aide d’un émetteur déjà mémorisé (procédé de mémorisation avec adressage)
1) Appuyer sur la touche P3 qui se trouve à l’intérieur d’un émetteur déjà mémorisé;
le récepteur validé émet alors une tonalité continue pendant 5 sec.
2) Dans les 5 sec. qui suivent, transmettre un canal se trouvant dans la mémoire
du récepteur qui doit mémoriser le nouveau code; l’avertisseur sonore se
désactive alors pendant 1 sec. avant de se remettre en fonction pour 5 sec. (cette
opération a pour objet d’adresser le nouveau code dans le récepteur désiré).
Éviter, s’il n’est pas absolument nécessaire, d’utiliser des canaux prévus pour
la centralisation, en raison du fait qu’ils valideraient pour la mémorisation du
nouveau code tous les récepteurs qui ont mémorisé ce canal.
3) Transmettre dans les 5 sec. qui suivent le nouveau canal à mémoriser; la mé-
morisation est signalée par des bips émis par l’avertisseur sonore.
Un défaut de mémorisation du code peut être dû aux facteurs suivants:
- le code a déjà été mémorisé,
- la mémoire est pleine.
Nombre maximum de télécommandes mémorisables
Le récepteur peut mémoriser au maximum 42 codes.
Par contre, impossible de faire deux zones sans accéder aux moteurs. Donc je coupe l'alimentation de la zone que je veux garder inactive.
En vacances, je coupe même l'alimentation 1 seconde une fois par jour avant la fermeture, pour être sûr qu'ils vont descendre.
Les récepteurs ont tendances à bugger après une micro-coupure.
Re: Bidouillage de Neutrino
Publié : 01 déc. 2016, 10:32
par stephdes
papoo a écrit :merci,
je viens juste de finir le mien
Code : Tout sélectionner
--[[
~/domoticz/scripts/lua/script_device_givre.lua
]]--
--------------------------------
------ Tableau à éditer ------
--------------------------------
local debugging = false -- true ou false
local temp_ext = 'THB' -- nom de la sonde de température/humidité extérieure
local dew_point_idx =696 -- idx de l'éventuel dummy température point de rosée si vous souhaitez le suivre
local freeze_point_idx =697 -- idx du dummy température point de givre
---------------------------------------------------------------------------
commandArray = {}
now=os.date("*t")
--if now.min % 2 == 0 then -- si script_time
if (devicechanged[temp_ext])then -- si script_device
print(script_device_givre.lua)
---------------------------------------------------------------------------
--Fonctions
---------------------------------------------------------------------------
function voir_les_logs (s)
if (debugging) then
print (s);
end
end
function round(value, digits)
local precision = 10^digits
return (value >= 0) and
(math.floor(value * precision + 0.5) / precision) or
(math.ceil(value * precision - 0.5) / precision)
end
function dewPoint (T, RH)
local b,c = 17.67, 243.5
RH = math.max (RH or 0, 1e-3)
local gamma = math.log (RH/100) + b * T / (c + T)
return c * gamma / (b - gamma)
end
function freezing_point(dp, t)
if dp > t then
return nil, " La température du point de rosée est supérieure à la température. Puisque la température du point de rosée ne peut être supérieure à la température de l'air , l\'humidité relative a été fixée à nil."
end
T = t + 273.15
Td = dp + 273.15
return (Td + (2671.02 /((2954.61/T) + 2.193665 * math.log(T) - 13.3448))-T)-273.15
end
---------------------------------------------------------------------------
voir_les_logs("=========== Point de rosée et point de givrage (v1.0) ===========",debugging);
Temp, Humidity = otherdevices_svalues[temp_ext]:match("([^;]+);([^;]+)")
voir_les_logs("--- --- --- Température Ext : ".. Temp,debugging);
voir_les_logs("--- --- --- Humidité : ".. Humidity,debugging);
local DewPoint = round(dewPoint(Temp,Humidity),2)
voir_les_logs("--- --- --- Point de Rosée : ".. DewPoint,debugging);
local FreezingPoint = round(freezing_point(DewPoint, tonumber(Temp)),2)
voir_les_logs("--- --- --- Point de Givrage : ".. FreezingPoint,debugging);
if dew_point_idx ~= nil then
commandArray[1] = {['UpdateDevice'] = dew_point_idx .. "|0|" .. DewPoint} -- Mise à jour point de rosée
end
if freeze_point_idx ~= nil then
commandArray[2] = {['UpdateDevice'] = freeze_point_idx .. "|0|" .. FreezingPoint} -- Mise à jour point de givrage
voir_les_logs("=========== Fin Point de rosée et point de givrage (v1.0) ===========",debugging);
end
end
return commandArray
Bonjour et tout d'abord merci pour ce script.
Je l'ai repris et je suis en train de le tester. Je pense rajouter une alerte en cas de descente de la température en dessous de -1°C car si je me base uniquement sur ce script, cela fait deux matins que ma voiture est congelée sans alerte particulière (le point de givre est plus bas que la température extérieure).
Voila, c'était juste hitoire de vous faire un retour.

Re: Bidouillage de Neutrino
Publié : 01 déc. 2016, 21:28
par papoo
il fonctionne parfaitement pour moi j'ai juste ajouté une condition afin qu'il ne m'envoi qu'une seule alerte par jour le matin (6h50)
et modifié un peu les seuils. Pour l'instant j'ai été prévenu a chaque fois q'uil y avait du givre, mais j'ai quelques faux positifs CAD une alerte et pas de givre.
Code : Tout sélectionner
--[[
~/domoticz/scripts/lua/script_device_givre.lua
auteur : papoo
version : 1.10
MAJ : 08/10/2016
création : 06/05/2016
Principe :
Calculer via les informations température et hygrometrie d'une sonde exterieure
le point de rosée ainsi que le point de givre
puis en comparant ensuite le point de givre et l'a température extérieure, création d'une alerte givre.
]]--
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
local debugging = false -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local temp_ext = 'Temperature exterieure' -- nom de la sonde de température/humidité extérieure
local dew_point_idx =696 -- idx de l'éventuel dummy température point de rosée si vous souhaitez le suivre
local freeze_point_idx =697 -- idx du dummy température point de givre
local freeze_alert_idx =698 -- idx du dummy alert point de givre
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
commandArray = {}
now=os.date("*t")
--if now.min % 2 == 0 then -- si script_time
if (devicechanged[temp_ext])then -- si script_device
print("script_device_givre.lua")
--------------------------------------------
---------------- Fonctions -----------------
--------------------------------------------
function voir_les_logs (s, debbuging)
if (debugging) then
if s ~= nil then
print ("<font color='#f3031d'>".. s .."</font>");
else
print ("<font color='#f3031d'>aucune valeur affichable</font>");
end
end
end
function round(value, digits)
local precision = 10^digits
return (value >= 0) and
(math.floor(value * precision + 0.5) / precision) or
(math.ceil(value * precision - 0.5) / precision)
end
function dewPoint (T, RH)
local b,c = 17.67, 243.5
RH = math.max (RH or 0, 1e-3)
local gamma = math.log (RH/100) + b * T / (c + T)
return c * gamma / (b - gamma)
end
function freezing_point(dp, t)
if dp > t then
return nil, " La température du point de rosée est supérieure à la température. Puisque la température du point de rosée ne peut être supérieure à la température de l'air , l\'humidité relative a été fixée à nil."
end
T = t + 273.15
Td = dp + 273.15
return (Td + (2671.02 /((2954.61/T) + 2.193665 * math.log(T) - 13.3448))-T)-273.15
end
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
voir_les_logs("=========== Point de rosée et point de givrage (v1.0) ===========",debugging)
Temp, Humidity = otherdevices_svalues[temp_ext]:match("([^;]+);([^;]+)")
voir_les_logs("--- --- --- Température Ext : ".. Temp,debugging)
voir_les_logs("--- --- --- Humidité : ".. Humidity,debugging)
DewPoint = round(dewPoint(Temp,Humidity),2)
voir_les_logs("--- --- --- Point de Rosée : ".. DewPoint,debugging)
FreezingPoint = round(freezing_point(DewPoint, tonumber(Temp)),2)
voir_les_logs("--- --- --- Point de Givrage : ".. FreezingPoint,debugging)
if dew_point_idx ~= nil then
commandArray[1] = {['UpdateDevice'] = dew_point_idx .. "|0|" .. DewPoint} -- Mise à jour point de rosée
end
if freeze_point_idx ~= nil then
commandArray[2] = {['UpdateDevice'] = freeze_point_idx .. "|0|" .. FreezingPoint} -- Mise à jour point de givrage
end
if(tonumber(Temp)<=1 and tonumber(FreezingPoint)<=0)then
voir_les_logs("--- --- --- Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|4|'..FreezingPoint}
if (now.min == 50 and now.hour == 6) then
commandArray['SendNotification'] = 'Alert#Présence de givre!'
end
elseif(tonumber(Temp)<=3 and tonumber(FreezingPoint)<=0)then
voir_les_logs("--- --- --- Risque de Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|2|'..FreezingPoint}
if (now.min == 50 and now.hour == 6) then
commandArray['SendNotification'] = 'Alert#Risque de givre!'
end
else
voir_les_logs("--- --- --- Aucun risque de Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|1|'..'Pas de givre'}
end
voir_les_logs("=========== Fin Point de rosée et point de givrage (v1.0) ===========",debugging)
end
return commandArray
Re: Bidouillage de Neutrino
Publié : 06 déc. 2016, 14:57
par deennoo
papoo a écrit :il fonctionne parfaitement pour moi j'ai juste ajouté une condition afin qu'il ne m'envoi qu'une seule alerte par jour le matin (6h50)
et modifié un peu les seuils. Pour l'instant j'ai été prévenu a chaque fois q'uil y avait du givre, mais j'ai quelques faux positifs CAD une alerte et pas de givre.
Pas mal vos script les gars, mais il s'execute toute la journée, je cherche a le faire tournée qu'au petit matin ('est a dire au moment ou il faut vraiment gratter de 5 a 8 par exemple), une idée ?
la methode cochon : ajouter un dummy + un planning et l'inclure dans le script
la methode scripteur : recupérer l'heure et donner une fourchette
Re: Bidouillage de Neutrino
Publié : 07 déc. 2016, 21:17
par Neutrino
Un truc genre :
Code : Tout sélectionner
if (tonumber(os.date('%H')) >= 6 and tonumber(os.date('%H')) < 8 ) then -- de 6h00 à 7h59
Re: Bidouillage de Neutrino
Publié : 07 déc. 2016, 22:41
par deennoo
Neutrino a écrit :Un truc genre :
Code : Tout sélectionner
if (tonumber(os.date('%H')) >= 6 and tonumber(os.date('%H')) < 8 ) then -- de 6h00 à 7h59
Merci mon poulet (de Challans...

ok je sors)
Re: Bidouillage de Neutrino
Publié : 16 déc. 2016, 14:17
par stephdes
papoo a écrit :il fonctionne parfaitement pour moi j'ai juste ajouté une condition afin qu'il ne m'envoi qu'une seule alerte par jour le matin (6h50)
et modifié un peu les seuils. Pour l'instant j'ai été prévenu a chaque fois q'uil y avait du givre, mais j'ai quelques faux positifs CAD une alerte et pas de givre.
Code : Tout sélectionner
--[[
~/domoticz/scripts/lua/script_device_givre.lua
auteur : papoo
version : 1.10
MAJ : 08/10/2016
création : 06/05/2016
Principe :
Calculer via les informations température et hygrometrie d'une sonde exterieure
le point de rosée ainsi que le point de givre
puis en comparant ensuite le point de givre et l'a température extérieure, création d'une alerte givre.
]]--
--------------------------------------------
------------ Variables à éditer ------------
--------------------------------------------
local debugging = false -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir
local temp_ext = 'Temperature exterieure' -- nom de la sonde de température/humidité extérieure
local dew_point_idx =696 -- idx de l'éventuel dummy température point de rosée si vous souhaitez le suivre
local freeze_point_idx =697 -- idx du dummy température point de givre
local freeze_alert_idx =698 -- idx du dummy alert point de givre
--------------------------------------------
----------- Fin variables à éditer ---------
--------------------------------------------
commandArray = {}
now=os.date("*t")
--if now.min % 2 == 0 then -- si script_time
if (devicechanged[temp_ext])then -- si script_device
print("script_device_givre.lua")
--------------------------------------------
---------------- Fonctions -----------------
--------------------------------------------
function voir_les_logs (s, debbuging)
if (debugging) then
if s ~= nil then
print ("<font color='#f3031d'>".. s .."</font>");
else
print ("<font color='#f3031d'>aucune valeur affichable</font>");
end
end
end
function round(value, digits)
local precision = 10^digits
return (value >= 0) and
(math.floor(value * precision + 0.5) / precision) or
(math.ceil(value * precision - 0.5) / precision)
end
function dewPoint (T, RH)
local b,c = 17.67, 243.5
RH = math.max (RH or 0, 1e-3)
local gamma = math.log (RH/100) + b * T / (c + T)
return c * gamma / (b - gamma)
end
function freezing_point(dp, t)
if dp > t then
return nil, " La température du point de rosée est supérieure à la température. Puisque la température du point de rosée ne peut être supérieure à la température de l'air , l\'humidité relative a été fixée à nil."
end
T = t + 273.15
Td = dp + 273.15
return (Td + (2671.02 /((2954.61/T) + 2.193665 * math.log(T) - 13.3448))-T)-273.15
end
--------------------------------------------
-------------- Fin Fonctions ---------------
--------------------------------------------
voir_les_logs("=========== Point de rosée et point de givrage (v1.0) ===========",debugging)
Temp, Humidity = otherdevices_svalues[temp_ext]:match("([^;]+);([^;]+)")
voir_les_logs("--- --- --- Température Ext : ".. Temp,debugging)
voir_les_logs("--- --- --- Humidité : ".. Humidity,debugging)
DewPoint = round(dewPoint(Temp,Humidity),2)
voir_les_logs("--- --- --- Point de Rosée : ".. DewPoint,debugging)
FreezingPoint = round(freezing_point(DewPoint, tonumber(Temp)),2)
voir_les_logs("--- --- --- Point de Givrage : ".. FreezingPoint,debugging)
if dew_point_idx ~= nil then
commandArray[1] = {['UpdateDevice'] = dew_point_idx .. "|0|" .. DewPoint} -- Mise à jour point de rosée
end
if freeze_point_idx ~= nil then
commandArray[2] = {['UpdateDevice'] = freeze_point_idx .. "|0|" .. FreezingPoint} -- Mise à jour point de givrage
end
if(tonumber(Temp)<=1 and tonumber(FreezingPoint)<=0)then
voir_les_logs("--- --- --- Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|4|'..FreezingPoint}
if (now.min == 50 and now.hour == 6) then
commandArray['SendNotification'] = 'Alert#Présence de givre!'
end
elseif(tonumber(Temp)<=3 and tonumber(FreezingPoint)<=0)then
voir_les_logs("--- --- --- Risque de Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|2|'..FreezingPoint}
if (now.min == 50 and now.hour == 6) then
commandArray['SendNotification'] = 'Alert#Risque de givre!'
end
else
voir_les_logs("--- --- --- Aucun risque de Givre --- --- ---",debugging)
commandArray[3]={['UpdateDevice'] = freeze_alert_idx..'|1|'..'Pas de givre'}
end
voir_les_logs("=========== Fin Point de rosée et point de givrage (v1.0) ===========",debugging)
end
return commandArray
Papoo, tu peux me montrer à quoi ressemble ton Dummy risque de givre s'il te plaît ?
Re: Bidouillage de Neutrino
Publié : 17 déc. 2016, 19:43
par papoo
c'est un dummy alert

- givre.png (9.83 Kio) Consulté 15506 fois
Re: Bidouillage de Neutrino
Publié : 18 déc. 2016, 09:37
par papoo
le même en risque de givre

- givre2.png (9.21 Kio) Consulté 15487 fois