Raspi, COC Onewire + OWFS

Begonnen von rasti, 07 Juni 2014, 22:43:50

Vorheriges Thema - Nächstes Thema

rasti

Hallo

ich habe nun heute einige 1wire-Tempsensoren bekommen und einen testweise
an meinen COC angeschlossen.

OWFS ist installiert und FHEM meldet auch dass er initialized ist.

Verwendeter fhem.cfg :
#OWFS (1-wire) einbinden
define myOWServer OWServer localhost:4304

Ich finde aber keine onewire-Devices unter FHEM.

Wenn ich den OWServer nicht einbinde sondern  mit
define OWio OWX COC onewire einbinde, dann
findet er aber den einen Testsensor und trägt ihn auch
in die COnfig-Datei ein. Das sieht dann so aus :

# Onewire-test
define OWio OWX COC
attr OWio room Keller
define OWX_28_D1E3C4040000 OWTHERM DS18B20 D1E3C4040000
attr OWX_28_D1E3C4040000 IODev OWio
attr OWX_28_D1E3C4040000 model DS1822
attr OWX_28_D1E3C4040000 room OWX
attr OWX_28_D1E3C4040000 tempHigh 75
attr OWX_28_D1E3C4040000 tempLow 70

Meine Fragen:
1) woran könnte es liegen, dass OWServer iniitialisiert ist, aber trotzdem nichts anzeigt.
2) Wozu brauche ich den OWServer denn nun überhaupt ? Geht doch auch ohne !
3) Habe bei http://www.fhemwiki.de/wiki/COC_und_1-wire gelesen, dass der COC nur Temperatursensoren liest. Ich brauche aber aber auch noch Zähler. Geht das denn nun mit OWX oder auch mit OWServer (wenn ichs denn mal zum Laufen krieg) ???
4)Wenn ich mir denn einen zusätzlichen onewire-USB-Stick zulege, sind dann damit meine Probleme vielleicht behoben, also kann ich dann wirklich problemlos "viele" (20-30 oder mehr) beliebige onewire-Devices einfach dranhängen, ? Welchen kauft man denn da am besten ?  Bei Ebay hats zB. http://www.ebay.de/itm/171041719472? oder http://www.ebay.de/itm/141293613175? ...

Gruss

Ralf

chris1284

#1
Zitat von: rasti am 07 Juni 2014, 22:43:50
1) woran könnte es liegen, dass OWServer iniitialisiert ist, aber trotzdem nichts anzeigt.

die config des owservers prüfen. http://owfs.org/index.php?page=quickstart-guide . du musst ihm in der conf erst sagen welches dein 1-wire busmaster ist. per default hat er nur 2 dummy-devices drin
schau mal was der owserver auf owhttpd anzeigt -> http://ipadresse:2121

Zitat2) Wozu brauche ich den OWServer denn nun überhaupt ? Geht doch auch ohne !
ja, bei nur tempsensoren reicht es in fhem http://fhem.de/commandref.html#OWX zuverwenden. ist einfacher und hat mit meinem coc auf anhieb (im gegensatz zum owserver) funktioniert

Zitat3) Habe bei http://www.fhemwiki.de/wiki/COC_und_1-wire gelesen, dass der COC nur Temperatursensoren liest. Ich brauche aber aber auch noch Zähler. Geht das denn nun mit OWX oder auch mit OWServer (wenn ichs denn mal zum Laufen krieg) ???
da steht nur das temp-sensoren autom. erkannt und ausgewertet werden. andere sensoren musst du anders auswerten. das er nichts anderes unterstützt außer tempsensoren ist falsch meine ich

Zitat4)Wenn ich mir denn einen zusätzlichen onewire-USB-Stick zulege, sind dann damit meine Probleme vielleicht behoben, also kann ich dann wirklich problemlos "viele" (20-30 oder mehr) beliebige onewire-Devices einfach dranhängen, ? Welchen kauft man denn da am besten ?  Bei Ebay hats zB. http://www.ebay.de/itm/171041719472? oder http://www.ebay.de/itm/141293613175? ...
ich habe mir einen dieser http://pcsensor.com/index.php?_a=product&product_id=33 auf anraten hier im forum (auch einsteiger in 1-wire) und der läuft super bisher (wenn man nicht wie ich zu blöd ist die doku zu lesen wie man owserver einrichtet). nachteil ist hier das er alles über usb mit strom versorgt, könnte evtl irgendwann und je nach serverhardware kritisch werden.
an den coc gehen meine ich auch mehr sensoren. die einschränkung 10 sensoren bezieht sich nur auf die firmware die diese gleich auswertet. mit owserver zum auswerten sollten mehr gehen. der coc hat aber ein problem bei langen kabelwegen meine ich und man benötigt zum stabilen betrieb ein filternetzwerk wie hier im forum (coc filternetzwer suchen) beschrieben. weiss ich aber nicht genau da ich ihn für 1-wire nicht mehr nutze

rasti

Zitat von: chris1284 am 08 Juni 2014, 09:19:46
die config des owservers prüfen. http://owfs.org/index.php?page=quickstart-guide . du musst ihm in der conf erst sagen welches dein 1-wire busmaster ist. per default hat er nur 2 dummy-devices drin

Hallo,

vielen Dank das ist ein guter Hinweis gegeben. Die Datei habe ich bislang nicht weiter beachtet, kein Wunder dass nix geht....

Wie muss denn jetzt die Devicedefinition in der owfs.conf denn nun lauten ?
Ich muss ja wohl im folgenden Abschnitt OWFS meine Konfiguration beibringen:

####################### SOURCES ########################
#
# With this setup, any client (but owserver) uses owserver on the
# local machine...
! server: server = localhost:4304
#
# ...and owserver uses the real hardware, by default fake devices
# This part must be changed on real installation
server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
#server: usb = all
#
# Serial port: DS9097
#server: device = /dev/ttyS1
#
# owserver tcp address
#server: server = 192.168.10.1:3131
#
# random simulated device
#server: FAKE = DS18S20,DS2405

in FHEM ist der COC so definiert:
define COC CUL /dev/ttyAMA0@38400 1234

Sorry für die vielleicht blöde Frage aber meine Linux- und Netzwerkkentnisse sind äusserst beschränkt....

Gruss

Ralf

chris1284

Zitatserver: FAKE = DS18S20,DS2405
zu
Zitat#server: FAKE = DS18S20,DS2405
ändern

ich denke 1-wire wäre beim coc serial also würde ich
Zitat
# Serial port: DS9097
#server: device = /dev/ttyS1
zu
Zitat# Serial port: DS9097
server: device =/dev/ttyAMA0
ändern

dann
sudo service owserver restart (sollte OK melden und nicht failed wenn er den busmaster erkannt hat)
sudo owserver owhttpd restart


rasti

Hallo,

server: device =/dev/ttyAMA0

habe ich nun eingetragen und den Fakeeiintrag auskommentiert

Der owserver meldet sich nach
sudo service owserver status
mit [ ok ] owserver is running.

1Wire-Devices (also meinen angeschlossenen Temp-Chip) sehe ich in FHEM keine.

Wenn ich mirs recht überlege, hätte FHEM vorher zumindest die FAKE-Devices
anzeigen sollen aber das hats ja auch nicht getan.

Muss in der fhem.config vielleicht noch was geändert werden ?
Da steht momentan in Bezug auf OWFS nur
define myOWServer OWServer localhost:4304
Vielleicht muss da noch irgendwas in der Richtung
attrOWserver  IODev COC
oder so dazu ??

Oder kann man den OWFS über die Konsole (Telnet/SSH/Putty) manuell
nach den 1wire-Devices abfragen ? Im OWFS-Quickstart ist zwar beschrieben,
wie man über den Browser sich das anschaut aber der Raspi ist bei mir
weit weg im Keller und wird nur fernbedient....

Gruss

Ralf

Prof. Dr. Peter Henning

Die Beschreibung im FHEMwiki ist vollständig korrekt:

http://www.fhemwiki.de/wiki/COC_und_1-wire

es besteht ein himmelweiter Unterschied, ob ich den COC mit der eingebauten Firmware  benutze, um 1-Wire-Sensoren ins Homematic-System zu "mappen" - das geht nur mit Temperatursensoren.

Oder den COC mit OWX abfrage - das geht mit allen 1-Wire Komponenten, KEINESWEGS nur mit T-Sensoren.

Allerdings hat der COC ein Problem, weil er den internen I2C-Bus des RPi benutzt und sich diesen mit anderen Geräten teilt. Bei mehr als ein paar Sensoren gibt es regelmäßig Probleme.

Die Lösung mit USB ist darum die Beste - an meinem RPI laufen gleichzeitig DREI verschiedene USB-1Wire-Adapter. Natürlich alle über aktive Hubs angebunden, also mit eigener Stromversorgung 5V. Der am weitesten entfernte ist über einen USB-Bus-Extender angebunden, mit ca. 12 m Kabellänge.

LG

pah

Gernott

#6
Zitat von: chris1284 am 08 Juni 2014, 09:19:46
...ich habe mir einen dieser http://pcsensor.com/index.php?_a=product&product_id=33 auf anraten hier im forum (auch einsteiger in 1-wire) und der läuft super bisher (wenn man nicht wie ich zu blöd ist die doku zu lesen wie man owserver einrichtet).
Hallo Chris
Bin genau an diesem Punkt. Kannst Du mir bitte mal auf die Sprünge helfen, den owserver korrekt zu starten?
owfs läuft nach
owfs -d /dev/ttyUSB0 -m /mnt/1wire
Die Devices sind unter/mnt/1wire/ zu finden und können mit cat abgefragt werden.

Beim Aufruf von  "sudo service owserver start" kommt eine Fehlermeldung:
[FAIL] Starting 1-Wire TCP Server: owserver failed!


Danke und Gruß
G.



chris1284

#7
eigentlich genau so wie es im Thread steht:
http://forum.fhem.de/index.php/topic,23526.msg167975.html#msg167975

owfs über sudo apt-get instal owfs  installieren (selbst kompilieren ist nicht notwendig auf dem pi)

in der conf das entsprechende device aktivieren
# Serial port: DS9097
server: device = /dev/ttyUSB0

server neu starten und in fhem einbinden

eldrik

Zitat von: Prof. Dr. Peter Henning am 20 Juni 2014, 11:24:01
Die Beschreibung im FHEMwiki ist vollständig korrekt:

http://www.fhemwiki.de/wiki/COC_und_1-wire

es besteht ein himmelweiter Unterschied, ob ich den COC mit der eingebauten Firmware  benutze, um 1-Wire-Sensoren ins Homematic-System zu "mappen" - das geht nur mit Temperatursensoren.

Oder den COC mit OWX abfrage - das geht mit allen 1-Wire Komponenten, KEINESWEGS nur mit T-Sensoren.

Allerdings hat der COC ein Problem, weil er den internen I2C-Bus des RPi benutzt und sich diesen mit anderen Geräten teilt. Bei mehr als ein paar Sensoren gibt es regelmäßig Probleme.

Die Lösung mit USB ist darum die Beste - an meinem RPI laufen gleichzeitig DREI verschiedene USB-1Wire-Adapter. Natürlich alle über aktive Hubs angebunden, also mit eigener Stromversorgung 5V. Der am weitesten entfernte ist über einen USB-Bus-Extender angebunden, mit ca. 12 m Kabellänge.

LG

pah

Ergänzend hierzu kann ich bei Verwendung des COC nur empfehlen, die COC Firmware ohne die 1Wire Unterstützung zu flashen, dann lässt sich der verbaute 1Wire Baustein normal über I2C ansprechen in Kombination mit einem Filternetzwerk für einen längeren 1Wire Bus habe ich den COC in der Vergangenheit mit OWServer gut betreiben können (zu dem Zeitpunkt mit ca. 10 Temperatursensoren und ein paar DS2450 und DS2408), die Buslänge (CAT5e Kabel) belief sich auf ca. 20 - 30 Meter.

Trotzdem auch von meiner Seite die Empfehlung, ein separater BusMaster ob nun USB oder direkt für die GPIO Leiste des Pi, mit einer eigenen 5V Spannungsversorgung,  ist dem COC in jedem Fall  vorzuziehen, weshalb der COC bei mir auch nur noch für 433Mhz Intertechno Geräte Verwendung findet.

Greetz
Eldrik

Gernott

#9
Zitat von: chris1284 am 10 Oktober 2014, 07:54:32
eigentlich genau so wie es im Thread steht:
http://forum.fhem.de/index.php/topic,23526.msg167975.html#msg167975

owfs über sudo apt-get instal owfs  installieren (selbst kompilieren ist nicht notwendig auf dem pi)

in der conf das entsprechende device aktivieren
# Serial port: DS9097
server: device = /dev/ttyUSB0

server neu starten und in fhem einbinden

Hallo Chris

So hatte ich es auch gemacht. Seltsamerweise konnte ich nur owfs starten und habe auch korrekte Werte in /mnt/1wire/... erhalten. Nur die Serverkomponenten owserver und owhttpd sind nicht gestartet, was immer ich auch versucht habe. Ich werde jetzt noch einmal ein jungfräuliches Raspi-Image hernehmen und schauen, ob es damit geht. Das owfs-Paket im Repository scheint nicht mal mit der --debug Funktion kompiliert zu sein, da keine Ausgabe zu erreichen war. Mit der selbst kompilierten Version kam wenigstens etwas, ging aber letztlich auch nicht.

Gruß
G.

Update
Mit einem neu aufgesetzten Image läuft es ohne Probleme. Sehr seltsam, warum es auf dem anderen nicht geht. Aber wenigstens habe ich eine Lösung.