Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 947
  • Inscription

  • Dernière visite

  • Jours gagnés

    201

Tout ce qui a été posté par jojo

  1. Pour faciliter la lecture de ton code, tu peux l'inclure facilement en appuyant sur l'icône <> (juste en dessous des smily). Je recole donc ton code original --[[ %% properties 94 value 124 value 119 value 10 value 32 value %% globals jedors --]] local jedors = fibaro:getGlobal("jedors") local capteurentree = fibaro:getValue(94, 'value') local capteurcuisine = fibaro:getValue( 124, 'value') local capteursalon = fibaro:getValue(119,'value') local porteentree = fibaro:getValue(10, 'value') local portecouloir = fibaro:getValue(32, 'value') print (capteurentree) print (jedors) if (jedors == '1' and capteurentree == '1') then fibaro:call(134,"pressButton","4") end if (jedors == '1' and capteurcuisine == '1') then fibaro:call(134,"pressbutton","5") end if (jedors == '1' and capteursalon == '1') then fibaro:call(134,"pressbutton","6") end if (jedors == '1' and porteentree == '1') then fibaro:call(134,"pressbutton","2") end if (jedors =='1' and portecouloir == '1') then fibaro:call(134,"pressbutton","3") end } maintenant, je n'y vois pas d'erreur flagrante. Cependant, je le modifierais ainsi pour une plus grande fiabilité, en y ajoutant des debug : --[[ %% properties 94 value 124 value 119 value 10 value 32 value %% globals jedors --]] local jedors = fibaro:getGlobal("jedors") local capteurentree = fibaro:getValue(94, 'value') local capteurcuisine = fibaro:getValue( 124, 'value') local capteursalon = fibaro:getValue(119,'value') local porteentree = fibaro:getValue(10, 'value') local portecouloir = fibaro:getValue(32, 'value') print (capteurentree) print (jedors) if jedors == '1' then fibaro:debug('jedors = 1') if capteurentree == '1' then fibaro:debug('Capteur entrée') fibaro:call(134,"pressButton","4") elseif capteurcuisine == '1' then fibaro:debug('Capteur cuisine') fibaro:call(134,"pressbutton","5") elseif capteursalon == '1' then fibaro:debug('Capteur salon') fibaro:call(134,"pressbutton","6") elseif porteentree == '1' then fibaro:debug('Porte entrée') fibaro:call(134,"pressbutton","2") elseif portecouloir == '1' then fibaro:debug('Porte couloir') fibaro:call(134,"pressbutton","3") end else fibaro:debug('jedors <> 1') end tu devrais ainsi avoir également un meilleur debug
  2. jojo

    Banque Icones Hcl, HC2 et HC3

    "roule français " : en Renault Fuego ? l'équivalent de la porche 924 ?
  3. pour ne plus être dépendant du Wifi pour les Sonos, ils sont connectés àmon router en PCL
  4. @mprinfo, Je n'ai qu'un module FGBS avec 4 sondes (et 2 autres avec seulement 1 sonde de température). Aucun problèmes avec ceux qui n'ont qu'une sonde. Mais celui qui en a 4, ne remonte pas de manière fiable les températures : parfois après 2h, parfois après 48h, je dois arrêter l'alim du module pour qu'il m'envoie les bonnes températures. Le local est certe loin de ma box, mais dans cette pièce (la chaufferie), j'ai 4 FGS-221 et 1 WP qui fonctionnent sans problème. Une idée ?
  5. jojo

    Banque Icones Hcl, HC2 et HC3

    Couillerot, tu reviens en force là!
  6. jojo

    Oui Qui Wow

    peut mieux faire .... lol
  7. @ Lazer, Je ne trouve pas le menu "remote control". Voici ce que j'ai
  8. jojo

    Oui Qui Wow

    Did qui se met à l'anglais. On aura tout vu, il ne manque plus que mprinfo, et on est au complet
  9. bon courage, ça pue quand-m^me le retour SAV Fibaro pour une nouvelle clé, sauf si tu as d'autres idées ...
  10. et avec les valeurs de versions originales ?
  11. jojo

    Petite Question Mod Bloc

    oui, une des limitations de mode bloc, est la multiplication des scènes
  12. PITP2, Toutes les info, et le code, d'un VD sont stockées dans le json du device. <ip box>/api/devices/<id VD> Donc si tu es un pro du json, tu pourrais changer le code d'un VD àl'aide d'une scène ou d'un autre VD ... Ca ouvre des portes ... (en théorie) { "id": 329, "name": "My Batteries", "roomID": 16, "type": "virtual_device", "visible": true, "enabled": true, "properties": { "deviceIcon": 1, "ip": "\"\"", "port": 1, "currentIcon": "1086", "log": "", "logTemp": "", "mainLoop": "---------------------------------------------------------------------------------------------\n-- OBJECTIF\n-- Ce VD vérifie le niveau de charge des piles\n-- les devices sont classés du plus faible au plus chargé\n-- L'icône affichée dédend du niveau de charge de la pile la plus faible\n-- Fréquence de vérification : nbr d'heures rentrées dans le champ TCP Port du VD\n-- un label indique le moment de la dernière vérification\n--\n-- FIRMWARE\n-- v3.x, v4.x\n-- http://www.domotique-fibaro.fr/index.php/topic/3896-my-batteries/\n--\n-- HISTORIQUE\n-- v5.0 (xx/xx/2015 - jojo) : fin compatibilité 4.x\n-- v4.5 (29/04/2015 - Jojo&Steven) : battery level = 255 en v4.x\n-- v4.4 (28/02/2015 - Jojo) : bug v4.x doublons maitre/esclave\n-- v4.3 (27/02/2015 - Jojo) : bug doublons en v4.x\n-- v4.2 (26/02/2015 - Jojo) : correction bug dans code pour v4.x\n-- v4.0 (25/02/2015 - Jojo) : Détection automatique v3.x ou 4.x\n-- v3.2 (24/02/1015 - Jojo) : bug affichage si nbr de device diminue\n-- v3.1 (21/02/2015 - Jojo) : intervalle de vérification àentrer dans le champ TVP Port du VD\n-- ajout champ avec date de la dernière vérification\n-- v3.0 (20/02/2015 - Jojo) : 5 icônes en fonction de 5 niveaux de charge, ne pas tester\n-- les devices morts\n-- v2.0 (16/02/2015 - Jojo) : changement icône si 1 pile sous un certain seuil de charge\n-- v1.0 (12/08/2014 - Steven) : module créé initialement par Steven\n----------------------------------------------------------------------------------------------\n\n----------------------------------\n-- User Settings\n----------------------------------\n\n----------------------------------\n-- DO not change bellow this line\n----------------------------------\n\nlocal nbHeure = fibaro:get(fibaro:getSelfId(),\"TCPPort\")\nnbHeure = tonumber(nbHeure)\nfibaro:debug(\"Start script\")\nlocal i = 0\nwhile true do\n\tif (i >= (nbHeure*2) or i == 0) then\n \ti = 0\n\t\tfibaro:call(fibaro:getSelfId(), \"pressButton\", \"11\")\n\tend\n\tfibaro:sleep(30*60*1000)\n \ti = i + 1\nend\nfibaro:debug(\"End battery check\")", "saveLogs": "1", "ui.Label1.value": "Lux_HallNuit_SdB (332)...33%", "ui.Label10.value": "Tmp_SdBRez (342)...100%", "ui.Label2.value": "Porte_Couliss (643)...44%", "ui.Label3.value": "Vanne_SècheServiette (241)...71%", "ui.Label4.value": "Vanne_Bureau (179)...77%", "ui.Label5.value": "Vanne_SècheServiette (177)...78%", "ui.Label6.value": "Porte_CaveAVin (277)...83%", "ui.Label7.value": "Vanne_Radiateur (367)...86%", "ui.Label8.value": "Porte_Entrée (645)...88%", "ui.Label9.value": "Mvt_TerrPar (353)...100%", "ui.LastCheck.value": "06/09/15 13:37", "rows": [ { "type": "label", "elements": [ { "id": 1, "lua": false, "waitForResponse": false, "caption": "", "name": "Label1", "favourite": false, "main": true } ] }, { "type": "label", "elements": [ { "id": 2, "lua": false, "waitForResponse": false, "caption": "", "name": "Label2", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 3, "lua": false, "waitForResponse": false, "caption": "", "name": "Label3", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 4, "lua": false, "waitForResponse": false, "caption": "", "name": "Label4", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 5, "lua": false, "waitForResponse": false, "caption": "", "name": "Label5", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 6, "lua": false, "waitForResponse": false, "caption": "", "name": "Label6", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 7, "lua": false, "waitForResponse": false, "caption": "", "name": "Label7", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 8, "lua": false, "waitForResponse": false, "caption": "", "name": "Label8", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 9, "lua": false, "waitForResponse": false, "caption": "", "name": "Label9", "favourite": false, "main": false } ] }, { "type": "label", "elements": [ { "id": 10, "lua": false, "waitForResponse": false, "caption": "", "name": "Label10", "favourite": false, "main": false } ] }, { "type": "button", "elements": [ { "id": 11, "lua": true, "waitForResponse": false, "caption": "Batteries", "name": "Button11", "empty": false, "msg": "----------------------------------\n-- User Settings\n----------------------------------\n-- icones pour 0, 25, 50, 75 & 100 %\nlocal iconebatt = {1084,1085,1086,1087,1088}\n\n----------------------------------\n-- DO not change bellow this line\n----------------------------------\nlocal modules = {}\nlocal batt -- charge de la batt\nlocal battmin = 100 -- % charge de la batterie chargée au min\n\nHC2 = Net.FHttp(\"127.0.0.1\",11111)\n\n-- memorise LastCheck time\nlocal LastCheck = os.date(\"%d/%m/%y %H:%M\")\n\n-- clear labels\nfor i = 1, 10 do\n fibaro:call(fibaro:getSelfId(), \"setProperty\", \"ui.Label\" ..i.. \".value\", \"\")\nend\n\n---------------\n--FUNCTIONS\n---------------\nfunction exclude(name)\n return name == \"Main_Zwave_Device\" or name == \"Seismomètre\" or name == \"Luminosité\"\nend\n\n---------------\n--END FUNCTIONS\n---------------\nlocal parentIds = {}\nlocal uniqueParentId = true\nlocal response = HC2:GET(\"/api/devices\")\nlocal json = json.decode(response)\n \nfor k, v in ipairs(json) do\n if (type(v.properties.batteryLevel) == \"number\") then\n if (not exclude(v.name) and v.visible and (not uniqueParentId or not parentIds[v.parentId])) \n then\n\t parentIds[v.parentId] = true\n batt = tonumber(v.properties.batteryLevel)\n if batt == 255 then batt = 0 end\n if (batt < battmin) then battmin = batt end\n \ttable.insert(modules, {batt, v.name .. \" (\" .. v.id .. \")\"})\n end -- if exclude\n end -- if batteryLevel\nend -- for\n\n-- sort table\nfunction comp(w1,w2)\n\treturn tonumber(w1[1]) < tonumber(w2[1])\nend\ntable.sort(modules,comp)\n\n-- display labels\nif string.len(modules[1][2]) >= 29 then\n modules[1][2] = string.sub(modules[1][2], 1, 28)\nend\nfor index, value in ipairs(modules) do\n \tpcall( function() \n\t\tfibaro:call(fibaro:getSelfId(), \"setProperty\", \"ui.Label\"..index..\".value\", value[2].. \"...\" .. value[1] .. \"%\")\n \tend\n \t)\nend\n\n-- display LastCheck\nfibaro:debug(LastCheck)\nfibaro:call(fibaro:getSelfId(), \"setProperty\", \"ui.LastCheck.value\", LastCheck)\n\n-- display Icon\nbattmin = math.floor((battmin - 1)/25) + 2\n\nfibaro:call(fibaro:getSelfId(), \"setProperty\", \"currentIcon\", iconebatt[battmin])\n", "buttonIcon": 0, "favourite": false, "main": true } ] }, { "type": "label", "elements": [ { "id": 12, "lua": false, "waitForResponse": false, "caption": "Last Check :", "name": "LastCheck", "favourite": false, "main": false } ] } ] }, "actions": { "pressButton": 1, "setSlider": 2 }, "created": 1441330575, "modified": 1441330575, "sortOrder": 122 }
  13. merci, mais je ne comprend pas l'utilité de ce paramètre ? Il définirait la marque de la box ?
  14. allé, félicitationss, et comme c'est parti, vous gagnerai peut-être également la 3° mi-temps
  15. s'il y a de la bière, pourquoi pas ?
  16. http://www.domotique-fibaro.fr/index.php/topic/5462-hcl-migrer-vers-hc2/
  17. allé l'Ecosse !! EDIT : heu, on est sur un site français. Allé la FRANCE !
  18. @sakkhho, Je te confirme que le double click fonctionne sans soucis depuis les mobile @pepite, tu teste depuis GEA et tu nous dis quoi ?
  19. keepass pour stocker les identifiants de manière sûre
  20. @flacon030 : tu viens d'éditer ton post, mais que le "display", l'url fonctionne toujours lorsque tu cliques sur le lien => éditer également le lien
  21. C'était ton message de poisson d'avril ?
  22. @sakkhho, Je comprends maintenant pourquoi tu ne voulais pas du double click. Je me demandais justement dans GEA comment il réagirait. Idée, dans GEA on pourrait mettre 2 fois de suite l'appel à ce bouton de la VD dans les options, ce qui correspond à un double click ? @pepite, Oui ça clignote (uniquement si toutes les lumières sont éteintes) car la main loop appelle un bouton. Je devrais regarder pour tout mettre dans la main loop. => à ajouter à la todo
  23. voici le code du bouton "Tout éteindre, sans le double click: ---------------------------------- -- User Settings ---------------------------------- -- Modules àexclure et fonction de traitement (pas raccordés àdes lumières) -- Peut contenir un id ou un mot clés àchercher dans le nom du module toExclude = {} toInclude = {} ---------------------------------- -- DO not change bellow this line ---------------------------------- -- Modules àexclure ou inclure et fonction de traitement (pas raccordés àdes lumières) -- Peut contenir un id ou un mot clés àchercher dans le nom du module -- toExclude = {72, "Dispo", "Volet", "Bubendorff"} function shouldExclude(module) for k, v in pairs(toExclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end function shouldInclude(module) for k, v in pairs(toInclude) do if string.find(module.name, v) ~= nil or module.id == v then return true end end return false end HC2 = Net.FHttp("127.0.0.1",11111) function confirm(msg, labelId, secondes) local current = fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") if (current == msg) then fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", " ") return true else fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value", msg) fibaro:sleep(secondes*1000) fibaro:call(fibaro:getSelfId(), "setProperty", "ui."..labelId..".value","") return fibaro:getValue(fibaro:getSelfId(), "ui."..labelId..".value") == " " end end -- Récupération de la liste des modules response = HC2:GET("/api/devices") json = json.decode(response) -- Boucle sur les modules for k, v in ipairs(json) do if ((type(v.properties.isLight) == "string" and type(v.properties.value) == "string") or shouldInclude(v)) and not shouldExclude(v) then if v.properties.value == "true" then fibaro:call(v.id, "turnOff") elseif v.properties.value ~= nil and v.properties.value ~="false" then if tonumber(v.properties.value) > 0 then fibaro:call(v.id, "turnOff") end end end end -- for
×
×
  • Créer...