1. #1
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : inventeur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2017
    Messages : 6
    Points : 3
    Points
    3

    Par défaut Créer un script Lua pour Domoticz

    bonjour à tous ,
    j'aurais besoin d'aide de quelqu'un qui sait écrire un script lua
    j'ai aucune connaissance en programmation mais j'ai l'impression que ce n'est pas très complexe.

    les devices sont :
    prise 1
    inter virtuel 1

    l'action à effectuer est la suivante :

    si inter virtuel 1 est activé
    alors à 23h00 vérifier combien de temps prise 1 a été à l'état ON depuis 00h00, puis imprimer la valeur dans le log
    à 00h10 du jour suivant mettre prise 1 à ON pendant 5% du temps trouvé précédemment puis remettre à OFF



    voilà
    s'il fonctionne ce script me permettra d'augmenter de 5% par jour la durée de fonctionnement de la prise 1 qui en réalité commande un distributeur d'aliment pour lapin. ça permet de donner chaque jour un peu plus et suivre la croissance des jeunes lapins.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    23 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 23 388
    Points : 166 548
    Points
    166 548
    Billets dans le blog
    31

    Par défaut

    Bonjour,

    j'ai aucune connaissance en programmation mais j'ai l'impression que ce n'est pas très complexe.
    Pourquoi avoir choisi le LUA ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : inventeur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2017
    Messages : 6
    Points : 3
    Points
    3

    Par défaut

    Ha , parce que ça s'intègre très facilement dans l'interface de domoticz

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    3 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 3 223
    Points : 11 713
    Points
    11 713
    Billets dans le blog
    5

    Par défaut

    Bonjour !

    C'est intéressant comme problème mais comment vous aider ? Personnellement, je n'ai aucune idée de la façon dont fonctionne le dispositif en question. Par curiosité, je veux bien essayer de télécharger Domoticz pour voir à quoi ça ressemble... Mais j'imagine qu'il faut un matériel particulier pour faire des essais, non ?

    Autrement Google donne pas mal de réponses. Essayez déjà de faire quelque chose et on vous aidera à le finir, si on peut...

  5. #5
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : inventeur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2017
    Messages : 6
    Points : 3
    Points
    3

    Par défaut

    j'ai trouvé une bonne piste qui fonctionne mais le script est en minutes , il faudrait pouvoir l'adapter un secondes

    autrement j'utilise domoticz (gratuit) sur un raspberry pi , sinon il est aussi disponible sous Windows ou linux pour faire des essais c'est possible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     
     -- Ce script permet de remonter la durée de fonctionnement de la chaudière dans un capteur virtuel de type "Counter Incremental"
     
     --------------------------------
     ------ Variables à éditer ------
     --------------------------------
     local switch = 'test'      -- Nom de l'interrupteur virtuel Chauffage dans Domoticz
     local counter = 38         -- Numéro idx du Counter Incremental dans Domoticz
     local current_date = (os.date("%d/%m/%Y"))      -- Date courante
     local current_heure = (os.date("%X"))         -- Heure courante
     --------------------------------
     -- Fin des variables à éditer --
     --------------------------------
     
     
     -------------------
     -- Fonction time --
     -------------------
     time = os.date("*t")  
     
    function timedifference(d)
       s = otherdevices_lastupdate[d]
       year = string.sub(s, 1, 4)
       month = string.sub(s, 6, 7)
       day = string.sub(s, 9, 10)
       hour = string.sub(s, 12, 13)
       minutes = string.sub(s, 15, 16)
       seconds = string.sub(s, 18, 19)
       t1 = os.time()
       t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
       difference = os.difftime (t1, t2)
       return difference
    end
     
     ------------------- --------------------
     -- Fonction arrondir à deux décimales --
     ------------------- --------------------
      -- Le chiffre"x" (dec or x) correspond au nombre de décimales à prendre en compte dans le resultat
       function arrondir(num, dec)
          if num == 0 then
          return 0
             else
                local mult = 10^(dec or 2)
                return math.floor(num * mult + 0.5) / mult
           end
       end
     
    commandArray = {}
     
    -----------------------------------------------------------------------------------------------------
    --------------------Calcul du temps de fonctionnement de la chaudière -------------------------------
    -----------------------------------------------------------------------------------------------------
     
       -- Si chauffage ON incrémentation de la variable Domoticz "Total_compteur" --
       if (otherdevices[switch]=='On') then
       commandArray['Variable:Total_compteur']= tostring(uservariables["Total_compteur"] +1)
       end
     
       -- Envoi de la varaible valeur Total_compteur dans le Custom Counter Valeur_Compteur --
       Valeur_Compteur = tostring(uservariables["Total_compteur"])
     
       -- Envoi de la valeur dans le compteur "counter" --
       commandArray['UpdateDevice'] = counter .. '|0|' .. tostring(Valeur_Compteur)
     
       -- Envoi des informations dans le LOG si chauffage ON --   
       if (otherdevices[switch]=='On') then
          print("")
          print("Cumul du temps de fonctionnement du chauffage "..Valeur_Compteur.." Minutes".."  //  "..math.floor((Valeur_Compteur/60)).. " Heures")
          print("")
       end  
    return commandArray

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2011
    Messages
    3 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : décembre 2011
    Messages : 3 223
    Points : 11 713
    Points
    11 713
    Billets dans le blog
    5

    Par défaut

    Par curiosité j'ai téléchargé Domoticz mais n'ai pas encore eu le temps de le regarder. Je n'ai aucune idée de ce que je pourrais en faire.

    Le script que vous avez posté est étrange : les fonctions timedifference et arrondir ne sont utilisées nulle part.

    Pour convertir des minutes en secondes, il suffit de multiplier par 60, non ?

  7. #7
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : inventeur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : janvier 2017
    Messages : 6
    Points : 3
    Points
    3

    Par défaut

    oui multiplier par 60 ça reste dans mes cordes lol
    mais comme les minutes sont arrondies ça ne sera pas précis par exemple 1 mn = 60 s 2 mn = 120 s mais entre les 2 rien !

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/02/2007, 20h05
  2. Aide pour un petit script
    Par perldebutant dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2006, 21h27
  3. Aide pour modification de script
    Par cryptorchild dans le forum Langage
    Réponses: 3
    Dernier message: 04/10/2005, 15h59
  4. Besoin d'aide pour faire un script
    Par shinux2004 dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2005, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo