Forum KNX francophone / English KNX forum
Règle linknx qui ne fonctionne pas - 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 : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10)
+--- Sujet : Règle linknx qui ne fonctionne pas (/showthread.php?tid=2781)



Règle linknx qui ne fonctionne pas - fma38 - 20/11/2013

Cette règle :
Code :
<rule id="rule_heating_sdb">
    <condition type="or">
        <condition type="timer" trigger="true">
            <at hour="6" min="0" wdays="12345" />
            <until hour="8" min="0" />
        </condition>
        <condition type="timer" trigger="true">
            <at hour="7" min="0" wdays="67" />
            <until hour="10" min="0" />
        </condition>
        <condition type="timer" trigger="true">
            <at hour="17" min="0" wdays="1234567" />
            <until hour="21" min="0" />
        </condition>
    </condition>
    <actionlist>
        <action type="set-value" id="heating_setpoint_sdb_rdc" value="22" />
    </actionlist>
    <actionlist type="on-false">
        <action type="set-value" id="heating_setpoint_sdb_rdc" value="19" />
    </actionlist>
</rule>
ne se déclenche pas. Alors que si j'écris sur l'objet heating_setpoint_sdb_rdc à la main, avec eibd ou pKNyX, ça marche. Mes autres règles fonctionnent bien ; voyez-vous un truc flagrant qui pose problème ? À force de regarder, je ne vois plus rien Wink

Merci d'avance.


RE: Règle linknx qui ne fonctionne pas - Energy01 - 20/11/2013

Salut,

essaye :
Code :
<rule id="rule_heating_sdb">
    <condition type="or">
        <condition type="timer" trigger="true">
            <at hour="6" min="0" wdays="12345" />
            <until hour="8" min="0" />
        </condition>
        <condition type="timer" trigger="true">
            <at hour="7" min="0" wdays="67" />
            <until hour="10" min="0" />
        </condition>
        <condition type="timer" trigger="true">
            <at hour="17" min="0" wdays="1234567" />
            <until hour="21" min="0" />
        </condition>
    </condition>
    <actionlist type="if-true">
        <action type="set-value" id="heating_setpoint_sdb_rdc" value="22" />
    </actionlist>
    <actionlist type="if-false">
        <action type="set-value" id="heating_setpoint_sdb_rdc" value="19" />
    </actionlist>
</rule>

@+
Anthony.

Edit : oups mis de fois "if-false" ... rectifié


RE: Règle linknx qui ne fonctionne pas - fma38 - 20/11/2013

Merci pour ta réponse.

Je pense que le premier type de action-list doit être "if-true", non ?

Le souci c'est que je ne souhaite pas que la consigne soit ré-émise en permanence, sinon, je ne peux plus décaler ma consigne, ou déroger le mode en cours... Il sera toujours écrasé par la règle.

De plus, mes autres règles utilisent bien toutes le même modèle que celle-ci... C'est pour ça que je ne pige pas.


RE: Règle linknx qui ne fonctionne pas - Stephane - 29/11/2013

Personellement, je n'ai pas encore regardé pour programmer mon chauffage de cette facon, pour le moment j'utilise deux rules (une qui passe en confort et une qui s'occuppe du réduit).

Dans ma solution, je ne mais pas de fin ("until"), la regle ce déclenche à l'heure dite et si je fait un derog, elle ne sera annulé que sur la prochaine plage horaire.
Et pour repasser à ma consigne réduit, j'ai une seconde regle avec les heures de fin.

C'est un peut plus lourd a gérer (deux regles) mais je n'ai pas de problème en cas de dérogation.


RE: Règle linknx qui ne fonctionne pas - fma38 - 29/11/2013

Moi non plus, puisque j'utilise le on-true, qui ne change donc les valeurs que lorsque la règle devient vraie, et non pas à chaque évaluation.

Bon, ma règle refonctionne, mais je n'ai pas pigé pourquoi. Juste ce matin un des boutons qui fait la régule ne semblait pas avoir vu la nouvelle consigne...