{"id":1133,"date":"2026-10-14T20:46:31","date_gmt":"2026-10-14T19:46:31","guid":{"rendered":"https:\/\/ketandesai.co.uk\/?p=1133"},"modified":"2026-10-14T20:46:33","modified_gmt":"2026-10-14T19:46:33","slug":"reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant","status":"publish","type":"post","link":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/","title":{"rendered":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>How I decoded an old Efergy transmitter, built a local radio receiver and brought its readings into ESPHome.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My Efergy energy monitor had become disconnected from the online service I used to read it. The CT clamp and battery-powered transmitter were still there, but the useful connection to my home setup had disappeared.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before replacing the hardware, I wanted to find out whether the transmitter was still sending readings over the air. If it was, perhaps I could receive them myself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That turned into a project involving a Flipper Zero, a CC1101 radio, a NodeMCU ESP8266 and an ESPHome external component. It now delivers readings locally to Home Assistant.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/2622c6d3-e4d2-48d9-b322-cb3093aac08a-768x1024-1.png\" alt=\"\" class=\"wp-image-1134\" style=\"aspect-ratio:0.7500086168269396;width:235px;height:auto\" srcset=\"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/2622c6d3-e4d2-48d9-b322-cb3093aac08a-768x1024-1.png 768w, https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/2622c6d3-e4d2-48d9-b322-cb3093aac08a-225x300.png 225w, https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/2622c6d3-e4d2-48d9-b322-cb3093aac08a.png 1086w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The hardware was still talking<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first distinction is between the clamp and the transmitter. The clamp senses current; the separate battery box measures it and sends the wireless messages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My transmitter has <strong>6s \/ 12s \/ 18s<\/strong> printed on the front. That was a useful clue when looking for an existing decoder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Efergy lists <strong>433.5 MHz<\/strong> for its Elite\/E2\/Engage-compatible transmitter family. The <code>rtl_433<\/code> E2 Classic decoder documents reception around <strong>433.55 MHz<\/strong>, using FSK modulation and pulse-width encoded data. These provided a starting point, rather than a guarantee that every Efergy variant behaves identically. <a href=\"https:\/\/uk.efergy.com\/efergy-transmitter\/\">Efergy specifications<\/a>, <a href=\"https:\/\/github.com\/merbanan\/rtl_433\/blob\/master\/src\/devices\/efergy_e2_classic.c\">rtl_433 decoder<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The arrangement I ended up building is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Efergy CT clamp\n      \u2502\nEfergy battery transmitter\n      \u2502  433 MHz radio\nCC1101 + NodeMCU ESP8266\n      \u2502  Wi-Fi \/ ESPHome native API\nHome Assistant<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Proving the signal could be decoded<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I used a Flipper Zero to record Sub-GHz RAW captures before building the receiver.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Frequency and modulation both mattered. An OOK\/AM capture did not give me usable Efergy packets. The standard FSK presets also failed to produce a reliable decode in my tests.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The breakthrough came with a custom CC1101 preset adapted from the <a href=\"https:\/\/github.com\/91JJ\/Efergy-CT-Clamp-Capture-for-ESP-Home\">91JJ Efergy ESPHome project<\/a>. That project targets ESP32; I used its radio configuration as a reference for my ESP8266 implementation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The useful receiver settings included a roughly <strong>17.3 kbaud modem setting<\/strong>, <strong>270.8 kHz receive bandwidth<\/strong> and <strong>41.3 kHz deviation<\/strong>, with the Flipper tuned to <strong>433.550 MHz<\/strong>. The modem setting is a receiver configuration parameter, not a measurement of the transmitter&#8217;s actual data rate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The successful capture produced <strong>12 distinct checksum-valid packet occurrences<\/strong>. It contained two repeating transmitter IDs: one with a non-zero current reading and another reporting zero. That was a reminder to identify and filter the intended transmitter, rather than accept every nearby reading.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One decoded packet was:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>08 4F B8 40 6A DB 02 96<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Using the E2 Classic interpretation, it gave transmitter ID <strong>47183<\/strong>, or <strong>0xB84F<\/strong>, and a current reading of about <strong>3.339 A<\/strong>. The checksum passed. A plausible number alone would not have been enough evidence; repeated valid packets made the result convincing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Flipper was a diagnostic tool for this project. It does not need to remain connected once the ESP receiver is running.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Choosing a board<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I had an ESP32-H2 available, but it has no built-in Wi-Fi. I also had a NodeMCU ESP8266, which suited the first Wi-Fi receiver test. An ESP32 is on order, but the working setup described here uses the ESP8266.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The parts are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The existing Efergy clamp and battery transmitter.<\/li>\n\n\n\n<li>A NodeMCU ESP8266 development board.<\/li>\n\n\n\n<li>A <strong>433 MHz CC1101 module<\/strong>, with an appropriate antenna.<\/li>\n\n\n\n<li>Jumper wires and USB power.<\/li>\n\n\n\n<li>Home Assistant with ESPHome Device Builder.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A basic OOK-only 433 MHz receiver is not a substitute for the CC1101 in this build: the decoded Efergy protocol uses FSK.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wiring the CC1101<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These are the connections used by the supplied NodeMCU component. Follow the signal labels on your CC1101 module, because its physical pin arrangement may differ from another module&#8217;s.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>CC1101 connection<\/th><th>NodeMCU label<\/th><th>ESP8266 GPIO<\/th><\/tr><\/thead><tbody><tr><td>VCC<\/td><td>3V3<\/td><td>\u2014<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><td>\u2014<\/td><\/tr><tr><td>SCK<\/td><td>D5<\/td><td>14<\/td><\/tr><tr><td>MISO \/ SO<\/td><td>D6<\/td><td>12<\/td><\/tr><tr><td>MOSI \/ SI<\/td><td>D7<\/td><td>13<\/td><\/tr><tr><td>CSN \/ CS<\/td><td>D0<\/td><td>16<\/td><\/tr><tr><td>GDO0<\/td><td>D2<\/td><td>4<\/td><\/tr><tr><td>GDO2<\/td><td>D1<\/td><td>5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The radio is powered from <strong>3.3 V<\/strong>. I connected its antenna and kept the jumper wires short.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GDO0 supplies the demodulated data. GDO2 is configured for carrier detection, although the final decoder processes the data continuously rather than gating capture on the carrier signal. GPIO16 is used for chip select; it is not used for an interrupt input.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The frequency mistake that held things up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SPI communication worked straight away: the radio returned its part and version registers. Getting valid packets took more investigation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first sketch divided reception into bursts using carrier detection. It overflowed some capture buffers and produced no valid readings. Switching to continuous pulse capture eliminated those overflows, but the decoder still failed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then I found a more concrete mistake: the startup message said <strong>433.550 MHz<\/strong>, while the inherited frequency registers actually selected approximately <strong>433.450 MHz<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For a CC1101 with a 26 MHz crystal, the frequency word is calculated as:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>frequency word = round(frequency in Hz \u00d7 65536 \/ 26000000)\n\n433550000 Hz \u2192 0x10ACCD<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That means the three frequency registers are:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FREQ2 = 0x10\nFREQ1 = 0xAC\nFREQ0 = 0xCD<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Correcting the registers produced live, repeating readings. The radio configuration needed to match the intended frequency, not merely the text printed in the log. The crystal assumption also needs to match the physical module. <a href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/cc1101.pdf\">CC1101 datasheet<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Seeing live readings on the ESP8266<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before introducing ESPHome, I tested with an Arduino sketch and USB serial output. Wi-Fi was disabled during this stage so I could check the radio and decoder first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The working output looked like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ID=47183 (0xB84F) current=2.800 A battery=OK interval=6 s checksum=OK seen=5\nRAW: 08 4F B8 40 59 99 02 43\n\nID=47183 (0xB84F) current=2.710 A battery=OK interval=6 s checksum=OK seen=6\nRAW: 08 4F B8 40 56 B7 02 5E<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The diagnostic counters also showed <strong>zero dropped edges<\/strong> and complete <strong>64-bit matching pulse runs<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The receiver timestamps completed high and low periods into a ring buffer. The main loop reconstructs packets, validates the checksum and extracts the current, ID and status fields. Keeping decoding and logging out of the interrupt handler was important for this implementation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Moving the working receiver into ESPHome<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The next step was to package the receiver as a local ESPHome external component. It uses the same decoder and corrected frequency settings, with a filter for my selected transmitter ID.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"\/wp-content\/uploads\/2026\/10\/efergy-esphome-public.zip\">project download accompanying this post<\/a> contains the component, a complete NodeMCU YAML configuration and an example secrets file. The example contains placeholders; readers must supply their own credentials and API key.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On my Home Assistant setup, the relevant files live under the ESPHome configuration directory:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/config\/esphome\/\n\u251c\u2500\u2500 efergy-receiver.yaml\n\u251c\u2500\u2500 secrets.yaml\n\u2514\u2500\u2500 components\/\n    \u2514\u2500\u2500 efergy_receiver\/\n        \u251c\u2500\u2500 __init__.py\n        \u251c\u2500\u2500 efergy_receiver.h\n        \u251c\u2500\u2500 efergy_receiver.cpp\n        \u2514\u2500\u2500 EfergyDecoder.h<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The local component is loaded with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>external_components:\n  - source:\n      type: local\n      path: components\n    components: &#91;efergy_receiver]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The receiver configuration includes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>efergy_receiver:\n  transmitter_id: 47183\n  mains_voltage: 230.0\n  current:\n    name: Current\n  apparent_power:\n    name: Apparent Power\n  battery_low:\n    name: Transmitter Battery Low\n  receiving:\n    name: Receiving Transmitter\n  packets:\n    name: Valid Packets\n  dropped_edges:\n    name: Dropped Edges<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>47183 is the ID selected for my setup.<\/strong> Readers should use the ID belonging to their own transmitter. The packaged component has fixed pin assignments matching the wiring table above and currently targets NodeMCU ESP8266.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ESPHome supports loading external components from a local folder, so this component does not require a hosted Git repository. <a href=\"https:\/\/esphome.io\/components\/external_components\/\">External components documentation<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I merged the device&#8217;s API and OTA credentials into my existing secrets file, validated the configuration and installed the first ESPHome firmware over USB. Subsequent updates can use ESPHome OTA.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Connecting it to Home Assistant<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The device connects over Wi-Fi using ESPHome&#8217;s native API. No MQTT broker is involved in this setup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After flashing, I checked that it was online in Device Builder and inspected the logs. Home Assistant can discover the device, but manual integration is also possible:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>Settings \u2192 Devices &amp; services \u2192 Add integration<\/strong>.<\/li>\n\n\n\n<li>Select <strong>ESPHome<\/strong>.<\/li>\n\n\n\n<li>Enter the receiver&#8217;s IP address, using port <strong>6053<\/strong>.<\/li>\n\n\n\n<li>Supply the API encryption key if requested.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The resulting entities include current, apparent power, battery-low status, reception status and diagnostic counters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the selected transmitter has not supplied a valid packet for <strong>45 seconds<\/strong>, the component marks the current and apparent-power readings unknown and turns off the reception indicator. It does not leave an old consumption reading looking current.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Amps, VA and watts are different measurements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The recovered current reading is useful, but it does not make this a true-power meter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The component&#8217;s apparent-power sensor multiplies current by an assumed voltage:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2.800 A \u00d7 230 V = 644 VA<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That is <strong>apparent power in VA<\/strong>, based on an assumed mains voltage. It is not a measurement of real watts. This setup does not measure voltage or power factor, so I have not exposed its readings as measured watts or kWh for the Home Assistant Energy dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this project, bringing the current readings into a local dashboard was already a useful result.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A few troubleshooting lessons<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>An upload error is not necessarily a compile error.<\/strong> My Arduino sketch compiled, but an occupied COM port stopped the upload. Closing serial tools and reconnecting USB resolved the next step.<\/li>\n\n\n\n<li><strong>SPI success does not prove packet reception.<\/strong> Reading the CC1101&#8217;s registers confirmed communication, but valid checksums were the meaningful radio test.<\/li>\n\n\n\n<li><strong>Check actual register values.<\/strong> A convincing frequency label in a log can still be wrong.<\/li>\n\n\n\n<li><strong>Keep Arduino macros unqualified.<\/strong> The ESPHome port initially used <code>::noInterrupts()<\/code> and <code>::interrupts()<\/code>. Removing <code>::<\/code> fixed that compiler error on ESP8266.<\/li>\n\n\n\n<li><strong>Check Wi-Fi before discovery.<\/strong> If Home Assistant does not discover the device, first check that ESPHome shows it online, then add it by IP if needed.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">A working local connection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Efergy clamp and transmitter now have a useful connection again. The new receiver listens to the existing radio messages and sends the decoded readings directly into Home Assistant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This was possible because of the groundwork in <code>rtl_433<\/code> and the 91JJ Efergy project. The work here was adapting those references to an ESP8266, verifying the signal, correcting the tuning and integrating the successful decoder with ESPHome.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My next hardware experiment will be moving the receiver to the ESP32 I have ordered. For now, the NodeMCU is already doing the job.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Project Files:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/efergy-esphome-public.zip\">ESPhome files<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy8266-v3.zip\">Arduino IDE sketch <\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How I decoded an old Efergy transmitter, built a local radio receiver and brought its readings into ESPHome. My Efergy energy monitor had become disconnected from the online service I used to read it. The CT clamp and battery-powered transmitter were still there, but the useful connection to my home setup had disappeared. Before replacing [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1136,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[47,112,42,113],"tags":[170,163,168,169],"class_list":["post-1133","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-microcontroller","category-monitoring","category-nodemcu-esp8266","tag-cc1101","tag-efergy","tag-esp8266","tag-esphome"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai\" \/>\n<meta property=\"og:description\" content=\"How I decoded an old Efergy transmitter, built a local radio receiver and brought its readings into ESPHome. My Efergy energy monitor had become disconnected from the online service I used to read it. The CT clamp and battery-powered transmitter were still there, but the useful connection to my home setup had disappeared. Before replacing [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/\" \/>\n<meta property=\"og:site_name\" content=\"Ketan Desai\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T19:46:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-14T19:46:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1448\" \/>\n\t<meta property=\"og:image:height\" content=\"958\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ketan Desai\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ketan Desai\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/\"},\"author\":{\"name\":\"Ketan Desai\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#\\\/schema\\\/person\\\/76fbe7aaa79643c166c5c2475fc01424\"},\"headline\":\"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant\",\"datePublished\":\"2026-10-14T19:46:31+00:00\",\"dateModified\":\"2026-10-14T19:46:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/\"},\"wordCount\":1508,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#\\\/schema\\\/person\\\/76fbe7aaa79643c166c5c2475fc01424\"},\"image\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ketandesai.co.uk\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Efergy-Clamp-e1792006579878.png\",\"keywords\":[\"CC1101\",\"Efergy\",\"ESP8266\",\"ESPHome\"],\"articleSection\":[\"Arduino\",\"Microcontroller\",\"Monitoring\",\"NodeMCU (ESP8266)\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/\",\"url\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/\",\"name\":\"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ketandesai.co.uk\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Efergy-Clamp-e1792006579878.png\",\"datePublished\":\"2026-10-14T19:46:31+00:00\",\"dateModified\":\"2026-10-14T19:46:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ketandesai.co.uk\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Efergy-Clamp-e1792006579878.png\",\"contentUrl\":\"https:\\\/\\\/ketandesai.co.uk\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Efergy-Clamp-e1792006579878.png\",\"width\":1448,\"height\":958},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/2026\\\/10\\\/14\\\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ketandesai.co.uk\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#website\",\"url\":\"https:\\\/\\\/ketandesai.co.uk\\\/\",\"name\":\"Ketan Desai\",\"description\":\"Anything IT\",\"publisher\":{\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#\\\/schema\\\/person\\\/76fbe7aaa79643c166c5c2475fc01424\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ketandesai.co.uk\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ketandesai.co.uk\\\/#\\\/schema\\\/person\\\/76fbe7aaa79643c166c5c2475fc01424\",\"name\":\"Ketan Desai\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g\",\"caption\":\"Ketan Desai\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/staging.ketandesai.co.uk\"],\"url\":\"https:\\\/\\\/ketandesai.co.uk\\\/index.php\\\/author\\\/ketandesaiadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/","og_locale":"en_GB","og_type":"article","og_title":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai","og_description":"How I decoded an old Efergy transmitter, built a local radio receiver and brought its readings into ESPHome. My Efergy energy monitor had become disconnected from the online service I used to read it. The CT clamp and battery-powered transmitter were still there, but the useful connection to my home setup had disappeared. Before replacing [&hellip;]","og_url":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/","og_site_name":"Ketan Desai","article_published_time":"2026-10-14T19:46:31+00:00","article_modified_time":"2026-10-14T19:46:33+00:00","og_image":[{"width":1448,"height":958,"url":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","type":"image\/png"}],"author":"Ketan Desai","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ketan Desai","Estimated reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#article","isPartOf":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/"},"author":{"name":"Ketan Desai","@id":"https:\/\/ketandesai.co.uk\/#\/schema\/person\/76fbe7aaa79643c166c5c2475fc01424"},"headline":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant","datePublished":"2026-10-14T19:46:31+00:00","dateModified":"2026-10-14T19:46:33+00:00","mainEntityOfPage":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/"},"wordCount":1508,"commentCount":0,"publisher":{"@id":"https:\/\/ketandesai.co.uk\/#\/schema\/person\/76fbe7aaa79643c166c5c2475fc01424"},"image":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#primaryimage"},"thumbnailUrl":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","keywords":["CC1101","Efergy","ESP8266","ESPHome"],"articleSection":["Arduino","Microcontroller","Monitoring","NodeMCU (ESP8266)"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/","url":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/","name":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant - Ketan Desai","isPartOf":{"@id":"https:\/\/ketandesai.co.uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#primaryimage"},"image":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#primaryimage"},"thumbnailUrl":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","datePublished":"2026-10-14T19:46:31+00:00","dateModified":"2026-10-14T19:46:33+00:00","breadcrumb":{"@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#primaryimage","url":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","contentUrl":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","width":1448,"height":958},{"@type":"BreadcrumbList","@id":"https:\/\/ketandesai.co.uk\/index.php\/2026\/10\/14\/reviving-an-efergy-energy-monitor-with-an-esp8266-and-home-assistant\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ketandesai.co.uk\/"},{"@type":"ListItem","position":2,"name":"Reviving an Efergy Energy Monitor with an ESP8266 and Home Assistant"}]},{"@type":"WebSite","@id":"https:\/\/ketandesai.co.uk\/#website","url":"https:\/\/ketandesai.co.uk\/","name":"Ketan Desai","description":"Anything IT","publisher":{"@id":"https:\/\/ketandesai.co.uk\/#\/schema\/person\/76fbe7aaa79643c166c5c2475fc01424"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ketandesai.co.uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/ketandesai.co.uk\/#\/schema\/person\/76fbe7aaa79643c166c5c2475fc01424","name":"Ketan Desai","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g","caption":"Ketan Desai"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/6587572e3884edb2f25ce127069b15f15da32278153bc9b4d2568156fcb6ec41?s=96&d=mm&r=g"},"sameAs":["http:\/\/staging.ketandesai.co.uk"],"url":"https:\/\/ketandesai.co.uk\/index.php\/author\/ketandesaiadmin\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ketandesai.co.uk\/wp-content\/uploads\/2026\/10\/Efergy-Clamp-e1792006579878.png","_links":{"self":[{"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=1133"}],"version-history":[{"count":5,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1133\/revisions"}],"predecessor-version":[{"id":1142,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/1133\/revisions\/1142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/media\/1136"}],"wp:attachment":[{"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=1133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=1133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ketandesai.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=1133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}