Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 358
  • Inscription

  • Dernière visite

  • Jours gagnés

    39

Tout ce qui a été posté par jjacques68

  1. Hello tous ! je viens de créer une toute petite scène qui fonctionne plutôt bien pour connaitre mon IP public depuis la HC2. Ayant une connexion 4G de secours (au cas où plantage de l'ADSL), je souhaite être averti sur mon tél du changement de connexion. --[[ %% autostart %% properties %% events %% globals --]] --demande de l'adresse IP function RequestIP() local IP = net.HTTPClient() IP:request("http://bot.whatismyipaddress.com/", { success = function(response) CheckIp(response.data) end, Error = function(err) print("Err : "..err) setTimeout(RequestIP, 5000) end }) end --analyse l'adresse IP function CheckIp(IP) local i=1 local detail={} --inscrit les 4 parties de l'adresse dans le tableau detail for Num in string.gmatch(IP, "%d+") do detail[i] = Num i=i+1 end --vérifié la 1ère partie : 176 = ADSL et 80 = GSM if tonumber(detail[1]) == 176 then print("ADSL - "..IP) elseif tonumber(detail[1]) == 80 then print("GSM - "..IP) else print("Déconnecté - "..IP) end --bouclage setTimeout(RequestIP, 5000) end RequestIP() là je fais un test toutes les 5 secondes et j'affiche le résultat dans le debug. ça marche bien sauf que : Lorsque je débranche l'ADSL, pendant quelque seconde (< 1 min), la scène semble planter (malgré le traitement "ERROR") . Je dis semble car, son instance est toujours active mais je n'ai pas le message "ERR : ..." dans le debug, ni le "Déconnecté..." !! Plus rien ne s'affiche. Suis obligé de l'arrêté manuellement et de la relancer ! J'ai loupé quelque chose ? merci pour vos avis !! PS : y a t il un moyen plus simple pour récupérer le premier groupe de chiffre avant le "." de l'IP ? je trouve ma méthode un peu compliqué - j'ai essayé avec un string.find(IP, ".") mais sans résultat.
  2. Avez-vous remarqué un bug quand vous ajouter une icône ? Chez moi lors de l'ajout d'une icône, il ajoute systématiquement la même que la dernière ajoutée. il faut alors que j'ajoute l’icône une deuxième fois pour qu'elle soit dans la liste ! Du coup depuis la mise à jour, les dernières icônes apparaissent en doubles !!! et pas moyen de faire le ménage dedans si ?
  3. bon j'ai commandé une semblable, on verra... merci !
  4. ben oui justement, y en a tellement... et les avis sont très divergent... bon je vais essayer celle-là : https://www.amazon.fr/Antenne-externe-Broadband-HUAWEI-routeur/dp/B00UBCCQOA/ref=sr_1_6/254-9450906-0398761?ie=UTF8&qid=1476396911&sr=8-6&keywords=antenne%2B4g%2Bsma&th=1 Vous dirais mon retour !
  5. nan en fait c'est bon ! je viens de comprendre qu'il fallait mettre à jour le site WEB de l'ED ET son firmware... tout est ok du coup ! merci !
  6. hello, je déterre ce post en espérant qu'une âme charitable vuille bien s'y arrêter... Je viens d'installer un ECO-device, et EDF est enfin venu activer le télé-report. Tout semble OK sur l'interface de l'eco-device. Mais j'aimerai relevé dans une scène l'index du compteur (tarif de base. pas de HC/HP) Je procède comme avec l'ipx (et comme tout le monde je pense). Voici le code de la scène (simplifié) : function ReadIndex() local ECO = net.HTTPClient() ECO:request("http://192.168.xx.xx:port/api/xdevices.json?cmd=10", { options = { method = 'GET', headers = {['Authorization'] = "BASIC xxxxxxxxxx="}, }, success = function(response) jsonResponse = (response.data) fibaro:debug(jsonResponse) --affiche la table json --->>>> OK ! fibaro:debug("") --saute une ligne jsonResponse = json.decode(jsonResponse) --decode la table fibaro:debug(jsonResponse.T1_BASE) --affiche l'index T1 ------>>>>> plantage !!! end, error = function(response) OnError() end }) end et voici le résultat : [DEBUG] 19:06:24: {"product":"Eco-devices","T1_PTEC":"TH..","T1_PAPP":1230,"T1_BASE":7050024,"T2_PTEC":"----","T2_PAPP":0,","INDEX_C1":0,"INDEX_C2":0.000} [DEBUG] 19:06:24: [DEBUG] 19:06:24: [1;31m2016-10-13 19:06:24.762670 [ fatal] LUA error: /usr/share/lua/5.2/json/decode/util.lua:35: unexpected character @ character: 108 0:108 [I] line: [DEBUG] 19:06:24: {"product":"Eco-devices","T1_PTEC":"TH..","T1_PAPP":1230,"T1_BASE":7050024,"T2_PTEC":"----","T2_PAPP":0,","I Je ne comprends pas ce qu'il se passe, et je trouve rien d'identique sur le forum. L'eco-device est à jour (10.05.12) quelqu’un à une idée ?? merci d'avance ! PS : J'ai essayer de faire la même chose dans un VD, et ça plante aussi...
  7. d'après la notice, ce sont bien des antennes 4G LTE !! et non wifi.
  8. Bonsoir tout le monde, Dans un autre topic, j'avais parlé d'une connexion 4G de secours au cas où l'adsl tomberait en panne... Bon maintenant, j'ai une autre question auquelle je ne trouve pas de réponses... Je souhaite augmenter le signal de réception 4G du modem. C'est un TP-link TL-MR6400. Celui ci est placé dans une baie info, et j'ai acheté des rallonges pour les antennes rp sma, que j'ai approché le plus d'une fenêtre (de cave). La réception est vraiment pas terrible (25%). Si j'ouvre la fenêtre et que je les places devant je monte à75%. Je souhaiterai donc remplacer les antennes. Mais il y a àboire et àmanger dans les antennes !! Je ne sais pas quoi prendre ! J'ai posé la question au support technique mais aucune réponse depuis plusieurs semaines. Je pense pas que ce forum soit spécialisé dans le domaine, mais vu qu'il y a pas mal de petit géni ici, j'espère que l'un d'entre eux pourra m'aider !!! Merci d'avance !!!
  9. Ok compris. Et bien ça fonctionne bien. Merci !! D'après le debug du watchdog, c'est juste la mainloop d'un vd qui est relancé environ 2 fois par jour. Et ça je pense que ça vient d'une VG qu'il interroge toutes les 3 secondes et celle-ci doit être mise àjour àun même moment. Donc plantage certain car retour nul pour la VG. il faut que je rajoute un "if VG ~= nil then " dans le code du VD...
  10. @Lazer : Je me suis mis à étudier ton watchdog... beau boulo !! Petite question, Dans la fonction restart, visiblement, tu fais un GET vers l'id du VD ou de la scène suivi immédiatement d'un PUT avec exactement le même chemin !!! J'ai essayer de ne faire que la requête GET sans la PUT et vis versa, mais mon VD ne redémarre pas. Il faut qu'il y a ait les 2 !!! J'ai presque tout compris sauf ça !!! tu peux m'expliquer ?
  11. pas de soucis, je n'ai plus de problème avec ma scène unique qui relève mes compteurs toutes les 5 secondes... Donc je touche plus...
  12. ok pour les explications, je vais essayer de comprendre techniquement ton script watchdog... merci !!
  13. ouach, pas évident à comprendre ce script. Pour les scènes j'ai compris, mais pour le VD je pige pas comment il sait qu'il fonctionne ! C'est en analysant le contenu du debug ?
  14. @Lazer : voici la réponse du servie technique de CGE (bon fallait s'y attendre) Ils ont répondu dès ce matin. Merci pour leur professionnalisme !
  15. ok je vais voir ça... déjà entendu parler de ça... sans m'y arrêter... merci !
  16. je réponds moi même, un reboot du téléphone a réglé le problème.
  17. Hello tous, petite question sans encore avoir trouvé de réponses... ou mal cherché Dans un VD, le code saisi dans la MainLoop est exécuté toutes les 3-4 secondes. Mais si celui-ci plante (pour diverse raison, dans mon cas une VG qui n'a pas été mise à jour). Comment se comporte la MainLoop ? Est ce qu'elle se relance toute seule après les 3-4 secondes ? ou comme dans les scènes avec une loop, celle-ci s'arrête ? J'ai du mal à le vérifier car la fenêtre de debug de la MainLoop semble ne pas être en temps réel (vu qu'il faut cliquer sur "démarrer"...) Et peut-on demander de relancer le MainLoop d'un VD ??? en lua dans une scène ? (ça me paraît étrange comme question ...)
  18. @Lazer : C'est fait ! Je mettrais la réponse dans le post. s'ils me répondent...
  19. je rebondis sur ça @BenjyNet : Si pour c'est pour une simpe entrée, oui je comprends que ce soit plus facile de procéder ainsi. Mais pour le relevé des compteurs, ça se complique, vaut mieux une scène qui interroge l'ipx toutes les X minutes ou seconde !! et dans mon cas, cas si les impulsions s'arrêtent (pour l'alarme), il faut que je sache si je suis à l'état 1 ou 0 sur mon entrée. C'est sà»r cette méthode me gène un peu, car ça fait des accès permanent sur le réseau local, donc encombrement... Mais je vois franchement pas comment faire d'autre.
  20. oui oui je suis bien en version 3 et non 4 !! tu arrives à mettre es VG à jour depuis l'ipx en passant par des requêtes push ?
  21. @BenjNet : Je passe par une scène car je stocke les infos dans des VG. Et avec l'ipx on peut pas modifier une VG par le push. A moins de passer par une scène où VD... Mais ça complique drôlement je trouve... Pour l'authentification, si on parle de la même chose, regarde ma scène ci-dessus, je traite l'authentification...
  22. alors pour voir la différence, j'ai fais une scène qui relève mes infos de l'ipx toute les 5s. --[[ %% autostart %% properties %% events %% globals --]] --pour n'avoir qu'une seule instance de cette scène if fibaro:countScenes() > 1 then fibaro:abort() end --permet de relever la table json des compteurs function ReadIndex() local IPX = net.HTTPClient() IPX:request("http://192.168.xx.xx/api/xdevices.json?cmd=40", { options = { method = 'GET', headers = {['Authorization'] = "BASIC xxxx="}, }, success = function(response) jsonResponse = json.decode(response.data) CheckCount() CheckIn() end, error = function(response) OnError() end }) end --permet de relever le compteur 1 et 2 de la table json dans des VG function CheckCount() fibaro:setGlobal("IndexEauTotal", jsonResponse.C1) fibaro:setGlobal("AlarmeCounter", jsonResponse.C2) fibaro:debug("EAU : "..jsonResponse.C1) fibaro:debug("alarme : "..jsonResponse.C2) end --permet de relever la valeur des entrées IN dans une VG function CheckIn() local IPX2 = net.HTTPClient() IPX2:request("http://192.168.xx.xx/api/xdevices.json?cmd=10", { options = { method = 'GET', headers = {['Authorization'] = "BASIC xxxx="}, }, success = function(response) jsonResponse = json.decode(response.data) fibaro:setGlobal("IpxIn2",jsonResponse.IN2) fibaro:debug("IN2 : "..jsonResponse.IN2) setTimeout(ReadIndex, 5*1000) --bouclage toute les 5s end, error = function(response) OnError() end }) end function OnError() fibaro:debug("Error: " ..response) setTimeout(ReadIndex, 5*1000) end ReadIndex() Et je n'ai plus eut ce message d'erreur ... donc.. l'ipx aime pas avoir plusieurs requetes HTTP en même temps. J'aurai bien aimé que quelqu'un passe par là pour donner son avis !
  23. j'ai vu cette histoire de SMS, faut que je me plonge dedans... Et oui je suis de ton avis, tu as complétement raison, le système domotique doit être totalement, indépendant et autonome !! Dans mon cas, je fais en sorte que ça l'est... Mais... c'est rassurant de savoir qu'on garde la main dessus
  24. Je confirme, voici le message d'erreur qui vient d'apparaitre dans une des 2 scènes : [DEBUG] 23:57:43: [1;31m2016-10-03 23:57:43.724136 [ fatal] LUA error: /opt/fibaro/scenes/107.lua:27: attempt to concatenate field 'C1' (a nil value) Et si j'observe le TimeCode de ce debug, il y a eu une requête exactement au même moment (23:57:43) sur l'autre scène. Mais l'autre est passée...
×
×
  • Créer...