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

หมายเหตุ: 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 จะสมัครรับข้อมูลหัวข้อ MQTT และแยกวิเคราะห์ข้อความที่เผยแพร่ภายใต้หัวข้อเป็น JSON cFos Charging Manager ใช้ "ภาษาแบบสอบถาม" ขนาดเล็กในการแยกวิเคราะห์ นี่คือเอกสารประกอบของ ความสามารถ MQTT ใน cFos Charging Manager

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ขั้นตอนต่อไปในคำจำกัดความ JSON คือคำจำกัดความของตัวแปรที่มิเตอร์ใช้ในการอ่านหรือคำนวณค่าของกระแส แรงดัน ฯลฯ ตัวจัดการการชาร์จรู้จักตัวแปรต่อไปนี้:
type_designation, version, firmware_version, serial: รูปแบบเหล่านี้เป็นการกำหนดรูปแบบตามที่แสดงในข้อมูลขยายของไทล์ สิ่งเหล่านี้จะถูกสอบถามครั้งเดียวเมื่อตั้งค่าหรือรีเซ็ตตัวนับ
voltage_l1..voltage_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 คุณไม่จำเป็นต้องระบุตัวแปรทั้งหมด cFos Charging Manager พยายามคำนวณค่าจากตัวแปรที่มีอยู่

นอกจากนี้ คุณสามารถกำหนดตัวแปรอื่นๆ ด้วยชื่อที่แตกต่างกัน ซึ่งจะถูกอ่านออกมาพร้อมกับการอัปเดตทุกครั้งหรือคำนวณโดยใช้สูตร

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

อ็อบเจ็กต์ถูกตั้งชื่อตามตัวแปรที่แสดงด้านบนและมีคุณสมบัติดังต่อไปนี้:
คงที่: สตริงที่มีค่าคงที่ มีประโยชน์ ตัวอย่างเช่น หากไม่สามารถกำหนดค่าได้ เช่น สำหรับ type_designation หรือแรงดันไฟฟ้า
expr: String ตัวแปรจะไม่ถูกอ่านออกแต่ถูกประเมินเป็นสูตร
type: ถ้าไม่คงที่หรือ expr ประเภทของตัวแปร: int16, int32, float, int64, string สิ่งนี้สำคัญสำหรับ Modbus ในการอ่านรีจิสเตอร์ในรูปแบบที่ถูกต้อง ด้วย JSON/HTTP คุณสามารถใช้ float ได้เป็นส่วนใหญ่
ความละเอียด: float ค่าที่อ่านจะถูกคูณด้วย 'ความละเอียด' ค่าแรงดันต้องเป็นโวลต์ กระแสเป็นมิลลิแอมป์ กำลังเป็นวัตต์ พลังงานเป็นวัตต์-ชั่วโมง (Wh) ด้วย 'ความละเอียด' เชิงลบ คุณสามารถกลับค่าได้หากมีเครื่องหมายตรงข้าม
ที่อยู่: หมายเลข (Modbus) หรือสตริง (HTTP/JSON) หมายเลขทะเบียน Modbus หรือ HTTP URL ของค่าที่จะอ่าน
เคียวรี: สตริง โดยมี HTTP JSON เป็นข้อกำหนดในภาษาคิวรีของตัวจัดการการชาร์จ ซึ่งพบค่าที่จะอ่านในการตอบสนอง JSON
ลำดับ: สตริง สำหรับ Modbus ลำดับไบต์ ไม่ว่าจะเป็น "hl" หรือ "lh" ซึ่งมีค่าอยู่ length: number โดย Modbus เท่ากับความยาวของสตริงในรีจิสเตอร์ สำหรับตัวแปร 'เวอร์ชัน' และ 'firmware_version' จะใช้ 'ความยาว' เพื่อสร้างสตริงที่มีจุดออกจากเวอร์ชันตัวเลข อนุญาตให้ใช้ค่า 2 หรือ 4 สำหรับ 'ความยาว' ซึ่งจะส่งผลให้รูปแบบเวอร์ชัน ab และ abcd ด้วย 'ความยาว' 2 และประเภท 'int16' ตัวจัดการการชาร์จจะแยกไบต์ต่ำและสูงด้วยจุดโดยใช้คำ int32 ต่ำและสูงด้วย 'int64' dword ต่ำและสูง ด้วย 'lenth' 4 และ 'int32' ตัวจัดการการชาร์จจะแบ่งค่าออกเป็น 4 ไบต์โดยคั่นด้วยจุด ด้วย 'int64' 4 คำตามลำดับ

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

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

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

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

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

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

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

ปัจจุบัน ชื่อสมาชิกและตัวดำเนินการ "." สามารถใช้ในนิพจน์การค้นหา "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 คือรหัสอุปกรณ์ของกล่องติดผนังหรือมิเตอร์ที่ตั้งค่าในตัวจัดการการชาร์จ สมาชิกคือตัวแปร "กำหนดโดยผู้ใช้" ที่เก็บไว้ในอุปกรณ์ที่เกี่ยวข้อง ตัวแปรบางตัวมีความหมายพิเศษ: ด้วย KEBA "out1" เป็นเอาต์พุตการสลับ โดย ABB B23 เมตร "out1" และ "out2" เป็นเอาต์พุตการสลับ (สำหรับรุ่นที่รองรับสิ่งนี้) A 1 สลับเอาต์พุต, 0 ปิดอีกครั้ง

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

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

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

Modbus API ของ Charging Manager ใช้เพื่อควบคุมอุปกรณ์ Modbus ที่มีที่อยู่ Modbus RTU หรือ TCP (ซึ่งสามารถเข้าถึงได้โดยตัวจัดการการชาร์จ) ป้อน COMx,bd,8,p,s เป็นที่อยู่สำหรับ Modbus RTU เช่นเดียวกับการกำหนดค่าของอุปกรณ์แต่ละตัว โดยที่ x คือหมายเลขพอร์ต COM bd คืออัตราบอด p คือพาริตี ('N', ' E' หรือ ' O') และ s คือจำนวนบิตหยุด (1 หรือ 2) ด้วย Modbus TCP ที่อยู่คือที่อยู่ IP ของอุปกรณ์ในเครือข่าย Charging Manager รวมถึงหมายเลขพอร์ต
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: ตัวเลข ค่าที่จะเขียนลงในทะเบียน ละเลยในขณะที่อ่าน
ชนิด: 'w' 16 บิต (ค่าเริ่มต้น), d = 32 บิต, f = float, q = 64 บิต, s = สตริง
cnt: number, ความยาวสูงสุดของสตริงในรีจิสเตอร์, ละเว้นสำหรับประเภทอื่นหรือตั้งค่าเป็น 1
order: สตริงที่มีลำดับไบต์ ไม่ว่าจะเป็น "hl" หรือ "lh"

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

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