Knxweb V2.2.1 Rules et script lua

28 views
Skip to first unread message

Kunamx

unread,
Apr 7, 2019, 4:25:45 PM4/7/19
to Eibd / Linknx / KnxWeb
Bonjour,

Je viens de migrer ma version de knxweb 0.9.3 en V2.1.1
Tout fonctionne parfaitement bien sauf que dans les règles, il n'y a plus script en choix d'action.
Et dans les règles V2, le choix d'action script existe, mais il ne fonctionne pas.
Du coup, j'ai tenté de modifier manuellement le fichier linknx.xml pour y intégrer le script Lua que j'utilisais dans l'ancienne version, mais ça ne fonctionne pas.
Je ne suis pas très calé en écriture de script et c'est pour cela que je privilégie l'utilisation de l'interface graphique.
Pourriez-vous m'aider à intégrer mon script SVP ?

Voici le script tel qu'il étatit écrit dans le fichier linknx.xml de la version 0.9.3 (et qui fonctionne parfaitement)
Ce script permet de récupérer les températures des mes sondes 1wire et de les affecter à une GAD.

<rule id="1wire-read" description="1wire-read" init="false">
            <condition type="timer" trigger="true">
                <every>5m</every>
            </condition>
            <actionlist>
                <action type="script">
                    <![CDATA[function read1wire(id, objname) out = io.popen("cat /sys/bus/w1/devices/"..id.."/w1_slave | grep 't=' | awk -F 't=' '{print $2}'"); value = string.match(out:read("*a"), "[0-9.%-]+"); value = tonumber(value)/1000; out:close(); if (value ~= nil) then set(objname, value); end; end; read1wire("28-011593684dff", "temp_buanderie"); read1wire("28-0315935714ff", "temp_vmc_aspi"); read1wire("28-0115937a60ff", "temp_vmc_insufl"); read1wire("28-0115934f6eff", "temp_vmc_reprise"); read1wire("28-0115936939ff", "temp_vmc_extract"); read1wire("28-0516813436ff", "temp_ext_nord");]]>
</action>
            </actionlist>
        </rule>


Si je colle exactement ce script dans le fichier linknx.xml dema version V2.1.1, le service linknx ne démarre plus.

Merci par avance pour vos retour.

Manu

Anthony PENHARD

unread,
Apr 8, 2019, 5:05:15 AM4/8/19
to eibd-link...@googlegroups.com
Salut,

ah bien de mettre à jour il y a pleins de nouvelles fonctions dans la version 2.1.1 par rapport à la 0.9.3 ...

si j'ai bien compris tu a mis a jour knxweb mais aussi linknx ?
si en modifiant à la main le xml cela ne fonctionne pas cela viens donc de linknx qui n'est semble-t-il pas compiler avec la gestion des scripts lua

il y a une interface intégré à knxweb pour "piloter" linknx plus "simplement" que via le fichier xml cela reste senssible et technique mais permet de vérifier des choses
quand tu utilises  knxweb c'est de la forme : http://IP_Chemin/knxweb/setup.php
remplace alors "setup" par "linknx_cmd"=> http://IP_Chemin/knxweb/linknx_cmd.php

ensuite dans la première zone soit tu saisi : <read><version/></read>
soit tu clique sur la ligne " Read:" bouton "Version" (cela fait la même chose)
puis "Exec"
dans la zone d'en bas cela doit t'afficher des choses genre :
<read status="success">
    <version>
        <value>0.0.1.32</value>
        <features>
            <sms />
            <e-mail />
            <mysql />
            <lua />
            <log4cpp />
        </features>
    </version>
</read>

et là moi j'ai bien "lua" d'actif je pense que dans ton cas il ne sera pas présent

tiens moi au courant si tu arrive a faire la manip ou pas ...
sinon autre solution équivalente en ligne de commande sur le serveur linknx : $ linknx -version

@+
Anthony.



--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Eibd / Linknx / KnxWeb".
Visitez ce groupe à l'adresse https://groups.google.com/group/eibd-linknx-knxweb.

Kunamx

unread,
Apr 8, 2019, 3:57:40 PM4/8/19
to Eibd / Linknx / KnxWeb
Bonjour Anthony

merci pour ton retour.

Je te confirme que la version 2.1.1 est beaucoup plus rapide et fluide que l'ancienne version. Merci beaucoup pour tout ce travail.

En suivant test instruction, voici ce que j'ai en retour:
<read status="success">
    <version>
        <value>0.0.1.33</value>
        <features />
    </version>
</read>

Donc pas de Lua, ni SMS,Mail, Mysql ....

J'ai installé la nouvelle version à partir d'une Raspbian fraichement installée puis j'ai utilisé ton script install-trio.sh sur le GitHub.
Si j'ai bien compris, linknx n'est pas compilé avec Lua (et apparemment sans mail mysql ....). Comment puis-je résoudre mon problème ?

Merci d'avance pour ton retour.

Manu


Anthony PENHARD

unread,
Apr 8, 2019, 4:43:24 PM4/8/19
to eibd-link...@googlegroups.com
Salut,

ah oui le script il est plus a jour ...
aujourd'hui linknx est arrivé en version 0.0.1.37  (Cyrille a fait plein de mise a jour aussi à linknx ...)

avec les lignes suivantes va permettre d'installer la dernière version avec normalement toutes les options activées :

wget https://github.com/linknx/linknx/archive/0.0.1.37.tar.gz
tar -xzf 0.0.1.37.tar.gz
cd linknx-0.0.1.37
./configure --without-pth-test --enable-smtp --with-log4cpp --with-lua --with-mysql=/usr/bin/mysql_config
make install

tiens moi au courant ensuite si ok ou pas
@+
Anthony.


Kunamx

unread,
Apr 9, 2019, 3:31:09 PM4/9/19
to Eibd / Linknx / KnxWeb

Bonjour Anthony

j'ai essayé de mettre jour linknx avec tes instructions.
Lorsque je compile avec la commande ./configure --without-pth-test --enable-smtp --with-log4cpp --with-lua --with-mysql=/usr/bin/mysql_config

j'ai le message suivant: configure: error: Cannot find libesmtp.

Du coup, j'ai viré l'option --enable-smtp , mais la compilation ne fonctionne toujours pas:

configure: error: Package requirements (log4cpp >= 1.0) were not met:
No package 'log4cpp' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LOG4CPP_CFLAGS
and LOG4CPP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Du coup j'ai aussi viré l'option --with-log4cpp.

Là, la compilation c'est déroulée sans message d'erreur mais lorsque je fais le make install, voici les messages:

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/pi/linknx-0.0.1.37/missing aclocal-1.15 -I m4
/home/pi/linknx-0.0.1.37/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:359: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127


Manu

Cyrille Defranoux

unread,
Apr 10, 2019, 4:16:51 PM4/10/19
to Eibd / Linknx / KnxWeb
Salut,

Rien d'étonnant que ça ne marche pas car le script configure active automatiquement une option s'il trouve le package correspondant. Forcer l'option ne résoud pas le fait que la dépendance n'existe pas sur la machine.
Dans ton cas, il faut installer les paquets raspbian correspondant à log4cpp-dev libsmtp, etc. Utilise "apt search log4cpp-dev" pour trouver ton chemin pour le premier.

Et je déconseille l'utilisation du script d'installation autant que possible. Ce truc fait plus de mal que de bien. La seule solution en attendant d'avoir des paquets debian (peut-être un jour !) pour linknx, c'est de comprendre chaque étape, malheureusement.

Bon courage,
Cyrille
Reply all
Reply to author
Forward
0 new messages