Aller au contenu

Yorino

Membres confirmés
  • Compteur de contenus

    96
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par Yorino

  1. Yorino

    Support Gea

    Dans le complément de la question au dessus, a quoi correspond les paramètres : -1 , 0, 30 ? J'essaye de faire activer une action des la détection d'une ouverture de porte et avec -1 ou 30 j'ai le même fonctionnement.
  2. Yorino

    Pluviométrie Avec Netatmo

    Je me suis permis de modifier le code de la scène pour l'adapter, je n'interroge donc que le module pluie et uniquement lui. J'ai viré l'info de l'état de batterie. Et tout ceci remonte donc dans le module virtuel pluie. 2 autres modifs pour que la scène fonctionne : - La non vérification du certificat : method = 'POST', checkCertificate = false, - La modif de la requête part : getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&module_id="..rain_id.."&scale=1hour&type=sum_rain&real_time=true&date_begin="..os.date((now - duree)), Je m'attaque à le modif du module désormais pour voir comment intégrer les prévisions autres que WU. A+ local n_client_id = "xxxxxxxxxxxxxxxxxx" local n_client_secret = "xxxxxxxxxxxxxxxxxxxxxxxx" local n_username = "xxxxxx.xxxxx@xxxxx.xx" local n_password = "xxxxxxxxx" local hc2_module_virtuel = xxx -- le module virtuel "Pluie" local debug = true -- affiche ou non les message dans la console local version = 2.1 -- ------------------------------------------------------------------------ -- NE PAS TOUCHER -- ------------------------------------------------------------------------ local token = "" local int_id = "" local rain_id = "" local rain_bat = 0 local rains = {hour = -1000, day = -1000, week = -1000, month = -1000} -- ------------------------------------------------------------------------ -- Exécuté après chaque requète HTTP -- ------------------------------------------------------------------------ function afterHttpRequest() if (rains["hour"] > -1000) then if (rains["hour"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblHeure.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblHeure.value", " "..rains["hour"]) end end if (rains["day"] > -1000) then if (rains["day"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblJour.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblJour.value", " "..rains["day"]) end end if (rains["week"] > -1000) then if (rains["week"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblSemaine.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblSemaine.value", " "..rains["week"]) end end if (rains["month"] > -1000) then if (rains["month"] == -1) then fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblMois.value", "n/a") else fibaro:call(hc2_module_virtuel, "setProperty", "ui.lblMois.value", " "..rains["month"]) end end end -- ------------------------------------------------------------------------ -- Affichage dans la console -- ------------------------------------------------------------------------ function log(message, force) force = force or false if (debug or force) then print(__convertToString(message)) end end -- ------------------------------------------------------------------------ -- Arrondi -- ------------------------------------------------------------------------ local function roundToNthDecimal(num, n) local mult = 10^(n or 0) return math.floor(num * mult + 0.5) / mult end -- ------------------------------------------------------------------------ -- Interrogation de l'API -- ------------------------------------------------------------------------ function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { method = 'POST', checkCertificate = false, headers = { ["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8" }, data = body }, success = function(response) func(json.decode(response.data)) afterHttpRequest() end, error = function(response) log(" ERROR !!! " .. url, true) end, }) end -- ------------------------------------------------------------------------ -- Mesure du détecteur de pluie historique -- ------------------------------------------------------------------------ function getMesuresRain(duree, variable) local now = os.time(); --getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&module_id="..rain_id.."&scale=1hour&type=sum_rain&real_time=true&date_begin="..os.date("!%c", (now - duree)), getResponseData("https://api.netatmo.net/api/getmeasure","access_token="..token.."&device_id="..int_id.."&module_id="..rain_id.."&scale=1hour&type=sum_rain&real_time=true&date_begin="..os.date((now - duree)), function(data) log("----------========== Pluie histo ==========----------") local cumul = 0 for k, v in pairs(data.body) do for l, w in pairs(v.value) do cumul = cumul + w[1] end end cumul = roundToNthDecimal(cumul, 2) rains[variable] = cumul log("rain["..variable.."] = " .. rains[variable]) end ) end -- ------------------------------------------------------------------------ -- Obtention des informations sur les devices -- ------------------------------------------------------------------------ function getDevices() getResponseData("https://api.netatmo.net/api/devicelist","access_token="..token, function(data) log("----------========== D e v i c e s =========----------") for _, v in pairs(data.body.modules) do if (v.data_type[1] == "Rain") then rain_id = v._id end end int_id = data.body.devices[1]._id if (rain_id ~= "") then getMesuresRain(60 * 60, "hour") getMesuresRain(60 * 60 * 24, "day") getMesuresRain(60 * 60 * 24 * 7, "week") getMesuresRain(60 * 60 * 24 * 30, "month") else getRainNear() end end ) end -- ------------------------------------------------------------------------ -- Authentification -- ------------------------------------------------------------------------ function auth(nextFunction) local request_body = "grant_type=password&client_id=" .. n_client_id .. "&client_secret=" .. n_client_secret .. "&username=" .. n_username .. "&password=" .. n_password .. "&scope=read_station" getResponseData("https://api.netatmo.net/oauth2/token", request_body, function(data) token = data.access_token log(token) nextFunction() end ) end auth(getDevices) log("Last request : " .. os.date("%x - %X"), true)
  3. Yorino

    Pluviométrie Avec Netatmo

    Hello, J'ai configuré la scène en modifiant le "checkCertificate = false", cependant j'ai toujours un plantage. Voici le debug : [DEBUG] 17:49:55: Last request : 04/22/20 - 17:49:55 [DEBUG] 17:49:56: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [DEBUG] 17:49:56: ----------========== D e v i c e s =========---------- [DEBUG] 17:49:56: ----------========== Module intérieur ==========---------- [DEBUG] 17:49:56: temperature_interieure = 21.7 [DEBUG] 17:49:56: co2 = 476 [DEBUG] 17:49:56: humidite_interne = 45 [DEBUG] 17:49:56: pression = 1012.5 [DEBUG] 17:49:56: bruit = 52 [DEBUG] 17:49:56: ----------========== Module extérieur ==========---------- [DEBUG] 17:49:56: 2020-04-22 17:49:56.786047 [ fatal] LUA error: /opt/fibaro/scenes/16.lua:162: attempt to index field '?' (a nil value) La ligne 162 contient ceci : temperature_exterieure = data.body[1].value[1][1] Des idées ?
  4. Oui, ça fait une cascade de conso à ajouter pour bien tout dimensionner.On va ressortir les cours d'électronique.. Merci pour tes réponses en tout cas.
  5. Je viens de me palucher la doc, la sortie 150 mA max, donc comme tu disais relais obligatoire... Mais pas de mention de consommation du module.
  6. Hello, Merci pour le retour. Grosse conso le smart implant?
  7. Bonjour à tous, Je cherche mais ne trouve pas grand chose... Alors question : existe t-il un module contact Sec Zwave alimentable en 12vcc, voir avec une pile ? But de la manœuvre ? Alimenter une pompe à eau pour transférer l'eau d'une cuve A à une cuve B. Pas de 220vac a proximité, que du 12v via batterie et panneaux solaire. Merci.
  8. Yorino

    Support Gea

    Oui tout est déclaré. Mais je pense avoir compris ma bêtise avec la réponse de Fredokl.
  9. Yorino

    Support Gea

    Hello, Bon je suis une grosse buse en GEA... Je n'arrive pas à envoyer une notification sur mon smartphone pour m'informer de l'état de la machine à laver. Voilà ma ligne : GEA.add( 183,-1, "", {{"Global", "WP_LaveLinge", "DEMARRAGE"}}, "Le Lave-linge démarre.") J'ai bien déclaré mon ID Smartphone dans la config GEA.portables = {70} Une âme charitable pour m'aider ?
  10. Niveau ouverture, on ne peut pas dire que Fibaro le soit. Uniquement ZWave. Mais ce qui me plaisait à la base sur Fibaro, c'était un écosystème et sur le papier une compatibilité avec des constructeurs externes via les plugins. Dans la réalité des faits, cette compatibilité est plus ou moins vrai... Mais ma HC2 fait bien le job, le Lua est un langage assez facile d'accès pour débuter et surtout un super support avec ce forum et le partage des "Maîtres programmeurs" qui me sont d'une utilité précieuse ! Par contre effectivement, si la HC3 demande une migration en profondeur de tout le boulot fait sur la HC2, franchement c'est pas cool.
  11. Oui, enfin les fabriquants ne nous laissent surtout plus le choix… C'est devenu même un standard de la production, quelque soit l'industrie ! On lance un produit, et on répare les plâtres après... Bref, tout ceci pour dire que pour ma part, ce lancement me refroidi complètement sur FIBARO.
  12. Yorino

    Support Gea

    Ok, merci Steven pour ton aide! Toujours au top.
  13. Yorino

    Support Gea

    Ok, mais quand tu dis 1 et 2.5 on parle de Watts ou de Kilowatts ? Et je viens de piger, donc 3 conditions: - Moins de 2.5 de conso - Plus de 1 de conso - La variable en RUNNNING Tout ceci pendant 10 minutes consécutives. => Tu passes en Waiting
  14. Yorino

    Support Gea

    Steven, Tu peux m'expliquer un peu plus le code pour ton Lave Linge ? Je pige pas cette ligne : GEA.add({{"Sensor+", id["LAVE_LINGE"], 1.0},{"Sensor-", id["LAVE_LINGE"], 2.5}, {"Global", "LaveLinge", "RUNNING"}}, 10*60, "Runng to waiting LL #value#", {{"Global", "LaveLinge", "WAITING"}}, "Lave-linge en attente") De ce que je comprends, si la conso est entre 1 et 2.5kW, du coup tu mets la variable "LaveLinge" à "RUNNING", tu attends 10 minutes.... et après je pige pas. => "Runng to waiting LL #value#", {{"Global", "LaveLinge", "WAITING"}}, "Lave-linge en attente")
  15. Yorino

    Support Gea

    Merci pour l'astuce. On est donc obligé de passer par une variable globale. ( Ce qui est. Logique en même temps). Je vais tester ceci.
  16. Yorino

    Support Gea

    Hello, Question GEA. J'ai mis un wallplug sur la machine à laver. Donc je sais quand elle démarre et quand elle s'arrête. La question est la suivante, comment est-ce je peux dire a GEA de m'envoyer une notification quand il détecte un passage de conso élec a plus de conso élec et surtout, plus de conso élec pendant x minutes... Je sèche... Merci d'avance,
  17. Oui c'est bien cette version...
  18. Hello, retour du SAV et... Produit non concerné ! 1/ Bravo Fibaro pour ne pas avoir identifié le produit malgré le fait que j'ai communiqué le numéro de série avant de faire l'envoi pour savoir si le module était concerné.... Donc des frais de port pour la Pologne pour rien.... 2/ Un point positif, ils m'ont fait remarqué que ce module, (acheté d'occasion sur le net) était en fait une version HomeKit ! Donc un FGBHCD-001 ce qui doit donc expliquer le fait que je n'arrive pas a l'inclure sur ma HC2 vu qu'il est Bluetooth et non ZWave. Pour ce dernier point, est-ce que quelqu'un peut me le confirmer ?
  19. Hello, Petite mise à jour de l'app Android ce soir (Date de sortie de la mise à jour : 20/01/2020) qui bascule donc désormais en version 1.6 Pour les nouveautés : - Home Center 3 support - New Heating Panel - Improved Stability Côté utilisation… Bah vu que je n'utilise ni une HC3, ni le panneau de chauffage, rien ne change…
  20. Yorino

    Support Gea

    C'est ok ça fonctionne. Juste la variable GEA_plugins que j'ai du supprimer car avec une valeur à 0 elle me cause une erreur dans le code. Reste désormais à découvrir comment tout ceci fonctionne. En tout cas super travail! Merci aux auteurs/testeurs !
  21. Yorino

    Support Gea

    Hello, Petit souci avec GEA 6.11, au lancement il indique qu'il réalise la création des variables mais en fait rien n'est créé. Du coup code erreur quelques lignes plus bas Dois je faire la création des variables moi même ? Si oui GEA_Tasks, GEA_History et GEA_plugins ?
  22. Yorino

    Support Gea

    Merci Steven. Ca serait bien de mettre à jour le 1er post du support GEA non ?
  23. Yorino

    Support Gea

    Hello, question vous le trouver où le GEA 6 ? Sur GitHub c'est la version 5.42 qui est dispo. Je viens de me taper une bonne partie des pages de ce post et je ne trouve pas….
  24. Réponse reçue du support, il faut l'envoyer en Pologne pour échange. Donc 12.50 € de frais de port à ma charge en colissimo. Je vais le faire, mais voilà ce qui est chiant avec les marques qui n'ont pas de représentation locale. Suite au retour du produit. ;-)
  25. Pour ma part, smartphone bas de gamme, puce free, JPI et zou ! Ça fonctionne très bien pour le moment avec la HC2.
×
×
  • Créer...