Verständnisfrage digitemp auf fritzbox

Eigentlich reicht es aus den mittleren Daten-Pin zu verbinden. Die beiden äußeren sollte man auch einfach an eine andere Erde wir zB Heizkörper anschliessen können (1-wire..).
Wenn der plXXXX Treiber geladen wird, sollte dir der richtige Port angezeigt werden.
Und wenn du den falschen angibst, sagt DigiTemp dir das. Den Speicherpfad kannst du einstellen
 
Digitemp reicht. Der USB-Adapter sollte unter /dev/ttyUSB0 erreichbar sein. Die .digitemprc wird in ~ gespeichert. Aber das sollte über das Webinterface alles automatisch gehen.
Meinst Du mit "Webinterface" das von RRDStats, also die Möglichkeit, Pfad wie "/tmp/rrdstats" bzw. "/tmp/rrdstats" anzugeben?

ttyUSB0 scheint es nicht zu sein:
Code:
/dev # digitemp -i /dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - [URL]http://www.digitemp.com[/URL]
Error, serial port '' does not exists!
mit ttyUSB1, ttyUSB2 oder ttyUSB3 geht es auch nicht, obwohl die Adapter im WebGUI der FB (unter Fernanschluss) aufgelistet sind:
Code:
[B]
USB-Gerät                                         Aktivierte Geräteoptionen[/B]
Prolific Technology Inc. USB-Serial Controller    USB-Fernanschluss
Prolific Technology Inc. USB-Serial Controller    USB-Fernanschluss
ftdi usb serial converter                         USB-Fernanschluss
SDMMC M121 USB 2.0 SD/MMC READER                  USB-Fernanschluss
Eigentlich reicht es aus den mittleren Daten-Pin zu verbinden. Die beiden äußeren sollte man auch einfach an eine andere Erde wir zB Heizkörper anschliessen können (1-wire..).
Danke, das beantwortet meine Frage bzgl. der Masse des Buchsengehäuses.
 
Zuletzt bearbeitet:
Öh, deaktivier mal zum Spass den USB-Fernanschluss. Ja, der Pfad im Webinterface von RRDStats.
 
Zuletzt bearbeitet:
Habe ich gemacht:
Code:
13.01.09 17:57:54 Partition unter uStor01 eingebunden
13.01.09 17:57:47 Es wurde ein nicht unterstütztes USB-Gerät angeschlossen.
13.01.09 17:57:47 USB-Gerät 005, Klasse 'USB 1.1 (full-speed) bulk', angesteckt
13.01.09 17:57:47 Es wurde ein nicht unterstütztes USB-Gerät angeschlossen.
13.01.09 17:57:47 USB-Gerät 006, Klasse 'USB 2.0 (full-speed) storage', angesteckt
13.01.09 17:57:46 Es wurde ein nicht unterstütztes USB-Gerät angeschlossen.
13.01.09 17:57:46 USB-Gerät 003, Klasse 'USB 1.1 (full-speed) bulk', angesteckt
13.01.09 17:57:46 USB-Gerät 004, Klasse 'USB 1.1 (full-speed) bulk', angesteckt
13.01.09 17:57:45 USB-Gerät 002, Klasse 'USB 2.0 (full-speed) hub', angesteckt
13.01.09 17:57:29 Der USB-Fernanschluss wurde beendet.
13.01.09 17:57:24 USB-Gerät 006 abgezogen
13.01.09 17:57:22 USB-Gerät 005 abgezogen
13.01.09 17:57:21 USB-Gerät 004 abgezogen
13.01.09 17:57:20 USB-Gerät 003 abgezogen
13.01.09 17:57:19 USB-Gerät 002 abgezogen
Die zweite Zeile des "nicht unterstützten Gerätes" unter "Ereignisse" ist wohl hinfällig/unbedeutend, da unter "USB-Geräte / Geräteübersicht" nach einem "Refresh" des WebGUIs steht: "uStor01 USB-Netzwerkspeicher"

Leider funktioniert es immer noch nicht - mit ttyS0 wird nichts gefunden:
Code:
/var/tmp/rrdstats # digitemp -i -s /dev/[COLOR=Red][B]ttyS0[/B][/COLOR]
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - [URL]http://www.digitemp.com[/URL]
Turning off all DS2409 Couplers

Searching the 1-Wire LAN
/var/tmp/rrdstats #
Nach dem "Searching the 1-Wire LAN" kommt nichts mehr (außer dem Prompt).
Heisst das, dass das Device (ttyS0) prinzipiell richtig ist, aber der Sensor nicht gefunden wird?
Oder liegt es daran, dass schon das Device falsch ist?
Wobei ich dann eher ein "No such device or address" erwarten würde, wie z.B. hierbei:
Code:
/var/tmp/rrdstats # digitemp -i -s /dev/[COLOR=Red][B]ttyUSB0[/B][/COLOR]
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - [URL]http://www.digitemp.com[/URL]
owAcquire: failed to open device: No such device or address
Error 23: Failed to acquire a necessary system resource

Wird das .digitemprc file (sofern alles andere klappt) im aktuellen Pfad, von dem aus man digitemp aufruft, angelegt, oder immer unter dem Pfad, den man im Freetz-GUI beim RRDstats-Tool angegeben hat? Dann unter "/tmp/rrdstats" oder unter "/tmp/persistent"?
 
Zuletzt bearbeitet:
Genau, es werden am Bus keine Geräte erkannt. Zum testen könntest du den Adapter unter Windows installieren und dir dort mit dem Java "OneWireViewer" die Geräte anzeigen lassen
 
Hallo,

seit nun mehr als einem Jahr verwende ich meinem Speedport W900V zur Messung der Temperaturen. Gleichzeitig steuere ich meine Heizung per Modbus damit.

Im Einsatz habe ich den USB-to-1-Wire Adapter (z.B. http://www.1-wire.de/product_info.php/info/p7_USB-to-1-Wire-Adapter.html) mit digitemp_2490 und 10 Temperatursensoren. Bisher hatte ich damit keine Probleme. Im Vorfeld hatte ich das einen seriellen Adapter verwendet, der aber nicht stabil lief. Als Sensoren sind bei mir DS18S20 im Einsatz.

Ich habe euch mal mein digitemp_2490 angehangen. Ich musste es damals patchen damit es läuft. Habe den Quellcode damals an den Author gegeben.

In der digitemp.conf habe ich folgende Einstellungen (Auszug):
TTY DS2490-1
READ_TIME 700

~ # digitemp_DS2490 -s DS2490-1 -w
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..........
Devices on the Main LAN
10F0BF4A0108008F : DS1820/DS18S20/DS1920 Temperature Sensor
104CE0390108002F : DS1820/DS18S20/DS1920 Temperature Sensor
103CD34A0108005D : DS1820/DS18S20/DS1920 Temperature Sensor
10F12A3A01080075 : DS1820/DS18S20/DS1920 Temperature Sensor
108B5E4A010800F8 : DS1820/DS18S20/DS1920 Temperature Sensor
10DB554A010800A6 : DS1820/DS18S20/DS1920 Temperature Sensor
10F7C43901080037 : DS1820/DS18S20/DS1920 Temperature Sensor
104F694A0108006E : DS1820/DS18S20/DS1920 Temperature Sensor
109FB03901080027 : DS1820/DS18S20/DS1920 Temperature Sensor
816B4128000000D9 : DS1420 Serial ID Button

~ #


Läuft super. Dank Freetz kann ich nun auch ordentlich Grafiken mit RRDTool auf der Box erzeugen.

Gruß

Steffen
 

Anhänge

  • digitemp_DS2490.tar.gz
    55.5 KB · Aufrufe: 24
Zuletzt bearbeitet:
Hi, mit Freetz kann man auch digitemp mitbauen. Das funktioniert eigentlich soweit ganz gut mit dem 9490R. Ich brauche dann auch kein "-s"
 
Den Beta-Adapter von Maxim-IC habe ich unter Windows XP Home SP3 installiert, Windows neu gestartet und das erscheinende Java-Anwendungsfenster "refreshed" - siehe Screenshot.
Der COM3-Port ist korrekt, aber leider wird kein 1-wire gefunden.
Ich nehme jetzt einfach mal an, dass mir beim Löten ein Fehler passiert ist, evtl. habe ich dabei auch einen Baustein "gegrillt".
icon11.gif


Fehlermeldung am Schluss:
1-Wire Net not available
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Cannot load default adapter. Please check that the adapter
is connected and that no other application is using the
port.

If you have checked the adapter, the default port might
not be selected. Either set the value of the TMEX default
using the utility provided with the TMEX Runtime, or create
a new file in the <user.home>/OneWireViewer folder called
onewireviewer.properties with two lines, similar to the
following:

#native win32 drivers adapter.name={DS9097U}
adapter.port=COM1
#or javax.comm drivers adapter.name=DS9097U
adapter.port=COM1

The full path to this file should be:
C:\Dokumente und Einstellungen\user\OneWireViewer\onewireviewer.properties
Mich wundert, dass hier COM1 steht, obwohl ich COM3 ausgewählt und alle Adapter damit ausprobiert habe.
Weitere Infos kann ich später noch zufügen.
 

Anhänge

  • Bild 3.png
    Bild 3.png
    66.9 KB · Aufrufe: 52
Zuletzt bearbeitet:
Also ich kapiere es nicht, mein mit Freetz gebautes digitemp 9490 (ohne U) findet nichts unter ttyS0, obwohl der RS232-USB-Adapter an sich erkannt wird. Ich dachte, das müsste ttyUSB0 heissen, aber das Device existiert gar nicht, nur ttyS0.
Kann es sein, dass ich manuell auf der Fritzbox 7170 noch irgendwelche Treiber, Module o.ä. laden muss, damit es klappt?
Ich habe auch noch einen 2. Satz gelötet (habe Bauteile für 3 Sätze), aber das hat auch nichts gebracht.
Ich wäre echt dankbar, wenn mir mal jemand sagen kann, wie sich das mit den Devices genau verhält, d.h. muss es ttyS0 sein oder ttyUSB0, wenn ich einen RS232-USB-Adapter nutze?
Muss man den USB-Fernanschluss der Fritzbox ein- oder ausgeschaltet haben, oder ist das völlig egal, wenn man digitemp direkt auf der Fritzbox nutzt (also nicht irgendein Java-Tool unter Windows o.ä.)?
Ich habe übrigens VDD und GND zusammengelötet am DS18S20, also genauso wie im Schaltplan von Maxim-IC für den parasitären Modus vorgesehen.
Es nützt aber eben alles nichts, weil nichts gefunden wird.
Der folgende Aufruf ist doch ok, oder fehlt da noch etwas?
Code:
/var/mod/root # digitemp -s /dev/ttyS0 -i
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers

Searching the 1-Wire LAN
/var/mod/root #
Danke!
 
_Kein_ Fernanschluss, so lange du direkt auf der box was machen willst. /dev/ttyUSB0 klingt plausibel, finde ich, verlass dich da aber nicht drauf.
 
Hi,

du musst auf jedem fall einen Kerneltreiber für deinen USB2SERIAL Adaptzer einbinden. Den kannst du bei der Freetz-Konfiguration Kernel->Driver->xxx auswählen. Den genauen Pfad kann ich grad nicht sagen, schaue ich heute Abend nach.
Auf jeden fall gibt es dort unterschiedliche, Profilic, FTDI und Keyspan.
Dieser Treiber muss auch geladen sein (insmod).
Nachdem du dann dein USB2SERIAL Adapter angeschlossen hast, kannst du mit dem Kommando "dmesg" schauen was der kernel zu deinem adapter sagt. Hier solltest du auch das device herausbekommen. im Normalfall ist das schon ttyUSB0.
Wenn das alles der Fall ist sollte digitemp auch funktionieren.

LG Jörg
 
/dev/ttyUSB0 klingt plausibel
Denke ich ja auch, aber das Device existiert gar nicht. Aber nachdem mich Jörg (s.o.) erhellt hat, dürfte das Problem wohl klar sein.

Auf jeden fall gibt es dort unterschiedliche, Profilic, FTDI und Keyspan.
Dieser Treiber muss auch geladen sein (insmod).
Kann ich auch mehrere wählen, damit ich den passenden auch erwische, da ich mir nicht sicher bin, welcher der korrekte Treiber ist? Oder kommen die sich dann ins Gehege?
Den Pfad zu den Treibern habe ich gefunden, aber welcher der vielen ist der passende?

Folgende Zuordnung scheint ja eindeutig zu sein:
Prolific = pl2303.ko
FTDI = ftdi_sio.ko

Wie finde ich heraus, welcher Baustein (Profilic, FTDI und Keyspan etc.) in meinem RS232-USB-Adapter werkelt? Ich meine, es ist Prolific oder FTDI, bin mir aber nicht sicher.
Lässt sich das auf der Box erkennen, z.B. beim An-/Abstöpseln, oder beim Ein-/Ausschalten des USB-Fernanschlusses?
(Der USb-Fernanschluss muss aus sein, damit man digitemp auf der FB nutzen kann. Danke, Silent-Tears für den Hinweis.)
Anbei das syslog (bzw. dmesg) nach dem Ausschalten des USB-Fernanschlusses:
Code:
usb usb1: USB disconnect, address 1
ahci : USB bus 1 deregistered
        AHCI RevisionID = 0x02, RamSize = 16384, NumPorts= 1
[setup_irq]: irq 9 irqaction->handler 0xc0080490 (ahci_irq+0x0/0x880 [usbahcicore] )
ahci : new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Aber anhand der Zeilen kann ich leider nicht den korrekten Baustein ermitteln.

Wie funktioniert das Laden des Treibers mit insmod? Hier steht:
Code:
insmod [filename] [module options ...]
Aber was genau ist denn der [filename] und was die [module options], die hier angebracht sind?
Außerdem lese ich dort auch, dass modprobe vorzuziehen sei. Oder gibt es das nicht auf der Fritzbox?

Vielen Dank, Jörg, für Deine Hilfe!
 
Zuletzt bearbeitet:
Hi,

du kannst einfach "insmod pl2303.ko" aufrufen, evt. den pfad mitangeben, "modprobe pl2303.ko" geht auch.
Du kannst auch beide Treiber gleichzeitig laden, damit du rausfinden kannst welcher für deine Hardware ist.

LG Jörg
 
Wie lautet denn der Pfad? Ohne scheint es nicht zu klappen, obwohl das Modul drin sein sollte:
Code:
/var/mod/root # modprobe pl2303.ko
modprobe: module pl2303.ko not found
modprobe: failed to load module pl2303.ko: No such file or directory
/var/mod/root #
/var/mod/root # modprobe ftdi_sio.ko
modprobe: module ftdi_sio.ko not found
modprobe: failed to load module ftdi_sio.ko: No such file or directory
Ohne ".ko" kommt zumindest mal keine Fehlermeldung, aber auch sonst keine Meldung:
Code:
/var/mod/root # modprobe pl2303
/var/mod/root #
/var/mod/root # modprobe ftdi_sio
Ok, es muss also ohne ".ko" aufgerufen werden, denn laut dmesg hat sich einiges getan:
Code:
[ubik2_debug] eof_sync =1
usb 1-1: new full speed USB device using ahci and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.1: new full speed USB device using ahci and address 3
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
drivers/usb/serial/usb-serial.c: USB Serial support registered for PL-2303
usbcore: registered new driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver v0.12
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
ftdi_sio 1-1.1:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT232BM
usb 1-1.1: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver

Und mit "digitemp -i -s /dev/ttyUSB0" wird der Fühler nun gefunden und das .digitemprc File angelegt. :)
 
Zuletzt bearbeitet:
Hi,

Teste mal "/lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/"

Gruss Jörg
 
na und da "ttyUSB0" ist ja auch dein device ...
 
Hallo Jörg, es funktioniert - siehe oben (hatte eben noch editiert).
Mir ist nur noch nicht klar, ob ich digitemp den Pfad angeben muss, der im Freetz-GUI für rrdstats angegeben ist (/tmp/rrdstats bzw. /tmp/persistent) und wie ich rrdstats dazu bringe, digitemp-Daten zu loggen.
Muss ich dazu digitemp aus einem Skript-File starten, damit es immer läuft, z.B. auch nach einem Box-Neustart? Kann man digitemp als daemon laufen lassen? Oder ruft rrdstats digitemp auf?
Mal sehen, was dazu in diesem Thread steht...

Nochmals ganz herzlichen Dank für Deine Hilfe!
 
ich nutze folgendes:

es wird zyklisch aufgerufen ...



#!/bin/sh

DIGITEMP_PATH=/var/media/ftp/uStor01/digitemp
DATE_STR=`date "+%d.%m.%Y - %H:%M"`

ZIMMER=`$DIGITEMP_PATH/bin/digitemp -r750 -t0 -q -c$DIGITEMP_PATH/etc/digitemprc | tr -s [:blank:] | cut -f7 -d" "`

if [ "$ZIMMER" == "" ]; then
ZIMMER=`cat /var/tmp/zimmer_temp.txt`
fi
if [ "$ZIMMER" == "85.00" ]; then
ZIMMER=`cat /var/tmp/zimmer_temp.txt`
fi
echo $ZIMMER > /var/tmp/zimmer_temp.txt
rrdtool update $DIGITEMP_PATH/data/temperatur.rrd N:10:$ZIMMER
echo $DATE_STR - Zimmer:$ZIMMER >> $DIGITEMP_PATH/www/temp.txt
 
Mit dem Patch aus dem in #77 genannten Thread geht das automatisch mit RRDstats
 
Danke Euch Beiden!
Und cuma: Dein Patch wandert doch sicher noch in Freetz, oder?
Aber ich werde den gerne auch mal direkt so ausprobieren. Vielen Dank auch dafür.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.