-
Compteur de contenus
350 -
Inscription
-
Dernière visite
-
Jours gagnés
19
Tout ce qui a été posté par Barelle
-
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 ?
- 1 631 réponses
-
- 1
-
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
"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
- 1 631 réponses
-
- topic unique
- surveillance
-
(et 2 en plus)
Étiqueté avec :
-
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...
-
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.
-
self:Consigne (Room, Mode, Chauf_Maison_Mode)
-
Cela permet déjà de corriger la ligne : self:debug("Function Consigne") -- déjà erreur à cette ligne car il ne connait pas self ...
-
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".
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
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.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
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.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
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.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Avec le swagger en utilisant l'API "/devices/addInterface" : - L'ajout de l'interface "energy" ajoute les propriétés "energy", "saveToEnergyPanel", "showEnergy" et "storeEnergyData". - Mais cela ne prend toujours pas en compte l'ajout de l'interface "virtualEnergyConsumption". Par contre avec l'api callAction cela fonctionne. et une fois l'interface "virtualEnergyConsumption" ajoutée, on obtient bien le choix dans l'interface de la Consommation théorique.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Toujours avec le swagger en utilisant l'API "/devices/addInterface" : { "devicesId": [ 261 ], "interfaces": [ "virtualEnergyConsumption" ] } J'obtiens un code 204, mais l'interface n'est toujours pas ajoutée.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
En rajoutant l'interface "power" dans le QuickApp parent, cela ne change rien (sans avoir redémarré la HC3). Avec le swagger, un PUT de : { "id": 261, "name": "Ellipse PRO 1200", "roomID": 220, "interfaces": [ "power", "quickAppChild", "virtualEnergyConsumption" ] } permet d'obtenir un code 500 : Error: Internal Server Error- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Tout est possible… Sauf qu'il a déjà l'interface "power" : { "id": 261, "name": "UPS VA/W", "roomID": 220, "view": [ { "assetsPath": "/dynamic-plugins/com.fibaro.multilevelSensor/assets", "jsPath": "/dynamic-plugins/com.fibaro.multilevelSensor", "name": "com.fibaro.multilevelSensor", "translatesPath": "/assets/i18n", "type": "ts" }, { "assetsPath": "/dynamic-plugins/power/assets", "jsPath": "/dynamic-plugins/power", "name": "power", "translatesPath": "/dynamic-plugins/power/i18n", "type": "ts" } ], "type": "com.fibaro.powerSensor", "baseType": "com.fibaro.multilevelSensor", "enabled": true, "visible": true, "isPlugin": true, "parentId": 260, "viewXml": false, "configXml": false, "interfaces": [ "power", "quickAppChild" ], "properties": { "categories": [ "other" ], "dead": false, "deadReason": "", "deviceControlType": 1, "deviceIcon": 1048, "deviceRole": "Other", "log": "", "logTemp": "", "manufacturer": "", "model": "", "power": 106, "quickAppVariables": [ { "name": "internalName", "value": "power" } ], "saveLogs": true, "showEnergy": true, "supportedDeviceRoles": [ "Other" ], "unit": "VA", "useEmbeddedView": true, "userDescription": "", "value": 159 }, "actions": {}, "created": 1645412537, "modified": 1645412537, "sortOrder": 72 }- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Effectivement… Il serait toujours possible de convertir les puissances (consommée par l'onduleur et restituée par l'onduleur) en énergie cela supposerait d'intégrer les consommations sur une certaine période, ce qui conduira à une approximation qui n'a que peu de chance de gagner en précision par rapport au calcul réalisé par Fibaro et mentionné par @Lazer- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Avec la variable debug du QA à false, ce devrait être moins verbeux. Sinon, si cela te gêne, tu peux toujours mettre les lignes en commentaires...- 55 réponses
-
- 1
-
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
La variable varUPS est affichée dans la console ou encore à l'adresse http://<ip HC3>/logs Dans la fonction processData, pourrais-tu remplacer la ligne : if (varUps["ups.status"] and (string.sub(varUps["ups.status"], 1, 3) ~= "OL ")) then -- values "OL CHRG", "OL DISCHRG" Par la ligne : if (varUps["ups.status"] and (string.find(varUps["ups.status"], "OL") == nil)) then -- values "OL CHRG", "OL DISCHRG", "FSD OL" Et cela devrait être bon.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Je cherche... Pourrais-tu me confirmer que : La version de DSM de ton NAS est bien supérieure à 5 ; Ton onduleur a bien subi une coupure du secteur sans redémarrage du NAS ; Dans la variable varUPS la valeur du champ status est bien à "FSD OL". Merci. PS : tu peux également m'envoyer l'intégralité de la variable "varUPS" (sous forme de texte, une copie d'écran étant peu exploitable).- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Quick APP - UPS pour serveur DSM Synology
Barelle a répondu à un(e) sujet de Barelle dans Quick App Developpeur
Merci... Le fichier .lua est le source lua du QA. Si le FQA a été importé, il est inutile.- 55 réponses
-
- eaton ellipse pro
- synology
-
(et 1 en plus)
Étiqueté avec :
-
Bonjour, Après une rapide recherche, j'ai trouvé ceci, pour un trou de 18mm, sur un site que je ne connaissais pas... De rien, bonne journée.
-
Il faut lire, c'est ce que j'ai écrit au dessus
-
Même réponse... Cela devrait plutôt être quelque chose comme cela : -[[ %% properties 772 value %% globals --]] local door = 772 local light = 459 -- Spots hall local startSource = fibaro:getSourceTrigger(); local heure = string.format(os.date("%H"), "%2d")..string.format(os.date("%M"), "%2d") local enAlerte = (tonumber(fibaro:getValue(door, "value")) > 0) local heureValable = fibaro:getGlobalValue("Jour-Nuit")== ("Jour") -- à partir de 6h30 local heureValable1 = fibaro:getGlobalValue("Jour-Nuit")== ("Matin") -- à partir de 9h00 local heureValable2 = fibaro:getGlobalValue("Jour-Nuit")== ("Midi") -- à partir de 12h00 local heureValable3 = fibaro:getGlobalValue("Jour-Nuit")== ("Après-midi") -- à partir de 14h30 local heureValable4 = fibaro:getGlobalValue("Jour-Nuit")== ("Soir") -- à partir de 17h00 local heureValable5 = fibaro:getGlobalValue("Jour-Nuit")== ("Soirée") -- à partir de 21h00 local heureValable6 = fibaro:getGlobalValue("Jour-Nuit")== ("Nuit") -- à partir de 23h59 if enAlerte and heureValable then fibaro:call(459, "setValue", "40") -- Spots Hall fibaro:sleep(2*1000); fibaro:call(592, "turnOn") -- Plante 1 fibaro:call(593, "turnOn") -- Plante 2 fibaro:debug("Porte ouverte") elseif enAlerte and heureValable4 then if tonumber(fibaro:getValue(459, "value")) > 0 then fibaro:debug("lumière déjà allumée") fibaro:killScenes(427) else fibaro:call(light, "setValue", "30"); -- Spots Hall fibaro:sleep(15*1000); fibaro:call(light, "turnOff") -- Spot Hall fibaro:debug("Porte ouverte matin") end fibaro:debug("Fin de script") fibaro:sleep(60*1000); else fibaro:call(592, "turnOff") -- Plante 1 fibaro:call(593, "turnOff") -- Plante 2 fibaro:sleep(2*1000); fibaro:call(459, "turnOff") -- Spot Hall fibaro:debug("Porte fermée") end
-
Structure la présentation de ton code et tu verras tout de suite que le elseif de ta ligne 44 qui suit un else n'a aucun sens...
-
La syntaxe du if then else n'est pas : if fibaro:getGlobalValue("TV")== ("On") then fibaro:call(56, "pressButton", "1") fibaro:debug("TV extinction") else fibaro:debug("TV déjà éteinte") fibaro:debug("Porte ouverte Jour") end elseif enAlerte and heureValable1 -- Matin -- then mais ta scène devrait plutôt avoir la structure suivante : if enAlerte and heureValable then -- Jour -- -- traitement pour le jour elseif enAlerte and heureValable1 then -- Matin -- -- traitement pour le matin elseif enAlerte and heureValable2 then -- Midi -- -- traitement pour le midi elseif enAlerte and heureValable4 then -- Soir -- -- traitement pour le soir elseif enAlerte and heureValable5 then -- Soirée -- traitement pour la soirée elseif enAlerte and heureValable6 then -- Nuit -- -- traitement pour la nuit else fibaro:debug('Global "Jour-nuit", valeur inconnue"); end Remarque : Si la scène est en erreur, il serait normal de mentionner le message d'erreur. N'hésite pas à utiliser l'insertion de code "</>" (en sélectionnant LUA), cela rend les messages plus lisibles. Enfin, une présentation du code avec les bons décalages (indentation en jargon globish) facilite la compréhension, et la détection des erreurs de syntaxe.