diff --git a/components/sensor/dsmr.rst b/components/sensor/dsmr.rst new file mode 100644 index 000000000..c7e90c644 --- /dev/null +++ b/components/sensor/dsmr.rst @@ -0,0 +1,237 @@ +DSMR Component +============== + +.. seo:: + :description: Instructions for setting up DSMR Meter component in ESPHome. + :image: dsmr.png + +Component/Hub +************* + +The DSMR component connects to Dutch Smart Meters which comply to DSMR (Dutch Smart Meter +Requirements), also known as ‘Slimme meter’ or ‘P1 port’. + +This integration supports plain non encrypted telegrams and also encrypted as used in Luxembourg. +In case your equipment has encryption you must get a 32 character long encryption key from your energy company. + +This component is passive, it does not transmit any data to your equipment, the equipment always transmits +data which this component decodes and updates the configured sensors at the pace the data is received. + +- For official information about DSMR refer to: `DSMR Document `__ +- For official information about the P1 port refer to: `P1 Companion Standard `__ + +.. code-block:: yaml + + # Example configuration entry + dsmr: + decryption_key: !secret decryption_key + + sensor: + - platform: dsmr + energy_delivered_tariff1: + name: Energy Consumed Tariff 1 + + text_sensor: + - platform: dsmr + identification: + name: "DSMR Identification" + p1_version: + name: "DSMR Version" + + +Configuration variables: + +- **decryption_key** (*Optional*, string, :ref:`templatable `, 32 characters, case insensitive): The key to decrypt the + telegrams. Used in Lux only. +- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the UART hub. +- **id** (*Optional*, :ref:`config-id`): Manually specify the ID of the DSMR if you have multiple components. + +Sensor +****** + +.. note:: Not all sensors are available on all devices. + +Country specific sensors are listed last. + +Configuration variables: + +- **energy_delivered_tariff1** (*Optional*): Energy Consumed Tariff 1. + + - **name** (**Required**, string): The name for the energy_delivered_tariff1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **energy_delivered_tariff2** (*Optional*): Energy Consumed Tariff 2. + + - **name** (**Required**, string): The name for the energy_delivered_tariff2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **energy_returned_tariff1** (*Optional*): Energy Produced Tariff 1. + + - **name** (**Required**, string): The name for the energy_returned_tariff1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **energy_returned_tariff2** (*Optional*): Energy Produced Tariff 2. + + - **name** (**Required**, string): The name for the energy_returned_tariff2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_delivered** (*Optional*): Power Consumed. + + - **name** (**Required**, string): The name for the power_delivered sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_returned** (*Optional*): Power Produced. + + - **name** (**Required**, string): The name for the power_returned sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **electricity_failures** (*Optional*): Electricity Failures. + + - **name** (**Required**, string): The name for the electricity_failures sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **electricity_long_failures** (*Optional*): Long Electricity Failures. + + - **name** (**Required**, string): The name for the electricity_long_failures sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **voltage_l1** (*Optional*): Voltage Phase 1. + + - **name** (**Required**, string): The name for the voltage_l1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **voltage_l2** (*Optional*): Voltage Phase 2. + + - **name** (**Required**, string): The name for the voltage_l2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **voltage_l3** (*Optional*): Voltage Phase 3. + + - **name** (**Required**, string): The name for the voltage_l3 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **current_l1** (*Optional*): Current Phase 1. + + - **name** (**Required**, string): The name for the current_l1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **current_l2** (*Optional*): Current Phase 2. + + - **name** (**Required**, string): The name for the current_l2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **current_l3** (*Optional*): Current Phase 3. + + - **name** (**Required**, string): The name for the current_l3 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_delivered_l1** (*Optional*): Power Consumed Phase 1. + + - **name** (**Required**, string): The name for the power_delivered_l1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_delivered_l2** (*Optional*): Power Consumed Phase 2. + + - **name** (**Required**, string): The name for the power_delivered_l2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_delivered_l3** (*Optional*): Power Consumed Phase 3. + + - **name** (**Required**, string): The name for the power_delivered_l3 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_returned_l1** (*Optional*): Power Produced Phase 1. + + - **name** (**Required**, string): The name for the power_returned_l1 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_returned_l2** (*Optional*): Power Produced Phase 2. + + - **name** (**Required**, string): The name for the power_returned_l2 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **power_returned_l3** (*Optional*): Power Produced Phase 3. + + - **name** (**Required**, string): The name for the power_returned_l3 sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **gas_delivered** (*Optional*): Gas Consumed. + + - **name** (**Required**, string): The name for the gas_delivered sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +Belgium + +- **gas_delivered_be** (*Optional*): Gas Consumed Belgium. + + - **name** (**Required**, string): The name for the gas_delivered_be sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +Luxembourg + +- **energy_delivered_lux** (*Optional*): Energy Consumed Luxembourg + + - **name** (**Required**, string): The name for the energy_delivered_lux sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + +- **energy_returned_lux** (*Optional*): Energy Produced Luxembourg + + - **name** (**Required**, string): The name for the energy_returned_lux sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Sensor `. + + +Text Sensor +*********** + +Configuration variables: + +- **identification** (*Optional*): DSMR Identification + + - **name** (**Required**, string): The name for the identification text sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Text Sensor `. + +- **p1_version** (*Optional*): DSMR Version + + - **name** (**Required**, string): The name for the p1_version text sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Text Sensor `. + +Belgium + +- **p1_version_be** (*Optional*): DSMR Version Beligum + + - **name** (**Required**, string): The name for the p1_version_be text sensor. + - **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for use in lambdas. + - All other options from :ref:`Text Sensor `. + + +See Also +-------- + +- :apiref:`dsmr/dsmr.h` +- :ghedit:`Edit` diff --git a/images/dsmr.svg b/images/dsmr.svg new file mode 100644 index 000000000..6c95553ac --- /dev/null +++ b/images/dsmr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.rst b/index.rst index 40eb4fcb1..ac90813d4 100644 --- a/index.rst +++ b/index.rst @@ -282,6 +282,7 @@ Electricity CSE7766, components/sensor/cse7766, cse7766.svg, Voltage & Current & Power CS5460A, components/sensor/cs5460a, cs5460a.png, Voltage & Current & Power CT Clamp, components/sensor/ct_clamp, ct_clamp.jpg, AC current + DSMR, components/sensor/dsmr, dsmr.svg, Electrical counter HLW8012, components/sensor/hlw8012, hlw8012.svg, Voltage & Current & Power INA219, components/sensor/ina219, ina219.jpg, DC current INA226, components/sensor/ina226, ina226.jpg, DC current & Power