Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Dark

Collapse
SHARUR
Community Wiki DLMS/COSEM Tools
Search Sign in
C

carlos_mendez

@carlos_mendez
Unfollow Follow
About
Posts
39
Topics
17
Shares
0
Groups
0
Followers
0
Following
0

My Replies & Activity

Track and review all technical solutions, peer debates, and answers you have contributed to the community.

39 Replies
Why does HLS 5 GMAC mutual authentication fail in reply_to_HLS_authentication (Action-Request) due to Green Book AAD construction and Invocation Counter endianness?
2026-09-01T06:07:18.717Z
<p dir="auto">From the field triage and deployment perspective, there is a major practical trap: <strong>Cold-Start Invocation Counter Desynchronization</strong>.</p> <p dir="auto">Consider this real-world scenario:</p> <ol> <li>A meter undergoes a battery replacement or hardware power cycle in the field, resetting its volatile memory or rolling back its internal Invocation Counter ($IC$) to <code>1</code>.</li> <li>The Head-End System (HES) database still stores the last recorded meter counter, say $IC = 482,105$.</li> <li>When HES attempts an HLS 5 handshake, the meter sends its Server Challenge with $IC = 1$. The HES security gate rejects the frame because $IC_{\text{received}} < IC_{\text{expected}}$ (anti-replay defense per <strong>DLMS Green Book Section 9.2.7.2</strong>).</li> </ol> <h3>How to Recover Without Compromising Security:</h3> <p dir="auto">Before initiating HLS 5 on Management Logical Device:</p> <ul> <li>Connect as <strong>Public Client (Client ID 16)</strong> with <code>No Security</code> (<code>0x00</code>).</li> <li>Read <code>Association LN</code> (<code>0.0.40.0.0.255</code>, Class 15) Attribute 8 or <code>Security Setup</code> (<code>0.0.43.1.0.255</code>, Class 64) Attribute 4 (<code>invocation_counter</code>).</li> <li>If authorized by security policy, read and resynchronize the baseline $IC$ in the HES database before triggering High-Level Security.</li> </ul>
Jump to Reply
Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare?
2026-08-24T08:55:45.494Z
<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>
Jump to Reply
Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare?
2026-08-24T08:55:29.476Z
<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>
Jump to Reply
Dynamic Rolling Single-Action Schedules vs Firmware OTA: Ingenious Workaround or Field Maintenance Nightmare?
2026-08-24T08:55:12.723Z
<blockquote> <p dir="auto">[!WARNING]<br /> <strong>Technical Redaction & 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>
Jump to Reply
Why does Disconnect Control (Class 70) Method 2 return Success (0x00) while output_state remains false?
2026-08-24T08:52:24.159Z
<p dir="auto">David, you nailed it. We just ran a readback on Attribute 3 (<code>control_state</code>) and Attribute 4 (<code>control_mode</code>) on our bench unit:</p> <pre><code class="language-hex">00 01 00 01 00 01 00 06 C4 01 C3 00 16 02 16 03 </code></pre> <ul> <li><code>16 02</code>: <code>control_state = 2</code> (<code>Ready_for_reconnection</code>)</li> <li><code>16 03</code>: <code>control_mode = 3</code></li> </ul> <p dir="auto">As soon as we manually pressed the optical/display button on the meter front panel, the contactor gave a loud mechanical click, and <code>output_state</code> immediately flipped to <code>03 FF</code> (<code>true</code>).</p> <p dir="auto">This explains why this meter batch passed official DLMS CTT (Conformance Test Tool) certification with flying colors—CTT only checks that the APDU returns <code>0x00</code>, completely ignoring whether physical voltage was restored downstream! For our unmanned rooftop solar installations, we cannot have technicians pushing buttons. How do we safely reconfigure <code>control_mode</code> to Mode 2 over the air?</p>
Jump to Reply
Why does Disconnect Control (Class 70) Method 2 return Success (0x00) while output_state remains false?
2026-08-24T08:52:05.018Z
<blockquote> <p dir="auto">[!WARNING]<br /> <strong>Technical Redaction & 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">We are troubleshooting an unexpected relay issue during field commissioning of 200 polyphase commercial smart meters over IEC 62056-47 TCP/IP (port 4059). After a remote load-shedding event, our HES sends a remote reconnection command via Class 70 (<code>Disconnect Control</code>, OBIS <code>0.0.96.3.10.255</code>), invoking Method 2 (<code>remote_reconnect</code>).</p> <p dir="auto">The meter returns an immediate <code>Action-Response-Normal</code> indicating success (<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="😞" /></p> <pre><code class="language-hex">00 01 00 01 00 01 00 05 C7 01 C1 00 00 </code></pre> <p dir="auto">However, when we immediately read back Attribute 2 (<code>output_state</code>) to verify contact closure, the meter returns <code>03 00</code> (<code>boolean: false</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="😞" /></p> <pre><code class="language-hex">00 01 00 01 00 01 00 04 C4 01 C2 00 03 00 </code></pre> <p dir="auto">The downstream load remains completely de-energized. We contacted the meter manufacturer's FAE, and the classic response was <em>"It works fine on our lab bench tool."</em> Meanwhile, the Wireshark DLMS dissector confirms our Action APDU is 100% syntactically valid. Why is the meter acknowledging reconnection with success (<code>0x00</code>) while physically refusing to close the breaker?</p>
Jump to Reply
Dual Single Action Schedule (Class 22) vs Unified Schedule Table (Class 10): Practical Workaround or OBIS Misuse?
2026-08-24T08:35:06.113Z
<p dir="auto">This debate highlights the classic tension between pure data modeling standards and real-world embedded deployment constraints. In the field, we cannot assume how a meter binds <code>.3.255</code> without dynamic verification.</p> <p dir="auto">The reliable engineering solution for any Head-End System is to implement <strong>Attribute 2 Binding Verification</strong> during device discovery.</p> <p dir="auto">Instead of assuming <code>.3.255</code> controls auxiliary outputs or breaker reconnects, the HES must read Attribute 2 (<code>executed_script</code>) of both Class 22 objects. Here is the verified readback from <code>0.0.15.0.3.255</code>:</p> <pre><code class="language-hex">00 01 00 01 00 01 00 13 C4 01 C1 00 02 02 09 06 00 00 0A 00 6A FF 12 00 02 </code></pre> <p dir="auto">Dissecting the script reference:</p> <ul> <li><code>09 06 00 00 0A 00 6A FF</code>: Target script LN <code>0-0:10.0.106*255</code> (Disconnect Control Script Table)</li> <li><code>12 00 02</code>: Script selector <code>2</code> (Remote Reconnect)</li> </ul> <p dir="auto">And here is the production Python snippet demonstrating how to dynamically determine whether <code>.3.255</code> is safely wired to reconnect or auxiliary output:</p> <pre><code class="language-python">from gurux_dlms.objects import GXDLMSSingleActionSchedule def resolve_reconnect_schedule_obis(client): schedule_reconnect = GXDLMSSingleActionSchedule("0.0.15.0.3.255") # Read Attribute 2: executed_script client.read(schedule_reconnect, 2) target_ln = schedule_reconnect.executedScriptLogicalName script_selector = schedule_reconnect.executedScriptSelector # Verify if vendor mapped .3.255 to Disconnect Control Script 2 (Reconnect) if target_ln.to_bytes() == b'\x00\x00\x0A\x00\x6A\xFF' and script_selector == 2: return "0.0.15.0.3.255" # Confirmed safe reconnect slot raise NotImplementedError("Meter does not provide a dedicated Disconnect Control reconnect schedule.") </code></pre> <p dir="auto">By verifying the executed script pointer at runtime, the HES guarantees safe automated load management regardless of whether the meter implements unified Class 10 or split Class 22 slots.</p>
Jump to Reply
Why does Class 22 Single Action Schedule (0.0.15.0.1.255) return read-write-denied on multi-element execution_time arrays?
2026-08-24T08:29:05.847Z
<blockquote> <p dir="auto">[!WARNING]<br /> <strong>Technical Redaction & 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">We are currently integrating automated daily load-shedding and reconnect schedules on three-phase polyphase smart meters over IEC 62056-47 TCP/IP (port 4059). According to our requirements, the meter must trip its internal breaker (Class 70, OBIS <code>0.0.96.3.10.255</code>) at 06:20:00 and again at 06:25:00.</p> <p dir="auto">We targeted Disconnect Control Single Action Schedule (Class 22, OBIS <code>0.0.15.0.1.255</code>), writing two time entries into Attribute 4 (<code>execution_time</code>). Since the DLMS UA Blue Book defines <code>execution_time</code> as <code>array of execution_time_type</code>, our HES generated the following sanitized <code>Set-Request-Normal</code> APDU:</p> <pre><code class="language-hex">00 01 00 01 00 01 00 24 C1 01 C1 00 16 00 00 0F 00 01 FF 04 00 01 02 02 02 09 04 06 14 00 00 09 05 FF FF FF FF FF 02 02 09 04 06 19 00 00 09 05 FF FF FF FF FF </code></pre> <p dir="auto">Dissecting the payload:</p> <ul> <li><code>C1 01 C1</code>: <code>Set-Request-Normal</code>, Invoke-ID <code>1</code></li> <li><code>00 16</code>: Class ID <code>22</code> (Single Action Schedule)</li> <li><code>00 00 0F 00 01 FF</code>: OBIS <code>0.0.15.0.1.255</code></li> <li><code>04 00</code>: Attribute <code>4</code> (<code>execution_time</code>), no selective access</li> <li><code>01 02</code>: Array with length <code>2</code></li> <li>Element 1 (<code>02 02</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="😞" /> Time <code>06:20:00.00</code> (<code>09 04 06 14 00 00</code>), Date wildcard (<code>09 05 FF FF FF FF FF</code>)</li> <li>Element 2 (<code>02 02</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="😞" /> Time <code>06:25:00.00</code> (<code>09 04 06 19 00 00</code>), Date wildcard (<code>09 05 FF FF FF FF FF</code>)</li> </ul> <p dir="auto">However, the meter persistently rejects this payload with <code>Data-Access-Result: read-write-denied</code>:</p> <pre><code class="language-hex">00 01 00 01 00 01 00 04 C5 01 C1 03 </code></pre> <p dir="auto">What is baffling is that if we send a single element (<code>01 01 02 02 09 04 06 14 00 00 09 05 FF FF FF FF FF</code>), the meter returns <code>Data-Access-Result: success</code> (<code>0x00</code>). If the data type is structurally an Array, why does setting two valid execution time structures fail with <code>read-write-denied</code> rather than <code>type-unmatched</code>?</p>
Jump to Reply
Why does DLMS Security Suite 1 (HLS 7 / ECDSA P-256) ignite debate over MCU computational overhead vs zero-trust PKI scalability?
2026-08-23T03:54:05.199Z
<p dir="auto">Spot on by <a class="plugin-mentions-user plugin-mentions-a" href="/user/alex_turner" aria-label="Profile: alex_turner">@<bdi>alex_turner</bdi></a>! The 'Asymmetric Handshake + Symmetric Session Stream' architecture follows the exact battle-tested model of TLS 1.3.<br /> Look at the standard HLS 7 AARQ frame structure for Association LN <code>0.0.40.0.0.255</code>:</p> <pre><code class="language-hex">60 81 92 A1 09 06 07 60 85 74 05 08 01 02 A6 0A 04 08 4D 4D 4D 00 00 00 00 01 BE 7F 04 7D 01 00 00 00 06 5F 1F 04 00 00 1E 1D 00 00 07 00 48 30 46 02 21 00 A1 B2 C3 D4 E5 F6 07 18 29 3A 4B 5C 6D 7E 8F 90 12 34 56 78 9A BC DE F0 12 34 56 78 9A BC DE F0 </code></pre> <p dir="auto">From a global tender procurement perspective:</p> <ul> <li>In 2025/2026 European and Middle Eastern smart grid tenders, <strong>over 80% mandate DLMS Security Suite 1 compliance</strong>;</li> <li>In India (RDSS 250M meter rollout) and Southeast Asia, tenders require hardware SE support for ECDSA P-256 as a mandatory qualification gate per Green Book Table 43.</li> </ul> <p dir="auto">Refusing to support Suite 1 in meter firmware locks manufacturers out of high-tier global AMI markets.</p>
Jump to Reply
What are the mapping models and concurrency architectures for translating IEC 60870-5-104 telecontrol to DLMS/COSEM?
2026-08-23T03:53:20.026Z
<p dir="auto">Per IEC 60870-5-104 Clause 7.2 and IEC 62056-53 Clause 8.2, our gateway now translates the DLMS ACTION response:</p> <pre><code class="language-hex">C7 01 C1 00 00 </code></pre> <p dir="auto">into 104 ASDU confirmation within 120ms, eliminating SCADA command timeouts while preserving metrological security.</p>
Jump to Reply
What are the mapping models and concurrency architectures for translating IEC 60870-5-104 telecontrol to DLMS/COSEM?
2026-08-23T03:53:05.456Z
<blockquote> <p dir="auto"><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f6e1.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--shield" style="height:23px;width:auto;vertical-align:middle" title="🛡" alt="🛡" />️ <strong>Technical Redaction & Safe Harbor Warning</strong>:<br /> Substation telemetry maps and dispatch IP configurations have been neutralized.</p> </blockquote> <p dir="auto">In distribution automation (DTU/FTU edge gateways), SCADA master stations communicate over <strong>IEC 60870-5-104 (TCP Port 2404)</strong>, while field revenue and feeder meters communicate via <strong>DLMS / COSEM (IEC 62056-53 Clause 6.2)</strong> reading voltage <code>1.0.32.7.0.255</code> and energy <code>1.0.1.8.0.255</code>.<br /> Gateways must translate 104 information object addresses (IOA) to DLMS OBIS codes for telemetry, tele-signaling, and remote tele-control.<br /> How do engineers architect concurrent polling and event translation to prevent SCADA response timeouts during general interrogation?</p>
Jump to Reply
What are the common failure modes and cost considerations during official DLMS CTT certification?
2026-08-23T03:52:27.223Z
<p dir="auto">Actually, international utility tenders (Enel, SEC, DEWA) enforce CTT certificate validation at the pre-qualification stage.<br /> Testing firmware against CTT in continuous CI/CD pipelines is critical. A single failed test during official lab evaluation results in re-test fees and months of project delays. The CTT investment is a necessary industry gate per Green Book Chapter 9.</p>
Jump to Reply
What essential field debugging tools and hardware isolators do engineers carry for substation DLMS captures?
2026-08-23T03:51:59.311Z
<p dir="auto">Great points. In addition, when capturing raw HDLC frames for clock <code>0.0.1.0.0.255</code>:</p> <pre><code class="language-hex">7E A0 19 00 02 00 23 21 10 84 92 E6 E6 00 C0 01 C1 00 01 00 01 08 00 FF 02 00 68 7F 7E </code></pre> <p dir="auto">Having the hardware tap logger timestamp each individual byte confirmed that the meter delayed its preamble transmission by 42ms, preventing random packet truncation. Strict hardware isolation is mandatory on site.</p>
Jump to Reply
What essential field debugging tools and hardware isolators do engineers carry for substation DLMS captures?
2026-08-23T03:51:41.836Z
<blockquote> <p dir="auto"><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f6e1.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--shield" style="height:23px;width:auto;vertical-align:middle" title="🛡" alt="🛡" />️ <strong>Technical Redaction & Safe Harbor Warning</strong>:<br /> Substation locations and utility asset numbers have been sanitized.</p> </blockquote> <p dir="auto">Just finished a 2-day on-site troubleshooting sprint in an outdoor secondary distribution substation during heavy rain to read billing profile <code>1.0.99.1.0.255</code> per IEC 62056-46 Clause 5.2.<br /> Here are the tools that prevented catastrophic hardware failure in my toolkit:</p> <ol> <li><strong>Galvanically Isolated USB-to-RS485 Adapters (2500V RMS)</strong>: Never use unisolated $5 FTDI dongles. In substations, ground potential differences (GPD) can exceed 50V AC between metal enclosures, which will instantly blow the laptop's USB southbridge!</li> <li><strong>Magnetic Optical Probes with Anti-Glare Cylinders</strong>: Ambient solar radiation saturates infrared phototransistors on meter front panels unless properly hooded.</li> <li><strong>16-Channel Logic Analyzers</strong>: For decoding baudrate jitter on RS-485 differential lines.</li> </ol> <p dir="auto">What field tools or painful on-site electrical failure stories do other engineers have to share?</p>
Jump to Reply
What is the standard intuitive structure of OBIS 6-tuple codes (A.B.C.D.E.F) in Blue Book?
2026-08-23T03:51:20.405Z
<blockquote> <p dir="auto"><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f6e1.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--shield" style="height:23px;width:auto;vertical-align:middle" title="🛡" alt="🛡" />️ <strong>Technical Redaction & Safe Harbor Warning</strong>:<br /> Proprietary tariff schemes and meter registers have been replaced with standard IEC 62056-61 OBIS definitions.</p> </blockquote> <p dir="auto">When reading the DLMS Blue Book Ed. 17 (IEC 62056-62 Clause 5.1), the 6-tuple OBIS hierarchy <code>A.B.C.D.E.F</code> (e.g. <code>1.0.1.8.0.255</code> and <code>1.0.32.7.0.255</code>) seems overwhelming with hundreds of pages of object dictionaries.<br /> For example, inspecting a raw GET-Request:</p> <pre><code class="language-hex">C0 01 C1 00 03 01 00 01 08 00 FF 02 00 </code></pre> <p dir="auto">How do experienced metering engineers memorize and distinguish these 6 numeric groups in practical development?</p>
Jump to Reply
Why does sending SNRM frame 7E A0 0A... result in timeout with no response over optical probe?
2026-08-23T03:51:09.020Z
<p dir="auto">Actually, changing the parity bit solved the entire problem!<br /> My serial port was set to <code>None</code> parity (8N1). Once I switched to <code>Even</code> parity (8E1), the meter immediately answered with the expected UA response:</p> <pre><code class="language-hex">7E A0 1F 21 00 02 00 23 73 D5 F2 81 80 14 05 02 00 80 06 02 00 80 07 04 00 00 00 01 08 04 00 00 00 01 54 A7 7E </code></pre> <p dir="auto">Per IEC 62056-46 Clause 6.4, the UA frame contains the negotiated HDLC parameters. Thank you for the quick guidance! Marking this issue as resolved.</p>
Jump to Reply
Why does sending SNRM frame 7E A0 0A... result in timeout with no response over optical probe?
2026-08-23T03:50:56.965Z
<blockquote> <p dir="auto"><img src="https://dlms.sharur.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f6e1.png?v=666d1e6b6e4" class="not-responsive emoji emoji-android emoji--shield" style="height:23px;width:auto;vertical-align:middle" title="🛡" alt="🛡" />️ <strong>Technical Redaction & Safe Harbor Warning</strong>:<br /> Proprietary utility keys, serial numbers, and meter addresses have been neutralized. Frame traces use standard DLMS User Association public examples.</p> </blockquote> <p dir="auto">Hi everyone, testing a new optical probe with an electricity meter (IEC 62056-46 Clause 6.4) to read logical device name <code>0.0.42.0.0.255</code>.<br /> I connected the serial debugging tool and directly transmitted the following SNRM (Set Normal Response Mode) frame:</p> <pre><code class="language-hex">7E A0 0A 00 02 00 23 21 93 18 71 7E </code></pre> <p dir="auto">The optical probe LED blinked once, but the meter returned absolutely nothing, causing a 5000ms timeout.<br /> Is there an error in this HDLC frame structure or did I miss something fundamental in physical layer setup?</p>
Jump to Reply
Why does signed 8-bit negative scaler (-3) cause 10^253 overflow and float32 rounding errors in smart metering billing?
2026-08-22T17:22:43.425Z
<p dir="auto">We audited our field data collection scripts and found 3 custom parsers reading <code>scaler</code> via <code>ord(byte)</code> without signed conversion. Fixing this eliminated the $10^{253}$ current spikes across our entire AMI dashboard!</p>
Jump to Reply
Why do meters reject fresh DLMS connections after TCP keep-alive disconnects with frame-counter-out-of-sequence?
2026-08-22T17:22:13.720Z
<p dir="auto">We tested the Public Client pre-read in the field across 200 failing meters:<br /> In every single case, reading Attribute 4 of <code>0.0.43.1.0.255</code> showed the meter was at $IC = 14{,}280$, while our restarted HES was trying to send $IC = 1$.<br /> Once we synced HES to $14{,}300$, all 200 meters reconnected instantly without a single drop!</p>
Jump to Reply
Why does mixed-mode HLS 5 association fail with scope-of-access-violated when reading Class 70 or Class 8?
2026-08-22T17:21:46.426Z
<p dir="auto">That explains everything! We updated our client configuration to automatically wrap Class 8 and Class 70 in <code>0xDB</code> ciphering, and both the clock read and the relay disconnect succeeded immediately!</p>
Jump to Reply
  • Login

  • Don't have an account? Register

  • Login or register to search.
Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups