Aller au contenu

Plugin Netatmo


PITP2

Messages recommandés

Voila ce que l'on peut lire sur bugzilla

 

 

----------------------------------------------------------------------
 (0006872) a.socha (administrator) - 2015-03-02 15:42
 http://bugzilla.fibaro.com/view.php?id=2134#c6872
----------------------------------------------------------------------
fixed in next version

 

 

 

Bon vous allez me dire que ce n'est pas la première fois mais cette j'y crois  :D

Lien vers le commentaire
Partager sur d’autres sites

Je viens de recevoir la netatmo (la station + un module intérieur supplémentaire).

J'ai installé le plugin et cela fonctionne bien.

J'ai mis les 3 sondes dans ma chambre (comme d'autre pour vérifier la différence).

Avez-vous des différences quand vous les avez installé?

Lien vers le commentaire
Partager sur d’autres sites

Au début, j'avais plus de 1 degré et demie et après les valeurs se sont un peu plus proche.

Et je vais supprimer le plugin car j'ai encore des bugs avec. Plus accès à  la box (erreur 503 et Zwave toujours allumé de temps en temps).

J'ai mis comme les autres un polling de 600 et pas de pluviomètre.

 

Même sans le plugin, cela plante.

Modifié par cocolabombe0
Lien vers le commentaire
Partager sur d’autres sites

Plantage du plugin il y a exactement 3 minutes :huh:  ... Soit 5 jours 21 heures et 48 minutes après la mise à  jour ! C'est mieux mais toujours pas utilisable.

Lien vers le commentaire
Partager sur d’autres sites

Bon visiblement le blocage était temporaire :

...
[DEBUG] 12:00:36: Last update since 615 seconds. Status: Your account is connected.
[DEBUG] 12:10:36: Last update since 611 seconds. Status: Your account is connected.
[DEBUG] 12:20:36: Last update since 1211 seconds. Status: Your account is connected.
[DEBUG] 12:20:36: Oups, weather station seems blocked!
[DEBUG] 12:20:36: Last Updated:2015-03-10 12:20:36
[DEBUG] 12:20:36: Netatmo ID:854
[DEBUG] 12:30:36: Last update since 1206 seconds. Status: Your account is connected.
[DEBUG] 12:30:36: Oups, weather station seems blocked!
[DEBUG] 12:30:36: Last Updated:2015-03-10 12:30:36
[DEBUG] 12:30:36: Netatmo ID:854
[DEBUG] 12:40:36: Last update since 1203 seconds. Status: Your account is connected.
[DEBUG] 12:40:36: Oups, weather station seems blocked!
[DEBUG] 12:40:36: Last Updated:2015-03-10 12:40:36
[DEBUG] 12:40:36: Netatmo ID:854
[DEBUG] 12:50:36: Last update since 1197 seconds. Status: Your account is connected.
[DEBUG] 13:00:36: Last update since 1198 seconds. Status: Your account is connected.
...

C'est donc bien mieux :)

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:

 

attachicon.gifNetAtmo.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

×
×
  • Créer...