From fbe9a551d5797cb1cfebfeec4fe04155692b3afc Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 1 May 2024 16:59:00 +0200 Subject: [PATCH] New component AIN4-20mA current measurement sensor --- components/sensor/ain4_20ma.rst | 46 +++++++++++++++++++++++++ components/sensor/images/ain4_20ma.jpg | Bin 0 -> 13601 bytes images/ain4_20ma.jpg | Bin 0 -> 13601 bytes index.rst | 1 + 4 files changed, 47 insertions(+) create mode 100644 components/sensor/ain4_20ma.rst create mode 100644 components/sensor/images/ain4_20ma.jpg create mode 100644 images/ain4_20ma.jpg diff --git a/components/sensor/ain4_20ma.rst b/components/sensor/ain4_20ma.rst new file mode 100644 index 000000000..6e7d78163 --- /dev/null +++ b/components/sensor/ain4_20ma.rst @@ -0,0 +1,46 @@ +AIN4-20mA current analog measurement unit +========================================= + +.. seo:: + :description: Instructions for setting up the AIN4-20mA current analog measurement unit. + :image: ain4_20ma.jpg + :keywords: current, 4-20mA, i2c + +The AIN4-20mA current analog measurement unit sensor allows you to use sensors with a 4-20mA output to use with ESPHome. + +.. figure:: images/ain4_20ma.jpg + :align: center + :width: 50.0% + + AIN4-20mA current analog measurement unit. + (Credit: `M5Stack `__, image cropped and compressed) + +.. _M5Stack: https://docs.m5stack.com/en/unit/AIN4-20mA%20Unit + +The AIN4-20mA Unit is a highly capable single-channel 4~20mA current analog measurement unit. Powered by the STM32G030F6 main control chip, it communicates through i2c, ensuring efficient and reliable data transmission. +It can be used as base sensor for all sensors with a 4-20mA output. + +To use the sensor, first set up an :ref:`I²C Bus ` and connect the sensor to the specified pins. + +.. code-block:: yaml + + # Example configuration entry + sensor: + - platform: ain4_20ma + name: "Current" + update_interval: 60s + +Configuration variables: +------------------------ + +- **address** (*Optional*, int): Manually specifiy the I²C address of the sensor. Defaults to ``0x55``. +- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``. +- All other options from :ref:`Sensor `. + +See Also +-------- + +- :ref:`sensor-filters` +- :doc:`template` +- `AIN4-20mA Unit `__ +- :ghedit:`Edit` diff --git a/components/sensor/images/ain4_20ma.jpg b/components/sensor/images/ain4_20ma.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4fb5eddecf56c5a97cfd4a6cfebb9a6e78b31d6 GIT binary patch literal 13601 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