Aller au contenu

Barelle

Membres confirmés
  • Compteur de contenus

    339
  • Inscription

  • Dernière visite

  • Jours gagnés

    19

Tout ce qui a été posté par Barelle

  1. Barelle

    catch from json variable

    Désolé , mais c'est inexact : {"name":"Fibaro"} est un json valide qui ne commence pas par [ et ne se termine pas par ], par contre les accolades encadrantes sont obligatoires... Mais on peut très bien avoir un json avec un format tel que : [ { "name": "Le premier" }, { "name": "Le second" } ] Pour approfondir : https://www.w3schools.com/js/js_json_intro.asp
  2. Dans les champs avec l'indication "Choisir", il faut choisir la condition ou l'action...
  3. Si on lit 573 m3 (et pas m² ) pour 80 litres cela ferait plutôt une erreur de 0,014 %...
  4. "VariableMeteoConso1" n'est pas une variable définie, il faudrait plutôt VariableMeteo1. fibaro.getGlobalVariable ( " VariableMeteoConso1 " ) il ne faudrait pas d'espace autour du nom de la variable
  5. Et en testant si ce n'est pas une fonction : if jsonResponse["body"][1]["dataset"][1].key == today and type(jsonResponse["body"][1]["dataset"][1].value) ~= "function" then ou encore en s'inspirant de cette solution : https://forum.fibaro.com/topic/57408-nil-null/
  6. La fonction attend des valeurs et non des strings... hub.call(306, "setColor", 255, 255, 0, 55)
  7. data["THL1-TEMP"]
  8. Barelle

    HC3 - Table de routage ZWave

    La librairie javascript est chargée par le script PHP, donc le NAS doit avoir accès à internet. Une cause possible d'une défaillance du script : un nom de device avec une apostrophe.
  9. Are the QA variables well populated ? A trial should be done with the administrator’s user ID and password for the HC2userPass variable.
  10. Afin de s'affranchir des effets d'annonces, il me parait plus prudent de se faire sa propre idée en analysant soi-même des données nettement plus fiables disponibles sur le site https://www.rte-france.com/eco2mix
  11. Pour en savoir plus sur le compteur Linky, je vous recommande cet article sérieux : https://www.canardpc.com/hardware/dossier-hardware/compteurs-linky/
  12. Il devrait suffire de changer le type des childs dans la table childsConfig en "com.fibaro.energyMeter", puis de supprimer le child et de relancer le QA qui devrait le recréer avec le bon type. De mémoire, quand ce QA a été écrit, cela ne fournissait pas des résultats satisfaisants. Désolé, n'utilisant plus ce QA, je ne peux tester cette possibilité.
  13. Si vraiment la limite est atteinte, c'est une solution. Il sera toutefois nécessaire de créer une seconde variable globale si l'on ne souhaite pas perdre les valeurs historiques.
  14. Et en essayant de cette façon : function QuickApp:command(address) local cmdon='<SupplementLight><enabled>true</enabled><brightnessRegulateMode>manual</brightnessRegulateMode><mode>schedule</mode><Schedule><TimeRange><beginTime>00:00:10</beginTime><endTime>23:59:55</endTime></TimeRange></Schedule><brightness>80</brightness><filteringTime>5</filteringTime><sensitivity>4</sensitivity><maxBrightness>80</maxBrightness></SupplementLight>' self.http = net.HTTPClient({timeout=3000}) print(address) self.http:request(address..'/ISAPI/System/externalDevice/supplementLight', { options={ headers = { Authorization = self.credentials, }, checkCertificate = false, method = 'PUT', data = ('<?xml version="1.0" encoding="UTF-8"?>'..cmdon) }, success = function(response) self:debug("response status:", response.status) --self:debug("headers:", response.headers["Content-Type"]) end, error = function(error) -- self:debug('error: ' .. error) end }) end
  15. pas de ".." derrière "port". local address = "http://"..ip..":"..port.. Quel est l'utilité de la fonction "setSelf(self)", où est-elle définie ? La déclaration de "self.sock" est inutile. L'instruction "print(address)" s'exécute-t-elle ?
  16. "cmd" n'est pas défini... "data" devrait être dans le header, pour être envoyé. Soit : function QuickApp:command(address) local cmdon='<SupplementLight><enabled>false</enabled><brightnessRegulateMode>manual</brightnessRegulateMode><mode>schedule</mode><Schedule><TimeRange><beginTime>00:00:10</beginTime><endTime>23:59:55</endTime></TimeRange></Schedule><brightness>80</brightness><filteringTime>5</filteringTime><sensitivity>4</sensitivity><maxBrightness>80</maxBrightness></SupplementLight>' self.http = net.HTTPClient({timeout=3000}) print(address) self.http:request(address, { options={ headers = { Authorization = self.credentials, }, checkCertificate = false, method = 'PUT', data = ('/ISAPI/System/externalDevice/supplementLight', '<?xml version="1.0" encoding="UTF-8"?>'..cmdon) }, success = function(response) self:debug("response status:", response.status) --self:debug("headers:", response.headers["Content-Type"]) end, error = function(error) -- self:debug('error: ' .. error) end }) end
  17. Barelle

    QA & Envoi TCP

    En fait, le self.sock:close() -- socket closed devrait être dans la fonction success de la fonction QuickApp:send(strToSend) Autrement dit, après l'envoi...
  18. Houlà, Je n'utilise plus l'Ecodevice V1, mais le V2. De plus maintenant, équipé d'un compteur Linky, mon Ecodevice V1 ne fonctionne plus... Ce que je comprend de ta demande, c'est de pouvoir récupérer la période tarifaire afin de pouvoir s'en servir de déclencheur dans un scénario. Suite à la relecture du code de ce QA, il ne paraît pas aisé de prévoir un child affichant la période tarifaire. Je te propose : - de créer manuellement une variable globale "PeriodeTarifaire" qui contiendra l'information sur la période tarifaire, - puis de la mettre à jour dans le QA en ajoutant la ligne : fibaro.setGlobalVariable("PeriodeTarifaire", compteurs.teleinfo1.periode); à la fin de la fonction changePeriode. Tu pourras ainsi déclencher un scénario à chaque changement de période tarifaire.
  19. Barelle

    fonctions dans fonction

    self:Consigne (Room, Mode, Chauf_Maison_Mode)
  20. Barelle

    fonctions dans fonction

    Cela permet déjà de corriger la ligne : self:debug("Function Consigne") -- déjà erreur à cette ligne car il ne connait pas self ...
  21. Barelle

    fonctions dans fonction

    Déjà, remplacer : function Consigne (Room, Mode, Chauf_Maison_Mode) par function QuickApp:Consigne (Room, Mode, Chauf_Maison_Mode) ainsi la fonction consigne ne plantera plus et affichera bien "Function Consigne".
  22. Elle n'est pas affichée en Beta :
  23. Passions est un bien grand mot, tout au plus s'agissait-il d'un échange de points de vue sur quelques détails d'ordre technique.
  24. J'abonde dans ton sens, surtout que l'on voit apparaître la propriété "lastEnergyCalculationTimestamp". Le swagger envoie l'ordre : curl -X POST "http://192.168.0.83/api/devices/addInterface" -H "accept: */*" -H "Content-Type: application/json" -H "X-Fibaro-Version: 2" -H "Accept-language: fr" -H "Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxx" -d "{\"devicesId\":[261],\"interfaces\":[\"virtualEnergyConsumption\"]}" Cela a bien fonctionné pour l'ajout d'une interface "energy", mais pas pour "virtualEnergyConsumption". Sans doute un des nombreux bugs du swagger.
  25. Désolé de te contredire, j'ai bien : "interfaces": [ "energy", "power", "quickAppChild", "virtualEnergyConsumption" ], L'ajout de l'interface "virtualEnergyConsumption" a ajouté également l'interface "energy" et les propriétés "energy", "lastEnergyCalculationTimestamp", "saveToEnergyPanel", "showEnergy" et "storeEnergyData". L'existence d'une interface "energy" n'a pas empêché l'ajout de l'interface "virtualEnergyConsumption". Par contre je ne m'explique pas le non-fonctionnement de l'API "addInterface" par le swagger.
×
×
  • Créer...