From 14f43bfdd081417d07097d044179abf5624cb946 Mon Sep 17 00:00:00 2001 From: Iron Man Date: Mon, 22 Apr 2024 19:36:47 +0200 Subject: [PATCH 1/5] Update index.rst Add ds248x component documentation --- index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/index.rst b/index.rst index 3c8d4b96d..ba0b48cf2 100644 --- a/index.rst +++ b/index.rst @@ -313,6 +313,7 @@ Environmental BMP581, components/sensor/bmp581, bmp581.jpg, Temperature & Pressure b-parasite, components/sensor/b_parasite, b_parasite.jpg, Moisture & Temperature & Humidity & Light Dallas DS18B20, components/sensor/dallas, dallas.jpg, Temperature + ds248x, components/sensor/ds248x, ds248x.jpg, Temperature DHT, components/sensor/dht, dht.jpg, Temperature & Humidity DHT12, components/sensor/dht12, dht12.jpg, Temperature & Humidity DPS310, components/sensor/dps310, dps310.jpg, Temperature & Pressure From 82b8c3cb926e627bc3f81c9d65b67fb863a04346 Mon Sep 17 00:00:00 2001 From: Iron Man Date: Mon, 22 Apr 2024 19:39:53 +0200 Subject: [PATCH 2/5] Add ds248x.jpg Thumbnail image for index --- images/ds248x.jpg | Bin 0 -> 5229 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/ds248x.jpg diff --git a/images/ds248x.jpg b/images/ds248x.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6bd07b8fe48acba40eca5be4744c746b5853a23 GIT binary patch literal 5229 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 Hjz<0qNr14~ literal 0 HcmV?d00001 From db04903ca75867346b09c97e6b970b6ef1dba73b Mon Sep 17 00:00:00 2001 From: Iron Man Date: Mon, 22 Apr 2024 19:42:46 +0200 Subject: [PATCH 3/5] Add ds248x.rst Documentation for ds248x component --- components/sensor/ds248x.rst | 252 +++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 components/sensor/ds248x.rst diff --git a/components/sensor/ds248x.rst b/components/sensor/ds248x.rst new file mode 100644 index 000000000..0604e9d01 --- /dev/null +++ b/components/sensor/ds248x.rst @@ -0,0 +1,252 @@ +Wide 1-Wire Temperature Sensors Reliable Network +================================================ + +.. seo:: + :description: Instructions for setting up a wide and reliable + temperature sensors network. For this we use components of the + familly ds248x like ds2482-100 or ds2482-800 that are single channel ou octo channels 1-Wire Master interface + chips over I²C. + :keywords: ds2484 ds2482-100, ds2482-800, ds18b20, onewire + +.. _ds248x-component: + +Component/Hub +------------- + +The ``ds248x`` component allows you to build +wide and reliable 1-Wire temperature sensors network. + +It controls chips of the ds248x familly like : + +- `ds2484 `__ + (`datasheet `__) +- `ds2482-100 `__ + (`datasheet `__) +- `ds2482-800 `__ + (`datasheet `__) + + +To build a large and reliable 1-Wire network, a certain number of constraints must be respected. + +This `document `__ covers the subject. + +My advice is as follows : + +- Use category 7 network cable. +- For each 1-Wire bus, use linear network topology. +- Don't use parasite powering. +- Use 5V vcc to power the 1-Wire components. +- Use a Master 1-Wire component to fine control timings on the 1-Wire buses. + +If you cannot use a linear network topology, consider user ds2482-800, so you have height 1-Wire buses to build a star + linear network topology. + +If you dont use ds2484, use a level translator like +`pca9306 `__ +(`datasheet `__). + +First set a I²C bus: +-------------------- + +.. code-block:: yaml + + # I²C Bus + i2c: + sda: GPIO13 # set your i2c pins + scl: GPIO16 # set your i2c pins + frequency: 400kHz # 400 is the maximum the ds248x supports + +For more informations, see :doc:`/components/i2c`. + +Configure the component: +------------------------ + +.. code-block:: yaml + + # ds2482-800 + ds248x: + type: ds2482-800 + address: 0x1f + active_pullup: true + strong_pullup: false + bus_sleep: false + update_interval: 10s + +Configuration variables: +************************ + +- **type** (**Required**, enum): Can be ``ds2482-100`` or ``ds2482-800``. +- **address** (*Optional*, int): Manually specify the I²C address of the component. + Defaults to ``0x18``. +- **sleep_pin** (*Optional*, :ref:`Pin `): ``ds2484`` support Power-Saving Sleep Mode (SLPZ Pin). + If set the ``ds248x`` sleeps when no transaction is in progress. +- **bus_sleep** (*Optional*, boolean): ``ds2484`` support 1-Wire Power Down. + Set to true to control. + Defaults to false. +- **hub_sleep** (*Optional*, boolean): Defaults to false. +- **active_pullup** (*Optional*, boolean): Adds an active pullup which should improve signal integrity. + Defaults to false. +- **strong_pullup** (*Optional*, boolean): Enables a strong pullup used to provide the needed current + for temperature reading without vcc connected (parasite powering). + Defaults to false. +- **update_interval** (*Optional*, :ref:`config-time`): The interval that the sensors should be checked. + Defaults to 60 seconds. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. + +Sensors +------- + +.. _ds248x-sensor: + +The ``ds248x`` hub allows you to use DS18B20 and similar sensors. + +To initialize a sensor, first supply either ``address`` **or** ``index`` to identify the sensor. + +.. figure:: images/dallas-wired.jpg + :align: center + :width: 50.0% + + Wired Version of the DS18B20 1-Wire Temperature Sensor. + +.. _Adafruit: https://www.adafruit.com/product/374 + +.. figure:: images/temperature.png + :align: center + :width: 80.0% + + +.. code-block:: yaml + + sensor: + + - platform: ds248x + address: 0x80000002a5fea828 + channel: 0 + name: "Livingroom Temperature" + resolution: 12 + + +Configuration variables: +************************ + +- **address** (**Required**, int): The address of the sensor. Use either + this option or index. +- **index** (**Required**, int): The index of the sensor starting with 0. + So the first sensor will for example have index 0. :ref:`It’s recommended + to use address instead `. +- **channel** (*Optional*, int): An optional 1-Wire channel (ds2482-800 has height channels) from 0 to 7. + Defaults to 0. +- **resolution** (*Optional*, int): An optional resolution from 9 to + 12. Higher means more accurate. Defaults to the maximum for most Dallas temperature sensors: 12. +- **dallas_id** (*Optional*, :ref:`config-id`): The ID of the :ref:`ds248x hub `. + Use this if you have multiple dallas hubs. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. +- All other options from :ref:`Sensor `. + +.. _ds248x-getting-ids: + +Getting Sensor IDs +****************** + +It is highly recommended to use the ``address`` attribute for creating +ds248x sensors, because if you have multiple sensors on a bus and the +automatic sensor discovery fails, all sensors indices will be shifted by +one. In order to get the address, simply start the firmware on your +device with a configured ds248x hub and observe the log output (the :ref:`log +level ` must be set to at least +``debug``!). Note that you don't need to define the individual sensors just yet, as +the scanning will happen even with no sensors connected. For example with this configuration: + +.. code-block:: yaml + + # Example without sensors + ds248x: + type: ds2482-800 + address: 0x1f + active_pullup: true + strong_pullup: false + bus_sleep: false + update_interval: 10s + + # Note you don't have to add any sensors at this point + +You will find something like this: + +.. figure:: images/ds248x-log.png + +Now we can add the individual sensors to our configuration: + +.. code-block:: yaml + + # Example with 2 sensors from the previous list + ds248x: + type: ds2482-800 + address: 0x1f + active_pullup: true + strong_pullup: false + bus_sleep: false + update_interval: 10s + + sensor: + - platform: ds248x + address: 0x80000002a5fea828 + channel: 0 + name: "Temperature #1" + - platform: ds248x + address: 0xf10000051c169828 + chanel: 1 + name: "Temperature #2" + + # ... + +Next, individually warm up or cool down the sensors and observe the log again. +You will see the outputted sensor values changing when they're being warmed. +When you're finished mapping each address to a name, just change the ``Temperature #1`` +to your assigned names and you should be ready. + +Multiple ds248x hubs +******************** + +For example, on the ds2482-800, you can set the bits ``AD0``, ``AD1`` and ``AD2`` of the address of this I²C component. +This give you height addresses from ``0x18`` to ``0X1F``. + +Use this if you have multiple ds248x hubs on your I²C bus: + +.. code-block:: yaml + + # Example configuration entry + ds248x: + - type: ds2482-800 + id: hub_1 + address: 0x18 + active_pullup: true + strong_pullup: false + bus_sleep: false + update_interval: 10s + + - type: ds2482-800 + id: hub_2 + address: 0x19 + active_pullup: true + strong_pullup: false + bus_sleep: false + update_interval: 10s + + sensor: + - platform: ds248x + dallas_id: hub_1 + # ... + - platform: ds248x + dallas_id: hub_2 + # ... + + +See Also +-------- + +- :ref:`sensor-filters` +- :doc:`max6675` +- `Arduino DallasTemperature library `__ + by `Miles Burton `__ +- :apiref:`dallas/dallas_component.h` +- :ghedit:`Edit` +- `Guidelines for Reliable Long Line 1-Wire Networks `__ From eafddd26babf3f8ea540312bdba0bd6863ffe502 Mon Sep 17 00:00:00 2001 From: Iron Man Date: Mon, 22 Apr 2024 19:45:45 +0200 Subject: [PATCH 4/5] Add ds248x-log.png --- components/sensor/images/ds248x-log.png | Bin 0 -> 46870 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 components/sensor/images/ds248x-log.png diff --git a/components/sensor/images/ds248x-log.png b/components/sensor/images/ds248x-log.png new file mode 100644 index 0000000000000000000000000000000000000000..9afa259b3fdd03e4bb83bc396877eff543be56a7 GIT binary patch literal 46870 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 literal 0 HcmV?d00001 From 3f2e4b16aeb5fe8af00054df99ddc9e42fee1a1b Mon Sep 17 00:00:00 2001 From: Iron Man Date: Tue, 23 Apr 2024 16:55:49 +0200 Subject: [PATCH 5/5] Update ds248x.rst Remove tabs --- components/sensor/ds248x.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/sensor/ds248x.rst b/components/sensor/ds248x.rst index 0604e9d01..727fc4892 100644 --- a/components/sensor/ds248x.rst +++ b/components/sensor/ds248x.rst @@ -123,7 +123,6 @@ To initialize a sensor, first supply either ``address`` **or** ``index`` to iden channel: 0 name: "Livingroom Temperature" resolution: 12 - Configuration variables: ************************ @@ -189,13 +188,13 @@ Now we can add the individual sensors to our configuration: sensor: - platform: ds248x address: 0x80000002a5fea828 - channel: 0 + channel: 0 name: "Temperature #1" - platform: ds248x address: 0xf10000051c169828 - chanel: 1 + channel: 1 name: "Temperature #2" - + # ... Next, individually warm up or cool down the sensors and observe the log again. @@ -216,7 +215,7 @@ Use this if you have multiple ds248x hubs on your I²C bus: # Example configuration entry ds248x: - type: ds2482-800 - id: hub_1 + id: hub_1 address: 0x18 active_pullup: true strong_pullup: false @@ -224,7 +223,7 @@ Use this if you have multiple ds248x hubs on your I²C bus: update_interval: 10s - type: ds2482-800 - id: hub_2 + id: hub_2 address: 0x19 active_pullup: true strong_pullup: false