{"id":21419,"date":"2024-09-06T17:41:53","date_gmt":"2024-09-06T15:41:53","guid":{"rendered":"https:\/\/chochol.io\/smart-home\/home-assistant-remote-water-meter-reading-via-esphome\/"},"modified":"2025-08-23T19:55:50","modified_gmt":"2025-08-23T17:55:50","slug":"home-assistant-remote-water-meter-reading-via-esphome","status":"publish","type":"post","link":"https:\/\/chochol.io\/en\/smart-home\/home-assistant-remote-water-meter-reading-via-esphome\/","title":{"rendered":"Home Assistant: Remote water meter reading via ESPHome"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"21419\" class=\"elementor elementor-21419 elementor-21376\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6e9f978 e-flex e-con-boxed e-con e-parent\" data-id=\"6e9f978\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b0a0a57 elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"b0a0a57\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:[],&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;marker_view&quot;:&quot;numbers&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\r\n\t\t\t\t\t\t<div class=\"elementor-toc__header-title\">\r\n\t\t\t\tTable of Contents\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__b0a0a57\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/div>\r\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__b0a0a57\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<div id=\"elementor-toc__b0a0a57\" class=\"elementor-toc__body\">\r\n\t\t\t<div class=\"elementor-toc__spinner-container\">\r\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6f9c5d elementor-widget elementor-widget-text-editor\" data-id=\"a6f9c5d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>Hello!<\/h2><p>In the era of the smart home, remote reading of utility consumption is becoming more and more popular, and integrating this data with home automation systems such as Home Assistant allows for better asset management and cost optimization. In this article, I\u2019ll show you how to set up remote reading of an Apator water meter using an inexpensive ESP32 board and open-source ESPHome software.<\/p><p>This will allow you to easily monitor your water consumption without having to manually read the meter. I will guide you through the installation, configuration and integration process to enjoy full automation in your smart home.<\/p><p><strong>Let\u2019s get started! <\/strong> \ud83d\ude80<\/p><h3>What is ESP32?<\/h3><p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignleft\" src=\"https:\/\/joy-it.net\/files\/files\/Produkte\/SBC-NodeMCU-ESP32\/SBC-NodeMCU-ESP32-01.png\" alt=\"NodeMCU ESP32 | Joy-IT\" width=\"265\" height=\"265\" aria-hidden=\"false\" \/><\/p><p><strong>ESP32 is a very popular microcontroller developed by Espressif Systems.<\/strong> It is the successor to the ESP8266 and offers a number of improvements and additional features. The ESP32 is equipped with a dual-core Xtensa LX6 processor that runs at up to 240 MHz, providing enough processing power to handle a variety of tasks.<\/p><p>One of the main advantages of the ESP32 is its versatility and support for various communication interfaces, such as WiFi, Bluetooth Classic and Bluetooth Low Energy (BLE). This makes it ideal for IoT (Internet of Things) applications, wireless projects and other applications requiring wireless communication. In addition, the ESP32 has built-in peripherals to support interfaces such as SPI, I2C, UART, making it easy to integrate with various sensors and devices.<\/p><p>The microcontroller is also popular due to its low price, availability in the market, and extensive development environment, which includes the ESP-IDF platform and support for the Arduino IDE. This makes it an excellent choice for both beginners and experienced developers looking to create embedded applications and IoT projects.<\/p><h3>What is ESPHome?<\/h3><p><img decoding=\"async\" class=\" wp-image-21414 alignleft\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759.png\" alt=\"ESPHome, New logo\" width=\"264\" height=\"264\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759.png 460w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759-150x150.png 150w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759-300x300.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759-60x60.png 60w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/45919759-360x360.png 360w\" sizes=\"(max-width: 264px) 100vw, 264px\" \/><\/p><p><strong>ESPHome<\/strong> is a powerful, open source development environment designed specifically for devices based on the popular ESP8266 and ESP32 microcontrollers. Its main goal is to facilitate the creation of smart Internet of Things (IoT) devices, which can then be fully integrated and controlled through the Home Assistant platform.<\/p><p class=\"whitespace-pre-wrap\">Configuration of devices in ESPHome is done through friendly files in YAML format, which allow defining the operation of various components, sensors, displays or actuators. This makes programming intuitive and accessible even to those without in-depth coding knowledge.<\/p><p class=\"whitespace-pre-wrap\">In addition to native integration with Home Assistant, ESPHome also supports a wide range of off-the-shelf modules and libraries, allowing it to support many popular other components.<\/p><h2>Preparation<\/h2><p>Before diving into system adaptation using ESP32\/ESP8266 and ESPHome, it\u2019s a good idea to prepare properly. Below are the key steps to start the project.<\/p><p>In this article we will focus on the integration of the Apator JS Smart C+ water meter, which is a single-jet water meter of Polish manufacture. This water meter has been adapted for installation of different types of overlays, including radio overlay for Wireless M-Bus, pulse and M-Bus communication. In our case, we will use the Apator AT-WMBUS-16-2 overlay, which will enable us to remotely read the water meter readings using Wireless M-Bus technology and integrate with ESPHome system.<\/p><p>Make sure you have all the necessary materials:<\/p><ul><li><a href=\"https:\/\/amzn.to\/4d6bbkF\" target=\"_blank\" rel=\"noopener\">ESP8266<\/a> NodeMCU board (or <a href=\"https:\/\/amzn.to\/4dfeZQG\" target=\"_blank\" rel=\"noopener\">ESP32<\/a>, if you opt for a newer model),<ul><li>It is worth verifying before purchasing an ESP board that Wi-Fi coverage reaches our installation site. We may need to purchase a board with the ability to connect an external antenna.<\/li><\/ul><\/li><li>Apator JS Smart C+ water meter (<a href=\"https:\/\/www.apator.com\/nasze-rozwiazania\/woda-i-cieplo\/wodomierze\/jednostrumieniowe-skrzydelkowe-dn-15-20\/js-smart-c-dn15-20\" target=\"_blank\" rel=\"noopener\">Link to manufacturer<\/a>),<\/li><li>Apator AT-WMBUS-16 radio readout overlay (<a href=\"https:\/\/www.apator.com\/nasze-rozwiazania\/woda-i-cieplo\/system-zdalnego-odczytu-mediow\/system-radiowy\/at-wmbus-16-2-apt-o3a-1\" target=\"_blank\" rel=\"noopener\">Link to manufacturer<\/a>),<\/li><li>CC1101 868 MHz module (<a href=\"https:\/\/pl.aliexpress.com\/item\/1005005985514088.html?spm=a2g0o.order_list.order_list_main.192.6f271c247oCEQG&gatewayAdapt=glo2pol\" target=\"_blank\" rel=\"noopener\">Shop link<\/a>),<\/li><li>868 MHz antenna,<\/li><li>Power source for the ESP8266 board (5V DC),<\/li><li><a href=\"https:\/\/botland.com.pl\/920-kostki-elektryczne\" target=\"_blank\" rel=\"noopener\">Wire connectors<\/a>,<\/li><li>(Optional) DIN box in which to hide the ESP board with the converter module,<\/li><li>Connection wires for all components.<\/li><\/ul><h2>Installing ESPHome in Home Assistant<\/h2><p><strong>Install ESPHome<\/strong> in your Home Assistant environment to easily configure and manage the ESP8266. Use the <a href=\"https:\/\/esphome.io\/guides\/getting_started_hassio#installing-esphome-dashboard\" target=\"_blank\" rel=\"noopener\">ESPHome documentation<\/a> and follow the instructions.<\/p><h3>Preparation of workspace<\/h3><p>Organize a workspace where you will assemble the system. Make sure you have access to tools and are comfortable working on the project.<\/p><h2>Step 1 \u2013 VLAN IoT<\/h2><p>As a security practice, I recommend setting up a separate network for IoT devices, separate from the main home network. For this purpose, it is worth using the <strong>VLAN<\/strong> (<a href=\"https:\/\/pl.wikipedia.org\/wiki\/Wirtualna_sie%C4%87_lokalna\" target=\"_blank\" rel=\"noopener\">Virtual Local Area Network<\/a>) function, which allows physical separation of devices, such as those based on ESPHome, from other devices in the home infrastructure.<\/p><h3>Benefits<\/h3><p><img decoding=\"async\" class=\"size-full wp-image-20687 alignright\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/04\/Projekt-bez-nazwy-1.png\" sizes=\"(max-width: 250px) 100vw, 250px\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/04\/Projekt-bez-nazwy-1.png 250w, https:\/\/chochol.io\/wp-content\/smush-webp\/2024\/04\/Projekt-bez-nazwy-1-150x150.png.webp 150w, https:\/\/chochol.io\/wp-content\/smush-webp\/2024\/04\/Projekt-bez-nazwy-1-60x60.png.webp 60w\" alt=\"Cloud icon as VLAN\" width=\"250\" height=\"250\" \/><\/p><p>Creating a dedicated network for IoT devices offers several advantages:<\/p><ul><li><strong>Security:<\/strong> Separating IoT devices from the main network haelps minimize the potential risk of attacks. If an IoT device is possibly compromised, access to the main home network is difficult.<\/li><li><strong>Controlling Communications:<\/strong> Creating a separate network allows for more precise control over who communicates with IoT devices and how. You can define communication rules that only allow specific devices (for example, a server or virtual machine from Home Assistant) to interact with IoT devices.<\/li><li><strong>Network Traffic Optimization:<\/strong> Separating IoT device traffic from main network traffic can help optimize network performance.<\/li><\/ul><h3>Implementation<\/h3><p>To implement such separation, it is worth consulting the documentation and settings of the router. In the case of Home Assistant, using the appropriate firewall rules on the router, you can customize access to IoT devices. This approach introduces a layer of additional security to our smart home infrastructure.<\/p><h2>Step 2 \u2013 Install and configure firmware to work with Home Assistant<\/h2><p>Once the ESPHome add-on is running on the Home Assistant server, it\u2019s time to move on to adding the first ESPHome-based device.<\/p><h3>Connecting to a computer<\/h3><ul><li><strong>Connect the board using a USB cable to your computer.<\/strong> It is important to use a USB cable with data transmission, as many cheap cables only provide power.<ul><li>To be sure of correct operation, I recommend using <strong>Chrome<\/strong> or <strong>Edge<\/strong> browser (there is a transfer of data transmission through the COM port to the browser using WebSerial).<\/li><\/ul><\/li><\/ul><h3>Home Assistant<\/h3><ul><li>After completing these steps, log in to <strong>Home Assistant<\/strong>,<\/li><\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1258\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.19.37.png\" sizes=\"(max-width: 565px) 100vw, 565px\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.19.37.png 565w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.19.37-273x300.png 273w\" alt=\"Home Assistant, login screen\" width=\"565\" height=\"622\" \/><\/p><ul><li>From the side panel, go to the <strong>ESPHome<\/strong> tab,<\/li><li>Then click <strong>New Device<\/strong>,<\/li><\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1262\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.30.16.png\" alt=\"ESPHome, Button New device\" width=\"180\" height=\"67\" \/><\/p><ul><li><p>After selecting the option to add a new device, we may encounter a browser incompatibility message, especially for browsers that do not support WebSerial. Alternatively, we may also encounter a message indicating that there is no secure connection (HTTPS) to the dashboard. In this situation, we can click <strong>Continue<\/strong> to continue the process of adding the device.<\/p><\/li><\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1260\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.28.56.png\" sizes=\"(max-width: 399px) 100vw, 399px\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.28.56.png 399w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.28.56-251x300.png 251w\" alt=\"ESPHome, New device\" width=\"399\" height=\"477\" \/><\/p><ul><li>In the next window, we enter a <strong>name for our device<\/strong> (it can be a name or alias we created) and <strong>the details of our Wi-Fi network<\/strong>.<ul><li>Wi-Fi network entry is only necessary when adding a device for the first time. Subsequent ESPHome-based additions will not require this step.<\/li><\/ul><\/li><li>Then, for ESPHome to install the firmware on the ESP8266 board, click Connect.<\/li><\/ul><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1264\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.35.53.png\" sizes=\"(max-width: 381px) 100vw, 381px\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.35.53.png 381w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-11-at-12.35.53-300x264.png 300w\" alt=\"ESPHome, Installation\" width=\"381\" height=\"335\" \/><\/p><ul><li>After a while, the browser will display a window for selecting a device for serial port communication. Find your device, whose name should include <strong>CP210x UART<\/strong>, and click <strong>Connect<\/strong>.<\/li><li>Then wait until the firmware is installed on the board.<\/li><\/ul><h3>Completion of the process<\/h3><p>After a successful installation, you should receive a message confirming the completion of the process. Your device will also appear on the dashboard with the description <strong>ONLINE<\/strong>. This means that the board has been correctly configured and is ready to proceed.<\/p><h2>Step 3 \u2013 Install the water meter extension cap<\/h2><p>Installing the JS Smart C+ water meter extension cap is super easy. Just put it on the front of the water meter, making sure it fits properly. Before installation, it is worth noting the serial number on the overlay (for models from Apator). This number is crucial, because we will need it for configuration in ESPHome \u2013 it is thanks to it that the system will know from which water meter it should read data.<\/p><div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\"><div class=\"flex-col gap-1 md:gap-3\"><div class=\"flex max-w-full flex-col flex-grow\"><div class=\"min-h-[20px] text-message flex w-full flex-col items-end gap-2 break-words [.text-message+&]:mt-5 overflow-x-auto whitespace-normal\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"da22cc78-5371-4bd2-8f94-f533c7e2823e\"><div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\"><div class=\"markdown prose w-full break-words dark:prose-invert dark\"><p><strong>If the extension cap is new<\/strong>, it should be reset to zero, which means there is no stored history of water consumption. To start its operation, it must be awakened with a magnet. <strong>In the case of a used extension<\/strong>, it will have a recorded mileage in cubic meters. In this case, awakening with a magnet is not necessary. It is also worth remembering that used overlays may have altered data transmission times \u2013 reports may be sent more or less frequently than the manufacturer\u2019s default settings.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><p>In the next steps of the article, I will show how to correct these values so that the display in Home Assistant is consistent with actual water consumption.<\/p><h3>Encryption key<\/h3><p>If you buy a new extension, you can ask the manufacturer not to set the encryption key. Without the key, you won\u2019t be able to read the transmitted values, so the lack of encryption will make it easier to integrate into the system.<\/p><p>If you purchase a used extension, make sure that the seller has provided you with a decoded extension or provided you with an encryption key. If the encryption key is not available, reading data from the water meter will be impossible.<\/p><h3>Security<\/h3><p>The encryption key protects the data transmitted between the water meter and the receiver. Encryption ensures that readings are protected from unauthorized reading and tampering. In this way, it is possible to prevent eavesdropping and falsification of data, which is particularly important in the context of water consumption monitoring, where data accuracy is crucial for managing resources and controlling costs.<\/p><p>However, the security related to the encryption key may introduce some difficulties, especially in the context of integration with the ESPHome system. Without the right key, even if the overlay works properly, you won\u2019t be able to read the transmitted data. In this case, you will need to obtain a key from the manufacturer or vendor, which may be an additional step in the setup process.<\/p><p>If the encryption key is not set, the system can operate in \u201copen\u201d mode, which greatly simplifies integration, but also reduces the level of security. So it\u2019s worth finding a balance between security and convenience \u2013 if data security is not a priority in your application, the lack of encryption can simplify the whole process.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-276a433 elementor-widget elementor-widget-gallery\" data-id=\"276a433\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:2,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\r\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/apator1-scaled.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"276a433\" data-elementor-lightbox-title=\"Nak\u0142adka WMBus do wodomierza od Apator\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjEzOTEsInVybCI6Imh0dHBzOlwvXC9jaG9jaG9sLmlvXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOVwvYXBhdG9yMS1zY2FsZWQuanBlZyIsInNsaWRlc2hvdyI6IjI3NmE0MzMifQ%3D%3D\">\r\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/apator1-768x1024.jpeg\" data-width=\"768\" data-height=\"1024\" aria-label=\"Czarny adapter APATOR z uchwytem i opisem APTOR Telemetria na naklejce, trzymany w d\u0142oni\" role=\"img\" ><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/apator2-scaled.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"276a433\" data-elementor-lightbox-title=\"Nak\u0142adka WMBus do wodomierza od Apator\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjEzOTMsInVybCI6Imh0dHBzOlwvXC9jaG9jaG9sLmlvXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOVwvYXBhdG9yMi1zY2FsZWQuanBlZyIsInNsaWRlc2hvdyI6IjI3NmE0MzMifQ%3D%3D\">\r\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/apator2-768x1024.jpeg\" data-width=\"768\" data-height=\"1024\" aria-label=\"Licznik Apator Powogaz z wy\u015bwietlaczem 0 0 1 9 4 1 3 7 m\u00b3, oznaczenia AT-WMBUS-16-2\" role=\"img\" ><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b04919 elementor-widget elementor-widget-text-editor\" data-id=\"5b04919\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>Step 4 \u2013 Connect the radio module to the board<\/h2><p>To enable remote reading of data from the water meter, it is necessary to connect the CC1101 radio module operating at 868 MHz to the ESP32 board. You will need a soldering iron for this, as the wires must be soldered to the module and the ESP32 board.<\/p><p>Included with the radio module you will find a short antenna with a frequency of 868 MHz, which you can use. In my installation, however, I decided to use a BNC connector so that I can connect an external antenna, which can improve the signal range.<\/p><p>After soldering the wires, connect them to the appropriate pins on the ESP32 board. If you prefer a different connection arrangement, no problem \u2013 just specify the appropriate pins in the code configuration, which I will present later in the article.<\/p><p>Connect the wires according to the following pins:<\/p><ul><li>MOSI: GPIO32<\/li><li>CLK: GPIO33<\/li><li>MISO: GPIO19<\/li><li>GDO2: GPIO21<\/li><li>GDO0: GPIO22<\/li><li>CS: GPIO23<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b397e7a elementor-widget elementor-widget-gallery\" data-id=\"b397e7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:2,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\r\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/IMG_8202-scaled.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"b397e7a\" data-elementor-lightbox-title=\"Pod\u0142\u0105czenie modu\u0142u radiowego do p\u0142ytki ESP32\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjEzOTUsInVybCI6Imh0dHBzOlwvXC9jaG9jaG9sLmlvXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOVwvSU1HXzgyMDItc2NhbGVkLmpwZWciLCJzbGlkZXNob3ciOiJiMzk3ZTdhIn0%3D\">\r\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/IMG_8202-768x576.jpeg\" data-width=\"768\" data-height=\"576\" aria-label=\"Zestaw elektroniki na stole: p\u0142ytka z przewodami, z\u0142\u0105czem kraw\u0119dziowym i radiowym modu\u0142em w os\u0142onie; zasilacz.\" role=\"img\" ><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<a class=\"e-gallery-item elementor-gallery-item elementor-animated-content\" href=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/IMG_8203-scaled.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-slideshow=\"b397e7a\" data-elementor-lightbox-title=\"Pod\u0142\u0105czenie modu\u0142u radiowego do p\u0142ytki ESP32\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjEzOTcsInVybCI6Imh0dHBzOlwvXC9jaG9jaG9sLmlvXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wOVwvSU1HXzgyMDMtc2NhbGVkLmpwZWciLCJzbGlkZXNob3ciOiJiMzk3ZTdhIn0%3D\">\r\n\t\t\t\t\t<div class=\"e-gallery-image elementor-gallery-item__image\" data-thumbnail=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/IMG_8203-768x576.jpeg\" data-width=\"768\" data-height=\"576\" aria-label=\"Wn\u0119trze urz\u0105dzenia elektronicznego: zielona p\u0142ytka PCB z uk\u0142adem, listw\u0105 i wielokolorowym okablowaniem w radiatorze\" role=\"img\" ><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-gallery-item__overlay\"><\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b4d28f8 elementor-widget elementor-widget-text-editor\" data-id=\"b4d28f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In my configuration, the radio module and ESP32 are located in the teletechnical cabinet. Therefore, I also decided to connect a DS18B20 temperature sensor to the same board, which allows me to monitor the temperature in the rack cabinet using the same device. <\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f19cd52 elementor-widget elementor-widget-image\" data-id=\"f19cd52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large-300x300.webp\" class=\"attachment-medium size-medium wp-image-21400\" alt=\"Green PCB wireless module with ICs and chip antenna, plus copper RF coil and two mounting holes\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large-300x300.webp 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large-150x150.webp 150w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large-60x60.webp 60w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large-360x360.webp 360w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/5bcec52aabdccb2551b5ea24-large.webp 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42ab652 elementor-widget elementor-widget-text-editor\" data-id=\"42ab652\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The description of the connection pins is described on the back of the CC1101 board.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dbafa30 elementor-widget elementor-widget-text-editor\" data-id=\"dbafa30\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>Step 5 \u2013 Upload the code in ESPHome<\/h2><div>In this section, we will now upload the relevant entries for the configuration of the connection with the reception of readings from the water meter. Copy the necessary code elements into your installation. We will use an ESPHome-adapted component, developed by a GitHub user named SzczepanLeon. This component can be found in the <a href=\"https:\/\/github.com\/SzczepanLeon\/esphome-components\" target=\"_new\" rel=\"noopener\">esphome-components<\/a> repository.<\/div><div><h3>What is the responsibility?<\/h3><p>A custom component based on \u201cwmbusmeters\u201d adds support for the CC1101 module in the Wireless M-Bus standard, which is crucial for communication with the Apator water meter. It makes it possible to read the data frames sent by the radio overlay to the water meter, decode the data, and then send it to Home Assistant via ESPHome.<\/p><\/div><div>In the repository you will find detailed instructions on how to configure and upload this component. After completing this step, you will have a fully working remote water meter reading system<\/div><div>\u00a0<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba584f6 elementor-widget elementor-widget-mdp-coder-elementor\" data-id=\"ba584f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"mdp-coder-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <!-- Start Coder for Elementor WordPress Plugin -->\n        <div\n            id=\"mdp-coder-ba584f6\"\n            class=\"mdp-coder-elementor-box\"\n            data-theme=\"mdp-theme-material-dark\"\n            data-dark-theme=\"mdp-theme-material-dark\"\n        >\n            \n                <pre class=\"language-yaml line-numbers\"data-previewers=\"\"><code>esphome:\n  name: &quot;esp02-watermeter&quot;\n  comment: &quot;Water&quot;\n  area: &quot;Office&quot;  \n\nesp32:\n  board: esp32dev\n  framework:\n    type: arduino\n\nweb_server:\n  port: 80\n  local: true  \n\n# Enable Home Assistant API\napi:\n  encryption:\n    key: &quot;HERE WILL BE THE CODE GENERATED BY ESPHOME&quot;\n\nota:\n  - platform: esphome\n    password: &quot;HERE WILL APPEAR THE PASSWORD GENERATED BY ESPHOME&quot;\n\nwifi:\n  ssid: !secret wifi_ssid\n  password: !secret wifi_password  \n\n  # Enable fallback hotspot (captive portal) in case wifi connection fails\n  ap:\n    ssid: &quot;esp02-watermeter Fallback Hotspot&quot;\n    password: &quot;123456789&quot;\n\ncaptive_portal:\n\nbutton:\n  - platform: restart\n    name: &quot;Restart device&quot;\n\nsensor:\n  - platform: wmbus\n    meter_id: &quot;0xXXXXXXXX&quot;\n    add_prefix: false\n    type: apator162\n    key: &quot;00000000000000000000000000000000&quot;\n    lqi:\n     name: &quot;Cold water link quality&quot;\n     id: &quot;cold_water_meter_lqi&quot;\n     unit_of_measurement: &quot;lqi&quot;\n     state_class: &quot;measurement&quot;\n    rssi:\n     name: &quot;Cold water signal strength&quot;\n     id: &quot;cold_water_meter_rssi&quot;\n     unit_of_measurement: &quot;dBm&quot;\n     entity_category: &quot;diagnostic&quot;\n    total_water_m3:\n     name: &quot;Cold water meter&quot;\n     id: &quot;cold_water_meter_m3&quot;\n     unit_of_measurement: &quot;m\u00b3&quot;\n     state_class: total_increasing\n     device_class: &quot;water&quot;\n     accuracy_decimals: 3\n     icon: &quot;mdi:counter&quot;\n     filters:\n      - offset: -XX.XX\n  - platform: wmbus\n    meter_id: &quot;0xXXXXXXXX&quot;\n    add_prefix: false\n    type: apator08\n    lqi:\n     name: &quot;Hot water link quality&quot;\n     id: &quot;hot_water_meter_lqi&quot;\n     unit_of_measurement: &quot;lqi&quot;\n     state_class: &quot;measurement&quot;\n    rssi:\n     name: &quot;Hot water signal strength&quot;\n     id: &quot;hot_water_meter_rssi&quot;\n     unit_of_measurement: &quot;dBm&quot;\n     entity_category: &quot;diagnostic&quot;\n    total_water_m3:\n     name: &quot;Hot water meter&quot;\n     id: &quot;hot_water_meter_m3&quot;\n     unit_of_measurement: &quot;m\u00b3&quot;\n     state_class: total_increasing\n     device_class: &quot;water&quot;\n     accuracy_decimals: 3\n     icon: &quot;mdi:counter&quot;   \n     filters:\n        - offset: -XXX.XXX\n\ntime:\n  - platform: sntp\n    id: time_sntp\n\nexternal_components:\n  - source: github:\/\/SzczepanLeon\/esphome-components@main\n    components: [ wmbus ]\n\nwmbus:\n  mosi_pin: GPIO32\n  clk_pin: GPIO33\n  miso_pin: GPIO19\n  gdo2_pin: GPIO21\n  gdo0_pin: GPIO22\n  cs_pin: GPIO23\n\n  log_unknown: &quot;true&quot;  <\/code><\/pre>\n                    <\/div>\n                <script>\n            \"use strict\";\n\n            \/** Handler when the DOM is fully loaded. *\/\n            let callback_ba584f6 = function() {\n\n                \/** Set theme for coder widget. *\/\n                function setTheme() {\n\n                    \/** Foreach Code Widget. *\/\n                    let coderBoxes = document.querySelectorAll( '.mdp-coder-elementor-box' );\n\n                    for ( let coderBox of coderBoxes ) {\n\n                        let lightTheme = coderBox.dataset.theme;\n                        let darkTheme = coderBox.dataset.darkTheme;\n\n                        coderBox.className = '';\n                        if ( window.matchMedia && window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {\n\n                            coderBox.className = 'mdp-coder-elementor-box ' + darkTheme;\n\n                        } else {\n\n                            coderBox.className = 'mdp-coder-elementor-box ' + lightTheme;\n\n                        }\n\n                    }\n\n                }\n                setTheme();\n\n\n                \/** Watch for changes color-scheme. *\/\n                window.matchMedia(\"(prefers-color-scheme: dark)\").addListener( function() {\n                    setTheme();\n                } );\n\n                \n                if ( typeof Prism !== 'undefined' ) {\n\n                    Prism.plugins.autoloader.languages_path = 'https:\/\/chochol.io\/wp-content\/plugins\/coder-elementor\/js\/prism\/components\/';\n                    Prism.highlightAll();\n                    Prism.fileHighlight();\n\n                }\n\n                \n            };\n\n            if (\n                document.readyState === \"complete\" ||\n                ( document.readyState !== \"loading\" && !document.documentElement.doScroll )\n            ) {\n                callback_ba584f6();\n            } else {\n                document.addEventListener( \"DOMContentLoaded\", callback_ba584f6 );\n            }\n\n        <\/script>\n                <!-- End Coder for Elementor WordPress Plugin -->\n\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a13e755 elementor-widget elementor-widget-text-editor\" data-id=\"a13e755\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In the ESPHome configuration code that I pasted into the article, we define how the ESP32 will communicate with the water meter via the CC1101 module. Here\u2019s what each configuration item means:<\/p><h4>Sensor \u2013 detailed description<\/h4><ul><li><strong><code>platform: wmbus<\/code><\/strong>: Specifies that we use the Wireless M-Bus platform to communicate with the water meter.<\/li><li><strong><code>meter_id: \"0xXXXXXXXX\"<\/code><\/strong>: This is the unique identifier (ID) of the water meter that allows ESPHome to identify which device it is communicating with. This number should match the serial number of the overlay mounted on the water meter.<\/li><li><strong><code>add_prefix: false<\/code><\/strong>: This setting decides whether to add prefixes to entity names. In this case, prefixes are not added, which means that entity names will be simple and without additional designations.<\/li><li><strong><code>type: apator162<\/code><\/strong>: Specifies the overlay model for the water meter we are using. The list of types is described in the repository on GitHub.<\/li><li><strong><code>key: \"00000000000000000000000000000000\"<\/code><\/strong>: This is the encryption key that is used to decode the data transmitted by the radio overlay. For default settings, use the value \u201c00000000000000000000000000000000\u201d.<\/li><\/ul><h4>Definition of individual sensors<\/h4><p><strong><code>lqi<\/code><\/strong>:<\/p><ul><li><strong><code>name: \"Cold water link quality\"<\/code><\/strong>: Name of the entity that will represent the quality of the connection to the water meter.<\/li><li><strong><code>id: \"cold_water_meter_lqi\"<\/code><\/strong>: Entity ID.<\/li><li><strong><code>unit_of_measurement: \"lqi\"<\/code><\/strong>: A unit of measurement, in this case the Link Quality Indicator.<\/li><li><strong><code>state_class: \"measurement\"<\/code><\/strong>: A class of condition that specifies that it is a measurement.<\/li><\/ul><p><strong><code>rssi<\/code><\/strong>:<\/p><ul><li><strong><code>name: \"Cold water signal strength\"<\/code><\/strong>: The name of the entity that shows the signal strength.<\/li><li><strong><code>id: \"cold_water_meter_rssi\"<\/code><\/strong>: Entity ID.<\/li><li><strong><code>unit_of_measurement: \"dBm\"<\/code><\/strong>: The name of the entity that shows the signal strength.<\/li><li><strong><code>entity_category: \"diagnostic\"<\/code><\/strong>: An entity category that indicates that it is diagnostic information.<\/li><\/ul><p><strong><code>total_water_m3<\/code><\/strong>:<\/p><ul><li><strong><code>name: \"Cold water meter\"<\/code><\/strong>: Name of the entity that displays the total water consumption.<\/li><li><strong><code>id: \"cold_water_meter_m3\"<\/code><\/strong>: Entity ID.<\/li><li><strong><code>unit_of_measurement: \"m\u00b3\"<\/code><\/strong>: The unit of measurement for water consumption, cubic meters (m\u00b3).<\/li><li><strong><code>state_class: total_increasing<\/code><\/strong>: A status class that indicates that the value will increase over time.<\/li><li><strong><code>device_class: \"water\"<\/code><\/strong>: The class of the device, which indicates that it is a water meter.<\/li><li><strong><code>accuracy_decimals: 3<\/code><\/strong>: The number of decimal places to which the results will be rounded.<\/li><li><strong><code>icon: \"mdi:counter\"<\/code><\/strong>: The icon that will be displayed in the Home Assistant interface.<\/li><li><strong><code>filters: - offset: -XX.XX<\/code><\/strong>: Offset filter to correct the reading values. Replace \u201cXX.XX\u201d with the appropriate value to compensate for differences between actual consumption and readings.<\/li><\/ul><h2>Step 6 \u2013 Receiving data from the radio overlay at the water meter<\/h2><p>Now we will deal with receiving data from the radio overlay. To do this, we will configure ESPHome to communicate properly with the water meter. Here are the steps to follow:<\/p><ul><li><strong>Meter ID:<\/strong> You need to enter the <strong>Meter ID<\/strong> in the ESPHome configuration code. You can enter it in both decimal and hexadecimal (hex) format. For example, if your radio overlay has 7 digits, like 12345678, you enter it as <code>0x01234567<\/code>in place <code>meter_id<\/code>. This will enable the system to correctly recognize the water meter.<\/li><li><strong>Checking readings:<\/strong> For starters, you can set <code>log_unknown: true<\/code> in the configuration. This will make ESPHome log all unknown readings. Check the logs to see what data is being received from the overlay. If the logged data matches the expected values (that is, the ones that are consistent with reality), it means that the configuration is correct .<\/li><li><strong>Offset calibration: <\/strong>If you have a new water meter but are using an older radio overlay, you may need to adjust the offset. In this case, instead of immediately setting <code>meter_id<\/code>, first observe what the CC1101 module is receiving. Pay attention to the overlay\u2019s readings, and then adjust the offset in the sensor configuration to align the readings with actual usage.<ul><li><strong>Check Logs:<\/strong> Review the ESPHome logs to see what values are being received.<\/li><li><strong>Adjust Offset: <\/strong>Based on the readings, adjust the offset in the sensor configuration to compensate for differences.<\/li><li><strong>Update Configuration: <\/strong>Make corrections to the configuration and verify that the readings are now consistent with reality.<\/li><\/ul><\/li><\/ul><h2>Step 7 \u2013 Reverse proxy on Synology using Nginx Proxy Manager<\/h2><p>Do you use Synology and want to improve access to your Home Assistant server? Here\u2019s a quick step-by-step guide on how to set up a login using a domain name and subdomain, such as ha.xyz.com, instead of entering an IP address. You can achieve all this with Docker Compose in the Portainer.<\/p><p>\ud83d\udc49 <a href=\"https:\/\/chochol.io\/en\/hardware\/synology-free-ports-80-443-for-nginx-proxy-manager\/\" target=\"_new\">Check it out now<\/a> and get your environment ready for more improvements!<\/p><p>Thus, by using a domain name instead of an IP address, you simplify the process of logging into your Home Assistant server on Synology.<\/p><h2>Step 8 \u2013 Adding a device to Home Assistant<\/h2><ul><li>In the Home Assistant notification section, you should see that our home automation server has detected a new device,<\/li><li>Go to <strong>Settings<\/strong>, then to <strong>Integrations and Devices<\/strong>.<\/li><li>The new device will bear a blue border. <strong>We approve the new device for integration<\/strong>.<\/li><li><strong>Set the area<\/strong> where the device will be located.<\/li><li><strong>Congratulations! <\/strong>You have reached this stage, which means that you have successfully gone through the configuration process. To check the performance of your new device, you can go directly to it and, from the Home Assistant, check the parameters that are measured by the radio overlay to the water meter.<\/li><li>Depending on the set reporting time \u2013 wait a while until the radio module installed at the ESP board detects the message transmitted by the overlay at the water meter. You can preview the raw data from the log level in ESPHome.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-792817a elementor-widget elementor-widget-mdp-coder-elementor\" data-id=\"792817a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"mdp-coder-elementor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <!-- Start Coder for Elementor WordPress Plugin -->\n        <div\n            id=\"mdp-coder-792817a\"\n            class=\"mdp-coder-elementor-box\"\n            data-theme=\"mdp-theme-material-dark\"\n            data-dark-theme=\"mdp-theme-material-dark\"\n        >\n            \n                <pre class=\"language-php line-numbers\"data-previewers=\"\"><code>[XX:XX:XX][D][mbus:034]: Processing T1 A frame\n[XX:XX:XX][D][wmbus:097]: Using driver &#039;apator162&#039; for ID [0xXXXXXXXX] RSSI: -XX dBm LQI: XXX Frame: T1 A T: MESSAGE CONTENT\n[XX:XX:XX][D][wmbus:104]: Decrypted T : MESSAGE CONTENT\n[XX:XX:XX][D][sensor:094]: &#039;Cold water link quality&#039;: Sending state XX.00000 lqi with 0 decimals of accuracy\n[XX:XX:XX][D][sensor:094]: &#039;Cold water signal strength&#039;: Sending state -XX.00000 dBm with 0 decimals of accuracy\n[XX:XX:XX][D][sensor:094]: &#039;Cold water meter&#039;: Sending state XX.XXXXX m\u00b3 with 3 decimals of accuracy<\/code><\/pre>\n                    <\/div>\n                <script>\n            \"use strict\";\n\n            \/** Handler when the DOM is fully loaded. *\/\n            let callback_792817a = function() {\n\n                \/** Set theme for coder widget. *\/\n                function setTheme() {\n\n                    \/** Foreach Code Widget. *\/\n                    let coderBoxes = document.querySelectorAll( '.mdp-coder-elementor-box' );\n\n                    for ( let coderBox of coderBoxes ) {\n\n                        let lightTheme = coderBox.dataset.theme;\n                        let darkTheme = coderBox.dataset.darkTheme;\n\n                        coderBox.className = '';\n                        if ( window.matchMedia && window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {\n\n                            coderBox.className = 'mdp-coder-elementor-box ' + darkTheme;\n\n                        } else {\n\n                            coderBox.className = 'mdp-coder-elementor-box ' + lightTheme;\n\n                        }\n\n                    }\n\n                }\n                setTheme();\n\n\n                \/** Watch for changes color-scheme. *\/\n                window.matchMedia(\"(prefers-color-scheme: dark)\").addListener( function() {\n                    setTheme();\n                } );\n\n                \n                if ( typeof Prism !== 'undefined' ) {\n\n                    Prism.plugins.autoloader.languages_path = 'https:\/\/chochol.io\/wp-content\/plugins\/coder-elementor\/js\/prism\/components\/';\n                    Prism.highlightAll();\n                    Prism.fileHighlight();\n\n                }\n\n                \n            };\n\n            if (\n                document.readyState === \"complete\" ||\n                ( document.readyState !== \"loading\" && !document.documentElement.doScroll )\n            ) {\n                callback_792817a();\n            } else {\n                document.addEventListener( \"DOMContentLoaded\", callback_792817a );\n            }\n\n        <\/script>\n                <!-- End Coder for Elementor WordPress Plugin -->\n\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-432a4d9 elementor-widget elementor-widget-image\" data-id=\"432a4d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-1024x451.png\" class=\"attachment-large size-large wp-image-21405\" alt=\"Dashboard UI with tables for cold\/hot water metrics and a log showing T1 frame processing and sensor messages\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-1024x451.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-300x132.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-768x338.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-1536x677.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-06-at-17.14.09-2048x903.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a35a9cc elementor-widget elementor-widget-text-editor\" data-id=\"a35a9cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2>Signal strength: what\u2019s OK and what needs improvement<\/h2><p>When monitoring the quality of a Wireless M-Bus radio signal, signal strength, measured in decibels milliwatts (dBm), is a key indicator. Here\u2019s a look at what signal strength values are typical and when you should consider improving your signal.<\/p><p><strong>Ideal Values of Signal Strength<\/strong><\/p><ul><li><strong>-30 dBm to -50 dBm<\/strong>: This is the range of a very good signal. These values mean that communication between the radio module and the water meter is stable and without interference. In this range, readings should be precise and reliable.<\/li><\/ul><p><strong>Values that may require attention<\/strong><\/p><ul><li><p><strong>-50 dBm to -70 dBm<\/strong>: These values indicate the average signal level. In most cases, communication is possible, but may be subject to some interference. If you notice problems with data reading, it is worth checking the antenna setting.<\/p><\/li><li><p><strong>-70 dBm to -90 dBm<\/strong>: It is the low signal level that can lead to instability in communication. In this case, it is recommended to improve the signal by increasing the power of the antenna, using a better quality antenna or thinking about changing the location of the radio module.<\/p><\/li><li><p><strong>Below -90 dBm<\/strong>: Such low signal levels usually mean serious communication problems. In such situations, it may be necessary to significantly improve the signal, for example, by using a separate antenna or improving the location of the module to reduce interference.<\/p><\/li><\/ul><p><strong>Good luck!<\/strong><\/p><p>If you have additional questions about the setup, <strong>go ahead and leave a comment under this article<\/strong> or <strong>contact me directly<\/strong>. I will be happy to answer any concerns and help solve any problems. Your questions can help improve this guide for other users.<\/p><h2>Additional materials and information<\/h2><p>For further exploration and more information, I recommend checking out the links below. They are valuable sources that were used in the development of this guide.<\/p><ul><li>Getting Started with ESPHome and Home Assistant. <a href=\"https:\/\/esphome.io\/guides\/getting_started_hassio#installing-esphome-dashboard\" target=\"_blank\" rel=\"noopener\">https:\/\/esphome.io\/guides\/getting_started_hassio<\/a><\/li><li>WMBusmeters Github. <a href=\"https:\/\/github.com\/wmbusmeters\/wmbusmeters\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/wmbusmeters\/wmbusmeters<\/a><\/li><li>Telegram analysis using wmbusmeters. <a href=\"https:\/\/wmbusmeters.org\" target=\"_blank\" rel=\"noopener\">https:\/\/wmbusmeters.org<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18c8e16 elementor-grid-3 elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-card-shadow-yes elementor-posts__hover-gradient elementor-widget elementor-widget-global elementor-global-20844 elementor-widget-posts\" data-id=\"18c8e16\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;cards_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;cards_columns&quot;:&quot;3&quot;,&quot;cards_columns_tablet&quot;:&quot;2&quot;,&quot;cards_columns_mobile&quot;:&quot;1&quot;,&quot;cards_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;cards_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.cards\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-cards elementor-grid\" role=\"list\">\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-2128 post type-post status-publish format-standard has-post-thumbnail hentry category-smart-home tag-diy tag-esphome tag-home-assistant tag-home-automation tag-iot\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/smart-home\/home-assistant-esphome-to-control-a-housing-estate-gate\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2-300x169.jpg\" class=\"attachment-medium size-medium wp-image-2072\" alt=\"Blue icon showing a network chip circuit inside a home outline, overlaid on an industrial machine with cables\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2-300x169.jpg 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2-1024x576.jpg 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2-768x432.jpg 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2-1536x864.jpg 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/03\/Okladka-artykulow-Chochol.io-2.jpg 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Smart Home<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/smart-home\/home-assistant-esphome-to-control-a-housing-estate-gate\/\">\r\n\t\t\t\tHome Assistant: ESPHome to Control a Housing Estate Gate\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Learn how to integrate and remotely control a housing estate barrier or entrance gate using ESPHome and the Home Assistant.<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-1672 post type-post status-publish format-standard has-post-thumbnail hentry category-computer-networking tag-mikrotik\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/computer-networking\/how-to-configure-a-leox-gpon-ont-module-on-a-mikrotik-router\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3-300x169.png\" class=\"attachment-medium size-medium wp-image-1626\" alt=\"Network router with green and yellow Ethernet cables, server rack ports, and wireless icon overlay\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3-300x169.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3-1024x576.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3-768x432.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3-1536x864.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/01\/Okladka-artykulow-Chochol.io-3.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Computer networking<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/computer-networking\/how-to-configure-a-leox-gpon-ont-module-on-a-mikrotik-router\/\">\r\n\t\t\t\tHow to configure a Leox GPON ONT module on a Mikrotik router\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Step-by-step guide on how to configure Leox LXT-010S-H GPON ONT module on Mikrotik RB5009 router, instead of ONT module from Orange.<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-21315 post type-post status-publish format-standard has-post-thumbnail hentry category-smart-home tag-home-assistant tag-home-automation tag-iot\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/smart-home\/aqara-smart-lock-u200-review-and-overview-of-the-smart-lock-configuration\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow-300x169.png\" class=\"attachment-medium size-medium wp-image-21218\" alt=\"Wall-mounted access control keypad and RFID door handle with lock security icon overlay and data flow lines\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow-300x169.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow-1024x576.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow-768x432.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow-1536x864.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/07\/chochol.io-Okladka-artykulow.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Smart Home<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/smart-home\/aqara-smart-lock-u200-review-and-overview-of-the-smart-lock-configuration\/\">\r\n\t\t\t\tAqara Smart Lock U200: review and overview of the smart lock configuration\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Review of the Aqara U200 lock: modern design, advanced features, integration with Home Assistant and Apple HomeKit. Safety and convenience.<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-1125 post type-post status-publish format-standard has-post-thumbnail hentry category-software tag-docker tag-docker-compose tag-nginx-proxy-manager tag-portainer tag-traccar\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/software\/traccar-docker-installation-guide-on-synology\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"157\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology-300x157.png\" class=\"attachment-medium size-medium wp-image-990\" alt=\"Synology map interface with network transfer arrow, file icon, and sound cone symbol on a blurred phone screen\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology-300x157.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology-1024x535.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology-768x401.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology-1536x802.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2023\/12\/Traccar-Docker-na-Synology.png 1651w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Software<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/software\/traccar-docker-installation-guide-on-synology\/\">\r\n\t\t\t\tTraccar: Docker installation guide on Synology\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Step-by-step guide: Installing Traccar on Synology using Docker. Effective vehicle tracking on your own server.<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-1845 post type-post status-publish format-standard has-post-thumbnail hentry category-software tag-authentik tag-digital-archiving tag-docker tag-docker-compose tag-paperless-ngx tag-portainer tag-synology\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/software\/authentik-single-sign-on-configuration-for-paperless-ngx\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1-300x169.png\" class=\"attachment-medium size-medium wp-image-1822\" alt=\"Red database icon with warning symbol over blurred admin dashboard UI for backups and settings\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1-300x169.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1-1024x576.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1-768x432.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1-1536x864.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-1.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Software<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/software\/authentik-single-sign-on-configuration-for-paperless-ngx\/\">\r\n\t\t\t\tAuthentik: Single Sign-On Configuration for Paperless-ngx\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Configure Single Sign-On in Authentik to Paperless-ngx with OpenID Connect to simplify login. Find out how!<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-2028 post type-post status-publish format-standard has-post-thumbnail hentry category-hardware tag-docker tag-docker-compose tag-synology\" role=\"listitem\">\r\n\t\t\t<div class=\"elementor-post__card\">\r\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/chochol.io\/en\/hardware\/tvheadend-satip-decoder-installation-and-configuration\/\" tabindex=\"-1\" target=\"_blank\"><div class=\"elementor-post__thumbnail\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"169\" src=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3-300x169.png\" class=\"attachment-medium size-medium wp-image-1924\" alt=\"Server rack interior with cable connectors; blue up\/down arrows and orange diamond overlay in the center\" srcset=\"https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3-300x169.png 300w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3-1024x576.png 1024w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3-768x432.png 768w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3-1536x864.png 1536w, https:\/\/chochol.io\/wp-content\/uploads\/2024\/02\/Okladka-artykulow-Chochol.io_-3.png 1920w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/div><\/a>\r\n\t\t\t\t<div class=\"elementor-post__badge\">Hardware<\/div>\r\n\t\t\t\t<div class=\"elementor-post__text\">\r\n\t\t\t\t<span class=\"elementor-post__title\">\r\n\t\t\t<a href=\"https:\/\/chochol.io\/en\/hardware\/tvheadend-satip-decoder-installation-and-configuration\/\">\r\n\t\t\t\tTVHeadend: SAT>IP decoder installation and configuration\t\t\t<\/a>\r\n\t\t<\/span>\r\n\t\t\t\t<div class=\"elementor-post__excerpt\">\r\n\t\t\t<p>Telestar Digibit Twin: Discover the step-by-step configuration of a SAT>IP decoder with TVHeadend in Docker Compose in today\u2019s blog post.<\/p>\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/article>\r\n\t\t\t\t<\/div>\r\n\t\t\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Remote reading of Apator water meter in Home Assistant using ESPHome and wmbusmeters add-on. Simple installation and configuration. <\/p>\n","protected":false},"author":1,"featured_media":21410,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[86],"tags":[136,138,139,135,141],"class_list":["post-21419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-smart-home","tag-diy","tag-esphome","tag-home-assistant","tag-home-automation","tag-iot"],"_links":{"self":[{"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/posts\/21419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/comments?post=21419"}],"version-history":[{"count":0,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/posts\/21419\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/media\/21410"}],"wp:attachment":[{"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/media?parent=21419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/categories?post=21419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chochol.io\/en\/wp-json\/wp\/v2\/tags?post=21419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}