Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Non, malheureusement pas, le code que vous ajouter fait appel au code de GEA qui doit être connu ... pour être connu, il doit être déclarer avant. J'ai déjà essayé de faire au plus simple, mais les contraintes du LUA sur la HC2 ne laisse pas beaucoup de possibilité. Il y a du code que vous devez mettre avant et du code que vous devez mettre après.
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 On pourrait ... je dis bien on pourrait faire quelque chose comme cela : --[[ %% autostart %% properties 91 value %% globals --]] function yourcode() -- ================================================== -- A VOUS DE JOUER -- ================================================== GEA.checkEvery = 30 -- On vérifie toutes les X secondes GEA.portables = {122} -- Liste des portables devant recevoir une notification {70, 71} GEA.debug = false -- Affichage des traces dans la console local id = { DETECTEUR = 85, LAMPE_EXT = 115 } GEA.add(....) GEA.add(....) -- ================================================= -- NE PLUS RIEN TOUCHER -- ================================================= end (...le code de gea...) l'idée serait d'englober ton code dans une fonction et àla fin du code de GEA j'appel cette fonction. C'est donc possible.
byackee Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 Bonjour a tous, Merci beaucoup pour le script, je suis fan!!!! J'ai une petite question, est il possible par exemple d'allumer la hotte de cuisine si la valeur de consommation des plaques de cuisson change. Et pourquoi pas si la conso depasse une certaine valeur de passe la hotte en vitesse 2. J'essai de faire le script mais il ne fonctionne pas completement (que l'extinction apres x minutes d'inactivite). --[[ %% autostart %% properties 101 value %% globals --]] -- gestion de la hotte local condition = {"If",{{"Value-", 78, 100}}} -- si la lumiere de hotte est allumée alors on check GEA.add({"Value-", 101, 20}, 7*60, "Plaque éteinte depuis #duration#, Hotte éteinte", {{"VirtualDevice", 136, 4},{"VirtualDevice", 136, 7}, condition}) GEA.add(101, -1, "", {{"VirtualDevice", 136, 2},{"VirtualDevice", 136, 6}, condition}) --GEA.add({"Value+", 101, 1000}, 1*60, "", {{"VirtualDevice", 136, 3},{"VirtualDevice", 136, 6}}) Merci pour votre aide
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Je suppose que tu as une prise électrique avec une remontée de la consommation ? SI oui dans ce cas "Value" te donnera si la plaque est allumée ou non et "Sensor" la consommation. Exemple SI la consommation est supérieure à 1000W GEA.add({"Sensor+", 101, 1000}, 30, "Consommation de plus de #value#, passage en vitesse 2", {{"VirtualDevice", 136, 3},{"VirtualDevice", 136, 6}}) Maintenant que tu sais comment utilisé la consommation tu peux faire ce que tu veux ... comme allumer ta hotte. GEA.add({"Sensor+", 101, 10}, 30, "Plus de 10W on peut allumer la hotte", {...}) Edit : Le "Value+" ou "Value-" est utilisé avec des dimmers ou des volets roulants. Une prise n'a que 2 état (On ou Off) soit une "Value de 1 ou 0". Dans le cas d'une prise tu n'a donc pas besoin de faire : GEA.add({"Value-", 101, 20},...) pour s'avoir si ta plaque est allumée ou non tu peux faire GEA.add(101, ...) -- elle est allumée GEA.add(101, ..., ..., {{"Inverse}, ...}) -- elle est éteinte. Voilà j'espère que tu arriveras faire ce que tu veux ... sinon ... HURLE.
HANSOLO Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 Voilà ce que j'ai pour commander une bouche d'aération en fonction de la consommation de la hotte: --Ouverture bouche cuisine si hotte allumée GEA.add({"Sensor+", id["WallPlugCuisine"], 80}, 30, "",{{"Scenario",id["ScnVMC"]},{"Repeat"}}) Si la hotte consomme plus de 80W (la lumière consomme moins de 80W et le moteur plus de 80W) pendant 30s je déclenche un scénario (pour ouvrir la bouche d'aération il faut couper son alimentation et elle s'ouvre pour 30mn au retour du courant) et je répète (utile dans mon cas si la cuisinière cuisine plus de 30 mn)
labomatik Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 bonjour à tous, tout d'abord, félicitation à steven pour ce super addon à la HC2... Voici une petite question sur GEA, je tente de trouver les lignes pour éteindre toute la maison lorsque l'alarme est branchée et rallumer tout quant elle est désactivée. J'ai ceci comme id pour l'armement partiel (statel on/off) [DEBUG] 22:11:15: [ 2767 | Armement Partiel ] isActivate : type : satel_output [turnOff] donc voici les 2 codes: -- Si on a un armement partiel depuis 5 minutes, on éteint tout GEA.add(id["ARMEMENT_PARTIEL"], 5*60, "", {{"turnOff",HOME_CINEMA}}) -- Si on a plus d'armement partiel on rallume tout... GEA.add(id["ARMEMENT_PARTIEL"], 5*60, "", {{"Inverse"},{"If",HOME_CINEMA},{"turnOn",HOME_CINEMA}}) bien que je suis pas sur du if... normalement on allume le home cinéma si l'armement partiel n'est pas actif...
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Le if ne te sert àrien. Que voulais tu faire avec ?
fredo Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 Après une grande concertation avec Steven, voici la procédure officielle de demande de support (à respecter impérativement) que j'ai définie pour la mise en place de la gestion de notre environnement dans le GEA. ce n'est pas du LUA mais ça fonctionne quand même ! REPEAT je rajoute un truc je teste le truc IF le truc fonctionne pas THEN REPEAT IF GEA gère le truc THEN Steven m’aides ELSE Steven modifies le GEA ENDI je modifie le truc je teste le truc UNTIL le truc fonctionne ENDIF UNTIL il n’y a plus de trucs à rajouter END 4
labomatik Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 Le if ne te sert àrien. Que voulais tu faire avec ? Je voulais éviter d'allumer le cinéma si il est déjàallumé mais est ce que ça pose problème?
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Non justement cela ne pose aucun problème donc simplifie ton code. Sinon, t'es tout juste. Si tu dois réutiliser le if, attention, il prend plein de {} {"If", {{condition1} , {condition2} ,... }
fredo Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 @Steven Donc tu penses modifier la structure du GEA pour qu'on puisse mettre notre code en début de scène? ça serait vraiment bien parce que t'as trop bien bossé et ton code est assez lourd, et se taper les presque 1000 lignes ça va vite mais c'est galère! Oui je sais, je suis un gros flemmard ! Sinon, voici une petite goodies perso, l'icone officiel du GEA by Fredo, validé par Monsieur Steven ! 1
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Ce soir mes enfants rentrent, je les ai pas vu depuis 1 semaine... Pour moi, c'est une éternité. Je m'occupe d'eux puis de la prochaine version. Le code pourra être en bas comme àce jour ou en haut dans une fonction prédéfinie. Chez moi je tourne déjàavec cette modification pour tester.
fredo Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 @steven Personne ne t'avait demandé cette modif avant moi ???
HANSOLO Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 Si mais il n'obéit qu'à toi 1
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Non, il n'y a que toi d'aussi peinible
fredo Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 @HANSOLO oui et il a intérêt ! Il file droit avec moi, pas de ouais peut-être on verra, sinon
fredo Posté(e) le 19 juillet 2014 Signaler Posté(e) le 19 juillet 2014 @HANSOLO ouais, même qu'on sera de cérémonie en septembre !
Steven Posté(e) le 19 juillet 2014 Auteur Signaler Posté(e) le 19 juillet 2014 Nouvelle Version 3.65 [Amélioration] Déportation du code utilisateur en début de script, proposition de @fredo [Nouveauté] Ajout de l' action {"Global", <variable>, "inc+"} pour incrémenter de 1 automatiquement la variable [Nouveauté] Ajout de l' action {"Global", <variable>, "dec-"} pour décrémenter de 1 automatiquement la variable La nouvelle version est diponible ici : http://www.domotique-fibaro.fr/index.php/topic/1082-gea-gestionnaire-dévénements-automatique/?p=12428 Déportation du code. Votre code peut maintenant être inséré en début de script, pour autant que ce dernier sont englobé dans une fonction nommée "yourcode" comme sur l'exemple ci-dessous. La nouvelle version de GEA (3.65) utilise cette nouvelle fonctionnalité. Sinon, vous pouvez laisser comme avant. --[[ %% autostart %% properties 85 value 28 value %% globals --]] function yourcode() -- ================================================== -- A VOUS DE JOUER -- ================================================== GEA.checkEvery = 30 -- On vérifie toutes les X secondes GEA.portables = {122} -- Liste des portables devant recevoir une notification {70, 71} GEA.debug = false -- Affichage des traces dans la console local id = { DETECTEUR = 85, DETECTEUR_GARAGE = 28 } -- ------------------------------------------------------------ -- Si vous avez une variable global qui doit activé ou non ce service, il faut -- la déclaré et indiqué la valeur que cette dernière doit contenir pour que le service fonctionne -- Exemple GEA.getGlobalForActivation = {"hors de la maison", "oui"} -- Le service fonctionnera uniquement sur la variable globale "hors de la maison" est à "oui" -- Définition : GEA.getGlobalForActivation = {"<globalvar>", "<value for activation>"} -- ------------------------------------------------------------ --GEA.getGlobalForActivation = {"SuspendreGEA", "non"} -- === GARAGE == -- -- Le scénario enverra un push toutes les 10mn tant que la porte sera ouverte GEA.add( id["DETECTEUR_GARAGE"], 10*60, "La porte du garage est ouverte depuis plus de #duration#", {{"If", {{"Global", "GEA_Garage", "ON"}}}, {"Global", "Karotz", "La porte du garage est ouverte depuis #durationfull#"},{"VirtualDevice", id["VD_KAROTZ"],"1"},{"Repeat"}}) -- ================================================== -- NE PLUS RIEN TOUCHER -- ================================================== end Exemple des nouvelles fonctionnalité pour incrémenté ou decrémenté une variable Globale. Imaginons une variable "NbCafe" qui est à 0. -- Chaque fois que la cafetière consomme plus de 100W pendant 30 secondes, on ajoute 1 à la variable GEA.add({"Sensor+", 19, 100}, 30, "", {{"Global", "NbCafe", "inc+"}}) -- 60 secondes, ce n'est plus un café met un détartrage, on retire le 1 ajouté juste avant GEA.add({"Sensor+", 19, 100}, 60, "", {{"Global", "NbCafe", "dec-"}}) -- Attention à la commande si plus de 50 cafés GEA.add({"Global+", "NbCafe", 50}, 30, "Dejà #value# cafés, il est temps d'en recommander") Cela vous permet aussi de compter le nombre d'ouverture de porte, le nombre d'arrosage dans le mois, le nombre de fois que vous ouvrer le frigo pour prendre une bière à ma santé, ...
fredo Posté(e) le 20 juillet 2014 Signaler Posté(e) le 20 juillet 2014 @Steven, Un très grand merci à notre codeur fou Steven pour avoir enfin pu résoudre LE problème principal du HC2, la position de notre code perso en fin de GEA. C'était vraiment galère et insupportable à vivre au quotidien. Chaque jour, je n'en pouvais plus de devoir descendre tout en bas pour modifier mon code. Depuis tout ce temps où je lui ai demandé ça, il a enfin fait quelque chose. J'ai failli supprimer le GEA et je pensais revendre mon HC2 et tout le matos de domotique. Et en attendant, je comptais arrêter mon abonnement EDF et partir élever des chèvres dans le Larzac pour oublier. Steven m'a sauvé de la vraie vie !!!
HANSOLO Posté(e) le 20 juillet 2014 Signaler Posté(e) le 20 juillet 2014 Une idée: Si Steven sans ses enfants durant une semaine nous sort trois versions d'enfer par ennui, à votre avis quelles améliorations il coderas s'il n'a pas ses enfants durant un mois! Qui se porte volontaire pour kidnapper héberger ses enfants?
Steven Posté(e) le 20 juillet 2014 Auteur Signaler Posté(e) le 20 juillet 2014 @fredo Ben Zut, si J'eu su je n'aurais rien fait @Hansolo Ils sont ma source d'inspiration. J'ai rien fait d'autre que de répondre àShyrka973 et fredo cet semaine. De moi ne vient que l'incrementation.
fredo Posté(e) le 20 juillet 2014 Signaler Posté(e) le 20 juillet 2014 @Steven Tu incrémentes surtout les numéros de version !!!
fredo Posté(e) le 20 juillet 2014 Signaler Posté(e) le 20 juillet 2014 @Steven je viens de faire la mise àjour 3.65, non sans mal. Je suis épuisé! Du coup, je n'ai plus le courage de lancer la scène. C'était juste pour dire que j'ai un peu restructuré le GEA (les commentaires!) pour mettre les paramètres dispo juste après l'historique. Je m'attarde toujours au côté pratique, désolé ! Autre chose, pour être moins bête aujourd'hui, tu peux me dire àquoi servent ses lignes? --[[ %% autostart %% properties 91 value 85 value 28 value 6 value 87 value 108 value %% globals --]]
Messages recommandés