<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jasper Grahl</title><link>https://blog.jaspergrahl.de/en/</link><description>Recent content on Jasper Grahl</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 10 Nov 2026 21:00:00 +0100</lastBuildDate><atom:link href="https://blog.jaspergrahl.de/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Running a Raspberry Pi 24/7: what a short power cut revealed about my system</title><link>https://blog.jaspergrahl.de/en/posts/raspberry-pi-24-7/</link><pubDate>Tue, 10 Nov 2026 21:00:00 +0100</pubDate><guid>https://blog.jaspergrahl.de/en/posts/raspberry-pi-24-7/</guid><description>&lt;p&gt;My energy management system &lt;strong&gt;JG Energy&lt;/strong&gt; runs around the clock on a Raspberry Pi 5 with an SSD. It controls the wallbox, the home battery and charge plans for two EVs. If the Pi fails, you notice in everyday life – at the latest when the car isn&amp;rsquo;t charged in the morning.&lt;/p&gt;&#10;&lt;p&gt;In early November there was a short power cut one morning. The Pi restarted on its own afterwards, and everything kept running. Still, the incident exposed four weak spots I hadn&amp;rsquo;t known about.&lt;/p&gt;</description></item><item><title>Controlling a Marstek Venus E locally: Modbus TCP, the UDP API and why you should verify every write</title><link>https://blog.jaspergrahl.de/en/posts/marstek-modbus/</link><pubDate>Tue, 10 Nov 2026 20:30:00 +0100</pubDate><guid>https://blog.jaspergrahl.de/en/posts/marstek-modbus/</guid><description>&lt;p&gt;The Marstek Venus E is an affordable plug-in home battery with 5.12 kWh. It regulates itself: a smart meter at the grid connection – a Shelly Pro 3EM in my case – tells it whether power is currently being imported or exported. The battery then charges or discharges so that the meter reads as close to zero as possible.&lt;/p&gt;&#10;&lt;p&gt;That works well as long as the battery is the only &amp;ldquo;smart&amp;rdquo; consumer. As soon as a wallbox enters the picture, things get complicated. So my energy management system &lt;strong&gt;JG Energy&lt;/strong&gt; steps into the control loop locally – not with its own power control, but with two simple limits.&lt;/p&gt;</description></item><item><title>Is a second home battery worth it? A simulation with eight months of minute data</title><link>https://blog.jaspergrahl.de/en/posts/second-battery-simulation/</link><pubDate>Tue, 10 Nov 2026 20:00:00 +0100</pubDate><guid>https://blog.jaspergrahl.de/en/posts/second-battery-simulation/</guid><description>&lt;p&gt;My home battery – a Marstek Venus E with 5.12 kWh – is full by midday on sunny days. After that, the surplus goes to the grid for a few cents. The obvious idea: a second battery of the same kind. Cost: around €850, including the additional smart meter it needs.&lt;/p&gt;&#10;&lt;p&gt;Before spending the money, I wanted to know for sure. My energy management system &lt;strong&gt;JG Energy&lt;/strong&gt; stores a daily log with one value per minute: grid import or export, PV power, battery and wallbox. That&amp;rsquo;s enough to simulate a second battery quite realistically.&lt;/p&gt;</description></item><item><title>Growatt Thor with your own OCPP server: solar surplus charging, a 0 A lock and the firmware's pitfalls</title><link>https://blog.jaspergrahl.de/en/posts/growatt-thor-ocpp/</link><pubDate>Tue, 10 Nov 2026 19:30:00 +0100</pubDate><guid>https://blog.jaspergrahl.de/en/posts/growatt-thor-ocpp/</guid><description>&lt;p&gt;The Growatt Thor is a solid 11 kW wallbox with a built-in solar mode. That mode wasn&amp;rsquo;t enough for me, though: it kept dropping charging sessions with &lt;code&gt;SuspendedEVSE&lt;/code&gt;, and it knew nothing about my home battery or the exact readings of my grid meter. So since early 2026 my energy management system &lt;strong&gt;JG Energy&lt;/strong&gt; controls the box entirely on its own – through a self-written OCPP server on a Raspberry Pi.&lt;/p&gt;</description></item><item><title>Hyundai Bluelink blocked (error 9035)? Getting your EV's state of charge from the official Pleos API</title><link>https://blog.jaspergrahl.de/en/posts/hyundai-bluelink-9035-pleos/</link><pubDate>Tue, 10 Nov 2026 19:00:00 +0100</pubDate><guid>https://blog.jaspergrahl.de/en/posts/hyundai-bluelink-9035-pleos/</guid><description>&lt;p&gt;If you have your Hyundai, Kia or Genesis connected to Home Assistant, evcc or a script of your own, you have probably seen this since mid-October 2026: &lt;strong&gt;error 9035&lt;/strong&gt;. From one day to the next, no state of charge came through. For me a whole system depended on it – my energy management &lt;strong&gt;JG Energy&lt;/strong&gt; needs the Ioniq 5&amp;rsquo;s state of charge to run surplus charging and charge plans.&lt;/p&gt;&#10;&lt;p&gt;Here&amp;rsquo;s what happened, how I solved it with the official &lt;strong&gt;Pleos Vehicle Data API&lt;/strong&gt;, and what to watch out for.&lt;/p&gt;</description></item><item><title>About</title><link>https://blog.jaspergrahl.de/en/ueber/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.jaspergrahl.de/en/ueber/</guid><description>&lt;p&gt;I&amp;rsquo;m Jasper, a self-taught developer. Since early 2026 I&amp;rsquo;ve been building &lt;strong&gt;JG Energy&lt;/strong&gt;: a self-hosted energy management system on a Raspberry Pi that ties together a PV inverter, two balcony solar systems, a home battery, the grid meter, a wallbox and two electric cars.&lt;/p&gt;</description></item><item><title>Legal notice</title><link>https://blog.jaspergrahl.de/en/impressum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.jaspergrahl.de/en/impressum/</guid><description>&lt;p&gt;Information according to § 5 DDG (German Digital Services Act):&lt;/p&gt;&#10;&lt;p&gt;Jasper Grahl&lt;br&gt;&#10;[Street]&lt;br&gt;&#10;[Postcode City]&lt;/p&gt;&#10;&lt;p&gt;Contact: [e-mail address]&lt;/p&gt;</description></item><item><title>Privacy</title><link>https://blog.jaspergrahl.de/en/datenschutz/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.jaspergrahl.de/en/datenschutz/</guid><description>&lt;p&gt;This site sets no cookies and embeds no external fonts, scripts or tracking services. There are no comments.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Hosting:&lt;/strong&gt; The site is delivered via Cloudflare Pages (Cloudflare, Inc., 101 Townsend St., San Francisco, CA 94107, USA). When you visit, Cloudflare processes technically necessary data such as your IP address to deliver the site and protect it against attacks.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Controller:&lt;/strong&gt; see legal notice.&lt;/p&gt;</description></item></channel></rss>