OWX MAJOR UPDATE

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

Vorheriges Thema - Nächstes Thema

JensS

Danke für die schnelle Reaktion.
Ist Buspower auch raus?
OWX: unknown attribute buspower. Type 'attr OWX ?' for a detailed list.
Der USB-Arduino mit einem DS2482-100 wurde früher auf dem i2c-Pin definiert. Das scheint jetzt auch anders zu sein.
pin '20' is not configured for mode 'ONEWIRE' at FHEM/lib/Device/Firmata/Platform.pm line 784.
Nach der Meldung stürzt fhem ab.

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.

Prof. Dr. Peter Henning

Daran habe ich aber nichts geändert - das scheint ein Firmata-Problem zu sein. Was sagt das Log ?

LG

pah

C0mmanda

Zitat von: Prof. Dr. Peter Henning am 31 Oktober 2017, 21:36:14
Noch einmal: Diese Inkonsistenz ist herausgeflogen - ab sofort ist das Firmata-Device Bestandteil der Busdefinition.

Also NICHT
define OWBUS OWX PIN
attr OWBUS IODev FIRMATADEVICE


SONDERN
define OWBUS OWX FIRMATADEVICE:PIN

LG

pah

Anbei die beiden Dateien, mit denen es endgültig funktiomieren sollte.

Moin,

habe die aktuellen Dateien eingespielt (7.0.3) und grundsätzlich funktioniert es auch.
Die Devices werden über die Firmata gefunden.
Allerdings bleibt das Problem das die Devices (DS2411) nicht aktualisiert werden. Sie bleiben auf "present 0" obwohl ein "get devices" die Sensoren findet.
Siehe https://forum.fhem.de/index.php/topic,60460.msg707212.html#msg707212

Die Logeinträge bleiben auch: (Hier mal ein "get devices" mit Verbose 5)
2017.11.01 08:25:58 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:25:58 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:25:58 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:25:58 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:25:59 1: OWX_Discover: 1-Wire devices found on bus OWX7 (OWX_01_BCA5D0100000,KEL_Lager_Fenstersensor,KEL_Vorrat_Fenstersensor,KEL_Waschen_Fenstersensor)
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened
2017.11.01 08:26:02 3: OWX_Verify called while interface OWX7 not opened


Hier mal ein List vom BM:
Internals:
   ALARMED    0
   ASYNCHRONOUS 1
   DEF        FRM_0:9
   FRM_OWX_CORRELATIONID 0
   HWDEVICE   FRM_0
   INITDONE   1
   INTERFACE  firmata
   IODev      FRM_0
   NAME       OWX7
   NR         72
   PARTIAL
   PIN        9
   PRESENT    1
   ROM_ID     FF
   STATE      Initialized
   TYPE       OWX
   interval   300
   timeout    2
   version    7.03
   DEVHASH:
     KEL_Lager_Fenstersensor 01.4247CF100000.77
     KEL_Vorrat_Fenstersensor 01.FE60CF100000.A4
     KEL_Waschen_Fenstersensor 01.6753CF100000.49
     OWX7       Busmaster
     OWX_01_BCA5D0100000 01.BCA5D0100000.ED
   DEVS:
     01.BCA5D0100000.ED
     01.4247CF100000.77
     01.FE60CF100000.A4
     01.6753CF100000.49
   FRM_OWX_REPLIES:
   READINGS:
     2017-11-01 07:47:11   state           disconnected
Attributes:
   asynchronous 1
   verbose    5


Wo kann ich noch ansetzen oder helfen?

grtz
CmdA

Prof. Dr. Peter Henning

Ich muss versuchen, das nachzustellen. Das Problem ist, dass Verify nicht asynchron laufen kann - weil es eine (teilweise) Bussuche durchführt. Deshalb wird dabei der asynchrone Modus außer Kraft gesetzt.

Welchen Wert hat denn das Attribut "asynchronous" ?

LG

pah

C0mmanda

Zitat von: Prof. Dr. Peter Henning am 01 November 2017, 09:15:36
Ich muss versuchen, das nachzustellen. Das Problem ist, dass Verify nicht asynchron laufen kann - weil es eine (teilweise) Bussuche durchführt. Deshalb wird dabei der asynchrone Modus außer Kraft gesetzt.

Welchen Wert hat denn das Attribut "asynchronous" ?

LG

pah

asynchronous ist 1.
Habe es nun mal auf 0 gesetzt, das Verhalten ist aber identisch.


grtz
CmdA

JensS

Hallo pah,

danke für die heutige Anpassung der commandref in Bezug auf die Definition von OWX-Devices. Da hast du bestimmt noch Einiges zu ändern.
Anbei die Firmata-Daten. Der Arduino ist mit den Dateien aus der, in der Wiki verlinkten Version zum DS2482 geflasht und laut Wiki eingerichtet. Bisher hat das auch funtioniert. Nun bin ich auf die Neuerungen gespannt.

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.

Prof. Dr. Peter Henning

Zitatdanke für die heutige Anpassung der commandref in Bezug auf die Definition von OWX-Devices. Da hast du bestimmt noch Einiges zu ändern.

Die Änderung war gestern - und was hätte ich noch zu ändern ? Funlktioniert doch so, oder nicht ?

LG

pah

JensS

Ok, dann warst du länger wach als ich :).
"attr <name> IODev" steht noch drin und buspower fehlt. Im Wikiartikel https://wiki.fhem.de/wiki/Arduino_mit_OneWireFirmata steht noch die alte Definition.
Ob es geht kann ich nicht sagen. Fhem stürzt (mit DS2482) zu schnell ab.

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.

netlars

kurze Rückmeldung, sieht gut aus. Nachdem ich das Device neu definiert habe mit "define 1wire OWX firmata:14" und das alte attr IODev entfernt habe läuft mein Bus wieder. Div. Temp Sensoren DS1820 und DS2413 als Fenstersensor werden erkannt.

Besten Dank für den schnellen Support.

Grüße
Lars

C0mmanda

Moin,

mir ist noch etwas aufgefallen:

Nach einem Neustart wird bei den Sensoren am Firmata-Bus jedesmal das attr IODev neu geschrieben obwohl dies ja nicht mehr vorhanden sein soll.
Eingetragen wird dann ein BM der kein Firmata-Busmaster ist. (Habe noch 2 weitere BM, USB/WLAN von locotus).

Ich habe außerdem noch einen DS2423 allein an einem Firmata-BM, der läuft einwandfrei. (Trotz falschem attr IODev welches gesetzt wird).

Das DS2411 (OWID) Problem bleibt weiterhin bestehen. Es kommen keine Stati bei den Devices an (present 0|1) obwohl der BM die Devices findet.

Wenn ich etwas Zeit habe werde ich mal einen einzelnen DS2411 an die Firmata klemmen um einen Fehler am Bus selbst sicher auszuschliessen.

grtz
CmdA

Prof. Dr. Peter Henning

Das Schreiben eines Attributes IODev für ein OWX-Firmata-Device kommt nicht aus meinen Modulen.

LG

pah

P.S. Nix für ungut, aber die Mehrzahl von Status ist Status

JensS

Hallo pah,

konnte meine Logdatei Aufschluss zum Absturzverhalten (DS2482 am Arduino) geben?

Wäre es ratsamer, auf den i2C-Busmaster zu verzichten und ArduinoOneWire direkt zu nutzen?

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.

C0mmanda

Zitat von: Prof. Dr. Peter Henning am 02 November 2017, 18:45:13
Das Schreiben eines Attributes IODev für ein OWX-Firmata-Device kommt nicht aus meinen Modulen.

LG

pah

Ok, danke für die Info.
Ist vermutlich ja auch nicht das Problem da zumindest der DS2423 ja funktioniert.
Sollte nur ein Hinweis sein.

Bleibt die Sache mit den DS2411 und OWID.

Zitat
P.S. Nix für ungut, aber die Mehrzahl von Status ist Status

Danke für den Hinweis.

Grtz
CmdA

Prof. Dr. Peter Henning

@dirigent:
Zitatkonnte meine Logdatei Aufschluss zum Absturzverhalten (DS2482 am Arduino) geben?

Könnte. Sicher.

Zitat
Wäre es ratsamer, auf den i2C-Busmaster zu verzichten und ArduinoOneWire direkt zu nutzen?
Kann ich nicht beantworten, da meine Kristallkugel gerade in der Werkstatt ist.

LG

pah

JensS

#29
Danke. >:(
Support nach Belieben zu geben, scheint mir recht unprofessionell...
Sollte der DS2482 am Arduino künftig nicht mehr unterstützt werden, bitte ich um Löschung der irreführenden Einträge in commandref und Wiki.

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.