เอกสาร

ตัวนับที่ผู้ใช้กำหนด

หมายเหตุ: cFos Charging Manager สามารถอ่านค่าอินเวอร์เตอร์พลังงานแสงอาทิตย์ส่วนใหญ่ได้โดยใช้ SunSpec (ประเภทอุปกรณ์ "SunSpec Solar Inverter / Meter") ในกรณีนี้ คุณไม่จำเป็นต้องสร้างคำนิยามตัวนับของคุณเอง

cFos Charging Manager ช่วยให้คุณสร้างคำจำกัดความของมิเตอร์ของคุณเองเพื่อรองรับมิเตอร์ที่ไม่ได้อยู่ในรายการมาตรฐาน ขณะนี้มีสามประเภท: ตัวนับ Modbus, ตัวนับ HTTP/JSON และตัวนับ MQTT/JSON แฟ้มข้อกำหนดสำหรับตัวนับเหล่านี้จะคล้ายกันมาก ตัววัด Modbus อ่านข้อมูลจากรีจิสเตอร์เฉพาะผ่าน Modbus ในขณะที่ตัววัด HTTP/JSON ดึงข้อมูลผ่านคำขอ HTTP และอ่าน JSON เป็นการตอบกลับ สำหรับมิเตอร์ MQTT/JSON นั้น cFos Charging Manager จะสมัครรับหัวข้อ MQTT และอ่านข้อความที่เผยแพร่ภายใต้หัวข้อเป็น JSON cFos Charging Manager ใช้ "ภาษาสืบค้น" ขนาดเล็กในการอ่าน นี่คือเอกสารประกอบ ความสามารถ MQTT ใน cFos Charging Manager

นอกจากตัวแปรที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง เช่น กระแสและแรงดันแล้ว มิเตอร์ที่ผู้ใช้กำหนดยังสามารถอ่านตัวแปรที่ไม่รู้จักและที่ผู้ใช้กำหนด อินพุตแบบสอบถาม และเอาต์พุตที่ตั้งค่าไว้ การอ่านตัวแปรและการตั้งค่าเอาต์พุตทำให้สามารถประเมินสูตรได้ นี่เป็นคุณสมบัติอันทรงพลังเมื่อใช้ร่วมกับตัวแปรตัวจัดการการชาร์จและเอาท์พุตตัวจัดการการชาร์จทั่วโลกที่อธิบายไว้ด้านล่าง และยังอนุญาตให้ทำงานอัตโนมัติในบ้านบางอย่างและควบคุมอุปกรณ์ภายนอก เช่น ที่จัดเก็บแบตเตอรี่ หากคุณใช้สิ่งนี้เพื่อใช้งานการควบคุม โปรดให้ข้อเสนอแนะแก่เรา เรามีความสนใจอย่างมากในสิ่งที่ลูกค้าของเราควบคุมด้วย cFos Charging Manager และช่วยให้เราพัฒนา Chargeing Manager ต่อไปได้ตามความต้องการของลูกค้า

นี่คือตัวอย่างง่ายๆ คำจำกัดความของ Modbus ที่อ่านการลงทะเบียนพลังงานที่ใช้งานอยู่ตัวเดียว คุณสามารถเปลี่ยนหมายเลขลงทะเบียนสำหรับแอปพลิเคชันเฉพาะของคุณได้ง่ายๆ:
ตัวอย่างคำจำกัดความสำหรับการลงทะเบียนเดียว.

นี่คือตัวอย่างคำจำกัดความสำหรับ Modbus และคำจำกัดความสำหรับ HTTP/JSON:
ดาวน์โหลดคำจำกัดความตัวอย่างสำหรับ Modbus meter
ดาวน์โหลดคำจำกัดความตัวอย่างสำหรับตัววัด HTTP/JSON

ตัวจัดการการชาร์จมาพร้อมกับไฟล์ดังกล่าวบางไฟล์ แต่คุณสามารถอัปโหลดไฟล์ของคุณเองภายใต้ "การกำหนดค่าระบบ" และลบไฟล์เหล่านั้นอีกครั้ง
ที่นี่คุณจะได้พบกับคำจำกัดความเคาน์เตอร์ส่วนใหญ่ที่เรามีให้:
ดาวน์โหลดคำจำกัดความตัวนับที่ให้มา

หากคุณได้สร้างไฟล์ตัวนับของคุณเองและอาจเกี่ยวข้องกับผู้ใช้รายอื่นเราจะขอบคุณมากหากคุณสามารถทำให้มันพร้อมใช้งานสำหรับเรา จากนั้นเราจะส่งมอบมันพร้อมกับโปรแกรมจัดการการชาร์จในอนาคต

ดาวน์โหลดคำจำกัดความของตัวนับสำหรับตัวนับเพิ่มเติม

โครงสร้างของไฟล์คำจำกัดความ:

คำจำกัดความของตัวนับคือไฟล์ JSON ที่มีออบเจ็กต์ JSON โกลบอลที่มีคุณสมบัติและออบเจ็กต์ย่อย 'rtype' กำหนดประเภทของการดำเนินการอ่าน: 0 = Modbus, 1 = HTTP/JSON, 2 = MQTT/JSON 'mtype' กำหนดประเภทอุปกรณ์: 0 = อุปกรณ์อื่นๆ, 1 = มิเตอร์, 2 = อินเวอร์เตอร์, 4 = ที่เก็บข้อมูลแบตเตอรี่

คุณสามารถระบุตัวเลขเป็นทศนิยมหรือฐานสิบหกด้วยคำนำหน้า '0x' อนุญาตให้ใช้ความคิดเห็นบรรทัดเดียวโดยใช้ '//' ได้ เราขอแนะนำให้เรียกใช้ไฟล์คำจำกัดความของคุณผ่านเครื่องมือตรวจสอบ JSON5 เช่น เครื่องมือตรวจสอบ JSON5 นี้

อย่าลืมอ่านบท สูตร เพื่อทำความเข้าใจว่าค่าใดบ้างที่สามารถใช้ในสูตรในข้อมูลอ้างอิงต่อไปนี้

คำจำกัดความ Modbus มีวัตถุ 'rtu' ที่มีคุณสมบัติดังต่อไปนี้:

Silence_Period ในหน่วยมิลลิวินาที: กำหนดระยะเวลาหยุดชั่วคราวก่อนการเข้าถึง Modbus RTU เพื่อให้อุปกรณ์จดจำจุดเริ่มต้นของข้อความ
Silence_same_slave, จริง: การหยุดชั่วคราวจะคงอยู่แม้ว่าจะมีการเข้าถึงอุปกรณ์เดียวกันหลายครั้งก็ตาม
ลองใหม่: จำนวนลองใหม่หากอุปกรณ์ไม่ตอบสนอง
rcv_timeout: เป็น msec: เวลารอสูงสุดจนกว่าอุปกรณ์จะตอบสนองต่อการเข้าถึง

คุณสมบัติส่วนกลางเหล่านี้ใช้กับ Modbus TCP และ RTU:

modbus_read: หมายเลขฟังก์ชันของคำสั่ง Modbus สำหรับการอ่าน โดยปกติจะเป็น 3 หรือ 4
modbus_read_max_registers: จำนวนรีจิสเตอร์สูงสุดที่สามารถอ่านได้ในครั้งเดียว
modbus_allow_gaps: true = พื้นที่ลงทะเบียนที่ไม่ได้ใช้อาจถูกอ่านในการดำเนินการอ่าน

สำหรับ Modbus TCP และ HTTP/JSON มีอ็อบเจ็กต์ 'tcp' ที่มีคุณสมบัติดังต่อไปนี้:

Connect_timeout: is msec: เวลารอสูงสุดสำหรับการเชื่อมต่อ TCP
Delay_after_connect: เป็น msec: หยุดชั่วคราวหลังจากสร้างการเชื่อมต่อก่อนที่จะส่งคำสั่งแรก

ทั้งสองประเภทคำจำกัดความ (Modbus และ HTTP/JSON) มีคุณสมบัติดังต่อไปนี้:

upd_delay: เป็น msec: กำหนดช่วงเวลาที่สามารถอ่านอุปกรณ์ได้ อุปกรณ์บางตัวจะโอเวอร์โหลดหากมีการโพลบ่อยเกินไป
ผู้ผลิต: String, ชื่อของผู้ผลิต. ข้อมูลนี้จะแสดงในข้อมูลที่ขยายของไทล์
Delay_accumulated: true = ค่าสะสม (kWh) จะสอบถามทุกๆ 3 วินาทีเท่านั้น หรือเมื่อมีไฟเพียงพอ false = ค่าเหล่านี้จะถูกสอบถามอยู่เสมอ
ui_addr: URL หากแตกต่างจากที่อยู่อุปกรณ์สำหรับเรียกเว็บอินเตอร์เฟส
สงวนไว้: อาร์เรย์ที่มีค่าที่ตีความว่าเป็น 0 (มีประโยชน์หากอุปกรณ์รองรับค่าบางค่าขึ้นอยู่กับรุ่น)

หากคุณละเว้นคุณสมบัติที่ระบุไว้ข้างต้น cFos Charging Manager จะใช้ค่าเริ่มต้น ซึ่งทำงานได้ดีในกรณีส่วนใหญ่

ต่อไปในคำจำกัดความ JSON คือคำจำกัดความของตัวแปรที่ตัวนับใช้ในการอ่านหรือคำนวณค่ากระแส แรงดัน ฯลฯ ตัวจัดการการชาร์จทราบตัวแปรต่อไปนี้:
type_designation, version, Firmware_version, serial: สิ่งเหล่านี้สร้างการกำหนดโมเดลตามที่แสดงในข้อมูลเพิ่มเติมของไทล์ สิ่งเหล่านี้จะถูกสอบถามหนึ่งครั้งเมื่อตั้งค่าหรือรีเซ็ตตัวนับ
voltage_l1..volt_l3, current_l1..current_l3, power_w, power_var, power_va, power_w_l1..power_w_l3: cFos Charging Manager พยายามคำนวณ current_l1..l3, power_w และ power_va ที่ลงนามแล้วจากค่าเหล่านี้สำหรับ Voltage_l1..l3 คุณไม่จำเป็นต้องระบุตัวแปรทั้งหมด cFos Charging Manager พยายามคำนวณค่าจากตัวแปรที่มีอยู่
import_wh,export_wh: ตัวจัดการการชาร์จใช้ตัวแปรเหล่านี้เพื่อแสดง import_wh และexport_wh สำหรับมิเตอร์แบบทิศทางเดียว (เช่น อินเวอร์เตอร์) คุณควรกำหนดเฉพาะ import_wh เท่านั้น ควรกำหนด Export_wh สำหรับมิเตอร์แบบสองทิศทางเท่านั้น (เช่น มิเตอร์การจัดเก็บหรือปริมาณการใช้กริด)

soc: หากมี สถานะการชาร์จของหน่วยเก็บแบตเตอรี่จะแสดงที่นี่เป็น % ในไทล์
นอกจากนี้ คุณยังสามารถกำหนดตัวแปรเพิ่มเติมด้วยชื่อที่แตกต่างกันซึ่งจะอ่านหรือคำนวณโดยใช้สูตรทุกครั้งที่มีการอัพเดต หากคุณกำหนดตัวแปรที่ขึ้นต้นด้วย 'CM' start เช่น CM._set_price ค่าที่กำหนดจะถูกจัดเก็บไว้ในตัวแปรตัวจัดการการชาร์จส่วนกลาง (ดูด้านล่าง) และสามารถสอบถามได้ตามนั้น
ตัวแปรที่มี *: หากคุณกำหนดตัวแปรที่ขึ้นต้นด้วย '*' ตัวแปรเหล่านี้จะแสดงใน UI ในช่องมิเตอร์ใต้ข้อมูลเพิ่มเติม เช่น อุณหภูมิของที่เก็บแบตเตอรี่
หมายเหตุ: เฉพาะตัวเลขและตัวอักษร az และ AZ เท่านั้นที่สามารถใช้เป็นชื่อตัวแปรได้

คำจำกัดความของตัวแปร:

วัตถุนี้ตั้งชื่อตามชื่อของตัวแปรที่แสดงด้านบนและมีคุณสมบัติดังต่อไปนี้:
คงที่: สตริงที่มีค่าคงที่ มีประโยชน์หากไม่สามารถกำหนดค่าได้ เช่น สำหรับ type_designation หรือแรงดันไฟฟ้า
expr: สตริง ตัวแปรไม่ได้ถูกอ่าน แต่ประเมินเป็นสูตร
type: ถ้าไม่คงที่หรือ expr ประเภทของตัวแปร: int16, uint16, int32, uint32, float, int64, string นี่เป็นสิ่งสำคัญสำหรับ Modbus ในการอ่านรีจิสเตอร์ในรูปแบบที่ถูกต้อง uint16 และ uint32 เป็นประเภทที่รับได้เฉพาะจำนวนบวกเท่านั้น ด้วย JSON/HTTP คุณสามารถใช้ float ได้
ความละเอียด: ลอย ค่าที่อ่านจะคูณด้วย 'ความละเอียด' ค่าแรงดันไฟฟ้าต้องเป็นโวลต์ กระแสเป็นมิลลิแอมแปร์ กำลังเป็นวัตต์ และพลังงานเป็นวัตต์-ชั่วโมง (Wh) ด้วย 'ความละเอียด' ที่เป็นลบ คุณสามารถกลับค่าได้หากมีเครื่องหมายตรงกันข้าม
ครั้งเดียว: bool (จริงหรือเท็จ) หากเป็นจริง ค่าจะถูกอ่านเพียงครั้งเดียวเมื่อมีการเตรียมใช้งานอุปกรณ์ มิเช่นนั้นจะอ่านเป็นระยะๆ
ที่อยู่: หมายเลข (Modbus) หรือสตริง (HTTP/JSON) หมายเลขลงทะเบียน Modbus หรือ URL HTTP ของค่าที่จะอ่าน
สอบถาม: สตริง สำหรับ HTTP JSON หมายถึงข้อมูลในภาษาคิวรีของผู้จัดการการเรียกเก็บเงินที่ใช้ค้นหาค่าที่จะอ่านในการตอบกลับ JSON
ลำดับ: สตริง. สำหรับ Modbus ลำดับไบต์คือ "hl" หรือ "lh" ซึ่งมีค่าอยู่ ความยาว: หมายเลข. ด้วย Modbus ความยาวของสตริงในรีจิสเตอร์ โดยมีตัวแปร 'version' และ 'firmware_version' 'length' ถูกใช้เพื่อเปลี่ยนเวอร์ชันตัวเลขให้เป็นสตริงที่มีจุด อนุญาตให้ใช้ค่า 2 หรือ 4 สำหรับ 'ความยาว' ซึ่งจะส่งผลให้มีรูปแบบเวอร์ชัน ab และ abcd สำหรับ 'length' 2 และพิมพ์ 'int16' หรือ 'uint16' ตัวจัดการการชาร์จจะแยกไบต์ต่ำและสูงด้วยจุด สำหรับ 'int32' หรือ 'uint32' คำต่ำและสูง สำหรับ 'int64' dword ต่ำและสูง ด้วย 'lenth' 4 และ 'int32' หรือ 'uint32' ตัวจัดการการชาร์จจะแบ่งค่าออกเป็น 4 ไบต์โดยคั่นด้วยจุด สำหรับ 'int64' ทั้ง 4 คำตรงกัน
regex: สตริง หากมีการระบุนิพจน์ทั่วไป การตอบกลับของตัวนับไม่จำเป็นต้องอยู่ใน JSON ด้วยเหตุนี้ การจับคู่นิพจน์ทั่วไปทั้งหมดหรือกลุ่มแรกจึงได้รับการประเมิน โปรดใช้เฉพาะในกรณีที่อุปกรณ์ไม่ส่งคืน JSON นี่คือรายการคุณลักษณะของนิพจน์ทั่วไปของเรา:
อักขระใด ๆ: .
คลาสที่มีชื่อ: \d \s \w \D \S \W
คลาสที่ไม่ระบุชื่อ: [a-z0-9_], [^0-9], [^\d]
กลุ่มที่มีทางเลือก: (ab|cd|ef)
กลุ่มที่ไม่ได้ถูกจับ: (?:ab|cd)
(โลภ) สักครั้งหรือไม่มีเลย: a?, a??
(โลภ) มากมายหรือไม่มีเลย: a*, a*?
(โลภ) หนึ่งครั้งหรือมากกว่า: a+, a+?
จุดเริ่มต้นของสตริง: ^
จุดสิ้นสุดของสตริง: $

คำจำกัดความของอินพุต:

ตัวจัดการการชาร์จสามารถค้นหาค่าอินพุตได้สูงสุด 32 ค่าจากรีจิสเตอร์หรือองค์ประกอบ JSON ที่แตกต่างกันต่ออุปกรณ์ คุณสมบัติอินพุตเป็นอาร์เรย์ JSON คุณต้องกำหนดคุณสมบัติต่อไปนี้สำหรับแต่ละอินพุต:
ที่อยู่: ที่อยู่ (การลงทะเบียน Modbus หรือ URL)
count: จำนวนบิตอินพุตที่อ่านพร้อมกับคำขอนี้
query: สำหรับ HTTP/JSON, Query Language เพื่อค้นหาค่าในการตอบกลับ

ในการอัปเดตแต่ละครั้ง cFos Charging Manager จะอ่านอินพุตทั้งหมดที่กำหนดไว้ในลักษณะนี้ และวางบิตไว้ภายในอาเรย์ที่สามารถสืบค้นได้ในสูตร Input1..InputN

คำจำกัดความของผลลัพธ์:

ตัวจัดการการชาร์จสามารถสลับเอาต์พุตได้สูงสุด 32 รายการต่ออุปกรณ์ เอาต์พุตถูกกำหนดไว้ใน "เอาต์พุต" เป็นอาร์เรย์ JSON ของออบเจ็กต์เอาต์พุต เอาต์พุตทั้งหมดจะถูกสลับเมื่อสิ้นสุดแต่ละรอบการอัพเดต หากสถานะของเอาต์พุตที่เกี่ยวข้องมีการเปลี่ยนแปลง
สำหรับแต่ละเอาต์พุต คุณต้องกำหนดคุณสมบัติต่อไปนี้ในออบเจ็กต์เอาต์พุต:
ที่อยู่: HTTP URL พร้อมวิธี HTTP ทางเลือก เช่น GET//} หากต้องการตั้งค่าการลงทะเบียน Modbus คุณสามารถใช้ cFos Charging Manager HTTP API ตัวจัดการการชาร์จจะตรวจจับการเข้าถึงที่เหมาะสมไปยัง localhost และเปลี่ยนเส้นทางคำขอไปยังตัวจัดการภายใน ดังนั้นคุณจึงไม่จำเป็นต้องมีการอนุญาตเช่นเดียวกับการเข้าถึง HTTP API ภายนอก หาก URL ว่างเปล่าหลังจากการแทนที่ทั้งหมด จะไม่มีการตั้งค่าเอาต์พุต ตัวอย่างเช่น คุณสามารถสลับเอาต์พุตได้หากมีตัวแปรบางตัวอยู่เท่านั้น (ดูสูตร: ฟังก์ชันมีอยู่()) คุณยังสามารถระบุ ${address} และ ${id} ในที่อยู่ได้ นี่คือที่อยู่อุปกรณ์ปัจจุบันและ Modbus ID ตามที่ตั้งค่าไว้ในการตั้งค่า 'address' และ 'id' ใช้เป็นหลักในการใช้ Modbus API (ดูด้านล่าง)
body: เนื้อหา HTTP เสริมสำหรับ POST หรือ PUT
ใน URL และเนื้อหา คุณสามารถใช้สูตร ${expr} ที่อ้างอิงตัวแปรตัวจัดการการชาร์จส่วนกลางหรือมิเตอร์ที่เกี่ยวข้อง สูตร 'expr' จะได้รับการประเมินเมื่อตั้งค่าเอาต์พุตและแทนที่ในข้อความของ URL หรือเนื้อหา ในตัวอย่างด้านบน หาก http://www.example.com?output1=1 ตั้งค่าเอาต์พุตและ http://www.example.com?output1=0 ล้างเอาต์พุต คุณสามารถกำหนดตัวแปร 'var1' และตั้งค่าได้ เป็น 1 ตามต้องการ หรือตั้งค่าเป็น 0 คุณยังสามารถเขียนค่าตัวเลขเพื่อควบคุมประสิทธิภาพของหน่วยความจำลงใน Modbus register ที่คุณเคยจัดเก็บไว้ในตัวแปรโดยใช้สูตรได้
แทนที่จะส่งค่าตัวเลข หากคุณต้องการแทนที่ข้อความหนึ่งใน URL ด้วยอีกข้อความหนึ่งโดยขึ้นอยู่กับสูตร เช่น ด้วยซ็อกเก็ต Shelly WLAN คุณสามารถเขียนได้ดังนี้: ${if expr`text1`text2} "เครื่องหมายอะพอสทรอฟี่" คือเครื่องหมายย้อนกลับ (รหัส ASCII 96) หาก 'expr' != 0 จะใช้ text1 มิฉะนั้น text2 สำหรับซ็อกเก็ต Shelly WLAN URL จะมีลักษณะดังนี้: http://<ip-addr>/Relay/0?turn=${if expr`on`off} เช่น ถ้า expr != 0 ตัวจัดการการชาร์จจะเรียกใช้ http ://<ip-addr>/รีเลย์/0?turn=on เปิด มิฉะนั้น http://<ip-addr>/รีเลย์/0?turn=off

หากคุณป้อนเส้นทางสัมพัทธ์เป็น URL ตัวจัดการการชาร์จจะใช้ที่อยู่ที่กำหนดค่าไว้สำหรับอุปกรณ์ที่เกี่ยวข้อง หากคุณระบุ 'localhost' เป็นโดเมน ตัวจัดการการชาร์จจะใช้ที่อยู่ของอุปกรณ์ที่ใช้งานอยู่ หากตรวจพบการเข้าถึง API ของตัวเอง ระบบจะใช้ตัวจัดการภายในแทนการดำเนินการเข้าถึง HTTP แบบเต็ม เพื่อที่คุณจะได้ไม่ต้องจัดเก็บชื่อผู้ใช้และรหัสผ่านในคำจำกัดความของตัวนับ URL ที่ขึ้นต้นด้วย '*' ทำให้ตัวจัดการการชาร์จทำการเข้าถึง HTTP แบบเต็มเสมอ

รีเซ็ตเอาต์พุต: นอกเหนือจากอาร์เรย์ "เอาต์พุต" แล้ว คุณยังสามารถกำหนดอาร์เรย์ที่เรียกว่า "รีเซ็ต" ซึ่งมีโครงสร้างเหมือนกับอาร์เรย์ "เอาท์พุต" ได้อีกด้วย ซึ่งช่วยให้สามารถรีเซ็ตเอาต์พุตเป็นค่าเริ่มต้นได้เมื่ออุปกรณ์ถูกปิดใช้งาน เมื่อใช้ร่วมกับตัวแปรที่ผู้ใช้กำหนดและ "ครั้งเดียว": จริง จะทำให้อุปกรณ์กลับสู่สถานะเริ่มต้นได้
เขียนเอาต์พุตเป็นระยะ: ในอุปกรณ์บางตัวจะต้องเขียนเอาต์พุตเป็นระยะ ๆ มิฉะนั้นอุปกรณ์จะตั้งค่ากลับเป็น "มาตรฐาน" ตัวอย่างเช่น หน่วยความจำ Kostal จะเปลี่ยนกลับเป็นกฎเริ่มต้นหากไม่ได้เขียนตัวควบคุมหน่วยความจำมาระยะหนึ่งแล้ว หากต้องการตั้งค่าเอาต์พุตเป็นระยะ คุณสามารถกำหนดที่อยู่ด้วย #xxx# โดยที่ xxx ระบุทุกวินาทีที่เอาต์พุตจะถูกเขียนใหม่ แม้ว่าค่าที่จะเขียนจะยังคงเท่าเดิมก็ตาม ตัวอย่างเช่น หากที่อยู่คือ /cnf?cmd=set_cm_vars&name=test&val=42 คุณสามารถใช้ #30#/cnf?cmd=set_cm_vars&name=test&val=42 เพื่อให้แน่ใจว่าค่านี้เขียนทุกๆ 30 วินาทีจะกลายเป็น

คำจำกัดความของภาษาแบบสอบถาม:

ปัจจุบัน ชื่อสมาชิกและตัวดำเนินการ "." สามารถใช้ในนิพจน์การค้นหา "query" และ "[]" ใช้ ตัวอย่าง:

ทดสอบองค์ประกอบที่ชื่อว่า "test"
name1.name2องค์ประกอบชื่อ "name2" ในออบเจ็กต์ลูก "name1"
ชื่อ [idx]องค์ประกอบ "idx" ขององค์ประกอบ "ชื่อ" ของวัตถุ "idx" อาจเป็นตัวเลขได้ เช่น สำหรับอาร์เรย์หรือสตริง
ชื่อ ["u2"]องค์ประกอบ "u2" ขององค์ประกอบวัตถุ "ชื่อ" สอดคล้องกับ "name.u2"
ชื่อ[{"el1": "v1", "el2": 3}].valueเลือกองค์ประกอบอาร์เรย์ที่ตรงตามเงื่อนไขสัญกรณ์วัตถุและประเมินองค์ประกอบที่ชื่อ 'ค่า' ตัวอย่างเช่น ที่นี่ องค์ประกอบถูกเลือกในอาร์เรย์ 'ชื่อ' ที่มีองค์ประกอบวัตถุ 'el1' ที่มีค่า 'v1' และ 'el2' ด้วยค่า 3 จากนั้นค่าขององค์ประกอบ 'ค่า' จะถูกส่งคืนจากวัตถุนี้ .

ตัวแปรตัวจัดการการชาร์จทั่วโลก:

คุณสามารถสร้างตัวแปรได้ในการกำหนดค่าตัวจัดการการชาร์จ คุณสามารถใช้ค่าคงที่หรือสูตรเป็นค่าได้ เมื่อสิ้นสุดรอบการอัปเดตแต่ละครั้ง ตัวจัดการการชาร์จอาจคำนวณค่าของตัวแปรนี้ใหม่ จากนั้นคุณสามารถใช้สิ่งเหล่านี้ในพารามิเตอร์ตัวจัดการการชาร์จ (บางตัว) กฎการชาร์จ หรือเพื่อควบคุมเอาต์พุต คุณยังสามารถเขียน E x.member หรือ M x.member เป็นตัวแปรได้ ในที่นี้ E x และ M x คือ ID อุปกรณ์ของวอลล์บ็อกซ์หรือมิเตอร์ที่ตั้งค่าไว้ในตัวจัดการการชาร์จ 'member' คือตัวแปร "กำหนดเอง" ที่ถูกจัดเก็บไว้ในอุปกรณ์ที่เกี่ยวข้อง ตัวแปรบางตัวอาจมีความหมายพิเศษ: สำหรับ KEBA "out1" คือการสลับเอาต์พุต สำหรับ ABB B23 มิเตอร์ "out1" และ "out2" เป็นการสลับเอาต์พุต (ในรุ่นที่รองรับสิ่งนี้) A 1 สลับเอาต์พุต 0 จะปิดอีกครั้ง

หากคุณมีอุปกรณ์ที่ต้องเปิดภายใต้เงื่อนไขบางอย่างแต่ต้องเปิดใช้งานไปชั่วขณะ (เช่น เครื่องซักผ้า เครื่องล้างจาน) คุณสามารถกำหนดตัวแปรเป็น "ทริกเกอร์" ได้เช่นกัน จากนั้นสูตรของตัวแปรคือเงื่อนไขที่กำหนดตัวแปรเป็น 1 หลังจากปรับเวลาได้ จะถูกรีเซ็ตเป็น 0 "เงื่อนไขรีทริกเกอร์" อนุญาตให้ขยายเวลาจนกว่าจะปิดสวิตช์ (เช่น ตั้งค่าตัวแปรเป็น 0) ครั้งแล้วครั้งเล่าตราบเท่าที่ตรงตามเงื่อนไข

หมายเหตุ: เฉพาะตัวเลขและตัวอักษร az และ AZ เท่านั้นที่สามารถใช้เป็นชื่อตัวแปรได้

เพื่อวัตถุประสงค์ในการทดสอบ คุณสามารถแสดงตัวจัดการการชาร์จและตัวแปรมิเตอร์ได้ เช่น ราคาปัจจุบันจาก Awattar:


                        ภาพหน้าจอของตัวแปรตัวนับ

ผลลัพธ์ของตัวจัดการการชาร์จทั่วโลก:

ในการกำหนดค่าตัวจัดการการชาร์จ คุณสามารถกำหนดค่าเอาท์พุตส่วนกลางตามที่อธิบายไว้ข้างต้นในคำจำกัดความของมิเตอร์ภายใต้ "เอาท์พุต" สิ่งเหล่านี้จะถูกตั้งค่าเมื่อสิ้นสุดรอบการอัปเดตแต่ละรอบหากสถานะมีการเปลี่ยนแปลง หากคุณต้องการควบคุมการสลับเอาต์พุตในอุปกรณ์ที่ผู้ใช้กำหนด แนะนำให้ใช้หลักการข้างต้น (ดูตัวแปรตัวจัดการการชาร์จ): คุณตั้งค่าตัวแปรด้วยชื่อ "out1", "out2" ฯลฯ ในตัวนับที่ผู้ใช้กำหนดและตั้งค่า เอาต์พุตในตัวนับที่ผู้ใช้กำหนดจะสลับเอาต์พุตขึ้นอยู่กับค่าของตัวแปรนี้

ตัวจัดการการชาร์จ Global Modbus API:

Modbus API ของตัวจัดการการชาร์จใช้เพื่อควบคุมอุปกรณ์ Modbus ที่มีที่อยู่ Modbus RTU หรือ TCP ใด ๆ (สามารถเข้าถึงได้โดยตัวจัดการการชาร์จ) เป็นที่อยู่สำหรับ Modbus RTU ให้ป้อน COMx,bd,8,p,s เช่นเดียวกับในการกำหนดค่าของอุปกรณ์แต่ละตัว โดยที่ x คือหมายเลขพอร์ต COM, bd คืออัตรารับส่งข้อมูล, p คือความเท่าเทียมกัน ('N', 'E' หรือ 'O') และ s คือจำนวนบิตหยุด (1 หรือ 2) ด้วย Modbus TCP ที่อยู่คือที่อยู่ IP ของอุปกรณ์ในเครือข่ายตัวจัดการการชาร์จรวมถึงหมายเลขพอร์ต
URL (สำหรับ HTTP GET) ของ Modbus API คือ:
/cnf?cmd=modbus_get หรือ /cnf?cmd=modbus_set
cFos Charging Manager รองรับพารามิเตอร์การสืบค้นเพิ่มเติมต่อไปนี้:
addr: ที่อยู่อุปกรณ์ Modbus RTU หรือ TCP ที่กล่าวถึงข้างต้น
func: หมายเลขฟังก์ชัน Modbus เช่น สำหรับการอ่าน 3 หรือ 4 สำหรับการเขียน 6 หรือ 16
id: ID อุปกรณ์ของอุปกรณ์ Modbus
reg: หมายเลขทะเบียน Modbus ค่าสามารถระบุเป็นทศนิยมหรือฐานสิบหก (มีคำนำหน้า 0x)
val: number: ค่าที่จะเขียนลงรีจิสเตอร์ ละเว้นเมื่ออ่าน
ประเภท: 'w' 16 บิต (ค่าเริ่มต้น), d = 32 บิต, f = float, q = 64 บิต, s = string
cnt: number: ความยาวสูงสุดของสตริงในรีจิสเตอร์ สำหรับประเภทอื่นละเว้นหรือตั้งค่าเป็น 1
order: String: ลำดับไบต์ "hl" หรือ "lh"

หมายเหตุ: หากใช้ 'เครื่องวัด' เป็นหลักในการควบคุม คุณสามารถตรวจสอบตัวเลือก 'ซ่อนอุปกรณ์' ในการตั้งค่าของไทล์นี้ เพื่อไม่ให้อุปกรณ์นี้ปรากฏในหน้าเริ่มต้น

หมายเหตุ: บางเมตรที่อ่านผ่าน HTTP ต้อง ใช้ชื่อผู้ใช้/รหัสผ่าน เป็นการอนุญาต คุณสามารถระบุสิ่งนี้ในที่อยู่สำหรับการเข้าถึง HTTP เช่นด้วย http://username:password@192.168.2.111 หากชื่อผู้ใช้หรือรหัสผ่านของคุณมี "@" คุณต้องแทนที่ด้วย "%40"