mercredi, décembre 12 2012

Synchro NTP sur bus KNX via LINKNX

Voici une petite procédure qui permet d'envoyer l'heure et la date à des Groupes GA via LinKNX.

J'utilise cette technique pour synchroniser l'heure de mes Z38i avec un serveur NTP au travers de LinKNX.

1°) Coté ETS j'ai ajouté l'objet 0 heure au GA 7/0/10 pareil avec l'objet date au GA 7/0/11

image GA

2°) Coté serveur j'ai une tache cron qui fait un :

ntpdate ntp.univ-lyon1.fr

3°) Coté linknx j'ai ajouté dans mon xml :

<object type="11.001" id="cur_date" gad="7/0/11" flags="cwtuf">Current Date</object> <object type="10.001" id="cur_time" gad="7/0/10">Current Time</object>

       
   </objects>
   <rules>
       <rule id="cur_time_date">
           <condition type="timer" trigger="true">
               <every>3600</every>
           </condition>
           <actionlist>
               <action type="set-value" id="cur_time" value="now" />
               <action type="set-value" id="cur_date" value="now" />
           </actionlist>
       </rule>
   </rules>

4°) Derrière ça j'ai relancé mon xml avec la commande : linknx -c /var/linknx/monxml.xml

Et hop 3600 seconde plus tard mon Z38I est à jour !

Intégrer du 1wire dans Knxweb avec LUA

Après avoir pas mal galéré à faire fonctionner tout ça je regroupe ici les informations :

1°) Installation de OWFS pour lire les sondes (sources http://loftawattrelos.free.fr)

Tout d’abord, récupérer la source

wget http://sourceforge.net/projects/owfs/files/owfs/2.8p4/owfs-2.8p4.tar.gz

et ensuite, installer ce dont on a besoin

apt-get install libusb-dev perl-base python-dev php5-dev libfuse-dev swig

tar -xzvfowfs-2.8p4.tar.gz cd owfs-2.8p4

./configure –enable-debian –prefix=/usr/local

make

make install

Brancher la clef usb

Connecter le composant DS18B20

Pour lancer le server

owserver -u -p 4304

lancer le serveur web

owhttpd -u -s localhost:4304 -p 8081

et se connecter via votre browser favoris. On y trouve quelque chose sous la forme 81.351F2F000000, c’est la clef usb. Les autres, ce sont les capteurs.

ou via http://localhost:8081/

2°) Créer le gad qui vas recevoir la valeur

<object type="9.xxx" id="temp_ext" gad="7/0/1" init="persist" log="true" flags="crtu">Temp Exterieur</object>

3°) Ajouter le script Lua de jeff2000

<rule id="1wire-read">
<condition type="timer" trigger="true">
<every>2m</every>
</condition>
<actionlist>
<action type="script">
function read1wire(id, objname)
out = io.popen("/usr/local/bin/owread -s localhost:4304 "..id);
value = string.match(out:read("*a"), "0-9.%-+"); 
out:close();
if (value ~= nil) then
set(objname, value);
end
end;
read1wire("28.BB9D4D020000/temperature","Temp_Exterieur");
</action>
</actionlist>
</rule>

lundi, janvier 25 2010

Dolcevita se lance dans la domotique avec la Zen BOX

Dolcevita, une marque du groupe GDF lance un produit qui m'a l'aire plutôt sympa. La ZenBox !

La zenbox c'est quoi ?

La zenbox c'est une box comme le freeobox ou la neufbox en gros une boite qui vous propose un certain nombre de services.

Celle ci propose 3 principaux services :

  • le suivi de votre consommation d’énergie (gaz naturel et électricité) en ligne avec des alertes en cas de piques inhabituels de consommation pour une meilleure maîtrise de votre budget énergie,
  • les alertes domestiques (incendie, gel des canalisations, rupture de la chaîne du froid),
  • la protection de votre maison contre les intrusions (en partenariat avec EPS).

Le suivi des consommations pour GDF c'est facile il on tous les compteurs sous la mains.

Si je voulais faire la même chose j'aurais besoin soit d'une connexion au compteur via télérelevé soit d'un système à base de capteur type CurentCost CC128 ou autre RFXCom et d'une batterie de capteurs. En gros j'attends les premiers retour d'utilisateur pour voir ce que ça donne ailleurs que sur le papier