Bonjour,
Pas très attiré ni doué pour les lignes de code, je gère mes événements en Blockly, mais on est vite limité...
Voici mon problème :
Je souhaite démarrer mon miroir chauffant (pour qu'il soit désembué quand on sort de la douche, c'est super pratique !) quand le point de rosée est supérieur à la température de la pièce mitoyenne et qu'il y a quelqu'un dans la pièce (si ça bouge ou que la lumière est allumée).
En Blockly, ça donne ça, et ça fonctionne :
Le problème est que je voudrais anticiper/optimiser en démarrant le miroir chauffant lorsque le point de rosée est supérieur à la température de la pièce voisine -3°C. C'est là que adieu Blockly qui ne gère pas les fonctions mathématiques de base, j'ai besoin de programmer ça autrement.
Je me suis déjà un peu perdu dans les ComandArray et devicename, mais je n'arrive à rien de concret...
Quelqu'un pourrait-il m'aider à démarrer en programmation Lua ou dzVents sur ce problème particulier ?
Merci!
Patrice
Bloqué par Blockly, besoin d'aide Lua
Re: Bloqué par Blockly, besoin d'aide Lua
Bonjour Patrice,
Regarde dans ma signature, j'ai mis quelques informations concernant la programmation : il y a quelques conseils pour commencer.
Si tu as des questions, n'hésites pas
Regarde dans ma signature, j'ai mis quelques informations concernant la programmation : il y a quelques conseils pour commencer.
Si tu as des questions, n'hésites pas
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Bloqué par Blockly, besoin d'aide Lua
Je persiste à penser que dzVents est plus accessible que les scripts Lua classiques pour se lancer dans la programmation. Après, c'est évident, il y a une question de goût indéniable et l'accès aux différentes ressources et informations pour se former.
La référence pour dzVents, c'est https://www.domoticz.com/wiki/DzVents:_ ... _scripting
C'est en anglais, mais c'est à jour et contient la majeure partie des informations. Il y a des articles sur EasyDomoticz, mais certains ne sont pas à jours car basés sur des versions anciennes de dzVents.
Voilà une base de départ, pour se faire une idée de se qui est faisable :
Il y a probablement des erreurs dans ce code et rien n'a été testé…
Tous les conseils de Keros concernant le débogage et la programmation restent valides et pertinents.
Bon courage !
La référence pour dzVents, c'est https://www.domoticz.com/wiki/DzVents:_ ... _scripting
C'est en anglais, mais c'est à jour et contient la majeure partie des informations. Il y a des articles sur EasyDomoticz, mais certains ne sont pas à jours car basés sur des versions anciennes de dzVents.
Voilà une base de départ, pour se faire une idée de se qui est faisable :
Code : Tout sélectionner
return {
on = {
devices = {
'SdB Motion sensor',
'SdB Lux',
-- peut-être ajouter d'autres déclencheurs
},
},
logging =
{
level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_ERROR,
marker = 'MiroirSdB',
},
execute = function(domoticz, item)
domoticz.log('Device ' .. item.name .. ' was changed.', domoticz.LOG_DEBUG)
local lux = domoticz.devices('SdB Lux').lux
local motion = domoticz.devices('SdB Motion sensor').state
local dew = domoticz.devices('SdB').dewPoint
local temp = domotic.devices('Couloir').temperature
domoticz.log('Etat actuel : lux = ' .. lux .. ', motion =' .. motion .. ', dew = ' .. dew .. '°, temp = ' .. temp .. ' ° ', domoticz.LOG_DEBUG)
local seuil = temperature - 3
if ((lux > 20) or (motion == 'On')) then
domoticz.log('Test température', domoticz.LOG_DEBUG)
if (dew > seuil) then
domoticz.log('Allumage du miroir chauffant', domoticz.LOG_DEBUG)
local miroir = domoticz.devices('Miroir chauffant')
miroir.cancelQueuedCommands()
miroir.switchOn().checkFirst()
miroir.switchOff().afterMin(10)
-- on s'arrête là
return
end
end
-- condition d'extinction
if (dew < seuil) then
domoticz.log('Arrêt du miroir chauffant', domoticz.LOG_DEBUG)
domoticz.devices('Miroir chauffant').switchOff().checkFirst()
end
end
}Tous les conseils de Keros concernant le débogage et la programmation restent valides et pertinents.
Bon courage !
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
Re: Bloqué par Blockly, besoin d'aide Lua
Trop fort!!
Je crois bien que ça a fonctionné du 1er coup !
Merci à vous 2, je vais lire et pratiquer (pas comme le karaté
) !
Le fait d'avoir un parallèle entre un Blockly que je connais et un exemple de script fonctionnel est génial pour que je puisse comparer et comprendre.
Patrice
Je crois bien que ça a fonctionné du 1er coup !
Merci à vous 2, je vais lire et pratiquer (pas comme le karaté
Le fait d'avoir un parallèle entre un Blockly que je connais et un exemple de script fonctionnel est génial pour que je puisse comparer et comprendre.
Patrice
Re: Bloqué par Blockly, besoin d'aide Lua
PatriceN a écrit : 14 juil. 2020, 17:56 Merci à vous 2, je vais lire et pratiquer (pas comme le karaté) !
Tu as quelques infos sur le Dzvents là : https://easydomoticz.com/scripts-plus-f ... cz-dzvents
Bonne découverte !!
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos