IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lua Discussion :

Créer un script Lua pour Domoticz


Sujet :

Lua

  1. #1
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    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 : 40
    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
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    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...
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    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 ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  7. #7
    Candidat au Club
    Homme Profil pro
    inventeur
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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