{"id":10368,"date":"2026-09-08T07:20:00","date_gmt":"2026-09-08T05:20:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10368"},"modified":"2026-10-09T23:20:01","modified_gmt":"2026-10-09T21:20:01","slug":"pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/","title":{"rendered":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads"},"content":{"rendered":"<p>Surplus control starts as one line: if the surplus exceeds two thousand watts, switch on the heating element. It is correct, it is obvious, and it produces a relay that clicks every ten seconds until something gives out.<\/p>\n\n<p>The reason is in the sentence itself. The load consumes exactly the surplus that permitted it, so the condition that switched it on is false one measurement later. Everything below is about the fact that a control loop cannot use the same number as its trigger and its consequence without saying how far apart the two are allowed to be.<\/p>\n\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/schaltschwellen-en.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Two panels over ninety minutes: with one threshold the measured surplus oscillates as a square wave and the relay switches thirty-seven times; with two thresholds and delays it switches twice\">\n<figcaption>The grey dashed line is the surplus without the load and is identical in both panels. Only the rule differs.<\/figcaption>\n<\/figure>\n\n<h2>The Feedback Nobody Plans For<\/h2>\n<p>A two-kilowatt element switched on at a surplus of 2200 W leaves 200 W. The automation reads 200 W, finds it below the threshold, and switches off. The surplus returns to 2200 W, the condition is true again, and the cycle repeats for as long as the sun holds. Nothing is broken; switching the element on changes the very surplus that the rule checks.<\/p>\n<p>The count is what makes it expensive. A contactor rated for 100 000 mechanical operations sounds generous until the loop produces one every few seconds. At the rate in the upper panel it is used up in about two months, and the failure mode of a welded contactor is a load that stays on all night.<\/p>\n\n<h2>Two Thresholds Instead of One<\/h2>\n<p>Hysteresis separates the switch-on point from the switch-off point far enough that the load&#8217;s own consumption fits between them. The on threshold is the load plus a reserve; the off threshold is not the same number but a small amount of import, which is the only honest sign that the surplus has actually run out.<\/p>\n\n\n<figure style=\"--cbb-digits:1\" class=\"cbb cbb--wrap cbb--numbers wp-block-code-beautifier-block-code\" data-lang=\"plain\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Text<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-plain\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\">on    surplus \u2265 load + reserve     held for \u2265 3 min\n<\/span><span class=\"cbb-line\">off   import  \u2265 200 W             held for \u2265 5 min\n<\/span><span class=\"cbb-line\">      and runtime \u2265 15 min\n<\/span><span class=\"cbb-line\">\n<\/span><span class=\"cbb-line\">2000 W element, reserve 200 W\n<\/span><span class=\"cbb-line\">  on at a surplus of 2200 W\n<\/span><span class=\"cbb-line\">  after switching on: 2200 \u2212 2000 = 200 W surplus  \u2192 no reason to switch off\n<\/span><span class=\"cbb-line\">  without hysteresis: 200 W &lt; 2200 W                \u2192 off again immediately<\/span><\/code><\/pre><\/figure>\n\n\n<p>The gap between the two thresholds has to be at least the rated power of the load. Anything narrower and the load&#8217;s own draw crosses back over the off point, which is the same oscillation with more arithmetic in front of it.<\/p>\n\n<h2>Three Timers, Three Different Jobs<\/h2>\n<table style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr><th style=\"vertical-align:top\">Parameter<\/th><th style=\"white-space:nowrap;vertical-align:top\">Working value<\/th><th>What it prevents<\/th><\/tr>\n<\/thead>\n<tbody>\n<tr><td style=\"vertical-align:top\">On threshold<\/td><td>load + 200 W<\/td><td>a load that draws more than is available<\/td><\/tr>\n<tr><td style=\"vertical-align:top\">Off threshold<\/td><td>200 W of import<\/td><td>switching off on every passing shadow<\/td><\/tr>\n<tr><td style=\"vertical-align:top\">On delay<\/td><td>3 min<\/td><td>reacting to a gap between two clouds<\/td><\/tr>\n<tr><td style=\"vertical-align:top\">Off delay<\/td><td>5 min<\/td><td>switching off during a cloud that is about to pass<\/td><\/tr>\n<tr><td style=\"vertical-align:top\">Minimum runtime<\/td><td>15 min<\/td><td>short cycles on a heat pump or compressor<\/td><\/tr>\n<tr><td style=\"vertical-align:top\">Minimum pause<\/td><td>10 min<\/td><td>an immediate restart after switching off<\/td><\/tr>\n<\/tbody>\n<\/table>\n<p>The two delays are not symmetric on purpose. Switching on late costs a few minutes of export at the feed-in tariff; switching off late costs a few minutes of import at the retail price, which is three to four times as much. So the off delay is the one to keep short if either has to give.<\/p>\n<p>Minimum runtime is the parameter that gets left out and the one that matters most for anything with a compressor. A heat pump or a fridge-like load pays for a start with wear and with a burst of inrush current, and hysteresis alone does not stop a rule from starting it four times an hour on a broken-cloud afternoon.<\/p>\n\n<h2>Which Number Is Actually Being Measured<\/h2>\n<p>Surplus is a property of the grid connection, not of the roof. The number to read is the meter at the house connection, signed: negative for export, positive for import, or two separate sensors that never both show a value at once. Anything derived from inverter production alone is blind to the household consumption underneath it and will switch a load on into a running dishwasher.<\/p>\n<p>Two details decide how well that reading behaves. Smart meter interfaces report at their own pace &#8211; between two seconds and thirty &#8211; and a rule that samples faster than the meter reports is comparing a fresh value with a stale one. And short averaging is worth more than precision here: a five-second mean of the grid power is a far better trigger than an instantaneous reading that is mostly kettle.<\/p>\n\n<h2>What a Battery Puts In the Middle<\/h2>\n<p>With a battery in the house, the surplus at the meter is what is left after charging, which means the battery and the switched load are competing for the same watts and the winner is whoever the rules let go first. Give the battery priority and the element never runs; give the element priority and the battery never fills before evening.<\/p>\n<p>The arrangement that survives a winter is a state of charge condition on top of the power condition: the load may run only above a certain charge level, so the battery gets the morning and the load gets the middle of the day. That single extra condition also stops the case nobody notices &#8211; a load happily consuming surplus that the battery had already stored, discharging it at a round-trip loss of ten to fifteen per cent for no gain at all.<\/p>\n\n<h2>Loads That Modulate Do Not Have a Threshold<\/h2>\n<p>A wallbox does not switch, it scales &#8211; but only within limits, and the lower limit is the one that turns it back into a switching problem. Six amperes is the minimum charging current, which is about 1.4 kW on one phase and 4.1 kW on three, and below that a car does not charge slowly, it does not charge at all.<\/p>\n<p>So the on threshold for a three-phase wallbox is 4.1 kW of surplus, not zero, and everything between zero and that figure is a range in which the only options are one phase or nothing. Switching between one and three phases is itself a load change of nearly three kilowatts, which needs its own hysteresis and its own minimum runtime &#8211; the same three parameters as the heating element, applied to a decision that looks like a smooth dial and is not.<\/p>\n\n<div class=\"lw-faq\">\n<h2>Questions and answers<\/h2>\n\n<h3>Can a moving average replace hysteresis?<\/h3>\n<p>No, the two solve different problems. An average smooths out brief spikes such as those from a kettle, but the load that has just switched on lowers the surplus by its full power, and once the averaging window has passed, the rule sees exactly that value and switches off as before, only later. The five-second mean from the article therefore belongs in front of the hysteresis, not in its place.<\/p>\n\n<h3>What happens when two loads, each with a rule of its own, see the same surplus?<\/h3>\n<p>If the surplus is enough for either load but not for both, and the on delays are equally long, both switch on at the same moment and together draw more than is available. The meter then shows import, both off delays start, and after the minimum runtime both go off again. It is the same oscillation as a single load without hysteresis, one level up: each rule is correct on its own, but neither knows that the other is counting on the same watts.<\/p>\n<p>The meter solves the problem by itself if the rules decide one after the other. It sits at the grid connection and sees the sum of all loads, so once the first load is running, only the remainder is left for the second. Staggering the on delays is enough for that, for example three minutes for the preferred load and six for the other, as long as the gap is longer than the time the meter takes to report the first load. Switching off works the other way round: the lower-priority load gets the shorter off delay, so that under import it is switched off first and the preferred one keeps running.<\/p>\n\n<h3>How long does a contactor last once minimum runtime and minimum pause are in place?<\/h3>\n<p>Many years, and the figure can be worked out. With a minimum runtime of 15 minutes and a minimum pause of 10, a full cycle takes at least 25 minutes, so at most 2.4 cycles per hour are possible. Ten hours of surplus a day give 24 cycles, or 48 operations if every switch-on and every switch-off is counted separately. The 100\u00a0000 operations from the article then last a good five and a half years, even if on every single day one cycle followed the next at the shortest permitted interval.<\/p>\n<p>Without the two timers, the number of operations depends on the weather and on the meter&#8217;s reporting interval and has no upper limit; with them it is capped, whatever the clouds do.<\/p>\n<\/div>\n\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.fronius.com\/en-gb\/uk\/solar-energy\/installers-partners\/technical-data\/all-products\/system-monitoring\/open-interfaces\/fronius-solar-api-json-\" target=\"_blank\" rel=\"noopener noreferrer\">Fronius Solar API<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Switching a load on when the surplus is large enough removes the surplus, which switches the load off, which brings it back. Two thresholds and three timers turn thirty-seven switching operations into two.<\/p>\n","protected":false},"author":1,"featured_media":15158,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[91362,91626],"class_list":["post-10368","post","type-post","status-publish","format-standard","hentry","category-smart-home","tag-photovoltaics","tag-smart-home-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.\" \/>\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\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-08T05:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T21:20:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.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=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 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\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads\",\"datePublished\":\"2026-09-08T05:20:00+00:00\",\"dateModified\":\"2026-10-09T21:20:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/\"},\"wordCount\":1413,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png\",\"keywords\":[\"Photovoltaics\",\"Smart Home\"],\"articleSection\":[\"Smart Home\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/\",\"name\":\"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png\",\"datePublished\":\"2026-09-08T05:20:00+00:00\",\"dateModified\":\"2026-10-09T21:20:01+00:00\",\"description\":\"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png\",\"width\":1200,\"height\":630,\"caption\":\"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/smart-home\\\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads\"}]},{\"@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\":\"Lukas Wojcik\",\"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\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik","description":"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.","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\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/","og_locale":"en_US","og_type":"article","og_title":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik","og_description":"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-08T05:20:00+00:00","article_modified_time":"2026-10-09T21:20:01+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads","datePublished":"2026-09-08T05:20:00+00:00","dateModified":"2026-10-09T21:20:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/"},"wordCount":1413,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png","keywords":["Photovoltaics","Smart Home"],"articleSection":["Smart Home"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/","name":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png","datePublished":"2026-09-08T05:20:00+00:00","dateModified":"2026-10-09T21:20:01+00:00","description":"Hysteresis, on and off delays and minimum runtime for surplus control: which numbers to use, which meter to read, and what a battery does to all of it.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10368-why-the-relay-chatters-thresholds-fo-n.png","width":1200,"height":630,"caption":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/smart-home\/pv-surplus-control-hysteresis-timers-and-thresholds-for-switching-loads\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PV Surplus Control: Hysteresis, Timers and Thresholds for Switching Loads"}]},{"@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":"Lukas Wojcik","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":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10368","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=10368"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10368\/revisions"}],"predecessor-version":[{"id":22282,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10368\/revisions\/22282"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/15158"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}