[FHZ] fhem und 1-wire

Begonnen von Guest, 15 Juli 2009, 17:07:33

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,

hat schon jemand mit der Integration von 1-wire-Devices in FHEM
begonnen? Es gab dazu mal eine Diskussion hier, aber ich habe dazu
kein Ergebnis gefunden. Ich würde mich auch daran versuchen, möchte
nur eine Doppelimplementierung vermeiden.

Guido
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-

Guest

Originally posted by: <email address deleted>

Hallo,

ich möchte mal den aktuellen Stand hier vor- und zur Diskussion
stellen:

Bei mir läuft das auf einer NSLU2 mit Debian mit Kernel 2.6. Der 1-
wire-Bus hängt über einen USB/1-wire-Adapter am Hub. Da OWFS für diese
Plattform nicht als Binary zur Verfügung steht, muss es aus den
Sourcen kompiliert werden. Dabei ist zu beachten, dass vor dem "make
install" ein "LIBS="-lpthread" ./configure" ausgeführt wird.
Standardmäßig liegen die Programme dann unter /opt/owfs/bin. Dann
sollte der OWSERVER gestartet werden (z.B. "./owserver -u -d /dev/
ttyUSB0 -p 3129"). Der OWSERVER verwaltet den 1-wire-Bus, die anderen
Prozesse greifen dann auf den Server zu. Zum Testen und um die
Adressen der Devices in Erfahrung zu bringen, kann ich OWHTTP (./
owhttpd -s 3129 -p 8097) empfehlen.

Für FHEM habe ich zwei Module gemacht: 32_OWSERV.pm, das auf OWNet
zugreift und darüber die Lese- und Schreibzugriffe an OWSERVER
weiterleitet. Definition wird vorraussichtlich folgendermaßen sein:
define OWSERV (z.B.define owserv1 OWSERV
localhost:3129). An dieser Stelle habe ich noch ein Problem, da bei
mir keine Schreibzugriffe über OWNet funktionieren und ich deshalb
temporär diese über OWPERL implementiert habe.

Das zweite Modul 33_ONEW.pm bildet die 1-wire-Devices bzw. einzelne
Pfade (in OWFS) davon ab. Evtl. lässt sich dieses durch ein Beispiel
besser erläutern. Der DS2438 erlaubt z.B. u.a. die Temperatur und eine
Spannung zu lesen. Diese sind in OWFS erreichbar über /26.XXXXX0000000/
VAD und über /26.XXXXX0000000/temperature . Jeder Pfad kann sich dann
in FHEM als ein Objekt definieren lassen:

define ONEW     /26.xxxxx0000000/temperature

Beim DS2408 (6 I/O-Ports) kann man sowohl jeden Port einzeln (define
ONEW  /29.XXXXXX000000/PIO.0) oder auch alle
zusammen (define ONEW  /29.XXXXXX000000/PIO.ALL)
definieren.

Da dies meine erste Bekanntschaft mit Perl ist, muss ich in den
Modulen noch etwas aufräumen und werde die dann gerne zum Review
stellen. Allerdings werde ich dazu urlaubsbedingt erst in ca. 3 Wochen
kommen.
Verbesserungsvorschläge und Implementierungswünsche würde ich gerne in
diesem Thread diskutieren.

Guido




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-