Nouvelle version de Linknx 0.0.1.28 - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8) +--- Sujet : Nouvelle version de Linknx 0.0.1.28 (/showthread.php?tid=578) |
Nouvelle version de Linknx 0.0.1.28 - Anthony PENHARD - 11/03/2011 Bonjour, Pour info jean-François a validé une nouvelle release de linknx il y a quelques jours ... voici joint la liste des nombreuses évolutions de cette version, fruit de nombreuses heures de travail ... et un lien pour la télécharger : http://sourceforge.net/projects/linknx/files/linknx/linknx-0.0.1.28/ merci encore à lui pour sont travail @+ Anthony Release 0.0.1.28: * Add conditional actions (skip executions of a group of actions based on a given condition) * Do not execute stateless rules at init (problem with object conditions because EIBD connection not yet established) * Avoid use of tmpfile() function in XML parser (not supported on FritzBox) * Allow to insert object values in some actions (shell, e-mail, SMS, io-port, set-string) * Add condition to compare 2 objects (requires complete refactoring of Object and ObjectValue classes) * Fix for exportXML with Object-Conditions without value (michael111) * Add "toggle-value" action that will toggle value of a switching object * Allow millisecond delays in actions * Add "repeat" action that repeats a list of actions periodically a specified number of times * Add "cancel" action to cancel all ongoing actions of a rule * Add "send-read-request" action that will force sending of a read request on the bus * Add attribute read="true" for listener address which is used to send read request on the bus * Initial schedule for timers with at and *during* fixed (michael111) * Support for serial IO port * Support for variable length string objects (DPT 28.001) * Allow multiple messages in receive buffer (Mike Pieper) * Add command to Register/Unregister all objects for notification (Mike Pieper) * Better command-line parameter error reporting (Mike Pieper) * Fixes the XML for a notification message (Mike Pieper) * Avoid linknx crash in case of mysql error * Time-counter bugfix and 0-threshold support (Auto-Mate) * Fix bug on x64 due to size_t != unsigned int * Add command to query rules/timers status * Add support for DPT 29.xxx (signed 64bit value) * Fix TimeCounter condition not removed from timer queue when rescheduled Nouvelle version de Linknx 0.0.1.28 - jef2000 - 11/03/2011 Salut, "validé" me semble un bien grand mot. Disons plutôt que je l'ai vaguement testé et que je compte sur les plus courageux d'entre vous pour le tester plus en profondeur. C'est d'ailleurs pour ça que je n'ai pas encore compilé de binaires pour défférentes architectures. Je le ferai dans quelques temps, après avoir corrigé les bugs éventuels. A+ Jean-François On 11 mar, 11:42, Anthony PENHARD <a.penh...@gmail.com> wrote: > Bonjour, > > Pour info jean-François a validé une nouvelle release de linknx il y a > quelques jours ... > > voici joint la liste des nombreuses évolutions de cette version, fruit de > nombreuses heures de travail ... > et un lien pour la télécharger :http://sourceforge.net/projects/linknx/files/linknx/linknx-0.0.1.28/ > > merci encore à lui pour sont travail > > @+ > Anthony > > Release 0.0.1.28: > * Add conditional actions (skip executions of a group of actions based > on a given condition) > * Do not execute stateless rules at init (problem with object conditions > because EIBD connection not yet established) > * Avoid use of tmpfile() function in XML parser (not supported on > FritzBox) > * Allow to insert object values in some actions (shell, e-mail, SMS, > io-port, set-string) > * Add condition to compare 2 objects (requires complete refactoring of > Object and ObjectValue classes) > * Fix for exportXML with Object-Conditions without value (michael111) > * Add "toggle-value" action that will toggle value of a switching object > * Allow millisecond delays in actions > * Add "repeat" action that repeats a list of actions periodically a > specified number of times > * Add "cancel" action to cancel all ongoing actions of a rule > * Add "send-read-request" action that will force sending of a read > request on the bus > * Add attribute read="true" for listener address which is used to send > read request on the bus > * Initial schedule for timers with at and *during* fixed (michael111) > * Support for serial IO port > * Support for variable length string objects (DPT 28.001) > * Allow multiple messages in receive buffer (Mike Pieper) > * Add command to Register/Unregister all objects for notification (Mike > Pieper) > * Better command-line parameter error reporting (Mike Pieper) > * Fixes the XML for a notification message (Mike Pieper) > * Avoid linknx crash in case of mysql error > * Time-counter bugfix and 0-threshold support (Auto-Mate) > * Fix bug on x64 due to size_t != unsigned int > * Add command to query rules/timers status > * Add support for DPT 29.xxx (signed 64bit value) > * Fix TimeCounter condition not removed from timer queue when > rescheduled Nouvelle version de Linknx 0.0.1.28 - frederic Gilliard - 11/03/2011 Installé sur pogo plug sans problème avec tout (lua log4cpp et mysql) activé. ça semble bien marcher. Quelques nouveautés en test dont le Read dans les listener (j'avais déjà compilé et utilisé la pré-version du 0.0.1.28 sur le CVS juste avant le dernier ajout (* Add conditional actions (skip executions of a group of actions based on a given condition)) En tout cas, du beau boulot D'ailleur, comment utilise-t-on cette nouveauté: * Add conditional actions (skip executions of a group of actions based on a given condition) 2011/3/11 jef2000 <jef2000@ouaye.net> > Salut, > > "validé" me semble un bien grand mot. Disons plutôt que je l'ai > vaguement testé et que je compte sur les plus courageux d'entre vous > pour le tester plus en profondeur. C'est d'ailleurs pour ça que je > n'ai pas encore compilé de binaires pour défférentes architectures. Je > le ferai dans quelques temps, après avoir corrigé les bugs éventuels. > > A+ > > Jean-François > > > > * Avoid linknx crash in case of mysql error > > * Time-counter bugfix and 0-threshold support (Auto-Mate) > > * Fix bug on x64 due to size_t != unsigned int > > * Add command to query rules/timers status > > * Add support for DPT 29.xxx (signed 64bit value) > > * Fix TimeCounter condition not removed from timer queue when > > rescheduled > Nouvelle version de Linknx 0.0.1.28 - jef2000 - 11/03/2011 C'est juste une action avec à l'intérieur une condition et une liste d'actions. Bien sûr, le paramètre "trigger" n'a plus aucun sens (il est d'ailleurs rejeté) puisque l'évaluation de la condition est déclenchée uniquement lorsque l'action est exécutée. Ca ressemble à ça: <action type="conditional"> <condition type="object" id="send_notifications" value="on" /> <action type="shell-cmd" cmd="send_notification.sh $ {valeur_compteur_gaz} ${valeur_compteur_eau}" var="true" /> <action type="set-string" id="msglong" value="Light is $ {ecl_salon} " /> </action> J'en ai profité pour illustrer 2 autres nouveautés: 1) dans les commandes shell, les e-mails ou SMS, on peut ajouter le paramètre var="true". Dans ce cas, ${id_objet} sera remplacé par la valeur de l'objet. 2) Une action set-string qui assigne à un objet une valeur construite à partir de la chaine de caractère dans laquelle le même mécanisme de remplacement qu'au point 1 est appliqué. A+ Jean-François On 11 mar, 17:02, frederic Gilliard <mail2fre...@gmail.com> wrote: > Installé sur pogo plug sans problème avec tout (lua log4cpp et mysql) > activé. ça semble bien marcher. > Quelques nouveautés en test dont le Read dans les listener (j'avais déjà > compilé et utilisé la pré-version du 0.0.1.28 sur le CVS juste avant le > dernier ajout (* Add conditional actions (skip executions of a group of > actions based on a given condition)) > > En tout cas, du beau boulot > > D'ailleur, comment utilise-t-on cette nouveauté: > * Add conditional actions (skip executions of a group of actions based on a > given condition) > > 2011/3/11 jef2000 <jef2...@ouaye.net> > > > Salut, > > > "validé" me semble un bien grand mot. Disons plutôt que je l'ai > > vaguement testé et que je compte sur les plus courageux d'entre vous > > pour le tester plus en profondeur. C'est d'ailleurs pour ça que je > > n'ai pas encore compilé de binaires pour défférentes architectures. Je > > le ferai dans quelques temps, après avoir corrigé les bugs éventuels. > > > A+ > > > Jean-François > > > > * Avoid linknx crash in case of mysql error > > > * Time-counter bugfix and 0-threshold support (Auto-Mate) > > > * Fix bug on x64 due to size_t != unsigned int > > > * Add command to query rules/timers status > > > * Add support for DPT 29.xxx (signed 64bit value) > > > * Fix TimeCounter condition not removed from timer queue when > > > rescheduled > > Nouvelle version de Linknx 0.0.1.28 - sprint95 - 12/03/2011 Bonjour, Je voulais savoir si on pouvait récupérer la sortie d'une command shell dans un objet ? Ou bien il n'y a que par script LUA que c'est possible ? Thierry On 11 mar, 21:12, jef2000 <jef2...@ouaye.net> wrote: > C'est juste une action avec à l'intérieur une condition et une liste > d'actions. > Bien sûr, le paramètre "trigger" n'a plus aucun sens (il est > d'ailleurs rejeté) puisque l'évaluation de la condition est déclenchée > uniquement lorsque l'action est exécutée. > Ca ressemble à ça: > > <action type="conditional"> > <condition type="object" id="send_notifications" value="on" /> > <action type="shell-cmd" cmd="send_notification.sh $ > {valeur_compteur_gaz} ${valeur_compteur_eau}" var="true" /> > <action type="set-string" id="msglong" value="Light is $ > {ecl_salon} " /> > </action> > > J'en ai profité pour illustrer 2 autres nouveautés: > 1) dans les commandes shell, les e-mails ou SMS, on peut ajouter le > paramètre var="true". Dans ce cas, ${id_objet} sera remplacé par la > valeur de l'objet. > 2) Une action set-string qui assigne à un objet une valeur construite > à partir de la chaine de caractère dans laquelle le même mécanisme de > remplacement qu'au point 1 est appliqué. > > A+ > > Jean-François > Nouvelle version de Linknx 0.0.1.28 - Ben - 12/03/2011 Bonjour Jean-François, Elle est prometteuse cette release !! Je vais la tester avec grand plaisir, mais peux-tu nous éclairer davantage sur les nouveautés ? Désolé de t'en demander "encore (et toujojurs) plus", mais j'avoue ne pas tout comprendre (quoi tester et comment)... > Release 0.0.1.28: > * Add conditional actions (skip executions of a group of actions based > on a given condition) Ok, vu dans ton post précédent. > * Do not execute stateless rules at init (problem with object conditions > because EIBD connection not yet established) Ca c'est la condition "if-true", non ? > * Avoid use of tmpfile() function in XML parser (not supported on > FritzBox) N'ayant pas de FritzBox, je ne pourrai pas tester. > * Allow to insert object values in some actions (shell, e-mail, SMS, > io-port, set-string) C'est le système de variable que tu as décrit dans ton précédent post. A tester avec des actions de type "set-string", "shell-cmd", "ioport- tx". > * Add condition to compare 2 objects (requires complete refactoring of > Object and ObjectValue classes) Pas compris... > * Fix for exportXML with Object-Conditions without value (michael111) Pas compris... > * Add "toggle-value" action that will toggle value of a switching object Action de type "toggle-value", ok. > * Allow millisecond delays in actions Ok > * Add "repeat" action that repeats a list of actions periodically a > specified number of times Un exemple ? > * Add "cancel" action to cancel all ongoing actions of a rule Un exemple ? > * Add "send-read-request" action that will force sending of a read > request on the bus Pas compris... > * Add attribute read="true" for listener address which is used to send > read request on the bus Pas compris... > * Initial schedule for timers with at and *during* fixed (michael111) Pas compris... > * Support for serial IO port Un exemple ? > * Support for variable length string objects (DPT 28.001) Compris, je vais voir si je peux tester. > * Allow multiple messages in receive buffer (Mike Pieper) Pas compris... > * Add command to Register/Unregister all objects for notification (Mike > Pieper) Pas compris... > * Better command-line parameter error reporting (Mike Pieper) Pas compris... > * Fixes the XML for a notification message (Mike Pieper) Pas compris... > * Avoid linknx crash in case of mysql error Ok > * Time-counter bugfix and 0-threshold support (Auto-Mate) J'ai vu les examples de Auto-mate dans le forum linknx, ok. > * Fix bug on x64 due to size_t != unsigned int Ok, mais je ne pourrai pas tester. > * Add command to query rules/timers status Il doit s'agir de cet ordre xml : <read><status/></read> > * Add support for DPT 29.xxx (signed 64bit value) Compris, je vais voir si je peux tester. > * Fix TimeCounter condition not removed from timer queue when > rescheduled Ok, j'avais suivi les échanges sur le forum linknx. Merci et à bientôt, Ben Nouvelle version de Linknx 0.0.1.28 - Arnaud Cognard - 12/03/2011 Installé avec succès sur 1 debian, avec lua et mysql -----Message d'origine----- De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com] De la part de jef2000 Envoyé : vendredi 11 mars 2011 16:56 À : domotique-EIB Objet : Re: Nouvelle version de Linknx 0.0.1.28 Salut, "validé" me semble un bien grand mot. Disons plutôt que je l'ai vaguement testé et que je compte sur les plus courageux d'entre vous pour le tester plus en profondeur. C'est d'ailleurs pour ça que je n'ai pas encore compilé de binaires pour défférentes architectures. Je le ferai dans quelques temps, après avoir corrigé les bugs éventuels. A+ Jean-François On 11 mar, 11:42, Anthony PENHARD <a.penh...@gmail.com> wrote: > Bonjour, > > Pour info jean-François a validé une nouvelle release de linknx il y a > quelques jours ... > > voici joint la liste des nombreuses évolutions de cette version, fruit de > nombreuses heures de travail ... > et un lien pour la télécharger :http://sourceforge.net/projects/linknx/files/linknx/linknx-0.0.1.28/ > > merci encore à lui pour sont travail > > @+ > Anthony > > Release 0.0.1.28: > * Add conditional actions (skip executions of a group of actions based > on a given condition) > * Do not execute stateless rules at init (problem with object conditions > because EIBD connection not yet established) > * Avoid use of tmpfile() function in XML parser (not supported on > FritzBox) > * Allow to insert object values in some actions (shell, e-mail, SMS, > io-port, set-string) > * Add condition to compare 2 objects (requires complete refactoring of > Object and ObjectValue classes) > * Fix for exportXML with Object-Conditions without value (michael111) > * Add "toggle-value" action that will toggle value of a switching object > * Allow millisecond delays in actions > * Add "repeat" action that repeats a list of actions periodically a > specified number of times > * Add "cancel" action to cancel all ongoing actions of a rule > * Add "send-read-request" action that will force sending of a read > request on the bus > * Add attribute read="true" for listener address which is used to send > read request on the bus > * Initial schedule for timers with at and *during* fixed (michael111) > * Support for serial IO port > * Support for variable length string objects (DPT 28.001) > * Allow multiple messages in receive buffer (Mike Pieper) > * Add command to Register/Unregister all objects for notification (Mike > Pieper) > * Better command-line parameter error reporting (Mike Pieper) > * Fixes the XML for a notification message (Mike Pieper) > * Avoid linknx crash in case of mysql error > * Time-counter bugfix and 0-threshold support (Auto-Mate) > * Fix bug on x64 due to size_t != unsigned int > * Add command to query rules/timers status > * Add support for DPT 29.xxx (signed 64bit value) > * Fix TimeCounter condition not removed from timer queue when > rescheduled Nouvelle version de Linknx 0.0.1.28 - jef2000 - 12/03/2011 > > * Do not execute stateless rules at init (problem with object conditions > > because EIBD connection not yet established) > > Ca c'est la condition "if-true", non ? "if-true" existait déjà dans la release précedente, mais j'avais décidé (je ne sais plus trop pourquoi) d'évaluer la condition et de forcer l'exécution de la liste d'actions correspondante juste après la création de la règle. Mais comme ça pose d'autres soucis, j'ai décidé de ne plus le faire > > * Add condition to compare 2 objects (requires complete refactoring of > > Object and ObjectValue classes) > Pas compris... Pour l'instant, il existe une condition pour comparer la valeur d'un objet à une constante mais pas pour comparer 2 valeurs d'objets entre elles. Donc je l'ai ajoutée. Ca ressemble à: <condition type="object-compare" id="temp_salon" id2="consigne_temp_salon" op="lt" /> > > * Fix for exportXML with Object-Conditions without value (michael111) > Pas compris... Par exemple, si tu utilise une condition sur un objet sans spécifier la valeur: <condition type="object" id="ecl_couloir" trigger="true" /> La condition sera évaluée à chaque fois que l'objet est mis à jour mais le résultat est toujours "true". Et donc ça permet avec un action- list "if-true" d'exécuter cette dernière à chaque mise à jour de la valeur. Si l'objet possède en plus le flag "s", il sera mis à jour même si la valeur ne change pas. Donc si tu as un poussoir qui envoie uniquement un ON sur une adresse de groupe quand on appui dessus, tu utilises un objet avec le flag "s", une condition comme ci-dessus et un action-list de type "if-true" et les actions seront exécutées à chaque pression du poussoir. > > * Add "repeat" action that repeats a list of actions periodically a > > specified number of times > Un exemple ? Pour transformer ta maison en stroboscope pendant 20 secondes: <action type="repeat" period="200ms" count="100"> <action type="toggle-value" id="ecl-salon" /> <action type="toggle-value" id="ecl-couloir" /> <action type="toggle-value" id="ecl-chambre" /> <action type="toggle-value" id="ecl-cuisine" /> </action> > > * Add "cancel" action to cancel all ongoing actions of a rule > Un exemple ? <action type="cancel" rule-id="strobo" /> Permet par exemple de stopper le stroboscope ci-dessus (supposant que l'id dans le tag "rule" du stroboscope est "strobo"). Ca permet également d'annuler des actions qui ont été lancées mais pas encore exécutées à cause de leur paramètre delay="..." > > * Add "send-read-request" action that will force sending of a read > > request on the bus > Pas compris... Si un appareil n'est pas configuré pour envoyer périodiquement la valeur d'un objet, il n'était pas possible a linknx d'envoyer l'ordre de lecture sur le bus (comme on pourrait le faire avec la commande groupread de eibd). Maintenant c'est possible. <action type="send-read-request" id="valeur_compteur_gaz" /> > > * Add attribute read="true" for listener address which is used to send > > read request on the bus > Pas compris... Si tu utilise le paramètre init="request" dans la définition d'un objet, linknx envoie une requète de lecture sur le bus dès la première tentative d'accès à la valeur de l'objet. La requète de lecture utilise l'adresse de groupe principale de l'objet. Donc si tu définis un objet et que tu ajoute l'adresse du retour d'état comme "listener", l'initialisation utilise l'adresse principale et pas celle du retour d'état, qui pourtant pourrait donner une info plus fiable. Donc j'ai ajouté un paramètre read="true" dans le listener pour forcer les requètes de lecture à utiliser cette adresse plutôt que l'adresse principale. > > * Initial schedule for timers with at and *during* fixed (michael111) > Pas compris... C'est juste un bugfix > > * Support for serial IO port > Un exemple ? Dans la section <services>, ajoute: <ioports> <ioport id="test-serial" type="serial" dev="/dev/ttyS0" speed="9600" framing="8N1"/> </ioports> Puis tu peux l'utiliser comme n'importe quel io-port. Exemple: <action type="ioport-tx" ioport="test-serial" data="Hello world!" /> Ou si tu veux envoyer des données binaires: <action type="ioport-tx" ioport="test-serial" data="FF302D22A5" hex="true" /> > > * Allow multiple messages in receive buffer (Mike Pieper) > Pas compris... Si tu utilises une application qui envoie directement des commandes XML sur le port 1028 de linknx, maintenant tu peux envoyer plusieurs commandes en une seule opération. Avant, on ne pouvait envoyer qu'une seule requète à la fois. > > * Add command to Register/Unregister all objects for notification (Mike > > Pieper) > Pas compris... Ca aussi c'est pour les applications qui utilisent directement l'interface XML. Elles peuvent demander à linknx de leur envoyer un message chaque fois qu'un objet change de valeur. Ca pourrait par exemple être utilisé par un script qui sauvegarde des infos dans une base de données, comme ça on évite toute les complications liées au support de mysql directement dans linknx. > > * Better command-line parameter error reporting (Mike Pieper) > Pas compris... Par exemple, si tu utilises la commande linknx -c house.xml (avec un espace de trop après le -c, l'erreur rapportée était "unexpected parameter", maintenant il renseigne au moins quel paramètre est inattendu. > > * Fixes the XML for a notification message (Mike Pieper) > Pas compris... Juste un bug dans l'XML généré dans les notification dont on a déjà parlé plus haut. Jean-François Nouvelle version de Linknx 0.0.1.28 - Ben - 12/03/2011 Merci Jean-François ! Tout est clair, ma femme va adorer l'effet stromboscope, elle te remercie déjà ;-) Merci encore pour ton travail. Ben Nouvelle version de Linknx 0.0.1.28 - Jupin Yannick - 12/03/2011 Une mine d' or d informations a harder au chaud !!! Concernant io port çela permettrais t'il de lire une interface teleinfo sur un com ? Le 12 mars 2011 à 17:50, jef2000 <jef2000@ouaye.net> a écrit : >>> * Do not execute stateless rules at init (problem with object conditions >>> because EIBD connection not yet established) >> >> Ca c'est la condition "if-true", non ? > "if-true" existait déjà dans la release précedente, mais j'avais > décidé (je ne sais plus trop pourquoi) d'évaluer la condition et de > forcer l'exécution de la liste d'actions correspondante juste après la > création de la règle. Mais comme ça pose d'autres soucis, j'ai décidé > de ne plus le faire > >>> * Add condition to compare 2 objects (requires complete refactoring of >>> Object and ObjectValue classes) >> Pas compris... > Pour l'instant, il existe une condition pour comparer la valeur d'un > objet à une constante mais pas pour comparer 2 valeurs d'objets entre > elles. Donc je l'ai ajoutée. > Ca ressemble à : > <condition type="object-compare" id="temp_salon" > id2="consigne_temp_salon" op="lt" /> > >>> * Fix for exportXML with Object-Conditions without value (michael111) >> Pas compris... > Par exemple, si tu utilise une condition sur un objet sans spécifier > la valeur: > <condition type="object" id="ecl_couloir" trigger="true" /> > La condition sera évaluée à chaque fois que l'objet est mis à jour > mais le résultat est toujours "true". Et donc ça permet avec un action- > list "if-true" d'exécuter cette dernière à chaque mise à jour de la > valeur. Si l'objet possède en plus le flag "s", il sera mis à jour > même si la valeur ne change pas. Donc si tu as un poussoir qui envoie > uniquement un ON sur une adresse de groupe quand on appui dessus, tu > utilises un objet avec le flag "s", une condition comme ci-dessus et > un action-list de type "if-true" et les actions seront exécutées à > chaque pression du poussoir. > >>> * Add "repeat" action that repeats a list of actions periodically a >>> specified number of times >> Un exemple ? > Pour transformer ta maison en stroboscope pendant 20 secondes: > <action type="repeat" period="200ms" count="100"> > <action type="toggle-value" id="ecl-salon" /> > <action type="toggle-value" id="ecl-couloir" /> > <action type="toggle-value" id="ecl-chambre" /> > <action type="toggle-value" id="ecl-cuisine" /> > </action> > >>> * Add "cancel" action to cancel all ongoing actions of a rule >> Un exemple ? > <action type="cancel" rule-id="strobo" /> > Permet par exemple de stopper le stroboscope ci-dessus (supposant que > l'id dans le tag "rule" du stroboscope est "strobo"). > Ca permet également d'annuler des actions qui ont été lancées mais pas > encore exécutées à cause de leur paramètre delay="..." > >>> * Add "send-read-request" action that will force sending of a read >>> request on the bus >> Pas compris... > Si un appareil n'est pas configuré pour envoyer périodiquement la > valeur d'un objet, il n'était pas possible a linknx d'envoyer l'ordre > de lecture sur le bus (comme on pourrait le faire avec la commande > groupread de eibd). Maintenant c'est possible. > <action type="send-read-request" id="valeur_compteur_gaz" /> > >>> * Add attribute read="true" for listener address which is used to send >>> read request on the bus >> Pas compris... > Si tu utilise le paramètre init="request" dans la définition d'un > objet, linknx envoie une requète de lecture sur le bus dès la première > tentative d'accès à la valeur de l'objet. La requète de lecture > utilise l'adresse de groupe principale de l'objet. Donc si tu définis > un objet et que tu ajoute l'adresse du retour d'état comme "listener", > l'initialisation utilise l'adresse principale et pas celle du retour > d'état, qui pourtant pourrait donner une info plus fiable. Donc j'ai > ajouté un paramètre read="true" dans le listener pour forcer les > requètes de lecture à utiliser cette adresse plutôt que l'adresse > principale. > > >>> * Initial schedule for timers with at and *during* fixed (michael111) >> Pas compris... > C'est juste un bugfix > >>> * Support for serial IO port >> Un exemple ? > Dans la section <services>, ajoute: > <ioports> > <ioport id="test-serial" type="serial" dev="/dev/ttyS0" speed="9600" > framing="8N1"/> > </ioports> > Puis tu peux l'utiliser comme n'importe quel io-port. Exemple: > <action type="ioport-tx" ioport="test-serial" data="Hello world!" /> > Ou si tu veux envoyer des données binaires: > <action type="ioport-tx" ioport="test-serial" data="FF302D22A5" > hex="true" /> > >>> * Allow multiple messages in receive buffer (Mike Pieper) >> Pas compris... > Si tu utilises une application qui envoie directement des commandes > XML sur le port 1028 de linknx, maintenant tu peux envoyer plusieurs > commandes en une seule opération. Avant, on ne pouvait envoyer qu'une > seule requète à la fois. > >>> * Add command to Register/Unregister all objects for notification (Mike >>> Pieper) >> Pas compris... > Ca aussi c'est pour les applications qui utilisent directement > l'interface XML. Elles peuvent demander à linknx de leur envoyer un > message chaque fois qu'un objet change de valeur. Ca pourrait par > exemple être utilisé par un script qui sauvegarde des infos dans une > base de données, comme ça on évite toute les complications liées au > support de mysql directement dans linknx. > >>> * Better command-line parameter error reporting (Mike Pieper) >> Pas compris... > Par exemple, si tu utilises la commande linknx -c house.xml (avec un > espace de trop après le -c, l'erreur rapportée était "unexpected > parameter", maintenant il renseigne au moins quel paramètre est > inattendu. > >>> * Fixes the XML for a notification message (Mike Pieper) >> Pas compris... > Juste un bug dans l'XML généré dans les notification dont on a déjà > parlé plus haut. > > Jean-François Nouvelle version de Linknx 0.0.1.28 - jef2000 - 12/03/2011 Salut, A terme, cela devrait être possible. Pour l'instant, en réception il permet juste de déclencher une "rule" lorsque le message reçu contient une chaine de caractère prédéfinie. Ca marche très bien par exemple avec un récepteur IRtrans qui envoie sur un port UDP des messages texte contenant les identifiants des touches de télécommandes. Mis à part le fait que les modules téléinfo communiquent à 1200 bauds et que dans linknx j'ai actuellement mis la limite inférieure à 2400, juste parce que je me disais qu'en dessous ca n'avait aucun intérêt. Je corrigerai ça pour la prochaine version. Donc, mis à part ce petit détail, il devrait déjà être possible de faire des choses basiques comme commuter qqch selon le tarif, mais pas encore de récupérer des données comme la consommation instantanée. Pour récupérer des données, j'imagine qu'il faudrait un système de matching basé sur un motif définis (par ex. des expressions régulières) et la possibilité de sélectionner des parties de messages et de les copier dans des objets de linknx. Pas une mince affaire, quoi... Jean-François On 12 mar, 19:43, Jupin Yannick <yann...@magikdo.com> wrote: > Une mine d' or d informations a harder au chaud !!! > > Concernant io port çela permettrais t'il de lire une interface teleinfo sur un com ? > > Le 12 mars 2011 à 17:50, jef2000 <jef2...@ouaye.net> a écrit : > > >>> * Do not execute stateless rules at init (problem with object conditions > >>> because EIBD connection not yet established) > > >> Ca c'est la condition "if-true", non ? > > "if-true" existait déjà dans la release précedente, mais j'avais > > décidé (je ne sais plus trop pourquoi) d'évaluer la condition et de > > forcer l'exécution de la liste d'actions correspondante juste après la > > création de la règle. Mais comme ça pose d'autres soucis, j'ai décidé > > de ne plus le faire > > >>> * Add condition to compare 2 objects (requires complete refactoring of > >>> Object and ObjectValue classes) > >> Pas compris... > > Pour l'instant, il existe une condition pour comparer la valeur d'un > > objet à une constante mais pas pour comparer 2 valeurs d'objets entre > > elles. Donc je l'ai ajoutée. > > Ca ressemble à: > > <condition type="object-compare" id="temp_salon" > > id2="consigne_temp_salon" op="lt" /> > > >>> * Fix for exportXML with Object-Conditions without value (michael111) > >> Pas compris... > > Par exemple, si tu utilise une condition sur un objet sans spécifier > > la valeur: > > <condition type="object" id="ecl_couloir" trigger="true" /> > > La condition sera évaluée à chaque fois que l'objet est mis à jour > > mais le résultat est toujours "true". Et donc ça permet avec un action- > > list "if-true" d'exécuter cette dernière à chaque mise à jour de la > > valeur. Si l'objet possède en plus le flag "s", il sera mis à jour > > même si la valeur ne change pas. Donc si tu as un poussoir qui envoie > > uniquement un ON sur une adresse de groupe quand on appui dessus, tu > > utilises un objet avec le flag "s", une condition comme ci-dessus et > > un action-list de type "if-true" et les actions seront exécutées à > > chaque pression du poussoir. > > >>> * Add "repeat" action that repeats a list of actions periodically a > >>> specified number of times > >> Un exemple ? > > Pour transformer ta maison en stroboscope pendant 20 secondes: > > <action type="repeat" period="200ms" count="100"> > > <action type="toggle-value" id="ecl-salon" /> > > <action type="toggle-value" id="ecl-couloir" /> > > <action type="toggle-value" id="ecl-chambre" /> > > <action type="toggle-value" id="ecl-cuisine" /> > > </action> > > >>> * Add "cancel" action to cancel all ongoing actions of a rule > >> Un exemple ? > > <action type="cancel" rule-id="strobo" /> > > Permet par exemple de stopper le stroboscope ci-dessus (supposant que > > l'id dans le tag "rule" du stroboscope est "strobo"). > > Ca permet également d'annuler des actions qui ont été lancées mais pas > > encore exécutées à cause de leur paramètre delay="..." > > >>> * Add "send-read-request" action that will force sending of a read > >>> request on the bus > >> Pas compris... > > Si un appareil n'est pas configuré pour envoyer périodiquement la > > valeur d'un objet, il n'était pas possible a linknx d'envoyer l'ordre > > de lecture sur le bus (comme on pourrait le faire avec la commande > > groupread de eibd). Maintenant c'est possible. > > <action type="send-read-request" id="valeur_compteur_gaz" /> > > >>> * Add attribute read="true" for listener address which is used to send > >>> read request on the bus > >> Pas compris... > > Si tu utilise le paramètre init="request" dans la définition d'un > > objet, linknx envoie une requète de lecture sur le bus dès la première > > tentative d'accès à la valeur de l'objet. La requète de lecture > > utilise l'adresse de groupe principale de l'objet. Donc si tu définis > > un objet et que tu ajoute l'adresse du retour d'état comme "listener", > > l'initialisation utilise l'adresse principale et pas celle du retour > > d'état, qui pourtant pourrait donner une info plus fiable. Donc j'ai > > ajouté un paramètre read="true" dans le listener pour forcer les > > requètes de lecture à utiliser cette adresse plutôt que l'adresse > > principale. > > >>> * Initial schedule for timers with at and *during* fixed (michael111) > >> Pas compris... > > C'est juste un bugfix > > >>> * Support for serial IO port > >> Un exemple ? > > Dans la section <services>, ajoute: > > <ioports> > > <ioport id="test-serial" type="serial" dev="/dev/ttyS0" speed="9600" > > framing="8N1"/> > > </ioports> > > Puis tu peux l'utiliser comme n'importe quel io-port. Exemple: > > <action type="ioport-tx" ioport="test-serial" data="Hello world!" /> > > Ou si tu veux envoyer des données binaires: > > <action type="ioport-tx" ioport="test-serial" data="FF302D22A5" > > hex="true" /> > > >>> * Allow multiple messages in receive buffer (Mike Pieper) > >> Pas compris... > > Si tu utilises une application qui envoie directement des commandes > > XML sur le port 1028 de linknx, maintenant tu peux envoyer plusieurs > > commandes en une seule opération. Avant, on ne pouvait envoyer qu'une > > seule requète à la fois. > > >>> * Add command to Register/Unregister all objects for notification (Mike > >>> Pieper) > >> Pas compris... > > Ca aussi c'est pour les applications qui utilisent directement > > l'interface XML. Elles peuvent demander à linknx de leur envoyer un > > message chaque fois qu'un objet change de valeur. Ca pourrait par > > exemple être utilisé par un script qui sauvegarde des infos dans une > > base de données, comme ça on évite toute les complications liées au > > support de mysql directement dans linknx. > > >>> * Better command-line parameter error reporting (Mike Pieper) > >> Pas compris... > > Par exemple, si tu utilises la commande linknx -c house.xml (avec un > > espace de trop après le -c, l'erreur rapportée était "unexpected > > parameter", maintenant il renseigne au moins quel paramètre est > > inattendu. > > >>> * Fixes the XML for a notification message (Mike Pieper) > >> Pas compris... > > Juste un bug dans l'XML généré dans les notification dont on a déjà > > parlé plus haut. > > > Jean-François > > Nouvelle version de Linknx 0.0.1.28 - Arnaud Cognard - 13/03/2011 > > * Add "repeat" action that repeats a list of actions periodically a > > specified number of times > Un exemple ? Pour transformer ta maison en stroboscope pendant 20 secondes: <action type="repeat" period="200ms" count="100"> <action type="toggle-value" id="ecl-salon" /> <action type="toggle-value" id="ecl-couloir" /> <action type="toggle-value" id="ecl-chambre" /> <action type="toggle-value" id="ecl-cuisine" /> </action> J'ai voulu tester cela pour le fun. Chez moi, c'est pas concluant sur des txa213 avec lampe halogenes. |