Aller au contenu

Yorino

Membres confirmés
  • Compteur de contenus

    72
  • Inscription

  • Dernière visite

Réputation sur la communauté

8 Neutral

À propos de Yorino

  • Rang
    Membre interessé

Profile Information

  • Sexe :
    Homme
  • Ville :
    France
  • Box
    Autre

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. Yorino

    Fibaro FGBS-321 Module Universel

    Hello, Question sur le Fgbs-001, y'a t-il moyen de changer sa configuration via une commande dans une scène. Je voudrais que la configuration de l'état des relais (NO/NF) puisse ce modifier en fonction de certains paramètres. Merci,
  2. 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.
  3. 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)
  4. 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 ?
  5. 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.
  6. 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.
  7. Hello, Merci pour le retour. Grosse conso le smart implant?
  8. 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.
  9. Yorino

    Support Gea

    Oui tout est déclaré. Mais je pense avoir compris ma bêtise avec la réponse de Fredokl.
  10. 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 ?
  11. Yorino

    Home Center 3 présentée au CES 2020

    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.
  12. Yorino

    Home Center 3 présentée au CES 2020

    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.
  13. Yorino

    Support Gea

    Ok, merci Steven pour ton aide! Toujours au top.
  14. 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
  15. 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")
×