Wiki source code of 3. Metering Channels

Last modified by Iaroslav Platonov on 2026/06/08 09:57

Hide last authors
Iaroslav Platonov 62.1 1 {{html clean="false"}}
2 <style>
3 /* ── Disable XWiki automatic heading counters inside our content ── */
4 .doc-content h1::before,.doc-content h2::before,
5 .doc-content h3::before,.doc-content h4::before,
6 .doc-content h5::before,.doc-content h6::before {
7 content:none !important; display:none !important;
8 }
9 .doc-content { counter-reset:none !important; }
Lana 3.2 10
Iaroslav Platonov 62.1 11 /* ── Reading progress bar ── */
12 #rn-prog { position:fixed;top:0;left:0;height:3px;width:0;background:#005AB4;z-index:9999;pointer-events:none; }
Lana 58.1 13
Iaroslav Platonov 62.1 14 /* ── Page content wrapper ── */
15 .doc-wrap { position:relative; }
16 .doc-content {
17 margin-right:224px;
18 border-left:1px solid #E8E8E8;
19 border-right:1px solid #E8E8E8;
20 padding:0 32px;
21 }
Lana 61.1 22
Iaroslav Platonov 62.1 23 /* ── Right "On This Page" TOC ── */
24 .doc-toc {
25 position:absolute;top:0;right:0;width:200px;
26 font-size:12.5px;line-height:1.55;
27 padding:20px 0 20px 16px;
28 }
29 .doc-toc.is-fixed { position:fixed;width:200px;overflow-y:auto;z-index:10; }
30 .toc-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px; }
31 .toc-header strong { font-size:13px;font-weight:700;color:#222; }
32 .toc-toggle { background:none;border:none;cursor:pointer;color:#555;font-size:14px;padding:0 2px;line-height:1; }
33 .toc-toggle:hover { color:#222; }
34 .doc-toc ul { list-style:none;margin:0;padding:0; }
35 .doc-toc li { margin:0; }
36 .doc-toc a { display:block;padding:3px 0;color:#555;text-decoration:none;border-left:2px solid transparent;transition:color .12s; }
37 .doc-toc a:hover { color:#222;text-decoration:underline; }
38 .doc-toc a.toc-on { color:#222;font-weight:700;border-left:2px solid #005AB4;padding-left:5px; }
39 .tl1 > a { font-weight:600;color:#222; }
40 .tl2 > a { padding-left:14px; }
41 .tl3 > a { padding-left:26px;font-size:12px; }
Lana 3.3 42
Iaroslav Platonov 62.1 43 /* ── Typography ── */
44 .doc-content h1 { font-size:1.6em;font-weight:700;color:#222;margin:0 0 6px 0;border:none; }
45 .rn-meta { font-size:.8em;color:#555;margin:0 0 28px 0; }
46 .doc-content h2 { font-size:1.15em;font-weight:700;color:#222;margin:36px 0 10px 0;display:flex;align-items:baseline;gap:7px;scroll-margin-top:16px; }
47 .doc-content h3 { font-size:1em;font-weight:700;color:#222;margin:22px 0 8px 0;display:flex;align-items:baseline;gap:6px;scroll-margin-top:16px; }
48 .doc-content h4 { font-size:.93em;font-weight:700;color:#222;margin:14px 0 6px 0;display:flex;align-items:baseline;gap:5px;scroll-margin-top:16px; }
49 .doc-content p { font-size:.93em;color:#333;line-height:1.75;margin:0 0 12px 0; }
50 .doc-content strong { color:#222; }
51 .doc-content code { background:#f5f5f5;border:1px solid #E8E8E8;border-radius:3px;padding:1px 5px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:.82em;color:#222;line-height:1; }
Lana 3.3 52
Iaroslav Platonov 62.1 53 /* ── Anchor icon ── */
54 .anchor-icon { color:#E8E8E8;text-decoration:none;opacity:0;transition:opacity .15s;vertical-align:middle;margin-left:4px;display:inline-flex;align-items:center; }
55 h2:hover .anchor-icon,h3:hover .anchor-icon,h4:hover .anchor-icon { opacity:1; }
56 .anchor-icon:hover { color:#005AB4; }
Lana 3.3 57
Iaroslav Platonov 62.1 58 /* ── Callout notes ── */
59 .note { border-radius:6px;padding:12px 16px;margin:14px 0;border:1px solid transparent; }
60 .note-info { background:#e1f1f9 !important;border-color:#b3d4ee !important;border-left:4px solid #005AB4 !important; }
61 .note-warning { background:#fff4ec !important;border-color:#f5cba7 !important;border-left:4px solid #DD5600 !important; }
62 .note-tip { background:#e5f3df !important;border-color:#b7dba5 !important;border-left:4px solid #73A839 !important; }
63 .note-hd { font-weight:700;font-size:.85em;display:flex;align-items:center;gap:5px;margin-bottom:5px; }
64 .note-info .note-hd { color:#003d80 !important; }
65 .note-warning .note-hd { color:#a03d00 !important; }
66 .note-tip .note-hd { color:#3d6b1a !important; }
67 .note-body { font-size:.875em;color:#222 !important;line-height:1.65; }
Lana 3.4 68
Iaroslav Platonov 62.1 69 /* ── Section index list ── */
70 .section-index { list-style:disc;padding-left:20px;margin:0 0 20px 0; }
71 .section-index li { margin-bottom:12px; }
72 .section-index li a { color:#005AB4;font-weight:600;font-size:.93em;text-decoration:underline; }
73 .section-index li p { margin:3px 0 0 0;font-size:.875em;color:#333;line-height:1.6; }
Lana 3.4 74
Iaroslav Platonov 62.1 75 /* ── Parent topic ── */
76 .parent-topic { font-size:.82em;color:#555;margin:18px 0 24px 0;border-top:1px solid #E8E8E8;padding-top:10px; }
77 .parent-topic a { color:#005AB4; }
Lana 3.4 78
Iaroslav Platonov 62.1 79 /* ── Accordion ── */
80 details.acc { border:1px solid #E8E8E8;border-radius:4px;margin-bottom:5px; }
81 details.acc summary { display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;background:none;user-select:none; }
82 details.acc summary::-webkit-details-marker { display:none; }
83 details.acc summary::before { content:'▶';font-size:.58em;color:#555;transition:transform .18s;flex-shrink:0; }
84 details.acc[open] summary::before { transform:rotate(90deg); }
85 details.acc summary:hover { background:#f5f5f5; }
86 .acc-num { font-size:.8em;color:#555;min-width:28px;font-weight:600; }
87 .acc-title { font-size:.9em;font-weight:700;color:#222;flex:1; }
88 .acc-body { padding:10px 14px 12px 14px;font-size:.88em;color:#333;line-height:1.7; }
Lana 4.2 89
Iaroslav Platonov 62.1 90 /* ── Images ── */
91 .fig { margin:12px auto 24px auto;width:fit-content;max-width:100%; }
92 .fig img { border-radius:4px 4px 0 0;border:1px solid #E8E8E8;display:block;cursor:zoom-in;max-width:100%;box-shadow:0 1px 4px rgba(0,0,0,.10);transition:box-shadow .15s; }
93 .fig img:hover { box-shadow:0 3px 12px rgba(0,90,180,.18); }
94 .fig-cap { font-size:.78em;color:#555;margin:0;padding:5px 8px;background:#f5f5f5;border:1px solid #E8E8E8;border-top:none;border-radius:0 0 4px 4px;display:block;width:100%;box-sizing:border-box; }
Lana 4.2 95
Iaroslav Platonov 62.1 96 /* ── Lightbox ── */
97 #rn-lb { display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.8);cursor:zoom-out;align-items:center;justify-content:center; }
98 #rn-lb.open { display:flex; }
99 #rn-lb-wrap { position:relative;cursor:default;max-width:92vw;max-height:90vh; }
100 #rn-lb-wrap img { max-width:100%;max-height:90vh;border-radius:5px;display:block; }
101 #rn-lb-x { position:absolute;top:-13px;right:-13px;background:#005AB4;color:#fff;width:26px;height:26px;border-radius:50%;border:none;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center; }
102 #rn-lb-cap { position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:#ddd;font-size:.78em;background:rgba(0,0,0,.55);padding:3px 12px;border-radius:14px;pointer-events:none; }
Lana 4.2 103
Iaroslav Platonov 62.1 104 /* ── Back to top ── */
105 #rn-top { position:fixed;bottom:60px;right:60px;z-index:9997;width:36px;height:36px;border-radius:50%;background:#005AB4;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s;pointer-events:none;box-shadow:0 2px 8px rgba(0,90,180,.3); }
106 #rn-top.on { opacity:1;transform:translateY(0);pointer-events:auto; }
107 #rn-top:hover { background:#0066cc; }
Lana 4.2 108
Iaroslav Platonov 62.1 109 /* ── Toast ── */
110 .rn-toast { position:fixed;bottom:66px;right:24px;z-index:9999;background:#222;color:#fff;font-size:.74em;padding:4px 11px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .18s; }
111 .rn-toast.on { opacity:1; }
Lana 7.2 112
Iaroslav Platonov 62.1 113 /* ── Tables ── */
114 .rn-table { width:100%;border-collapse:collapse;margin:8px 0 18px 0;font-size:.875em; }
115 .rn-table th { background:#f5f5f5;text-align:left;padding:7px 12px;font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#555;border-bottom:2px solid #E8E8E8; }
116 .rn-table td { padding:7px 12px;border-bottom:1px solid #E8E8E8;color:#333;vertical-align:top; }
117 .rn-table tr:last-child td { border-bottom:none; }
118 .rn-table tr:hover td { background:#f5f5f5; }
119 .sc { display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#deeaf7;color:#005AB4;border-radius:3px;font-size:.8em;font-weight:700; }
120 </style>
Lana 7.2 121
Iaroslav Platonov 62.1 122 <div id="rn-prog"></div>
123 <div id="rn-lb">
124 <div id="rn-lb-wrap">
125 <button id="rn-lb-x" onclick="closeLightbox()">✕</button>
126 <img id="rn-lb-img" src="" alt=""/>
127 </div>
128 <div id="rn-lb-cap"></div>
129 </div>
130 <button id="rn-top" onclick="window.scrollTo({top:0,behavior:'smooth'})" title="Back to top">
131 <svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M8 4l5 5H3z"/></svg>
132 </button>
133 <div class="rn-toast" id="rn-toast">Link copied ✓</div>
Lana 7.2 134
Iaroslav Platonov 62.1 135 <div class="doc-wrap">
136 <div class="doc-content">
Lana 7.2 137
Iaroslav Platonov 62.1 138 <ul class="section-index">
139 <li><a href="#s-intro">1. Introduction</a>
140 <p>Overview of the Metering Channels guide and its scope.</p></li>
141 <li><a href="#s-electricity">2. Electricity Metering</a>
142 <p>Device setup for electricity meters (SATEC, Modbus TCP) and metering channel configuration.</p></li>
143 <li><a href="#s-energy">3. Energy Metering</a>
144 <p>Energy resource metering setup — coming soon.</p></li>
145 <li><a href="#s-other">4. Other Types of Metering</a>
146 <p>Generating interval values from tags for devices without on-board storage.</p></li>
147 <li><a href="#s-calculated">5. Calculated Channels</a>
148 <p>Channel from tag, calculated channel, IM-based channels, Excel export/import.</p></li>
149 <li><a href="#s-receipt">6. Receipt of Accounting Data</a>
150 <p>Manual polling and recalculation of calculated channels.</p></li>
151 <li><a href="#s-analysis">7. Analysis of Metering Data</a>
152 <p>Viewing historical metering data and making manual data entries.</p></li>
153 </ul>
Lana 9.2 154
Iaroslav Platonov 62.1 155 <!-- ═══ 1. INTRODUCTION ═══ -->
156 <h2 id="s-intro">1. Introduction <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-intro')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
157 <p>CENTO is a multifunctional software platform for data collection, processing, and display. This guide covers the setup of electricity metering, energy resource metering, and other types of metering.</p>
158 <p>It is assumed that the reader has already reviewed the <strong>User Manual</strong> and <strong>Setup Manual</strong> and is familiar with the main interface elements and CENTO configuration basics.</p>
Lana 9.2 159
Iaroslav Platonov 62.1 160 <!-- ═══ 2. ELECTRICITY METERING ═══ -->
161 <h2 id="s-electricity">2. Electricity Metering <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-electricity')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
Lana 9.2 162
Iaroslav Platonov 62.1 163 <h3 id="s-device-setup">2.1. Device Setup <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-device-setup')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
164 <p>CENTO can work with a variety of metering devices that measure and store power profiles. The metering function is enabled by adding the metering protocol on the <strong>Device editing</strong> page (<code>Settings → Devices, tags, channels → Devices</code>). Communication parameters (RTU address, TCP/UDP port, timeout, polling schedule) and the <strong>File#</strong> field (storing power and power profiles) are configured here.</p>
165 <p>The example below uses the <em>SATEC (Modbus TCP)</em> protocol.</p>
166 <div class="fig">
167 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.53.58.png" alt="Figure 2.1. Settings of the E/E metering protocol" style="max-width:100%;" onclick="openLightbox(this)"/>
168 <p class="fig-cap">Figure 2.1. Settings of the E/E metering protocol</p>
169 </div>
170 <div class="fig">
171 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.56.14.png" alt="Screenshot 2025-11-27 at 18.56.14.png" style="max-width:100%;" onclick="openLightbox(this)"/>
172 </div>
173 <div class="fig">
174 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.56.53.png" alt="Screenshot 2025-11-27 at 18.56.53.png" style="max-width:100%;" onclick="openLightbox(this)"/>
175 </div>
176 <div class="fig">
177 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.57.26.png" alt="Screenshot 2025-11-27 at 18.57.26.png" style="max-width:100%;" onclick="openLightbox(this)"/>
178 </div>
179 <div class="fig">
180 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.57.54.png" alt="Screenshot 2025-11-27 at 18.57.54.png" style="max-width:100%;" onclick="openLightbox(this)"/>
181 </div>
182 <div class="fig">
183 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.58.26.png" alt="Screenshot 2025-11-27 at 18.58.26.png" style="max-width:100%;" onclick="openLightbox(this)"/>
184 </div>
185 <div class="fig">
186 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.58.55.png" alt="Screenshot 2025-11-27 at 18.58.55.png" style="max-width:100%;" onclick="openLightbox(this)"/>
187 </div>
188 <div class="fig">
189 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2018.59.34.png" alt="Screenshot 2025-11-27 at 18.59.34.png" style="max-width:100%;" onclick="openLightbox(this)"/>
190 </div>
191 <div class="fig">
192 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.00.09.png" alt="Screenshot 2025-11-27 at 19.00.09.png" style="max-width:100%;" onclick="openLightbox(this)"/>
193 </div>
194 <div class="fig">
195 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.00.46.png" alt="Screenshot 2025-11-27 at 19.00.46.png" style="max-width:100%;" onclick="openLightbox(this)"/>
196 </div>
197 <div class="fig">
198 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.01.19.png" alt="Enabling/disabling time synchronisation on the CENTO side" style="max-width:100%;" onclick="openLightbox(this)"/>
199 <p class="fig-cap">Enabling/disabling time synchronisation on the CENTO side</p>
200 </div>
201 <div class="fig">
202 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.01.49.png" alt="Screenshot 2025-11-27 at 19.01.49.png" style="max-width:100%;" onclick="openLightbox(this)"/>
203 </div>
204 <div class="fig">
205 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.02.20.png" alt="Screenshot 2025-11-27 at 19.02.20.png" style="max-width:100%;" onclick="openLightbox(this)"/>
206 </div>
207 <div class="fig">
208 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.02.51.png" alt="Screenshot 2025-11-27 at 19.02.51.png" style="max-width:100%;" onclick="openLightbox(this)"/>
209 </div>
210 <div class="fig">
211 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.03.24.png" alt="Screenshot 2025-11-27 at 19.03.24.png" style="max-width:100%;" onclick="openLightbox(this)"/>
212 </div>
213 <div class="fig">
214 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.03.56.png" alt="Screenshot 2025-11-27 at 19.03.56.png" style="max-width:100%;" onclick="openLightbox(this)"/>
215 </div>
Lana 9.2 216
Iaroslav Platonov 62.1 217 <h3 id="s-metering-channels">2.2. Setting Up Metering Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-metering-channels')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
218 <p>Electricity meters often do not require manually adding channels to the tag list — all settings are in the metering protocol. The used accounting channels from the protocol automatically appear on the <strong>Tags, channels</strong> tab, but without a configured metering point they will not be included in the reports.</p>
219 <div class="fig">
220 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-27%20at%2019.06.17.png" alt="Figure 2.2. Display of metering channels" style="max-width:100%;" onclick="openLightbox(this)"/>
221 <p class="fig-cap">Figure 2.2. Display of metering channels</p>
222 </div>
Lana 9.2 223
Iaroslav Platonov 62.1 224 <!-- ═══ 3. ENERGY METERING ═══ -->
225 <h2 id="s-energy">3. Energy Metering (Coming) <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-energy')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
226 <div class="note note-info">
227 <div class="note-hd"><span>ℹ</span> Note</div>
228 <div class="note-body">Energy metering setup is currently under development and will be documented in a future release.</div>
229 </div>
Lana 11.2 230
Iaroslav Platonov 62.1 231 <h3 id="s-energy-device">3.1. Device Setup (Coming) <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-energy-device')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
232 <p>Configuration steps for energy resource metering devices will be published here when available.</p>
Lana 11.2 233
Iaroslav Platonov 62.1 234 <!-- ═══ 4. OTHER TYPES ═══ -->
235 <h2 id="s-other">4. Other Types of Metering <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-other')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
236 <p>If a device does not have on-board storage for interval values of electricity/power or other metering types, CENTO can generate interval values from real-time tags. This is done by creating <strong>channel from tag</strong> entries — see Section 5.1.</p>
Lana 11.2 237
Iaroslav Platonov 62.1 238 <!-- ═══ 5. CALCULATED CHANNELS ═══ -->
239 <h2 id="s-calculated">5. Calculated Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calculated')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
240 <div class="fig">
241 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.26.53.png" alt="Figure 5.1. List of calculated channels" style="max-width:100%;" onclick="openLightbox(this)"/>
242 <p class="fig-cap">Figure 5.1. List of calculated channels</p>
243 </div>
Lana 11.2 244
Iaroslav Platonov 62.1 245 <h3 id="s-channel-from-tag">5.1. Channel from Tag <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-channel-from-tag')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
246 <p>To create a new metering channel from real-time data (tags), click the <strong>Add channel from tag</strong> button on the metering channels list page.</p>
247 <div class="fig">
248 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.29.45.png" alt="Figure 5.2. Channel from tag: editing" style="max-width:100%;" onclick="openLightbox(this)"/>
249 <p class="fig-cap">Figure 5.2. Channel from tag: editing</p>
250 </div>
251 <div class="fig">
252 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.28.39.png" alt="Screenshot 2025-11-30 at 16.28.39.png" style="max-width:100%;" onclick="openLightbox(this)"/>
253 </div>
254 <div class="fig">
255 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.30.29.png" alt="Screenshot 2025-11-30 at 16.30.29.png" style="max-width:100%;" onclick="openLightbox(this)"/>
256 </div>
257 <div class="fig">
258 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.30.53.png" alt="Screenshot 2025-11-30 at 16.30.53.png" style="max-width:100%;" onclick="openLightbox(this)"/>
259 </div>
260 <div class="fig">
261 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.31.25.png" alt="Screenshot 2025-11-30 at 16.31.25.png" style="max-width:100%;" onclick="openLightbox(this)"/>
262 </div>
263 <div class="fig">
264 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.31.55.png" alt="Screenshot 2025-11-30 at 16.31.55.png" style="max-width:100%;" onclick="openLightbox(this)"/>
265 </div>
266 <div class="fig">
267 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.32.28.png" alt="Screenshot 2025-11-30 at 16.32.28.png" style="max-width:100%;" onclick="openLightbox(this)"/>
268 </div>
Lana 13.2 269
Iaroslav Platonov 62.1 270 <h3 id="s-calc-channel">5.2. Calculated Channel <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calc-channel')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
271 <p>To create a channel that processes the values of several connections or interval values — for example, summing electricity consumption across a group of consumers — click the <strong>Add calculated channel</strong> button.</p>
272 <div class="fig">
273 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.33.58.png" alt="Settlement channel: editing page" style="max-width:100%;" onclick="openLightbox(this)"/>
274 <p class="fig-cap">Settlement channel: editing page</p>
275 </div>
276 <div class="fig">
277 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.34.28.png" alt="Figure 5.3. Metering channel: editing page" style="max-width:100%;" onclick="openLightbox(this)"/>
278 <p class="fig-cap">Figure 5.3. Metering channel: editing page</p>
279 </div>
280 <div class="fig">
281 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.35.23.png" alt="Screenshot 2025-11-30 at 16.35.23.png" style="max-width:100%;" onclick="openLightbox(this)"/>
282 </div>
Lana 13.2 283
Iaroslav Platonov 62.1 284 <h3 id="s-calc-via-im">5.3. Calculated Channels via Information Model <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-calc-via-im')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
285 <p>For calculation channels of the same type, custom formulas can be defined that operate based on Information Model objects and their attributes. In addition to tags and channels, the IM can supply supplementary data (e.g. transformer ratios).</p>
286 <div class="fig">
287 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.36.34.png" alt="Custom formula templates for same-type channels" style="max-width:100%;" onclick="openLightbox(this)"/>
288 <p class="fig-cap">Custom formula templates for same-type channels</p>
289 </div>
290 <div class="fig">
291 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.37.01.png" alt="Fig. 5.4 – Creating a Formula Template" style="max-width:100%;" onclick="openLightbox(this)"/>
292 <p class="fig-cap">Fig. 5.4 – Creating a Formula Template</p>
293 </div>
294 <div class="fig">
295 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.37.47.png" alt="Figure 5.5. Creating custom formula" style="max-width:100%;" onclick="openLightbox(this)"/>
296 <p class="fig-cap">Figure 5.5. Creating custom formula</p>
297 </div>
298 <div class="fig">
299 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.38.43.png" alt="Figure 5.6. Calculation formula" style="max-width:100%;" onclick="openLightbox(this)"/>
300 <p class="fig-cap">Figure 5.6. Calculation formula</p>
301 </div>
302 <div class="fig">
303 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.39.09.png" alt="Figure 5.7. Using calculation formula" style="max-width:100%;" onclick="openLightbox(this)"/>
304 <p class="fig-cap">Figure 5.7. Using calculation formula</p>
305 </div>
Lana 13.2 306
Iaroslav Platonov 62.1 307 <h3 id="s-excel-channels">5.4. Downloading / Uploading Calculated Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-excel-channels')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
308 <p>The <strong>Configuration files</strong> page (<code>Settings → Configuration files</code>) provides import and export of calculation metering channels via Excel files.</p>
309 <div class="fig">
310 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.40.46.png" alt="Figure 5.8. Excel file for channel import/export" style="max-width:100%;" onclick="openLightbox(this)"/>
311 <p class="fig-cap">Figure 5.8. Excel file for channel import/export</p>
312 </div>
313 <div class="note note-warning">
314 <div class="note-hd"><span>⚠</span> Warning</div>
315 <div class="note-body">Always validate the Excel template version before importing. Mismatched column headers may cause import errors.</div>
316 </div>
Lana 13.2 317
Iaroslav Platonov 62.1 318 <!-- ═══ 6. RECEIPT OF ACCOUNTING DATA ═══ -->
319 <h2 id="s-receipt">6. Receipt of Accounting Data <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-receipt')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
320 <p>The <strong>Analysis of the receipt of data</strong> page is shared across all metering types and is described in detail in the User Manual.</p>
321 <div class="fig">
322 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.44.01.png" alt="Figure 6.1. Analysis of the receipt of data" style="max-width:100%;" onclick="openLightbox(this)"/>
323 <p class="fig-cap">Figure 6.1. Analysis of the receipt of data</p>
324 </div>
Lana 15.2 325
Iaroslav Platonov 62.1 326 <h3 id="s-manual-poll">6.1. Manual Polling <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-manual-poll')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
327 <p>To re-acquire data from metering devices, navigate to <code>Analysis → Receipt of metering data</code>. In the device tree, select the required metering point, find the missing data profiles, and initiate polling.</p>
328 <div class="fig">
329 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.45.10.png" alt="Selecting a metering point for manual poll" style="max-width:100%;" onclick="openLightbox(this)"/>
330 <p class="fig-cap">Selecting a metering point for manual poll</p>
331 </div>
332 <div class="fig">
333 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.46.01.png" alt="Figure 6.2. Message when number of devices or polling depth is exceeded" style="max-width:100%;" onclick="openLightbox(this)"/>
334 <p class="fig-cap">Figure 6.2. Message when number of devices or polling depth is exceeded</p>
335 </div>
336 <div class="fig">
337 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.46.40.png" alt="Figure 6.3. Confirmation of the start of the survey" style="max-width:100%;" onclick="openLightbox(this)"/>
338 <p class="fig-cap">Figure 6.3. Confirmation of the start of the survey</p>
339 </div>
340 <div class="fig">
341 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.47.46.png" alt="Screenshot 2025-11-30 at 16.47.46.png" style="max-width:100%;" onclick="openLightbox(this)"/>
342 </div>
Lana 15.2 343
Iaroslav Platonov 62.1 344 <h3 id="s-recalculation">6.2. Recalculation of Calculated Channels <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-recalculation')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
345 <p>When data used in calculation channels or calculation formulas change, the channel values must be recalculated. Go to <code>Analysis → Receipt of metering data</code> and use the recalculation function.</p>
346 <div class="fig">
347 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.48.31.png" alt="Figure 6.4. Recalculation of channels" style="max-width:100%;" onclick="openLightbox(this)"/>
348 <p class="fig-cap">Figure 6.4. Recalculation of channels</p>
349 </div>
Lana 15.2 350
Iaroslav Platonov 62.1 351 <!-- ═══ 7. ANALYSIS ═══ -->
352 <h2 id="s-analysis">7. Analysis of Metering Data <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-analysis')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h2>
Lana 15.2 353
Iaroslav Platonov 62.1 354 <h3 id="s-view-data">7.1. Viewing Metering Data <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-view-data')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
355 <p>To view historical electricity and energy metering data, select <strong>Metering data</strong> from the <code>Analysis</code> menu. The metering data analysis page opens with charts for the selected channel and time period.</p>
356 <div class="fig">
357 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.50.11.png" alt="Figure 7.1. Charts for electricity channels" style="max-width:100%;" onclick="openLightbox(this)"/>
358 <p class="fig-cap">Figure 7.1. Charts for electricity channels</p>
359 </div>
360 <div class="fig">
361 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.50.35.png" alt="Figure 7.2. Charts for energy resources channels" style="max-width:100%;" onclick="openLightbox(this)"/>
362 <p class="fig-cap">Figure 7.2. Charts for energy resources channels</p>
363 </div>
364 <div class="fig">
365 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.51.39.png" alt="Screenshot 2025-11-30 at 16.51.39.png" style="max-width:100%;" onclick="openLightbox(this)"/>
366 </div>
367 <div class="fig">
368 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.52.15.png" alt="Download button — exports selected metering channels to file" style="max-width:100%;" onclick="openLightbox(this)"/>
369 <p class="fig-cap">Download button — exports selected metering channels to file</p>
370 </div>
Lana 17.2 371
Iaroslav Platonov 62.1 372 <h3 id="s-manual-entry">7.2. Metering Data Manual Entry <a class="anchor-icon" href="javascript:void(0)" onclick="copyAnchor('s-manual-entry')" title="Copy link"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"/></svg></a></h3>
373 <p>With appropriate access rights, a user can make manual data entries. Hover over the target cell in the table, left-click, enter the new value, and click the save icon.</p>
374 <div class="fig">
375 <img src="/xwiki/bin/download/CENTO%20Manuals/5.%20Metering%20Channels/WebHome/Screenshot%202025-11-30%20at%2016.52.51.png" alt="Figure 7.3. Uploading file" style="max-width:100%;" onclick="openLightbox(this)"/>
376 <p class="fig-cap">Figure 7.3. Uploading file</p>
377 </div>
378 <div class="note note-info">
379 <div class="note-hd"><span>ℹ</span> Note</div>
380 <div class="note-body">Manual entries are logged with the user ID and timestamp and can be reviewed in the Event Logs.</div>
381 </div>
Lana 17.2 382
Iaroslav Platonov 62.1 383 <div class="parent-topic">Parent topic: <a href="[[CENTO Manuals>>doc:CENTO Manuals.WebHome]]">CENTO Manuals</a></div>
Lana 17.2 384
Iaroslav Platonov 62.1 385 </div><!-- /doc-content -->
Lana 17.2 386
Iaroslav Platonov 62.1 387 <!-- ── RIGHT TOC ── -->
388 <nav class="doc-toc">
389 <div class="toc-header">
390 <strong>On This Page</strong>
391 <button class="toc-toggle" id="toc-tog" title="Collapse">«</button>
392 </div>
393 <ul id="toc-list">
394 <li class="tl1"><a href="#s-intro" data-toc>1. Introduction</a></li>
395 <li class="tl1"><a href="#s-electricity" data-toc>2. Electricity Metering</a></li>
396 <li class="tl2"><a href="#s-device-setup" data-toc>2.1 Device Setup</a></li>
397 <li class="tl2"><a href="#s-metering-channels" data-toc>2.2 Metering Channels</a></li>
398 <li class="tl1"><a href="#s-energy" data-toc>3. Energy Metering</a></li>
399 <li class="tl1"><a href="#s-other" data-toc>4. Other Types of Metering</a></li>
400 <li class="tl1"><a href="#s-calculated" data-toc>5. Calculated Channels</a></li>
401 <li class="tl2"><a href="#s-channel-from-tag" data-toc>5.1 Channel from Tag</a></li>
402 <li class="tl2"><a href="#s-calc-channel" data-toc>5.2 Calculated Channel</a></li>
403 <li class="tl2"><a href="#s-calc-via-im" data-toc>5.3 Via Information Model</a></li>
404 <li class="tl2"><a href="#s-excel-channels" data-toc>5.4 Download / Upload</a></li>
405 <li class="tl1"><a href="#s-receipt" data-toc>6. Receipt of Data</a></li>
406 <li class="tl2"><a href="#s-manual-poll" data-toc>6.1 Manual Polling</a></li>
407 <li class="tl2"><a href="#s-recalculation" data-toc>6.2 Recalculation</a></li>
408 <li class="tl1"><a href="#s-analysis" data-toc>7. Analysis</a></li>
409 <li class="tl2"><a href="#s-view-data" data-toc>7.1 Viewing Data</a></li>
410 <li class="tl2"><a href="#s-manual-entry" data-toc>7.2 Manual Entry</a></li>
411 </ul>
412 </nav>
Lana 17.2 413
Iaroslav Platonov 62.1 414 </div><!-- /doc-wrap -->
415 <script>
Lana 19.2 416
Iaroslav Platonov 62.1 417 (function(){
418 var bar = document.getElementById('rn-prog');
419 var top = document.getElementById('rn-top');
420 window.addEventListener('scroll', function(){
421 var d = document.documentElement;
422 var pct = d.scrollTop / (d.scrollHeight - d.clientHeight);
423 bar.style.width = (pct*100)+'%';
424 d.scrollTop > 280 ? top.classList.add('on') : top.classList.remove('on');
425 }, {passive:true});
Lana 19.2 426
Iaroslav Platonov 62.1 427 /* TOC active via IntersectionObserver */
428 var links = Array.from(document.querySelectorAll('[data-toc]'));
429 var secs = links.map(function(a){
430 return {el: document.getElementById(a.getAttribute('href').slice(1)), a:a};
431 }).filter(function(s){return s.el;});
Lana 19.2 432
Iaroslav Platonov 62.1 433 var busy = false;
434 var obs = new IntersectionObserver(function(entries){
435 if (busy) return;
436 entries.forEach(function(e){
437 if (!e.isIntersecting) return;
438 var i = secs.findIndex(function(s){return s.el===e.target;});
439 if (i<0) return;
440 secs.forEach(function(s){s.a.classList.remove('toc-on');});
441 secs[i].a.classList.add('toc-on');
442 var toc = document.querySelector('.doc-toc');
443 var link = secs[i].a;
444 toc.scrollTop = link.offsetTop - toc.offsetTop - toc.clientHeight/2 + link.clientHeight/2;
445 });
446 }, {rootMargin:'-8% 0px -60% 0px', threshold:0});
447 secs.forEach(function(s){obs.observe(s.el);});
Lana 19.2 448
Iaroslav Platonov 62.1 449 links.forEach(function(a){
450 a.addEventListener('click', function(e){
451 var id = a.getAttribute('href').slice(1);
452 var el = document.getElementById(id);
453 if (!el) return;
454 e.preventDefault();
455 busy = true;
456 secs.forEach(function(s){s.a.classList.remove('toc-on');});
457 a.classList.add('toc-on');
458 el.scrollIntoView({behavior:'smooth',block:'start'});
459 setTimeout(function(){busy=false;}, 900);
460 });
461 });
Lana 19.2 462
Iaroslav Platonov 62.1 463 /* TOC collapse */
464 var tocList = document.getElementById('toc-list');
465 var togBtn = document.getElementById('toc-tog');
466 var collapsed = false;
467 togBtn && togBtn.addEventListener('click', function(){
468 collapsed = !collapsed;
469 tocList.style.display = collapsed ? 'none' : '';
470 togBtn.textContent = collapsed ? '»' : '«';
471 });
Lana 21.2 472
Iaroslav Platonov 62.1 473 /* Lightbox */
474 var lb = document.getElementById('rn-lb');
475 var lbI = document.getElementById('rn-lb-img');
476 var lbC = document.getElementById('rn-lb-cap');
477 window.openLightbox = function(img){
478 lbI.src = img.src; lbI.alt = img.alt; lbC.textContent = img.alt;
479 lb.classList.add('open'); document.body.style.overflow='hidden';
480 };
481 window.closeLightbox = function(){
482 lb.classList.remove('open'); document.body.style.overflow='';
483 };
484 lb.addEventListener('click', function(e){if(e.target===lb)closeLightbox();});
485 document.addEventListener('keydown', function(e){if(e.key==='Escape')closeLightbox();});
Lana 21.2 486
Iaroslav Platonov 62.1 487 /* Copy anchor */
488 var toast = document.getElementById('rn-toast');
489 var t;
490 window.copyAnchor = function(id){
491 var url = location.href.split('#')[0]+'#'+id;
492 if(navigator.clipboard) navigator.clipboard.writeText(url).catch(function(){});
493 else { var x=document.createElement('textarea');x.value=url;document.body.appendChild(x);x.select();document.execCommand('copy');document.body.removeChild(x); }
494 toast.classList.add('on');
495 clearTimeout(t);
496 t = setTimeout(function(){toast.classList.remove('on');}, 1600);
497 };
Lana 21.2 498
Iaroslav Platonov 62.1 499 /* ── Sticky TOC via JS ──
500 Uses position:absolute→fixed switch. No placeholder needed because
501 .doc-content has a fixed margin-right — content width never changes. */
502 (function(){
503 var toc = document.querySelector('.doc-toc');
504 var wrap = document.querySelector('.doc-wrap');
505 if (!toc || !wrap) return;
Lana 21.2 506
Iaroslav Platonov 62.1 507 var navbar = document.querySelector('.navbar, nav.navbar, #topBar, header');
508 var navH = navbar ? navbar.offsetHeight : 0;
509 var footer = document.querySelector('footer, .xwikifooter, #xwikifooter, .bottombar, .sticky-container');
Lana 21.2 510
Iaroslav Platonov 62.1 511 function update() {
512 var wr = wrap.getBoundingClientRect();
Lana 21.3 513
Iaroslav Platonov 62.1 514 if (wr.top <= navH) {
515 /* Doc-wrap has scrolled above navbar — fix the TOC */
516 var footerTop = footer ? footer.getBoundingClientRect().top : window.innerHeight;
517 var h = Math.max(0, Math.min(window.innerHeight, footerTop) - navH);
Lana 21.3 518
Iaroslav Platonov 62.1 519 toc.classList.add('is-fixed');
520 toc.style.top = navH + 'px';
521 toc.style.left = (wr.right - 200) + 'px'; /* right edge of wrap minus TOC width */
522 toc.style.height = h + 'px';
523 } else {
524 /* Still in natural position */
525 toc.classList.remove('is-fixed');
526 toc.style.top = toc.style.left = toc.style.height = '';
527 }
528 }
Lana 21.3 529
Iaroslav Platonov 62.1 530 requestAnimationFrame(function(){ requestAnimationFrame(function(){
531 update();
532 window.addEventListener('scroll', update, {passive:true});
533 window.addEventListener('resize', update, {passive:true});
534 }); });
535 })();
Lana 22.1 536
Iaroslav Platonov 62.1 537 /* ── Left panel navigation hints ── */
538 (function(){
539 var hints = {
540 'Preface': 'Introduction to CENTO Software documentation',
541 '1. User Manual': 'Web interface guide — login, diagrams, analysis, logs, reports',
542 '2. Setup Manual': 'System configuration and setup for administrators',
543 '3. Metering Channels': 'Metering channel configuration and data collection setup',
544 '4. Structure and Modules Description': 'CENTO system architecture and module overview',
545 '5. Diagrams Development Manual': 'Creating and configuring SCADA mimic diagrams',
546 '6. Flexible Reports Guide': 'Building configurable tabular reports from metering data',
547 '7. Events Setup': 'Configuring event rules, thresholds, and notifications',
548 '8. Control Setup Manual': 'Setting up remote control and switching operations',
549 'Network Diagram (CLOUD)': 'CENTO deployment topology for cloud installations',
550 'Network Diagram (On-Prem)': 'CENTO deployment topology for on-premises installations',
551 'Server Configuration Example': 'Reference server setup and configuration example',
552 'Technical Requirements': 'Hardware and software requirements for CENTO deployment',
553 'DEMO server': 'Access the live CENTO demo environment',
554 'Release Notes': 'Changelog and version history for the CENTO platform',
555 };
556 document.querySelectorAll('#leftPanels a').forEach(function(a){
557 var text = a.textContent.trim();
558 var hint = hints[text] || hints[text.replace(/^\d+\.\s*/, '')];
559 if (hint) a.setAttribute('data-hint', hint);
560 });
561 })();
562 })();
Lana 23.2 563
Iaroslav Platonov 62.1 564 </script>
565 {{/html}}