Forum KNX francophone / English KNX forum
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 Smile
>
> #!/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 Smile
>
> > #!/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