Aller au contenu

Plugin Netatmo


PITP2

Messages recommandés

Non pas de pluviomètre et polling à300

J'ai la station complète + 1 capteur indoor en sus.

Ce qui me fâche c'est qu'il suffit juste àFibaro d'implémenter une simple gestion d'erreur

Envoyé de mon smartphone

Lien vers le commentaire
Partager sur d’autres sites

Alors on dirait que cela vient du pluviomètre alors le problème vu les derniers retours ?

 

D'accord avec toi sur la piètre qualité des développeurs de chez Fibaro ... mais il faut que l'on fasse avec, le temps qu'ils re-structurent l'équipe.

Lien vers le commentaire
Partager sur d’autres sites

Bon et bien cela ne pouvais pas durer éternellement. Pourtant un polling sur 300 secondes et un compte dédié au HC2 :rolleyes:

 

post-3-0-98823300-1424132181_thumb.png

 

 

Donc histoire de savoir lorsque le plugin est HS j'ai fait une petite scène. Pas de configuration particulière, juste renseigner smartphoneId avec l' ID du smartphone pour le push et thresholdTimeout pour fixer le délai maximum de rafraichissement des données NetAtmo, logiquement il faut conserver 1200. Le code de la scène va se caler automatiquement sur le polling du plugin pour sa boucle interne. Cela peut-être améliorer en rebootant le plugin voir le HC2 en cas de détection ;)

--[[
%% autostart
%% properties
%% globals
--]]

if (fibaro:countScenes() > 1) then
  fibaro:abort()
end

if (fibaro:getSourceTrigger()["type"] == "autostart") then
  print("<font color=\"green\">Auto Start</font> [ <font color=\"red\">"..os.date('%Y-%m-%d %H:%M:%S', os.time()).."</font> ]");
end

local NWSMonitoring = { 
  smartphoneId = 844,
  thresholdTimeout = 1200
}

function NWSMonitoring.run()
  NWSMonitoring:checkUpdate()
  setTimeout(NWSMonitoring.run, (NWSMonitoring.polling or 300)*1000)
end

function NWSMonitoring:checkUpdate()
  local httpClient = net.HTTPClient()
  httpClient:request('http://127.0.0.1:11111/api/devices?type=com.fibaro.netatmoWeatherStation', {
      success = function(response)
        if tonumber(response.status) == 200 then
          if (response.data ~= nil and type(response.data) == 'string') then
            local data, dt = json.decode(response.data)[1], os.date("*t")
            local diff = os.time(dt) - tonumber(data.properties.lastUpdated)
            self.polling = tonumber(fibaro:getValue(data.parentId, "polling_time"))
            print('Last update since ' .. diff .. ' seconds. Status: ' .. fibaro:getValue(data.parentId, "ui.Connection_Status_Label.caption"))            
			if (diff > self.thresholdTimeout) then              
              print('Oups, weather station seems blocked!')
              print('Last Updated:' .. os.date('%Y-%m-%d %H:%M:%S', self.lastUpdated))
              print('Netatmo ID:' .. data.id)
              if (self.notified == nil or self.notified ~= true) then
                fibaro:call(self.smartphoneId, 'sendPush', 'Oups, weather station seems blocked!');
                self.notified = true;
              end
            end
          end
        else
          print('call::checkUpdate ERROR [HTTPClient:request] status: ' .. response.status)
        end
      end,
      error = function(err)
        print('call::checkUpdate ERROR [HTTPClient] description: ' .. err)
      end,
      options = {
        method = 'GET'
      }
    });
  return true
end

NWSMonitoring.run()


  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Logiquement il n'est pas possible d'atteindre les limites de l' API Netatmo avec un Polling à  300 :rolleyes:.

 

Je vais inclure le reboot du plugin dans mon patch au cas ou :)

Lien vers le commentaire
Partager sur d’autres sites

Depuis la mise en place de ma scène de monitoring je remarque que régulièrement la nuit souvent entre 3h00 et 7h00 le plugin retourne "Status: Not connected" encore cette nuit de 3h26 à7h31 (polling 300s) avant de repasser sur "Status: Your account is connected". Et le problème ne vient pas cette fois de Fibaro, j'observe la même chose dans un dev perso.

Lien vers le commentaire
Partager sur d’autres sites

Bon je ne parviens toujours pas à  me reconnecter avec mon compte...

 

Sur ma VERA je n'ai absolument aucun problème.... La récupération des infos Netatmo tourne comme une horloge.... depuis que j'y ai installé netatmo il y a quelques mois....

 

Comment dire.... Mais franchement Fibaro.... Nan mais alllloooo quoi !!!!!

 

http://bugzilla.fibaro.com/view.php?id=2885

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

En fait d'après ce que je lis àdroite et àgauche ailleurs, ce sont surtout les serveurs Netatmo qui ne sont pas très stables. Mais le souci c'est que Fibaro n'a pas une bonne gestion des erreurs, du coup il plante.

Lien vers le commentaire
Partager sur d’autres sites

En l'occurence, je ne suis pas tout a fait d'accord.

 

Je génère un graph, qui collecte des données directement sur Netatmo, avec un polling à  300.

(un simple crontab avec un script python) et inclue aussi les données issues de la box fibaro polling a 300.

 

On voit clairement que la box Fibaro commence a planter par intermitence, pendant quelques heures, jusqu'a totalement crasher.

Sur mon graph, je ne retrouve jamais ce comportement.

 

c est bien à  fibaro d'améliorer son script, qui semble visiblement oublier de mettre a jour son token quand cela est nécessaire.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...