Aller au contenu

Nikko

Membres confirmés
  • Compteur de contenus

    278
  • Inscription

  • Dernière visite

  • Jours gagnés

    4

Tout ce qui a été posté par Nikko

  1. Nikko

    Support Gea

    @jojo: Je pense que tu as vérifié tes id ( genre avant configuration tu avais un id qui est toujours présent et maintenant il y en a un nouveau en plus). Sous le toolkit, la valeur est bien à 92% ? A priori GEA n'est pas en cause. Si tu veux en être vraiment sà»r, tu peux essayer ce genre de code dans une scène: -- ID des modules à piles local id = { 317 , 318, 319, 320 , 368 } for i = 1, #id do fibaro:debug(string.format('[ %s | %s ] Batterie: %s',id[i],fibaro:getName(id[i]),fibaro:getValue(id[i], 'batteryLevel'))) end
  2. Nikko

    Support Gea

    @domodial: Ok le log GEA et la notification affichent 99 mais la sonde sous l'interface web elle affiche combien ? J'espère que tu as des bières au frais car àce rythme tu vas vite te déshydrater......
  3. Nikko

    Support Gea

    @domodial: Pour un dimmer on utilise Value: GEA.add({id["BASCULE_GARAGE"],nuit}, -1, "", {{"Value",id["MURAL_SEJOUR"],30}}) Par contre je ne comprens pas ta seconde requète...
  4. Nikko

    Support Gea

    @steven: 1. Merci mais c'est pbien peu de choses par rapport à ce que tu as fais 2.Oui pour la valeur de retour je ne l'ai pas fait car pas demandé dans l'énoncé Nicolas
  5. Nikko

    Support Gea

    Bonjour, Une piste, si tu veux comparer le contenu de 2 variables globales, il faudrait peut être passer par une petite fonction du genre: function comparaison() local TempMini = tonumber(fibaro:getGlobalValue('Meteo_temp_mini') local TempArrosage = tonumber(fibaro:getGlobalValue('TEMPARROSAGE') -- Retourne True si TempMini Supérieure à TempArrosage return (TempMini > TempArrosage) end GEA.add ({"Function",function() return comparaison() end} ,1, "test pour temp ok ou non",{{"MaxTime", 2}}) Pas testé donc à voir si ça te convient Nicolas
  6. Bonjour, @sebcbien: Tu peux récupérer le timestamp de reboot de la box (que l'on voit sur l'interface web / diagnostique): http://hc2_ip/api/settings/info ; le timestamp est l'entree serverStatus. --[[ %% properties %% globals --]] -- --------------------------------------------- -- Convertit un Timestamp en date lisible -- --------------------------------------------- function timestampToDate(nTimestamp) return os.date("%d/%m/%y à %X", nTimestamp) end -- --------------------------------------------- -- Convertit un Timestamp en durée (code krikoff) -- --------------------------------------------- function SecondsToClock(sSeconds) local nSeconds = tonumber(sSeconds) if nSeconds == 0 then return "00:00:00"; else nHours = string.format("%02.f", math.floor(nSeconds/3600)); nMins = string.format("%02.f", math.floor(nSeconds/60 - (nHours*60))); nSecs = string.format("%02.f", math.floor(nSeconds - nHours*3600 - nMins *60)); return nHours.." H "..nMins.." Min et "..nSecs.. " s" end end --------------------------------------------------------------- local hc2 = api.get('/settings/info') fibaro:debug('Timestamp de boot: ' .. hc2.serverStatus) fibaro:debug('Date de boot: ' .. timestampToDate(hc2.serverStatus)) fibaro:debug('Allumé depuis ' ..SecondsToClock(os.time()-hc2.serverStatus)) Nicolas
  7. Nikko

    Support Gea

    Bonjour, Sinon il y'a éventuellement une autre piste: Exemple: Je crée 2 lignes GEA: -- 319: Id sonde température buanderie GEA.add({"Value-",319,23}, 30,"Température #value#° #time#") -- Variable globale GEA.add({"Global","THERMOSTAT_STATUT","AUTO"}, 30,"VG #value#") Après 30 secondes mon débug envoie ceci: On se retrouve dans le cas de @domodial avec une température super précise On peut peut être modifier le code de GEA dans la fonction getMessage: if (entry[GEA.keys["VALUE"]][1]) then msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1]) msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1]) end Par: if (entry[GEA.keys["VALUE"]][1]) then if tonumber(entry[GEA.keys["VALUE"]][1]) and string.match(entry[GEA.keys["VALUE"]][1], "(%.)") then msg = string.gsub(msg, "#value#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1])) msg = string.gsub(msg, "#value%[1%]#", string.format('%.02f ',entry[GEA.keys["VALUE"]][1])) else msg = string.gsub(msg, "#value#", entry[GEA.keys["VALUE"]][1]) msg = string.gsub(msg, "#value%[1%]#", entry[GEA.keys["VALUE"]][1]) end end Du coup voici le debug ensuite: Je n'ai pas fais plus de test que ça (uniquement ces 2 lignes avec 1 seule conditions) mais si ça marche bien cela évite les manipulations avec les labels de VD. Nicolas
  8. Nikko

    Support Gea

    Bonjour @bota: Value et pas Sensor GEA.add({"Value-",id["TEMP_CHAMBRE"],20},30*60,"Température chambre : #value# à #time#")
  9. Oui il y a aussi le fait que tu déclares en local moduleID qui ne sera valable que dans ta boucle if if (trigger['type'] == 'property') then local moduleID = tonumber(trigger['deviceID']); fibaro:debug('Module ID = ' .. moduleID); -- 89 = volet escalier -- 126 = volet Salon -- 131 = volet Sejour local A = fibaro:getValue(moduleID, 'value'); fibaro:debug('Volet ' .. A .. " %" ) end Donc en dehors de ce if moduleID n'existe pas Nicolas
  10. Bonjour, elseif (moduleID == '131') Tu demandes si moduleID égal àune chaine de caractère alors que ton type est number; pourquoi ne pas faire comme pour les autres? elseif (moduleID == 131) Nicolas
  11. Bonjour, @yannick: Dans cette partie de ton code: local scenenum = fibaro:countScenes(); fibaro:debug("Nombre de scènes : "..scenenum); if scenenum >= 5 then Fibaro:abort(); end -- test si première instance de la scène. on allume et stop if (scenenum >= 1 and luminosite <= seuilluminosite and mouvement >= 1 ) then fibaro:call(29, "turnOn") fibaro:call(171, "turnOn") fibaro:abort(); end ce n'est pas Fibaro:abort() mais fibaro:abort() qu'il faut écrire Si tu testes la 1ere instance ce n'est pas scenenum >= 1 (car cela sera toujours vrai) mais scenenum == 1 non ? Nicolas
  12. Salut Domodial, Ta scène est lancée sur une modification de la Variable globale Maison D'après ce que je comprend son contenu est soit "Present" soit "Absent". Si c'est le cas la ligne suivante enverra toujours "present", car la variable (en lua) Maison n'est pas définie Il faut que tu compares avec la variable globale Maison; Par exemple: local etatMaison = fibaro:getGlobalValue('Maison') if (etatMaison == "Absent" ) then ifttt("absent") else ifttt("present");end; Nicolas
  13. Je viens d'essayer ton VD et le comportement est correct: lorsque l'on clique sur un bouton l'icone apparait bien dans le Virtual Device; c'est le comportement que décrit Jojo; donc il y a une coquille dans la sélection de tes icones (1006 et 1007). Essaie de renvoyer/selectionner l'icone
  14. Bonjour, Lorsque tu consultes ta scène, dans l'onglet Général, est ce que la case SCENE ACTIVE est bien cochée? De plus si ta varialble global est modifiée via l'api et non via une autre Scene/Module virtuelle, alors le trigger ne fonctionne pas.
  15. Nikko

    Support Gea

    Comment ça vérifier les heures? * Sous GEA: --Execution Entre Lever et coucher {"Time","sunrise","sunset"} * Depuis l'api: http://ip_hc2/api/settings/info * Depuis une scène par exemple: fibaro:debug('sunset:' ..fibaro:getValue(1, "sunsetHour")) fibaro:debug('sunrise:' ..fibaro:getValue(1, "sunriseHour")) Nicolas
  16. Nikko

    Support Gea

    Je ne suis pas sà»r que sunset/sunrise soit récupéré depuis internet. A mon avis il est calculé selon ta location. Si ta box n'est pas connecté tu auras quand même ces informations disponibles. Nicolas
  17. Bonjour, @bono2007: Vérifie les paramètres de ton module (10/11/12), surtout le 11; si ce dernier est à 0 la température ne semble pas être actualisée automatiquement @elacombe: D'parès la doc le seul capteur 1wire géré est la sonde de température ds18b20 Nicolas
  18. Nikko

    Support Gea

    De part et d'autre de scenario: -- Si VG garage est égal open ET VG Auto_Garage différent de Off, depuis 10 minutes alors scene 61 GEA.add({{"Global", "EtatGarage", "open"}, {"Global!","Auto_Garage","Off"}}, 10*60, "Fermeture Portail après 10 minutes", {{"Scenario", 61}}) Nicolas
  19. Le startscene démarre une scène en agissant comme un déclencheur cela ne désactive pas la scène. Idem pour le kill cela stoppe une scène en cours mais elle se redéclenche au prochain trigger. Si tu veux arréter une scene qui est géré par un autostart là c'est différent (genre scene qui controle une heure et execute une action) Je pense que dans ce cas tu devrais utiliser peut être ceci (à "essayer" car pas testé): 1er bouton --MARCHE for s=9,10 do -- Activation scene if not (fibaro:isSceneEnabled(s)) then fibaro:setSceneEnabled(s , true) end end 2eme bouton -- ARRET for s=9,10 do -- Arret de la scene en cours if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end -- Descativation de la scene fibaro:setSceneEnabled(s , false) end Nicolas
  20. Nikko

    Support Gea

    @domodial: Tu peux ajouter une variable globale dans les conditions de controle: Par exemple une variable globale AUTOMATION, que tu passeras à INACTIVE avec les boutons de ton VD quand tu voudras désactiver un arret automatique: -- Si portail module ECLAIRAGE actif ET que VG AUTOMATION différente de INACTIVE depuis 10 minutes alors Arret du module ECLAIRAGE GEA.add({id["ECLAIRAGE"),{"Global!","AUTOMATION","INACTIVE"}}, 10*60, "Fermeture Portail après 10 minutes" , {{"turnOff",id["ECLAIRAGE"]}} Nicolas
  21. L'unique bouton commande celuis que tu as marqué comme "principal" dans l'interface du module et utilise dans l'icone de ce dernier. L'icone soit tu la change en lua soit tu la détermine en cliquant sur Changer Icone dans le paramétrage de ton bouton Si tu crée 2 boutons et que tu sauvegarde tu as 2 boutons mais uniquement sur l'affichage du module. Sur l'interface si le module n'est pas ouvert/selectionné tu auras toujours un seul bouton (power). Nicolas
  22. Bonjour, Visiblement tu as mis un K majuscule. Pour ton 1er bouton: fibaro:killScenes(9) fibaro:killScenes(10) Pour ton 2eme: fibaro:startScene(9) fibaro:startScene(10) Le mieux étant peut être avant le kill de contrôler que la scène est lancée: for s=9,10 do if fibaro:countScenes(s) ~= 0 then fibaro:killScenes(s) end end Nicolas
  23. Bonjour, Alors peut être hors sujet mais je reviens sur les logs c'est faisable rapidement, par exemple pour ceux qui utilisent domoticz en plus du HC2 * Domoticz intègre nodered, donc on peut créer un flow qui ouvre en écoute un socket tcp * Sur le Home Center, on créé une variable globale nommée par exemple LOGHC * On crée un virtual device avec un bouton SEND donc le code récupère la variable globale LOGHC et transfert en tcp vers domoticz * Dans les scène où l'on veut envoyer des logs on crée une fonction qui écrit le message dans la variable et qui appui sur le bouton: function logHC(msg) fibaro:setGlobal('LOGHC',os.date("%d.%m.%y-%X : [DAEMON_NAME] :")..msg) fibaro:call(362, "pressButton",5) end * Quand on veut logger une message dans la scène on appelle la fonction avec le message en paramètre * On se retrouve donc avec un fichier de log sur une autre machine J'ai fait un essai avec GEA et ma scene de thermostat, tout est loggué sur mon nas, le contenu du fichier par exemple donne ça: 15.11.15-18:53:36 : [THERMOSTAT] :Gestion Thermostat - Version: 0.1 15.11.15-18:53:36 : [THERMOSTAT] :[780 | Temperature Cuisine]. T=18.81°C. 15.11.15-18:53:36 : [THERMOSTAT] :[321 | Temperature Etg]. T=20.50°C. 15.11.15-18:53:37 : [THERMOSTAT] :[T_SAM | Variable Globale]. T=21.50°C. 15.11.15-18:53:37 : [THERMOSTAT] :[T_CHPAUL | Variable Globale]. T=21.20°C. 15.11.15-18:53:37 : [THERMOSTAT] :=> Température Moyenne INTERIEUR: 20.50°C 15.11.15-18:53:37 : [THERMOSTAT] :=> Température Moyenne INTERIEUR: 20.50°C 15.11.15-18:53:37 : [THERMOSTAT] :Fin de chauffe à : 15/11/15 à 18:53:36 (1447610016) 15.11.15-18:53:37 : [THERMOSTAT] :Pas de Chauffe nécessaire 15.11.15-18:53:37 : [THERMOSTAT] :Pas de Chauffe nécessaire 15.11.15-18:53:37 : [THERMOSTAT] :Pas de Chauffe nécessaire 15.11.15-18:53:37 : [THERMOSTAT] :Pas de Chauffe nécessaire 15.11.15-18:55:32 : [GEA] :GEA Version 5.40 : en exécution... 15.11.15-18:55:32 : [GEA] :GEA Version 5.40 : en exécution... 15.11.15-18:55:34 : [GEA] :GEA Version 5.40 : en exécution... 15.11.15-18:55:34 : [GEA] :GEA Version 5.40 : en exécution... 15.11.15-18:59:08 : [GEA] :[ 607 | Armement ] Add Autostart : ajout de la tache pour 60 secondes (ID:5) [VirtualDevice,299,5] 15.11.15-18:59:08 : [GEA] :[ 607 | Armement ] Add Autostart : ajout de la tache pour 61 secondes (ID:6) [Inverse] [VirtualDevice,299,4] [If..] 15.11.15-18:59:08 : [GEA] :[ 607 | Armement ] Add Autostart : ajout de la tache pour 61 secondes (ID:6) [Inverse] [VirtualDevice,299,4] [If..] 15.11.15-18:59:08 : [GEA] :[ 481 | PORTAIL OUVERT ] Add Autostart : ajout de la tache pour 300 secondes (ID:9) [turnOn,613] [If..] 15.11.15-18:59:08 : [GEA] :[ Value [607|Armement] > 0 ] Add Autostart : ajout de la tache pour 30 secondes (ID:10) [turnOff,328] [turnOff,339] [turnOff,337] [turnOff,361] [turnOff,295] [turnOff,298] [turnOff,296] [If..] 15.11.15-18:59:09 : [GEA] :[ 328 | Eclairage Garage ] Add Autostart : ajout de la tache pour 183 secondes (ID:11) [turnOff,328] 15.11.15-18:59:09 : [GEA] :[ 328 | Eclairage Garage ] Add Autostart : ajout de la tache pour 183 secondes (ID:11) [turnOff,328] 15.11.15-18:59:09 : [GEA] :[ 765 | Porte Sous sol ] Add Autostart : ajout de la tache pour 61 secondes (ID:16) [Inverse] [turnOff,339] [If..] 15.11.15-18:59:09 : [GEA] :[ 337 | Eclairage Buanderie ] Add Autostart : ajout de la tache pour 120 secondes (ID:17) [turnOff,337] [If..] 15.11.15-18:59:09 : [GEA] :[ 361 | Eclairage Escalier ] Add Autostart : ajout de la tache pour 124 secondes (ID:21) [turnOff,361] 15.11.15-18:59:09 : [GEA] :[ Value [295|Eclairage Cuisine] > 69 ] Add Autostart : ajout de la tache pour 121 secondes (ID:23) [Value,295,34] 15.11.15-18:59:09 : [GEA] :[ Value [295|Eclairage Cuisine] > 0 ] Add Autostart : ajout de la tache pour 60 secondes (ID:24) [Value,295,80] [Function..] [turnOff,295] [If..] 15.11.15-18:59:09 : [GEA] :[ 298 | Eclairage SaM ] Add Autostart : ajout de la tache pour 720 secondes (ID:26) [turnOff,298] 15.11.15-18:59:10 : [GEA] :[ 311 | Lampe Noire ] Add Autostart : ajout de la tache pour 600 secondes (ID:28) [turnOff,311] [turnOff,314] [If..] 15.11.15-18:59:10 : [GEA] :[ 325 | Eclairage Hall ] Add Autostart : ajout de la tache pour 122 secondes (ID:32) [turnOff,325] 15.11.15-18:59:10 : [GEA] :[ 325 | Eclairage Hall ] Add Autostart : ajout de la tache pour 122 secondes (ID:32) [turnOff,325] 15.11.15-18:59:10 : [GEA] :[ 381 | Eclairage Allée ] Add Autostart : ajout de la tache pour 60 secondes (ID:35) [turnOff,381] [If..] 15.11.15-18:59:10 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:37) [Time,Sunrise>08:00,10:00] [Open,365,40] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 300 secondes (ID:38) [Time,Sunrise>08:00,10:00] [Open,365,100] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:39) [Time,Sunrise>08:00,10:00] [Open,767,49] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 420 secondes (ID:40) [Time,Sunrise>08:00,10:00] [Open,767,100] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:41) [Time,Sunrise>08:00,10:00] [Open,305,49] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 420 secondes (ID:42) [Time,Sunrise>08:00,10:00] [Open,305,100] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:43) [Time,Sunrise>08:00,10:00] [Open,306,49] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 420 secondes (ID:44) [Time,Sunrise>08:00,10:00] [Open,306,100] [If..] 15.11.15-18:59:11 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:45) [Time,Sunrise>08:00,10:00] [Open,312,69] [If..] 15.11.15-18:59:12 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 420 secondes (ID:46) [Time,Sunrise>08:00,10:00] [Open,312,100] [If..] 15.11.15-18:59:12 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 31 secondes (ID:47) [Time,Sunrise>08:00,10:00] [Open,310,39] [If..] 15.11.15-18:59:12 : [GEA] :[ 331 | VMC ] Add Autostart : ajout de la tache pour 4800 secondes (ID:49) [turnOff,331] 15.11.15-18:59:12 : [GEA] :[ Toujours ] Add Autostart : ajout de la tache pour 30 secondes (ID:50) [Days,Weekday] [Time,04:00,04:01] [turnOn,331] 15.11.15-18:59:12 : [GEA] :[ Toujours ] Add Autostart : ajout de la tache pour 30 secondes (ID:51) [Days,Weekday] [Time,07:10,07:11] [turnOn,331] 15.11.15-18:59:12 : [GEA] :[ JourChomeJ1=NON ] Add Autostart : ajout de la tache pour 120 secondes (ID:52) [Days,Sunday] [Time,18:00,21:00] [Global,FreeSms,Nous sommes Dimanche, Penser a sortir les Poubelles ;-) ] [VirtualDevice,768,7] [If..] 15.11.15-18:59:12 : [GEA] :[ JourChome=OUI ] Add Autostart : ajout de la tache pour 120 secondes (ID:53) [Days,Monday] [Time,18:00,21:00] [Global,FreeSms,Nous sommes Lundi, Penser a sortir les Poubelles ;-)] [VirtualDevice,768,7] [If..] 15.11.15-18:59:12 : [GEA] :[ Toujours ] Add Autostart : ajout de la tache pour 3600 secondes (ID:54) [VirtualDevice,356,3] [Repeat] 15.11.15-18:59:12 : [GEA] :[ T_EXTERIEUR=HS ] Add Autostart : ajout de la tache pour 3600 secondes (ID:55) [Global,FreeSms,La Sonde de Température Extérieur est HS depuis #duration#] [VirtualDevice,768,5] 15.11.15-18:59:12 : [GEA] :[ T_CHPAUL=HS ] Add Autostart : ajout de la tache pour 3600 secondes (ID:56) [Global,FreeSms,La Sonde de Température de la Chambre de Paul est HS depuis #duration#] [VirtualDevice,768,5] 15.11.15-18:59:12 : [GEA] :[ T_SAM=HS ] Add Autostart : ajout de la tache pour 3600 secondes (ID:57) [Global,FreeSms,La Sonde de Température de la salle à manger est HS depuis #duration#] [VirtualDevice,768,5] 15.11.15-18:59:12 : [GEA] :[ EtatMaison=ABSENT ] Add Autostart : ajout de la tache pour 1800 secondes (ID:58) [VirtualDevice,783,5] [If..] 15.11.15-18:59:13 : [GEA] :[ EtatMaison=SOMMEIL ] Add Autostart : ajout de la tache pour 300 secondes (ID:59) [VirtualDevice,783,5] [If..] 15.11.15-18:59:13 : [GEA] :[ EtatMaison=PRESENT ] Add Autostart : ajout de la tache pour 300 secondes (ID:60) [Time,20:00,20:10] [VirtualDevice,783,5] [If..] 15.11.15-18:59:13 : [GEA] :[ THERMOSTAT_STATUT=AUTO ] Add Autostart : ajout de la tache pour 60 secondes (ID:61) [Time,06:00,06:02] [Time,16:00,16:02] [VirtualDevice,783,6] 15.11.15-18:59:13 : [GEA] :[ 789 | Fenetre Sdb ] Add Autostart : ajout de la tache pour 600 secondes (ID:62) [If..] 15.11.15-18:59:13 : [GEA] :[ 494 | Porte du Garage ] Add Autostart : ajout de la tache pour 30 secondes (ID:63) [VirtualDevice,785,1] [If..] 15.11.15-18:59:13 : [GEA] :[ 494 | Porte du Garage ] Add Autostart : ajout de la tache pour 60 secondes (ID:64) [Inverse] [VirtualDevice,785,2] [If..] Alors c'est un essai comme ça mais comme première approche cela fonctionne. Pour ceux qui n'ont pas domoticz ET si ça interresse on peut le faire aussi avec un script python Nicolas
  24. Nikko

    Support Gea

    Déclarer les id dans une table n'est pas lié à GEA. C'est un choix fait par les utilisateurs pour plus de clarté. Dans l'absolu c'est -- xx est le numéro de module GEA.add(true , 1*60, "",{{"VirtualDevice", xx, "1"}, {"Repeat"}}) Donc entre le sujets GEA, support GEA, Showroom GEA et la doc, je te trouve un peu dà»r de dire que c'est mal expliqué Nicolas
  25. Nikko

    Support Gea

    donc plus haut dans ta scene (dans ta fonction setevents) tu dois avoir une ligne du genre: -- xx doit correpondre au numéro de module local id = { Present_Tophe = xx } Nicolas
×
×
  • Créer...