Firmata - kein reconnect nach FHEM-Neustart

Begonnen von hugomckinley, 07 Januar 2021, 11:38:40

Vorheriges Thema - Nächstes Thema

hugomckinley

Ich stehe vor folgendem Problem:
Ich lese einige Zähler und Temperatursensoren über drei Pins per 1wire mit einem Arduino UNO und einem WIZ5500 Ethernetshield aus.
Dieses System ist absolut zuverlässig, solange ich nicht FHEM neu starte. Sobald ich das mache, bleibt der state des Firmata Device auf Listening und es kommt zu keiner Verbindung mehr.
Die LED der Netzwerkschnittstelle blinkt aber nach wie vor im ca. Sekundentakt und der Arduino ist nach wie vor im Netzwerk per Ping erreichbar.

Im log stehen nur mehr diese Zeilen:
2021.01.02 16:17:24 1: 3030 disconnected, waiting to reappear (FIRMATA_192.168.64.129_1026)
2021.01.02 16:20:17 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:18 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:25 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:26 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:34 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:34 1: OWX_FRM::Write attempted to ill-defined device OW_Ch3
2021.01.02 16:20:35 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2
2021.01.02 16:20:36 1: OWX_FRM::Write attempted to ill-defined device OW_Ch3
2021.01.02 16:20:37 1: OWX_FRM::Write attempted to ill-defined device OW_Ch2

(Ch1 ist synchon und Ch2 und Ch3 sind asynchron. Warum auch immer der Ch1 hier nicht auftaucht.)

Wenn ich dann den Arduino stromlos mache und wieder anstecke funktioniert wieder alles.
Es sieht so aus als würde der Arduino nicht merken, dass seine TCP-Verbindung weg ist und diese nicht neu aufgebaut wird wenn sie weg ist. Ist doch TCP, oder?

Ein weiteres Kuriosum ist, dass der state von Ch2 und Ch3 error: Error IODev FIRMATA is not connected lautet aber alles einwandfrei funktioniert. Ch1 ist Initialized.

Kennt jemand dieses Phänomen oder hat eine Idee für mich?

Grüße
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

hugomckinley

Ich muss das Thema nochmal aufwärmen, da ich noch immer keine Lösung für das Problem habe.
Mir fällt auch nichts mehr ein, wie ich den Fehler suchen sollte.

Anbei das Listing von zwei 1wire-Kanälen:
OW_Ch1 (STATE initialized):
Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   DEF        FIRMATA:8
   DeviceName FIRMATA:8
   FRM_OWX_CORRELATIONID 356
   FRM_OWX_CURRDEV 28.38E0BD030000.60
   FUUID      5f75ccd4-f33f-faac-3b80-e04529e3113199b3
   HWDEVICE   FIRMATA
   INITDONE   0
   INTERFACE  firmata
   IODev      FIRMATA
   NAME       OW_Ch1
   NR         487
   PARTIAL   
   PIN        8
   PRESENT    0
   ROM_ID     FF
   STATE      Initialized
   TYPE       OWX
   interval   300
   timeout    2
   DEVHASH:
     OW_Ch1     Busmaster
   DEVS:
     28.38E0BD030000.60
     28.9CE9BD030000.13
     28.65D9BD030000.73
     28.CB0DBE030000.F5
   FRM_OWX_REPLIES:
     28.38E0BD030000.60 KF��
     28.65D9BD030000.73 KF��
     28.9CE9BD030000.13 KF��
     28.CB0DBE030000.F5 +KF�G
   FRM_OWX_REQUESTS:
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1616577714.80824
           VALUE      error
   READINGS:
     2021-03-14 09:05:12   queue           0
     2021-03-24 10:21:54   state           error: Error IODev FIRMATA is not connected
Attributes:
   IODev      FIRMATA
   asynchronous 0
   room       KG->Technik->Elektro,System->Firmata



OW_Ch2 (STATE error: Error IODev FIRMATA is not connected):
Internals:
   ALARMED    0
   ASYNCHRONOUS 1
   BUSY       0
   DEF        FIRMATA:9
   DeviceName FIRMATA:9
   FRM_OWX_CORRELATIONID 704
   FRM_OWX_CURRDEV 28.81ECA0050000.A4
   FUUID      5f75cd4f-f33f-faac-d43e-a489fe0e33c25873
   HWDEVICE   FIRMATA
   INITDONE   0
   INTERFACE  firmata
   IODev      FIRMATA
   LASTSEND   1616952292.00955
   NAME       OW_Ch2
   NR         488
   PARTIAL   
   PIN        9
   PREBUFFER  000000000�
   PRESENT    0
   ROM_ID     FF
   STATE      error: Error IODev FIRMATA is not connected
   TYPE       OWX
   interval   300
   timeout    2
   DEVHASH:
     OW_Ch2     Busmaster
   DEVS:
     28.2647A0050000.3E
     28.81ECA0050000.A4
     28.6104A0050000.69
     28.250FA0050000.B0
   FRM_OWX_REPLIES:
     28.250FA0050000.B0 �(����������������������
     28.2647A0050000.3E F����������������������
     28.6104A0050000.69 Q���������������������
     28.81ECA0050000.A4 �(����������������������
   FRM_OWX_REQUESTS:
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1616577714.82712
           VALUE      error
   QUEUE:
   READINGS:
     2021-03-28 19:24:50   queue           3
     2021-03-24 10:21:54   state           error: Error IODev FIRMATA is not connected
Attributes:
   IODev      FIRMATA
   asynchronous 1
   room       KG->Technik->Elektro,System->Firmata


Es funktionieren alle Kanäle nach dem Neustart, aber der STATE stimmt nur bei OW_Ch1 (obwohl auch hier state fehlerhaft ist)

Ich wäre für alle Hinweise dankbar. Der "Anzeigefehler" wäre mir noch relativ egal, aber die nicht wieder aufgebaute Verbindung nach dem FHEM-Neustart ist mehr als lästig, da in Zukunft wichtige Systeme per Firmata geschaltet werden (sollen).

Grüße
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

R1F800

ein ähnliches Phänomen habe ich bei einem POWER OFF eines FIRMATA I2C_MCP23017 Devices. Da gehen in FHEM die Attribute verlohren. Es kann also keine Verbindung mehr zum device aufgenommen werden. Der OWX hingegen liefert dennoch weiterhin Daten.