<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare?]]></title><description><![CDATA[<blockquote>
<p dir="auto">[!WARNING]<br />
<strong>Technical Redaction &amp; Safe Harbor Notice</strong>:<br />
All communication captures, system titles, and cryptographic parameters in this thread have been sanitized and neutralized. Real utility meter identifiers, production encryption keys (GUEK/GAK/MK), SIM IMSIs, and proprietary network envelopes have been substituted with standard IEC 62056 synthetic test vectors. Do not post unredacted production captures or live cryptographic keys.</p>
</blockquote>
<p dir="auto">Following our earlier deep dive where we confirmed that our deployed polyphase smart meters lock Class 22 Single Action Schedule (<code>0.0.15.0.1.255</code>) to Attribute 3 <code>Type 1</code> (allowing only a single execution time in Attribute 4), our systems engineering team brainstormed what seems like an ingenious architectural workaround.</p>
<p dir="auto">Instead of waiting 6 months and paying the meter manufacturer $50k in NRE fees for a firmware OTA upgrade to implement Class 10 (<code>Schedule</code>), why not maintain an active <strong>Rolling Task Daemon</strong> on the Head-End System (HES)?</p>
<p dir="auto">Here is the concept:</p>
<ol>
<li>The HES writes the <em>next immediate</em> scheduled load-shedding time (e.g. <code>08:00:00</code>) into <code>0.0.15.0.1.255</code> Attribute 4:</li>
</ol>
<pre><code class="language-hex">00 01 00 01 00 01 00 1B C1 01 C1 00 16 00 00 0F 00 01 FF 04 00 01 01 02 02 09 04 08 00 00 00 09 05 FF FF FF FF FF
</code></pre>
<ol start="2">
<li>The meter trips at 08:00:00.</li>
<li>Upon receiving the Class 40 Push event or when the HES clock passes 08:00, the daemon immediately transmits a follow-up SET request overwriting Attribute 4 with the <em>subsequent</em> time (e.g. <code>12:00:00</code><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title="):" alt="😞" /></li>
</ol>
<pre><code class="language-hex">00 01 00 01 00 01 00 1B C1 01 C2 00 16 00 00 0F 00 01 FF 04 00 01 01 02 02 09 04 0C 00 00 00 09 05 FF FF FF FF FF
</code></pre>
<ol start="4">
<li>Both SET requests return <code>Data-Access-Result: success</code> (<code>0x00</code><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title="):" alt="😞" /></li>
</ol>
<pre><code class="language-hex">00 01 00 01 00 01 00 04 C5 01 C1 00
</code></pre>
<p dir="auto">This dynamically shifts the execution window forward, effectively delivering infinite multi-point scheduling capability over legacy single-shot firmware without touching the meter hardware. Isn't this the ultimate zero-cost cloud workaround?</p>
]]></description><link>https://dlms.sharur.org/topic/86/dynamic-rolling-single-action-schedules-vs-firmware-ota-ingenious-workaround-or-field-maintenance-nightmare</link><generator>RSS for Node</generator><lastBuildDate>Fri, 16 Oct 2026 19:14:31 GMT</lastBuildDate><atom:link href="https://dlms.sharur.org/topic/86.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Aug 2026 08:55:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare? on Mon, 24 Aug 2026 08:55:45 GMT]]></title><description><![CDATA[<p dir="auto">You know what... after walking through our substation failure runbook with our lead field supervisor this afternoon, I have to step back and concede. Elena's point about the optical probe blindspot and documentation rot hit home.</p>
<p dir="auto">If a field technician with an optical probe cannot trust what <code>0.0.15.0.1.255</code> says locally because the true schedule lives only in our cloud Redis instance, we are creating an untraceable split-brain condition. When cellular towers go dark during a typhoon, having meters stranded because their schedule loop was severed upstream is unacceptable for grid reliability.</p>
<p dir="auto">We agree to abandon the rolling rewrite hack. Here is our finalized, standard-compliant path forward:</p>
<ol>
<li><strong>For Real-Time Demand Response</strong>: When online, the HES will issue explicit, synchronous <code>Action-Request-Normal</code> APDUs invoking Class 70 Method 1/2 directly, ensuring immediate transaction confirmation without corrupting schedule state.</li>
<li><strong>For Autonomous Multi-Task Scheduling</strong>: We will submit an official engineering change request to the meter vendor to implement <strong>Class 10 (Schedule, OBIS <code>0-0:12.0.0*255</code>)</strong> per Blue Book Section 4.5.3, ensuring all recurring entries are verified and stored locally inside the meter's certified NVRAM.</li>
<li><strong>For Current Fixed Cycles</strong>: We will strictly utilize the dual Class 22 slots (<code>0.0.15.0.1.255</code> for Disconnect, <code>0.0.15.0.3.255</code> for Reconnect) as static, auditable daily setpoints.</li>
</ol>
<p dir="auto">Engineering pragmatism cannot come at the expense of field maintainability and self-contained meter truth.</p>
]]></description><link>https://dlms.sharur.org/post/307</link><guid isPermaLink="true">https://dlms.sharur.org/post/307</guid><dc:creator><![CDATA[carlos_mendez]]></dc:creator><pubDate>Mon, 24 Aug 2026 08:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare? on Mon, 24 Aug 2026 08:55:29 GMT]]></title><description><![CDATA[<p dir="auto">Elena, Alex, aren't you being slightly dogmatic here? In the real world, utilities have strict deadlines and cannot wait 9 months for meter vendors to recertify firmware through CTT and MID laboratories!</p>
<p dir="auto">We have RabbitMQ dead-letter queues, exponential backoff retries, and high-availability database clusters. Modern smart meter SPI NOR Flash / EEPROM typically has an endurance of 100,000 write cycles. Writing 4 timestamps a day equals 1,460 writes per year—giving us over 68 years of flash endurance!</p>
<p dir="auto">Why is a battle-tested, pragmatic cloud queue worse than telling the utility executive board that our $15M AMI infrastructure cannot perform basic automated load control today?</p>
]]></description><link>https://dlms.sharur.org/post/306</link><guid isPermaLink="true">https://dlms.sharur.org/post/306</guid><dc:creator><![CDATA[carlos_mendez]]></dc:creator><pubDate>Mon, 24 Aug 2026 08:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare? on Mon, 24 Aug 2026 08:55:20 GMT]]></title><description><![CDATA[<p dir="auto">As an embedded firmware lead who has maintained smart meters over 15-year lifecycles, I am genuinely horrified by this hack. This is the textbook definition of technical debt that metastasizes into an operational catastrophe.</p>
<p dir="auto">Let me lay out two devastating operational realities that you will face:</p>
<h3>1. Field Triage &amp; Optical Probe Blindness</h3>
<p dir="auto">When a communication concentrator fails in a substation and a field technician drives out to troubleshoot with a handheld optical probe (IEC 62056-21 Mode E), what will they see? They will read <code>0.0.15.0.1.255</code> Attribute 4 and see a single timestamp from 3 days ago. They will have zero visibility into your cloud Redis queue, conclude that the meter's schedule table is broken or corrupt, and needlessly replace perfectly good meters.</p>
<h3>2. Documentation Rot &amp; Knowledge Evaporation (Loss of Historical Context)</h3>
<p dir="auto">However, consider the long-term flaw in this approach. In 3 to 5 years, when the original developers who built this HES daemon leave the utility and the backend is refactored into a new cloud platform, nobody will remember that these 40,000 physical meters depend on a proprietary rolling overwrite loop. The first time the background worker crashes, the entire metering fleet becomes unmanageable.</p>
<p dir="auto">Per <strong>DLMS UA Blue Book (17th Ed.) Section 4.5.4</strong> and <strong>IEC 62056-62 Clause 4.5.4</strong>, COSEM objects are designed to be self-contained and auditable. Turning Class 22 into a volatile scratchpad violates the integrity of the meter as the legal system of record.</p>
]]></description><link>https://dlms.sharur.org/post/305</link><guid isPermaLink="true">https://dlms.sharur.org/post/305</guid><dc:creator><![CDATA[elena_rostova]]></dc:creator><pubDate>Mon, 24 Aug 2026 08:55:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare? on Mon, 24 Aug 2026 08:55:18 GMT]]></title><description><![CDATA[<p dir="auto">Marcus, Carlos, look closely at the fatal flaw in your assumption. From a distributed systems and security perspective, this proposal breaks the most fundamental tenet of smart grid engineering: <strong>local autonomy</strong>.</p>
<p dir="auto">You are converting an autonomous metrological device into a distributed state-machine slave tethered to continuous cellular availability. Consider what happens during a severe winter storm or cellular base-station failure: the meter successfully executes the 08:00 load trip, but the HES fails to deliver the 12:00 follow-up rewrite due to backhaul packet loss. The schedule halts permanently, leaving industrial consumers disconnected or in an undefined state.</p>
<p dir="auto">Furthermore, per <strong>DLMS UA Green Book 10th Ed Section 9.3.4</strong>, every SET request consumes cryptographic Invocation Counters (IC) and triggers non-volatile flash sector writes. You are introducing continuous network traffic and active attack surface for a job that should be statically autonomous.</p>
]]></description><link>https://dlms.sharur.org/post/304</link><guid isPermaLink="true">https://dlms.sharur.org/post/304</guid><dc:creator><![CDATA[alex_turner]]></dc:creator><pubDate>Mon, 24 Aug 2026 08:55:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare? on Mon, 24 Aug 2026 08:55:16 GMT]]></title><description><![CDATA[<p dir="auto">From a cloud backend perspective, I have to admit this is tempting. We already maintain the master customer tariff and load-shedding schedules in our cloud MDMS and Redis caches.</p>
<p dir="auto">By treating the meter's Class 22 <code>Attribute 4</code> as a single-item hardware execution mailbox that the HES periodically repopulates, we bypass the immense headaches of debugging Class 10 <code>schedule_table_entry</code> calendar math and Daylight Saving Time edge cases across multiple vendor stacks. We could deploy this service across our 40,000 meters tomorrow.</p>
]]></description><link>https://dlms.sharur.org/post/303</link><guid isPermaLink="true">https://dlms.sharur.org/post/303</guid><dc:creator><![CDATA[marcus_vance]]></dc:creator><pubDate>Mon, 24 Aug 2026 08:55:16 GMT</pubDate></item></channel></rss>