1wire zu I²C, OWserver auf PI-Zero und Kernel 4.14... Komme nicht weiter

Begonnen von M_I_B, 24 März 2019, 22:45:40

Vorheriges Thema - Nächstes Thema

M_I_B

Hallo liebe Leute,

nun habe ich bestimmt schon 10 Stunden mit Probieren und Schlaulesen verbracht, bekomme es aber einfach nicht gebacken  :-[ :-[ :-[

Was habe ich:

RaspBerry Zero WH
RaspBian stretch lite (aktuelle Version, Kernel 4.14.98)
OWserver (aktuelle Version)
I²C aktiviert
(1W aktiviert / deaktiviert)
1wire zu I²C  ( https://www.abelectronics.co.uk/p/76/1-wire-pi-zero )

(was ich in den configs hier in Klammern dargestellt habe, habe ich mit und ohne ausprobiert)

/boot/config.txt
arm_freq=800
core_freq=250
max_usb_current=1

dtparam=i2c1=on
dtparam=i2c_arm=on
dtparam=i2c_baudrate=400000
# dtparam=i2s=on
# dtparam=spi=on
# enable_uart=1
# dtoverlay=lirc-rpi
# dtoverlay=i2c-sensor
(dtoverlay=w1-gpio)


/etc/modules (ohne die wird kein I²C erkannt)
i2c-dev
i2c-bcm2708


Ausgabe von i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


Das Device wird also erkannt auf dem I²C- Bus

/etc/owfs.conf
! server: server = localhost:4304
# server: FAKE = DS18S20,DS2405
server: device=/dev/i2c-1
# server: usb = all
# Serial port: DS9097
# server: device = /dev/ttyS1
# owserver tcp address
# server: server = 192.168.10.1:3131
# server: FAKE = DS18S20,DS2405
(mountpoint = /mnt/1wire)
(allow_other)
http: port = 2121
# ftp: port = 2120
server: port = localhost:4304


OWserver läuft, zeigt aber keine daran angeschlossenen 1wire- Sensoren

directory
top highest level directory
bus.0 bus.0 directory
uncached uncached directory
settings settings directory
system system directory
statistics statistics directory
structure structure directory


Auch wenn ich im PI das 1wire abschalte (ich bin der Meinung, das kommt ja per I²C und nicht über GPIO, sollte m.E. also überflüssig sein), ändert sich nichts daran; ich sehe keinen Sensor (und ich habe mehrere DS18B20 zum Testen)


Was zur Hölle mache ich denn falsch? Übersehe ich hier irgendwas gravierendes?

LuckyDay

#1
# i2c port: DS2482-100 or DS2482-800
server: i2c = /dev/i2c-1:ALL


i2c habe ich so eingebunden in der owfs.conf

M_I_B

... guter Mann  ;D

... wenn man 10 HowTo's liest, hat man oft 12 Möglichkeiten ...

Jetzt werden die Sensoren in der Serveransicht dargestellt (localhost:2121). So weit so gut! Einen Schritt weiter...

Aber in FHEM haut das irgendwie nicht hin. Habe gerade noch mal das OWS- Device und die manuell angelegten Sensoren gelöscht, FHEM neu gestartet und OWS neu angelegt (https://wiki.fhem.de/wiki/FHEM_und_1-Wire)
Lässt sich zwar anlegen, aber verbleibt im Status "Initialized". Ein "get OWS devices" ergibt ... nischt; keine Reaktion. Ein "owget" in der shell schmeißt aber beide Sensoren aus; kommt also irgendwie nicht bei FHEM an...

LuckyDay

Zitat.. guter Mann  ;D

... wenn man 10 HowTo's liest, hat man oft 12 Möglichkeiten ...

tröste dich, ich hatte damals 2 Tage gebraucht für den einzeiler! ;D ;D ;D ;D


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

solltest das Wiki nehmen und

https://fhem.de/commandref.html#OWServer


ich habe noch wheezy und 2.7 , da werde ich keine Hilfe sein

M_I_B

... japp, die beiden Seiten kann ich inzwischen fast auswendig, so oft wie ich die gelesen habe  ::)

Da kommt mir noch gerade eine Idee...
Laut den HowTo's kann FHEM den Server ja erreichen, wenn der Status "Initialized" ausgegeben wird. Er kann hier halt nur die Sensoren nicht sehen, die der OWserver aber sehr wohl sieht. Könnte das ein Rechte- Problem sein?

LuckyDay

wenn du beim OWserver die Version richtig angegeben hast ( welche du auch jetzt immer hast?)

mach mal einen shutdown restart von Fhem, dann liest er die normaler weise selber neu ein

M_I_B

... habe ich gemacht. Version ist 3.1p5 ...

Internals:
   DEF        localhost:4304
   FUUID      5c97fff3-f33f-5bb0-620e-60b06ac09ed51e4e
   LAST_READ_FAILED 0
   NAME       OWS
   NOTIFYDEV  global
   NR         18
   NTFY_ORDER 50a-OWS
   OWNET_VERSION 3.1p5
   STATE      Initialized
   TYPE       OWServer
   .attraggr:
   .attrminint:
   READINGS:
     2019-03-24 23:51:21   state           Initialized
   fhem:
     protocol   localhost:4304
Attributes:
   room       Hardware


Der Vollständigkeit halber die manuell angelegten Sensoren (die ADressen per Copy&Past aus dem Server selbst entnommen; Tipfehler ausgeschlossen)
Internals:
   DEF        28.FF0E77901705 30
   FUUID      5c980064-f33f-5bb0-b2ac-409a5396ca79a708
   IODev      OWS
   LAST_READ_FAILED 0
   NAME       TMP1
   NOTIFYDEV  global
   NR         19
   NTFY_ORDER 50b-TMP1
   STATE      temperature: n/a  alarm: 0
   TYPE       OWDevice
   .attraggr:
   .attrminint:
   READINGS:
     2019-03-24 23:55:15   alarm           0
     2019-03-24 23:55:15   state           temperature: n/a  alarm: 0
   fhem:
     address    28.FF0E77901705
     alerting   1
     bus       
     interfaces temperature
     interval   30
     getters:
       address
       crc8
       family
       fasttemp
       id
       locator
       r_address
       r_id
       r_locator
       temperature
       temperature10
       temperature11
       temperature12
       temperature9
       temphigh
       templow
       type
     polls:
       temperature
     setters:
       temphigh
       templow
     state:
       temperature
Attributes:
   IODev      OWS
   room       Sensoren


Ach, und noch was: Nach dem manuellen ANlegen der Sensoren taucht nun im LOG schön regelmäßig folgendes auf (is ja logisch; kümmt ja nischt):
2019.03.25 00:06:54 3 : TMP1: reading temperature did not return a value
2019.03.25 00:07:00 3 : TMP2: reading temperature did not return a value

M_I_B

... habe vergangene Nacht einen zweiten PI-Zero mit Raspbian-lite aufgesetzt, OWserver installiert (funktioniert), FHEM installiert, OWdevice eingerichtet... Funktioniert nicht ...

Also irgendwie scheint FHEM mit dem angelegten Device zwar eine Verbindung zum OWserver aufbauen zu können, sieht die daran angeschlossenen Sensoren aber nicht. Man mag mich jetzt mal wieder steinigen, aber ich denke, das ist ein FHEM Problem...

Dr. Boris Neubert

Eine Herausforderung!

Bitte komplette Definition, das Log mit Verbose 5 und zwar nach get OWS devices.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

M_I_B

... ich denke, Du meinst die komplette Definition des OWSdevice? Steht unten/oben schon mal, aber gerne nochmal:

Internals:
   DEF        localhost:4304
   FUUID      5c97fff3-f33f-5bb0-620e-60b06ac09ed51e4e
   LAST_READ_FAILED 0
   NAME       OWS
   NOTIFYDEV  global
   NR         18
   NTFY_ORDER 50a-OWS
   OWNET_VERSION 3.1p5
   STATE      Initialized
   TYPE       OWServer
   .attraggr:
   .attrminint:
   READINGS:
     2019-03-25 07:42:54   state           Initialized
   fhem:
     protocol   localhost:4304
Attributes:
   room       Hardware


... und hier das, was nach Klicken des "get OWS devices" passiert

2019.03.25 20:02:50 4: WEB_192.168.1.101_57569 POST /fhem?detail=OWS&dev.getOWS=OWS&cmd.getOWS=get&arg.getOWS=devices&val.getOWS=&XHR=1&addLinks=1&fwcsrf=csrf_346936712764793&fw_id=18; BUFLEN:0
2019.03.25 20:02:50 5: Cmd: >get OWS devices<
2019.03.25 20:02:50 4: WEB: /fhem?detail=OWS&dev.getOWS=OWS&cmd.getOWS=get&arg.getOWS=devices&val.getOWS=&XHR=1&addLinks=1&fwcsrf=csrf_346936712764793&fw_id=18 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2019.03.25 20:02:52 4: WEB_192.168.1.101_57569 POST /fhem?detail=OWS&dev.getOWS=OWS&cmd.getOWS=get&arg.getOWS=devices&val.getOWS=&XHR=1&addLinks=1&fwcsrf=csrf_346936712764793&fw_id=18; BUFLEN:0
2019.03.25 20:02:52 5: Cmd: >get OWS devices<
2019.03.25 20:02:52 4: WEB: /fhem?detail=OWS&dev.getOWS=OWS&cmd.getOWS=get&arg.getOWS=devices&val.getOWS=&XHR=1&addLinks=1&fwcsrf=csrf_346936712764793&fw_id=18 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

Dr. Boris Neubert

Hi,

ich wollte alle Definitionen OWServer und OWDevice und alles aus dem Log betreffend diese Devices, mit verbose 5. Idealerweise auf einer Testinstanz von FHEM, wo sonst nichts läuft, noch nicht mal das Webfrontend.

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

M_I_B

.. also die Testinstanz ist das schon. Das FHEM ist jungfräulich und da ist nichts anderes drauf... Außer natürlich die Webinstanz. Ohne die müsste ich erst einmal wissen, wie ich FHEM aus der Konsole bediene...

Hier mal die fhem.cfg. Kannst mir ja mal sagen, was ich alles noch rausschmeißen soll:

attr global userattr cmdIcon devStateIcon:textField-long devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride
attr global autoload_undefined_devices 1
attr global autosave 1
attr global holiday2we NDS
attr global latitude 52.721845
attr global logfile ./log/fhem-%Y-%m.log
attr global longitude 9.853059
attr global modpath .
attr global motd none
attr global showInternalValues 1
attr global statefile ./log/fhem.save
attr global verbose 5

define WEB FHEMWEB 8083 global
setuuid WEB 5c97e9e8-f33f-5bb0-842b-c2bf74ccad4a4273
attr WEB confirmDelete 0
attr WEB menuEntries RelCFG,cmd=rereadcfg,UCheck,cmd=update+check,Update,cmd=update,Backup,cmd=Backup
attr WEB room hidden
attr WEB sortRooms Sensoren Anzeigen Hardware Unsorted _autocreate
attr WEB stylesheetPrefix default

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
setuuid Logfile 5c97e9e8-f33f-5bb0-7590-ab4e78bdf006a5f9

define eventTypes eventTypes ./log/eventTypes.txt
setuuid eventTypes 5c97e9e8-f33f-5bb0-f344-06609b22040b6d31


##### AUTOCREATE #####
define autocreate autocreate
setuuid autocreate 5c97e9e8-f33f-5bb0-3553-a751104f533646ed
attr autocreate autosave 1
attr autocreate device_room _autocreate_
attr autocreate room _autocreate_
attr autocreate weblink 1
attr autocreate weblink_room _autocreate_
define FileLog_AutoCreate FileLog ./log/%Y-%m_AutoCreate.log IT_.*
setuuid FileLog_AutoCreate 5c97e9e8-f33f-5bb0-1cc2-7e66fb9c86c1e948
attr FileLog_AutoCreate logtype text
attr FileLog_AutoCreate room _autocreate_

define OWS OWServer localhost:4304
setuuid OWS 5c9925ac-f33f-5bb0-552c-36c7b04d4d012aea
attr OWS room Hardware



BTW: Ich kann Dir auch gerne einen SSH- Zugang anlegen. Dann kannst Du gerne selber drauf rumwuseln ...

Dr. Boris Neubert

Gut, also netto nur ein OWServer-Device. Bitte noch ein attr global verbose 5 (sehe ich hier auf dem Smartphone nicht, sorry wenn schon drin), dann Neustart FHEM und Log hier bitte, ggf. so gut gekürzt wie möglich.  Gucke ich dann morgen auf dem großen Bildschirm an.

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

M_I_B

Jau, here it is...

Ich habe FHEM gestopt (per sysremctl), das Logfile gelöscht, FHEM gestartet, ne Zigarette lang gewartet, FHEM wieder gestopt.


Interessant für Dich ist vermutlich fast am ENde folgendes:
2019.03.25 20:41:05 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 496.

Das wäre... (was auch immer das heißen mag ...)
  my @dir= split(",", $owserver->dir("/"));
  my @devices= grep { m/^\/[0-9a-f]{2}.[0-9a-f]{12}$/i } @dir;




2019.03.25 20:41:02 5: Initializing Type Library:
2019.03.25 20:41:02 1: Including fhem.cfg
2019.03.25 20:41:02 5: Cmd: >attr global userattr cmdIcon devStateIcon:textField-long devStateStyle icon sortby webCmd webCmdLabel:textField-long widgetOverride<
2019.03.25 20:41:02 5: Cmd: >attr global autoload_undefined_devices 1<
2019.03.25 20:41:02 5: Cmd: >attr global autosave 1<
2019.03.25 20:41:02 5: Cmd: >attr global holiday2we NDS<
2019.03.25 20:41:02 5: Cmd: >attr global latitude 52.721845<
2019.03.25 20:41:02 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2019.03.25 20:41:02 5: Cmd: >attr global longitude 9.853059<
2019.03.25 20:41:02 5: Cmd: >attr global modpath .<
2019.03.25 20:41:02 5: Cmd: >attr global motd none<
2019.03.25 20:41:02 5: Cmd: >attr global showInternalValues 1<
2019.03.25 20:41:02 5: Cmd: >attr global statefile ./log/fhem.save<
2019.03.25 20:41:02 5: Cmd: >attr global verbose 5<
2019.03.25 20:41:02 5: Cmd: >define WEB FHEMWEB 8083 global<
2019.03.25 20:41:02 5: Loading ./FHEM/01_FHEMWEB.pm
2019.03.25 20:41:04 3: WEB: port 8083 opened
2019.03.25 20:41:04 5: Cmd: >setuuid WEB 5c97e9e8-f33f-5bb0-842b-c2bf74ccad4a4273<
2019.03.25 20:41:04 5: Cmd: >attr WEB confirmDelete 0<
2019.03.25 20:41:04 5: Cmd: >attr WEB menuEntries RelCFG,cmd=rereadcfg,UCheck,cmd=update+check,Update,cmd=update,Backup,cmd=Backup<
2019.03.25 20:41:04 5: Cmd: >attr WEB room hidden<
2019.03.25 20:41:04 5: Cmd: >attr WEB sortRooms Sensoren Anzeigen Hardware Unsorted _autocreate<
2019.03.25 20:41:04 5: Cmd: >attr WEB stylesheetPrefix default<
2019.03.25 20:41:04 5: Cmd: >define Logfile FileLog ./log/fhem-%Y-%m.log fakelog<
2019.03.25 20:41:04 5: Loading ./FHEM/92_FileLog.pm
2019.03.25 20:41:04 5: Cmd: >setuuid Logfile 5c97e9e8-f33f-5bb0-7590-ab4e78bdf006a5f9<
2019.03.25 20:41:05 5: Cmd: >define eventTypes eventTypes ./log/eventTypes.txt<
2019.03.25 20:41:05 5: Loading ./FHEM/91_eventTypes.pm
2019.03.25 20:41:05 2: eventTypes: loaded 25 events from ./log/eventTypes.txt
2019.03.25 20:41:05 5: Cmd: >setuuid eventTypes 5c97e9e8-f33f-5bb0-f344-06609b22040b6d31<
2019.03.25 20:41:05 5: Cmd: >define autocreate autocreate<
2019.03.25 20:41:05 5: Loading ./FHEM/98_autocreate.pm
2019.03.25 20:41:05 5: Cmd: >setuuid autocreate 5c97e9e8-f33f-5bb0-3553-a751104f533646ed<
2019.03.25 20:41:05 5: Cmd: >attr autocreate autosave 1<
2019.03.25 20:41:05 5: Cmd: >attr autocreate device_room _autocreate_<
2019.03.25 20:41:05 5: Cmd: >attr autocreate room _autocreate_<
2019.03.25 20:41:05 5: Cmd: >attr autocreate weblink 1<
2019.03.25 20:41:05 5: Cmd: >attr autocreate weblink_room _autocreate_<
2019.03.25 20:41:05 5: Cmd: >define FileLog_AutoCreate FileLog ./log/%Y-%m_AutoCreate.log IT_.*<
2019.03.25 20:41:05 5: Cmd: >setuuid FileLog_AutoCreate 5c97e9e8-f33f-5bb0-1cc2-7e66fb9c86c1e948<
2019.03.25 20:41:05 5: Cmd: >attr FileLog_AutoCreate logtype text<
2019.03.25 20:41:05 5: Cmd: >attr FileLog_AutoCreate room _autocreate_<
2019.03.25 20:41:05 5: Cmd: >define OWS OWServer localhost:4304<
2019.03.25 20:41:05 5: Loading ./FHEM/10_OWServer.pm
2019.03.25 20:41:05 5: OWS: Tentatively assuming OWNet version 3.1p5
2019.03.25 20:41:05 5: OWS: Loading OWNet version 3.1p5...
2019.03.25 20:41:05 3: OWS: OWNet version 3.1p5 loaded.
2019.03.25 20:41:05 3: OWS: Opening connection to OWServer localhost:4304...
2019.03.25 20:41:05 3: OWS: Successfully connected to localhost:4304.
2019.03.25 20:41:05 2: OWS: Could not read owserver version, using OWNet version 3.1p5.
2019.03.25 20:41:05 5: Cmd: >setuuid OWS 5c9925ac-f33f-5bb0-552c-36c7b04d4d012aea<
2019.03.25 20:41:05 5: Cmd: >attr OWS room Hardware<
2019.03.25 20:41:05 1: Including ./log/fhem.save
2019.03.25 20:41:05 5: Cmd: >setstate FileLog_AutoCreate active<
2019.03.25 20:41:05 5: Cmd: >setstate Logfile active<
2019.03.25 20:41:05 5: Cmd: >setstate OWS 2019-03-25 20:02:36 state Initialized<
2019.03.25 20:41:05 5: Cmd: >setstate WEB 2019-03-25 20:02:36 state Initialized<
2019.03.25 20:41:05 5: Cmd: >setstate autocreate active<
2019.03.25 20:41:05 5: Cmd: >setstate eventTypes active<
2019.03.25 20:41:05 5: Cmd: >setstate global no definition<
2019.03.25 20:41:05 5: Starting notify loop for global, 1 event(s), first is INITIALIZED
2019.03.25 20:41:05 5: createNotifyHash
2019.03.25 20:41:05 3: OWS: Opening connection to OWServer localhost:4304...
2019.03.25 20:41:05 3: OWS: Successfully connected to localhost:4304.
2019.03.25 20:41:05 5: Starting notify loop for OWS, 1 event(s), first is CONNECTED
2019.03.25 20:41:05 5: End notify loop for OWS
2019.03.25 20:41:05 5: Starting notify loop for OWS, 1 event(s), first is Initialized
2019.03.25 20:41:05 5: End notify loop for OWS
2019.03.25 20:41:05 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 496.
2019.03.25 20:41:05 5: End notify loop for global
2019.03.25 20:41:05 0: Featurelevel: 5.9
2019.03.25 20:41:05 0: Server started with 7 defined entities (fhem.pl:19006/2019-03-23 perl:5.024001 os:linux user:fhem pid:688)
2019.03.25 20:41:06 4: Connection accepted from WEB_192.168.1.101_58039
2019.03.25 20:41:06 4: WEB_192.168.1.101_58039 GET /fhem?XHR=1&inform=type=status;filter=OWS;since=1553540899.616;fmt=JSON&fw_id=29&timestamp=1553542865959; BUFLEN:0
2019.03.25 20:46:49 5: Starting notify loop for global, 1 event(s), first is SHUTDOWN
2019.03.25 20:46:49 5: createNotifyHash
2019.03.25 20:46:49 5: End notify loop for global
2019.03.25 20:46:49 0: Server shutdown

Dr. Boris Neubert

Hallo,

welche Version vom owserver hast Du denn installiert?

Das hier:

Zitat2019.03.25 20:41:05 2: OWS: Could not read owserver version, using OWNet version 3.1p5.

macht mich stutzig.

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