Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Nouvelle version de Linknx 0.0.1.28
#1
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/f...-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
#2
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
#3
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
>
#4
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
>
>
#5
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
>
#6
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
#7
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
#8
> >     * 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
#9
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
#10
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
#11
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
>
>
#12
> >     * 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.


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)