Script gestion VMC (débutant)

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Répondre
judetomate
Messages : 2
Enregistré le : 24 août 2018, 16:30

Script gestion VMC (débutant)

Message par judetomate » 24 août 2018, 16:39

Bonjour,

Je viens tout juste d'installer Domoticz et je viens de réaliser le script suivant :
vmc.PNG
vmc.PNG (39.18 Kio) Vu 847 fois
Le but est d'éteindre la VMC le soir (on trouve que ca fait trop de bruit) et de l'allumer le matin.
Je voudrais allumer le by-pass de la VMC quand :
  • température intérieur >25°
  • température intérieur > température extérieur
  • mois de l'année = juin, juillet, aout, septembre
J'ai 4 questions :
Est ce que mon script concernant le jour/nuit est correcte ?
Comment sont exécité les scripts ? Est ce que le script jour-nuit va envoyer pendant une seconde, un nombre important de requête à mon ESP, ou vu qu'il aura déja changé d'état il ne va l'envoyer qu'une fois ?
Comment faire pour mettre dans une variable utilisateur le numéro du mois de l'année ?
Dans Blocky, il y a le "if" et le "else if" mais je ne trouve pas le "else". C'est normal ?

Merci d'avance.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


landaisbenj
Messages : 620
Enregistré le : 12 mars 2017, 19:24

Re: Script gestion VMC (débutant)

Message par landaisbenj » 31 août 2018, 16:44

judetomate a écrit : Est ce que mon script concernant le jour/nuit est correcte ?
Comment sont exécité les scripts ? Est ce que le script jour-nuit va envoyer pendant une seconde, un nombre important de requête à mon ESP, ou vu qu'il aura déja changé d'état il ne va l'envoyer qu'une fois ?
Comment faire pour mettre dans une variable utilisateur le numéro du mois de l'année ?
Dans Blocky, il y a le "if" et le "else if" mais je ne trouve pas le "else". C'est normal ?

Merci d'avance.
Hello.

Déjà il faut savoir que le blockly n'est pas terrible sur domoticz. Il y avait pas mal de fonctionnement bancale. Pour des scripts simple ça passe mais pour le reste c'est compliqué. Par exemple quand tu voulais detecter la chaine d'un variable, le bloc chaine ne devais pas etre un autre que celui dans l'onglet variable (alors que ca reste une chaine...). Enfin bref.

Pour la deuxieme question, il faut comprendre que la lecture d'un script est missionné par le petit champs "All;Device;Time;Variable;Security".
L'activation d'un script est donc géré par ce que tu met.
Device, la lecture du script sera effectué a chaque changement de n'importe quel device pour n'importe quel raison
Time, toutes les minutes
Variable, pareil que device mais pour les variables
et Security a chaque changement du panneau de securité.
All on l'aura compris c'est pour tout ca en meme temps.

Du coup si tu mets un script time et que tu commence par: heure egale 17h32 le script va être scruté toutes les minutes. Mais ta première condition ne validera ton code que lorsque la minute sera egale a la 32ieme de la 17ieme heure.

Si tu mets un script device et que tu commence par, heure egale 17h32 le script va être exécuté à chaque fois qu'une modification sera effectué sur un device. Si jamais 362 modification sont effectués par un device (par exemple) alors il sera exécuté 362 fois. Et si par malchance il est 17h32 tu rempli la condition d'entrée de ton code et donc tu l’exécute 362 fois.
Reponse a 2.2 sera en fonction de ce que tu as mis en type d'execution.

3 Tu peux le faire a la main, ou le faire en lua ou python ou dzvent. Mais pas sur que tu puisse recuperer la date complete en blockly...

4 Le else n'existe pas en effet. Mais un else if sans condition est surement un else... Maintenant de la a savoir si ca fonctionne je ne sais pas. D'ailleurs c'est pareil pour les deux if que tu as mis. Je ne sais pas si domoticz sais le faire fonctionner...

En gros pour ta question 1 je dirais que c'est tendancieux. Suivant ce que tu as mis en type d’exécution il faut aussi se demander comment domoticz lit ton double IF. Il faudrait aussi que tu ajoutes une conditions de verification. Genre si ta vmc est déjà deja éteinte alors il ne sert a rien de l’éteindre.
Rpbi3b: Domoticz + Homebridge + Monit + Freebox scripts + Shellinabox; Rpbi2: Jarvis
Domoticz: Derniere stable; RFLINK: Dernière stable; Xiaomi Gateway

judetomate
Messages : 2
Enregistré le : 24 août 2018, 16:30

Re: Script gestion VMC (débutant)

Message par judetomate » 05 sept. 2018, 21:25

Merci pour toutes ces réponses.
J'ai fait un script en lua et ça marche.

CSONNECK
Messages : 19
Enregistré le : 21 janv. 2018, 13:56
Localisation : BEAUVAIS - Oise
Contact :

Re: Script gestion VMC (débutant)

Message par CSONNECK » 05 sept. 2018, 21:39

Bonsoir

Je dois faire un script similaire pour gérer ma VMC.
Pour le jour et la nuit je gère directement avec le planning du device.
VMC.jpg
VMC.jpg (70.47 Kio) Vu 666 fois
La suite je pense le gérer la grand vitesse avec une mesure d'humidité dans la salle de bain et la cuisine sûrement en comparaison avec l'extérieur.

Je rejoints l'idée d'un script en LUA.

A+
« Le progrès ne vaut que s'il est partagé par tous. »  : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


frtoto
Messages : 54
Enregistré le : 17 févr. 2018, 17:02

Re: Script gestion VMC (débutant)

Message par frtoto » 06 sept. 2018, 11:10

judetomate a écrit :Merci pour toutes ces réponses.
J'ai fait un script en lua et ça marche.
Bonjour,
pourrais-tu partager ton script car je galere à faire le mien ?

merci

macben
Messages : 27
Enregistré le : 18 mars 2015, 09:41

Re: Script gestion VMC (débutant)

Message par macben » 10 sept. 2018, 14:27

Salut,

Un exemple du mien.

N'hésites pas si tu as des questions + concrètes :

Code : Tout sélectionner

-------------------------------------------------------------------------------------------------- ALLUMER/ETEINDRE VMC
-- La VMC s'éteint à 16h00 pour laisser la SDB chauffée
-- La VMC s'éteint à 23h00 car elle a assez aspiré
if  (
       (hour == 23 and minute == 00)
    or (hour == 16 and minute == 00)
    )
then
  if (otherdevices["Prise VMC"] == 'On') then
    commandArray['Prise VMC'] = 'Off'
  end
else
  if  (
-- La VMC s'allume à 18 pour les douches/bains
         (hour == 18 and minute == 00)
-- La VMC s'allume si l'humidité SDB est >= 63% et qu'il n'est ni 17hxx, ni 18hxx (éviter d'être en conflit avec la règle horaire ci-dessus), et que forte chaleur pas annoncée.
      or (tonumber(uservariables["Humidity_Sdb_Air"]) >= 63 and hour ~= 17 and hour ~= 18 and hour < 22 and hour > 7 and uservariables["FLAG_Chaleur_Annoncee"] == 'Non')
-- La VMC s'allume si l'humidité RDC est >= 60%, qu'il fait plus de 20°C et qu'il n'est ni 17hxx, ni 18hxx (éviter d'être en conflit avec la règle horaire ci-dessus), et que forte chaleur pas annoncée.
      or (tonumber(uservariables["Humidity_Rdc"]) > 60 and tonumber(uservariables["Temp_Rdc"]) > 20 and hour ~= 17 and hour ~= 18 and hour < 22 and hour > 7 and uservariables["FLAG_Chaleur_Annoncee"] == 'Non')
      )
  then
    if (otherdevices["Prise VMC"] == 'Off') then
      commandArray['Prise VMC'] = 'On'
-- Lors d'un allumage pour cause autre que horaire, envoie d'un mail pour prévenir.
      if (hour ~= 18) then
        commandArray['SendEmail'] = notification_mail .. 'Démarrage VMC !#Démarrage VMC !' ..
        '<br />' ..
        '<br />' ..
        'Humidité SDB : ' .. uservariables["Humidity_Sdb_Air"] .. '<br />' ..
        'Température RDC : ' .. uservariables["Temp_Rdc"] .. '<br />' ..
        'Humidié RDC     : ' .. uservariables["Humidity_Rdc"] .. '<br />' ..
        '#' .. email
      end
    end
  end
end

frtoto
Messages : 54
Enregistré le : 17 févr. 2018, 17:02

Re: Script gestion VMC (débutant)

Message par frtoto » 10 sept. 2018, 15:22

macben a écrit :Salut,

Un exemple du mien.

N'hésites pas si tu as des questions + concrètes :
merci je vais étudier ça !

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre