-
Compteur de contenus
969 -
Inscription
-
Dernière visite
-
Jours gagnés
30
Tout ce qui a été posté par henri-allauch
-
Diag,status,errorCode = api.get("/diagnostics") c'est OK pour tester les erreurs mais Net.FHttp ne fonctionne que dans les scènes
-
Plusieurs post donnent des exemples d'accès à l'api de la HC2. Dans l'exemple ci dessous 2 méthodes qui donnent le même résultat ( heureusement) bien que la méthode 1 est moins synchrone la preuve la réponse arrive en 2eme Position. A mon avis La méthode 2 est plus facile et plus claire à lire. A votre avis laquelle faut il utiliser, laquelle traversera plus aisément les évolutions du Firm ? --[[ %% properties %% events %% globals --]] local MessMem ----------------------------------------------------Méthode 1 local http = net.HTTPClient() http:request('http://127.0.0.1:11111/api/diagnostics' , { options = { method = 'GET' }, success = function(response) local result = json.decode(response.data); MessMem = "RAM Disponible : "..tonumber(result.memory.free) .."%" .." Cache : "..tonumber(result.memory.cache) .."%" fibaro:debug( "1- Mémoire : " ..MessMem) end }) http = nil --------------------------------------------------Methode 2 Diag = api.get("/diagnostics") MessMem = "RAM Disponible : "..tonumber(Diag.memory.free) .."%" .." Cache : "..tonumber(Diag.memory.cache) .."%" fibaro:debug( "2- Mémoire : " ..MessMem) ----------------------------------------------------------------------- [DEBUG] 09:31:33: 2- Mémoire : RAM Disponible : 58% Cache : 17% [DEBUG] 09:31:33: 1- Mémoire : RAM Disponible : 58% Cache : 17%
-
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Attention Backup entraîne maintenant redémarrage de tous les services Fibaro ( confirmé par @Lazer ) Donc les scènes auto start redémarrent J'ai constaté danc ce cas qu'il me manquait un sendmail et je pense aussi les notifications que j'envoi en début de scène. J'ai pensé que si on attend pas un peu, les services ne sont pas encore tous initialisés et donc pas de send mail .. J'ai ajouté une attente d'une minute avant, et là ça a fonctionné. -- Charger l'heure courante et celle du démarage de la box local horaire = os.date ("Le %d/%m/%Y à %H:%M:%S") local hc2 = api.get('/settings/info') --Voir si serverStatus redémarré depuis moins de 15 minutes if os.time() - hc2.serverStatus <= 15 * 60 then fibaro:setGlobal('G_Starting', "ON") -- c'est un reboot ou Backup fibaro:sleep( 60 *1000 ) --pour temporiser demurrage sce pour mail fibaro:call(Id_Admin, "sendEmail", "Etat HC2" , "Hc2 StartServeur (Boot ou Backup) -> G_Starting ON " ..horaire) else -
Exemple Si on est en 4.10 il y a un backup automatique compatible 4.10 avant la mise en place du firmware 4.11 . Une fois la MAJ exécutée on est en 4.11 Soit ça marche on reste en 4.11 Soit on a des PB et la c'est obligatoirement RECOVERY , donc 4.x suivant l'âge de la BOX. Et une fois recouvert exécuté , la dernière stable étant 4.11 on ne peu plus retourner en 4.10 et le Backup n'est plus compatible. Donc Inutile ainsi que les backup antérieur antérieurs. Le Backup sert pendant la "vie" d'une version stable d'un firm à sauver et restituer les modifications de la HC2 C'est ça ?
-
Bon alors je garde la netatmo comme gadget et je chercherai quelque chose de plus sérieux. Merci pour ton avis.
-
Pour info : les mesures CO2 (ppm ) sont toujours inférieures à environ 400 ppm et l'hygrométrie toujours supérieures de 9% par rapport à des mesures avec des appareils étalons. La température on peut jouer sur des deltas de correction mais pas pour les ppm et l'humidité. ( dixit support NetAtmo ) Avec le plugin de la HC2 ( pas installé pour moi ) peut on envisager d'ajouter (Par une scène ) un delta une fois la mesure récupérée dans le device ?
-
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Oui mais avant ça n'influençait pas le serverStatus -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Il semblerai, si quelqu'un peut confirmer -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Je confirme mais en plus : La date Status du serveur dans Information générales ( .serverStatus de strings/info ) que je pensait être le temps écoulé depuis le dernier reboot est réinitialisé à 0 -
Question ? Y a t'il une utilité de garder les backups liés à des versions de firm ancien. Si un recovery est nécéssaire, on part de la 4.31 initiale ( Clé) puis il va nous proposer de se mettre a jour directement sur la dernière stable ou en passant par les stables intermédiaires ? Apres cette mise à jour sur la dernière stable seul les backups compatibles seront utiles, les vieux, compatibles avec des versions antérieures peuvent être supprimés ? Je n'ai jamais fait je préfère me renseigner avant.
-
Cette méthode d'appel à l'api ne fonctionne plus depuis la 4.110 Voir nouvelle appel a l'api : https://www.domotique-fibaro.fr/topic/8641-backup-via-scene-lua/
-
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Bon désolé j'avais pas vu on en parle la : https://www.domotique-fibaro.fr/topic/8641-backup-via-scene-lua/ Reste plus qu'a modifier le code. Et ça marche . -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
@biboun si ta réponse est pour moi : je ne crois pas car : local hc2b = api.get('/settings/backups') fibaro:debug (hc2b[1].timestamp ) [DEBUG] 17:05:52: line 8: attempt to index local 'hc2b' (a nil value) J'ai essayé aussi avec local hc2b = api.get('/service/backups') Directement depuis un navigateur, http://192.168.1.50/api/service/backups je vois bien le tableau des backups -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Je viens de passer de la 4.100 à la 4.110 sans encombre mais toujours avec stress. La durée est d'environ 12 minutes, la partie qui m'a semblé la plus longue c'est Install/CheckZwave qui est resté 5 minutes avec un curseur de progression a 10% Puis suis passé direct Restart Les essais effectués sont OK ( je n'ai pas de device en MAJ Firm ), mes pseudo devices sont toujours présent AU début un peu de frayeur plus de scènes, mais après rafraîchissement de la page c'est OK ( J'avais vidé le cache avant ) J'ai un pb sur : local hc2b = api.get('/settings/backups') if os.time() - hc2b[1].timestamp <= 60 * 60 then Le retour est null. Ca marchait plusieurs fois par jours avant la 4.11 Je cherche -
@jojo Ce n'est pas une question Bête et c'est pour éviter ce genre d'étourderie que j'ai changé les noms ce matin. Oui LblTest existe bien, d'ailleurs c'est ok dans le dernier test par /api/callAction. Pour être sur, j'ai exporté le json dans un fichier dont voici le début : {"name":"Test Label Rec","type":"virtual_device","properties":{"deviceIcon":1001,"currentIcon":"1004","log":"","logTemp":"","mainLoop":"","ui.LblTest.value":"0","visible":"true", ........... Et pour lever le doute sur une erreur de saisie, je viens de copier/ coller ce ui.LblTest.value dans le PepiteJson et refait un essai Et le canard est toujours vivant ... mais la chasse continue
-
je crois que @Nico écrit dans un label VD depuis une appli ,J'aimerai savoir qu'elle méthode il utilise
-
Bon j'ai tour repris avec un vd qui passe les commandes et un qui les reçoit pour pas d'ambiguïté Résultat : --Modifier Valeur dans le VD cible OK local MyVal = "1234,56" fibaro:call(recID, "setProperty", "ui.LblTest.value", MyVal ) ------------------------------------------------------------------------------ Ecrire Value dans Fake device OK local fakedevice = 116 local W = 1234,56 local myJson = '{"properties":{"power":'..W..'}}' local payload = "/api/devices/"..fakedevice local HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:PUT(payload, myJson) ------------------------------------------------------------------------------ --Modifier Icone dans le VD cible OK local IconImperihome = 1001 local recID = 292 local myJson = '{"properties":{"deviceIcon": '..IconImperihome..' }}' local payload = "/api/devices/"..recID local HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:PUT(payload, myJson) ------------------------------------------------------------------------------ --Modifier LblValue dans le VD cible NOK Quelque soit le Json utilisé avec Status 200 OK ca semble un pb de syntaxe ? local recID = 292 local MyVal = "9876,54" local myJson = '{"properties":{"ui.LblTest.value": '..MyVal..' }}' local JoJoJson = '{"properties":{"ui.LblTest.value": "'..MyVal..'" }}' local PepiteJson = '{"properties":{"ui.LblTest.value": "1234" }}' local myJson2 = '{"properties":{"ui.LblTest.value": 100 }}' local myJson3 = '{"properties":{"ui.LblTest.value": ' ..tostring(4444) ..' }}' local payload = "/api/devices/"..recID local HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:PUT(payload, myJson3) ------------------------------------------------------------------------------ --Modifier LblValue dans le VD cible ( API call action ) OK local MyVal = "9876,54" local Param = "/api/callAction?deviceID="..recID .."&name=setProperty&arg1=ui.LblTest.value&arg2="..MyVal local HC2 = Net.FHttp("127.0.0.1",11111); local response, status, errorCode = HC2:GET(Param) Donc j'en suis au même point il doit y avoir une astuce
-
Merci Petite et Jojo de vos conseils. Je reprend mes essais à 0 c'est mieux avec les idées claires. Pour le moment avec un call ça marche Demain Je vais essayer avec le Put du Json en suivant aussi vos idées et je vous tiens au courant Merci fibaro:call(myId, "setProperty", "ui.LblChauffage.value", "7777,88") ecrit 7777,88 local MyVal = 2266,66 fibaro:call(myId, "setProperty", "ui.LblChauffage.value", MyVal ) ecrit 2266 local MyVal = "2266,66" fibaro:call(myId, "setProperty", "ui.LblChauffage.value", MyVal ) ecrit 2266,66
-
Notifications Interactive pour lancer une scéne
henri-allauch a répondu à un(e) sujet de mprinfo dans Tutoriels
OK j'avais pas vu cette différence, effectivement c'est beaucoup mieux avec l'appli fermée, Merci de l'info -
Notifications Interactive pour lancer une scéne
henri-allauch a répondu à un(e) sujet de mprinfo dans Tutoriels
Avant cette version ( début de la version 4 ) J'utilisais le code trouvé dans ce forum (@Krikroff) qui fonctionnait aussi très bien sous androïd et IOS Ca se ressemble NON ? https://www.domotique-fibaro.fr/topic/4895-utilisation-du-service-popup-notification-center/#comment-73221 -
-
Pour préparer et tester des commandes Http sur l'api des VD ou pseudo device, j'utilise un VD de test ou je code en lua la requette à tester ( avant de la coder dans un autre language pour l'appli externe) Je m'appui souvent sur la doc obtenue par : http://IP HC2/docs/ Dans l'exemple ci dessous, j'arrive ( depuis longtemps ) à écrire dans la property power d'un fake device (wall plug ) exemple 1 idem pour modifier l'icône d'un VD exemple 2 mais je n'arrive jamais à écrire dans un label de VD exemple 3 Je ne trouve pas mon erreur. Si quelqu'un qui sait passe par là ... merci d'avance --1 Ecriture properties power fake device (wallaplug )---> OK local fakedevice = 116 local W = 1234,56 local myJson = '{"properties":{"power":'..W..'}}' local payload = "/api/devices/"..fakedevice local HC2 = Net.FHttp("127.0.0.1",11111); HC2:PUT(payload, myJson) -- 2 Ecriture properties deviceIcon d'un VD -->OK local myId = fibaro:getSelfId() local myJson = '{"properties":{"deviceIcon": 1004 }}' local payload = "/api/devices/"..myId local HC2 = Net.FHttp("127.0.0.1",11111); HC2:PUT(payload, myJson) -- 3 Ecriture properties label d'un VD -->NOK local myId = fibaro:getSelfId() local myJson = '{"properties":{"ui.LblMaison.value": '..W..' }}' local payload = "/api/devices/"..myId local HC2 = Net.FHttp("127.0.0.1",11111); HC2:PUT(payload, myJson)
-
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
Nico : tout s'explique naturellement, si je fais une lecture, cela fonctionne avec un compte autre que admin (comme toi). Donc admin est nécessaire pour une écriture dans le fake Device ( ce qui parait Normal ) Sakkhho : Changer le user admin ça impose de modifier les applis qui accèdent à la HC2 et les requêtes externes qui accède à l'API. Pour ceux qui ne font que de la lecture ou des commandes (ex: Nico ) passer par un compte autre que admin est une excellente idée ( D'ailleurs c'est plus propre ) Pour ceux comme moi qui écrivent dans un (fake) device les essais démontrent q'il faut être admin On avait un doute sur le passage de l'@ dans le user en fonction de la méthode utilisée pour accéder à l'API. Lazer nous a donné un exemple avec CURL qui fonctionne (il y a quelques temps sur le fil 4.101 je crois). Moi, en python j’ai pu passer un @ dans le pwd, comme je ne suis pas encore en 4.110 j’ai pas essayé dans le user mais ça devrai passer aussi. -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
@nico merci de ta réponse moi j'ai un python qui lit un currentcost et qui écrit par l'api une valeur Kw dans un fake ( initialement un wall plug fibaro) cela fonctionne depuis plusieurs mois en 4.100 avec usr=admin et pwd= mypwd, j'ai une erreur 403 avec user=henri et pwd=mypwd ( henri à tous les droits modules et scènes ) Cela fonctionne aussi correctement avec usr=admin et pwd= mypwd@truc.com J'en ai conclu donc qu'il fallait être admin pour Ecrire dans un fake device (donc à tord) Par contre je fait cet essai avant de basculer en 4.110 ... la différence est peut être là ? -
HC2 & HCL - Version 4.110 - Stable - 04/01/2017
henri-allauch a répondu à un(e) sujet de Berale64 dans Firmware
@Nico --- > "Par contre j'utilise du coup dans les API de toutes mes passerelles un autre compte qu'admin, et cela fonctionne nickel." Mais pour des Maj de Fake device il faut absolument être admin il me semble sinon erreur 403 je me trompe ?