[Bash] Vigilance météo

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Message par patrice »

L interet de Lua est qu il est intégré å Domoticz et donc apporte des facilités (sendnotification,devicechanged...)
Apres c'est une histoire de gouts et couleurs.
En ce qui me concerne je pratique bash plus facilementet donc zipper un fichier, envoyer une requete https avec identification sont plus faciles pour moi avec shell (ou python que je tente d'apprendre en ce moment)
L'immense avantage de Domoticz est qu 'il expose bcp de choses via Json et donc accesibles par n'impotte quel langage
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Bash vs. Lua

Message par hobbe »

patrice a écrit :L interet de Lua est qu il est intégré å Domoticz et donc apporte des facilités (sendnotification,devicechanged...)
Apres c'est une histoire de gouts et couleurs.
En ce qui me concerne je pratique bash plus facilementet donc zipper un fichier, envoyer une requete https avec identification sont plus faciles pour moi avec shell (ou python que je tente d'apprendre en ce moment)
L'immense avantage de Domoticz est qu 'il expose bcp de choses via Json et donc accesibles par n'impotte quel langage
OK, c'est ce que je me disais.
Merci !
ben33880
Messages : 268
Inscription : 13 nov. 2014, 21:12

Re: Vigilance météo

Message par ben33880 »

Pour info et la je suis pas sur de dire vrai :
les scripts lua sont systématiquement appelés dès qu'un évènement se passe ?

si oui, ne vaudrait il pas mieux, essayer de décharger ce qui est possible par des scripts bash et faire en lua ce qu'il ne peut pas être fait autrement.

oula y a pas mal de négation dans cette phrase mais bon il est tard .....
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Vigilance météo

Message par hobbe »

ben33880 a écrit :Pour info et la je suis pas sur de dire vrai :
les scripts lua sont systématiquement appelés dès qu'un évènement se passe ?
A ce que j'ai compris, les scripts se déclenchent en fonction de leur type, ainsi :
  • script_time_blahblah.lua :
    Se déclenche toutes les minutes

    Il vaut mieux vérifier la date/heure avant de faire quelque chose, par exemple :

    Code : Tout sélectionner

    time = os.date("*t")
    -- Every 5 minutes
    if ((time.min % 5) == 0) then
      -- Do the job here...
    end
  • script_device_Temperature_Salon.lua :
    Se déclenche à chaque fois ([s]que le périphérique "Temperature Salon"[/s]) qu'un périphérique change de valeur (n'importe lequel).
    [Edit suite au commentaire de ben33880]
  • script_variable_Message.lua :
    Se déclenche à chaque changement de la variable "Message".

    Mais, d'après mes essais, il ne se déclenche pas si la variable est modifiée dans un autre script, avec par exemple :

    Code : Tout sélectionner

    commandArray['Variable:Message'] = "Blah blah"
Dernière modification par hobbe le 04 févr. 2015, 17:34, modifié 2 fois.
ben33880
Messages : 268
Inscription : 13 nov. 2014, 21:12

Re: Vigilance météo

Message par ben33880 »

script_device_Temperature_Salon.lua : se déclenche à chaque fois que le périphérique "Temperature Salon" change de valeur
Ce script se déclenchera dès qu'un périphérique change d'état, c'est pour cela qu'il faut obligatoirement tester dans le script le device.
J'ai lu dans le forum "officiel" Domoticz que les lua ont 10 secondes pour s'exécuter, un gars parlait de regrouper tous les scripts dans un seul fichier afin d'améliorer les performances (éviter les accès en lecture - écriture).

Mais bon, il doit falloir un bon paquet de script pour arriver à bourrer la bécane.
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Vigilance météo

Message par hobbe »

ben33880 a écrit :
script_device_Temperature_Salon.lua : se déclenche à chaque fois que le périphérique "Temperature Salon" change de valeur
Ce script se déclenchera dès qu'un périphérique change d'état, c'est pour cela qu'il faut obligatoirement tester dans le script le device.
J'ai lu dans le forum "officiel" Domoticz que les lua ont 10 secondes pour s'exécuter, un gars parlait de regrouper tous les scripts dans un seul fichier afin d'améliorer les performances (éviter les accès en lecture - écriture).

Mais bon, il doit falloir un bon paquet de script pour arriver à bourrer la bécane.
D'accord, je comprends mieux maintenant. Merci d'avoir précisé.

Le nom du script n'a pas d'impact.
Tous les scripts script_device_*.lua seront déclenchés à chaque changement d'état d'un périphérique.

Il faut donc que le script soit optimisé pour en faire le moins possible, le plus rapidement possible.
En particulier, il faut commencer par vérifier que le script gère le(s) périphérique(s) souhaité(s) uniquement :

Code : Tout sélectionner

commandArray = {}
if (devicechanged['Sonnette Entree'] == 'On') then ...
Merci !
stefacom1
Messages : 10
Inscription : 13 mars 2015, 12:47

Re: Vigilance météo

Message par stefacom1 »

Merci pour le script en lua, pour un idx 333 et un dep 54, ca donnerai quoi ?

je suis novice, et je ne comprend pas tous les ".." dans votre script.

Merci
hobbe
Messages : 111
Inscription : 15 déc. 2014, 15:33

Re: Vigilance météo

Message par hobbe »

stefacom1 a écrit :Merci pour le script en lua, pour un idx 333 et un dep 54, ca donnerai quoi ?

je suis novice, et je ne comprend pas tous les ".." dans votre script.

Merci
Si tu utilises mon script, c'est facile : 2 lignes à changer :

Code : Tout sélectionner

  -- Device ID (Type Alert on virtual hardware)
  local idx = '333'
  -- Department (France)
  local dept = '54'
Bon courage !
LSBdu68
Messages : 165
Inscription : 17 janv. 2015, 23:45
Localisation : Alsace

Re: Vigilance météo

Message par LSBdu68 »

Bonjour à tous,

Il semble que le site DOMOGEEK ne soit toujours pas actif bien que j'utilise le nouveau lien. Auriez vous une explication ?

Merci
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Vigilance météo

Message par vil1driver »

pourtant ici ça fonctionne plutôt bien

dans les url tu remplaces simplement le nom de domaine

Code : Tout sélectionner

api.domogeek.fr
par

Code : Tout sélectionner

domogeek.entropialux.com
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre