OWX MAJOR UPDATE

Begonnen von Prof. Dr. Peter Henning, 29 Oktober 2017, 18:52:48

Vorheriges Thema - Nächstes Thema

stefan-dd

Seit ein paar Tagen erscheint wieder eine Fehlermeldung:

ERROR:
OWX_Pool: unknown attribute IODev. Type 'attr OWX_Pool ?' for a detailed list.


defmod OWX_Pool OWX FIRMATA_II:19
attr OWX_Pool IODev FIRMATA_II


Das Modul funktioniert, nur die Meldung ist lästig. Entferne ich das attr IODev wird es beim nächsten Start wieder eingetragen. Lt. Meldung ist das attr unbekannt wied aber automatisch wieder eingetragen. Also ein Widerspruch!

Wie bekomme ich die Meldung weg?

JensS

Hallo stefan-dd,

ein update sollte helfen. Es gibt einige Neuerungen bei OWX und FRM.
Das Attribut IODev anschließend per Hand in der fhem.cfg löschen.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

stefan-dd

Ich habe die aktuellen Updates eingespielt. Der Fehler ist erst danach, vor ein paar Tagen gekommen.
Wie bereits geschrieben kann ich das Attribut löschen, Wird aber wieder neu eingetragen, und der Fehler dazu.
Eine Arduino Zuordnung ist logischerweise notwendig,  Woher soll die Definition sonst wissen welchen Arduino sie ansprechen soll.
Irgend etwas würde wieder kaputt geändert?

Prof. Dr. Peter Henning

ZitatIrgend etwas würde wieder kaputt geändert?
Unsinn, aber hoch drei.

11_OWX_FRM wurde gepatcht, siehe den entsprechenden Thread.

pah

synaps-o-dan

Hallo,
gibt es zu dem Problem in meiner fhem-Installation Hoffnung?
Viele Grüße,
Daniel

Zitat von: synaps-o-dan am 28 Januar 2018, 14:12:43
Hallo,

ich melde mich nochmals in Sache LinkUSBi und OWX. Leider läuft die aktuelle Version von OWX ($Id: 00_OWX.pm 15904 2018-01-16 09:19:19Z phenning $) nicht mit meinem System, bestehend aus einem LinkUSBi als Busmaster und mehreren Sensoren (4 x OWTHERM, 4 x OWMULT, 3 x OWCOUNT, 1 x OWID im LinkUSBi) nicht. Verwende ich eine alte Version von OWX ($Id: 00_OWX.pm 15159 2017-10-01 10:02:28Z phenning $), so läuft das System, allerdings nur synchron. Sorry, meine ursprüngliche Anfrage ist schon etwas älter, aus beruflichen Gründen konnte ich mich nicht eher melden.
Der letzte Stand war dieser hier:

Ich habe die Änderung durchgeführt, allerdings ohne Erfolg:

  • Die OWTHERM und OWMULT laufen
  • Der OWID wird nicht erkannt
  • Die OWCOUNT liefern eine Fehlermeldug, wenn ich manuell ein "get counters" ausführe

Die Änderung der Verzögerung in Zeile 785 führt dazu, dass der LinkUSBi nicht mehr disconnected wird, aber Werte gibt es trotzdem keine.

Hier die Fehlermeldung der OWCOUNT (Name des device: "Counter_Hauptzaehler):
OWCOUNT: get Counter_Hauptzaehler counters failed, reason: OWCOUNT: Could not get values from device Counter_Hauptzaehler, reason: 1D.73880F000000.6D has returned invalid data of length 2OWCOUNT: Could not get values from device Counter_Hauptzaehler, reason: 1D.73880F000000.6D not accessible in reading page 15

Im log führt dies zu diesem Eintrag:
2018.01.28 14:08:51 1: OWX_SER::Query OWX_LinkUSB:  0 of 1 bytes in last attempt and state opened, this is an unrecoverable error
2018.01.28 14:08:51 1: OWX_SER::Query OWX_LinkUSB:  0 of 54 bytes in last attempt and state opened, this is an unrecoverable error
2018.01.28 14:08:51 1: OWX_SER::Query OWX_LinkUSB:  0 of 1 bytes in last attempt and state opened, this is an unrecoverable error
2018.01.28 14:08:51 1: OWX_SER::Query OWX_LinkUSB:  0 of 1 bytes in last attempt and state opened, this is an unrecoverable error
2018.01.28 14:08:52 1: OWX_SER::Query OWX_LinkUSB:  0 of 54 bytes in last attempt and state opened, this is an unrecoverable error
2018.01.28 14:08:52 1: OWX_SER::Query OWX_LinkUSB:  0 of 1 bytes in last attempt and state opened, this is an unrecoverable error


Der OWX ist noch synchron eingestellt. Gibt es Hoffnung?

Liebe Grüße,
Daniel
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

Prof. Dr. Peter Henning

Hoffnung gibt es immer.

Das Problem ist aber, dass ich selbst keinen LinkUSB habe und insofern immer nur raten kann.

Vorschlag: Wir fangen noch mal von vorne an.

1. OWX und zugehörigen Module aus dem aktuellen SVN
2. Nur ein Thermometer dran.

LG

pah

synaps-o-dan

Danke für die Antort. Werde ich machen - Schritt für Schritt ein System aufbauen, beginnend mit einem DS18b20. Und dann schrittweise erweitern, bis der Fehler auftritt. Ich melde mich wieder, wenn es zeitlich geklappt hat.
lg
Daniel
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

det.

hallo pah,

seit dem heutigen Update kommt einmal im Log für jeden Busmaster
OWX_SER::Define warning: version 7.05 not identical to OWX version 7.08
hast Du geplant das demnächst mal mit anzupassen?
LG
det.

Prof. Dr. Peter Henning

Ja, irgendwann mal. Kann getrost ignoriert werden.

LG

pah

synaps-o-dan

#84
Hallo,
so, Schritt 1 ist getan: ich habe im Testsystem einen Busmaster angeschlossen. Leider nicht genau den LinkUSBi (der muss im Produktivsystem bleiben), sondern als Ersatz einen COM to 1-Wire USB Adapter, der sich aber identisch verhalten sollte. Im Testsystem habe ich dann ein OWX angelegt. Am Busmaster hängt ein einzelner Temperatursensor, Leitunslänge ca. 10cm, fliegende Verkabelung. Hier das Listing des Busmasters:
Internals:
   ALARMED    1
   ASYNCHRONOUS 0
   BLOCK      0
   BUSY       0
   CFGFN     
   DEF        /dev/EcloOWUSB
   DeviceName /dev/EcloOWUSB
   FD         10
   INITDONE   1
   INTERFACE  DS2480
   LASTSEND   1519157756.91621
   NAME       OWX_EcloOWUSB
   NR         49
   PARTIAL   
   PRESENT    1
   ROM_ID     FF
   STATE      opened
   TYPE       OWX
   interval   300
   timeout    2
   version    7.05
   DEVHASH:
     OWID_EcloOWUSB 01.FDCE58150000.3E
     OWX_EcloOWUSB Busmaster
     Temperatur_Test 28.3FA602040000.E1
   DEVS:
     28.3FA602040000.E1
     01.FDCE58150000.3E
   READINGS:
     2018-02-20 21:16:14   queue           0
     2018-02-20 21:16:18   state           opened
Attributes:
   asynchronous 0
   room       OWX


Hier das Listing des Temperatursensors:
Internals:
   ALARM      1
   ASYNC      0
   CFGFN     
   DEF        DS18B20 3FA602040000
   ERRCOUNT   0
   INTERVAL   300
   IODev      OWX_EcloOWUSB
   NAME       Temperatur_Test
   NOTIFYDEV  global
   NR         63
   NTFY_ORDER 50-OWX_28_3FA602040000
   OW_FAMILY  28
   OW_ID      3FA602040000
   PRESENT    1
   ROM_ID     28.3FA602040000.E1
   STATE      T: 22.12 °C ↓
   TYPE       OWTHERM
   owg_temp   22.125
   owg_th     75
   owg_tl     70
   READINGS:
     2018-02-20 21:16:26   state           T: 22.12 °C ↓
     2018-02-20 21:16:26   temperature     22.125
   tempf:
     factor     1
     offset     0
Attributes:
   IODev      OWX_EcloOWUSB
   model      DS18B20
   room       OWX
   tempHigh   75
   tempLow    70
   verbose    0

Temperatur-Readings kommen problemlos rein und erscheinen sinvoll.
Jetzt Umstellung auf asynchron, es kommt nur noch 85°C als Temperatur (also Fehler). Verbosität des Sensors auf 5 hochgedreht, es erscheint die folgende Meldung im log:
2018.02.20 21:14:17 1: OWXTHERM_BinValues called for device Temperatur_Test in context readsp with data 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0xbe 0x50 0x05 0x4b 0x46 0x7f 0xff 0x0c 0x10 0x1c
2018.02.20 21:14:17 1: OWXTHERM_BinValues:  Temperatur_Test: no error,  85  0x50 0x05 0x4b 0x46 0x7f 0xff 0x0c 0x10 0x1c

Dazu die korrelierenden Einträge des Busmasters, wenn der auf verbose 5 gesetzt ist (Zeitstempel passen nicht, da ich die Abfragen nacheinander getätigt habe):
2018.02.20 21:23:01 4: OWX_Qomplex: Added dev 283FA602040000E1 to queue OWX_EcloOWUSB context=convert
2018.02.20 21:23:01 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:23:01 5: SW: e3c5
2018.02.20 21:23:01 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:23:01 1: OWX_SER::Write Sending out 0xe1 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0x44 0xff
2018.02.20 21:23:01 5: SW: e155283fa602040000e144ff
2018.02.20 21:23:01 1:    queue OWX_EcloOWUSB contains 1 entries after insertion
2018.02.20 21:23:01 1:     => 283FA602040000E1 context convert expecting 1 bytes, active
2018.02.20 21:23:01 1: ----------------------------------------------
2018.02.20 21:23:01 1: OWX_Qomplex: Added dev 283FA602040000E1 to queue OWX_EcloOWUSB numread=19
2018.02.20 21:23:01 1:    queue OWX_EcloOWUSB contains 2 entries after insertion
2018.02.20 21:23:01 1:     => 283FA602040000E1 context convert expecting 1 bytes, active
2018.02.20 21:23:01 1:     => 283FA602040000E1 context readsp expecting 19 bytes, waiting
2018.02.20 21:23:01 1: ----------------------------------------------
2018.02.20 21:23:01 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:23:01 5: SW: e3c5
2018.02.20 21:23:01 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:23:02 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:23:02 5: SW: e3c5
2018.02.20 21:23:02 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:23:02 1: OWX_SER::Write Sending out 0xe1 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0xbe 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
2018.02.20 21:23:02 5: SW: e155283fa602040000e1beffffffffffffffffffffffffffffffffffffff
2018.02.20 21:23:02 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:23:02 5: SW: e3c5
2018.02.20 21:23:02 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened

Alle Module sind aktuell. Keine Änderngen im Quellcode.
Ich hoffe, das hilft. Ansonsten kann ich gerne weitere Infos liefern.
Liebe Grüße,
Daniel

edit: ich habe nochmal den Busmaster und den Temperatursensor auf verbose=5 gesetzt und im asynchronen Modus die Temperatur abgefragt. Hier die Einträge im log:
2018.02.20 21:28:01 4: OWX_Qomplex: Added dev 283FA602040000E1 to queue OWX_EcloOWUSB context=convert
2018.02.20 21:28:01 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:28:01 5: SW: e3c5
2018.02.20 21:28:01 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:28:01 1: OWX_SER::Write Sending out 0xe1 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0x44 0xff
2018.02.20 21:28:01 5: SW: e155283fa602040000e144ff
2018.02.20 21:28:01 1:    queue OWX_EcloOWUSB contains 1 entries after insertion
2018.02.20 21:28:01 1:     => 283FA602040000E1 context convert expecting 1 bytes, active
2018.02.20 21:28:01 1: ----------------------------------------------
2018.02.20 21:28:01 1: OWX_Qomplex: Added dev 283FA602040000E1 to queue OWX_EcloOWUSB numread=19
2018.02.20 21:28:01 1:    queue OWX_EcloOWUSB contains 2 entries after insertion
2018.02.20 21:28:01 1:     => 283FA602040000E1 context convert expecting 1 bytes, active
2018.02.20 21:28:01 1:     => 283FA602040000E1 context readsp expecting 19 bytes, waiting
2018.02.20 21:28:01 1: ----------------------------------------------
2018.02.20 21:28:01 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:28:01 5: SW: e3c5
2018.02.20 21:28:01 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:28:02 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:28:02 5: SW: e3c5
2018.02.20 21:28:02 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:28:02 1: OWX_SER::Write Sending out 0xe1 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0xbe 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
2018.02.20 21:28:02 5: SW: e155283fa602040000e1beffffffffffffffffffffffffffffffffffffff
2018.02.20 21:28:02 1: OWX_SER::Query OWX_EcloOWUSB: Sending out0xe3 0xc5
2018.02.20 21:28:02 5: SW: e3c5
2018.02.20 21:28:02 4: OWX_SER::Query OWX_EcloOWUSB: 1 of 1 bytes in first attempt and state opened
2018.02.20 21:28:02 1: OWXTHERM_BinValues called for device Temperatur_Test in context readsp with data 0x55 0x28 0x3f 0xa6 0x02 0x04 0x00 0x00 0xe1 0xbe 0x50 0x05 0x4b 0x46 0x7f 0xff 0x0c 0x10 0x1c
2018.02.20 21:28:02 1: OWXTHERM_BinValues:  Temperatur_Test: no error,  85  0x50 0x05 0x4b 0x46 0x7f 0xff 0x0c 0x10 0x1c


Zitat von: synaps-o-dan am 11 Februar 2018, 20:28:06
Danke für die Antort. Werde ich machen - Schritt für Schritt ein System aufbauen, beginnend mit einem DS18b20. Und dann schrittweise erweitern, bis der Fehler auftritt. Ich melde mich wieder, wenn es zeitlich geklappt hat.
lg
Daniel
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

Deckoffizier

Hallo  synaps-o-dan,

habe nicht weiter das Problem/Thema verfolgt aber benenne mal eventuell Deinen
Temp Sensor um im List als DEF        DS18B20 3FA602040000

in 28.3FA602040000 180

Die 180 am Ende ist die Abfragezeit in Sekunden nur als Beispiel.

Gruß
Hans-Jürgen
FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus

Prof. Dr. Peter Henning

Ja, und ? Das läuft doch astrein, die Log-Meldung "no error" besagt, dass die Daten vom Sensor ohne Probleme gelesen werden (CRC-Code stimmt)


LG

pah

synaps-o-dan

Zitat von: Prof. Dr. Peter Henning am 21 Februar 2018, 04:39:02
Ja, und ? Das läuft doch astrein, die Log-Meldung "no error" besagt, dass die Daten vom Sensor ohne Probleme gelesen werden (CRC-Code stimmt)


LG

pah

OK, aber der Sensor ist ein DS18B20. Teilt der über das Reading ,,85" nicht einen Fehler mit? Das Reading 85 taucht wie gesagt nur im asynchronen Fall auf, im synchronen Fall ist alles in Ordnung.

Gerne kann ich einen Busmater (LinkUSBi oder den Eclo USB) zum Testen leihweise zur Verfügung stellen, wenn das hilft.
Lg
Daniel


Gesendet von iPhone mit Tapatalk
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

Prof. Dr. Peter Henning

Nö. Auch im asynchronen Fall wird hier ein Wert vom Sensor zurückgeliefert, mit dem korrekten CRC. Also kein Fehler auf dem Bus, der Sensor antwortet auf die Anfrage korrekt.

Warum also kann der Wert 85 sein ? Höchstens, wenn die Temperaturmessung nicht durchgeführt wurde. Beispielsweise, wenn die Verzögerungszeit für die Messung nicht eingehalten wurde, oder gar kein "convert" = \0x44 gesendet wurde


Bitte mal mit verbose=5 prüfen, ob ca. 1 Sekunde vor der Abfrage irgendwo \0x44 im Log zu finden ist.



LG

pah

Deckoffizier

Hallo,

Als Busmaster werkelt bei mir auch ein LinkUSBi.
Habe heute morgen mal probeweise wieder auf asynchron umgestellt und erhalte folgende Warnungen im Log die sonst nicht im synchronen Modus erscheinen.
2018.02.21 08:46:40 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/00_OWX.pm line 1554.
2018.02.21 08:52:38 1: OWXTHERM_BinValues:  Abgassensor: invalid CRC,  -0.0625  0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
2018.02.21 10:23:14 1: OWXAD_BinValues: context ds2450.getstatus.final    Wettersensor: invalid CRC 0x7f 0x00 0x7f 0x00 0x7f 0x00 0x7f 0x36 0x85 0x00
2018.02.21 11:23:06 1: PERL WARNING: Use of uninitialized value in bitwise and (&) at ./FHEM/00_OWX.pm line 939.

Leider sind meine Kenntnisse nicht ausreichend ob ich weiter nachforschen sollte oder einfach ignorieren und ob ein Zusammenhang mit der Hardware LinkUSB besteht ?

Falls ich lieber ein neues Thema aufmachen sollte und es nicht hierher passt, mache ich dies gern nachträglich.

Anbei ein List vom Busmaster
Internals:
   ALARMED    no
   ASYNCHRONOUS 1
   BUSY       0
   DEF        /dev/ttyUSB0
   DEVS       
   DeviceName /dev/ttyUSB0
   FD         22
   INITDONE   0
   INTERFACE 
   LASTSEND   1519231966.18945
   NAME       OWio1
   NR         254
   PARTIAL   
   PRESENT    0
   ROM_ID     FF
   STATE      opened
   TYPE       OWX
   interval   300
   timeout    2
   version    7.05
   DEVHASH:
     OWio1      Busmaster
   QUEUE:
   READINGS:
     2018-02-21 17:52:43   queue           19
     2018-02-17 21:51:12   state           opened
Attributes:
   alias      Busmaster
   asynchronous 1
   comment    Busmaster Gateway
   room       OWX


Gruß
Hans-Jürgen

FHEM 5.8 auf "yakkaroo Emu A1FL.1" mit CUL 868MHz, SIGNALduino,2 1Wire USB Busmaster, diverse 1 Wire Sensoren,Landroid,Aeotec USB Dongle Z-Wave Plus