Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    14 638
  • Inscription

  • Dernière visite

  • Jours gagnés

    190

Tout ce qui a été posté par jojo

  1. là tu as fais un véritable travail de patron. Merci pour l'analyse, je me dois de l'implémenter maintenant. Si on veut garder un aspect esthétique au VD, il ne faudrait pas mettre le SID dans un label, mais dans une variable globale, mais là aussi j'hésite car alors le VD n'est plus autonome, il faut penser à la créer, et j'aime autant éviter si possible.
  2. Oui, d'accord avec toi our l'aspect autonome. Dans les boutons ce sera la même chose que dans le mainloop, sauf qu'il n'y a pas cette problématique d'encapsulation. Et j'aurais bien utilisé des fonctions pour générer un SID, et je ne vois pas comment avec cette encapsulation => si on règle le problème des boutons, ok
  3. jojo

    Support Gea

    GEA.add(true, 30,"", {{"Open",id["VL_RUE"],100},{"Open",id["VL_JARDIN"],100},{"Time","Sunrize","Sunrize+5"}})
  4. Eh Jojo, réfléchit un peu, tu es vraiment stupide quand tu veux ! Pourquoi se casse-t-on la tête pour le mainloop ? Il n'a pas de problème. Car en fait que voudrait-on faire pour le MAINLOOP ? Si erreur de SID, on recommence, étant donné qu'on est incapable de prédire quand arrivera l'erreur. Mais c'est ce qu'il fait déjà ! Donc on fait un refresh toutes les 15s, et le tour est joué, d'autant plus qu'il ne fait "que" un refresh de l'icone. Par contre là où est le problème, c'est dans les boutons. Si on automatise l'appuis sur le bouton et qu'il y a une erreur, il faut réappuyer dessus. Il y a 2 solutions pour cela : réécrire le code des boutons stocker dans une variable le status d'erreur et le traiter par GEA, si l'erreur est problématique. Pourquoi se casser la tête ?
  5. Non non, surtout pas de nouveau tuto. effectivement ta solution à beaucoup d'avantages : c'est plus élégant, pas de bouton inutile si on appuye sur le debug de la mainloop, puis start, on voit tout le debug depuis la dernière sauvegarde du VD, ce qui n'est pas le cas avec un bouton. Donc je vais essayer de le faire fonctionner sans erreur avec un bouton (=développement classique) et ensuite on le traduirait vers ta solution. Mais je ne garanti rien, je ne suis pas un développeur
  6. ok, merci. En effet je n'ai pas pu m'empêcher de déjà commencer, en le réécrivant de manière classique. Et le 1° 1/4 d'heure, pas d'erreur malgré un refresh toutes les 60s Mais maintenant il est planté. J'ai une autre idée : écrire le main loop dans un bouton, et dans le main loop faire appel au bouton ?
  7. voici donc le code du bouton "HP Update" ---------------------------------- -- User Settings ---------------------------------- -- nom de la variable qui définit le niveau de chauffage local varChauffage = "Chauffage" local varVacances = "Vacances" -- ID des HeatingPanels local hpID = { "Rez_SdB", 9, "Etage_Circul", 7, "Etage_SdB", 6, "Etage_Bureau", 4, } -- HeatingPanels actifs pour variable Chauffage = 0 (ECS) local hp0 = { } fibaro:debug ("#hp0 = " ..#hp0) -- HeatingPanels actifs pour variable Chauffage = 1 (SdB) local hp1 = { "Rez_SdB", "Etage_SdB", "Etage_Circul", } fibaro:debug ("#hp1 = " ..#hp1) -- HeatingPanels actifs pour variable Chauffage = 2 (Oui) local hp2 = { "Rez_SdB", "Etage_SdB", "Etage_Bureau", "Etage_Circul", } fibaro:debug ("#hp2 = " ..#hp2) local tmpOff = 14 -- température pour HP Off ---------------------------------- -- DO not change bellow this line --------------------------------- local HC2 = Net.FHttp("127.0.0.1",11111) -- détermination de la version du firmware local GETheating = "" payload = "/api/settings/info" response, status, errorCode = HC2:GET(payload) if tonumber(status) == 200 then jsonTable = json.decode(response) if tonumber(jsonTable.softVersion) >= 4 then -- version = "4.x" GETheating = "/api/panels/heating/" else -- version = "3.x" GETheating = "/api/panels/heating?id=" end else fibaro:debug('<span style="color:red;">status='..status..', errorCode='..errorCode..', payload='..payload..', response='..response..'</span>') end -- fonction de mise à jour du heating panel -- si handTemperature == 0, c'est en auto function HeatPanel(id,HandTmp) jsonpanel = HC2:GET(GETheating ..id) jsontable = json.decode(jsonpanel) handTimestamp = jsontable.properties.handTimestamp handTemperature = jsontable.properties.handTemperature name = jsontable.name NouveauPanel = ('{"id":' ..id.. ',"name":"'..name.. '","properties":{"handTemperature":' ..handTemperature.. ',"handTimestamp": ' ..handTimestamp.. ',"vacationTemperature":' ..HandTmp.. '}}') HC2:PUT(GETheating ..id, NouveauPanel) end -- fonction pour trouver l'ID du heating panel function HeatPanelID() fibaro:debug("hpName = " ..hpName) for j = 1, #hpID, 2 do fibaro:debug(hpID[j]) if hpName == hpID[j] then hpId = hpID[j+1] end end end hpName = "" -- nom du HP en cours de traiemeent hpId = 0 -- ID du HP en cours de traitement -- lecture de la valeur du chauffage local Chauffage = fibaro:getGlobal(varChauffage) Chauffage = tonumber(Chauffage) fibaro:debug("Chauffage = " ..Chauffage) -- lecture de Vacances = Oui/Non local Vacances = fibaro:getGlobal(varVacances) fibaro:debug("Vacances = " ..Vacances) -- mettre tous les manneaux en manuel -- Vacances = Oui, alors tout les HP sont en manuel fibaro:debug("Mettre tous les HP en mode manuel") fibaro:debug("#hpID = " ..#hpID) for i = 1, #hpID, 2 do fibaro:debug("hpID[" ..i.. "] = " ..hpID[i].. " = " ..hpID[i+1]) HeatPanel(hpID[i+1], tmpOff) end -- remettre les panneaux qu'il faut en auto -- seuleement si Vacances = Non if Vacances == "Non" then fibaro:debug("VACANCES = NON") if Chauffage == 0 then -- ECS hpId = 0 for i = 1, #hp0 do hpName = hp0[i] HeatPanelID() fibaro:debug("hpId = " ..hpId) HeatPanel(hpId, 0) end elseif Chauffage == 1 then -- SdB hpId = 0 for i = 1, #hp1 do hpName = hp1[i] HeatPanelID() fibaro:debug("hpId = " ..hpId) HeatPanel(hpId, 0) end elseif Chauffage == 2 then -- Oui hpId = 0 for i = 1, #hp2 do hpName = hp2[i] HeatPanelID() fibaro:debug("hpId = " ..hpId) HeatPanel(hpId, 0) end end else fibaro:debug("VACANCES = OUI") end bonne révision. Examen demain 10h00
  8. je veux bien regarder à cela, mais j'ai observé que tu as programmé cela d'une manière que je ne maîtrise pas (encore) : une partie du code serait dans une table ? Je reverrais la partie authentification du main loop (dans un premier temps), mais alors en la réécrivant d'une façon que je maîtrise. ok ?
  9. C'est évident pourtant : cela dépend de l'âge du capitaine Plus sérieusement, on aura toujours l'erreur, et on ne pourra pas l'éviter. Je proposerais de si erreur de réessayer une deuxième fois dans la foulée, sans tout changer
  10. bon, même avec 3000s d'intervalle ça plante. Donc la cause n'est pas la fréquence des requêtes. En analysant de plus prêt le fichier log (voir attachement), il me semble avoir trouvé la vrai cause Ton avis m'intéresserait Lazer.
  11. MERCI, je mets cela en place dès ce soir !
  12. je ne suis pas encore un expert en sonos, mais, je vois qu'on peut faire le choix de la musique précise en créant une liste de lecture sonos et la faire jouer par le bouton play du module. Mais on ne sais pas via le module lui dire de jouer telle ou telle liste, il va continuer àjouer ce qi était en cours (une liste de lecture, ou radio, ou ...) Comment laisser le choix e jouer ce qu'on veux avec son android, et de forcer de jouer qqch de particulier avec sa HC2 ?
  13. j'ai déjàune erreur après 30 min, je passe à3000s
  14. @cyberquat, J'utilise "as is" le module virtuel de Krikroff, et je fais du TTS avec donc un message vocal en cas d'intrusion. Mais la demande d'Eliah est de jouer un mp3 qui serait stocké quelque part sur un NAS. Sais-tu comment configurer / quoi modifier dans le module de Krikroff pour lui faire jouer un mp3 dédié. (J'avais proposé la "solution" mais sans jamais l'avoir mise en oeuvre, et maintenant je voudrais essayer, et je n'y arrive pas)
  15. Mon objectif n'était pas de trouver la fréquence qui posait problème (si c'était la fréquence qui était la cause) mais de confirmer que c'était la fréquence qui était la cause. D'où mon idée de passer à1000s, et si après 1 nuit ou 24h je n'ai pas d'erreur, on a confirmation de la cause. Ensuite "il n'y a plus qu'a" ... Je viens de mettre à300s et on verra
  16. Salut Lazer, J'ai commencé àregarder le code pour le process d'identification via SID. Modifier suivant tes recommandations est complexe, surtout que tu as faits 3000 tests. Je crains qu'il faille revoir le processus d'authentification, ce qui est loin d'être une mince affaire : ça me fait peur. En écrivant ces lignes je me demande si on ne pourrait pas vérifier ton hypothèse de demande de clé SID trop fréquente en allongeant la période de vérification qui est maintenant à90s. Si je passe à1000s et que j'observe toujours le problème, c'est que ce n'est pas ça. S'il n'y a plus le problème, c'est que ton intuition était bonne, et ça vaut la peine de revoir le code dans ce sens. Qu'en penses-tu ?
  17. jojo

    Wanscam Hw 0039

    le tuto fonctionne, mais es-tu sà»r de ton JPG et MPJ path ? Je suppose que tu as bien coché Dislay Camera on the main page
  18. jojo

    Equipe De Programmeur Fibaro

    Nico, et as-tu regardé celle assise au bureau. Mais elle n'a pas de MAC, du coup mon coeur ballance
  19. jojo

    Wanscam Hw 0039

    essayons d'abourd avec l'adresse interne (192.168.1.,,) Ca fonctionne ?
  20. regarde ce VD de Krikroff, lorsque l'alarme se déclanche, il y a un message qui se diffuse automatiquement en boucle, par GEA http://www.domotique-fibaro.fr/index.php/topic/616-device-sonos-player-t%C3%A9l%C3%A9commande-pour-diffuseur-sonos/?hl=sonos en cherchant ta réponse, j'ai également trouvé ceci. ça pourrait être sympa http://www.domotique-fibaro.fr/index.php/topic/1083-enregistrer-et-diffuser-un-message-sur-squeezebox-karotz-sonos/?hl=sonos
  21. pour plus d'info : https://play.google.com/store/apps/details?id=com.imperihome.lite&hl=fr Description Avec ImperiHome, contrôlez vos systèmes domotiques et objets connectés via une seule interface hautement personnalisable. Pas besoin d’un serveur central ou d’une configuration dédiée. L’application se connecte directement àvos systèmes via leurs APIs et vous permet d’interagir avec tous vos appareils. Aujourd’hui, ImperiHome peut se connecter à: - Myfox Home Control 2 (système d'alarme et de domotique) - Philips Hue (système d'éclairage) - Vera, VeraLite (contrôleur ZWave de Micasaverde / Vera Control) UI5, UI6 et UI7 - ZiBase (contrôleur multi-protocoles de Zodianet) - eedomus (contrôleur ZWave de Connected Objects) - IPX800 (Carte relais évoluée de GCE Electronics) - Eco-Devices (Sonde d'énergie téléinfo de GCE Electronics) - Netatmo Weather Station - Koubachi Plant Sensor - LightManager (Contrôleur de JBMedia) - Zipabox (contrôleur multi-protocoles de Zipato) / Caméras et fonctionnalités de sécurité non-supportées pour le moment - Les systèmes qui implémentent l'API ISS (ImperiHome Standard System) - caméras IP MJPEG, MPEG4, h264 - ...et d’autres viendront! A la maison en utilisant votre tablette murale ou àl’extérieur en utilisant votre smartphone, profitez des nombreuses fonctionnalités de ImperiHome pour contrôler votre maison connectée comme vous le souhaitez: - interface intuitive et réactive - reconnaissance vocale - actions àla lecture de tag NFC - module de graphiques intégré et générique - tableaux de bord configurables avec widgets intelligents (limités dans la version gratuite) - raccourcis Android - détection automatique du réseau utilisé (local ou distant) - interfaces optimisées pour smartphone et tablettes - nombreuses options de réglage de l’application - import/export des préférences (seulement en version pro) - Intégration avec la SmartWatch2 de Sony - Sortie de veille automatique en utilisant la détection de mouvement àl'aide de la caméra frontale. ATTENTION : cette fonctionnalité dépend énormément du type d'appareil et de caméra. Nous ne pouvons garantir son fonctionnement avec tous les appareils. - Plugin Tasker (seulement en version pro) - API de contrôle REST (seulement en version pro) - Support de Android Wear (commandes vocales et visualisation de caméra) Ceci est la version gratuite de ImperiHome. Débloquez les fonctionnalités pro en installant également ImperiHome Pro: https://play.google.com/store/apps/details?id=com.imperihome.lite.unlockerpro Apprenez-en plus sur le site web de ImperiHome (http://www.imperihome.com) et contactez-nous sur support@imperihome.com si vous rencontrez le moindre problème. Smart Connect extension for SmartWatch 2
  22. jojo

    Détecteur Enocean & Hcl

    Oui la HCL peut utiliser une variable comme trigger d'une scène, mais, si j'ai bien compris, tu veux que cela déclenche l'alarme interne de la HCL, et pour que l'alarme soit déclenchée, il faut qu'il y ait un device armé qui soit breached (ici le IN1 du FGBS)
  23. jojo

    V 4.049 - 11 Juin 2015

    oui, mais fait vite avant qu'ils ne sortent la 4.050 ou 4.051 complètement pourrie et que tu ne pourras plus installer la 4.049
  24. pour la conversion hexa, j'ai fait une simple recherche sur google de 2 min. J'étais déjàen train de regarder le code et d'essayer de trouver où on utilisait ce fameux SID. Si tu savais me donner le n° de ligne dans le premier bouton et dans le main loop, je regarderai
  25. on ne soutraiterait pas ton idée à Zorgonaute84 qui semble maîtriser ?
×
×
  • Créer...