Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 564
  • Inscription

  • Dernière visite

  • Jours gagnés

    186

Tout ce qui a été posté par jojo

  1. jojo

    Noob Detected

    conclusion, si tu peux, prends la HC2, tu pourras déjàfaire énorlmément sans lua, et comme ça la porte restera ouverte pour encore paufiner ton installation au fur et àmesure de tes apprentissages LUA. Bienvenue
  2. en effet, tu dois créer des modules liés pour que le panneau de chauffage fonctionne. Maintenant si l'actionneurest une FGS, ou ... pas de soucis, mais un IPX. J'essaierais le virtual sensor de Krikroff : http://www.domotique-fibaro.fr/index.php/topic/2164-plugin-virtual-sensor/ et comment installé des plugin perso : http://www.domotique-fibaro.fr/index.php/topic/4832-installer-un-plugin-utilisateur-en-40x/
  3. en effet, en français, ça ne va pas le faire ...
  4. j'ai eu le même soucis il y A & zemaine ou 2. Je crois que j'avais fait une mise àjour de Impérihome. Pour régler le problème, dans impérihome, j'ai refait la connection du système, d'abord en Wifi, puis en remote. Je n'ai rien changé, j'ai juste fait next, next, next; puis après 2 ou 3 fois, ça a fonctionné. Que s'était-il passé ????
  5. pose la question au support fibaro, car si tu as le problème avec les 6 FGR-222, et comme c'est ta 3° box, je crains qu'ils ne soient pas encore complètement supportés, car relativement neufs.
  6. jojo

    My Batteries

    voici le bouton batterie modifié pour les pushs : IDs des téléphones sous forme de table dans pushID et le niveau d'alerte dans pushLevel. L'alerte est envoyée àchaque run du script. Le message est générique : niveau d'alerte et niveau de batterie minimum. Mets un niveau d'alerte à80% pour tester. L'application te dira précisément de quelle batterie il s'agit. ---------------------------------- -- User Settings ---------------------------------- -- icones pour 0, 25, 50, 75 & 100 % local iconebatt = {39, 40, 41, 42, 43} local pushID = {177} -- 0 = no push; sinon entrer les ID séparés par une , local pushLevel = 10 -- niveau de batterie en dessous duquel il y a min 1 batterie pour notification push ---------------------------------- -- DO not change bellow this line ---------------------------------- local modules = {} local batt -- charge de la batt local battmin = 100 -- % charge de la batterie chargée au min HC2 = Net.FHttp("127.0.0.1",11111) -- memorise LastCheck time local LastCheck = os.date("%d/%m/%y %H:%M") -- clear labels for i = 1, 10 do fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label" ..i.. ".value", "") end --------------- --FUNCTIONS --------------- function exclude(name) return name == "Main_Zwave_Device" or name == "Seismomètre" or name == "Luminosité" end -- fonction push notification function push(msg) if pushID[1] ~= 0 then for i = 1, #pushID do fibaro:call(pushID[i], "sendPush", msg.." ("..os.date("%d/%m à%H:%M")..")") end end end --------------- --END FUNCTIONS --------------- local parentIds = {} local uniqueParentId = true local response = HC2:GET("/api/devices") local json = json.decode(response) for k, v in ipairs(json) do if (type(v.properties.batteryLevel) == "number") then if (not exclude(v.name) and v.visible and (not uniqueParentId or not parentIds[v.parentId])) then parentIds[v.parentId] = true batt = tonumber(v.properties.batteryLevel) if batt == 255 then batt = 0 end if (batt < battmin) then battmin = batt end table.insert(modules, {batt, v.name .. " (" .. v.id .. "-"..fibaro:getRoomName(fibaro:getRoomID(v.id))..")"}) end -- if exclude end -- if batteryLevel end -- for -- sort table function comp(w1,w2) return tonumber(w1[1]) < tonumber(w2[1]) end table.sort(modules,comp) -- display labels --if string.len(modules[1][2]) >= 29 then -- modules[1][2] = string.sub(modules[1][2], 1, 28) --end for index, value in ipairs(modules) do pcall( function() fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Label"..index..".value", value[2].. "..." .. value[1] .. "%") end ) end -- display LastCheck fibaro:debug(LastCheck) fibaro:call(fibaro:getSelfId(), "setProperty", "ui.LastCheck.value", LastCheck) -- display Icon fibaro:debug("battmin = "..battmin) if battmin < pushLevel then msg = "Il y a au moins une batterie sous le niveau minimum ("..pushLevel.."%) : "..battmin.."%." push(msg) end battmin = math.floor((battmin - 1)/25) + 2 fibaro:debug("Icone batterie : "..battmin) fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", iconebatt[battmin])
  7. merci, tu seras donc notre sauveur :13: :13:
  8. tu n'as que 2 modules ? Ou tu en as d'autres ? Essaye tous les autres, si ok, c'est ton FGR qui fout le boxon
  9. jojo

    Aider Moi Svp

    c'est peut-être le FGR qui est mort ?
  10. si même Dieu n'y comprend rien .... Où va la monde ?
  11. Bienvenue, La magie ici, c'est surtout si tu peux t'évader et t'amuser. Mais perso, les actions qui se font maintenant automatiquement, et me font gagner 3 min par jour, m'ont coûtées BEAUCOUP, BEAUCOUP plus chère en temps. Mais quand on aime, on ne compte pas. Bon amusement
  12. ok, j'ai pigé. (je suis belge : je comprend vite, mais il faut m'expliquer longtemps ...) C'est tordu, mais beau. mais làc'est une table avec des clé, juste c'est mieux. Peux-être qu'un replace pourrait se faire également de la sorte, sans faire de remove puis de insert. A tester
  13. En cherchant, tu finiras par devenir un expert, mais c'est chronophage ...
  14. jojo

    My Batteries

    @flamalex, ok, mais tu re!ois un push àchaque cycle de vérification par le VD ? Car sinon, c'est "chiadé"
  15. Merci à tous pour vos retours. J'ai beaucoup appris, dont le fait que ce que je voulais faire fonctionne en théorie, mais pas dans la pratique (problèmes des ms de la box) Donc j'abandonne, c'était quand-même pour "enc...." les mouches. Et évidemment, je n'y suis pas arrivé. Je devrais peut-être demander à mprinfo qui en a une petite ... Lazer, merci, mais j'ai rien compris ...
  16. merci mprinfo, avec les infos de Berale24 j'avais trouvé, et j'étais justement entrain de poster la solution la source : http://www.lua.org/pil/19.2.html le code : -- table et sous table fibaro:debug("Table et sous-table") local tabl = {} for i = 1,4 do table.insert(tabl, {10+i, 20+i}) end fibaro:debug("Affichage") for i = 1, #tabl do fibaro:debug(tabl[i][1] .. " - " .. tabl[i][2]) end fibaro:debug("Replace line 2") table.remove (tabl, 2) table.insert (tabl, 2, {41, 42}) fibaro:debug("Affichage") for i = 1, #tabl do fibaro:debug(tabl[i][1] .. " - " .. tabl[i][2]) end le log : [DEBUG] 19:29:44: Table et sous-table [DEBUG] 19:29:44: Affichage [DEBUG] 19:29:44: 11 - 21 [DEBUG] 19:29:44: 12 - 22 [DEBUG] 19:29:44: 13 - 23 [DEBUG] 19:29:44: 14 - 24 [DEBUG] 19:29:44: Replace line 2 [DEBUG] 19:29:44: Affichage [DEBUG] 19:29:44: 11 - 21 [DEBUG] 19:29:44: 41 - 42 [DEBUG] 19:29:44: 13 - 23 [DEBUG] 19:29:44: 14 - 24
  17. jojo

    My Batteries

    oui, mais tu dois également mettre les lignes 59 à61 en commentaire, car elle a pour objectif de tronquer la ligne si elle est trop longue, pour que tout tinne sur une ligne. Pour le push, il faut se poser les bonnes questions : fréquence du push, 1 par device ? Car sinon tu sera innondé
  18. boujour, Ne vous moquez pas de moi SVP Je cherche à remplir en LUA une table à 2 colonnes et plusieurs lignes (=matrice). finalement je devrais être capable de modifie un élément particulier de la matrice. exemple de table remplie la la main (mais je voudrais le faire en LUA) : local table = { {11, 21}, {12, 22}, {13, 23}, {14, 24} } et je sais la relire en LUA : for i = 1, #table do fibaro:debug(table[i][1] .. " - " .. table[i][2]) end et voici le debug [DEBUG] 18:27:22: Table et sous-table [DEBUG] 18:27:22: Affichage [DEBUG] 18:27:22: 11 - 21 [DEBUG] 18:27:22: 12 - 22 [DEBUG] 18:27:22: 13 - 23 [DEBUG] 18:27:22: 14 - 24 cela fait 2 heures que je cherche, et je sais que c'est une bêtise. Je parie que notre "quiche en LUA" sait comment il faut faire
  19. jojo

    Notification De Température

    je te proposerais de commencer directement avec GEA. Il faut l'apprivoiser, mais c'est bien plus accessible que le lua. Regarde ici : https://gea.piccand.me/doku.php
  20. Donc ceci fonctionne ? je mettrais tout dans une seule scène. Pour l'instant tu as 2 triggers : if température extérieure >= 5 then la scène actuelle else la scène de clim end modification de la température de la pièce, et la modification de la consigne de température. La scène actuelle est bien la scène de chauffage ? il suffit de rajouter ceci
  21. c'est normal, la logique n'était pas bonne : tu allumes le chauffage si la consigne est inférieure à la température ? J'ai ajouté du débug. j'imagine que 17 et 50 correspondent à tes radiateurs ? --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getValue(77, "value") --Température local cons = fibaro:getValue(76, "value") --Consigne de température fibaro:debug("Température = " .. temp .. "°C") fibaro:debug("Consigne = " .. cons .. "°C") if tonumber(cons) >= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end
  22. lors d'un restore de la DB, , tu ne restores que la DB, et donc pas la version du firmware. Si ton backup était fait clean, tes ID après le restore de ta DB devraient être les mêmes => toujours clean
  23. ce n'était pas fibaro:getGlobalValue (c'est pour les variables globales), mais fibaro:getValue --[[ %% properties 76 value 77 values %% globals --]] local temp = fibaro:getValue(77, "value") --Température local cons = fibaro:getValue(76, "value") --Consigne de température if tonumber(cons) <= tonumber(temp) then fibaro:call(17, "turnOn") fibaro:call(50, "turnOn") else fibaro:call(17, "turnOff") fibaro:call(50, "turnOff") end
  24. j'ai oublié de fermer la ) après le dernier fibaro:call (avant dernière ligne)
  25. ok ou pas ok ? de plus le script ne fait que 18 lignes => comment se fait-il qu'il y ait une erreur à la ligne 66 ?
×
×
  • Créer...