Aller au contenu

fel-x

Membres confirmés
  • Compteur de contenus

    366
  • Inscription

  • Dernière visite

  • Jours gagnés

    9

fel-x a gagné pour la dernière fois le 6 juin

fel-x a eu le contenu le plus aimé !

À propos de fel-x

  • Date de naissance 11/06/1976

Profile Information

  • Sexe :
    Homme
  • Ville :
    Bruxelles
  • Intéret :
    Fibaro, HomeKit, HomeBridge, Raspberry
  • Box
    Home Center 3
  • Version
    5.180.17

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

fel-x's Achievements

Explorer

Explorer (4/14)

  • Reacting Well Rare
  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Conversation Starter Rare

Recent Badges

48

Réputation sur la communauté

  1. Allez voici la version 1.0 de la QuickApp Merci aux testeurs et pour les retours. Omlet_Coop_Door_v1.0.fqa
  2. @jang Thanks indeed I was looking for a way to disable a button while still being visible. (no need to press "open" when the door is already opened) I will use the single button solution I guess, or just leave it as it is, since pressing "open" when the door is already opened doesn't do any harm. Best regards
  3. Tiens d'ailleurs... j'ai réussi à faire en sorte que l'image affichée dans le label soit différente selon l'état de la porte (OPEN/CLOSE) : mais je suis à la recherche de la méthode qui permettrait d'inactiver (griser) le bouton d'ouverture si elle est ouverte, et le bouton de fermeture si elle est fermée... Je sais faire disparaître le bouton (visible > false) mais ce que je cherche c'est de le rendre inactif mais toujours visible. Si quelqu'un a une idée ?
  4. Et voilà le travail avec l'API de Omlet C'est pas mignon tout plein ? Et on peut ouvrir/fermer la porte encore un peu de debug et je la partage si quelqu'un est intéressé...
  5. fel-x

    QuickApp pour les Nuls

    Oui c'est perturbant mais il faut se dire qu'avant d'exécuter onInit() (que ce soit automatique ou parce que tu sauvegardes) la HC3 va relire tout le code et toutes les pages du QA, et donc inclure les fonctions des pages annexes. C'est pourquoi il faut faire attention à ce que tu déclares dans les pages autres que main.lua !
  6. fel-x

    QuickApp pour les Nuls

    Merci @Lazer ! Grâce à ta réponse, j'ai compris un élément essentiel : Dès lors, j'ai vu les choses autrement et ça m'a permis d'avancer à grands pas... Ma première QA est écrite et fonctionnelle Je l'ai mise à disposition dans le sujet en question et sur marketplace.
  7. Ca y est j'y suis arrivé ! Ma première QA fonctionne. La voici pour ceux qui veulent tester... évidemment il faut un compte chez Blueriiot sans quoi vous n'aurez pas accès à l'API. De toute façon ça n'a aucun intérêt en dehors du contexte d'une sonde Blue Connect (Plus/Go). Je joins l'icône. Je l'ai mise à disposition sur le Fibaro Marketplace aussi, pour voir si ça intéresse d'autres personnes que moi sur cette terre Tous vos retours et/ou conseils sont bienvenus. BlueRiiot_Blue_Connect_v1.1.fqa
  8. tout d'abord la sonde que tu proposes (Blue Connect Go) est uniquement fonctionnelle en local en bluetooth ou alors avec le kit wifi etc. Moi je dispose de la Blue Connect Plus (ici) Elle a une batterie de 3-4 ans et se calibre toute seule. J'ai changé la batterie il y a peu, ça m'a couté 8 Euro je pense. Mais le sonde Blue Connect Plus est chère à l'achat par contre. Elle se connecte au réseau SigFox (ancien réseau militaire je pense) chaque heure et transmet toutes les valeurs mesurées au serveur de BlueRiiot. Une application gratuite te permet de vérifier à tout instant les mesures (soit en bluetooth si tu es à côté) soit par internet car elle se connecte au serveur de BlueRiiot. Grâce à son API (non public ou en tout cas très peu documenté) j'ai réussi à simuler une connexion par un script Lua pour récupérer les mêmes valeurs. Je n'en suis pas encore à les faire afficher de façon jolie dans un QA mais je les reçois ! Pour ce faire, j'ai installé un proxy sur mon ordinateur et fait passer mon iPhone par ce proxy pour récupérer tout le code qui passe dans les deux sens ! Ca m'a donné plein d'infos sur la méthode d'authentification de l'appli et sur les requêtes et les endpoints. J'ai aussi cherché des indices dans des scripts publiés sur GitHub et testé dans les langages que je connais sur ma raspberry... puis tenté de traduire en LUA. Bref, j'ai écrit un premier scénario en LUA et quand je l'active, il récupère l'ID de mon BlueConnect Ce script ne sert qu'une fois, car l'ID ne change pas. Mais j'en avais besoin pour le mettre dans un second scénario qui se connecte à l'API, envoie mes données d'identification et l'ID du BlueConnect, et récupère un token que j'emploie pour générer une requête signée AWS4 et recevoir en retour les dernières mesures que ma sonde a envoyées au serveur. Il me debug ces dernières valeurs. Exactement comme si j'allumais mon appli sur mon iPhone. Je suis occupé à essayer de mettre tout ce code dans une QA pour que ce soit automatisé et pouvoir le partager avec toi et le monde Mais c'est compliqué
  9. fel-x

    QuickApp pour les Nuls

    Salut les amis, je parcours des dizaines de forums et de topics ces derniers mois pour me familiariser avec les quickapps durant mon temps libre. J'ai écrits des scénarios en LUA qui fonctionnent individuellement... mais je voudrais les combiner dans une quickapp. Et évidemment ça ne marche pas du premier coup, surtout en l'absence de connaissances profondes en programmation. Ci-dessus dans ce post je pense avoir trouvé une piste pour ce que je veux faire. En gros, je voudrais séparer plusieurs fonctions dans des fichiers (certains disent "onglets" mais ce sont bien des fichiers LUA) de la même QA afin de ne pas l'alourdir. Disons que je crée une QA qui s'appelle QA_Test avec dedans 3 fichiers lua : main (il est obligatoire lui), tools et utils Ma structure serait : QA_Test ├─ main.lua ├─ tools.lua ├─ utils.lua Disons aussi que tools.lua contient un long code rempli de variables locales et de fonctions et exécute ces fonctions et termine par enregistrer les résultats obtenus dans des variables de la QA avec setVariable() Disons enfin que utils.lua est du même acabit mais sert à faire d'autres calculs et exécuter d'autres fonctions, et termine lui aussi par enregistrer les résultats obtenus dans des variables de la QA avec setVariable() Si je comprends bien il n'y a pas de fonction aussi simple que "require()" ou "include()" en Lua sur HC3. Cependant on peut appeler une fonction ou plusieurs fonctions d'un autre fichier de la même QA ? Mais peut-on simplement faire exécuter tout le code lua d'un fichier ? Dans mon cas, main.lua devrait par exemple vérifier une variable "machin" et si elle est vide (= "") alors il exécute tools.lua et sinon il exécute utils.lua. C'est possible ça ? Ou bien je dois lui faire exécuter un scénario via son ID ? Car en effet le contenu de tools.lua et de utils.lua provient de 2 scénarios que j'ai écrits et qui fonctionnent. Ce serait quand même plus propre d'avoir tout le code dans une seule QA, de façon à pouvoir la partager non ? Merci pour vos conseils avisés
  10. Ça m’a pris des semaines mais j’y suis parvenu J’ai un script LUA complet et fonctionnel qui récupère toutes les valeurs en temps réel via l’API. je voudrais en faire une QA mais je n’ai pas encore compris les QA au point d’en écrire une. Si quelqu’un est intéressé par ce code et la conversion en QA.. je veux bien un coup de main.
  11. Je confirme, j'emploie une sirène Aeotec (j'ai une Gen 5) qui est branchée dans une prise en bas de la maison et dont le volume sonore est suffisant pour être audible plusieurs étages plus haut. Je la fais sonner différemment selon le scénario J'ai même prévu qu'elle hurle un petit coup lorsque quelqu'un sonne à la porte (je n'entends pas toujours le carillon sinon) voilà une idée...
  12. Finalement j'ai pu aller plus loin et récupérer les valeurs des Credentials (session_token, access_key et secret_key). Mais je ne sais pas comment les envoyer correctement puisque l'erreur retournée est : Mesures reçues : {"message":"Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. (Hashed with SHA-256 and encoded with Base64) Authorization=/4IItnRn5MiD....7+QQa0tFbQoEI="} Voici mon extrait de code, si jamais quelqu'un a déjà eu à se connecter de cette manière ? net.HTTPClient():request(measure_url, { options = { method = 'POST', headers = { ["Authorization"] = auth_string, ["X-Amz-Date"] = os.date("!%Y%m%dT%H%M%SZ"), ["Credential"] = je_mets_quoi_ici_?, ["Signature"] = je_mets_quoi_ici_?, ["SignedHeaders"] = je_mets_quoi_ici_?, ["Content-Type"] = "application/json" }, timeout = 5000 }, success = function(response) hub.debug("Connexion Blue Riiot", "Mesures reçues : " .. response.data) end, error = function(err) hub.debug("Connexion Blue Riiot", "❌ Erreur lors de la demande des mesures : " .. err) end })
  13. Salut la communauté. Les beaux jours reviennent et je vais sortir mon jacuzzi extérieur d'hivernage. Maintenant que j'ai une HC3, j'en découvre la puissance et je voudrais intégrer les paramètres de la sonde BLUE CONNECT qui flotte dans l'eau. Il y a quelques années, un membre avait tenté le coup sur HC2 mais entretemps, la société BlueRiiot a supprimé le support de l'IFTTT et je pense que ce n'est plus une bonne piste. De mon côté, j'y arrive très bien en bidouillant sur ma raspberry, car plusieurs codes sont disponibles sur GitHub en JS ou Python pour exploiter l'API de BlueRiiot. En reprenant celui-ci par exemple, je parviens à me connecter à l'API, à récupérer un TOKEN et à demander les dernières mesures. Le résultat est correct et correspond parfaitement à ce que fournit l'application BlueRiiot sur iOS : Avant, j'aurais complété mon script JS pour exporter les valeurs reçues vers un fichier et vers des variables sur ma HCL. C'est toujours faisable facilement sur HC3 ! Mais ça c'était avant... Comme je découvre la HC3 et le LUA, je me suis dit qu'il faudrait "traduire" mon script en LUA, ce sera plus "propre". Et c'est là que ça devient compliqué car il faut remplacer tous les appels à des bibliothèques et des fonctions externes par un code unique en LUA. J'ai réussi à écrire un scénario en LUA et à récupérer mon Token : [DEBUG] [SCENE123]: ✅ Token reçu : eyJraWQi...pT9Kw Mais après c'est galère, il faut récupérer plein d'autres valeurs (ACCESS_KEY, SECRET_KEY,...) en envoyant des requêtes HTTP signées en AWS, et ça je ne sais pas le faire. Je reçois donc : [DEBUG] [SCENE123]: Mesures reçues : {"message":"Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization header requires existence of either a 'X-Amz-Date' or a 'Date' header. (Hashed with SHA-256 and encoded with Base64) Authorization=Pr8kW1psrF9y....Q6vfqA"} Si certains d'entre vous sont intéressés par ce projet, je suis prêt à apprendre et partager ce que j'ai déjà. Je n'ai pas trop de temps libre mais je suis motivé Sinon je continuerai à chercher de mon côté et un jour je sortirai une QA... Pour info, voici ce qu'est un Blue Connect : https://www.blueriiot.com/eu-fr A bientôt !
  14. salut @ludol Merci pour ta QA ; je l'ai installée et ça tourne parfaitement bien !!
  15. Bah, tout est expliqué en français dans le post de @mprinfo Je ne l'ai lu qu'après...
×
×
  • Créer...