प्रलेखन

उपयोगकर्ता-परिभाषित काउंटर

नोट: cFos चार्जिंग मैनेजर SunSpec (डिवाइस प्रकार "SunSpec Solar Inverter / Meter") का उपयोग करके अधिकांश सोलर इनवर्टर को पढ़ सकता है। इस मामले में आपको अपनी स्वयं की काउंटर परिभाषा बनाने की आवश्यकता नहीं है।

सीएफओएस चार्जिंग मैनेजर आपको उन मीटरों का समर्थन करने के लिए अपनी खुद की मीटर परिभाषाएँ बनाने की अनुमति देता है जो मानक प्रदर्शनों की सूची में नहीं हैं। वर्तमान में तीन प्रकार हैं: मोडबस काउंटर, HTTP/JSON काउंटर और MQTT/JSON काउंटर। इन काउंटरों की परिभाषा फ़ाइलें बहुत समान हैं। मॉडबस मीटर मॉडबस के माध्यम से विशिष्ट रजिस्टरों से अपना डेटा पढ़ते हैं, जबकि HTTP/JSON मीटर HTTP अनुरोध के माध्यम से अपना डेटा लाते हैं और प्रतिक्रिया के रूप में JSON पढ़ते हैं। एमक्यूटीटी/जेएसओएन मीटर के लिए, सीएफओएस चार्जिंग मैनेजर एमक्यूटीटी विषयों की सदस्यता लेता है और विषय के तहत प्रकाशित संदेशों को जेएसओएन के रूप में पढ़ता है। सीएफओएस चार्जिंग मैनेजर इसे पढ़ने के लिए एक छोटी "क्वेरी भाषा" का उपयोग करता है। यहां cFos चार्जिंग मैनेजर में MQTT क्षमताओं का दस्तावेज़ीकरण दिया गया है।

वर्तमान और वोल्टेज जैसे कई पूर्वनिर्धारित चर के अलावा, उपयोगकर्ता-परिभाषित मीटर अज्ञात, उपयोगकर्ता-परिभाषित चर, क्वेरी इनपुट और सेट आउटपुट भी पढ़ सकते हैं। चरों को पढ़ने और आउटपुट सेट करने से सूत्रों का मूल्यांकन किया जा सकता है। यह नीचे वर्णित चार्जिंग मैनेजर वेरिएबल्स और वैश्विक चार्जिंग मैनेजर आउटपुट के संयोजन में एक शक्तिशाली सुविधा है और यहां तक कि कुछ होम ऑटोमेशन कार्यों और बैटरी स्टोरेज जैसे बाहरी उपकरणों के नियंत्रण की भी अनुमति देता है। यदि आप नियंत्रण कार्यों को लागू करने के लिए इसका उपयोग करते हैं, तो कृपया हमें प्रतिक्रिया दें। हम इसमें बहुत रुचि रखते हैं कि हमारे ग्राहक cFos चार्जिंग मैनेजर के साथ क्या नियंत्रित करते हैं और यह हमें ग्राहकों की जरूरतों के अनुसार चार्जिंग मैनेजर को और विकसित करने में मदद करता है।

यहां एक साधारण उदाहरण मोडबस परिभाषा है जो एक सक्रिय पावर रजिस्टर को पढ़ता है। आप बस अपने विशिष्ट आवेदन के लिए पंजीकरण संख्या बदल सकते हैं:
एकल रजिस्टर के लिए उदाहरण परिभाषा.

/JSON के लिए एक उदाहरण परिभाषा दी गई है:
डाउनलोड मोडबस मीटर के लिए नमूना परिभाषा
/JSON मीटर के लिए नमूना परिभाषा डाउनलोड करें

चार्जिंग मैनेजर पहले से ही ऐसी कुछ फाइलों के साथ आता है, लेकिन आप "सिस्टम कॉन्फ़िगरेशन" के तहत अपनी खुद की फाइलें अपलोड कर सकते हैं और उन्हें फिर से हटा भी सकते हैं।
यहां आपको काउंटर परिभाषाओं का एक बड़ा हिस्सा मिलेगा जो हम प्रदान करते हैं:
आपूर्ति की गई काउंटर परिभाषाएं डाउनलोड करें

यदि आपने अपनी स्वयं की काउंटर फ़ाइल बनाई है और यह अन्य उपयोगकर्ताओं के लिए प्रासंगिक हो सकती है, तो यदि आप इसे हमें उपलब्ध करा सकते हैं, तो हम बहुत आभारी होंगे। फिर हम इसे चार्जिंग मैनेजर के भविष्य के संस्करणों के साथ वितरित करेंगे।

अधिक काउंटरों के लिए काउंटर परिभाषाएं डाउनलोड करें

परिभाषा फ़ाइल की संरचना:

काउंटर परिभाषाएँ वैश्विक JSON ऑब्जेक्ट वाली JSON फ़ाइलें हैं जिनमें गुण और उप-ऑब्जेक्ट होते हैं। 'rtype' रीड ऑपरेशन के प्रकार को निर्धारित करता है: 0 = मॉडबस, 1 = HTTP/JSON, 2 = MQTT/JSON। 'mtype' डिवाइस प्रकार निर्धारित करता है: 0 = अन्य डिवाइस, 1 = मीटर, 2 = इन्वर्टर, 4 = बैटरी स्टोरेज।

आप उपसर्ग '0x' के साथ संख्याओं को दशमलव या हेक्स में निर्दिष्ट कर सकते हैं। '//' का उपयोग करते हुए एकल-पंक्ति टिप्पणियों की भी अनुमति है। हम आपकी परिभाषा फ़ाइलों को JSON5 सत्यापनकर्ता के माध्यम से चलाने की अनुशंसा करते हैं, उदाहरण के लिए यह JSON5 सत्यापनकर्ता

निम्नलिखित संदर्भ में सूत्रों में किन मूल्यों का उपयोग किया जा सकता है, यह समझने के लिए सूत्र अध्याय को अवश्य पढ़ें।

मोडबस परिभाषाओं में निम्नलिखित गुणों के साथ एक 'आरटीयू' ऑब्जेक्ट है:

साइलेंस_पीरियड, एमएसईसी में: मोडबस आरटीयू एक्सेस से पहले ठहराव की लंबाई निर्धारित करता है ताकि डिवाइस एक संदेश की शुरुआत को पहचान सके।
साइलेंस_सेम_स्लेव, सच: एक ही डिवाइस पर एकाधिक एक्सेस होने पर भी ठहराव बनाए रखा जाता है।
पुनः प्रयास करें: यदि डिवाइस प्रतिक्रिया नहीं देता है तो पुनः प्रयास की संख्या।
rcv_timeout: एमएसईसी में: प्रति एक्सेस, डिवाइस के प्रतिक्रिया देने तक अधिकतम प्रतीक्षा समय।

ये वैश्विक गुण मोडबस टीसीपी और आरटीयू पर लागू होते हैं:

modbus_read: पढ़ने के लिए Modbus कमांड की फ़ंक्शन संख्या, आमतौर पर 3 या 4।
modbus_read_max_registers: एक बार में पढ़े जा सकने वाले रजिस्टरों की अधिकतम संख्या।
modbus_allow_gaps: true = अप्रयुक्त रजिस्टर क्षेत्रों को रीड ऑपरेशन में पढ़ा जा सकता है।

मोडबस टीसीपी और एचटीटीपी/जेएसओएन के लिए निम्नलिखित गुणों के साथ एक वस्तु 'टीसीपी' है:

कनेक्ट_टाइमआउट: एमएसईसी है: टीसीपी कनेक्शन के लिए अधिकतम प्रतीक्षा समय।
देरी_बाद_कनेक्ट: एमएसईसी में: पहला आदेश भेजने से पहले कनेक्शन स्थापित करने के बाद रुकें।

दोनों परिभाषा प्रकारों (मोडबस और HTTP/JSON) में भी निम्नलिखित गुण हैं:

upd_delay: msec में: उस अंतराल को निर्धारित करता है जिस पर किसी उपकरण को पढ़ा जा सकता है। यदि बार-बार मतदान होता है तो कुछ उपकरण अतिभारित हो जाते हैं।
निर्माता: स्ट्रिंग, निर्माता का नाम. यह टाइल की विस्तारित जानकारी में प्रदर्शित किया जाएगा.
विलंब_संचित: सत्य = संचित मान (kWh) केवल हर 3 सेकंड में या पर्याप्त शक्ति होने पर ही पूछे जाते हैं। गलत = ये मान हमेशा पूछे जाते हैं।
ui_addr: URL, यदि वेब इंटरफ़ेस को कॉल करने के लिए डिवाइस पते से भिन्न है।
आरक्षित: उन मानों के साथ सरणी जिनकी व्याख्या 0 के रूप में की जाती है (उपयोगी है यदि डिवाइस मॉडल के आधार पर कुछ मानों का समर्थन करता है)।

यदि आप ऊपर सूचीबद्ध गुणों को छोड़ देते हैं, तो cFos चार्जिंग मैनेजर डिफ़ॉल्ट मान लेता है, जो ज्यादातर मामलों में अच्छा काम करता है।

JSON परिभाषा में आगे वेरिएबल्स की परिभाषा है जिसका उपयोग मीटर करंट, वोल्टेज आदि के मूल्यों को पढ़ने या गणना करने के लिए करता है। चार्जिंग मैनेजर निम्नलिखित चर जानता है:
प्रकार_पदनाम, संस्करण, फ़र्मवेयर_संस्करण, क्रम: ये मॉडल पदनाम बनाते हैं जैसा कि टाइल की विस्तारित जानकारी में दिखाया गया है। काउंटर सेट अप या रीसेट करते समय इनसे एक बार पूछताछ की जाती है।
वोल्टेज_एल1..वोल्टेज_एल3, करंट_एल1..करंट_एल3, पावर_डब्ल्यू, पावर_वर, पावर_वा, पावर_डब्ल्यू_एल1..पावर_डब्ल्यू_एल 3 : सीएफओएस चार्जिंग मैनेजर वोल्टेज_एल1..एल3 के लिए इन मानों से हस्ताक्षरित करंट_एल1..एल3, पावर_डब्ल्यू और पावर_वीए की गणना करने का प्रयास करता है। आपको सभी वेरिएबल निर्दिष्ट करने की आवश्यकता नहीं है. सीएफओएस चार्जिंग मैनेजर मौजूदा चर से मूल्यों की गणना करने का प्रयास करता है।
आयात_wh, निर्यात_wh: चार्जिंग प्रबंधक आयात_wh और निर्यात_wh प्रदर्शित करने के लिए इन चर का उपयोग करता है। यूनिडायरेक्शनल मीटर (जैसे इनवर्टर) के लिए आपको हमेशा केवल आयात_wh को परिभाषित करना चाहिए। निर्यात_डब्ल्यूएच को केवल द्विदिश मीटर (जैसे भंडारण या ग्रिड खपत मीटर) के लिए परिभाषित किया जाना चाहिए।

समाज: यदि उपलब्ध हो, तो बैटरी भंडारण इकाई के चार्ज की स्थिति यहां टाइल में % में प्रदर्शित होती है।
इसके अलावा, आप अलग-अलग नामों से अतिरिक्त वेरिएबल्स को परिभाषित कर सकते हैं, जिन्हें हर अपडेट के साथ सूत्रों का उपयोग करके पढ़ा या गणना किया जाता है। यदि आप 'सीएम' से शुरू होने वाले वेरिएबल को परिभाषित करते हैं। प्रारंभ, उदाहरण के लिए CM._set_price, निर्दिष्ट मान वैश्विक चार्जिंग प्रबंधक चर में संग्रहीत किए जाते हैं (नीचे देखें) और तदनुसार पूछताछ की जा सकती है।
*वाले वेरिएबल: यदि आप '*' से शुरू होने वाले वेरिएबल को परिभाषित करते हैं, तो इन्हें विस्तारित जानकारी के तहत मीटर टाइल में यूआई में प्रदर्शित किया जाएगा, उदाहरण के लिए बैटरी भंडारण का तापमान।
ध्यान दें: केवल संख्याओं और अक्षरों az और AZ का उपयोग चर नामों के रूप में किया जा सकता है।

एक चर की परिभाषा:

ऑब्जेक्ट का नाम ऊपर सूचीबद्ध वेरिएबल के नाम पर रखा गया है और इसमें निम्नलिखित गुण हैं:
निश्चित: निश्चित मान वाली स्ट्रिंग। उपयोगी यदि, उदाहरण के लिए, कोई मान निर्धारित नहीं किया जा सकता है, उदाहरण के लिए टाइप_डिज़ाइनेशन या वोल्टेज के लिए।
expr: स्ट्रिंग. चर को पढ़ा नहीं जाता है, बल्कि एक सूत्र के रूप में मूल्यांकन किया जाता है।
प्रकार: यदि तय या एक्सपीआर नहीं है, तो चर का प्रकार: int16, uint16, int32, uint32, फ्लोट, int64, स्ट्रिंग। मॉडबस के लिए रजिस्टरों को सही प्रारूप में पढ़ना महत्वपूर्ण है। uint16 और uint32 ऐसे प्रकार हैं जो केवल सकारात्मक संख्याएँ स्वीकार कर सकते हैं। JSON/HTTP के साथ आप आमतौर पर फ्लोट का उपयोग कर सकते हैं।
संकल्प: फ्लोट. पढ़ा गया मान 'रिज़ॉल्यूशन' से गुणा किया जाता है। वोल्टेज का मान वोल्ट में, करंट का मान मिलीमीटर में, बिजली का मान वाट में और ऊर्जा का मान वाट-घंटे (Wh) में होना चाहिए। नकारात्मक 'रिज़ॉल्यूशन' के साथ आप किसी मान को उलट सकते हैं यदि उस पर विपरीत चिह्न हो।
एक बार: बूल (सही या गलत)। यदि सत्य है, तो डिवाइस प्रारंभ होने पर मान केवल एक बार पढ़ा जाता है, अन्यथा समय-समय पर।
पता: संख्या (मॉडबस) या स्ट्रिंग (HTTP/JSON)। मॉडबस रजिस्टर नंबर या पढ़े जाने वाले मान का HTTP URL।
क्वेरी: स्ट्रिंग. HTTP JSON के लिए, चार्जिंग मैनेजर की क्वेरी भाषा में जानकारी जिसके साथ उसे JSON प्रतिक्रिया में पढ़ने के लिए मान मिलता है।
क्रम: स्ट्रिंग. मॉडबस के लिए, बाइट क्रम, या तो "एचएल" या "एलएच", जिसमें मान उपलब्ध है। लंबाई: संख्या. मॉडबस के साथ रजिस्टरों में एक स्ट्रिंग की लंबाई, चर 'संस्करण' और 'फर्मवेयर_वर्जन' 'लंबाई' के साथ संख्यात्मक संस्करणों को बिंदुओं के साथ स्ट्रिंग में बदलने के लिए उपयोग किया जाता है। 'लंबाई' के लिए 2 या 4 के मान की अनुमति है, जिसके परिणामस्वरूप संस्करण प्रारूप एबी, और एबीसीडी होते हैं। 'लंबाई' 2 और टाइप 'int16' या 'uint16' के लिए, चार्जिंग मैनेजर निम्न और उच्च बाइट को एक बिंदु के साथ अलग करता है, 'int32' या 'uint32' के लिए निम्न और उच्च शब्द, 'int64' निम्न और उच्च शब्द के लिए। 'लेंथ' 4 और 'int32' या 'uint32' के साथ, चार्जिंग मैनेजर मान को बिंदुओं द्वारा अलग किए गए 4 बाइट्स में तोड़ देता है। 'int64' के लिए 4 शब्द संगत हैं।
रेगेक्स: स्ट्रिंग. यदि एक रेगुलर एक्सप्रेशन निर्दिष्ट किया गया है, तो काउंटर प्रतिक्रिया का JSON में होना आवश्यक नहीं है। परिणामस्वरूप, या तो रेगुलर एक्सप्रेशन के संपूर्ण मिलान या पहले समूह का मूल्यांकन किया जाता है। कृपया केवल तभी उपयोग करें जब डिवाइस JSON नहीं लौटाता है। यहां हमारे रेगुलर एक्सप्रेशन की विशेषताओं की सूची दी गई है:
कोई चार: .
नामित वर्ग: \d \s \w \D \S \W
अनाम वर्ग: [a-z0-9_], [^0-9], [^\d]
विकल्पों वाले समूह: (ab|cd|ef)
गैर-कैप्चर किए गए समूह: (?:ab|cd)
(लालची) एक बार या कोई नहीं: ए?, ए??
(लालची) बहुत या कोई नहीं: ए*, ए*?
(लालची) एक या अधिक बार: ए+, ए+?
स्ट्रिंग की शुरुआत: ^
स्ट्रिंग का अंत: $

इनपुट की परिभाषा:

चार्जिंग मैनेजर प्रति डिवाइस विभिन्न रजिस्टरों या JSON तत्वों से 32 इनपुट मानों तक क्वेरी कर सकता है। इनपुट्स प्रॉपर्टी एक JSON सरणी है। आपको प्रत्येक इनपुट के लिए निम्नलिखित गुणों को परिभाषित करना होगा:
पता: पता (मोडबस रजिस्टर या यूआरएल)।
गिनती: इस अनुरोध के साथ पढ़े जाने वाले इनपुट बिट्स की संख्या।
क्वेरी: HTTP/JSON के लिए, प्रतिक्रिया में मान खोजने के लिए क्वेरी भाषा।

प्रत्येक अद्यतन के साथ, सीएफओ चार्जिंग मैनेजर इस तरह से परिभाषित सभी इनपुट को पढ़ता है और बिट्स को आंतरिक रूप से एक सरणी में रखता है जिसे फिर सूत्रों, इनपुट 1..इनपुटएन में क्वेरी किया जा सकता है।

आउटपुट की परिभाषा:

चार्जिंग मैनेजर प्रति डिवाइस 32 आउटपुट तक स्विच कर सकता है। आउटपुट को आउटपुट ऑब्जेक्ट के JSON सरणी के रूप में "आउटपुट" में परिभाषित किया गया है। यदि संबंधित आउटपुट की स्थिति बदल गई है तो सभी आउटपुट प्रत्येक अद्यतन चक्र के अंत में स्विच किए जाते हैं।
प्रत्येक आउटपुट के लिए आपको आउटपुट ऑब्जेक्ट में निम्नलिखित गुणों को परिभाषित करना होगा:
पता: वैकल्पिक HTTP विधि के साथ HTTP URL, उदाहरण के लिए//}। मॉडबस रजिस्टर सेट करने के लिए, आप cFos चार्जिंग मैनेजर HTTP API का उपयोग कर सकते हैं। चार्जिंग मैनेजर लोकलहोस्ट के लिए उपयुक्त एक्सेस का पता लगाता है और अनुरोध को आंतरिक हैंडलर पर रीडायरेक्ट करता है, इसलिए आपको बाहरी HTTP एपीआई एक्सेस की तरह प्राधिकरण की आवश्यकता नहीं है। यदि सभी प्रतिस्थापनों के बाद यूआरएल खाली है, तो कोई आउटपुट सेट नहीं है। उदाहरण के लिए, आप केवल आउटपुट स्विच कर सकते हैं यदि कुछ चर मौजूद हैं (सूत्र देखें: मौजूद है() फ़ंक्शन)। आप पते में ${पता} और ${id} भी निर्दिष्ट कर सकते हैं। यह सेटिंग्स में सेट किया गया वर्तमान डिवाइस पता और मोडबस आईडी है। 'पता' और 'आईडी' का उपयोग मुख्य रूप से मोडबस एपीआई (नीचे देखें) का उपयोग करने के लिए किया जाता है।
बॉडी: POST या PUT के लिए वैकल्पिक HTTP बॉडी।
यूआरएल और बॉडी में आप ${expr} फ़ार्मुलों का उपयोग कर सकते हैं जो वैश्विक चार्जिंग प्रबंधक चर या संबंधित मीटर को संदर्भित करते हैं। आउटपुट सेट करते समय सूत्र 'एक्सपीआर' का मूल्यांकन किया जाता है और यूआरएल या बॉडी के टेक्स्ट में प्रतिस्थापित किया जाता है। उपरोक्त उदाहरण में, यदि http://www.example.com?output1=1 आउटपुट सेट करता है और http://www.example.com?output1=0 इसे साफ़ करता है, तो आप एक वेरिएबल 'var1' को परिभाषित कर सकते हैं और इसे सेट कर सकते हैं इच्छानुसार 1 से या 0 सेट करें। आप मेमोरी प्रदर्शन को नियंत्रित करने के लिए मॉडबस रजिस्टरों में संख्यात्मक मान भी लिख सकते हैं जिन्हें आपने पहले एक सूत्र का उपयोग करके एक चर में संग्रहीत किया है।
यदि, एक संख्यात्मक मान पारित करने के बजाय, आपको सूत्र के आधार पर यूआरएल में एक टेक्स्ट को दूसरे के साथ बदलने की ज़रूरत है, जैसे कि शेली डब्लूएलएएन सॉकेट के साथ, तो आप इसे इस तरह लिख सकते हैं: $ {if expr`text1`text2}। "एपोस्ट्रोफ़" एक बैकटिक (ASCII कोड 96) है। यदि 'एक्सपीआर' != 0, टेक्स्ट1 का उपयोग किया जाता है, अन्यथा टेक्स्ट2 का। शेली WLAN सॉकेट के लिए, URL इस तरह दिखता है: http://<ip-addr>/रिले/0?turn=${if expr`on`off}, यानी यदि expr != 0 तो चार्जिंग मैनेजर कॉल करता है http ://<ip-addr>/रिले/0?टर्न=ऑन, अन्यथा http://<ip-addr>/रिले/0?टर्न=ऑफ।

यदि आप URL के रूप में एक सापेक्ष पथ दर्ज करते हैं, तो चार्जिंग प्रबंधक संबंधित डिवाइस के लिए कॉन्फ़िगर किया गया पता लेता है। यदि आप 'लोकलहोस्ट' को डोमेन के रूप में निर्दिष्ट करते हैं, तो चार्जिंग मैनेजर उस डिवाइस का पता लेता है जिस पर वह चल रहा है। यदि यह अपने स्वयं के एपीआई तक पहुंच का पता लगाता है, तो यह पूर्ण HTTP एक्सेस करने के बजाय आंतरिक हैंडलर का उपयोग करता है, ताकि आपको काउंटर परिभाषा में उपयोगकर्ता नाम और पासवर्ड संग्रहीत न करना पड़े। '*' से शुरू होने वाला यूआरएल चार्जिंग मैनेजर को हमेशा पूर्ण HTTP एक्सेस करने का कारण बनता है।

आउटपुट रीसेट करें: "आउटपुट" एरे के अलावा, आप "आउटपुट" एरे की तरह संरचित "रीसेट्स" नामक एरे को भी परिभाषित कर सकते हैं। यह डिवाइस के निष्क्रिय होने पर आउटपुट को उनके प्रारंभिक मानों पर रीसेट करने की अनुमति देता है। यह, उपयोगकर्ता द्वारा परिभाषित चर और "एक बार": सत्य के संयोजन में, आपको डिवाइस को उसकी प्रारंभिक स्थिति में वापस लाने की अनुमति देता है।
आउटपुट को समय-समय पर लिखें: कुछ डिवाइस पर आउटपुट को समय-समय पर लिखा जाना चाहिए, अन्यथा डिवाइस मानों को "मानक" पर वापस सेट कर देता है। उदाहरण के लिए, यदि मेमोरी कंट्रोलर कुछ समय से सक्रिय रूप से नहीं लिखा गया है तो कोस्टल मेमोरी अपने डिफ़ॉल्ट नियमों पर वापस आ जाएगी। आउटपुट को समय-समय पर सेट करने के लिए, आप पते को #xxx# के साथ उपसर्ग कर सकते हैं, जहां xxx इंगित करता है कि हर सेकंड आउटपुट फिर से लिखा जाएगा, भले ही लिखा जाने वाला मान वही रहे। उदाहरण के लिए, यदि पता /cnf?cmd=set_cm_vars&name=test&val=42 है, तो आप यह सुनिश्चित करने के लिए #30#/cnf?cmd=set_cm_vars&name=test&val=42 का उपयोग कर सकते हैं कि यह मान हर बार लिखा गया है 30 सेकंड हो जाता है.

क्वेरी भाषा की परिभाषा:

वर्तमान में, सदस्य नाम और ऑपरेटर "।" का उपयोग "क्वेरी" खोज अभिव्यक्तियों में किया जा सकता है। और "[]" का उपयोग किया जाता है, उदाहरण:

परीक्षातत्व का नाम "परीक्षण"
name1.name2तत्व का नाम "name2" चाइल्ड ऑब्जेक्ट "name1" में रखा गया है
नाम [idx]वस्तु तत्व "नाम" का तत्व "idx"। "idx" एक संख्या हो सकती है, उदाहरण के लिए सरणियों या एक स्ट्रिंग के लिए
नाम ["u2"]वस्तु तत्व "नाम" का तत्व "u2" "name.u2" से मेल खाता है
नाम [{"el1": "v1", "el2": 3}]। मानऐरे एलीमेंट का चयन करें जो ऑब्जेक्ट नोटेशन कंडीशन को संतुष्ट करता है और 'वैल्यू' नाम के एलिमेंट का मूल्यांकन करता है। यहां, उदाहरण के लिए, तत्व को 'नाम' सरणी में चुना जाता है जिसमें ऑब्जेक्ट तत्व 'el1' मान 'v1' और 'el2' मान 3 के साथ होता है और फिर तत्व 'मान' का मान इस ऑब्जेक्ट से वापस कर दिया जाता है .

वैश्विक चार्जिंग प्रबंधक चर:

आप चार्जिंग मैनेजर कॉन्फ़िगरेशन में वेरिएबल बना सकते हैं। आप मूल्य के रूप में एक निश्चित मान या सूत्र का उपयोग कर सकते हैं। प्रत्येक अद्यतन चक्र के अंत में, चार्जिंग प्रबंधक इस चर के मान की पुनर्गणना कर सकता है। फिर आप इनका उपयोग (कुछ) चार्जिंग प्रबंधक मापदंडों, चार्जिंग नियमों या आउटपुट को नियंत्रित करने के लिए कर सकते हैं। आप E x.member या M x.member को एक वेरिएबल के रूप में भी लिख सकते हैं। यहां E x और M x चार्जिंग मैनेजर में स्थापित वॉलबॉक्स या मीटर की डिवाइस आईडी हैं। 'सदस्य' एक "कस्टम" वैरिएबल है जो संबंधित डिवाइस में संग्रहीत होता है। कुछ चरों का एक विशेष अर्थ हो सकता है: केईबीए के लिए "आउट1" एक स्विचिंग आउटपुट है, एबीबी बी23 मीटर के लिए "आउट1" और "आउट2" स्विचिंग आउटपुट हैं (मॉडल पर जो इसका समर्थन करते हैं)। A 1 आउटपुट को स्विच करता है, 0 इसे फिर से बंद कर देता है।

यदि आपके पास ऐसे उपकरण हैं जिन्हें कुछ शर्तों के तहत चालू करना है लेकिन फिर कुछ समय के लिए चलाना है (जैसे वॉशिंग मशीन, डिशवॉशर), तो आप चर को "ट्रिगर" के रूप में भी परिभाषित कर सकते हैं। तब चर का सूत्र वह स्थिति है जो चर को 1 पर सेट करती है। एक समायोज्य समय के बाद, इसे फिर से 0 पर रीसेट कर दिया जाता है। एक "रेट्रिगर कंडीशन" स्विच ऑफ होने तक के समय की अनुमति देती है (यानी वेरिएबल को 0 पर सेट करना) जब तक शर्त पूरी होती है तब तक इसे बार-बार बढ़ाया जा सकता है।

ध्यान दें: केवल संख्याओं और अक्षरों az और AZ का उपयोग चर नामों के रूप में किया जा सकता है।

परीक्षण उद्देश्यों के लिए, आप चार्जिंग मैनेजर और मीटर वैरिएबल प्रदर्शित कर सकते हैं, उदाहरण के लिए अवतार से मौजूदा कीमतें:


                        काउंटर वेरिएबल्स का स्क्रीनशॉट प्रदर्शन

ग्लोबल चार्जिंग मैनेजर आउटपुट:

चार्जिंग मैनेजर कॉन्फ़िगरेशन में आप वैश्विक आउटपुट को कॉन्फ़िगर कर सकते हैं जैसा कि ऊपर 'आउटपुट' के अंतर्गत मीटर परिभाषा में बताया गया है। यदि उनकी स्थिति बदल गई है तो इन्हें प्रत्येक अद्यतन चक्र के अंत में सेट किया जाता है। यदि आप उपयोगकर्ता-परिभाषित उपकरणों में स्विचिंग आउटपुट को नियंत्रित करना चाहते हैं, तो उपरोक्त कन्वेंशन की अनुशंसा की जाती है (चार्जिंग मैनेजर वेरिएबल्स देखें): आप उपयोगकर्ता-परिभाषित काउंटर में "आउट1", "आउट2" आदि नाम के साथ वेरिएबल सेट करें और सेट अप करें उपयोगकर्ता-परिभाषित काउंटर में आउटपुट इस चर के मूल्य के आधार पर आउटपुट को स्विच करते हैं।

चार्जिंग मैनेजर ग्लोबल मोडबस एपीआई:

चार्जिंग मैनेजर के मॉडबस एपीआई का उपयोग उन मॉडबस उपकरणों को नियंत्रित करने के लिए किया जाता है जिनके पास कोई मॉडबस आरटीयू या टीसीपी पता (चार्जिंग मैनेजर द्वारा पहुंच योग्य) होता है। मोडबस आरटीयू के पते के रूप में, COMx,bd,8,p,s दर्ज करें, जैसा कि व्यक्तिगत उपकरणों के कॉन्फ़िगरेशन में होता है, जहां x COM पोर्ट नंबर है, bd बॉड दर है, p समता है ('N', 'ई' या 'ओ') और एस स्टॉप बिट्स की संख्या (1 या 2) है। मॉडबस टीसीपी के साथ, पता पोर्ट नंबर सहित चार्जिंग मैनेजर नेटवर्क में डिवाइस का आईपी पता है।
मॉडबस एपीआई का यूआरएल (HTTP GET के लिए) है:
/cnf?cmd=modbus_get या /cnf?cmd=modbus_set
सीएफओएस चार्जिंग मैनेजर निम्नलिखित अतिरिक्त क्वेरी पैरामीटर का समर्थन करता है:
पता: ऊपर उल्लिखित मॉडबस आरटीयू या टीसीपी डिवाइस पता।
func: मोडबस फ़ंक्शन नंबर, उदाहरण के लिए 3 या 4 पढ़ने के लिए, 6 या 16 लिखने के लिए।
आईडी: मोडबस डिवाइस की डिवाइस आईडी।
रेग: मोडबस रजिस्टर नंबर। मान दशमलव या हेक्स (उपसर्ग 0x के साथ) में निर्दिष्ट किया जा सकता है।
वैल: संख्या: रजिस्टर में लिखा जाने वाला मान। पढ़ते समय छोड़ दें.
प्रकार: 'w' 16 बिट (डिफ़ॉल्ट), d = 32 बिट, f = फ्लोट, q = 64 बिट, s = स्ट्रिंग।
सीएनटी: संख्या: रजिस्टरों में स्ट्रिंग की अधिकतम लंबाई, अन्य प्रकारों के लिए छोड़ें या 1 पर सेट करें।
ऑर्डर: स्ट्रिंग: बाइट ऑर्डर, या तो "एचएल" या "एलएच"।

नोट: यदि आपका 'मीटर' मुख्य रूप से नियंत्रण उद्देश्यों के लिए उपयोग किया जाता है, तो आप इस टाइल की सेटिंग में 'डिवाइस छुपाएं' विकल्प की जांच कर सकते हैं ताकि यह डिवाइस प्रारंभ पृष्ठ पर दिखाई न दे।

नोट: HTTP के माध्यम से पढ़े जाने वाले कुछ मीटरों को प्राधिकरण के रूप में उपयोगकर्ता नाम/पासवर्ड की आवश्यकता होती है। आप इसे HTTP एक्सेस के लिए पते में निर्दिष्ट कर सकते हैं, उदाहरण के लिए http://username:password@192.168.2.111 के साथ। अगर आपके यूज़रनेम या पासवर्ड में "@" है, तो आपको इसे "%40" से बदलना होगा।