- เชื่อมต่อ Tasmota ของสมาร์ตปลั๊ก athom.tech
EU style plug V3เข้ากับ Prometheus และ Grafana บนโฮมเซิร์ฟเวอร์ที่มีอยู่ เพื่อทำให้เห็นภาพการใช้ไฟฟ้าระยะยาวของเครื่องใช้ไฟฟ้าและอุปกรณ์คอมพิวเตอร์ - โครงสร้างคือรัน
tasmota-power-exporterแยกตามปลั๊กแต่ละตัว และให้ Prometheus สแครปทุก 1 วินาที โดย Grafana ต้องตั้งค่าmin stepเป็น 1 วินาทีจึงจะเห็นกราฟที่ละเอียดถี่ - จากผลการวัดราว 4 เดือน เครื่องทำน้ำร้อนไฟฟ้าใช้ไฟเฉลี่ย 4.51kWh/วัน โต๊ะโฮมออฟฟิศทั้งชุดใช้เฉลี่ย 0.95kWh/วัน และ Zimaboard ใช้ราว 7W ในการใช้งานทั่วไป ต่ำกว่าโมเด็ม/เราเตอร์ของ ISP
- กราฟแรงดันไฟฟ้ายังเผยให้เห็นช่วงเวลาที่ใช้ไฟสูงสุดและการทำงานของ อุปกรณ์กินไฟสูง โดยแรงดันของปลั๊กทุกตัวลดลงเล็กน้อยเมื่อเครื่องทำน้ำร้อน กาต้มน้ำไฟฟ้า เตาไฟฟ้า และไมโครเวฟเปิดทำงาน
- มีประโยชน์สำหรับการวัดระยะยาว แต่ปลั๊กบางตัวไม่ส่งสถิติตามเวลา หรือหายไปจากเครือข่ายจนต้อง รีสตาร์ตไฟเลี้ยง และการควบคุมอัตโนมัติตามค่าไฟยังคงเป็นตัวเลือกสำหรับการทดลองครั้งต่อไป
ดูการใช้ไฟฟ้าระยะยาวด้วยสมาร์ตปลั๊ก
- เป้าหมายคือการติดตาม การใช้พลังงานไฟฟ้า ของอุปกรณ์อย่างโฮมเซิร์ฟเวอร์ เราเตอร์ เวิร์กสเตชัน และเครื่องทำน้ำร้อนไฟฟ้าในระยะยาวแบบเห็นภาพ
- มิเตอร์วัดไฟดิจิทัลแบบง่ายที่เคยใช้ก่อนหน้านี้เพียงพอสำหรับดูค่าขณะนั้น แต่มีข้อจำกัดเมื่อต้องการเข้าใจว่าอุปกรณ์ใช้ไฟอย่างไรในช่วงเวลายาวนาน
- ผลิตภัณฑ์ที่ใช้คือรุ่นแปรผัน
EU style plug V3ของ athom.tech และการจัดส่งใน EU ใช้เวลา 9 วัน รวมช่วงคริสต์มาส - ปลั๊กติดตั้ง Tasmota มาให้ล่วงหน้า และสามารถเชื่อมต่อ Wi-Fi ตามคู่มือที่ให้มา จากนั้นจัดการผ่านเบราว์เซอร์ได้
- การอัปเดตเฟิร์มแวร์สามารถอัปเป็นเวอร์ชันล่าสุดได้ด้วยการคลิกไม่กี่ครั้งในเว็บ GUI
โครงสร้างการเก็บข้อมูลด้วย Prometheus และ Grafana
- ข้อมูลจากมิเตอร์ไฟถูกรวบรวมไปยังอินสแตนซ์ Prometheus ที่มีอยู่แล้วบนโฮมเซิร์ฟเวอร์
- Prometheus ใช้เป็นเครื่องมือสำหรับอ่านเมตริกจากหลายแหล่งเป็นระยะ บันทึกลงดิสก์ แล้วจึงนำมาคิวรีและปรับแต่งภายหลัง
- บนเซิร์ฟเวอร์รัน tasmota-power-exporter หนึ่งตัวต่อปลั๊กหนึ่งตัว
- Prometheus สแครป exporter แต่ละตัว 1 ครั้งต่อวินาที
- สามารถทำให้ปลั๊กส่งออกเมตริกเองได้เช่นกัน แต่ไม่ได้เลือกวิธีคอมไพล์เฟิร์มแวร์ Tasmota เองโดยตรง
- สำหรับการแสดงผล นำอินสแตนซ์ Grafana ที่มีอยู่แล้วกลับมาใช้
- หากต้องการได้จุดข้อมูลที่ละเอียดที่สุดในกราฟ ต้องเปลี่ยนค่า
min stepเป็น 1 วินาที
- หากต้องการได้จุดข้อมูลที่ละเอียดที่สุดในกราฟ ต้องเปลี่ยนค่า
การใช้ไฟฟ้าที่สังเกตได้ตลอดราว 4 เดือน
-
เครื่องทำน้ำร้อนไฟฟ้า
- เครื่องทำน้ำร้อนไฟฟ้า 30L ใช้ไฟมากที่สุดในบรรดาวัตถุที่วัด
- อ้างอิงจากเครื่องทำน้ำร้อนระดับที่เพียงพอสำหรับอาบน้ำเร็ว ๆ หนึ่งถึงสองครั้ง หรือการล้างจานปริมาณมาก
- ค่าที่วัดได้มีดังนี้
- การใช้ไฟฟ้าโดยทั่วไป: 4.51kWh/วัน
- ต่ำสุดที่สังเกตได้: 0.56kWh/วัน มักเกิดเมื่อไม่มีใครอยู่บ้าน
- สูงสุดที่สังเกตได้: 11.1kWh/วัน เกิดในวันที่มีการซักผ้าและอาบน้ำมาก
-
โฮมเซิร์ฟเวอร์และอุปกรณ์เครือข่าย
- เวิร์กโหลดของโฮมเซิร์ฟเวอร์รันบน Zimaboard และการใช้ไฟต่ำเป็นเหตุผลสำคัญในการเลือก
- การใช้ไฟของ Zimaboard มีดังนี้
- สถานะ idle: ประมาณ 2W
- การใช้งานทั่วไปที่รันทุกบริการ: ประมาณ 7W
- การใช้ไฟสูงสุด: ประมาณ 15W
- กล่องโมเด็ม/เราเตอร์ที่ ISP ให้มาใช้ไฟ 12~14W เสมอ ไม่ว่าจะเป็นโหมดเราเตอร์หรือโหมดบริดจ์ จึงกินไฟมากกว่า Zimaboard
- หลังเพิ่มเวิร์กโหลดที่อ่อนไหวต่อ latency ช่วงหนึ่งได้ย้ายโฮมเซิร์ฟเวอร์กลับไปเป็น ASRock Deskmini X300
- การใช้ไฟขณะ idle ของ Deskmini ถือว่าแย่เมื่อเทียบกับ Zimaboard อยู่ที่ระดับ 15~20W
- Deskmini ดูเหมือนจะไม่เปิดเผยสถานะประหยัดพลังงานของ CPU ที่ต่ำกว่า C3 ขณะที่ Zimaboard เปิดเผย C-state ได้ถึง C10
- ไม่พบวิธีเปิดเผย C-state ที่ต่ำกว่านี้ผ่านการตั้งค่า UEFI หรือ Linux kernel
- เมื่อเพิ่มพาเนลการใช้ไฟของเซิร์ฟเวอร์ในมุมมอง Prometheus node exporter Grafana จะเห็นได้ชัดในกราฟการใช้ไฟเมื่อกิจกรรมของ CPU เพิ่มขึ้น
การเปลี่ยนแปลงแรงดันและรูปแบบการใช้ไฟรอบโต๊ะทำงาน
-
การเปลี่ยนแปลงแรงดันไฟฟ้า
- ปลั๊ก Tasmota รายงาน ค่าแรงดันไฟฟ้า ปัจจุบันด้วย
- กราฟแรงดันมีรูปแบบที่ดูคล้าย seasonality และแรงดันโดยรวมลดลงในช่วงเวลาที่มีการใช้ไฟสูงสุดตามปกติ
- รูปแบบเช่นนี้อาจเป็นตัวเลือกสำหรับการทดลองตรวจจับความผิดปกติด้วย Prometheus และสามารถอ้างอิงบทความของ GitLab เรื่อง การตรวจจับความผิดปกติด้วย Prometheus ได้
- แรงดันตกยังเกิดขึ้นเมื่ออุปกรณ์ที่ใช้ไฟมากทำงาน เช่น เครื่องทำน้ำร้อน กาต้มน้ำไฟฟ้า เตาไฟฟ้า และไมโครเวฟ
- เครื่องทำน้ำร้อนทำให้แรงดันของปลั๊กทุกตัวลดลงเล็กน้อย
- เมื่อทำอาหารด้วยเตาไฟฟ้า วงรอบเปิด·ปิดก็เห็นได้จากค่าการอ่านแรงดันของปลั๊กทุกตัวเช่นกัน
-
เวิร์กสเตชันโฮมออฟฟิศ
- ปลั๊กหนึ่งตัววัดรวมจอภาพ, USB-C dock, monitor light bar และอุปกรณ์ที่ชาร์จอยู่บนโต๊ะซึ่งเชื่อมต่อกับโต๊ะโฮมออฟฟิศ
- การใช้ไฟแตกต่างกันมากตามชั่วโมงทำงานจากบ้านและการชาร์จอุปกรณ์หลายตัวหรือไม่
- ขณะทำงานคอมพิวเตอร์ การใช้ไฟโดยทั่วไปของทั้งชุดอยู่ที่ 45~60W และพีคอยู่ใกล้ 90~110W
- ปริมาณการใช้รายวันที่วัดได้มีดังนี้
- การใช้ไฟฟ้าโดยทั่วไป: 0.95kWh/วัน
- ต่ำสุดที่สังเกตได้: 0.07kWh/วัน
- สูงสุดที่สังเกตได้: 1.52kWh/วัน
-
รูปแบบการชาร์จ
- สมาร์ตปลั๊กยังมีประโยชน์สำหรับสังเกต รูปแบบการชาร์จ ของอุปกรณ์หลายชนิด
- แล็ปท็อปหรือพาวเวอร์แบงก์จะชาร์จเร็วในช่วงแรก จากนั้นความเร็วลดลงเมื่อแบตเตอรี่ใกล้เต็ม และตั้งแต่จุดหนึ่งไปจนเต็มจะมีช่วงที่ดูเหมือนการชาร์จแบบกระแสต่ำ
- แบตเตอรี่จักรยานไฟฟ้าเป็นข้อยกเว้น โดยการใช้ไฟระหว่างชาร์จค่อย ๆ เพิ่มขึ้น แล้วลดลงเร็วขึ้นในช่วงท้ายของการชาร์จ
- จักรยานไฟฟ้าใช้ 0.5kWh สำหรับ ระยะทาง 60km ตามพรีเซ็ต
Turboและคำนวณต้นทุนต่อ km ได้ครึ่งเซนต์
ปัญหาความเสถียรและการทดลองถัดไป
- ความเสถียรของสมาร์ตปลั๊กโดยรวมถือว่าใช้ได้ แต่มีบ่อยครั้งที่ปลั๊กบางตัวไม่รายงานสถิติตามเวลา
- สาเหตุอาจเป็นปัญหาของ Wi-Fi access point
- ปลั๊กสองตัวหายไปจากเครือข่ายอย่างสมบูรณ์และไม่กลับมา จึงต้องรีสตาร์ตไฟเลี้ยงทั้งหมดหลายครั้ง
- ปลั๊กสามารถเปิดและปิดอุปกรณ์ผ่าน API หลายแบบ รวมถึง HTTP
- ในอนาคตอาจลองใช้ Home Assistant หรือสคริปต์ง่าย ๆ เพื่อเปิดและปิดอุปกรณ์บางตัวตามค่าไฟฟ้าปัจจุบัน
- จากขอบเขตที่สำรวจ พบว่ามี nordpool integration สำหรับ Home Assistant
- การตั้งค่าทั้งหมดนี้ช่วยให้วัดพลังงานของอุปกรณ์คอมพิวเตอร์หลากหลายชนิดได้อย่างน่าเชื่อถือ และช่วยตัดสิน ประสิทธิภาพพลังงาน ของอุปกรณ์ที่จะใช้ในอนาคตโดยไม่ต้องเดา
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ซื้อ เบรกเกอร์ตัดไฟ แบบ Zigbee มา แล้วต่อให้ไฟฟ้าทั้งบ้านไหลผ่านมัน และยังทำ จอ e-ink สำหรับแสดงการใช้ไฟฟ้าด้วย
https://www.stavros.io/posts/making-the-timeframe/
ถ้าติดดองเกิลราคาถูก ก็สามารถดูสถิติในแอปได้ เช่น ตอนนี้ใช้ตัวนี้อยู่: https://www.homewizard.com/nl/shop/wi-fi-p1-meter/
มิเตอร์ตัวนี้ยังมี API สำหรับเครือข่ายภายในด้วย ผมทำไดรเวอร์เล็ก ๆ สำหรับ SmartThings Hub เพื่อให้ดูสถิติและกราฟในแอป SmartThings ได้ด้วย และใช้ฮับ SmartThings สำหรับอุปกรณ์ Zigbee/Z-Wave อยู่: https://github.com/danieldk/homewizard-energy
เป้าหมายการผสานรวมที่เป็นธรรมชาติน่าจะเป็น Home Assistant ไม่แน่ใจว่ายังมี integration ที่ใช้กับ Home Assistant ได้โดยตรงสำหรับเบรกเกอร์ Earu หรือเปล่า นอกเหนือจากการอ่านค่าผ่าน Zigbee2MQTT แล้วตั้งค่า entity เอง ถึงอย่างนั้น รูปแบบที่เอามิเตอร์ไปต่อกับฮับอัตโนมัติ แล้วให้ฮับส่งภาพข้อมูลจากมิเตอร์และข้อมูลอื่น ๆ ไปที่จอก็ดูดี
https://imgz.org/
ตอนจ่ายด้วย BTC ปุ่ม “open in wallet” ควรแก้หน่อย ลิงก์เสียอยู่
นอกนั้นใช้งานได้ดี เช่น: https://imgz.org/iAB4tgaJ/
เมื่อหลายปีก่อนผมอินกับเรื่องนี้ แล้วซื้ออุปกรณ์ที่ไม่ค่อยเป็นที่รู้จักชื่อ Rainforest Automation Eagle มา: https://www.rainforestautomation.com/rfa-z114-eagle-200-2/
มันเป็นอุปกรณ์ Linux เรียบง่ายที่อ่านค่าสมาร์ตมิเตอร์หลังจากลงทะเบียนกับบริษัทไฟฟ้า และมี XML API ให้ ผมเลยทำ bridge ไปใช้กับ Prometheus: https://github.com/kklipsch/reagle
ผมยังทำ bridge ฟีดราคาของบริษัทไฟฟ้า ComEd ไปที่ Prometheus ด้วย: https://github.com/kklipsch/comed_exporter
สองอย่างนี้ทำให้ดูกราฟการใช้ไฟทั้งบ้านและข้อมูลราคาใน Prometheus รวมถึง Grafana ได้ค่อนข้างดี
ผมไปอีกขั้นด้วยการติดตั้ง Emporia Vue 2 ในตู้เมนไฟ มี current transformer 16 ตัว และยังต่อกับเมน 3 เฟสด้วย
มันใช้ ESP32 และมีโปรเจกต์ ESPHome ที่ยอดเยี่ยมซึ่งแฟลชเพื่อรายงานแบบ local-only ได้ พอเพิ่ม Home Assistant กับ VictoriaMetrics เข้าไป ก็ทำให้ดูการทำงานของทั้งบ้านผ่าน Grafana ได้ ขั้นต่อไปคือการใช้ข้อมูลนี้ควบคุม การควบคุมกำลังไฟแบบไม่ส่งออกเข้ากริด สำหรับระบบโซลาร์ OpenDTU ขนาดเล็ก เราอยู่ในยุคที่เจ๋งจริง ๆ
helpใน metadata ของ metric ของ PrometheusVictoriaMetrics/Grafana กำลังมาแทนที่ระบบเก็บประวัติข้อมูลเชิงอุตสาหกรรมของเราอยู่ แน่นอนว่าผลิตภัณฑ์นั้นไม่ใช่ตัวท็อป คิดว่า OSI PI น่าจะดีกว่า
ของโคลนที่หาเจอราคาก็แทบพอ ๆ กับฮาร์ดแวร์ “ต้นฉบับ”
ATM90E32AS ที่ JLCPCB ราคาประมาณ $1 ต่อช่อง ดังนั้นถ้าให้เขาประกอบ SMT ให้ด้วย ก็น่าจะทำได้ค่อนข้างถูก งานของผมต้องใช้ประมาณ 60 วงจร
สำหรับโหลดทั้งบ้าน แนะนำให้ผสานรวมกับเทคโนโลยีสมาร์ตมิเตอร์ที่ใช้กันในแต่ละประเทศจะดีกว่า
ส่วนโหลดขนาดกลาง เช่น เบรกเกอร์ 32A ในตู้ไฟย่อยของผู้ใช้ ยังไม่เจอวิธีที่ทั้งเชื่อถือได้และคุ้มราคา
ใช้อุปกรณ์ IoTaWatt ที่ติดตั้งในแผงไฟได้ เป็นทางออกที่ยอดเยี่ยมสำหรับการมอนิเตอร์แยกตามวงจร และมีการผสานกับ InfluxDB โดยตรง จึงใช้ Grafana ได้
การมอนิเตอร์แยกตามปลั๊กก็ดีมากสำหรับระบุอุปกรณ์เฉพาะบนวงจรเฉพาะ
วิดีโอตั้งค่าสั้น ๆ: https://www.youtube.com/watch?v=-tcbJCvuJG8
มีที่พักให้เช่าช่วงวันหยุด 3 แห่งในอาคารเก่า เลยกำลังเพิ่มความอัจฉริยะและการมอนิเตอร์เข้าไป หนึ่งในนั้นคือคีออสก์ Raspberry Pi ที่อิงจากวิดีโอหนึ่งของเขา
ผมก็ใช้ IOTAWATT อยู่เหมือนกันและชอบมาก ข้อบ่นเดียวคืออยากให้บันทึกแชนเนลได้มากขึ้นในอุปกรณ์เดียวกัน เช่น สักประมาณ 30 แชนเนล
กำลังดึงเมตริกการใช้ไฟจาก Tapo P110 แล้วส่งเข้า Grafana Cloud ด้วย https://github.com/richardjennings/tapmon อย่างไรก็ตาม อย่างที่คนอื่น ๆ พูดกัน การใช้ Wi-Fi กับสมาร์ตปลั๊กก็มีจุดที่ยังไม่ค่อยลื่นอยู่
สมาร์ตปลั๊ก Meross ดีกว่านิดหน่อย แต่ก็ยังหลุดการเชื่อมต่อเป็นครั้งคราว หลังอัปเดตก็ดีขึ้นเล็กน้อย
กำลังพยายามผลัก Grafana ไปทาง การควบคุม IoT/SCADA อยากให้มันเป็นทั้งเครื่องมือที่ยอดเยี่ยมสำหรับการแสดงผล data source และเป็นเครื่องมือควบคุม data sink ได้ด้วย
โดยส่วนตัวไม่ค่อยชอบนักที่ต้องแนะนำ Home Assistant สำหรับงานนี้
ทำงานอยู่ที่ Grafana Labs
ระบบ SCADA แบบดั้งเดิมมีความสามารถด้านกราฟแย่มาก จึงเป็นพื้นที่ที่น่าจะถูกเขย่าได้เต็มที่
พูดกึ่งล้อเล่นกึ่งจริงจังนะ ผมสงสัยว่าการใช้ Grafana เองจะหักล้างประโยชน์ที่ได้จากการมอนิเตอร์หรือเปล่า ถ้าต้องเลือกซอฟต์แวร์สักตัวที่ใช้ทรัพยากรเป็นประจำมากกว่าระดับที่ดูสมเหตุสมผลไปมาก ก็คือ Grafana นี่แหละ
ซื้อ ESP32 ราคาถูกมาต่อกับเซ็นเซอร์วัดแสง แล้วเอาเซ็นเซอร์วัดแสงนั้นไปติดกับมิเตอร์ไฟฟ้า มิเตอร์กะพริบ 1000 ครั้งต่อ 1kWh ก็เลยอ่านจากตรงนั้น
อัปโหลดข้อมูลไป Google Sheets แล้วให้ชีตวาดกราฟให้ ก็ทำงานได้ดี
ที่บ้านญาติสูงอายุก็วาง ESP32 อีกตัวที่ติดเซ็นเซอร์ PIR ไว้ แล้วส่งข้อมูลการเคลื่อนไหวไปยังชีตอีกแผ่นใน Google Sheets เพื่อมอนิเตอร์ว่ามีการเคลื่อนไหวมากน้อยแค่ไหน
ถ้าถามว่าคาดว่า Google จะหยุดบริการนี้เมื่อไรก็ได้ไหม ก็ใช่ แต่ตอนนี้ยังใช้งานได้ จาก ESP32 สามารถเขียนและอ่านข้อมูลใน Google Sheets เป็น JSON ได้ แม้จะไม่ค่อยตรงไปตรงมา แต่ทำได้และฟรี
มีหน่วยความจำแค่พอจะเปิดบริการ HTTP เพื่อให้ดึงค่านั้นเข้า iobridge สำหรับการมอนิเตอร์ระยะไกลได้
แปลกใจที่ในคอมเมนต์นี้ไม่ค่อยมีคนพูดถึงมอนิเตอร์ Shelly มากกว่านี้ ดีสำหรับการมอนิเตอร์ไฟทั้งบ้าน คือที่จุดไฟเข้าและตามวงจร การผสานระบบก็ค่อนข้างเปิด และเชื่อมกับ Home Assistant ได้ทันที
ในบ้านใช้เบรกเกอร์สำเร็จรูปแบบ “ไม่ฉลาด” แล้วติดมอนิเตอร์เสริม ดูสมเหตุสมผลกว่าการผูกฟีเจอร์ต่าง ๆ ไว้แน่นกับอุปกรณ์ตัวเดียว
แคลมป์ 3 เฟสราคาแพงมาก และไม่มีตัวเลือกติดเซ็นเซอร์ 8 หรือ 16 ตัวแบบ Emporia Vue Shelly ควรถูกพูดถึง แต่ไม่ใช่สำหรับการวัดพลังงานแบบละเอียด
ยังมีประเด็นที่ว่าทำ automation ได้ด้วย automation ล่าสุดที่ทำคือถ้า เครื่องสร้างเสียง white noise สำหรับทารกเปิดอยู่ ก็ลดเสียงกริ่งประตูลง