नोट: cFos चार्जिंग मैनेजर SunSpec (डिवाइस प्रकार "SunSpec Solar Inverter / Meter") का उपयोग करके अधिकांश सोलर इनवर्टर को पढ़ सकता है। इस मामले में आपको अपनी स्वयं की काउंटर परिभाषा बनाने की आवश्यकता नहीं है।
cFos चार्जिंग प्रबंधक आपको उन मीटरों का समर्थन करने के लिए अपनी स्वयं की मीटर परिभाषाएँ बनाने की अनुमति देता है जो मानक प्रदर्शनों की सूची में नहीं हैं। वर्तमान में तीन प्रकार हैं: मोडबस काउंटर, HTTP/JSON काउंटर और MQTT/JSON काउंटर। इन काउंटरों की परिभाषा फ़ाइलें बहुत समान हैं। मोडबस मीटर अपने डेटा को विशिष्ट रजिस्टरों से मोडबस के माध्यम से पढ़ते हैं, जबकि HTTP/JSON मीटर HTTP अनुरोध के माध्यम से अपना डेटा प्राप्त करते हैं और प्रतिक्रिया में JSON को पार्स करते हैं। MQTT/JSON मीटर के लिए, cFos चार्जिंग मैनेजर MQTT विषयों की सदस्यता लेता है और JSON के रूप में विषय के तहत प्रकाशित संदेशों को पार्स करता है। cFos चार्जिंग मैनेजर पार्सिंग के लिए एक छोटी "क्वेरी लैंग्वेज" का उपयोग करता है। यहाँ cFos चार्जिंग मैनेजर में MQTT क्षमताओं का प्रलेखन है।
कई पूर्वनिर्धारित चरों के अलावा, जैसे कि वर्तमान और वोल्टेज, उपयोगकर्ता-परिभाषित मीटर अज्ञात, उपयोगकर्ता-परिभाषित चर, क्वेरी इनपुट और सेट आउटपुट भी पढ़ सकते हैं। चरों में पढ़ना और आउटपुट सेट करना सूत्रों के मूल्यांकन की अनुमति देता है। नीचे वर्णित चार्जिंग मैनेजर वैरिएबल और ग्लोबल चार्जिंग मैनेजर आउटपुट के संयोजन में, यह एक शक्तिशाली विशेषता है और यहां तक कि कुछ होम ऑटोमेशन कार्यों और बैटरी स्टोरेज जैसे बाहरी उपकरणों के नियंत्रण की भी अनुमति देता है। यदि आप इसके साथ नियंत्रण कार्यों को लागू करते हैं, तो कृपया हमें प्रतिक्रिया दें। हम इस बात में बहुत रुचि रखते हैं कि लोग cFos चार्जिंग मैनेजर के साथ क्या नियंत्रित करते हैं और यह हमें ग्राहकों की जरूरतों के अनुसार चार्जिंग मैनेजर को और विकसित करने में मदद करता है।
यहां एक साधारण उदाहरण मोडबस परिभाषा है जो एक सक्रिय पावर रजिस्टर को पढ़ता है। आप बस अपने विशिष्ट आवेदन के लिए पंजीकरण संख्या बदल सकते हैं:
एकल रजिस्टर के लिए उदाहरण परिभाषा.
/JSON के लिए एक उदाहरण परिभाषा दी गई है:
डाउनलोड मोडबस मीटर के लिए नमूना परिभाषा
/JSON मीटर के लिए नमूना परिभाषा डाउनलोड करें
चार्जिंग मैनेजर पहले से ही ऐसी कुछ फाइलों के साथ आता है, लेकिन आप "सिस्टम कॉन्फ़िगरेशन" के तहत अपनी खुद की फाइलें अपलोड कर सकते हैं और उन्हें फिर से हटा भी सकते हैं।
यहां आपको काउंटर परिभाषाओं का एक बड़ा हिस्सा मिलेगा जो हम प्रदान करते हैं:
आपूर्ति की गई काउंटर परिभाषाएं डाउनलोड करें
यदि आपने अपनी स्वयं की काउंटर फ़ाइल बनाई है और यह अन्य उपयोगकर्ताओं के लिए प्रासंगिक हो सकती है, तो यदि आप इसे हमें उपलब्ध करा सकते हैं, तो हम बहुत आभारी होंगे। फिर हम इसे चार्जिंग मैनेजर के भविष्य के संस्करणों के साथ वितरित करेंगे।
अधिक काउंटरों के लिए काउंटर परिभाषाएं डाउनलोड करेंकाउंटर परिभाषाएँ वैश्विक JSON ऑब्जेक्ट वाली JSON फ़ाइलें हैं जिनमें गुण और उप-ऑब्जेक्ट होते हैं। 'rtype' रीड ऑपरेशन के प्रकार को निर्धारित करता है: 0 = मॉडबस, 1 = HTTP/JSON, 2 = MQTT/JSON। 'mtype' डिवाइस प्रकार निर्धारित करता है: 0 = अन्य डिवाइस, 1 = मीटर, 2 = इन्वर्टर, 4 = बैटरी स्टोरेज।
आप उपसर्ग 0x के साथ संख्याओं को दशमलव या हेक्स में निर्दिष्ट कर सकते हैं। // का उपयोग करते हुए एकल-पंक्ति टिप्पणियों की भी अनुमति है। हम आपकी परिभाषा फ़ाइलों को JSON5 सत्यापनकर्ता के माध्यम से चलाने की अनुशंसा करते हैं, उदाहरण के लिए यह JSON5 सत्यापनकर्ता
निम्नलिखित संदर्भ में सूत्रों में किन मूल्यों का उपयोग किया जा सकता है, यह समझने के लिए सूत्र अध्याय को अवश्य पढ़ें।
साइलेंस_पीरियोड, मिसे में। मोडबस आरटीयू एक्सेस से पहले विराम की लंबाई निर्धारित करता है ताकि डिवाइस एक संदेश की शुरुआत को पहचान सके।
Silence_same_slave, true: एक ही डिवाइस पर कई एक्सेस के साथ भी पॉज़ को बनाए रखा जाता है।
पुनर्प्रयास: यदि उपकरण प्रतिसाद नहीं देता है तो पुनर्प्रयासों की संख्या।
rcv_timeout: मिसे में। डिवाइस प्रतिसाद देने तक प्रति एक्सेस अधिकतम प्रतीक्षा समय।
modbus_read: मोडबस रीड कमांड का फंक्शन नंबर, आमतौर पर 3 या 4।
modbus_read_max_registers: रजिस्टरों की अधिकतम संख्या जिन्हें एक बार में पढ़ा जा सकता है।
modbus_allow_gaps: true = अप्रयुक्त रजिस्टर क्षेत्रों को रीड ऑपरेशन में पढ़ा जा सकता है।
कनेक्ट_टाइमआउट: मिसे है। टीसीपी कनेक्शन के लिए अधिकतम प्रतीक्षा समय।
देरी_आफ्टर_कनेक्ट: मिसे में। पहला आदेश भेजने से पहले कनेक्शन स्थापित करने के बाद रुकें।
upd_delay: एमएसईसी में। वह अंतराल निर्धारित करता है जिसमें किसी उपकरण को पढ़ा जा सकता है। बहुत बार मतदान होने पर कुछ उपकरण अतिभारित हो जाते हैं।
निर्माता: स्ट्रिंग, निर्माता का नाम. यह टाइल की विस्तृत जानकारी में दिखाया गया है.
विलंब_संचित: सत्य = संचित मान (kWh) केवल हर 3 सेकंड में या पर्याप्त शक्ति होने पर ही पूछे जाते हैं। गलत = ये मान हमेशा पूछे जाते हैं।
ui_addr: URL, यदि वेब इंटरफ़ेस को कॉल करने के लिए डिवाइस पते से भिन्न है।
आरक्षित: 0 के रूप में व्याख्या किए गए मानों के साथ सरणी (यदि डिवाइस मॉडल के आधार पर कुछ मानों का समर्थन करता है तो उपयोगी)।
यदि आप ऊपर सूचीबद्ध गुणों को छोड़ देते हैं, तो cFos चार्जिंग मैनेजर डिफ़ॉल्ट मान लेगा, जो ज्यादातर मामलों में ठीक काम करता है।
JSON परिभाषा में अगला चरण वेरिएबल्स की परिभाषा है जिसका उपयोग मीटर करंट, वोल्टेज आदि के मूल्यों को पढ़ने या गणना करने के लिए करता है। चार्जिंग मैनेजर निम्नलिखित चर को पहचानता है:
प्रकार_पदनाम, संस्करण, फर्मवेयर_संस्करण, क्रम: ये मॉडल पदनाम बनाते हैं जैसा कि टाइल की विस्तारित जानकारी में दिखाया गया है। काउंटर सेट अप या रीसेट करते समय इनसे एक बार पूछताछ की जाती है।
वोल्टेज_एल1..वोल्टेज_एल3, करंट_एल1..करंट_एल3, पावर_डब्ल्यू, पावर_वर, पावर_वा, पावर_डब्ल्यू_एल1..पावर_डब्ल्यू_एल3: सीएफओ चार्जिंग मैनेजर वोल्टेज_एल1..एल3 के लिए इन मानों से हस्ताक्षरित करंट_एल1..एल3, पावर_डब्ल्यू और पावर_वीए की गणना करने का प्रयास करता है। आपको सभी वेरिएबल निर्दिष्ट करने की आवश्यकता नहीं है. सीएफओएस चार्जिंग मैनेजर मौजूदा चर से मूल्यों की गणना करने का प्रयास करता है।
आयात_wh, निर्यात_wh: चार्जिंग प्रबंधक आयात_wh और निर्यात_wh प्रदर्शित करने के लिए इन चर का उपयोग करता है। यूनिडायरेक्शनल काउंटरों (जैसे इनवर्टर) के साथ आपको केवल आयात_व्ह को परिभाषित करना चाहिए। निर्यात_डब्ल्यूएच को केवल द्विदिश मीटर (जैसे मेमोरी या खरीदे गए बिजली मीटर) के लिए परिभाषित किया जाना चाहिए।
समाज: तुरंत उपलब्ध, बैटरी भंडारण की चार्ज स्थिति यहां टाइल में % में प्रदर्शित होती है।
इसके अलावा, आप अन्य वेरिएबल्स को अलग-अलग नामों से परिभाषित कर सकते हैं, जिन्हें हर अपडेट के साथ पढ़ा जाता है या सूत्रों का उपयोग करके गणना की जाती है। यदि आप वेरिएबल परिभाषित करते हैं जो सीएम का उपयोग करते हैं। प्रारंभ करें, उदाहरण के लिए CM._set_price, निर्दिष्ट मान वैश्विक चार्जिंग प्रबंधक चर में संग्रहीत किए जाते हैं (नीचे देखें) और तदनुसार पूछताछ की जा सकती है।
*के साथ वेरिएबल: यदि आप * से शुरू होने वाले वेरिएबल को परिभाषित करते हैं, तो इन्हें यूआई में काउंटर टाइल में विस्तारित जानकारी के तहत प्रदर्शित किया जाता है, उदाहरण के लिए बैटरी भंडारण का तापमान।
ऑब्जेक्ट का नाम ऊपर सूचीबद्ध वेरिएबल के नाम पर रखा गया है और इसमें निम्नलिखित गुण हैं:
निश्चित: निश्चित मान वाली स्ट्रिंग। यदि कोई मान निर्धारित नहीं किया जा सकता है तो उपयोगी, उदाहरण के लिए टाइप_डिज़ाइनेशन या वोल्टेज के लिए।
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 के लिए, प्रतिक्रिया में मान खोजने के लिए क्वेरी भाषा।
प्रत्येक अद्यतन के साथ, cFos चार्जिंग प्रबंधक इस तरह से परिभाषित सभी इनपुट को पढ़ता है और बिट्स को आंतरिक रूप से एक सरणी में रखता है जिसे फिर सूत्रों, Input1..InputN में क्वेरी किया जा सकता है।
चार्जिंग मैनेजर प्रति डिवाइस 32 आउटपुट तक स्विच कर सकता है। आउटपुट को "आउटपुट" के तहत आउटपुट ऑब्जेक्ट्स के JSON सरणी के रूप में परिभाषित किया गया है। यदि संबंधित आउटपुट की स्थिति बदल गई है, तो प्रत्येक अद्यतन चक्र के अंत में सभी आउटपुट स्विच किए जाते हैं।
आपको प्रत्येक आउटपुट के लिए आउटपुट ऑब्जेक्ट में निम्नलिखित गुणों को परिभाषित करना होगा:
पता: वैकल्पिक HTTP पद्धति के साथ HTTP URL, उदाहरण के लिए//} प्राप्त करें। मोडबस रजिस्टर सेट करने के लिए, आप cFos चार्जिंग मैनेजर HTTP API का उपयोग कर सकते हैं। चार्जिंग मैनेजर लोकलहोस्ट तक उचित पहुंच को पहचानता है और अनुरोध को आंतरिक हैंडलर पर पुनर्निर्देशित करता है ताकि आपको बाहरी HTTP एपीआई एक्सेस के साथ प्राधिकरण की आवश्यकता न हो। यदि सभी प्रतिस्थापनों के बाद URL खाली है, तो कोई आउटपुट सेट नहीं है। उदाहरण के लिए, आप केवल आउटपुट स्विच कर सकते हैं यदि कुछ चर मौजूद हैं (सूत्र देखें: मौजूद है () फ़ंक्शन)। आप पते में ${address} और ${id} भी निर्दिष्ट कर सकते हैं। सेटिंग में सेट के रूप में यह वर्तमान डिवाइस पता और मोडबस आईडी है। पता और आईडी मुख्य रूप से मोडबस एपीआई (नीचे देखें) का उपयोग करने के लिए उपयोग किया जाता है।
body: POST या PUT के लिए वैकल्पिक HTTP बॉडी।
URL और बॉडी में, आप ${expr} सूत्रों का उपयोग कर सकते हैं जो वैश्विक चार्जिंग प्रबंधक चर या संबंधित मीटर से संदर्भित होते हैं। 'expr' सूत्र का मूल्यांकन तब किया जाता है जब आउटपुट सेट किया जाता है और URL या बॉडी के टेक्स्ट में बदल दिया जाता है। उपरोक्त उदाहरण में, यदि//आउटपुट सेट करता है और//इसे साफ़ करता है, तो आप एक चर 'var1' परिभाषित कर सकते हैं और इसे सेट कर सकते हैं वांछित के रूप में 1 या 0 सेट करें। इस तरह, आप मोडबस रजिस्टरों में मेमोरी प्रदर्शन को नियंत्रित करने के लिए संख्यात्मक मान भी लिख सकते हैं जिन्हें आपने पहले एक सूत्र का उपयोग करके एक चर में संग्रहीत किया था।
यदि, URL में एक संख्यात्मक मान पास करने के बजाय, आपको सूत्र के आधार पर एक पाठ को दूसरे से बदलना है, जैसे कि शेली WLAN सॉकेट के साथ, आप इसे इस तरह लिख सकते हैं: ${if expr`text1`text2}. "एपोस्ट्रोफ" एक बैकटिक (ASCII कोड 96) है। यदि 'expr'! = 0, text1 का उपयोग किया जाता है, अन्यथा text2। शेल्ली WLAN सॉकेट का URL इस तरह दिखता है, उदाहरण के लिए: http://<ip-addr>/रिले/0?turn=${if expr`on`off}, यानी यदि expr != 0 चार्जिंग मैनेजर तब कॉल http ://<ip-addr>/रिले/0? चालू = चालू, अन्यथा http://<ip-addr>/रिले/0? चालू = बंद।
यदि आप URL के रूप में एक संबंधित पथ दर्ज करते हैं, तो चार्जिंग प्रबंधक संबंधित डिवाइस के लिए कॉन्फ़िगर किए गए पते का उपयोग करता है। यदि आप डोमेन के रूप में 'लोकलहोस्ट' दर्ज करते हैं, तो चार्जिंग मैनेजर उस डिवाइस का पता लेता है जिस पर वह चल रहा है। यदि यह अपने स्वयं के एपीआई तक पहुंच का पता लगाता है, तो यह पूर्ण एचटीटीपी एक्सेस निष्पादित करने के बजाय आंतरिक हैंडलर का उपयोग करता है, ताकि आपको मीटर परिभाषा में उपयोगकर्ता नाम और पासवर्ड स्टोर न करना पड़े। * से शुरू होने वाला URL चार्जिंग मैनेजर को हमेशा पूर्ण 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 को एक वेरिएबल के रूप में भी लिख सकते हैं। यहां ई एक्स और एम एक्स चार्जिंग मैनेजर में स्थापित वॉल बॉक्स या मीटर की डिवाइस आईडी है। सदस्य एक "उपयोगकर्ता-परिभाषित" चर है जो संबंधित डिवाइस में संग्रहीत होता है। कुछ चर का एक विशेष अर्थ हो सकता है: केईबीए के साथ "आउट 1" एक स्विचिंग आउटपुट है, एबीबी बी 23 मीटर "आउट 1" और "आउट 2" आउटपुट स्विच कर रहे हैं (इसका समर्थन करने वाले मॉडल के लिए)। ए 1 आउटपुट स्विच करता है, 0 इसे फिर से बंद कर देता है।
यदि आपके पास ऐसे उपकरण हैं जिन्हें कुछ शर्तों के तहत चालू करना है लेकिन फिर कुछ समय के लिए चलाना है (जैसे वॉशिंग मशीन, डिशवॉशर), तो आप चर को "ट्रिगर" के रूप में भी परिभाषित कर सकते हैं। तब चर का सूत्र वह स्थिति है जो चर को 1 पर सेट करती है। एक समायोज्य समय के बाद, इसे फिर से 0 पर रीसेट कर दिया जाता है। एक "रेट्रिगर कंडीशन" स्विच ऑफ होने तक के समय की अनुमति देती है (यानी वेरिएबल को 0 पर सेट करना) जब तक शर्त पूरी होती है तब तक इसे बार-बार बढ़ाया जा सकता है।
परीक्षण उद्देश्यों के लिए, आप चार्जिंग मैनेजर और मीटर वैरिएबल प्रदर्शित कर सकते हैं, उदाहरण के लिए अवतार से मौजूदा कीमतें:
चार्जिंग मैनेजर कॉन्फ़िगरेशन में, आप 'आउटपुट' के तहत मीटर परिभाषा में ऊपर वर्णित वैश्विक आउटपुट को कॉन्फ़िगर कर सकते हैं। ये प्रत्येक अद्यतन चक्र के अंत में सेट किए जाते हैं यदि उनकी स्थिति बदल गई है। यदि आप उपयोगकर्ता-परिभाषित उपकरणों में स्विचिंग आउटपुट को नियंत्रित करना चाहते हैं, तो उपरोक्त सम्मेलन की सिफारिश की जाती है (देखें प्रबंधक चर चार्ज करना): आप उपयोगकर्ता द्वारा परिभाषित मीटर में "आउट 1", "आउट 2", आदि नामों के साथ चर सेट करते हैं और सेट करते हैं उपयोगकर्ता-परिभाषित मीटर में आउटपुट जो इस चर के मान के आधार पर आउटपुट स्विच करें।
चार्जिंग मैनेजर के मोडबस एपीआई का उपयोग मोडबस उपकरणों को नियंत्रित करने के लिए किया जाता है जिनमें कोई मोडबस आरटीयू या टीसीपी पता होता है (जिसे चार्जिंग मैनेजर द्वारा पहुंचा जा सकता है)। मोडबस आरटीयू के पते के रूप में COMx,bd,8,p,s दर्ज करें, जैसा कि व्यक्तिगत उपकरणों के विन्यास में है, जहां x COM पोर्ट नंबर है, bd बॉड दर है, p समता है ('N', ' E' या 'O') और s स्टॉप बिट्स (1 या 2) की संख्या है। मोडबस टीसीपी के साथ, पता पोर्ट नंबर सहित चार्जिंग मैनेजर नेटवर्क में डिवाइस का आईपी पता है।
मोडबस एपीआई का URL (HTTP GET के लिए) है:
/cnf?cmd=modbus_get या /cnf?cmd=modbus_set
cFos चार्जिंग मैनेजर निम्नलिखित अतिरिक्त क्वेरी पैरामीटर का समर्थन करता है:
addr: उपरोक्त मोडबस आरटीयू या टीसीपी डिवाइस का पता।
func: मोडबस फंक्शन नंबर, जैसे पढ़ने के लिए 3 या 4, लिखने के लिए 6 या 16।
आईडी: मोडबस डिवाइस की डिवाइस आईडी।
reg: मोडबस रजिस्टर नंबर। मान दशमलव या हेक्स (उपसर्ग 0x के साथ) में निर्दिष्ट किया जा सकता है।
वैल: संख्या, मान रजिस्टर में लिखा जाना है। पढ़ते समय चूक।
टाइप करें: 'डब्ल्यू' 16 बिट (डिफ़ॉल्ट), डी = 32 बिट, एफ = फ्लोट, क्यू = 64 बिट, एस = स्ट्रिंग।
cnt: संख्या, रजिस्टरों में स्ट्रिंग की अधिकतम लंबाई, अन्य प्रकारों के लिए छोड़ दें या 1 पर सेट करें।
ऑर्डर: स्ट्रिंग जिसमें बाइट ऑर्डर होता है, या तो "एचएल" या "एलएच"।
नोट: यदि आपका 'मीटर' मुख्य रूप से नियंत्रण उद्देश्यों के लिए उपयोग किया जाता है, तो आप इस टाइल की सेटिंग में 'डिवाइस छुपाएं' विकल्प की जांच कर सकते हैं ताकि यह डिवाइस प्रारंभ पृष्ठ पर दिखाई न दे।
नोट: HTTP के माध्यम से पढ़े जाने वाले कुछ मीटरों को प्राधिकरण के रूप में उपयोगकर्ता नाम/पासवर्ड की आवश्यकता होती है। आप इसे HTTP एक्सेस के लिए पते में निर्दिष्ट कर सकते हैं, उदाहरण के लिए http://username:password@192.168.2.111
के साथ। अगर आपके यूज़रनेम या पासवर्ड में "@" है, तो आपको इसे "%40" से बदलना होगा।