Autor Thema: OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren  (Gelesen 1194 mal)

Offline richterh

  • New Member
  • *
  • Beiträge: 26
OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« am: 27 Dezember 2020, 16:14:59 »
Hallo zusammen,

ich versuche seit längerem auf einem 2. Raspberry Pi einen OWServer zum Laufen zu bringen um Temperaturen der Heizung von FHEM auslesen zu können. Am USB-Port steckt eine Schnittstelle mit AT90USB162 Chip und DS18B20 Sensoren.
https://www.led-genial.de/USB-Temperatur-Sensor-Tester-fuer-DS18B20-Rev-C

Ein Testprogramm liest auch die Messwerte fehlerlos aus.
root@raspberrypi:/usr/src/1wire/temp-sensor# ./Read1Wire
Found Temp-Sensor
Sensor #1 of 2: +21.0▒C Power: Extern     ID: 28 AD 39 04 30 14 01 26
Sensor #2 of 2: +21.1▒C Power: Extern     ID: 28 AA 4A 90 1B 13 02 B6
Sensor #1 of 2: +21.0▒C Power: Extern     ID: 28 AD 39 04 30 14 01 26
Sensor #2 of 2: +21.1▒C Power: Extern     ID: 28 AA 4A 90 1B 13 02 B6

Nur der OWServer will nicht starten sondern bricht mit Fehler ab:

root@raspberrypi:/etc# systemctl status owfs.service
● owfs.service - 1-wire filesystem FUSE mount
   Loaded: loaded (/lib/systemd/system/owfs.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-12-27 13:06:10 CET; 2h 51min ago
     Docs: man:owfs(1)
  Process: 275 ExecStart=/usr/bin/owfs -c /etc/owfs.conf --allow_other /run/owfs (code=exited, status=1/FAILURE)
 Main PID: 275 (code=exited, status=1/FAILURE)

Dez 27 13:06:08 raspberrypi systemd[1]: Starting 1-wire filesystem FUSE mount...
Dez 27 13:06:09 raspberrypi OWFS[275]: DEFAULT: ow_arg.c:(132) Not a "character" device /run/owfs (st_mode=41ed)
Dez 27 13:06:09 raspberrypi OWFS[275]: DEFAULT: owlib.c:(52) No valid 1-wire buses found
Dez 27 13:06:10 raspberrypi systemd[1]: owfs.service: Main process exited, code=exited, status=1/FAILURE
Dez 27 13:06:10 raspberrypi systemd[1]: owfs.service: Failed with result 'exit-code'.
Dez 27 13:06:10 raspberrypi systemd[1]: Failed to start 1-wire filesystem FUSE mount.
root@raspberrypi:/etc#

Habe schon mehrmals neu installiert, in der owfs.conf schon verschiedenste Einstellungen versucht aber alles ohne Erfolg.
Hat jemand eine Idee was ich noch versuchen kann?

Viele Grüße
Harald


Offline richterh

  • New Member
  • *
  • Beiträge: 26
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #1 am: 27 Dezember 2020, 20:10:33 »
kleine Erfolgsmeldung, nach einer Überarbeitung der owfs.conf startet oqserver und owhttpd.
Messwerte bekomme ich noch keine aber es geht voran...

root@raspberrypi:/etc# systemctl status owfs.service
● owfs.service - 1-wire filesystem FUSE mount
   Loaded: loaded (/lib/systemd/system/owfs.service; enabled; vendor preset: ena
   Active: active (running) since Sun 2020-12-27 19:59:18 CET; 7min ago
     Docs: man:owfs(1)
 Main PID: 285 (owfs)
    Tasks: 3 (limit: 881)
   CGroup: /system.slice/owfs.service
           └─285 /usr/lib/owfs/owfs -c /etc/owfs.conf -c /etc/owfs.conf --allow_

Dez 27 19:59:15 raspberrypi systemd[1]: Starting 1-wire filesystem FUSE mount...
Dez 27 19:59:18 raspberrypi systemd[1]: Started 1-wire filesystem FUSE mount.
lines 1-11/11 (END)

Viele Grüße
Harald

Offline richterh

  • New Member
  • *
  • Beiträge: 26
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #2 am: 28 Dezember 2020, 10:02:09 »
Mit FAKE-Source in der owfs.conf läuft es:

# local machine...
! server: server = 127.0.0.1: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
#server: altUSB
#server: device = /dev/i2c-0
#
# Serial port: DS9097
#server: device = /dev/ttyS1
#
# owserver tcp address
#server: server = 192.168.178.246:3131
#

Mir fehlt nur die richtige Einstellung für meine USB-Schnittstelle. Habe schon verschiedene probiert...
Jemand ne weitere Idee?

Viele Grüße
Harald

Offline rob

  • Full Member
  • ***
  • Beiträge: 287
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #3 am: 28 Dezember 2020, 14:37:07 »
Hallo Harald.

Habe selber eine andere Hardware (Denkovi), sollte doch aber im Prinzip gleich laufen. Das OWserver via Fake schonmal läuft, ist doch erstmal OK. Die owfs.conf muss auf das passende Device zeigen und dann sollte doch der Zugriff hoffentlich machbar sein.

Du schreibst
...USB-Port steckt eine Schnittstelle mit AT90USB162 Chip ...
In der verlinkten Doku steht:
Zitat
...besteht im Wesentlichen aus dem STM32F042, einem USB-Controller der Firma ST-Microelectronic...
Egal was zutrifft, es sollte ein Device unter /dev/... erscheinen und hoffentlich darüber der Zugriff möglich sein. Jetzt gilt es herauszufinden, welches das ist.

Mich verunsichert ein wenig
Zitat von: richterh
...in der owfs.conf schon verschiedenste Einstellungen versucht aber alles ohne Erfolg....Mir fehlt nur die richtige Einstellung für meine USB-Schnittstelle. Habe schon verschiedene probiert...
Das Testprogramm muss ja auch auf irgendein Device zugreifen. Wir wissen halt nicht welches/ wie.

Versuchen wir mal uns heranzutasten: Könntest Du bitte den Stick abziehen via cli schauen was der Befehl zeigt
ls /dev/tty* -lah
Anschließend wieder den Stick anstecken und erneut den Befehl absetzen. Was ist hinzugekommen? Was sagt ggf. dieser Befehl via cli?
dmesg | grep usb

Magst Du das bitte posten? Vielleicht lässt sich schon erkennen, welches Device gesucht wird. Dann wäre der nächste Schritt die owfs.conf ...

Viele Grüße
rob

fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee Stick Conbee2 | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino

Offline richterh

  • New Member
  • *
  • Beiträge: 26
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #4 am: 28 Dezember 2020, 15:03:19 »
Hallo rob,

beim Ab- und Anstecken zeigen sich keine Unterschiede. Es gibt /dev/usb/hiddev0, das könnte es eventuell sein. Es verschwindet beim Abstecken.
"dmesg | grep usb" bringt schon mal mehr:

root@raspberrypi:~# dmesg | grep usb
[    0.198914] usbcore: registered new interface driver usbfs
[    0.199074] usbcore: registered new interface driver hub
[    0.199386] usbcore: registered new device driver usb
[    1.872699] usbcore: registered new interface driver smsc95xx
[    2.807693] dwc_otg 20980000.usb: DWC OTG Controller
[    2.816841] dwc_otg 20980000.usb: new USB bus registered, assigned bus number 1
[    2.825885] dwc_otg 20980000.usb: irq 56, io mem 0x00000000
[    2.852558] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    2.861290] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.869950] usb usb1: Product: DWC OTG Controller
[    2.878607] usb usb1: Manufacturer: Linux 5.4.79+ dwc_otg_hcd
[    2.887225] usb usb1: SerialNumber: 20980000.usb
[    2.917103] usbcore: registered new interface driver usb-storage
[    3.005791] usbcore: registered new interface driver usbhid
[    3.014609] usbhid: USB HID core driver
[    4.292348] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    4.593597] usb 1-1: New USB device found, idVendor=0424, idProduct=9512, bcdDevice= 2.00
[    4.610885] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.982456] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    5.122956] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    5.140709] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    5.271544] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-20980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:3a:dd:c2
[    5.392394] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    5.546425] usb 1-1.2: New USB device found, idVendor=16c0, idProduct=0480, bcdDevice= 1.00
[    5.564623] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.581596] usb 1-1.2: Product: Temp-Sensor-Tester
[    5.595892] usb 1-1.2: Manufacturer: DIAMEX GmbH
[    5.621165] hid-generic 0003:16C0:0480.0001: hiddev96,hidraw0: USB HID v1.11 Device [DIAMEX GmbH Temp-Sensor-Tester] on usb-20980000.usb-1.2/input0
[    5.742375] usb 1-1.3: new low-speed USB device number 5 using dwc_otg
[    5.916359] usb 1-1.3: New USB device found, idVendor=413c, idProduct=2113, bcdDevice= 1.08
[    5.935060] usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    5.952499] usb 1-1.3: Product: Dell KB216 Wired Keyboard
[    6.031084] input: Dell KB216 Wired Keyboard as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:413C:2113.0002/input/input0
[    6.150316] hid-generic 0003:413C:2113.0002: input,hidraw1: USB HID v1.11 Keyboard [Dell KB216 Wired Keyboard] on usb-20980000.usb-1.3/input0
[    6.216623] input: Dell KB216 Wired Keyboard System Control as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:413C:2113.0003/input/input1
[    6.296648] input: Dell KB216 Wired Keyboard Consumer Control as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:413C:2113.0003/input/input2
[    6.329411] hid-generic 0003:413C:2113.0003: input,hidraw2: USB HID v1.11 Device [Dell KB216 Wired Keyboard] on usb-20980000.usb-1.3/input1
[12573.492614] usb 1-1.2: USB disconnect, device number 4
[12620.894383] usb 1-1.2: new full-speed USB device number 6 using dwc_otg
[12621.028514] usb 1-1.2: New USB device found, idVendor=16c0, idProduct=0480, bcdDevice= 1.00
[12621.028545] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12621.028565] usb 1-1.2: Product: Temp-Sensor-Tester
[12621.028582] usb 1-1.2: Manufacturer: DIAMEX GmbH
[12621.053815] hid-generic 0003:16C0:0480.0004: hiddev96,hidraw0: USB HID v1.11 Device [DIAMEX GmbH Temp-Sensor-Tester] on usb-20980000.usb-1.2/input0
root@raspberrypi:~#

Vielen Dank für deine Hilfe
Harald
« Letzte Änderung: 28 Dezember 2020, 15:04:57 von richterh »

Offline rob

  • Full Member
  • ***
  • Beiträge: 287
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #5 am: 28 Dezember 2020, 15:35:52 »
Hi.

Supi. Könnte also /dev/usb/hiddev0 sein. Zumindest taucht der Name "Diamex" per dmesg auf. Scheint halt ganz anders zu funktionieren, als die Dinger die mir sonst untergekommen sind (machen meist was mit virtuellen seriellen Interfaces).

Dann sichere Dir doch mal bitte die owfs.conf z.B. nach /etc/owfs.conf.old, um im Zweifel zurück gehen zu können und fülle die owfs.conf mit dem hier:
! server: server = localhost:4303
server: device = /dev/usb/hiddev0
http: port = 2121
server: port = localhost:4303
Diese Zeilen sollten ausreichen zum Testen. Und via Browser mal schauen, ob was kommt via http://betreffenderHost:2121/ (owserver und owhttpd sollten als Services laufen, ohne Abbruch).

Wenn die DS18B20 Sensoren angeschlossen sind und OWServer mit den vom Stick erzeugten Daten etwas anfangen kann, könnten Temp-Werte etc. sichtbar werden.
Es könnte aber auch sein, dass die Implementierung auf dem Device nicht mit OWserver kompatibel ist. Das Testprogramm passt natürlich zur Firmware vom Stick - muss aber nicht zwingend so strukturiert sein, dass OWServer dies auch versteht. Will den Teufel aber nicht herbeimalen  :o

Ich drück die Daumen  :)

Worst case: Hersteller fragen, wie man via OWServer auf die Daten zugreifen kann.

Sobald im WebIF vom OWServer Daten erscheinen, wäre die Einbindung in Fhem simpel.

Viele Grüße
rob

fhem@Raspi3B mit DietPi auf USB-SSD am aktiven Hub | Z-Wave Stick Aeotec | Zigbee Stick Conbee2 | nanoJeeLink | SIGNALduino@433 + @868 MHz | Denkovi USB-OW-Busmaster | config. Firmata@Arduino | EspEasy@WemosD1;Sonoff Basic  | MySensors@Arduino

Offline richterh

  • New Member
  • *
  • Beiträge: 26
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #6 am: 28 Dezember 2020, 19:20:25 »
Hallo rob,

hat leider nicht funktioniert. Vielleicht ist der Tester doch nicht für OWServer geeignet. Habe beim Betreiber von
https://www.docollipics.de/diamex-temp-sensor-tester-fuer-ds18b20-unter-ubuntu-linux-20-04/
mal angefragt ob er einen Tipp geben kann.

Vielen Dank und Grüße
Harald

Offline 24cx

  • Newbie
  • Beiträge: 1
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #7 am: 01 März 2021, 22:55:26 »
Gibt es das Testprogramm zufällig irgendwo? Bin bei der gleichen Aufgabe gerade :) Danke!

Offline fiedel

  • Hero Member
  • *****
  • Beiträge: 1832
Antw:OWServer mit AT90USB162 Schnittstelle und DS18B20 Sensoren
« Antwort #8 am: 02 März 2021, 13:14:09 »
Dieses Teil ist nix für OWX oder OWServer. Das macht sein eigenes Ding.
Wie oben schon empfohlen lieber nach dem Adapter von Denkovi suchen.
Damit kann man dann den vielen existierenden Anleitungen für FHEM folgen.

Edit: Eine Möglichkeit an die Daten zu kommen wäre dieses Modul.
« Letzte Änderung: 04 März 2021, 12:28:59 von fiedel »
FeatureLevel: 5.9 auf Dreamplug ; Deb. 7 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: S300TH|HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423