Aller au contenu

Recommended Posts

vous savez quoi,  ça fonctionne très bien:D

après quel malle de tête, je suis :) pour quelqu’un qui n’avais jamais vraiment mis les mains dans du LUA et encore moins dans le super code de GEA

 

bon il me reste du boulot pour les autre programmateurs 

 

 

 

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous, 

Je débute avec GEA et je souhaiterais savoir comment lancer une notification en cas de détection de fumé sur un smoke sensor fibaro ?

D'avance merci 

Partager ce message


Lien à poster
Partager sur d’autres sites

Vous 

@971jmd mais pourquoi ne faites vous pas votre "programmeur" comme un plugin interne?

Je pense c'est bon de garder la source GEA standardisée at propre.

 

J'ai modifié un peu différemment, mais j'ai ajouté comme un plugin et vd:

   GEA.options.multialarm     = {name = "multiAlarm", 
--                    optimize = true,
                    control=function(id) return GEA.options.number.control(id) end,
                    getValue=function(id, multi_a)
                      if (os.date("%H:%M", GEA.runAt) == fibaro:getValue(id, "ui."..multi_a.."h.value")) then
                        local days = fibaro:getValue(id, "ui."..multi_a.."j.value")
                        days = days:lower()
                        selected = tools.split(days, " ")
                        for i = 1, #selected do
                          for j = 1, #GEA.trad.week_short do
                            if (GEA.trad.week_short[j] == selected[i]) then 
                              if (GEA.traduction.en.week[j]:lower() == os.date("%A"):lower()) then
                                return true
                              end
                            end
                          end
                        end
                      end
                      return false
                    end,
                }  

- Alarm : {"multiAlarm", <id_vd>, "<alarme_id>"} - UTILISABLE UNIQUEMENT avec le VirtualDevice GEA.multiAlarm, Alarm_id est "Alarm1" ou "Alarm2" ou "Alarm3" ou "Alarm4"
    CONDITIONS : 
        GEA.add( {"multiAlarm", id["VD_ALARM"], "<alarme_id>"}, 0, "", {ACTIONS} )    - Va vérifier si la période (jour et heure) précisée correspond à celle indiquée sur GEA.ALARM, si TRANCHE VERIFIEE, ACTIONS executées

    ACTIONS : Ne peut-etre utilisé en ACTIONS

ex.
  image.thumb.png.8923d65c4287637d5d8045a453cd578e.png 

GEA.add( {"Alarm", 530, "Alarm2"}, 0, "", {ACTIONS} ) exécute l'action à 4:01, semaine sans samedi

 

GEA_MultiAlarm.vfib

Modifié par drboss
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

effectivement plus optimisé 

 

je vais étudier la chose, mais pour le moment ma VD fonctionne très bien 

 

encore merci a vous tous, ça fait plus de 3 ans que je souhaitais évitée les réglages interne comme {"Time", "21:23", "00:00"} 

 

- Affichage de(s) la référence(s):nom de l'alarme et information....

- Heure de début ou uniquement heure début en désactivant l'heure de fin avec  --:--  intéresse si on souhaite réalisée uniquement un ouverture de Volet par exemple mai pas le fermeture 

- Heure de de fin  ou uniquement heure fin  en désactivant l'heure de début avec  --:--

- jour

- activé ou désactivée (intéresse quand on souhaite interrompe le programme)

 

h1.PNG.0615399c86ca902c9838b8444f350888.PNGh2.PNG.ca951c990aada3e3e2886d017ee2b0e4.PNG

Modifié par 971jmd

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 20 heures, cseb62 a dit :

souhaiterais savoir comment lancer une notification en cas de détection de fumé sur un smoke sensor fibaro ?

Bonjour,

 

Bienvenue sur GEA ;-)


 

-- Declare dans l'entete sous %%properties : iddusmoke value

GEA.add(id["SMOKE_SENSOR"], -1, "Alerte Fumée SMOKE SENSOR")

 

Il y a 11 heures, drboss a dit :

la source GEA standardisée at propre.

I totally agree with that

Good multialarm ;-)

 

Il y a 6 heures, 971jmd a dit :

intéresse si on souhaite réalisée uniquement un ouverture de Volet par exemple mai pas le fermeture 

Deja possible avec GEA nativement ;-)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

oui pepite je sais bien que la fonctionne existe nativement,

mais pour modifier un horaire ou la désactivée..... il faut ouvrir GEA

 

imagine que si tu es en déplacement et femme pour multiple raison, réalise qu'il ne faut pas que le volet s'ouvre...... 

 

elle prend son smartphone et modifier ou désactive avec la VD

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 07/09/2018 à 14:55, Lazer a dit :

lol


2 messages au dessus

Et à peu près toutes les pages en fait.

Bonsoir,

 

J'ai bien vu les messages mais ça ne me dit pas comment y remédier...

 

Surtout que c'est arrivé d'un coup, sans que je touche quoi que ce soit...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Nissan_GT-R

 

Ces erreurs sont dues au firmware 4.510. Mais normalement ne sont pas bloquantes dans GEA.

Un "correctif" est en test suite à la découverte de @Felig, en attente du retour de @Dragoniacs

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai eu une situation où les volets roulants ne s'ouvriront pas après quelques jours
Quand je commence GEA les 2 ou 3 premiers jours, tout fonctionne. alors cette ligne ne fonctionnera plus.
Je veux que les volets roulants soient ouverts entre 8h30 et 12h00, lorsque la température est supérieure à 5 degrés.
Mettez 58 et 60 en en-tête, en-tête.
avec identifiant de nom, sans identifiant de nom sans différence
me rend fou

 

I got a situation where the rollershutters wont open after some days's
When I start GEA the first 2 or 3 days all things work. then this line won't work anymore.
I want the roller shutters to be open between 8.30 and 12.00 when the temp is above 5 degrees, looks okay but something goes wrong after some days
Put 58 and 60 in header, out of header.
with name ID , without name ID no difference
driving me crazy

    

 	--Rolluiken automatisch open in de ochtend 
  		GEA.add( {{"Time", "08:30", "12:00"}, {"Label+", 165, "lblTemp", 5}}, 30, "", {"Open", {58, 60}})
 
		GEA.add( {"Time", "20:00"}, 30, "", {"Close", {58, 60}})
		GEA.add( {"Label-", 165, "lblTemp", 5}, 30, "", {"Close", {58, 60}})
		GEA.add( {"Label+", 167, "lblWind", 70}, 30, "", {"Close", {58, 60}})
  		GEA.add( {"Label+", 165, "lblTemp", 25}, 30, "", {"Close", {58, 60}})
		

		<<<  GEA debug >>>

[DEBUG] 10:31:14: --------------------------------------------------------------------------------
[DEBUG] 10:31:15: Started automatically of GEA 6.07 (mode autostart)
[DEBUG] 10:31:15: --------------------------------------------------------------------------------
[DEBUG] 10:31:15: Use minifiertools v. 2.00
[DEBUG] 10:31:15: Check automatic every 30 seconds
[DEBUG] 10:31:15: Creation of GEA_Tasks global variable
[DEBUG] 10:31:15: Creation of GEA_History global variable
[DEBUG] 10:31:15: --------------------------------------------------------------------------------
[DEBUG] 10:31:15: Searching plugins, ... :Found any
[DEBUG] 10:31:15: Loading user code setEvents() ...
[DEBUG] 10:31:15: --------------------------------------------------------------------------------
[DEBUG] 10:31:15: Add auto : #1 [69] *repeat*
[DEBUG] 10:31:15: Add auto : #3 [Sensor-, [71,85]][Days, ["Monday, Tuesday, Wednesday, Thursday, Sunday"]][Time, ["21:30","23:30"]][TurnOff][Global, ["SleepState","Sleeping"]]
[DEBUG] 10:31:15: Add auto : #4 [Sensor-, [71,85]][Days, ["Friday, Saturday, Sunday"]][Time, ["22:00","23:59"]][TurnOff][Global, ["SleepState","Sleeping"]]
[DEBUG] 10:31:15: Add auto : #7 [Label+, [165,"lblTemp",5]][Time, ["08:30","12:00"]][Open, [[58,60]]]
[DEBUG] 10:31:15: Add auto : #8 [Time, ["20:00"]][Close, [[58,60]]]
[DEBUG] 10:31:15: Add auto : #9 [Label-, [165,"lblTemp",5]][Close, [[58,60]]]
[DEBUG] 10:31:15: Add auto : #10 [Label+, [167,"lblWind",70]][Close, [[58,60]]]
[DEBUG] 10:31:15: Add auto : #11 [Label+, [165,"lblTemp",25]][Close, [[58,60]]]
[DEBUG] 10:31:15: Add auto : #12 Restart HC2
[DEBUG] 10:31:15: Add auto : #13 Start-Up GEA
[DEBUG] 10:31:15: Add auto : #14 Check new version *repeat*

When the day comes the roller shutter won't open, I press save then GEA restart and they open again.

[DEBUG] 10:31:45:    [Started] #7 [Label+, [165,"lblTemp",5]][Time, ["08:30","12:00"]][Open, [[58,60]]]

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 58 minutes, pepite a dit :

Bonjour @Nissan_GT-R

 

Ces erreurs sont dues au firmware 4.510. Mais normalement ne sont pas bloquantes dans GEA.

Un "correctif" est en test suite à la découverte de @Felig, en attente du retour de @Dragoniacs

 

Est-ce que le correctif incluera aussi la correction du "XOR" pour les messages de mes fenêtres ouvertes ?

  GEA.options.o_r     = {name="Or",
                    optimize = true,
                    keepValues = true,
                    getName=function(...)
                      local args = {...}
                      local name = ""
                      for i = 1, #args do
                        if (GEA.getOption(args[i]).check()) then
                          name = GEA.getOption(args[i]).getModuleName() .. " " 
                        end
                      end
                      return name
                      end,
                    control=function(...) local args = {...} for i = 1, #args do if (type(GEA.getOption(args[i]))=="nil") then return false end end return true end,
                    getValue=function(...) local args = {...} for i = 1, #args do if (GEA.getOption(args[i]).check()) then return true end end return false end,
                } 

 

Et le code pour le lidbrightness ?

  GEA.options.ledbrightness = {name="LedBrightness",
            optimize = true,
            getValue=function()  return fibaro:getLedBrightness() end,
            action=function(level) fibaro:setLedBrightness(tonumber(level)) end
            }

 

Si j'en demande beaucoup trop, tu peux m'envoyer bouler @pepite

:2:

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hi @dvine, Your lines are OK. You seems having the bug as others with 4.510. Sometimes, the scene stop working without any messages. That explains why when you save GEA all works again. Put the watchdog wih will restart automatically your GEA.

And you can write like this

GEA.add( {"Or", {"Label-", 165, "lblTemp", 5}, {"Label+", 167, "lblWind", 70}, {"Label+", 165, "lblTemp", 25}}, 30, "", {"Close", {58, 60}})

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dragoniacs

Le correctif dont je parle est celui que tu testes pour l'erreur API not found ;-) Tout dépend de toi ;-) . Tu parles de "Or" ou de "Xor" ? la tu as mis le code de "Or". Rafraichis moi la mémoire d'ailleurs stp, poisson rouge je suis ;-).

Tu as quel message au fait ?

Et pour LedBrightness ca doit le faire aussi. Ma question tu utilises deja cela dans ton config() ? Aucune mise à jour ne sera publiée sans validation de @Steven, surtout que pour l'erreur API, on touche au coeur de GEA

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut a tous

j ai deux module double éclairage chaqu'un relier a une lampe et a un interrupteur different 

je voudrai allumer ou éteindre la lampe du premier et du 2 eme module en meme temps soit avec l interrupteur du pemier module soit avec l interrupteur du 2 eme module

svp help

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite

Oui, excuse moi, c'est des "Or".

 

Petit rafraichissement de mémoire sur le sujet.

J'ai plusieurs lignes de ce type, et je souhaite juste afficher le nom de la fenêtre qui est ouverte. En natif GEA, #name# ne renvoi rien. C'est là que l'ajout du code dans config() me permets d'avoir le nom d'une des fenêtres (à défaut d'avoir toutes les fenêtres, car on n'a jamais trouvé comment afficher plusieurs noms) qui active la ligne.

  GEA.add({"Or",{"Value+",id["FEN_NOLAN"],0},{"Value+",id["VELUX_NOLAN"],0},{"Value+",id["VELUX_ETHAN"],0},{"Value+",id["VELUX_SDB"],0}}, 10*60, "&-1&2EME : #name# est ouverte depuis #duration#",{"Repeat"}) 

Pour le ledbrightness() je l'utilise déjà dans config() et ça fonctionne super bien !

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 22 minutes, Dragoniacs a dit :

d'avoir le nom d'une des fenêtres

Donc tu recois bien au moins 1 nom d'une fenetre ouverte, mais si dans la même ligne tu as 2 fenêtres d'ouverte, tu ne recois toujours qu'un seul nom ?

J'ai bon?

Partager ce message


Lien à poster
Partager sur d’autres sites

@pepite

Oui, c'est tout à fait ça.

J'ouvre une 1ere fenêtre, elle déclenche la ligne. Si j'en ouvre une 2e, c'est toujours la première qui s'affiche. Mais si je ferme la 1ere, le compteur tourne encore et m'affiche la 2e, qui est encore ouverte (enfin, je crois...)

Sans ce bout de code, le #name# renvoyait " ", mais la ligne fonctionnait quand même.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 16 heures, pepite a dit :

Bonjour @CharlesO

 

Pas forcément besoin de GEA pour tous les modules

Regarde les associations directes et les groupes

 

http://tutoriels.domotique-store.fr/content/2/154/fr/z_wave-les-groupes-et-les-associations.html

merci pepite mais je trouve pas comment obtenir ce que je veux avec les groups

comment faire ca avec GEA ?

svp merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @CharlesO

 

Je ne comprends pas alors. J'ai compris que tu voulais indifféremment tout allumer ou tout éteindre depuis l’inter A ou l'inter B.

Avec les groupes c'est bon normalement.

Inter A : tu mets l'id du module de l'inter B dans le groupe 1

Inter B : tu mets l'id du module de l'inter A dans le groupe 1

 

Avec GEA :

Si inter A Allume, tu allumes B

Si inter B allumé tu allumes A

..idem pour l'extinction

 

GEA.add(id["INTER_A"], -1, "", {"turnOn", id["INTER_B"]}
GEA.add(id["INTER_B"], -1, "", {"turnOn", id["INTER_A"]}
GEA.add(id["INTER_A"], -1, "", {"turnOff", id["INTER_B"]}
GEA.add(id["INTER_B"], -1, "", {"turnOff", id["INTER_B"]}

Et tu mets tes IDs dans l'entete sous %% properties

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 18 heures, Dragoniacs a dit :

à défaut d'avoir toutes les fenêtres, car on n'a jamais trouvé comment afficher plusieurs noms

Ouais, la j'avoue je ne sais pas ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, pepite a dit :

Bonjour @CharlesO

 

Je ne comprends pas alors. J'ai compris que tu voulais indifféremment tout allumer ou tout éteindre depuis l’inter A ou l'inter B.

Avec les groupes c'est bon normalement.

Inter A : tu mets l'id du module de l'inter B dans le groupe 1

Inter B : tu mets l'id du module de l'inter A dans le groupe 1

 

Avec GEA :

Si inter A Allume, tu allumes B

Si inter B allumé tu allumes A

..idem pour l'extinction

 


GEA.add(id["INTER_A"], -1, "", {"turnOn", id["INTER_B"]}
GEA.add(id["INTER_B"], -1, "", {"turnOn", id["INTER_A"]}
GEA.add(id["INTER_A"], -1, "", {"turnOff", id["INTER_B"]}
GEA.add(id["INTER_B"], -1, "", {"turnOff", id["INTER_B"]}

Et tu mets tes IDs dans l'entete sous %% properties

merci mais j'ai :

[DEBUG] 14:48:37: [1;31m2018-09-26 14:48:37.604484 [ fatal] Unknown exception: /opt/fibaro/scenes/144.lua:247: ')' expected (to close '(' at line 245) near 'GEA'

 

tu ouvre une parenthèse avant id mais ou tu la ferme ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

merci mais toujours :

[DEBUG] 15:17:27: [1;31m2018-09-26 15:17:22.685570 [ fatal] Unknown exception: /opt/fibaro/scenes/144.lua:439: bad argument #1 to 'lower' (string expected, got nil)

 


 

Partager ce message


Lien à poster
Partager sur d’autres sites

×