
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
-
HC2 & HCL - Version 4.113 - BETA - 16/03/2017
jjacques68 a répondu à un(e) sujet de speedoxx007 dans Firmware
Semble ok chez moi pour le moment. -
Oui alors je viens de comprendre ces fonctions. Mon affichage dans le panneau de chauffage est ok. Il est bien modifié, et en regardant dans l'API de la HC2, la valeur est prise en compte. Mais c'est quand même fou le peu de documentation disponible ! Si des gars comme vous n'étiez pas là, on avancerait pas ! (ou alors je cherche mal...)
-
YEAH !!! ça marche maintenant !!! voilà le bon code : local Panel = api.get("/panels/heating/61") Panel.properties.monday.morning.hour = 7 api.put("/panels/heating/61", Panel) MERCI @pepite , @Lazer et @Steven !! Mais j'ai besoin d'explications... là parce que moi pas comprendre. local Panel = api.get("/panels/heating/61") La variable Panel reçoit le contenu complet sous forme de tableau (json décodé) du panneau de chauffage 61. -> ok ? Panel.properties.monday.morning.hour = 7 Je modifie ma valeur dans le tableau qui est dans la variable Panel. -> ok ? api.put("/panels/heating/61", Panel) Et la maintenant j'envois la le tableau de la variable Panel dans l'api. -> ok ? Mais alors si je compare avec ce code du VD : local HC2 = Net.FHttp("127.0.0.1", 11111) local response, status, errorCode = HC2:GET("/api/panels/heating/61") if tonumber(errorCode) == 0 and tonumber(status) == 200 and response ~= nil and response ~= "" then local Panel = json.decode(response) Panel.properties.monday.morning.hour = 7 Panel = json.encode(Panel) HC2:PUT("/api/panels/heating/61", Panel) end ... ... ... Bon je viens de percuter que c'est la même chose. Comme vous avez dis api.put ou api.get permet d'éviter les lignes Net.FHttp, encode, decode, errorCode, ...
-
Zut, replantage de la box avec ça dans une scène : local Panel = api.get("/panels/heating/61") Panel.properties.monday.morning.hour = 8 api.put("/panels/heating/61", Panel.properties.monday.morning.hour)
-
@Lazer -----> attendez les gars je repasse dans la scène pour voir ma connerie...
-
OH put... de put... de m... !! Je viens de comprendre que depuis le début, la valeur que je voulais insérer était 8. Moi je mettais 8 sous forme de string, soit "8". La je viens de comprendre qu'il attend un entier, soit 8. Et la ça marche !! @pepite, je vais reprendre tes exemples... du coup
-
MINUTE LA !!!!! Je viens de faire un VD pour faire la même chose avec un Net.FHttp... Et même plantage !!! erreur 503 !!!
-
ok pour l'explication. Mais je crois que je vai abandonner mon idée de passer sans connexion Net.FHttp... Je voulais économiser quelques lignes de code en passant directement avec api.put mais ça marche pô du tout. C'est d'un compliqué tout ça...
-
oui je crois que je suis entrain de m'emmeler les pédales là... local Panel = api.get("/panels/heating/61?properties=monday&morning=hour") Et voilà le debug : [DEBUG] 17:29:50: table: 0x9311860 ça ressemble à une table json mais impossible de la décoder, si j'utilise json.decode(Panel), j'obtiens : [DEBUG] 17:32:04: line 74: bad argument #1 to 'match' (string expected, got table)
-
suis entrain de réfléchir à une autre syntaxe du genre "/panels/heating?id=61&properties=monday&morning=hour"
-
plantage de la box, erreur 503...
-
Ok je retombe sur le même résultat que toi. Sans plantage de la box... Je n'utilise pas la fonction json.encode par contre... Et le panneau de chauffage ne se met pas à jour... pffffff je ne trouve rien là-dessus nul part...
-
@Steven et @pepite, ôtez moi d'un doute, on parle bien de la même chose ? Je suis entrain d'essayer de faire un put sans passer par une connexion de type : local HC2 = Net.FHttp("127.0.0.1", 11111) comme dans l'exemple de @Lazer !!! J'essaye de faire un api.put tout simple. Comme quand je récupère une valeur avec api.get (sans connexion Net.FHttp) !!
-
Punaise mais c'est pas possible !!!! pourtant pas compliquer quand même !!! Je vais finir par flinguer la box... !!! Vais finir par faire du bon vieux net.fhttp...
-
oula crash complet de la box, erreur 503... 2x, obliger de redémarrer...
-
ben non car, où je mets la valeur que je souhaite ?
-
@Lazer disons que c'est pour essayer J'ai déjà vu les tutos dont tu parles et m'en suis déjà largement inspiré pour d'autres idées
-
je dois être fou mais je comprends toujours pas la syntaxe : Ma variable "Pannel" contient le "chemin" pour accéder à la valeur que je souhaite modifier ?? !!! (Pannel.properties["monday"].morning["hour"]) Elle ne contient pas la valeur elle-même !! j'ai essayé cela aussi, mais sans succès : local Pannel = api.get("/panels/heating/61") api.put(Pannel.properties["monday"].morning["hour"], "8") @Lazer : je connais cette méthode, mais je voulais pas utiliser le net.fhttp (L'objectif de ma demande est de pourvoir modifier le panneau de chauffage dynamiquement depuis un VD. Et je vourdrai utiliser la commande api.put)
-
alors je viens d'essayer ceci : local Pannel = api.get("/panels/heating/61") print("AVANT modif = "..Pannel.properties["monday"].morning["hour"]) --modification Pannel.properties["monday"].morning["hour"] = "8" api.put(Pannel.properties["monday"].morning["hour"]) print("APRES modif = "..Pannel.properties["monday"].morning["hour"]) et voici le resultat du debug : [DEBUG] 17:44:33: AVANT modif = 7 [DEBUG] 17:44:33: APRES modif = 8 MAIS la valeur dans le panneau de chauffage ne change pas !!! ??? Je sèche, j'ai essayé beaucoup de variante...
-
HC2 & HCL - Version 4.112 - BETA - 09/03/2017
jjacques68 a répondu à un(e) sujet de pepite dans Firmware
la box répondait au ping je confirme. -
HC2 & HCL - Version 4.112 - BETA - 09/03/2017
jjacques68 a répondu à un(e) sujet de pepite dans Firmware
alors moi j'avais dis RAS avec cette MAJ, mais cette nuit ma box à planté complet vers 5h du matin (dernières notifications enregistrées)... Et alors impossible de me connecter dessus, ni avec le tél, ni depuis mon PC via le réseau local !! J'ai du intervenir manuellement dessus, l'éteindre puis rallumer. Jamais eu ça en 2 ans ! Ya t'il un moyen de savoir ce qu'il s'est passé ? -
Ah bien ton exemple ! Je crois que c'est ce que je cherchais ! J'essaye demain et te tiens au courant... merci !
-
pareil... ce serait bien qu'un expert passe par là ...
-
ben ce que je pige pas c'est qu'on peut relever les valeurs avec une facilité énorme (voir mon code dans le premier post) et pour les modifier, il faut 30 lignes de code...
-
ok mais il faut avant faire un HC2 net.httpclient, puis récupérer le json, le décoder, le modifier et le rencoder et seulement après faire le PUT... C'est long...