Aller au contenu

pinou

Membres confirmés
  • Compteur de contenus

    156
  • Inscription

  • Dernière visite

Tout ce qui a été posté par pinou

  1. Pour le VIRTUAL_BTN tu dois renseigner l'ID de ton module virtuel (a priori c'est bon, de ce que je comprends c'est l'ID 26) et le n° du bouton dans l'interface de ton module virtuel. Tu commences par 1 en haut a gauche et tu incrémentes en descendant de gauche a droite.
  2. @kioneoranga : avant j'utilisais le thermometre de piscine de chez Oregon couplé a ma zibase que j'utilise en mode "gateway" pour les divers protocoles .. mais ça c'était avant. En effet ce capteur n'est pas fiable, de temps en temps il change d'ID tu sais meme pas pourquoi .. bref de la daube qui flotte ! D'ailleurs je ne suis pas certain qu'il soit toujours commercialisé. Bref, maintenant je suis passé par une sonde branchée au qubino qui contrôle le moteur de la pompe de filtration. La sonde est dans un doigt de gant avec collier de prise de charge sur la tuyauterie de la piscine. Y a plus rien qui flotte à la surface, tout est invisible, tout fonctionne bien... nickel quoi !
  3. pinou

    Foscam Et Hc2 V4.x

    Certainement un pb de cache car je suis sous Chrome de mon côté et pas de soucis ... Envoyé de mon iPhone en utilisant Tapatalk
  4. pinou

    Foscam Et Hc2 V4.x

    Heu... Je ne suis pas certain d'avoir compris la question ... En résumé, le but est d'ajouter un paramètre bidon lors de la déclaration de ta caméra. Envoyé de mon iPhone en utilisant Tapatalk
  5. Salut Chris6783 et merci pour ce partage. J'ai regardé par curiosité ton module qui semble bien "chiadé". Je te remonte quelques petits soucis que je viens de voir dans le main loop : 1) J'ai remplacé l'ID en dur de ton VD par la variable que tu avais déjà initialisé d'ailleurs dans le code (juste après le bloc de configuration) : local ID_VD = fibaro:getSelfId() local ajustement = fibaro:get(ID_VD, "ui.labelAdjust.value") 2) Ensuite j'ai une erreur d'execution. Alors je ne suis pas du tout expert code lua, mais je ne pense pas que ce soit lié a une différence de version entre la v3.x et v4.x. Alors j'ai créé la variable globale, et je ne sais pas si c'est le cas chez tout le monde mais cette dernière prend la valeur 0 par défaut. Peut être que je m'y suis pris comme un pied ? Du coup, à la ligne 43/44, lorsque tu initialises pour la première fois ton conteneur pour la config, sa plante car tu essayes d'accéder a un tableau alors que la variable contient un entier. Bref, j'ai bidouillé rapidement un truc pour contourner la chose : -- preparer un conteneur pour la config if ((tonumber(cycles) ~= nil) or (cycles["config"] == nil )) then local newConfig = {} cycles = {} cycles["config"] = newConfig end En fait on prepare le conteneur par défaut de la config si cycles est un nombre (c'est mon cas a la con de la valeur 0 stockée) ou si un conteneur existe déjà mais est vide (ton test initial). J'écrase alors cycles par un tableau vide avant d'initialiser l'élément du tableau qui va bien. Voilà pour l'instant ce que j'ai vu, si des experts lua ont une solution moins bourrine, j'aimerai bien avoir leurs avis histoire de me coucher moins con demain soir En tout cas, encore bravo pour ton module !
  6. pinou

    Foscam Et Hc2 V4.x

    Ben de rien, c'est d'ailleurs un des bugs qui m'avait fait revenir en 3.6 la premiere fois que j'ai essayé de migrer en v4. Mais bon maintenant on va se dire (ou plutôt se convaincre) que c'est du passé ...
  7. Alors je suis finalement passé a cette version de firmware et chez moi apres suppression et inclusion du HEM2 tout est nickel : nouvel icone et remonte l'info correctement (je suis en USB pas sur piles, donc j'ai pas essayer d'appuyer sur le bouton pour déclencher la remontée d'info). Par contre j'ai 4 devices qui ont été créés alors que je m'attendais a en avoir seulement 3 non ? Le main et le deux voies pour chaque pince ampermétrique... Pour info, j'ai juste changé le paramètre 101 pour le passer a 6927 (remonter toutes les infos sur les deux voies).
  8. Rocketlud, même pb que toi depuis mon passage en v4.x, mais j'ai pu le corriger. Si ca peut aider cf http://www.domotique-fibaro.fr/index.php/topic/4579-foscam-et-hc2-v4x/
  9. Depuis ma migration de la v3 a la v4 l'interface web ne faisait plus apparaitre l'image fixe de mes cameras. Comme tout était correctement configuré et que tout fonctionnait en v3 j'ai pris le temps de regarder pourquoi j'avais ce comportement avec la v4. Si comme moi, pour accéder a vos cameras vous avez ajouté le login et password dans l'url des différentes commandes, depuis la v4 (en tout cas chez moi), l'ihm de fibaro ajoute un autre paramètre lors du rendu de la page (j'imagine bien pour se prémunir des problèmes de cache des navigateurs, l'url étant différente a chaque appel). Bref, du coup, j'ai aussi ajouté un paramètre a la con, pour contrer leur paramètres à la con Par exemple, l'url jpg donne : snapshot.cgi?user=xxx&pwd=xxx&dummy= ce qui au final, dans l'ihm fibaro de votre navigateur donnera un truc du genre : http://xxxxxx/snapshot.cgi?user=xxxx&pwd=xxx&dummy=?ts=1429942018810 voila, plus de pb d'images !
  10. Bon cool ! Si tout marche bien c'est l'essentiel Envoyé de mon iPhone en utilisant Tapatalk
  11. Alors je viens d'essayer a mon tour avec un virtual device qui modifie aussi une variable et je n'ai pas de problèmes. A - Es tu certain que le user que tu utilises a les droits d'accès a ton Virtual Device ? B - Si la réponse est oui, peux tu essayer ça : 1) tu ouvres la spreadsheet et l'éditeur de script 2) tu lances depuis la spreadsheet ta commande (menu Gcal2HCtools > Tester une commande) 3) tu passes sur l'éditeur de script et tu affiches la console (menu Affichage>Journaux ) Qu'obtiens tu ? Moi j'ai ça : [15-04-14 07:43:45:098 CEST] test : FILLES_ABSENTES [15-04-14 07:43:45:450 CEST] ==> J'ai pas les filles [15-04-14 07:43:45:555 CEST] http://xxxx:xxx/api/callAction?deviceID=79&name=pressButton&arg1=2 [15-04-14 07:43:45:859 CEST] 202.0 [15-04-14 07:43:45:860 CEST] ({Date:"Tue, 14 Apr 2015 05:43:36 GMT", 'Transfer-Encoding':"chunked", 'Keep-Alive':"timeout=15, max=100", 'Content-Type':"application/json;charset=UTF-8", Connection:"Keep-Alive", Server:"0.9", 'Cache-Control':"no-cache, no-store"}) [15-04-14 07:43:45:861 CEST] {}
  12. Mince alors je vois que Tapatalk interprète le html ... Donc au cas où ce ne serait pas clair dans mon message précédent, remplace les "& amp ;" (sans les espaces ni guillemets, s'il y en a) par "&" et essaye dans un browser... Envoyé de mon iPhone en utilisant Tapatalk
  13. Bonjour Pepite, alors l'erreur 404 indique que la ressource demandée n'est pas trouvée sur le serveur. Je vous dans l'URL qu'il y a des "&" la ou il ne devrait y avoir qu'un simple "&". Je ne sais pas si c'est lié àla saisie sur le forum ou mon client Tapatalk... Peux tu essayer l'URL dans un browser en prenant soin de remplacer les "&" et me dire si tout est ok ? Envoyé de mon iPhone en utilisant Tapatalk
  14. Relis bien le premier post sur l'utilisation de cette spreadsheet. Le principe de la fonctionnalité de gestion des emails est le suivant : Lorsque ta boîte gmail reçoit un certain type de message (base sur l'expéditeur, le sujet, le contenu, etc... A toi de le déterminer ), une règle Gmail que tu auras pris soin de mettre en place permettra d'appliquer un label a ce message. Le label permet de "marquer" le message en gros. Configure ce label dans la spreadsheet et toutes les minutes elle viendra relever et traiter les messages marqués de ce label. Une fois traité, le message est supprimé ... J'espère que c'est plus clair... Envoyé de mon iPhone en utilisant Tapatalk
  15. @tchrno : as tu configuré un label pour les emails qui doivent être traités ? Si oui, est ce la bonne valeur que tu as inscrit dans la spreadsheet ? Envoyé de mon iPhone en utilisant Tapatalk
  16. Oui comme l'a dit jojo, si pour l'instant il y a tout qui fonctionne chez toi ne change rien ! Tu prendras la prochaine s'il y a de grosses évolutions ... Envoyé de mon iPhone en utilisant Tapatalk
  17. Yes bien vu ! C'est corrigé ! Merci
  18. Houuulalaaaaaaaaa ... c'est tellement gros que j'ai honte de ne pas avoir vu ça ! Effectivement, la première commande n'est pas prise en compte. Je ne l'ai pas vu de mon côté car j'ai configuré une commande de test que je n'utilise jamais ... désolé pour ce vilain bug de débutant ! Bref la correction est simple : - soit tu reprends la spreadsheet partagée ( mais bon t'as tout a reconfigurer...galère) - soit tu corriges directement dans le code aux lignes 284, 261 et 684. Il faut remplacer for (var i = COMMANDS_ROW + 1; i < rows.getNumRows(); i++) { par for (var i = COMMANDS_ROW; i < rows.getNumRows(); i++) { (supprimer le +1 tout simplement) Merci Jojo !
  19. @Jojo, Pour ton premier problème, le pré-requis au niveau du code est que les commandes doivent être insérées dans une certaine plage de celulles. Elles doivent commencer a partir de la ligne n°5 et de la colonne n°2. Si tu modifies la structure le feuille alors il y a de grandes chances que ce ne fonctionne plus. Peux tu vérifier cela ? Concernant le 2cd problème, je pense que c'est lié a un probleme de copié collé. Il faudrait que tu supprime les derniers paramètres des commandes qui posent problème, tu reselectionnes le type de commande (en le changeant une fois) et normalement les regles de validation des cellules devraient être regénérées correctement pour cette ligne...
  20. @Pepite, c'est étrange car l'erreur indique que l'API Calendar n'est pas activée... et pourtant tout fonctionne bien. Perso, Google remonte tellement d'erreurs diverses (ressource temporairement non disponibles, etc...) que j'ai désactivé les notifications de mon côté, d'autant plus que tout est fonctionnel ! Dans le code de la v2 j'ai simplifié pas mal de choses concernant la récupération des info de la spreadsheet mais rien qui touche au traitement de l'agenda, des mails... Donc c'est a rien y comprendre. Je vais voir si je peux ajouter des try..catch.. ou équivalent dans le code pour faire ca plus proprement ...
  21. pinou

    Zibasegateway Pour Hc2

    @ducono ce que tu demandes est couvert par la solution que j'ai mis en place, justement pour adresser mon problème au niveau des détecteurs d'ouverture EnOcean que j'ai. Tout est en temps réel. Le script php met a jour les deux variables et déclenche dans la foulée un device virtuel qui traite ces variables. Du coup, le déclenchement des scènes fonctionne. Pas besoin de loop... Relis bien mes posts et aussi le dernier qui donne un exemple de traitement de ces données. Envoyé de mon iPhone en utilisant Tapatalk
  22. pinou

    Zibasegateway Pour Hc2

    J'ai continué de bidouiller mon module car il y a certaines parties qui ne me plaisaient pas. En effet, si je prends par exemple ma sonde anémomètre, les données remontées sont exprimées en m/s pour ce qui est de la vitesse et en degré pour la direction du vent. Bon perso, ce genre d'info ne me parle pas trop, je préfère des km/h et des points cardinaux (N, NE, etc.), c'est plus facile pour ma petite tête de se représenter la chose. Donc 2 solutions : soit je modifie le script PHP pour faire la conversion soit je modifie le device virtuel coté HC2 pour faire le job J'ai pris la 2cd solution, car ça permet a chacun d'implémenter sa propre transformation de données et plus (modification des images, etc.) et c'est bien plus accessible que d'aller modifier du PHP sur le serveur... Donc voici 2 exemples d'implémentation : 1) tout d'abord j'ai modifié quelque peu le module virtuel Zibase afin d'associer à chaque variable traitée, un id de module Virtuel : devices = {["Vent_dir"] = 101, ["Vent_ms"] = 101, ["Pluviometrie"] = 102, ["UV_terrasse"] = 103, ["Baie_1_salon"] = 104, ["Baie_1_salle"] = 105, ["Baie_2_salle"] = 106 }; Ainsi lorsque je vais traiter la variable Vent_dir ou Vent_ms, je sais que je dois déclencher le bouton n°1 du module dont l'ID est le 101 2) Ce déclenchement s'effectue de la façon suivante : -- Update VD associated if (devices[var_name]) then fibaro:call(devices[var_name], "pressButton", "1"); end 3) Reste plus qu'a mettre en place le module virtuel associé. Je suis parti du principe que ces modules ont tous au miminum un premier bouton permettant de déclenche la mise à jour les informations affichées sur ce dernier. Exemple n° 1 : sonde anémomètre Le code du bouton 1 est donc : function round(num, idp) local mult = 10^(idp or 0); return math.floor(num * mult + 0.5) / mult; end -- set icon local vd_id = fibaro:getSelfId(); local vd_icon = fibaro:get(vd_id, "deviceIcon"); fibaro:call(vd_id, "setProperty", "currentIcon", vd_icon); -- conversion vitesse en km/h local vitesse = tonumber(fibaro:getGlobalValue('Vent_ms')); vitesse = round((vitesse * 3.6), 1); -- conversion ° en point cardinal local degre = fibaro:getGlobalValue('Vent_dir'); local direction = {"N", "NE", "E", "SE", "S", "SO", "O", "NO", "N"}; local index = round((degre / 45),0); -- Mise à jour du label fibaro:call(vd_id,"setProperty","ui.Label1.value", vitesse.." km/h"); fibaro:call(vd_id,"setProperty","ui.Label2.value", direction[index+1]); Et voilà , le visuel : Exemple 2 : détecteur d'ouverture Ici, pas de conversions spécifiques à faire, je vais juste mettre à jour l'image du module afin d'être en accord avec la valeur de la variable associée : -- set icon local vd_id = fibaro:getSelfId(); local vd_icon_ouvert = 1081; local vd_icon_ferme = 1080; if (fibaro:getGlobalValue('Baie_2_salle') == "ON") then fibaro:call(vd_id, "setProperty", "currentIcon", vd_icon_ouvert); else fibaro:call(vd_id, "setProperty", "currentIcon", vd_icon_ferme); end Et voilà les visuels : Le jour ou Fibaro se décidera d'activer les "plugin developer" sur la v4.x, alors avec le Virtual Sensor de Krikroff l'intégration de la Zibase sera nickel ...
  23. pinou

    Zibasegateway Pour Hc2

    Oui, y a certainement des parties ou je suis allé un peu vite dans les explications, mais bon, tu verras, ça ne demande pas d'être expert PHP/Linux Et puis s'il y a un pb et que je peux aider, n'héstitez pas a poser des questions ...
  24. Après le calendrier Google, je me suis attaqué maintenant à ma Zibase. En effet, j'ai commencé la domotique il y a quelques temps de ça, avec une Zibase. Depuis elle ne m'a jamais quitté. Même si aujourd'hui j'ai migré (pratiquement) tous mes modules zwave sous la Home center, j'utilise toujours ma Zibase pour les devices Oregon et EnOcean essentiellement. J'ai vu passer différentes solutions permettant de récupérer les infos/valeurs de ces modules au sein de la HC2. Ceci dit, rien de satisfaisant pour moi, car les solutions sur lesquelles je suis tombé font essentiellement du pooling vers la Zibase, or j'ai besoin de temps réel. Pas pour les relevés des sondes Oregon mais pour les détecteur d'ouverture EnOcean. Je me suis donc amusé à trouver une autre solution répondant à mon besoin. Le principe Le principe est assez simple : plutôt que d'aller voir de façon périodique l'état des devices de la Zibase, je me suis dit qu'il suffit en fait "d'écouter" ce que broadcast la Zibase et de chopper dans ce flux ce qui m'interesse. Il suffit alors de passer par l'api de Fibaro pour mettre à jour les variables correspondantes dans ma HC2. Dans le détail... Il s'agit d'un script PHP que j'ai hébergé sur mon syno (mais un RPI ou toute autre machine pouvant faire tourner du PHP 24h/24 suffit). Pas besoin de configurer un serveur web puisque le script PHP tourne en mode CLI (lancé automatiquement au démarrage du syno dans mon cas). Lors du lancement du script, ce dernier va s'abonner aux messages de la Zibase. Il va donc recevoir un flux de ce type a chaque fois qu'un device remonte une info vers la Zibase : Received radio ID (<rf>433Mhz Oregon</rf> Noise=<noise>2420</noise> Level=<lev>3.4</lev>/5 <dev>Temp-Hygro</dev> Ch=<ch>2</ch> T=<tem>+18.4</tem>C (+65.1F) Humidity=<hum>45</hum>% Batt=<bat>Ok</bat>): <id>OS439218434</id> On décode alors ces données pour pouvoir mettre à jour la ou les variables associées au niveau de la HC2. Un des points délicats concerne la configuration du fichier permettant de mettre en place ce décodage. Le fichier de configuration des messages de la Zibase Ce fichier est donc un des éléments essentiels de cette solution. Il s'agit d'un fichier json (pour la facilité de lecture et construction). Il y a 2 parties dans ce fichier : Un premier élément de configuration permettant de définir les différents protocoles radio qui seront reconnus par le script. On vient dire ici, par protocol (Oregon, EnOcean, ...) et par type de device (Détecteurs, sondes température, etc.) quelles sont les données qu'il faut récupérer dans le flux correspondant. Un second élément permet de définir pour chaque device reconnu (par son ID Radio) quelles sont les variables qui seront mise a jour avec quelles données. On indiquera également si cette mise a jour doit se faire à chaque remontée d'info (exemple du détecteur), ou seulement si la donnée à été modifiée depuis la dernière mise à jour (afin de ne pas saturer la HC2 de requêtes inutiles). Autant vous prévenir tout de suite, cette configuration est chiante à souhait à mettre en place, mais bon j'ai pas trouvé plus simple et/ou plus automatisé. Ceci dit, une fois au point, on y touche plus ! Le script PHP Ce dernier vient avec un script contenant les variables de configuration dont les valeurs sont à modifier en fonction de votre installation. C'est assez explicite, je ne vais pas m'attarder dessus. Côté Home center Alors ici, il y a quelques petites choses à faire. Le plus gros problème est que je passe par l'api HTTP pour mettre à jour les variables. Or par ce biais, même si la mise à jour fonctionne, elle ne permet pas de déclencher les scènes et autres scripts qui seraient basés sur ces dernières (limitation de Fibaro ... va comprendre pourquoi ...). Du coup, j'ai implémenté la solution proposée par Jojo dans un autre post qui consiste à passer par l'intermédiaire d'un bouton de module virtuel qui vient mettre à jour la variable avec sa valeur. Bon ne pouvant pas m'amuser à créer un bouton pour chaque valeur discrète possible et imaginable, le script PHP va mettre à jour 2 variables permettant de stocker le nom de la variable finale à mettre à jour et sa valeur(1). On va ensuite déclencher le module virtuel (2) qui va récupérer ces données (3) et mettre à jour à son tour la variable désirée avec la bonne valeur (4). Et voilà , les scènes basées sur cette variable fonctionnent du coup (5) ! Je ne sais pas si vous me suivez toujours dans mon raisonnement (un peu tordu), j'essaye de vous faire un p'tit dessin pour illustrer la chose : script PHP ---------+----(1)--->zibaze_variable = "anemometre" <-. +----(1)--->zibaze_value = "3.2" <-----------+ | (3) `----(2)--->VModuleID = 99, PushButton n°1 --+ | (4) | v anemometre = "3.2" | (5) | v scene "FermetureStore" start Installation Du coup l'installation de tout ce bordel s'effectue en plusieurs étapes : A/ Pour la partie PHP il faut 1) Poser les différents fichiers dans un espace sur votre serveur et connectez vous dessus (ssh, telnet, ...) 2) Modifiez le fichier zibaseGateway_config.php et zibaseGateway.php afin d'initialiser les variables avec les bonnes valeurs (partout ou il y a des XXXX vous devez configurer en fonction de votre installation) 3) Assurez vous que la variable verbose soit positionnée à LogType::CONSOLE dans un premier temps (une fois que tout sera au point vous la changerez comme bon vous semble) 4) Lancez le script à la main php zibaseGateway.php 5) Si tout va bien, les messages reçus de la Zibase devraient s'afficher à l'écran. A vous de jouer maintenant pour mettre à jour le fichier zibaseMessages.json en conséquence. 6) Arrêtez les script (CTRL+c) et relancez le pour vérifier que la configuration est bien prise en compte correctement. B/ On passe maintenant au niveau de la Home Center 7) Déclarez les différentes variables que vous avez déclaré au point 5) 8) Déclarez les 2 variables Zibase_variable et Zibase_value (cf. fichier de configuration zibaseGateway_config.php) 9) Importez le module virtuel C/ Le test final 10) Relancez le script et vérifiez que les variables de votre HC soient bien mises à jour. Si ce n'est pas le cas, reprenez depuis le point 2) : soit vous n'avez pas initialisé vos variables correctement, soit le fichier json ne reflète pas la réalité... D/ Mode automatique Etant nouveau dans le monde des syno, j'avoue avoir un poil galéré pour que mon script php se lance automatiquement au démarrage du NAS. En gros il faut transformer ce script en deamon. 11) Tout d'abord j'ai modifié la config PHP au niveau de l'interface d'admin du NAS : Panneau de configuration > Services web > Paramètres PHP : cliquez sur personnaliser PHP openbase_dir et rajouter les chemins vers vos repertoires d'installation. Sans cette config vous risquez d'avoir des warnings/erreurs PHP lors de l'exécution. 12) J'ai créé un script SH qui permet de "deamonsier" le script PHP. Il suffit de faire un lien de ce script dans le bon répertoire : ln -s S99zibase.sh /usr/syno/etc/rc.d/S99zibase.sh Et voilà , le script sera lancé ou arrêté automatiquement au startup/shutdown de votre NAS. Bien entendu, ces différents points sont à adapter en fonction de votre config... Maintenant que tout fonctionne, il ne vous reste plus qu'a redémarrer votre NAS et vérifier que les variables HC2 soient bien mises à jour. A vous de créer des modules virtuels pour afficher l'état de vos variables dans vos interfaces... Remerciements Un gros merci à Cmoi20, auteur du projet ZiHome dont je me suis très très fortement inspiré pour mettre en place le script PHP jojo pour sa solution de mise à jour d'une variable via un module virtuel Bejamin Garel pour son sdk PHP pour la Zibase Téléchargements package PHP : zibaseGateway.zip Module virtuel : Zibase.vfib Image pour module virtuel :
  25. Oui, oui et oui, j'avais oublié ta solution ... merci pour le refresh
×
×
  • Créer...