{"id":462,"date":"2026-09-12T10:20:00","date_gmt":"2026-09-12T08:20:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/?p=462"},"modified":"2026-09-10T10:51:17","modified_gmt":"2026-09-10T08:51:17","slug":"automating-solar-energy-in-home-assistant-dynamic-surplus-charging","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/","title":{"rendered":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Maximizing the self-consumption rate of a residential photovoltaic (PV) installation requires real-time synchronization between solar power generation, household base loads, and high-capacity electrical consumers. When excess solar energy is fed back into the public grid at low feed-in tariffs, financial efficiency drops significantly. Implementing a dynamic surplus charging architecture within Home Assistant\u2014leveraging Modbus or MQTT telemetry from hybrid inverters, smart energy meters, and battery storage units\u2014allows high-demand consumers (such as battery banks, EV chargers, and heat pump boilers) to modulate their power draw dynamically based on real-time solar surplus.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">1. Architectural Principles of Real-Time Surplus Calculation<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Dynamic surplus management relies on calculating the net available power at the grid interconnection point before triggering or modulating load devices. The system architecture is built on three foundational metrics:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>Grid Export Power (<code>sensor.grid_export_power<\/code>):<\/strong> Real-time wattage measured by a bidirectional smart meter at the main electrical intake. A positive export value indicates surplus solar energy leaving the household.<\/li>\r\n<li><strong>Dynamic Surplus Thresholds:<\/strong> High-demand appliances must only activate when export power exceeds a defined hysteresis threshold (e.g., &gt; 1,500 W for at least 300 seconds) to prevent short-cycling caused by passing clouds.<\/li>\r\n<li><strong>Priority-Based Load Modulation:<\/strong> Available surplus must be allocated hierarchically: first to home battery storage (via hybrid inverter charging limits), second to variable-rate EV charging, and third to thermal storage or resistive heating elements.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"lw-diagram\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/home-assistant-solar-surplus-curve-en.png\" width=\"1120\" height=\"600\" alt=\"Day curve of solar production against base load with the shaded surplus window, threshold, moving average and the priority order of the loads\">\n<figcaption>Only the shaded window is genuinely surplus: production above base load, smoothed by a moving average and above the threshold. Within it the loads start in a fixed order.<\/figcaption>\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">2. Step-by-Step Template Sensor Configuration<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">To provide a clean, noise-filtered signal for Home Assistant automations, a dedicated template sensor must be configured within <code>configuration.yaml<\/code> to calculate the exact net surplus wattage:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Define the Template Sensor:<\/strong> Create a modern template sensor entity named <code>sensor.solar_surplus_power<\/code> that evaluates grid export power and sets negative values (grid import) strictly to zero.<\/li>\r\n<li><strong>Apply Hysteresis Smoothing:<\/strong> Implement a low-pass filter or moving average using the Home Assistant Filter integration to eliminate rapid wattage spikes caused by momentary appliance activation.<\/li>\r\n<li><strong>Verify Unit Consistency:<\/strong> Ensure all power metrics are standardized to Watts (W) and include explicit <code>device_class: power<\/code> and <code>state_class: measurement<\/code> definitions for Riemann sum integration compatibility.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Production-Ready YAML Template Sensor<\/h3>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-yaml\">template:\n  - sensor:\n      - name: \"Solar Surplus Power\"\n        unique_id: \"solar_surplus_power_dynamic\"\n        unit_of_measurement: \"W\"\n        device_class: \"power\"\n        state_class: \"measurement\"\n        state: &gt;\n          {% set export_power = states('sensor.grid_meter_export_power') | float(0) %}\n          {% set import_power = states('sensor.grid_meter_import_power') | float(0) %}\n          {% if export_power &gt; import_power %}\n            {{ (export_power - import_power) | round(0) }}\n          {% else %}\n            0\n          {% endif %}\n        availability: &gt;\n          {{ has_value('sensor.grid_meter_export_power') and has_value('sensor.grid_meter_import_power') }}<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">3. Step-by-Step Automation for Dynamic Battery &amp; Appliance Stepping<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">With a reliable surplus sensor operational, an automation must be deployed to modulate charging current or trigger smart switches without causing grid oscillation:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><strong>Trigger Definition:<\/strong> Configure a Numeric State trigger observing <code>sensor.solar_surplus_power<\/code> exceeding 1,500 W for a continuous duration of 5 minutes.<\/li>\r\n<li><strong>Condition Evaluation:<\/strong> Add conditions requiring household battery State of Charge (SoC) to be below 95% and the EV charger to be plugged in.<\/li>\r\n<li><strong>Action Execution (Dynamic Amp Tuning):<\/strong> Execute a service call to adjust battery charging power or increment EV charging current (e.g., from 6A up to 16A per phase) dynamically matching the available surplus delta.<\/li>\r\n<li><strong>Graceful Deactivation:<\/strong> Build a secondary shut-off automation that ramps down or pauses charging when grid import exceeds 300 W for more than 120 seconds.<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Production-Ready Automation YAML (Surplus Activation)<\/h3>\r\n\r\n\r\n\r\n<pre class=\"wp-block-code\"><code class=\"language-yaml\">alias: \"Solar Surplus: Dynamic Load Engagement\"\ndescription: \"Engages surplus charging when export power is stable above threshold.\"\ntrigger:\n  - platform: numeric_state\n    entity_id: sensor.solar_surplus_power\n    above: 1500\n    for:\n      minutes: 5\ncondition:\n  - condition: numeric_state\n    entity_id: sensor.battery_state_of_charge\n    below: 95\naction:\n  - service: number.set_value\n    target:\n      entity_id: number.inverter_max_charge_current\n    data:\n      value: &gt;\n        {% set surplus = states('sensor.solar_surplus_power') | float(0) %}\n        {% set voltage = 50.0 %}\n        {{ [ ((surplus * 0.9) \/ voltage) | round(0), 40 ] | min }}\nmode: single<\/code><\/pre>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">4. Summary &amp; Architectural Value<\/h2>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>What this tutorial achieves:<\/strong> The deployment of a deterministic, hysteresis-protected solar surplus management system in Home Assistant using custom template sensors and automated power modulation scripts.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Resulting value:<\/strong> Photovoltaic self-consumption rates are maximized, frequently exceeding 80% to 90%. Dependency on grid power imports during peak evening tariff periods is drastically minimized by prioritizing home battery charging and heavy household appliances during peak midday irradiance. Furthermore, hysteresis timers prevent mechanical relay wear and electrical grid oscillation caused by fluctuating cloud cover.<\/p>\r\n\n\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.home-assistant.io\/docs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Home Assistant documentation<\/a><\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>A technical step-by-step tutorial on implementing dynamic solar surplus charging and load modulation in Home Assistant for batteries and high-demand appliances.<\/p>\n","protected":false},"author":1,"featured_media":14022,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92624],"tags":[91371,91365,91362,91626,91359,91219],"class_list":["post-462","post","type-post","status-publish","format-standard","hentry","category-tutorials-en-smart-home","tag-energy-management","tag-home-assistant","tag-photovoltaics","tag-smart-home-de","tag-solar-energy","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog<\/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:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"A technical step-by-step tutorial on implementing dynamic solar surplus charging and load modulation in Home Assistant for batteries and high-demand appliances.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-12T08:20:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging\",\"datePublished\":\"2026-09-12T08:20:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/\"},\"wordCount\":578,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-462-automating-solar-energy-home-assista-g.png\",\"keywords\":[\"Energy Management\",\"Home Assistant\",\"Photovoltaics\",\"Smart Home\",\"Solar Energy\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/\",\"name\":\"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-462-automating-solar-energy-home-assista-g.png\",\"datePublished\":\"2026-09-12T08:20:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-462-automating-solar-energy-home-assista-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-462-automating-solar-energy-home-assista-g.png\",\"width\":1200,\"height\":630,\"caption\":\"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/tutorials-en-smart-home\\\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog","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:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/","og_locale":"en_US","og_type":"article","og_title":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog","og_description":"A technical step-by-step tutorial on implementing dynamic solar surplus charging and load modulation in Home Assistant for batteries and high-demand appliances.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-12T08:20:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging","datePublished":"2026-09-12T08:20:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/"},"wordCount":578,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png","keywords":["Energy Management","Home Assistant","Photovoltaics","Smart Home","Solar Energy","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/","name":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png","datePublished":"2026-09-12T08:20:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-462-automating-solar-energy-home-assista-g.png","width":1200,"height":630,"caption":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/tutorials-en-smart-home\/automating-solar-energy-in-home-assistant-dynamic-surplus-charging\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automating Solar Energy in Home Assistant: Dynamic Surplus Charging"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=462"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/462\/revisions"}],"predecessor-version":[{"id":17928,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/462\/revisions\/17928"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/14022"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}