Eibd linknx et 1-wire - 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 : Eibd linknx et 1-wire (/showthread.php?tid=105) Pages :
1
2
|
Eibd linknx et 1-wire - tristan - 24/11/2010 Merci mais finalement à 357 € la passerelle KNX/1wire cela enlève un peu l'intérêt économique du 1wire dans mon cas. J'en déduit qu'il me reste 2 solutions pour faire à cout raisonnable, de la mesure de température consolidée par un PC distant (via Internet) donc sans port USB local : - Installer un convertisseur USB / 1wire sur mon serveur de port USB Ubox (que j'utilise pour le monitoring externalisé de la conso électrique) - Installer une sonde de température SNMP que je pourrais très facilement interroger directement à partir de Cacti. La première solution est fun, pas chère mais très bidouille et peut ne pas marcher étant donné la fiabilité relative des serveurs de ports USB (ou du mien en tout cas). Avec la seconde c'est simple mais cela coute quand même facilement un peu plus de 200 € ... pour une sonde. Presque dans mon cas la solution technique serait de mettre un TX450 à pour récupérer la température en KNX. Cela reviendrait moins cher mais serait juste limite stupide d'utiliser un TX450 juste pour cela.... sans parler que ce n'est pas adapté à l'extérieur. Tristan Ps : En suivant le lien de marc assin pour la passerelle 1wire-knx je suis tombé sur une sonde d'humidité 1wire pour ceux qui en recherchait une : http://shop.wiregate.de/ -----Message d'origine----- De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com] De la part de marc.assin Envoyé : mercredi 24 novembre 2010 13:12 À : domotique-EIB Objet : Re: Eibd linknx et 1-wire On 24 nov, 12:32, Frédéric <f...@gbiloba.org> wrote: > À ma connaissance, une passerelle toute faite 1-wire/KNX, ça n'existe pas. http://knx-user-forum.de/wiregate/6378-wiregate-1-wire-eib-knx-gateway.html Eibd linknx et 1-wire - olivier95800 - 25/11/2010 Bonjour, Quelques liens : http://www.itow.fr/site/nouveau/index.html http://www.planete-domotique.com/catalogsearch/result/?q=1-wire&x=21&y=17 Olivier Eibd linknx et 1-wire - marc.assin - 25/11/2010 On 25 nov, 10:22, olivier95800 <olivier95...@wanadoo.fr> wrote: > Quelques liens : Je peux les publier ? (dans la nouvelle partie "fichiers" du forum, pas encore public) Eibd linknx et 1-wire - olivier95800 - 25/11/2010 oui. A noter au passage: les 2 "Serveur Ethernet 1-wire" de chez Embedded data systems. http://www.embeddeddatasystems.com/ Olivier On 25 nov, 12:37, "marc.assin" <raym...@warichet.com> wrote: > On 25 nov, 10:22, olivier95800 <olivier95...@wanadoo.fr> wrote: > > > Quelques liens : > > Je peux les publier ? > (dans la nouvelle partie "fichiers" du forum, pas encore public) Eibd linknx et 1-wire - chitloft - 19/12/2010 Roby, ton script m'intéresse au plus haut point. Mais j'ai 1 soucis... si en entrée j'ai 19.9375, le script me ressort 7C9. Derriere, il me fais donc ceci : /usr/local/bin/groupwrite ip: 192.168.0.17 4/6/51 7C9 j'ai 1 trace dans linknx Write from 0.0.0 to 4/6/51: C9 2010-12-19 23:10:39 [ERROR] ValueObject: Invalid packet received for ValueObject (too short) La définition dans linknx est <object id="1w_Temp_SAM" gad="4/6/51" type="9.xxx" flags="cwu" init="persist" log="true">Temperature Salle a manger</object> j'ai un doute que ton code soit 'complet' ? il me semble que je devrais avoir qqe chose du style 07 C9 en sortie par ex. sinon, je ne comprends vraiment pas ce qu'il se passe. Any help ? Merci Arnaud On 21 nov, 16:49, Roby <goo...@macuba.net> wrote: > Bon, mais personne se moque, j'avais prévu de l'optimiser > > #!/bin/sh > > var=`exec /opt/owfs/bin/owread /1F.156C08000000/main/10.A5A3B5010800/ > temperature | tr -d " "` > #var=-22.06 > nb=0 > var=$(echo "$var*100/1" |bc) #/1 pour suppression de la virgule > if [ $var -gt 0 ] > then > while [ $var -gt 2047 ] > do > nb=$nb+1 > var=$(echo "$var/2" |bc) > done > nb=$(echo "$nb*2048" |bc) > var=$(echo "ibase=10;obase=16;$var+$nb"|bc) > elif [ $var -lt 0 ] > then > var=$(echo "$var*-1" |bc) #*1 pour revenir en positif > while [ $var -gt 2047 ] > do > nb=$nb+1 > var=$(echo "$var/2" |bc) > done > nb=$(echo "$nb*2048" |bc) > echo $var > var=$(echo "ibase=10;obase=16;4096-$var+$nb+32768-2048"|bc) > fi > #verification si 4 caract > if [ ${#var} = 1 ] > then > var="00 0${var}" > elif [ ${#var} = 2 ] > then > var="00 ${var}" > elif [ ${#var} = 3 ] > then > var="0${var}" > var1=`expr substr $var 1 2` > var2=`expr substr $var 3 2` > var="${var1} ${var2}" > elif [ ${#var} = 4 ] > then > var1=`expr substr $var 1 2` > var2=`expr substr $var 3 2` > var="${var1} ${var2}" > fi > exec /usr/local/bin/groupwrite ip:192.168.5.5 9/5/3 $var Eibd linknx et 1-wire - chitloft - 19/12/2010 alors la, j'ai encore la honte , j'ai viré les # (je sais pas comment), donc c'est ok ! Merci Roby pour ce super code qui a du te prendre 1 temps !!! Arnaud On 19 déc, 23:17, chitloft <arnaud.cogn...@laposte.net> wrote: > Roby, ton script m'intéresse au plus haut point. Mais j'ai 1 soucis... > si en entrée j'ai 19.9375, le script me ressort 7C9. > > Derriere, il me fais donc ceci : /usr/local/bin/groupwrite ip: > 192.168.0.17 4/6/51 7C9 > > j'ai 1 trace danslinknx > Write from 0.0.0 to 4/6/51: C9 > 2010-12-19 23:10:39 [ERROR] ValueObject: Invalid packet received for > ValueObject (too short) > > La définition danslinknxest > <object id="1w_Temp_SAM" gad="4/6/51" type="9.xxx" flags="cwu" > init="persist" log="true">Temperature Salle a manger</object> > > j'ai un doute que ton code soit 'complet' ? il me semble que je > devrais avoir qqe chose du style 07 C9 en sortie par ex. > sinon, je ne comprends vraiment pas ce qu'il se passe. Any help ? > Merci > Arnaud > > On 21 nov, 16:49, Roby <goo...@macuba.net> wrote: > > > Bon, mais personne se moque, j'avais prévu de l'optimiser > > > #!/bin/sh > > > var=`exec /opt/owfs/bin/owread /1F.156C08000000/main/10.A5A3B5010800/ > > temperature | tr -d " "` > > #var=-22.06 > > nb=0 > > var=$(echo "$var*100/1" |bc) #/1 pour suppression de la virgule > > if [ $var -gt 0 ] > > then > > while [ $var -gt 2047 ] > > do > > nb=$nb+1 > > var=$(echo "$var/2" |bc) > > done > > nb=$(echo "$nb*2048" |bc) > > var=$(echo "ibase=10;obase=16;$var+$nb"|bc) > > elif [ $var -lt 0 ] > > then > > var=$(echo "$var*-1" |bc) #*1 pour revenir en positif > > while [ $var -gt 2047 ] > > do > > nb=$nb+1 > > var=$(echo "$var/2" |bc) > > done > > nb=$(echo "$nb*2048" |bc) > > echo $var > > var=$(echo "ibase=10;obase=16;4096-$var+$nb+32768-2048"|bc) > > fi > > #verification si 4 caract > > if [ ${#var} = 1 ] > > then > > var="00 0${var}" > > elif [ ${#var} = 2 ] > > then > > var="00 ${var}" > > elif [ ${#var} = 3 ] > > then > > var="0${var}" > > var1=`expr substr $var 1 2` > > var2=`expr substr $var 3 2` > > var="${var1} ${var2}" > > elif [ ${#var} = 4 ] > > then > > var1=`expr substr $var 1 2` > > var2=`expr substr $var 3 2` > > var="${var1} ${var2}" > > fi > > exec /usr/local/bin/groupwrite ip:192.168.5.5 9/5/3 $var |