Aller au contenu

HC2 Waze Calculator multi-itinéraires


Messages recommandés

Posté(e)

Ca y est, j'ai enfin réussi à automatiser la relance de ma scène via WatchDog.

 

Je pense que ça venait de la ligne que j'avais ajouter à WatchDog. La ligne ci-dessous arrive bien à relancer la scène.

 

     {type = "Scene", id = 21, match = {text="", interval=0}, no_match = {text=""}, count=1, restart=true, notification = {}} -- Surveillance Station

 

 

Yessss. En attendant la correction du bug par les DEV de Fibaro

 

Posté(e)

oué je suis surpris aussi ?  car mon watchdog ne relançait pas la scene quand ca buggait. Pourquoi avec cette ligne ?

GEA me semble la bonne alternative - j'attends de voir la ligne de @Steven

Posté(e)

bon ca plante et ca repart pas.

 


[ERROR] 21:13:27: LuaEnvironment: /opt/atlassian/bamboo-agent/xml-data/build-dir/HC-LE99-JOB1/LuaEngine/vendor/avhttp/avhttp/impl/http_stream.ipp:2247: void avhttp::http_stream::handle_skip_crlf(const MutableBufferSequence&, Handler, boost::shared_array, const boost::system::error_code&, std::size_t) [with MutableBufferSequence = boost::asio::mutable_buffers_1; Handler = boost::function; std::size_t = unsigned int]: Assertion `crlf[0] == '\r' && crlf[1] == '\n'' failed.

@Steven, ca marche avec GEA ? comment tu relances le tout ?

Posté(e) (modifié)

Je sais que ça plante, mais l'avantage de passer par Watchdog c'est qu'il relance le VD automatiquement. Ce qui n'était pas le cas avant.

 

Au bout de combien de temps est-ce que ça plante chez toi ?

 

Si tu relances la scène via GEA ça ne changera rien, elle plantera toujours ;)

 

Modifié par MAM78
Posté(e) (modifié)

presque 24h. Ca a tenu toute la journée sans brocher et à 21h13 ca plante

le watchdog ne sert pas

[DEBUG] 21:19:00: Scene(320) 0 running instance
[DEBUG] 21:19:00: Restart Scene(320)
[DEBUG] 21:19:00: Scene(320) successfully restarted
[DEBUG] 21:19:00: Notification : Watchdog : Scene "Waze" (320) a été redémarré

malgré

	{type = "Scene", id = 320, match = {text="", interval=0},                          no_match = {text=""}, count=1,      restart=true, notification = {"push", "email"}}, -- Waze

(je n'ai pas modifié mon watchdog)

 

 

mais il me semble que steven passe par GEA pour faire un restart avant que ca plante ;-)

Modifié par Sakkhho
Posté(e) (modifié)

Effectivement il faut modifier le Watchdog pour que ça marche.

 

Je vais compléter le Tuto pour expliquer comment

Modifié par MAM78
Posté(e)

@Sakkhho en attendant d'avoir l'explication de comment ajouter le l'exécution de la scène dans GEA tu peux modifier la scène WatchDog comme je viens de l'expliquer dans le Tuto.

Posté(e) (modifié)

Je sèche sur la transposition de mon VD en Scènes puisque les fonctions Net.FUdpSocket() et Net.FTcpSocket() n'existent pas dans les scènes. Je cherche désespérément une autre façon d'envoyer une trame vers un serveur (adresse ip, port, message). Tu aurais une idée ?

Modifié par MAM78
Posté(e)

Bonjour tout le monde (je rentre de vacances)

 

... Relancer le VD par Watchdog alors que c'est la scène qui plante ??? Moi pas tout comprendre.

 

Perso, je fais juste ainsi :

 

  -- Timer toutes les 10 minutes
  GEA.add( true , 10*60, "", {
      {"Scenario", id["WAZE_SCENE"]},
      {"Repeat"}
    })

Et j'ai désactivé le polling dans la scène :

--  setTimeout(function()
    GetWazeData(idx)
--    end, params[idx].pollingMs)

 

Et voilà.

 

La scène, sera relancée toutes les 10mn, si elle plante, on s'en fiche car elle sera relancée par GEA dans 10mn. 

  • Upvote 2
Posté(e)

salut @Steven

 

le watchdog relance la scene.

ca marche pas trop mal, parfois ca mets du temps à relancer. je vais tester aussi ta méthode

pour être sur de ta modif sur le polling, tu supprimes juste le "--" sur la ligne GetWazeData(idx) ?

Posté(e)

Bonjour, non tu gardes GetWazeData(idx) et tu commentes le setTimeout qui entoure GetWazeData. Exactement comme ce que le master a poste :-)

  • Upvote 1
Posté(e)

Bonjour,

très intéressant, je cherchais à faire la même chose avec l'api de Mapquest pour avoir la distance.

 

En fait je cherche à avoir la distance entre ma current location et la maison pour en informer ma femme si je suis encore trop loin le soir.

 

Je bloque sur l'obtention de ma current location. Je veux avoir un plan B si la géolocalisation de l'HC2 plante..

 

Quelqu'un à la solution?

 

Merci à Vous

 

Sébastien

  • 2 semaines après...
Posté(e)
Le 03/03/2017 à 07:53, pepite a dit :

Bonjour, non tu gardes GetWazeData(idx) et tu commentes le setTimeout qui entoure GetWazeData. Exactement comme ce que le master a poste :-)

 

 

mode boulet ON

 

j'ai à 2 endroits ces lignes la

 

    error = function(err)
        Debug("grey","T7".." - "..params[idx].name)
        Debug("orange","Erreur de reception de données, Erreur = ".. err)
        -- retry after 10 seconds
        --setTimeout(function()
 	    	GetWazeData(idx)
       -- params[idx].pollingMs
        --Debug("grey","T8".." - "..params[idx].name)
    end

  })

  end)
  if not(ok) then
    Debug("red","Erreur dans l'exécution de fhttp:request(query")
  end

  Debug("grey","T9".." - "..params[idx].name)
  -- Polling

  setTimeout(function()
      GetWazeData(idx)
      end, params[idx].pollingMs)

  Debug("grey","T10".." - "..params[idx].name)

end

Start()

 

je crois que les commentaires étaient deja sur le code par défaut  sur la 1ere serie

pas contre si je commente la ligne après le pooling, ca fait tout planter.... reboot manuel de la HC2 obligatoire - pas glop

Posté(e)

Dans l'exemple de @Steven c'est la deuxième partie qu'il faut commenter, par la première.

 

Moi j'utilise le Watchdog. et non GEA pour relancer la scène.

Posté(e)

Pour moi, tu devrais avoir quelque chose comme ça. Mais moi j'utilise pas GEA, j'utilise Watchdog ;) Je n'ai donc pas fait le test.

 

    error = function(err) 
        Debug("grey","T7".." - "..params[idx].name)
        Debug("orange","Erreur de reception de données, Erreur = ".. err)
        -- retry after 10 seconds
        -- setTimeout(function()
        -- GetWazeData(idx)
        -- end, 10000)
        -- Debug("grey","T8".." - "..params[idx].name)
    end
        
  })
  
  end)
  if not(ok) then
    Debug("red","Erreur dans l'exécution de fhttp:request(query")
  end
        
  Debug("grey","T9".." - "..params[idx].name)

  -- Polling
  -- setTimeout(function()
  --   GetWazeData(idx)
  --   end, params[idx].pollingMs)  
  -- Debug("grey","T10".." - "..params[idx].name)
  
end

Start()

 

Posté(e) (modifié)

merci.

ca fonctionne.  et je préfère comme cela; 1 scene qui tourne que sur appel, et pas buggé en fond...

Modifié par Sakkhho
×
×
  • Créer...