मुख्य कंटेंट तक स्किप करें

प्लान-एहेड एपीआई

टिप

प्लान-अहेड एपीआई समय से पहले कार्यक्रम भेजने के लिए है। लाइव नियंत्रण के लिए, लाइव MQTT नियंत्रण देखें।

जो आपको चाहिए

  1. एक एपीआई उपयोगकर्ता नाम और पासवर्ड। इसके लिए आप अपने इनसाइट्स खाते का उपयोग कर सकते हैं, या support@eniris.be पर एक ईमेल भेजकर एपीआई खाता मांग सकते हैं, जिसमें अपने उपकरण के अनुक्रम संख्या को स्पष्ट रूप से उल्लिखित करें।
  2. पायथन विकास वातावरण (या कोई अन्य MQTT क्लाइंट)। यह गाइड आपको MQTT के साथ शुरू करने के लिए पायथन में लिखे गए एक बुनियादी उदाहरण का उपयोग करती है और आदेश भेजती है। उपयोग में आसानी के लिए हम पायथन का उपयोग करने की सिफारिश करते हैं, लेकिन कोई अन्य MQTT क्लाइंट समर्थित है।

पहली बार कॉन्फ़िगरेशन (नए उपयोगकर्ताओं के लिए प्रारंभिक बिंदु)

1. उन उपकरणों के उपकरण आईडी खोजें जिन्हें आप नियंत्रित करना चाहते हैं

उपकरण आईडी (जिसे nodeId भी कहा जाता है) हमारे प्रणाली में प्रत्येक उपकरण के लिए एक अद्वितीय पहचानकर्ता है और इसे उपकरणों को आदेश भेजते समय उपयोग किया जाता है।

इस समय, आपके आईडी प्राप्त करने का सबसे आसान तरीका है: http://<CONTROLLER_IP>/debugger

'मेटाडाटा' बॉक्स को विस्तारित करें, और उन सभी उपकरणों से प्रत्येक nodeId को नोट करें जिन्हें आप नियंत्रित करना चाहते हैं। आपको आगे के चरण में इन आईडी की आवश्यकता होगी।

Image 1

2. अपने उपकरण जोड़ें

कमिशनिंग इंटरफेस में लॉगिन करें और सुनिश्चित करें कि उपकरण जोड़े गए हैं DemoBrandName ControllerDemoName में।

3. एपीआई बाहरी संकेत जोड़ें

Image 1
Image 1
Image 1
Image 1

4. कलेक्टर टोकन दर्ज करें

यहां DemoBrandName ControllerDemoName का अनुक्रम संख्या दर्ज करें, और सबमिट पर क्लिक करें।

5. शामिल होने के लिए उपकरणों का चयन करें

इस पृष्ठ में, आपके पास दूरस्थ नियंत्रण के लिए उपकरणों को शामिल/बहिष्कृत करने का विकल्प है। सुनिश्चित करें कि आप उन उपकरणों के सभी चेकबॉक्स को चिह्नित करें जिन्हें आप शामिल करना चाहते हैं।

Image 1

6. डेटा स्रोत जोड़ा गया

दूरस्थ नियंत्रण इंटरफेस अब DemoBrandName ControllerDemoName पर सक्रिय हो गया है। आप अब उपकरणों को आदेश भेजना शुरू कर सकते हैं।

चेतावनी

DemoBrandName ControllerDemoName पर फॉलबैक शासन सेट करना न भूलें! बाहरी एपीआई संकेत भेजने के अलावा स्थानिक नियंत्रण मोड कॉन्फ़िगर किया जाना चाहिए। स्थानीय नियंत्रण का उपयोग एक फॉलबैक के रूप में किया जाता है यदि DemoBrandName ControllerDemoName इंटरनेट खो देता है या अन्य कारण हैं जो यह बनाते हैं कि एपीआई संकेत DemoBrandName ControllerDemoName तक नहीं पहुँच पाता है।

पायथन का उपयोग करके दूरस्थ नियंत्रण आदेश भेजें

नीचे, सौर या बैटरी को नियंत्रित करने के लिए पायथन स्निपेट है।

टिप

एक अधिक पूर्ण व्याख्या के लिए दस्तावेज़ ऐप्लिकेशन गाइड - रिमोट सेटपॉइंट्स देखें जिसमें सभी नीतियाँ शामिल हैं।

आवश्यक पैकेज: pip install eniris

# %% आयात
from eniris import ApiDriver
from eniris.point import Point
from eniris.point.writer import (PointDuplicateFilter, DirectPointToTelemessageWriter)
from eniris.telemessage.writer import PooledTelemessageWriter
from datetime import datetime, timezone

# %% Constants
COMMAND_UNTIL = '2024-04-16T10:26:00+02:00' # YYYY-MM-DDTHH:MM:SS+00:00
SN = '<REPLACE>'
COMMAND = fields = {'policy': 2, 'powerSetpoint_W': 0.0} # 0: Default (self-consumption); 2: Follow-setpoint


# %% कटौती शुरू करें
curtail_until = datetime.fromisoformat(COMMAND_UNTIL).astimezone(timezone.utc)
print(f'इस आदेश का पालन करते समय: {curtail_until}')
apiUsername = "<REPLACE>"
apiPassword = "<REPLACE>"

# इच्छित कार्यक्षमता के साथ एपीआई ड्राइवर और एक पॉइंट लेखक बनाएँ
driver = ApiDriver(apiUsername, apiPassword)
writer = PointDuplicateFilter(
DirectPointToTelemessageWriter(
PooledTelemessageWriter(
authorizationHeaderFunction=driver.accesstoken,
params={"u": SN},
)
)
)
namespace = {'database': 'SGC', 'retentionPolicy': 'rp_one_s'}
tags = {
"serialNr": SN,
"nodeId": '<REPLACE>',
}

writer.writePoints([Point(namespace, 'remoteControlSignals', curtail_until, tags, fields)])
writer.flush()
print('भेजा गया')

विशेष ध्यान दें:

  • 'COMMAND_UNTIL': यह एक समय क्षेत्र-जागरूक टाइमस्टैम्प है जो आपके आदेश के समाप्ति समय को दर्शाता है।
  • 'COMMAND': इसे उस आदेश के अनुसार बदलना चाहिए जिसे आप निष्पादित करना चाहते हैं।
    • उदाहरण के लिए: बैटरियों के लिए, पॉलिसी 2 के साथ powerSetpoint_W पर 1000 बैटरी को 1 किलीवाट पर चार्ज करेगा।
    • सौर के लिए, पॉलिसी 2 के साथ powerSetpoint_W पर 0 सौर उत्पादन को निष्क्रिय करेगा।
    • आपके आदेश समाप्त होने के बाद, यह स्वचालित रूप से डिफ़ॉल्ट नियंत्रण (जैसा कि DemoBrandName ControllerDemoName में कॉन्फ़िगर किया गया है) पर लौट जाएगा।
    • (अधिक उन्नत नीतियाँ समर्थित हैं, लेकिन अभी तक इस गाइड में नहीं जोड़ी गई हैं)
  • 'tags' वेरिएबल: इसे DemoBrandName ControllerDemoName SN के अनुसार बदलना चाहिए, जहाँ nodeId उस उपकरण आईडी के लिए सेट किया जाना चाहिए जिसे इस ट्यूटोरियल के पिछले चरण में निकाला गया था।
टिप

एक अधिक पूर्ण व्याख्या के लिए दस्तावेज़ ऐप्लिकेशन गाइड - रिमोट सेटपॉइंट्स देखें जिसमें सभी नीतियाँ शामिल हैं।