Aller au contenu

Lazer

Administrateur
  • Compteur de contenus

    26 076
  • Inscription

  • Dernière visite

  • Jours gagnés

    1 298

Tout ce qui a été posté par Lazer

  1. C'est marrant à chaque fois qu'on parle de Jeedom.... c'est comme remettre une pièce dans la machine Je n'ai pas dit que Jeedom était mort, c'est on coté fanboy qui te fait bondir mais clairement la mode est passée, y'a beaucoup de gens qui ont quitté Jeedom pour aller sur Hass. Il n'y a qu'à aller sur les forum (les autres bien sûr, pas ici) pour s'en rendre compte. Après, est-ce qu'on a des chiffres mesurables des différents solutions ? Je n'en sais rien... je n'ai jamais vu en tout cas. Et on ne peut pas se fier au nombre d'installation, car ça ne reflète pas le parc en cours d'utilisation. Cela dit que Jeedom continue d'évoluer, j'espère bien, le contraire serait malheureux. Et puis ils vont dominer le monde avec l'Atlas Et tu fais une fixation sur open-source, c'est marrant, mais alors pour le coup je ne suis pas vraiment d'accord. Le Wi-Fi n'est pas open-source, pourtant c'est devenu un standard de fait, utilisé par 100% des appareils connectés au réseau IP sans fil. Matter sera Open-Source, tant mieux (parce que ça permettra son adoption par les solutions open-sources telles que HA ou Jeedom) Mais les box open-source, telles que HASS ou Jeedom resteront des trucs de geek comme nous. Le grand public (soit environ 99% des utilisateurs), il ira utiliser des produits fermés (qui utilisent le protocole open-source Matter (et son pendant Thread)) pour utiliser sa domotique.... les écosystèmes Apple, Google, Amazon, etc... et certainement plein d'autres startup à venir qui vont proposer des solutions innovantes pour apporter de l’intelligence à le domotique, et dépasser enfin le stade du module avec un scénario programmé de façon statique pour réaliser telle ou telle action. Par exemple, simulation de présence, apprentissage des habitudes des gens pour chauffer au bon moment, etc. Des choses qu'on fait déjà, mais à la main.
  2. Le module est plutôt très fiable, surtout pour alimenter un radiateur électrique, c'est du résistif pur, très peu de chance de coller le contact du relai. La solution de secours c'est l'interrupteur connecté au module justement, pour pouvoir le piloter en local en cas de panne de la box... car dans ton système, la box c'est de loin l'élément le moins fiable (plantage système, erreur de programmation du scénario, coupure électrique, panne d'internet, etc.... les raisons de panne potentielle sont nombreuses)
  3. Ah oui ? Et ils utilisent quoi comme contrôleur ? Parce que de ma compréhension du marché, le réseau Z-Wave en lui-même est suffisamment fiable pour être proposé de façon professionnelle, mais pas les contrôleurs.... c'est toujours plus ou moins du bidouillage, mais manque de maturité pour être installé de façon pérenne (qui ne nécessite pas X heures de maintenance par an)
  4. Le module n'est pas raccordé à la Terre, mais il faut quand même que tu raccordes bien le radiateur à la terre (en direct donc), avec un domino/Wago
  5. Bienvenue sur le forum
  6. Lazer

    Bonjour

    Bienvenue sur le forum
  7. Je suis 100% d'accord avec mes 2 compères au dessus Home Assistant, c'est gratuit (et même moins cher que Jeedom qui fait payer ses plugins et son support), la cible c'est plus ceux qui n'ont pas un gros budget, ou bien qui souhaitent se mettre à la domotique et tester quelques modules dans un coin. Et dans ces 2 cas de figure, Z-Wave n'est pas vraiment adapté. Après c'est sûr, on trouve des gens qui veulent une grosse installation en Z-Wave avec HASS, c'est peut être ton cas, mais surement pas la majorité.... et même surement une très faible minorité.... et pour cela, tu peux ajouter Z-Wave via une clé USB, donc il y en a pour tous les gouts finalement Mais bon... on s'en fout un peu de HA, c'est un contrôleur domotique parmi tant d'autre, ce n'est pas lui qui va orienter le marché d'un coté ou d'un autre. On a l'impression de revivre les discussion d'il y a quelques temps, quand Jeedom était à la mode, à lire les utilisateurs on avait l'impression que c'était l'avenir. Non, c'est juste la solution à la mode à un moment donné. Après, est-ce que Z-Wave va survivre ou pas, il est encore un peu tôt pour le dire. Ce qu'on sait maintenant, c'est qu'il vivra plus longtemps que Zigbee, ce qui est assez amusant quand on repense aux discussions des dernières années où les aficionados de Zigbee présageaient le contraire. Ce qui me désole, c'est que Thread est majoritairement basé sur Zigbee, avec cette foutue fréquence 2.4 GHz encombrée (Wi-Fi et Bluetooth pour ne citer que les 2 plus fréquents).... donc ça va pas mieux marcher que Zigbee. Le coté positif, le protocole Matter qui viendra chapeauter tout ça, ne propose Thread comme n'étant que l'une des solutions pour les modules sans fils. Il est tout à fait ouvert aux autres protocoles comme Z-Wave, mais aussi les protocole propriétaires des différents fabricants membres de l'alliance (IO, etc). Du coup, Z-Wave peut continuer à perdurer techniquement parlant. Mais pour cela, il faut qu'il y ait un marché. D'un coté tu as les installateurs pros qui ne font pas de Z-Wave (plutôt du KNX), et de l'autre le grand public qui va se ruer en masse sur le moins cher (Thread).... il ne reste que les quelques geeks comme nous... pas sûr que ça suffise à justifier la conception et la vente de modules Z-Wave... Bon après, tant que mes modules Z-Wave fonctionnent, je ne me fais pas de souci. C'est tellement fiable qu'on peut les garder 10 ans, et même bien plus... on verra. Aucune raison de les remplacer par du Thread.
  8. Lazer

    Les ports ouverts sur HC3

    Le 500 c'est effectivement du VPN IPSec, mais pour pour le VPN vers les serveurs de Fibaro, mais pour la communication entre plusieurs box HC3/HC3L en mode Gateway (Passerelle) Le 9999 également, pour le même usage. Il s'avère que c'est un port pour des communications WebSocket Source : https://forum.fibaro.com/topic/55619-local-access-can-this-be-used-for-port-forwarding/?do=findComment&comment=236330
  9. Lazer

    Langage LUA

    Le problème des 2 pages de manuels de Fibaro, c'est qu'elles ne sont pas du tout didactique, donc il faut relire plusieurs fois, tester, bidouiller, et ça force de galérer ça finit par rentrer dans la tête Et aussi, ne pas oublier de chercher sur Google, ce qui nous ramène souvent sur ce forum, ou le forum officiel de Fibaro. Si on regarde le JSON d'un QuickApp (pour rappel : /api/devices/ID), on voit que les labels comme les boutons ont un attribut visible, donc théoriquement on doit pouvoir agir dessus avec les valeurs true/false. Cela dit je n'ai jamais essayé, donc on est en plein dans le cas de figure de ma 1ère ligne : tu testes avec updateView(), et si ça fonctionne, tant mieux Sinon.... tant pis Ou alors il faudra trouver une autre méthode. Il n'y a pas de propriété enable/disable, donc comme le suggère @Fredmas il faut coder sa propre logique en LUA dans le code du bouton... et agir (ou pas) en conséquence. Ce qui est sympa pour l'utilisateur, c'est de mettre un label qui sert juste à afficher une information, par exemple pour dire que l'action demandée est impossible pour telle ou telle raison. En effet, un bouton qui ne réagit pas sans donner de raison, ce n'est guère agréable.
  10. I think it's best to serialize http requests, as @jang suggested. You can use the same name for success() arguments, the LUA compiler will use the last one. But it can be dangerous because it can lead to confusion. A best practice is to use different names.
  11. L'heure courante récupérée avec os.time(), c'est celle du système (gérée par la carte mère avec son propre quartz) En tâche de fond, le démon NTP permet d'aller chercher l'heure à intervalle régulier sur les serveurs de référence sur Internet, et de remettre à le bonne heure l'horloge de la carte mère (qui dérive plus ou moins vite) C'est ainsi que ça fonctionne sur tous les ordinateurs. Les horaires de lever et coucher du soleil sont calculés par Fibaro en fonction de la localisation de la box (coordonnées latitude et longitude configurées dans les paramètres) Quel algorithme de calcul ils utilisent, je n'en sais rien.... Concernant la météo, il y a celle du système (/api/weather) qui est mise à jour à partir de la source configurée dans les paramètres : Dont soit YR Weather par défaut, soit un autre QA importé ou de notre création. Le bout de code que tu as donné, c'est pour mettre à jour les propriétés du module météo (un QA donc visible via /api/devices/ID), pas du système. Pour cela, il faut paramétrer ledit QA comme source de météo comme indiqué dans la capture d'écran juste au-dessus. Donc non, si on veut être précis, ton bout de code ne permet pas de "modifier les sources d'information du contrôleur", mais seulement d'ajouter une nouvelle source.... pour modifier la source, là encore, capture d'écran ci-dessus Bref, la météo, tu peux modifier la source à ta convenance. L'heure système et les horaires de coucher/lever du soleil, tu ne peux pas. Encore heureux. Ou alors tu modifies ton fuseau horaire et ta localisation, mais en réalité tu n'as pas changé les heures, mais juste "déplacé" la box dans l'espace.
  12. En pratique aucune. Si ce n'est que dans #3, ta variable http est globale. Perso j'ai tendance à utiliser la solution #1 avec self.
  13. Non.... !!! Parce que même si net.HTTPClient() est une fonction, ce qu'elle retourne n'est pas une fonction (mais une table), donc elle n'est pas publiée et aucun risque qu'elle soit exécutée depuis l'extérieur du QA. Donc ta variable self.http reste interne au QA. Elle est de type "table", et quand tu veux l'utiliser tu exécutes l'un de ses éléments appelé "request", qui est de type "function" => self.http:request(...)
  14. En fait le principe de base est relativement simple, puisque ça consiste à appeler une fonction en lui donnant un paramètre, ce paramètre est une variable de type "function" (pour rappel en LUA, les fonctions sont des variables au même titre que les autres type : string, table, number, etc) La fonction appelée s'exécute... puis à un moment elle va exécuter la fonction qui lui a été donnée en paramètre (le paramètre que j'ai appelé "callback" dans mon exemple) Une fois que tu as compris ça, il n'y a plus de limite, tu peux enchainer les rappels de fonctions à volonté.
  15. Bienvenue dans le monde merveilleux de l'asynchronisme Il faut utiliser une fonction de rappel (callback) : function QuickApp:onInit() self:debug("onInit") end local function currentData(callback) print("This function is checking regularly current meteo") local http = net.HTTPClient() http:request("http://...", { success = function() --blabla local jsonTableCurrent = json.decode(response.data) callback(true, jsonTableCurrent) end, error = function(msg) --blabla callback(false, msg) end, } end function mainCode(self) self:debug("This function is checking regularly the meteo for prevision") currentData( function(success, data) if success then self:debug(data.name) else self:error("ça s'est pas bien passé :", data) end end ) end Tu constates qu'il y a une première fonction de rappel lors du retour de http:request..... celle-ci en appelant une seconde, la tienne. C'est ultra puissant, mais pas évident à maitriser au début. Maintenant tu peux aller approfondir avec le sujet suivant : Et aussi celui-ci qui va prendre de l'importance à mesure que tu utilises des fonctions réputées pour planter de temps en temps (httprequest et json.decode) : Remarque : définir http à chaque passage de boucle n'est pas judicieux. Il vaut mieux le définir une seule fois à l'initialisation du QA, donc dans onInit, et l'utiliser par la suite. A ce sujet, voir la page 2 de 1er tuto dont j'ai donné le lien ci-dessus, on a abordé cette problématique.
  16. C'est ça. Enfin dans la limite du courant supporté par le relai quand même. Mais pour tout ce qui est éclairage LED par exemple, ça sera ok.
  17. ça a déjà été discuté avec @jjacques68 et une astuce donnée par @jang pour importer / mettre à jour automatiquement un fichier dans les QA. Mais perso je ne suis pas fan du tout, car ça empêche de partager facilement ses QA sur le forum (à cause des dépendances, le QA n'est plus autonome). Et une mise à jour du fichier pourrait très bien casser la compatibilité avec tous les QA existants. En effet, une évolution d'une fonction de la librairie pourrait par exemple prendre des arguments différents ou retourner des valeurs différentes et faire planter un QA qui utilisait une précédente version. Après si vous êtes rigoureux, dans le principe la solution est bonne. @jjacques68 avait fait un tuto :
  18. Sur le forum officiel (indisponible là tout de suite...) dans la section dédiée à cette version du firmware. En ce moment, ils sont à l'écoute. EDIT : voilà le forum est de retour : https://forum.fibaro.com/forum/1279-update-5080/
  19. Ouais je peux pas résister à la dernière nouveauté Et puis si la gestion des relais est réellement améliorée, avec protection contre les courants de démarrage et mesure de consommation, ça me permettra de retirer quelques contacteurs de puissance et pinces ampèremétriques, donc simplifier mon installation et faire de la place dans le tableau
  20. J'ai précommandé l'IPX800 V5 avec son alimentation, plus qu'à attendre mi-octobre pour jouer avec....
  21. C'est pareil. Le second argument est facultatif. Si tu ne le mets pas, il prend l'heure courante. Dans ton cas, en second argument, tu as mis l'heure courante (obtenue via os.time()) donc forcément il affiche la même heure. Mais si en second argument tu avais mis n'importe quel autre heure (stockée dans une variable, résultat d'un calcul savant, etc), alors il t'aurait formaté cette heure là.
  22. Lazer

    Problème de syntaxe

    202 c'est aussi un code indiquant que l'action s'est bien passée. Probablement une erreur dans la doc du Swagger. Pour le code, il faut utiliser la balise : Et tu auras bien accès à tous les langage LUA, PHP, etc : echo "Hello World";
  23. Pour l'utiliser c'est facile, il suffit de copier/coller le contenu dans un fichier tools d'un QuickApp (ou bien directement dans le fichier main, mais c'est moins propre... on a maintenant la possibilité d'avoir plusieurs fichiers dans les QA, autant s'en servir) Ainsi toutes les fonctions de tools seront accessibles n'importe où dans ton code LUA (depuis le fichier main ou n'importe quel autre fichier)... car tools est une variable de type table avec une portée globale. Ensuite dans ton code LUA tu peux afficher un texte en couleur de cette façon : tools:debug("Texte coloré en vert") Ou bien : tools:error("Texte coloré en rouge") Mieux encore : tools:print("blue", "Texte de niveau DEBUG coloré en bleu") Avec tools:print() tu peux utiliser n'importe quelle couleur prédéfinie en HTML (chercher la liste sur Google) Je m'en sert beaucoup dans mes QA quand j'ai beaucoup d'informations à afficher, les couleurs permettent de distinguer facilement les messages avec nos yeux d'humains sur un écran rempli de texte. Une fonction bien pratique aussi pour déboguer et afficher sous forme d'arborescence le contenu d'une table : local ma_table = {"blah", "pouf", truc = {"machine", "chose", bidule = {1,2}}} tools:deepPrint(ma_table) Après tu peux parcourir la liste des fonctions dans tools, il y en a de différentes sortes : manipulation des labels, sliders, variables QA et globales, urlencode & base64, split, etc... et même gestion des modules enfants et de leurs interfaces.
  24. Lazer

    Problème de syntaxe

    Je ne suis pas certain, mais je pense que la syntaxe de ton tableau $data en PHP n'est pas bonne, particulièrement la ligne args, il doit manquer des crochets ou accolades : $data = array( "args:{}, {}", "delay: 0" );
  25. Lazer

    Les ports ouverts sur HC3

    5060 et 5061 c'est pour Asterisk, le serveur SIP intégré dans la HC3 (comme sur la HC2) Le 9999 je ne sais pas
×
×
  • Créer...