-
Compteur de contenus
4 434 -
Inscription
-
Dernière visite
-
Jours gagnés
201
Tout ce qui a été posté par Steven
-
En effet, comme "IP" et "Port" (et certainement plein d'autre) cela ne fonctionne pas
-
Je ne me prends pas la tête avec des PUT, je fait simplement ainsi https://HC2_IP/api/callAction?deviceID=100&name=setProperty&arg1=ui.Label1.value&arg2=10
-
@pepite Prenons ton exemple : Lorsque tout ce passe bien, tu vas avoir en retour Diag = objet json contenant les informations demandées status = 200 errorCode = nil --- ben oui, il n'y a pas d'erreur donc ton code fibaro:debug("ErrorCode = "..tonumber(errorCode)) va planté car tu ne peux pas faire un tonumber(nil). Si tu veux vraiment affiché cette ligne, il te suffit de la modifier ainsi fibaro:debug("ErrorCode = "..tonumber(errorCode or 0)) Et voilà, tu auras 0 s'il n'y a pas d'erreur. En cas d'erreur, c'est simple Diag sera nil. On devrait donc traiter ce genre d'appel ainsi : response, status, errorCode = api.get("/.....") if (response) then -- traitement de la réponse else fibaro:debug("Une erreur est survenue [code=" .. (errorCode or "") .. ", status=".. (status or "") .."]" ) end
-
Perso, je préfère l'usage de api.get C'est une méthode fournie par Fibaro qui va elle même gérer l'accès à l'api. S'ils changent quelque chose, c'est donc garanti que cette méthode soit adapté car sinon plus rien ne fonctionnera. Il faut savoir que TOUTES les méthodes fibaro:..... utilise api.get ou api.post, ... exemple si dessous : fibaro.setGlobal = function(self, varName, value) __assert_type(varName, "string") local data = {["value"]=tostring(value), ["invokeScenes"]=true} api.put("/globalVariables/" .. varName, data) end Donc cette fonction sera TOUJOURS à jour. Maintenant, l'usage de http://.../api apporte l'asynchrone mais honnêtement, qui utilise de l'asynchrone en domotique ? A mon avis pratiquement personne. Je ne connais pas de "Gros" traitement en domotique qui nécessite l'usage de l'asynchrone. Je pense plus que l'asynchrone n'est pas pour tout le monde, cela complexifie la compréhension du code et apporte souvent une grande confusion quand il s'agit de chaîner les appels. Voici donc mon avis personnel.
-
C'était un test ... heuuu ... enfin ... presque. Bien joué @pepite Désolé @Sakkhho
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Oui, pour quasiment toutes les fêtes "mobiles" Pâques est le point de référence.
-
Mardi gras = 47 jours avant Pâques. Vendredi saint = vendredi précédant le dimanche de Pâques soit josdJourFerieTab[os.date("%m-%d", epochPaques-(24*60*60)*2)] = true; -- Vendredi-saint = Pâques - 2 jour josdJourFerieTab[os.date("%m-%d", epochPaques-(24*60*60)*47)] = true; -- Mardi gras = Pâques - 47 jour josdJourFerieTab["27-05"] = true; -- Abolition josdJourFerieTab["21-07"] = true; -- Victor Schoelcher
-
A moins que je ne me trompe, on peux tout faire sans "function" : local startRoomba = GEA.add({Absent, {"Global", "Roomba", "Docked"}, {"Global+", "VD_Roomba_Batt_Lev", "85"}}, 5*60, "", {{"VirtualDevice", id["ROMBA"], 19},{"setDisarmed",id["MOV_SALON"]}}) -- Lancement du Roomba GEA.add({"Global", "Roomba", "Cleaning"}, 30, {{"StopTask", startRoomba}}) GEA.add(true, 30, "", {{"Time", "00:01", "00:01"}, {"RestartTask", startRoomba}})
- 12 330 réponses
-
- 1
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Hi @UKCamaroSS, {"Time", "19:30"} is not enough, syntax is {"Time", <start>, <end>} so you have to write {"Time", "19:30", "19:30"} This should work because this line means : If the module 96 is ON more than 10mn, turn it OFF. Try it again once you have corrected the previous error with the {"Time", "19:30", "19:30"} Btw, welcome in GEA
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Pour ne pas que mon compte admin se ballade à droite et à gauche, je met à jour les labels d'un VD avec les informations que j'ai besoin (du style : ID, property, value) avec un utilisateur standard, puis un trigger va déclencher un scénario qui va mettre à jour un fake device. Le mot de passe admin ne transite donc jamais. Tous les modifications d'état de mes modules sont centralisées sur la HC2, aucune application externe n'a le droit de modifier l'état d'un de mes modules, uniquement l'écriture de labels ou l'appui sur un bouton.
-
Je me suis lancé et j'ai cliqué ... bizarrement, aucun changement n'a eu lieu C'est bien le bon bouton ?
- 758 réponses
-
- 11
-
GEA.add({"Power+", 52, 2}, -1, ....)
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Aucun soucis réseau non plus vers cette heure ci ?
-
x == y est une comparaison ... je compare la valeur de X à Y x = y est une affectation ... j'affecte la valeur Y à la variable X
-
Excuse moi, c'est la ligne ci-dessous, j'ai oublié un "=" en plus, il doit y en avoir 2 en LUA if (etat == "Ouvert") then P.S. Je n'ai aucun moyen pour tester alors j'espère que c'est bon cette fois
-
A mettre dans le "main loop" de ton VD local etat = fibaro:getGlobalValue("Etat_Volet_Entree") local color = "TxtGreen" if (etat = "Ouvert") then color = "TxtRed" end fibaro:log("Etat : " .. etat) fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", color )
-
@speedoxx007 Le code que tu as posté n'est pas complet, soit tu as oublié de nous copier la fin, soit tu as oublié de la mettre dans ta scène
-
Les sapins artificiels sont encore moins écolo que les naturels donc vaut mieux pas en ajouter . ( Les sapins de noël naturels viennent de forêt durable et leur élimination est 100% recyclée, pour autant qu'on les jette pas comme des porcs n'importe où )
-
Le code que je t'ai mis fait exactement ce que tu as besoin, il faut le tester et tu verras bien.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Elle s'active si la lampe s'allume uniquement
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
@pepite Nos message ont du se croiser. La solution que je propose ci-dessus répond, je pense, à tout les cas de figure.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Voici un exemple, pour le fameux couple interrupteur/détecteur avec extinction automatique : -- Exctinction automatique après 30s local extinction = GEA.add( id["LAMPE"], 30,"",{{"turnOff", id["LAMPE"]}}) -- Allumage automatique lampe sur detection -- local detection = GEA.add( id["DETECTEUR"], -1,"", {{"turnOn", id["LAMPE"]}, {"RestartTask", extinction}}) -- Allumage manuel lampe -- GEA.add(id["LAMPE"], -1, "", {{"StopTask", extinction}, {"StopTask", detection}}) -- Exctinction de la lampe GEA.add(id["LAMPE"], -1, "", {{"Inverse"}, {"RestartTask", detection}}) Bonne chance
- 12 330 réponses
-
- 2
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Je te dirais de désinstaller l'application sur ton smartphone, de la réinstaller et de mettre ton nouvel ID. Cela fonctionne dans pas mal de cas.
- 12 330 réponses
-
- support
- script lua
-
(et 1 en plus)
Étiqueté avec :
-
Tu as donc installé la dernière béta ?