Aller au contenu

yves.guern

Membres confirmés
  • Compteur de contenus

    55
  • Inscription

  • Dernière visite

  • Jours gagnés

    6

Tout ce qui a été posté par yves.guern

  1. Bonjour à tous, Je ne suis probablement pas au bon endroit, mais: Je m'attaque douououcement au portage de HC2 vers HC3. J'aurais voulu commencer par faire la Maj du firmware, et à vous lire je m'étais dis que la 120 c'était bien. Mon interface HC3 ne me propose que 130.64 ou 132.9. Il y a-t-il un moyen de récupérer/installer d'autres version? Merci d'avance
  2. Bonsoir à tous, Le topic initial est ancien mais j'en ai eu un vrai besoin et j'ai essayé de faire quelque chose d'équivalent avec les défauts signalés en moins, en particulier la capacité de logger des messages rapprochés de façon la moins intrusive/plus transparente possible pour le code 'envoyeur'... C'est ma première contribution à ce forum, dont j'ai abondamment profité, c'est mon premier retour. J'espère bénéficier de votre indulgence, au moins sur la forme. (quand j'y pense :j'espère ne pas avoir réinventé ici l'eau tiède d'un autre post?) Et, en attendant : Bonne Année à tous Le post initial reste valide et une base solide. Les différences sont: # il n'y a pas (plus) besoins de scène complémentaire à la VD. # La VD utilise TCP plutôt que UDP pour côser au syno (c'est donc à modifier dans le paramétrage des journaux de synology, cf 1er post de ce sujet, c'est la seule modification de ce côté). Pourquoi?: UDP n'est pas fait pour ASSURER la réception d'un message et encore moins la date de réception et encore moins l'ordre de réception. C'est fait pour émettre un flux sans se poser de question sur la réception. TCP c'est le contraire :-) # L'idée est de stocker rapidement les message à envoyer dans une pile (FIFO) pour pouvoir s'assurer d'avoir tous les messages à envoyer # Les messages empilés sont dépilés par bloc toutes les 3s (c'est la seule solution que j'ai trouvée pour ne pas avoir de conflit read/write, mais je suis à l'écoute..) Vu de l'extérieur: Les messages à envoyer sont json.encodés dans le champ 'logTemp' de la VD puis 'empilés' en appuyant sur le bouton 'Empil' (voir plus bas code à ajouter), le reste se passe tout seul : Ils sont dépilés régulièrement (tte les 3s): # vers le NAS si leur niveau de sévérité est égal ou dépasse ce qui est indiqué dans le label 'MinLevel', # poubellisés sinon. Le Label MinLevel peut être changé en cliquant sur les bouton '+' ou '-'. Cela permet de moduler la charge des journaux selon que l'on est en train de tester quelque chose ou non... Le bouton 'reset' est au fond un bouton de debug. Mais il est recommandé d'appuyer dessus avant de tenter d'envoyer un 1er log. La 'nouvelle' VD se présente ainsi: pour envoyer quelque chose au journal, la base est d'ajouter dans la scène/VD où cela est nécessaire le code suivant : local vd_id = 175 -- id de VI_SynoLog (à remplacer................) msg={sev = "warning", Time=os.time(), orig= "Test Syslog Message", mess = "Text for a warning"} --évidemment à ajuster au besoin, selon toute logique orig devrait permettre d'identifier la scène ou la VD qui émet le message. fibaro:call(vd_id, "setProperty", "logTemp", json.encode(msg)) --La VD utilise intensivement les 'champs' log et logTemp, ne pas les utiliser à autre chose SVP fibaro:call(vd_id, "pressButton", 1) (voir plus loin pour les pb de synchro) Ce code 'empile' le message (daté de son heure propre, pas de l'heure d'émission vers le synology) il sera envoyé un peu plus tard, mais il s'agit d'un journal! (journal finalement lu plus tard histoire de comprendre les 'scoops' dont on a été informé par ailleurs :-) on n'est pas sur BFM!) La pile contient 10 messages (10 message/3secondes) Il est très simple d'augmenter ou diminuer cette dose dans le code associé au bouton 1 Le label 'In' est le nombre de message empilés, le label 'Out' est le nombre de messages envoyés vers le synology (ou filtrés vers la poubelle par 'MinLevel'). Si les deux valeurs sont égales c'est que tout a été traité. Si In est < Out cékia1bug!!! "plus loin pour les pb de synchro" c'est ici: Pour les puristes ou ceux qui pensent avoir à envoyer plein de log importants à leur NAS je recommande: local vd_id = 175 -- id number of VI_SynoLog (à remplacer................) Time= os.time() while ((fibaro:getValue(vd_id, "logTemp") ~= "") and (os.difftime(os.time(),Time) < 2)) do fibaro:sleep(100) end msg={sev = "warning", Time=os.time(), orig= "Test Syslog Message", mess = "Text for a warning"} fibaro:call(vd_id, "setProperty", "logTemp", json.encode(msg) fibaro:call(vd_id, "pressButton", 1) Les très puristes pourraient ajouter un if ((fibaro:getValue(vd_id, "logTemp") ~= "") avant d'appuyer sur le bouton, dans la pratique les choses vont tellement vite mon brave monsieur... Dans mon cas j'ai intégré ces lignes dans un code générique d’encapsulation de fibaro:debug, activé si une variable 'severity' est non nulle Installation: charger le vfib (sur une HC2 :-)), Renseigner IP du NAS et Port (514), cliquer sur le bouton 'Reset', envoyer un message de test (le plus simple est de copier un des codes ci dessus dans une scène test) PS1: en cours de fonctionnement le label 'Data' contient le dernier lot de messages envoyés, cela permet de se faire, par sondage, une idée de la nécessité d'augmenter la taille de la fifo. PS2: J'ai forcé le champ 'host' à HC2 dans dans le bouton 'Send' (2). Rien n’empêche de modifier... PS3: 'évidement' ce qui est json.encodé par l’émetteur doit être intelligible par ce qui est lu en appuyant sur le bouton 'Send'... Mais le fait de d'encoder json garanti que le reste est étanche aux modifications J'ai decouvert 2 bug (lecture de l'IP et timeout pas efficace). c'est corrigé par cette version 0.2 VI_SynoLog0.2.vfib
  3. Bonjour, Yves, 57 ans, Ingénieur (beaucoup d'informatique). Je me suis lancé dans la HC2 il y a déjà six mois (c'est donc une présentation tardive ) pour quelques automatismes "de base": mise en route (et extinction) automatique de la hotte aspirante dans la cuisine allumage extinction de la lumière dans le cellier et la cave gestion de vérins d'ouverture de porte ,... Je suis en train de faire passer l'arrosage du jardin sous contrôle de la HC2 en utilisant les données d'une station météo... Mes impressions Très déçu: de ne pas pouvoir écrire de plugins des capacités pratiques HTTP très limitées dans les scènes une documentation très dispersée "over the web" Mais: c'est quand même puissant agréablement surpris par la stabilité du fonctionnement, (bien sûr une fois que l'on est venu à bout des bugs que l'on a écrit ) Un très grand merci à ce site, et à ses animateurs! PS:J'ai également une IPX800
×
×
  • Créer...