NEWS
[Adapter] - iobroker.i2c
-
Hallo,
ich bin da gerade an einem neuen Projekt dran und möchte einen Arduino Mega direkt per I2C mit IO Broker ansteuern um Gpio zu schalten.
Zur zeit geht das bei mir über 4 MCP27031 über I2C an einen Wemos D1 und dann per Mqtt an iobroker.
Alternative wäre mir zwar Can Bus am liebsten aber da wir hier ja schon nen Adapter haben probiere ich erstmal I2C.Es gibt schon Python Skripte die über den Raspi einen Arduino steuern.
Ich würde mir ja gerne selber den Adapter anpassen aber ich habe noch keine Berührungen mit adapter programmierung gehabt.Vielleicht habt ihr ja eine Idee.
Schöne Grüße
Enrico -
Hi,
Ich habe mal nen MCP27031 an meinen Nanopi M4V2 angeschlossen.
Hat auch komischerweise alles geklappt. In der Konsole mit i2ctools lauft alles.
Im adapter hat er auch gleich an adresse 0x20 was gefunden. Nach dem Konfigurieren
und speichern geht der Adapter nicht mehr auf grün (garnicht mehr).Im Log steht folgendes:
host.Iobroker 2020-01-02 23:52:09.532 info Restart adapter system.adapter.i2c.0 because enabled host.Iobroker 2020-01-02 23:52:09.532 info instance system.adapter.i2c.0 terminated with code 0 (NO_ERROR) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at objects.getObjectView (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5956:26) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at Adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5913:26) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at Adapter._processStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5853:22) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at Adapter._processStatesSecondary (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5787:25) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at StateRedis.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:505:20) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5817:17) host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14 host.Iobroker 2020-01-02 23:52:09.531 error Caught by controller[0]: at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20) host.Iobroker 2020-01-02 23:52:09.530 error Caught by controller[0]: at Object.openSync (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:47:3) host.Iobroker 2020-01-02 23:52:09.530 error Caught by controller[0]: at checkBusNumber (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:55:11) host.Iobroker 2020-01-02 23:52:09.530 error Caught by controller[0]: Error: Invalid I2C bus number 2 i2c.0 2020-01-02 23:52:09.015 info (13771) Terminated (NO_ERROR): Without reason i2c.0 2020-01-02 23:52:09.014 info (13771) terminating i2c.0 2020-01-02 23:52:08.964 error at objects.getObjectView (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5956:26) i2c.0 2020-01-02 23:52:08.964 error at Adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5913:26) i2c.0 2020-01-02 23:52:08.964 error at Adapter._processStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5853:22) i2c.0 2020-01-02 23:52:08.964 error at Adapter._processStatesSecondary (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5787:25) i2c.0 2020-01-02 23:52:08.964 error at StateRedis.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:505:20) i2c.0 2020-01-02 23:52:08.964 error at states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5817:17) i2c.0 2020-01-02 23:52:08.964 error at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14 i2c.0 2020-01-02 23:52:08.964 error at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20) i2c.0 2020-01-02 23:52:08.964 error at Object.openSync (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:47:3) i2c.0 2020-01-02 23:52:08.964 error at checkBusNumber (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:55:11) i2c.0 2020-01-02 23:52:08.964 error (13771) Error: Invalid I2C bus number 2 i2c.0 2020-01-02 23:52:08.963 error (13771) uncaught exception: Invalid I2C bus number 2 i2c.0 2020-01-02 23:52:08.892 info (13771) starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.i2c, node: v10.18.0 host.Iobroker 2020-01-02 23:52:07.721 info instance system.adapter.i2c.0 started with pid 13771
der Adapter erstellt auch keine Objekte
hat einer ne idee.
JS Controller ist 2.2.6schöne Grüße
-
Hallo zusammen,
ich bin gerade dabei meine Pool-Steuerung zu planen.
Jetzt bin ich auf das Tentacle T3 Board für den Raspberry Pi gestossen.
Damit könnte ich die PH- und Redox-Werte über I2c auslesen.
Leider bin ich noch nicht so versiert auf dem Gebiet.
Wäre das mit diesem Adapter möglich oder müsste er noch erweitert werden?
Danke schon mal für eure HilfeSchöne Grüße
-
Hi
Ich habe eine RaspiZero und daran einen Servo-Treiber (https://smile.amazon.de/AZDelivery-PCA9685-Servotreiber-Arduino-Raspberry/dp/B072N8G7Y9/ref=pd_sbs_328_1/257-1480378-7596562?_encoding=UTF8&pd_rd_i=B072N8G7Y9&pd_rd_r=fa0715ab-30dc-4c9f-a613-ebb99265e6a0&pd_rd_w=PPyA1&pd_rd_wg=Vbn4i&pf_rd_p=c8718c55-fb13-473f-a41c-592a17ad3468&pf_rd_r=50ZCEETZNTBTFYH6WE43&psc=1&refRID=50ZCEETZNTBTFYH6WE43). Damit möchte ich die Luftklappen meiner Heizung die eben mit Heißluft anstelle von Heißwasser funktioniert steuern. Es wäre super wenn es möglich wäre die Unterstützung für dieses Modul zu implementieren.
LG -
@mike1976 sagte in [Adapter] - iobroker.i2c:
Wäre es denkbar diesen Druckensor mittels i2c einzubinden?
https://docs.rs-online.com/021c/0900766b81568892.pdfHallo Mike, bist du immer noch an diesem Sensor interessiert? Der Sensor ist nicht gerade günstig für mich zum kaufen, aber ich könnte es mal ohne ihn zu kaufen versuchen.
/UncleSam -
@oHa510 sagte in [Adapter] - iobroker.i2c:
@UncleSam Kannst du das entsprechend einprogrammieren? Man könnte z.B. berücksichtigen, ob der Eingang im Adapter als "invertiert" gekennzeichnet ist und dann entsprechend die initial value erzeugen?!
Hallo oHa, habe ein Issue in GitHub erfasst und werde mich möglichst bald darum kümmern:
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/40 -
@Дмитрий-Кошлаков Hallo, kannst du nicht den BME280 verwenden? Der wird schon unterstützt. /UncleSam
-
@enricoh831 sagte in [Adapter] - iobroker.i2c:
ich bin da gerade an einem neuen Projekt dran und möchte einen Arduino Mega direkt per I2C mit IO Broker ansteuern um Gpio zu schalten.
Hallo Enrico,
wenn du per I2C zwischen RasPi (Master) und Arduino (Slave) kommunizieren willst, musst du wohl dein eigenes Protokoll machen. Falls du ganz einfach ein paar IOs schalten willst, dann benutze doch das MCP23017 Protokoll im Arduino, dann kannst du im ioBroker einfach MCP23017 einstellen.
Proprietäre Protokolle, wie du eben möglicherweise machen willst, kann ich leider nicht unterstützen, da jeder ja eben sein eigenes Protokoll hat. Ich unterstütze nur "fixfertige" Silikon-Lösungen (I2C-Chips, die man so einkaufen kann).
Falls ich etwas falsch verstanden habe, schick mir doch eine PM.
/UncleSam
-
@enricoh831 sagte in [Adapter] - iobroker.i2c:
Im adapter hat er auch gleich an adresse 0x20 was gefunden. Nach dem Konfigurieren
und speichern geht der Adapter nicht mehr auf grün (garnicht mehr).Hast du das Problem lösen können?
Meine Vermutungen: Bus Nummer 2 ist falsch (war das immer schon Nummer 2?) oder der Adapter respektive ioBroker läuft nicht mit den richtigen Berechtigungen (siehe: https://github.com/UncleSamSwiss/ioBroker.i2c#access-right-issue)
-
@DrHouse03 sagte in [Adapter] - iobroker.i2c:
ich bin gerade dabei meine Pool-Steuerung zu planen.
Jetzt bin ich auf das Tentacle T3 Board für den Raspberry Pi gestossen.
Damit könnte ich die PH- und Redox-Werte über I2c auslesen.Das müsste noch implementiert werden. Gewisse Informationen finde ich hier: https://www.whiteboxes.ch/docs/tentacle/t3/#/code
Allerdings ist Implementieren ohne Hardware etwas schwierig und das Board ist doch etwas über meinem Budget nur um das zu implementieren.
Wenn du programmieren kannst, würde ich wohl eher das erwähntei2c.py
Skript erweitern und zum Beispiel per MQTT die Werte an den MQTT Adapter in ioBroker weiter schicken.
Wenn du nicht programmieren kannst, müssten wir bilateral (per PM) schauen, wie wwir das hinkriegen - es würde allerdings bedingen, dass du die Hardware bereits besitzt./UncleSam
-
@Christin-Michelle-Fremgen sagte in [Adapter] - iobroker.i2c:
Ich habe eine RaspiZero und daran einen Servo-Treiber (https://smile.amazon.de/AZDelivery-PCA9685-Servotreiber-Arduino-Raspberry/dp/B072N8G7Y9/ref=pd_sbs_328_1/257-1480378-7596562?_encoding=UTF8&pd_rd_i=B072N8G7Y9&pd_rd_r=fa0715ab-30dc-4c9f-a613-ebb99265e6a0&pd_rd_w=PPyA1&pd_rd_wg=Vbn4i&pf_rd_p=c8718c55-fb13-473f-a41c-592a17ad3468&pf_rd_r=50ZCEETZNTBTFYH6WE43&psc=1&refRID=50ZCEETZNTBTFYH6WE43). Damit möchte ich die Luftklappen meiner Heizung die eben mit Heißluft anstelle von Heißwasser funktioniert steuern. Es wäre super wenn es möglich wäre die Unterstützung für dieses Modul zu implementieren.
GitHub Issue ist eröffnet: https://github.com/UncleSamSwiss/ioBroker.i2c/issues/41
Lieferung in 30-50 Tagen - sofern das Corona-Virus uns keinen Strich durch die Rechnung macht. -
Hallo UncleSam.
ich habe den Adapter "installiert" aber sehe nichts in den Instanzen.
Ich hab ein Multihost-System, falls das eine Rolle spielt.
Wie geht's jetzt weiter? Das sind die letzten Zeilen der Installationsausgabe:upload [10] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/words.js words.js application/javascript upload [9] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/lib/js/jsviews.min.js lib/js/jsviews.min.js application/javascript upload [8] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/lib/js/jsviews-jqueryui-widgets.min.js lib/js/jsviews-jqueryui-widgets.min.js application/javascript upload [7] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/index.html index.html text/html upload [6] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/i2c.png i2c.png image/png upload [5] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/PCF8574.js devices/PCF8574.js application/javascript upload [4] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/MCP23017.js devices/MCP23017.js application/javascript upload [3] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/MCP23008.js devices/MCP23008.js application/javascript upload [2] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/DeviceBase.js devices/DeviceBase.js application/javascript upload [1] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/BME280.js devices/BME280.js application/javascript upload [0] i2c.admin /opt/iobroker/node_modules/iobroker.i2c/admin/devices/ADS1x15.js devices/ADS1x15.js application/javascript process exited with code 0
Sieht also nach meinem Empfinden gut aus. Hab ich was falsch gemacht? Ich müsste ihn ja mit I2C im Filter finden.
Gruß Carsten
-
@UncleSam Danke für die Rückmeldung. Es hat sich erledigt. Ich löse das ganze über einen Arduino der die Daten an eine Siemens Logo sendet. Die Kommunikation mit iobroker erfolgt dann über den S7 Adapter.
-
Mittlerweile scheint der Adapter zu laufen.
Ich möchte einen APDS-9960 am RPI auslesen.
Wie fange ich das an? Der Sensor wird am Bus gefunden. -
@UncleSam
Bist du hier eigentlich noch dran?
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/21Falls ja, schon mal Danke!
-
Grüßgott,
1.) Habe vor 2 Tagen iobroker auf mein Raspberry Pi 4 installiert. (Minimal image von 2019.11)
2.) Alles upgraded
4.) I2C enabled (raspi-config), RPi restarted, installed:sudo apt-get update sudo apt-get install i2c-tools libi2c-dev python-smbus
- i2cdetect -l << kann die Busse schön listen:
pi@hv:~ $ sudo i2cdetect -l i2c-1 i2c bcm2835 I2C adapter I2C adapter i2c-7 i2c i2c-tiny-usb at bus 001 device 014 I2C adapter
3.) Gab kommand:
sudo usermod -G i2c iobroker
Trozdem, findet dieses Adapter nicht mal den Bus:
host.hv 2020-03-30 17:31:56.944 info instance system.adapter.i2c.0 terminated with code 0 (NO_ERROR)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at objects.getObjectView (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6061:26)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at Adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6018:26)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at Adapter._processStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5958:22)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at Adapter._processStatesSecondary (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5892:25)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at StateRedis.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:594:20)
host.hv 2020-03-30 17:31:56.943 error Caught by controller[0]: at states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5922:17)
host.hv 2020-03-30 17:31:56.942 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14
host.hv 2020-03-30 17:31:56.942 error Caught by controller[0]: at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20)
host.hv 2020-03-30 17:31:56.942 error Caught by controller[0]: at Object.openSync (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:47:3)
host.hv 2020-03-30 17:31:56.942 error Caught by controller[0]: at checkBusNumber (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:55:11)
host.hv 2020-03-30 17:31:56.941 error Caught by controller[0]: Error: Invalid I2C bus number 7
i2c.0 2020-03-30 17:31:56.430 info (7112) Terminated (NO_ERROR): Without reason
i2c.0 2020-03-30 17:31:56.429 info (7112) terminating
i2c.0 2020-03-30 17:31:56.424 error at objects.getObjectView (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6061:26)
i2c.0 2020-03-30 17:31:56.424 error at Adapter.getForeignStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6018:26)
i2c.0 2020-03-30 17:31:56.424 error at Adapter._processStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5958:22)
i2c.0 2020-03-30 17:31:56.424 error at Adapter._processStatesSecondary (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5892:25)
i2c.0 2020-03-30 17:31:56.424 error at StateRedis.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:594:20)
i2c.0 2020-03-30 17:31:56.424 error at states.getStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5922:17)
i2c.0 2020-03-30 17:31:56.424 error at /opt/iobroker/node_modules/iobroker.i2c/i2c.js:129:14
i2c.0 2020-03-30 17:31:56.424 error at I2CAdapter.main (/opt/iobroker/node_modules/iobroker.i2c/i2c.js:43:20)
i2c.0 2020-03-30 17:31:56.424 error at Object.openSync (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:47:3)
i2c.0 2020-03-30 17:31:56.424 error at checkBusNumber (/opt/iobroker/node_modules/i2c-bus/i2c-bus.js:55:11)
i2c.0 2020-03-30 17:31:56.424 error (7112) Error: Invalid I2C bus number 7
i2c.0 2020-03-30 17:31:56.423 error (7112) uncaught exception: Invalid I2C bus number 7
i2c.0 2020-03-30 17:31:56.313 info (7112) starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.i2c, node: v10.19.0 -
Hallo zusammen,
Ich habe gelesen, dass es eine Anfrage für den INA219 gibt. Dies würde mich auch sehr interessieren. Ist der INA 219 schon implementiert?
Viele Grüße
-
Keine eine Idee?
-
@PizzaProgram Ich habe das gleiche probiert, auf der RaspberryPi4 findet er den ADS1115:
Allerdings findet er den über I2C verbunden ADS1115 nicht in IObroker:
Ich kriege den über I2C am Pi4 (habs auch an einem Zero versucht) verbundenen ADS1115 somit leider auch nicht zum laufen, machen wir was falsch?
-
@PizzaProgram @HB Ich hatte ein ähnliches Probleme wenn man den Iobroker mit einem fertigen Image aufgesetzt hat. Gelöst hab ich das mit folgenden Befehlen:
adduser iobroker i2c
adduser www-data i2cVielleicht mal versuchen ob das hilft.
sg
Strago