1Wire Sensoren werden nicht gelesen

Begonnen von saddelfest, 21 Januar 2018, 20:42:12

Vorheriges Thema - Nächstes Thema

saddelfest

Hallo, nachdem ich FHEM jetzt schon einige male neu aufgesetzt habe,

läuft jetezt soweit wieder alles stabil und ich  wollte jets auf meinem Raspberry Pi 2 mein Sheepwalk GPIO 1W Modul zum laufen bekommen. Durch diverse tipps im Internet hab ich jetzt alles soweit, dass das Modul und die Sensoren im Webinterface (mylocalhost:2121) gesehen und auslesbar sind. IN FHEM weigt mir allerdings mein OWDevice "Temperatur" keinen Wert an OWServer ist initialized aber "get myOWserver devices" zeigt nichts an und bei OWdevice "Temperatur" stet bei READINGS: state: temperature: n/a

Hier ein Auszug aus meinem log file:
2018.01.21 20:30:44 3: DS18B20_80B675060000: reading temperature did not return a value
2018.01.21 20:30:44 5: Starting notify loop for DS18B20_80B675060000, 1 event(s), first is alarm: 0
2018.01.21 20:30:44 5: End notify loop for DS18B20_80B675060000
2

und meiner FHEM.cfg:
define DS18B20_80B675060000 OWDevice 28.80B675060000 60
attr DS18B20_80B675060000 IODev myOWServer
attr DS18B20_80B675060000 alias Aussentemperatur
attr DS18B20_80B675060000 model DS18B20
attr DS18B20_80B675060000 room OWDevice,wohnzimmer
attr DS18B20_80B675060000 stateFormat {sprintf "%.1f °C", ReadingsVal($name, "temperature", 0)}

LuckyDay

Na im Wiki warst du wohl nicht  ;)

https://wiki.fhem.de/wiki/OWServer_%26_OWDevice

wie du siehst gibt es einige Varianten und Lösungen

saddelfest

IM Webintefache des OW servers sehe ich alle Sensoren (localhost:2121) und kann die Temperaturen auslesen.
D.h. Hardware funktioniert und ist auch im Raspberyy eingebunden. NUR die Verbindung zwischen FHEM un OWServer scheint nicht zu funktionieren.
version zeig diese Module
....
11_OWDevice.pm    14523 2017-06-16 05:15:56Z neubert
10_OWServer.pm    15589 2017-12-11 11:58:29Z neubert
.....
Sind das die richtigen. Wenn nein, dann bitte einen Tipp, welche ich installieren soll. Und wenn Möglichkeit auch mit Anleitung
Bin nicht gerade ein UNIX Experte....
Hatte das ganze (RASPBERR2 mit Sheepwalk Modul und 5 Sensoren schon mal vor ein paar Jahren betriebsbereit. Dachte ich könnte das System auf den neuesten Stand bringen weil ich bald in meinem neuen Haus mehrere Temperaturen überwachen möchte. Leider gestaltet sich der Umzug schwieriger als gedacht.

saddelfest

das wiki hatte Google natürlich gleich gefunden. Aber mir ist leider nicht ganz klar welcher der vielen Optionen für mich die richtige ist. Ich bin leider kein UNIX Experte. Wie gesagt, vor ein paar Jahren konnte man das System auch mit meinem begrenzten Computerwissen mit einiger Geduld und Hilfe aus dem Internet zum Laufen bekommen. Das hat sich anscheinend mit der Zeit nicht verbessert sondern ehr ins Gegenteil verwandelt.
Damals bin ich nach meinem Verständnis genau analog vorgegangen. D.h. ich habe mit einigen Einstellungen in diversen config Dateien den OWServer zum Laufen bekommen und dann mit FHEM tools ganz einfach darauf zugegriffen. Heute geht das scheinbar nicht mehr so straightforward.

saddelfest

hier noch der Eintrag aus dem Loglie nach dem letzen Neustart
myOWServer: Opening connection to OWServer OWServer localhost:4304...
2018.01.22 00:09:39 3: myOWServer: Successfully connected to OWServer localhost:4304.
2018.01.22 00:09:39 5: Starting notify loop for myOWServer, 1 event(s), first is CONNECTED
2018.01.22 00:09:39 5: End notify loop for myOWServer
2018.01.22 00:09:39 5: Starting notify loop for myOWServer, 1 event(s), first is Initialized
2018.01.22 00:09:39 5: End notify loop for myOWServer
2018.01.22 00:09:39 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 395.
2018.01.22 00:09:39 3: DS18B20_80B675060000: reading type did not return a value
2018.01.22 00:09:39 5: DS18B20_80B675060000: initial delay: 13



scheint ein Problem mit OWServer.pm Modul zu sein, oder

saddelfest

oder es ist doch einSchnittstellenproblem
Denn ich finde

Triggering initialUsbCheck
2018.01.22 00:09:38 4: initialUsbCheck exec usb create
2018.01.22 00:09:38 5: Cmd: >usb create<
2018.01.22 00:09:38 1: usb create starting
2018.01.22 00:09:39 4: ### ttyACM0: checking if it is a CUL
2018.01.22 00:09:39 4: ttyACM0 is already used by the fhem device CUL_0
2018.01.22 00:09:39 4: ### ttyACM1: checking if it is a CUL
2018.01.22 00:09:39 4: ttyACM1 is already used by the fhem device CUL_1
2018.01.22 00:09:39 4: ### ttyAMA0: checking if it is a CUL
2018.01.22 00:09:39 3: Probing CUL device /dev/ttyAMA0
2018.01.22 00:09:39 3: Can't open /dev/ttyAMA0: Permission denied
2018.01.22 00:09:39 4: cannot open the device
2018.01.22 00:09:39 1: usb create end

Dr. Boris Neubert

get myOWServer devices

gibt was?

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Kwwp

#7
Hallo miteinander,
ich habe leider auch das gleiche Problem.
Meine Ausgangssituation ist eigentlich die gleiche.
Ich hab mich an die Anleitung im Forum gehalten und mehrere Varianten ausprobiert.
Aktuell installiert ist Raspian stretch, FHEM 5.8
Die Sensoren kann ich über das Webinterface von owfs lesen.
Auch die Abfrage mit einem Pythonscript geht.
Nur mit get onewire devices kommt nichts in FHEM an.
Auch ein manuell angelegtes device bringt kein reading.

Folgendes ist mir dabei im FHEM-LOG aufgefallen :

2018.01.28 17:53:42 3: onewire: Opening connection to OWServer localhost:4304...
2018.01.28 17:53:42 3: onewire: Successfully connected to localhost:4304.
2018.01.28 17:53:42 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 395.
2018.01.28 17:54:04 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 464.

Wo kann man weiter nach der Ursache suchen ?

Gruß
Werner

Dr. Boris Neubert

Hallo Werner,

Zitat von: Kwwp am 28 Januar 2018, 15:23:21
eigentlich

welche Version von owserver ist installiert?

dpkg -l ow*

Was befindet sich in /etc/owfs.conf?

Wie sehen die defines in FHEM aus?

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Kwwp

Hallo Boris,
die Version von owserver ist 3.1p5-1

/etc/owfs.conf ohne kommentarzeilen :

! server: server = localhost:4304
server: device = /dev/i2c-1
mountpoint = /mnt/1wire
allow_other
http: port = 2121
http: port = 2120
server: port = localhost:4304

Ich habe die Zeilen mit # alle gelöscht

Der einzige neue Eintrag nach der Installation von FHEM :
define onewire OWServer localhost:4304

Wenn man "get onewire devices" eingibt kommt ein leeres Feld das man nur mit ok betätigen kann
Interessanterweise steht auch im logfile dazu gar nichts drin, d.h. keine Eintrag zu dem passenden Zeitpunkt

Grüße
Werner

Dr. Boris Neubert

Hallo Werner,

bei mir schaut /etc/owfs.conf genauso aus bis auf das Device, welches ein anderes ist, und

server: port = 4304

FHEM-Modulversion und owserver-Version sind bei mir gleich.

Ratlos.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Kwwp

Hallo Boris,
ich habe jetzt mal verbose auf 4 gesetzt und dann "get onewire devices" versucht.
Reaktion : nichts außer leeres Fenster mit ok
Auch im logfile ist dazu nichts zu finden.
Mit verbose = 5 passiert das gleiche nur ist dann im logfile folgendes zu finden :

2018.01.28 22:00:42 4: WEB: /fhem?cmd=save&XHR=1&fwcsrf=csrf_441619048731929&fw_id=64 / RL:52 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.01.28 22:00:58 4: WEB_192.168.1.10_50044 POST /fhem?cmd=get%20onewire%20devices&XHR=1&fwcsrf=csrf_441619048731929&fw_id=64; BUFLEN:0
2018.01.28 22:00:58 5: Cmd: >get onewire devices<
2018.01.28 22:00:58 4: WEB: /fhem?cmd=get%20onewire%20devices&XHR=1&fwcsrf=csrf_441619048731929&fw_id=64 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.01.28 22:01:03 4: Connection closed for WEB_192.168.1.10_50042: EOF

komischerweise gibt es aber keine Warnung wie diese :

2018.01.28 18:52:59 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 395.

So ganz habe ich das mit dem mountpoint /mnt/1wire noch nicht verstanden.
Im Moment ist da nichts weiter angelegt obwohl ich 2 Sensoren angeschlossen habe.
In einer früheren Version hat da vermutlich der owserver die Sensoren abgelegt.
Im Moment ist da aber nichts zu finden.

Grüße
Werner

2018.01.28 22:01:03 4: WEB_192.168.1.10_50044 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2018-01.log; BUFLEN:0

Kwwp

Hallo Boris,
ich habe den Fehler vermutlich gefunden :

Ich habe in owfs.conf den Eintrag "server: port = localhost:4304" in "server: port = 4304" geändert und schon kommen bei "get onewire devices" die Sensoren.
Ich denke das Problem liegt da in dem schon vorhandenen Eintrag der so nach der Installation von OWFS vorgegeben war.
Jetzt kann ich erst mal weiter machen.

Viele Grüße
Werner



Dr. Boris Neubert

Zitat von: Kwwp am 28 Januar 2018, 22:33:00
Ich habe in owfs.conf den Eintrag "server: port = localhost:4304" in "server: port = 4304" geändert und schon kommen bei "get onewire devices" die Sensoren.

Nicht dass das nicht in der commandref genau so stünde  ::)

Wie soll ich es beschreiben, dass es berücksichtigt wird?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Kwwp

#14
Hallo Boris,
Ich bin eigentlich selbst schuld da ich die commandref nicht gelesen habe.
Da steht es ja ganz eindeutig drin.
Ich bin über Umwege auf die 1wire-Sensoren gestoßen und habe erst mal durch viel suchen im Forum und auf anderen Webseiten mir die ersten Infos geholt.
In der commandref steht ja alles richtig drin nur vermisse ich eine Suchfunktion.
Vielleicht wäre es gut wenn im Forum öfter mal ein Link auf die entsprechenden Einträge in der commandref stehen würden.
Dummerweise war der Eintrag server: port = localhost:4304 nach der Installation schon vorhanden und muss damit es funktioniert geändert werden.
In der commandref würde ich nichts ändern. Eventuell sollte man entsprechende Hinweise im Forum anpassen bzw. ergänzen.
Im FHEMWiki zu OWServer und OWDevice steht ein Beispiel zur owfs.conf mit dem nicht funktionierenden Eintrag.
Ich denke spätestens wenn man dieses Forums-Thema gelesen hat sollte es funktionieren.
Autocreate mit den Sensoren hat noch nicht funktioniert das muss ich noch mal überprüfen.
Eventuell geht es nur wenn man  OWServer neu mit define  einträgt.
Viele Grüße
Werner