FRM mit Too few bytes received' bei mehr als einem I2C Slave

Begonnen von Homalix99, 18 August 2020, 17:31:38

Vorheriges Thema - Nächstes Thema

Homalix99

Hallo,

ich habe einen INA219 als Spannungs/Strom Sensor im Einsatz. Angebunden ist dieser an einem Arduino Nano mittels I2C und Firmata.
Als Modul verwende ich I2C_INA219. Das funktioniert soweit ganz gut, nur wenn ein zweites baugleiches Modul des INA219 mit an den I2C Bus geschalten wird, kommen keine Messwerte mehr und via Sendstat, sowie im Log kommt 'Too few bytes received'. Der I2C-Bus mit Firmata sollte doch mehr als einen Busteinehmer verwalten können, oder?
Hat vielleich jemand eine Idee?

2020.08.18 17:17:43.647 5: FIRMATA3 FRM:<740065007300200072006500630065006900760065006400f7f0774000010014
2020.08.18 17:17:43.655 3: received String_data: I2C: Too few bytes received


Eigenes Modul:

Internals:
   DEF        0x40
   FIRMATA3_SENDSTAT Too few bytes received
   FUUID      5f32f52b-f33f-78aa-68bd-487acc89d99257d0
   I2C_Address 64
   IODev      FIRMATA3
   NAME       ina
   NR         27
   STATE      checkReceivedData
   TYPE       I2C_INA219
   READINGS:
     2020-08-18 17:16:10   BusVoltageRange 32 V
     2020-08-18 17:17:13   CNVR            1
     2020-08-18 17:16:10   Calibration     0
     2020-08-18 17:17:13   OVF             0
     2020-08-14 17:08:58   calibrationRegister 0x1062
     2020-08-18 17:16:10   config          0x399f
     2020-08-18 17:17:13   current         0.014
     2020-08-18 17:30:38   direction       i2cread
     2020-08-18 17:17:13   power           0.037
     2020-08-18 17:30:38   received        20 146
     2020-08-18 17:30:38   register        2
     2020-08-18 17:17:13   shuntVoltage    0.001
     2020-08-17 20:20:10   state           defined
     2020-08-18 17:17:13   voltage         2.628
   busVoltage:
     voltage    2.628
   shuntVoltage:
     current    0.0139
     power      0.0365292
     voltage    0.00139
Attributes:
   INA_Imax   3.2
   INA_Rshunt 0.1
   INA_busVoltageRange 32
   INA_operatingMode continuous
   INA_shuntVoltageRange 320
   IODev      FIRMATA3
   disable    0
   poll_interval 30
   room       System
   verbose    4


VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

PeMue

Hallo Alex,

haben die beiden INA219 unterschiedliche I2C Adressen? Ansonsten funktioniert das nicht.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Homalix99

Klar, haben sie: der erste Bausten die 0x40h und der zweite die 0x42h.
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)