Aller au contenu

flacon030

Membres confirmés
  • Compteur de contenus

    544
  • Inscription

  • Dernière visite

Réputation sur la communauté

33 Excellent

À propos de flacon030

  • Rang
    Membre accro
  • Date de naissance 18/02/1972

Profile Information

  • Sexe :
    Homme
  • Ville :
    Le tignet
  • Intéret :
    domotique, cinéma, technologie
  • Box
    Home Center 2
  • Version
    4.600

Visiteurs récents du profil

1 410 visualisations du profil
  1. flacon030

    Netatmo Anemometre

    J'avance doucement Je viens de trouver une dernier version ci dessous qui fonctionne presque après quelques modifications pour la connexion (ajouter "checkCertificate = false") function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { checkCertificate = false, method = 'POST', headers = { ['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' }, data = body }, success = function(response) func(json.decode(response.data)) end }) end Je me connecte a netatmo La relève des capteur se fait Je peut les lire dans le VD les valeurs relevés Mais les valeurs pour la pluie sont toutes les même que se soit pour: l'heure, le jour, la semaine, le mois Tous est a 51,106 C'est un bug de netatmo oui bien de la scène? --[[ %% properties %% autostart %% globals --]] -- ------------------------------------------------------------------------ --ADAPTER CES DONNÉES -- ------------------------------------------------------------------------ local client_id = '' local client_secret = '' local username = '' local password= '' local vd_ID = 776 --ID de la scéne virtuel local max_counter = 4 local refresh = 300 local debug = 1 ------------------------------------------------------ -- AB HIER NICHTS MEHR ANPASSEN local token = '' local request_body = '' local rains = {hour = -1000, day = -1000, week = -1000, month = -1000} local sourceTrigger = fibaro:getSourceTrigger() Debug = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end DebugError = function ( color, message ) fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span")) end Debug( 'orange', 'netatmo v.2.0 (NEW API) - Autostart' ) Debug( 'white', 'Refresh-Time: ' ..(refresh/60) ) function globalVar(var,val) local http = net.HTTPClient() http:request("http://127.0.0.1:11111/api/globalVariables", { options = { method = 'POST', headers = {}, data = '{"name":"'..var..'","value":"'..val..'"}', timeout = 10000 }, success = function(response) local result = response.data; if response.status == 200 or response.status == 201 then fibaro:debug('Status: ' ..response.status.. ' - Variable ' ..var.. ' wurde angelegt') else fibaro:debug('Error: ' ..response.status.. ' - Zugriff verweigert') end end, error = function(err) fibaro:debug('[ERROR] ' .. err) end }) end function oAuth(nextFunction) local request_body = 'grant_type=password&client_id=' .. client_id .. '&client_secret=' .. client_secret .. '&username=' .. username .. '&password=' .. password .. '&scope=read_station' getResponseData('https://api.netatmo.net/oauth2/token', request_body, function(data) if (data.access_token ~= nil) then token = data.access_token --fibaro:debug(token) if (debug == 1) then Debug( 'green', 'oAuth 2.0 durchgeführt.' ) end getDevices() else DebugError( 'red', 'oAuth 2.0 konnte nicht durchgeführt werden! Bitte die Anmeldedaten überprüfen') end end ) setTimeout(oAuth, refresh*1000); end function getResponseData(url, body, func) local http = net.HTTPClient() http:request(url, { options = { checkCertificate = false, method = 'POST', headers = { ['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' }, data = body }, success = function(response) func(json.decode(response.data)) end }) end function getDevices() getResponseData('https://api.netatmo.net/api/getstationsdata','access_token='..token, function(data) if (data.body ~= nil) then if (debug == 1) then Debug( 'green', 'netatmo Sensoren werden gesucht...' ); end --fibaro:debug(data.body.modules.data_type[1]) for _, v in pairs(data.body.devices) do int_id = v._id Debug( 'green', 'Mainstation: ' ..int_id.. ' erkannt.' ) local counter = 1 while (counter < max_counter) do if (v.modules[counter].data_type[1] == 'Rain') then rain_id = v.modules[counter]._id if (debug == 1) then Debug( 'green', 'Regensensor ' ..rain_id.. ' erkannt.' ) end if rain_id ~= nil then getSumRain(60 * 60, 'hour') getSumRain(60 * 60 * 24, 'day') getSumRain(60 * 60 * 24 * 7, 'week') getSumRain(60 * 60 * 24 * 30, 'month') end elseif (v.modules[counter].data_type[1] == 'Wind') then wind_id = v.modules[counter]._id if (debug == 1) then Debug( 'green', 'Windmesser ' ..wind_id.. ' erkannt.' ); end if wind_id ~= nil then getmeasureWind() end end counter = counter + 1 fibaro:sleep(3*1000) end end else DebugError( 'red', 'device-list konnte nicht abgefragt werden! Bitte nächsten Durchlauf abwarten') end end ) end function getmeasureWind() request_body_wind = 'access_token='..token..'&device_id='..int_id..'&module_id='..wind_id..'&scale=max&type=WindStrength,WindAngle,GustStrength,GustAngle&date_end=last' getResponseData('https://api.netatmo.net/api/getmeasure', request_body_wind, function(getData) if (getData.body ~= nil) then WindStrength = getData.body[1].value[1][1] WindAngle = getData.body[1].value[1][2] GustStrength = getData.body[1].value[1][3] GustAngle= getData.body[1].value[1][4] if (debug == 1) then Debug( 'green', 'Windgeschwindigkeit: ' .. WindStrength .. ' km/h' ); end if fibaro:getGlobalValue('windstaerke') ~= nil then fibaro:setGlobal('windstaerke', WindStrength) else DebugError( 'red', 'Varible windstaerke nicht gefunden. Wird erstellt.') globalVar('windstaerke', WindStrength) end if fibaro:getGlobalValue('windrichtung') ~= nil then fibaro:setGlobal('windrichtung', WindAngle) else DebugError( 'red', 'Varible windrichtung nicht gefunden. Wird erstellt.') globalVar('windrichtung', WindAngle) end if fibaro:getGlobalValue('boenstaerke') ~= nil then fibaro:setGlobal('boenstaerke', GustStrength) else DebugError( 'red', 'Varible boenstaerke nicht gefunden. Wird erstellt.') globalVar('boenstaerke', GustStrength) end if fibaro:getGlobalValue('boenrichtung') ~= nil then fibaro:setGlobal('boenrichtung', GustAngle) else DebugError( 'red', 'Varible boenrichtung nicht gefunden. Wird erstellt.') globalVar('boenrichtung', GustAngle) end else DebugError( 'red', 'API-Call konnte nicht durchgeführt werden! API nicht erreichbar! Bitte nächsten Durchlauf abwarten.') end end ) end function getSumRain(dauer, 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 - dauer)), function(data) local sum_rain = 0 for k, v in pairs(data.body) do for l, w in pairs(v.value) do sum_rain = sum_rain + w[1] end end if fibaro:getGlobalValue('rain_' ..variable) ~= nil then fibaro:setGlobal('rain_' ..variable, sum_rain) else DebugError( 'red', 'Varible rain_' ..variable.. ' nicht gefunden. Wird erstellt.') globalVar('rain_' ..variable, sum_rain) end if (debug == 1) then fibaro:debug('Regenmenge: ' ..sum_rain.. ' mm2 (' .. variable .. ')') end end ) end if (sourceTrigger['type'] == 'autostart') then oAuth(); end
  2. flacon030

    Netatmo Anemometre

    Pas faux merci, c'est fait
  3. flacon030

    Plugin Netatmo

    Merci pour l'info Effectivement j'ai vu que cela fonctionnait sur mon HC3 mais pour le moment je tourne toujours sur HC2 et pour un moment encore temps que domocharts ne sera pas fonctionnel sur HC3 et et éventuellement GEA
  4. flacon030

    Netatmo Weather Station VD-scene standalone

    Personne n'a une petite idée pour la récupération des variable prédéfinie dans une scène? Merci
  5. flacon030

    Netatmo Anemometre

    Bonjour a tous Je tente de faire fonctionner le pluviomètre dans une VD a partir d"une scène qui collecte les information depuis cela https://www.siio.de/netatmo-regen-windmesser-im-fibaro-homecenter-2/ La partie anémomètre fonctionne comme il faut La partie pluviomètre ne fonctionne pas J'ai cette erreur [DEBUG] 11:06:12: 2020-10-17 11:06:12.618045 [ fatal] LUA error: /opt/fibaro/scenes/208.lua:178: attempt to concatenate global 'int_id' (a nil value) La ligne 170 est la suivante 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 - dauer)), La question est quel sont les variables a créer pour la pluie? j'ai créer cela mais je ne suis pas sur que cela soit les bonnes rain_day rain_hour rain_month rain_week voici mon code que j'ai en partie traduit et modifier
  6. flacon030

    Netatmo Anemometre

    Bon je pense avoir trouvé la solution https://www.siio.de/netatmo-regen-windmesser-im-fibaro-homecenter-2/ Il y a une amélioration de la connexion a netatmo sur le liens ci dessus J'ai a la base la version du VD qui ne gère que le module vent Depuis il y a eu une autre version qui gère en plus le module pluie (que je n'arrive pas a faire fonctionner), mais dont la connexion a netatmo a été amélioré
  7. flacon030

    Netatmo Welcome

    oui c'est ici fonctionne bien chez moi https://www.siio.de/netatmo-welcome-kamerabild-im-fibaro-hc-anzeigen/
  8. flacon030

    Support Gea

    bonjour a tous Je viens d'installer une vmc double flux Je voudrais qu'elle fonctionne selon les conditions suivantes: --ID 26 marche VMC vitesse 1 entre 16h30 et 7H00 en semaine si humidité salle de bain ou chambre sont supérieur a 60% ou Co2 chambre ou salle de bain supérieur a 1000 ppm --ID 27 marche VMC vitesse 2 entre 16h30 et 7H00 en semaine si humidité salle de bain ou chambre sont supérieur a 70% ou Co2 chambre ou salle de bain supérieur a 1200 ppm durant 1 heure --ID 28 marche VMC vitesse 1 week-end si humidité salle de bain ou chambre sont supérieur a 60% ou Co2 chambre ou salle de bain supérieur a 1000 ppm --ID 29 marche VMC vitesse 2 week-end si humidité salle de bain ou chambre supérieur a 70% ou Co2 chambre ou salle de bain supérieur a 1200 ppm durant 1 heure --ID 30 stop VMC vitesse 1 et 2 a 7h30 en semaine NAT_HYDRO_CH2 = 255, (hydrométrie chambre 2) NAT_CO2_CH2 = 254, (Co2 chambre 2) NAT_HYDRO_SB = 774, (hydrométrie salle de bain) NAT_CO2_SB = 775, (Co2 salle de bain) SWITCH_VMC_1 = 800, (vitesse 1 VMC) SWITCH_VMC_2 = 801, (vitesse 2 VMC) Merci pour votre aide
  9. flacon030

    Plugin Netatmo

    question Les modules additionnel sont pris en compte par le plugin?
  10. Je viens de voir ce sujet sur les variable prédéfinie Je ne connais rien en lua Mais j'ai un VD netatmo qui utilise les variable prédéfini en table Je voudrais récupérer une variable vent max Voir le sujet ci dessous que j'ai ouvert ici Si l'un d'entre vous pouvait m'aider Merci par avance
  11. flacon030

    Netatmo Weather Station VD-scene standalone

    bonjour a tous Je ne maitrise pas le LUA Qui pourrait me dire comment faire une scène en LUA pour que mon store remonte quant le vent est supérieur a 16Km/h L'ID de mon store est :744 L'ID de VD wind est: 771 et je voudrait récupérer l'info du vent de mon netatmo wind par l’intermédiaire du VD ci dessus quelques infos supplémentaires 5.1 –NETATMOWEATHERSTATIONVD-SCENEGLOBALVARIABLES All global variables are automatically added when first Indoor Base module VD is imported to HC2. Here is short description: ◼ NetatmoMain - added automatically to the system by imported VD. All main settings of all Netatmo VD’s are stored in this global variable. ◼ NetatmoWeather – Keeps information collected from all Netatmo Weather stations. ◼ NetatmoLang – Keeps VD translations to 27 different languages NOTE Global variables added by Indoor Base module VD contain data structured in tables. If Save button is used in Home Center 2 global variable panel all data in this variables will be destroyed. Indoor Base module VD checks integrity of global variables and can rebuild them automatically without user intervention and will continue to work properly. Still, it is recommended not to use Save button in HC2 global variable panel. Properly programmed HA system on HC2 does not require user to manually change global variables values in panel using Save button. Such system is UHASTM (Universal Home Automation System). More information about UHASTM you can find on Fibaro International forum: https://forum.fibaro.com/topic/25468-sankotronic-lab-universal-home-automation-system- uhas%E2%84%A2/ and soon also on this link: http://www.uhas.eu Also if global variables content is destroyed then after rebuilding Netatmo Weather station scene must be manually run or HC2 rebooted. 5.2 –NETATMOWEATHERSTATIONVD-SCENEUSAGEANDCONTROL NetatmoMain global variable contains main settings of all Netatmo VD’s that are imported to HC2. To control them from user code first user need to read that global variable with this command: local nM = json.decode(fibaro:getGlobalValue("NetatmoMain") local moduleID = "XX" local stationNo = 1 lIn above code user also need to set module VD ID number in string format so must be with quotation marks. Just replace XX with VD ID number. In case that the HomeTable is used, then conversion of ID numbers to string is needed with this code: ocal jT = json.decode(fibaro:getGlobalValue("HomeTable") local nM = json.decode(fibaro:getGlobalValue("NetatmoMain") local moduleID = tostring(jT.home.netatmo_base_1) local stationNo = 1 With following command user can then press Update button on Netatmo VD’s within his code: --- press update button fibaro:call(wsID, “pressButton”, nM[moduleID].updButton) -- Update Netatmo module VD 5.3 –NETATMOGLOBALVARIABLEANDHOWTOREADIT To read Netatmo data user can use following code: -- Reading data from WeatherState global variable local wT = json.decode(fibaro:getGlobalValue("NetatmoWeather")) -- read global variable local stationNo = 1 -- set station nuber -- data from indoor base module wT.netatmo[stationNo].name wT.netatmo[stationNo]._id wT.netatmo[stationNo].wifi wT.netatmo[stationNo].fail wT.netatmo[stationNo].unit wT.netatmo[stationNo].temp_unit wT.netatmo[stationNo].wind_unit wT.netatmo[stationNo].press_unit wT.netatmo[stationNo].rain_unit wT.netatmo[stationNo].feels_like wT.netatmo[stationNo].country wT.netatmo[stationNo].reg_locale wT.netatmo[stationNo].lang wT.netatmo[stationNo].temp wT.netatmo[stationNo].temp_min wT.netatmo[stationNo].temp_max wT.netatmo[stationNo].temp_trend wT.netatmo[stationNo].humid wT.netatmo[stationNo].humid_min wT.netatmo[stationNo].humid_max wT.netatmo[stationNo].abs_press wT.netatmo[stationNo].press wT.netatmo[stationNo].press_min wT.netatmo[stationNo].press_max wT.netatmo[stationNo].press_trend wT.netatmo[stationNo].noise wT.netatmo[stationNo].co2 wT.netatmo[stationNo].place.altitude wT.netatmo[stationNo].place.city wT.netatmo[stationNo].place.country wT.netatmo[stationNo].place.time_zone wT.netatmo[stationNo].place.lon wT.netatmo[stationNo].place.lat -- data from outdoor module wT.netatmo[stationNo].outm.name wT.netatmo[stationNo].outm._id wT.netatmo[stationNo].outm.batt wT.netatmo[stationNo].outm._rf wT.netatmo[stationNo].outm.fail wT.netatmo[stationNo].outm.temp wT.netatmo[stationNo].outm.temp_min wT.netatmo[stationNo].outm.temp_max wT.netatmo[stationNo].outm.temp_trend wT.netatmo[stationNo].outm.humid wT.netatmo[stationNo].outm.humid_min wT.netatmo[stationNo].outm.humid_max -- data from wind sensor wT.netatmo[stationNo].wind.name wT.netatmo[stationNo].wind._id wT.netatmo[stationNo].wind.batt wT.netatmo[stationNo].wind._rf wT.netatmo[stationNo].wind.fail wT.netatmo[stationNo].wind.speed wT.netatmo[stationNo].wind.speed_max wT.netatmo[stationNo].wind.deg wT.netatmo[stationNo].wind.dir wT.netatmo[stationNo].wind.gust wT.netatmo[stationNo].wind.gust_max wT.netatmo[stationNo].wind.gust_deg wT.netatmo[stationNo].wind.gust_dir -- data from rain sensor wT.netatmo[stationNo].rain.name wT.netatmo[stationNo].rain._id wT.netatmo[stationNo].rain.batt wT.netatmo[stationNo].rain._rf wT.netatmo[stationNo].rain.fail wT.netatmo[stationNo].rain.hour wT.netatmo[stationNo].rain.day wT.netatmo[stationNo].rain.week wT.netatmo[stationNo].rain.month -- data from additional indoor modules -- need to define moduleNo= 1 to 3 wT.netatmo[stationNo].intm[moduleNo].name wT.netatmo[stationNo].intm[moduleNo]._id wT.netatmo[stationNo].intm[moduleNo].batt wT.netatmo[stationNo].intm[moduleNo]._rf wT.netatmo[stationNo].intm[moduleNo].fail wT.netatmo[stationNo].intm[moduleNo].temp wT.netatmo[stationNo].intm[moduleNo].temp_min wT.netatmo[stationNo].intm[moduleNo].temp_max wT.netatmo[stationNo].intm[moduleNo].temp_trend wT.netatmo[stationNo].intm[moduleNo].humid wT.netatmo[stationNo].intm[moduleNo].humid_min wT.netatmo[stationNo].intm[moduleNo].humid_max
  12. flacon030

    Netatmo Weather Station VD-scene standalone

    j'avance un peut Je viens de changer mon module wind netatmo pour un neuf Le niveau de pile est a présent OK Le module virtuel et sa scène ci dessous fonctionne a présent https://forum.fibaro.com/files/file/93-netatmo-weather-station-vd-scene-standalone/ Mais je voudrais savoir comment récupérer les valeur des VD (wind, pluviomètre, station météo) dans une scène sachant que les valeurs semble être mis dans des variable prédéfinie du panneaux de contrôle Comment on récupère les valeurs d'une variable prédéfinie? Je pense que c'est comme ci dessous Je voudrais faire une scène en LUA pour que quant le vent en pic est supérieur a 16Km/h mon store remonte J'ai vu cela mais je ne sais pas comment faire pour faire ma scene en LUA -- Reading data from WeatherState global variable local wT = json.decode(fibaro:getGlobalValue("NetatmoWeather")) -- read global variable local stationNo = 1 -- set station nuber -- data from wind sensor wT.netatmo[stationNo].wind.speed_max Merci pour votre aide
  13. flacon030

    Netatmo Weather Station VD-scene standalone

    Bonjour a tous Je viens de mettre en place ce VD et cette scène pour les modules netatmo https://forum.fibaro.com/files/file/93-netatmo-weather-station-vd-scene-standalone/ Tous fonctionne a un détail prés j'ai ce code défaut et cela semble bloquer la boucle [DEBUG] 08:28:13: Standalone Netatmo weather scene version 3.2 - (c) 2018-19 Sankotronic [DEBUG] 08:28:14: netatmo-oAuth connected... [DEBUG] 08:28:15: Found Netatmo weather base station No. 1 Name 'Maison Le Tignet' [DEBUG] 08:28:15: Pluie Jardin Le Tignet module found. Battery level: 89 [DEBUG] 08:28:16: jardin Le Tignet module found. Battery level: 84 [DEBUG] 08:28:16: jardin vent Le Tignet module found. Battery level: 30 [DEBUG] 08:28:18: Standalone Netatmo weather scene version 3.2 - (c) 2018-19 Sankotronic [DEBUG] 08:28:18: 2020-10-06 08:28:18.222650 [ fatal] Unknown exception: /opt/fibaro/scenes/282.lua:101: attempt to concatenate local 'room' (a nil value) et j'ai ce même probleme avec ce VD et module virtuel En plus j'ai remplacer les piles de l’anémomètre mais ce dernier reste a 30% Cela peut venir du fait que les piles soient faible?
  14. flacon030

    Netatmo Anemometre

    personne pour un petit coup de main? oui bien y a t'il une autre solution pour utiliser ce module netatmo? car franchement il n'a jamais fonctionner comme il faut dans mon HC2
  15. flacon030

    Netatmo Anemometre

    Bonjour J'ai a nouveau un probleme récurant avec la scène qui interroge le module vent [DEBUG] 23:25:50: 2020-10-01 23:25:50.885448 [ fatal] LUA error: /opt/fibaro/scenes/208.lua:80: attempt to index field 'body' (a nil value) ou encore [DEBUG] 00:16:55: 2020-10-04 00:16:55.734663 [ fatal] LUA error: /opt/fibaro/scenes/208.lua:56: attempt to index field 'body' (a nil value) d’où peut venir l'erreur Le module scène fonctionne quelques heures, voir quelques jours puis j'ai cette erreur Je suis obliger de stopper puis de la relancer pour que cela puisse fonctionner
×