Hab ein kleins Problem mit OWID

Begonnen von TTTOOOMMMIII, 01 Januar 2021, 14:09:31

Vorheriges Thema - Nächstes Thema

TTTOOOMMMIII

Irgend wie geht das OWID nicht.  OWX hat den DS2411 korrekt erkannt aber leider geht die abfrage des OWID nicht.
Intervall oder present ohne Funktion.


Internals:
   ASYNC      0
   DEF        DS2401 1381E11C0000
   ERRCOUNT   0
   FUUID      5fee544d-f33f-5505-5e5f-4a003f8f62641d4d
   INTERVAL   300
   IODev      OWio1
   NAME       OWX_01_1381E11C0000
   NOTIFYDEV  global
   NR         204
   NTFY_ORDER 50-OWX_01_1381E11C0000
   OW_FAMILY  01
   OW_ID      1381E11C0000
   PRESENT    1
   ROM_ID     01.1381E11C0000.0E
   STATE      not present
   TYPE       OWID
   READINGS:
     2021-01-01 13:47:01   present         0
     2021-01-01 13:54:18   state           Initialized
Attributes:
   DbLogExclude .*
   IODev      OWio1
   interval   60
   model      DS2401
   room       OWX
   stateFormat {ReadingsVal($name,"present",0) ? "present" : "not present"}

Prof. Dr. Peter Henning

Unmöglich. Wenn "korrekt erkannt", kann auch die ID gelesen werden.

LG

pah

TTTOOOMMMIII

Danke erstmal konnte nicht schneller antworten! Du hast recht, er wirt auch erkannt in OWX und der Drive wirt erstellt.  Alles gut bis dahin. Und wie geschrieben, Intervall und present ohne Funktion.  Da der OWX den DS2411  perfekt erkennt. Es macht kein unterschied den OWX in ASYNCHRONOUS oder kein zu benutzen.

TomLee

Hallo,

mir zeigt sich seit mehr als 1 1/2 Wochen das gleiche Bild.

Mein FRM-Device:

Internals:
   CFGFN     
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0@57600
   DRIVER_VERSION 0.69
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0@57600
   FD         10
   FUUID      61c8664f-f33f-099f-dbd5-f8fcf3412c839c53
   LAST_RECEIVED 2021-12-26 13:55:48
   NAME       FIRMATA
   NOTIFYDEV  global
   NR         619
   NTFY_ORDER 50-FIRMATA
   PARTIAL   
   STATE      Initialized
   TYPE       FRM
   analog_pins 14,15,16,17,18,19,20,21
   analog_resolutions 14:10,15:10,16:10,17:10,18:10,19:10,20:10,21:10
   firmware   ConfigurableFirmata_builder.ino
   firmware_version V_2_10
   input_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   onewire_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   output_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   protocol_version V_2_06
   pullup_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   pwm_pins   3,5,6,9,10,11
   pwm_resolutions 3:8,5:8,6:8,9:8,10:8,11:8
   READINGS:
     2021-12-26 13:55:48   state           Initialized
   SERIAL:
Attributes:


Das Log beim anlegen:
2021.12.26 13:55:43 3: Opening FIRMATA device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0
2021.12.26 13:55:43 3: Setting FIRMATA serial parameters to 57600,8,N,1
2021.12.26 13:55:43 3: FIRMATA device opened
2021.12.26 13:55:46 3: FIRMATA: querying Firmata versions
2021.12.26 13:55:48 3: FIRMATA: Firmata Firmware Version ConfigurableFirmata_builder.ino V_2_10 (using Protocol Version V_2_06)


Das OWX-Device, nach dem definieren:

Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   CFGFN     
   DEF        FIRMATA:9
   DeviceName FIRMATA:9
   FUUID      61c866f0-f33f-099f-c73c-70fa679767689078
   HWDEVICE   FIRMATA
   INITDONE   1
   INTERFACE  firmata
   IODev      FIRMATA
   NAME       OWio1
   NR         650
   PARTIAL   
   PIN        9
   PRESENT    1
   ROM_ID     FF
   STATE      ???
   TYPE       OWX
   interval   300
   timeout    2
   DEVHASH:
     OWio1      Busmaster
   DEVS:
Attributes:


Im Log steht:

2021.12.26 13:59:24 1: OWX_Init called for bus OWio1 with interface state ???, now going for detect
2021.12.26 13:59:24 1: OWX: 1-Wire bus OWio1: interface Firmata detected in FIRMATA
2021.12.26 13:59:24 1: OWX_Discover: 1-Wire devices found on bus OWio1 ()


Im Wiki steht:

ZitatNach dem Definieren des OWX Devices fängt dieses selbsttätig an über den Arduino-Pin nach 1-Wire Devices zu suchen und im Raum 'OWX' automatisch anzulegen.

Das ist hier bei mir jetzt nicht so, testweise habe ich das Intervall verkleinert, verbose 5 im FRM.- und OWX-Device eingestellt, keine weiteren Meldungen im  Log.

Ein get OWio1 devices und set OWio1 reopen ergeben:

2021.12.26 14:12:32 1: OWX_Discover: 1-Wire devices found on bus OWio1 ()
2021.12.26 14:14:39 1: [OWX_FRM] Warning: ->Reopen currently not defined
2021.12.26 14:14:39 3: OWX_Set OWio1 reopen => 0


Am OWX-Device hat sich nichts verändert:

Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   CFGFN     
   DEF        FIRMATA:9
   DeviceName FIRMATA:9
   FUUID      61c866f0-f33f-099f-c73c-70fa679767689078
   HWDEVICE   FIRMATA
   INITDONE   1
   INTERFACE  firmata
   IODev      FIRMATA
   NAME       OWio1
   NR         650
   PARTIAL   
   PIN        9
   PRESENT    1
   ROM_ID     FF
   STATE      ???
   TYPE       OWX
   interval   2
   timeout    2
   DEVHASH:
     OWio1      Busmaster
   DEVS:
Attributes:
   interval   2
   verbose    5


Nehme ich jetzt ein set FIRMATA reset vor, steht im Log:

2021.12.26 14:19:04 5: FIRMATA FRM:>ff
2021.12.26 14:19:04 5: DevIo_SimpleWrite FIRMATA: ff
2021.12.26 14:19:04 1: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0 disconnected, waiting to reappear (FIRMATA)
2021.12.26 14:19:04 5: FIRMATA: FRM_Ready
2021.12.26 14:19:04 3: Setting FIRMATA serial parameters to 57600,8,N,1
2021.12.26 14:19:04 5: FIRMATA: FRM_DoInit
2021.12.26 14:19:04 5: FIRMATA FRM:>ff
2021.12.26 14:19:04 5: DevIo_SimpleWrite FIRMATA: ff
2021.12.26 14:19:04 5: FIRMATA: setup stage 1
2021.12.26 14:19:04 1: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0 reappeared (FIRMATA)
2021.12.26 14:19:04 5: FIRMATA: setup stage 1
2021.12.26 14:19:04 5: FIRMATA: setup stage 1
2021.12.26 14:19:04 5: FIRMATA: setup stage 1
2021.12.26 14:19:04 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:05 5: FIRMATA: setup stage 1
2021.12.26 14:19:06 5: FIRMATA: setup stage 1
2021.12.26 14:19:07 5: FIRMATA: setup stage 1
2021.12.26 14:19:07 3: FIRMATA: querying Firmata versions
2021.12.26 14:19:07 5: FIRMATA FRM:>f90000
2021.12.26 14:19:07 5: DevIo_SimpleWrite FIRMATA: f90000
2021.12.26 14:19:07 5: FIRMATA FRM:>f079f7
2021.12.26 14:19:07 5: DevIo_SimpleWrite FIRMATA: f079f7
2021.12.26 14:19:08 5: FIRMATA: setup stage 1
2021.12.26 14:19:08 5: FIRMATA: setup stage 1
2021.12.26 14:19:09 5: FIRMATA FRM:<f90206f079020a43006f006e0066006900670075007200610062006c0065004600690072006d006100740061005f006200750069006c006400650072002e0069006e006f00f7f90206f079020a43006f006e0066006900670075007200610062006c0065004600690072006d006100740061005f006200750069006c006400650072002e0069006e006f00f7
2021.12.26 14:19:09 5: FIRMATA: setup stage 1
2021.12.26 14:19:09 3: FIRMATA: Firmata Firmware Version ConfigurableFirmata_builder.ino V_2_10 (using Protocol Version V_2_06)
2021.12.26 14:19:09 5: FIRMATA FRM:>f069f7
2021.12.26 14:19:09 5: DevIo_SimpleWrite FIRMATA: f069f7
2021.12.26 14:19:09 5: FIRMATA FRM:>f06bf7
2021.12.26 14:19:09 5: DevIo_SimpleWrite FIRMATA: f06bf7
2021.12.26 14:19:09 5: FIRMATA FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7f06c7f7f00010b01010107017f00010b010101030807017f00010b01010107017f00010b010101030807017f00010b010101030807017f00010b01010107017f00010b01010107017f00010b010101030807017f00010b010101030807017f00010b010101030807017f00010b01010107017f00010b01010107017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f020a7f020a7ff7
2021.12.26 14:19:09 5: FIRMATA: setup stage 2
2021.12.26 14:19:09 5: FIRMATA FRM:>f07a6807f7
2021.12.26 14:19:09 5: DevIo_SimpleWrite FIRMATA: f07a6807f7
2021.12.26 14:19:09 5: FIRMATA: setup stage 3
2021.12.26 14:19:09 5: OWio1: FRM_Client_AssignIOPort before IODev FIRMATA -> FIRMATA
2021.12.26 14:19:09 5: OWio1: FRM_Client_AssignIOPort after IODev FIRMATA
2021.12.26 14:19:09 5: FIRMATA FRM:>f40907
2021.12.26 14:19:09 5: DevIo_SimpleWrite FIRMATA: f40907
2021.12.26 14:19:09 5: OWio1: registered pin 9 at FIRMATA
2021.12.26 14:19:09 5: FIRMATA: setup stage 5


Das OWX-Device ist nun Initialized:

Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   CFGFN     
   DEF        FIRMATA:9
   DeviceName FIRMATA:9
   FRM_OWX_CORRELATIONID 0
   FUUID      61c866f0-f33f-099f-c73c-70fa679767689078
   HWDEVICE   FIRMATA
   INITDONE   1
   INTERFACE  firmata
   IODev      FIRMATA
   NAME       OWio1
   NR         650
   PARTIAL   
   PIN        9
   PRESENT    1
   ROM_ID     FF
   STATE      Initialized
   TYPE       OWX
   interval   2
   timeout    2
   DEVHASH:
     OWX_01_BFB2711B0000 01.BFB2711B0000.7E
     OWio1      Busmaster
   DEVS:
     01.BFB2711B0000.7E
   FRM_OWX_REPLIES:
   READINGS:
     2021-12-26 14:19:09   IODev           FIRMATA
Attributes:
   IODev      FIRMATA
   interval   2
   verbose    5


und das OWID-Device wird automatisch angelegt:

Internals:
   ASYNC      0
   CFGFN     
   DEF        DS2401 BFB2711B0000
   FUUID      61c86bd7-f33f-099f-62a9-b496d34a8d0ec695
   INTERVAL   300
   IODev      OWio1
   NAME       OWX_01_BFB2711B0000
   NOTIFYDEV  global
   NR         823
   NTFY_ORDER 50-OWX_01_BFB2711B0000
   OW_FAMILY  01
   OW_ID      BFB2711B0000
   PRESENT   
   ROM_ID     01.BFB2711B0000.7E
   STATE      not present
   TYPE       OWID
   READINGS:
     2021-12-26 14:19:19   IODev           OWio1
     2021-12-26 14:24:49   present         0
     2021-12-26 14:19:19   state           Initialized
Attributes:
   IODev      OWio1
   model      DS2401
   room       OWX
   stateFormat {ReadingsVal($name,"present",0) ? "present" : "not present"}


Ab jetzt gibt es im eingestellten Intervall (das hab ich zum Test nun auf 2 gestellt) des OWID-Device diese Meldung im Log:

2021.12.26 14:24:49 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:45 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:47 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:49 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:51 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:53 3: OWX_Verify called while interface OWio1 not opened
2021.12.26 14:27:55 3: OWX_Verify called while interface OWio1 not opened


Das OWX-Device sieht noch immer so aus wie oben gezeigt:

Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   CFGFN     
   DEF        FIRMATA:9
   DeviceName FIRMATA:9
   FRM_OWX_CORRELATIONID 0
   FUUID      61c866f0-f33f-099f-c73c-70fa679767689078
   HWDEVICE   FIRMATA
   INITDONE   1
   INTERFACE  firmata
   IODev      FIRMATA
   NAME       OWio1
   NR         650
   PARTIAL   
   PIN        9
   PRESENT    1
   ROM_ID     FF
   STATE      Initialized
   TYPE       OWX
   interval   2
   timeout    2
   DEVHASH:
     OWX_01_BFB2711B0000 01.BFB2711B0000.7E
     OWio1      Busmaster
   DEVS:
     01.BFB2711B0000.7E
   FRM_OWX_REPLIES:
   READINGS:
     2021-12-26 14:19:09   IODev           FIRMATA
Attributes:
   IODev      FIRMATA
   interval   2
   verbose    5


10_FRM.pm 23393 2020-12-20 19:35:57Z jensb
00_OWX.pm 23553 2021-01-19 13:51:06Z phenning
21_OWID.pm 23553 2021-01-19 13:51:06Z phenning


Wenn ich ein get OWio1 devices wird der Sensor korrekt erkannt.

Wie ich es bisher verstanden und gelesen habe sollte das Reading present 1 sein wenn der Sensor am Bus hängt und 0 nach einer Zeit wenn nicht mehr vorhanden, bei mir ist das Reading auch (wie beim Vorgänger) immer 0.

Hab ich was grundsätzlich nicht verstanden ?
Kann man an den gegebenen Informationen ableiten was ich falsch machen könnte ?

Gruß

Thomas

Prof. Dr. Peter Henning

Hm. Schwer zu sagen, ich tippe darauf, dass sich die Firmata-Verbindung nach einer Weile aufhängt. Und wie man am letzten Block des Posts sieht, wurde das FIRMATA-Modul im Dezember 2021 geändert. Liegt also daran, da kann ich leider nichts machen, bitte an JensB wenden.

LG

pah

TomLee

Aus der Antwort schliesse ich das die Änderungen in OWID und OWX im Januar 2021 auf einer älteren Version wie der vom Dezember 2020 basieren.
Deshalb hab ich mal die vorherige 10_FRM.pm eingespielt und es hat sich weiterhin nichts an dem Reading present getan.

Ich hab mich nicht weiter mit beschäftigt halte nur mal fest, weil irgendwann würd ich das schon gern zum laufen bekommen.

FRM und OWX standen beim Neustart auf verbose 5 und das steht im Log (der letzte Eintrag war ein manuelles get OWio1 device):

2021.12.28 14:25:07 3: Opening FIRMATA device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02MHZO-if00-port0
2021.12.28 14:25:07 3: Setting FIRMATA serial parameters to 57600,8,N,1
2021.12.28 14:25:07 5: FIRMATA: FRM_DoInit
2021.12.28 14:25:07 5: FIRMATA FRM:>ff
2021.12.28 14:25:07 5: DevIo_SimpleWrite FIRMATA: ff
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 3: FIRMATA device opened
2021.12.28 14:25:07 0: Featurelevel: 6.1
2021.12.28 14:25:07 0: Server started with 34 defined entities (fhem.pl:25309/2021-12-06 perl:5.028001 os:linux user:fhem pid:1214)
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:07 5: FIRMATA: setup stage 1
2021.12.28 14:25:08 5: FIRMATA: setup stage 1
2021.12.28 14:25:09 3: telnetForBlockingFn_1640697909: port 39021 opened
2021.12.28 14:25:09 5: FIRMATA: setup stage 1
2021.12.28 14:25:10 5: FIRMATA: setup stage 1
2021.12.28 14:25:10 3: FIRMATA: querying Firmata versions
2021.12.28 14:25:10 5: FIRMATA FRM:>f90000
2021.12.28 14:25:10 5: DevIo_SimpleWrite FIRMATA: f90000
2021.12.28 14:25:10 5: FIRMATA FRM:>f079f7
2021.12.28 14:25:10 5: DevIo_SimpleWrite FIRMATA: f079f7
2021.12.28 14:25:11 5: FIRMATA: setup stage 1
2021.12.28 14:25:11 5: FIRMATA: setup stage 1
2021.12.28 14:25:11 5: FIRMATA FRM:<f90206f079020a43006f006e0066006900670075007200610062006c0065004600690072006d006100740061005f006200750069006c006400650072002e0069006e006f00f7f90206f079020a43006f006e0066006900670075007200610062006c0065004600690072006d006100740061005f006200750069006c006400650072002e0069006e006f00f7
2021.12.28 14:25:11 5: FIRMATA: setup stage 1
2021.12.28 14:25:11 3: FIRMATA: Firmata Firmware Version ConfigurableFirmata_builder.ino V_2_10 (using Protocol Version V_2_06)
2021.12.28 14:25:11 5: FIRMATA FRM:>f069f7
2021.12.28 14:25:11 5: DevIo_SimpleWrite FIRMATA: f069f7
2021.12.28 14:25:11 5: FIRMATA FRM:>f06bf7
2021.12.28 14:25:11 5: DevIo_SimpleWrite FIRMATA: f06bf7
2021.12.28 14:25:11 5: FIRMATA FRM:<f06a7f7f7f7f7f7f7f7f7f7f7f7f7f7f0001020304050607f7
2021.12.28 14:25:11 5: FIRMATA: setup stage 2
2021.12.28 14:25:11 5: FIRMATA FRM:<f06c7f7f00010b01010107017f00010b010101030807017f00010b01010107017f00010b010101030807017f00010b010101030807017f00010b01010107017f00010b01010107017f00010b010101030807017f00010b010101030807017f00010b010101030807017f00010b01010107017f00010b01010107017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f00010b010101020a07017f020a7f020a7ff7
2021.12.28 14:25:11 5: FIRMATA: setup stage 2
2021.12.28 14:25:12 5: FIRMATA FRM:>f07a6807f7
2021.12.28 14:25:12 5: DevIo_SimpleWrite FIRMATA: f07a6807f7
2021.12.28 14:25:12 5: FIRMATA: setup stage 3
2021.12.28 14:25:12 5: OWio1: FRM_Client_AssignIOPort before IODev FIRMATA -> FIRMATA
2021.12.28 14:25:12 5: OWio1: FRM_Client_AssignIOPort after IODev FIRMATA
2021.12.28 14:25:12 5: FIRMATA FRM:>f40907
2021.12.28 14:25:12 5: DevIo_SimpleWrite FIRMATA: f40907
2021.12.28 14:25:12 5: OWio1: registered pin 9 at FIRMATA
2021.12.28 14:25:12 5: FIRMATA: setup stage 5
2021.12.28 14:25:22 5: FIRMATA FRM:>f0734009f7
2021.12.28 14:25:22 5: DevIo_SimpleWrite FIRMATA: f0734009f7
2021.12.28 14:25:22 5: FIRMATA FRM:<f0734209
2021.12.28 14:25:22 5: FIRMATA FRM:<01466229350300005000f7
2021.12.28 14:25:22 1: OWX_Discover: 1-Wire devices found on bus OWio1 (OWX_01_A338551B0000)
2021.12.28 14:25:30 2: AttrTemplates: got 238 entries
2021.12.28 14:25:37 1: PERL WARNING: Use of uninitialized value $value in numeric eq (==) at ./FHEM/21_OWID.pm line 372.
2021.12.28 14:25:37 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at ./FHEM/21_OWID.pm line 378.
2021.12.28 14:26:01 5: FIRMATA FRM:>f0734009f7
2021.12.28 14:26:01 5: DevIo_SimpleWrite FIRMATA: f0734009f7
2021.12.28 14:26:01 5: FIRMATA FRM:<f0734209014662
2021.12.28 14:26:01 5: FIRMATA FRM:<29350300005000f7
2021.12.28 14:26:01 1: OWX_Discover: 1-Wire devices found on bus OWio1 (OWX_01_A338551B0000)
2021.12.28 14:26:06 1: OWX_Init called for bus OWio1 with interface state Initialized, now going for detect
2021.12.28 14:26:06 1: OWX: 1-Wire bus OWio1: interface Firmata detected in FIRMATA
2021.12.28 14:26:06 5: FIRMATA FRM:>f0734009f7
2021.12.28 14:26:06 5: DevIo_SimpleWrite FIRMATA: f0734009f7
2021.12.28 14:26:06 5: FIRMATA FRM:<f0734209
2021.12.28 14:26:06 5: FIRMATA FRM:<01466229350300005000f7
2021.12.28 14:26:06 1: OWX_Discover: 1-Wire devices found on bus OWio1 (OWX_01_A338551B0000)

Prof. Dr. Peter Henning

Sorry, hatte bei der Änderung von JensB auch 2021 gelesen. Nö, dann habe ich keine Ahnung, woran das liegt.

LG

pah