แอปดูระบบโซลาร์เซลล์ Deye แบบเรียลไทม์ ภาษาไทย
ผลิตไฟ · ใช้ไฟ · แบตเตอรี่ · ซื้อ-ขายไฟ ครบในแอปเดียว — ติดตั้งเป็นแอปบนมือถือ รันฟรีบน Cloudflare ทุน 0 บาท
เว็บไซต์ · ภาพหน้าจอ · ฟีเจอร์ · ติดตั้ง · ตั้งค่า · สถาปัตยกรรม · คู่มือ deploy · English
| บ้าน 3D ลากหมุนได้ เส้นไฟวิ่งจากแผงโซลาร์ แบตเตอรี่ และเสาไฟเข้าบ้านตามทิศทางจริง จาก Deye Cloud Open API รีเฟรชเองทุก 1 นาที | ดีไซน์แบบ iPhone (หัวข้อใหญ่ แถบเมนูกระจก แป้น PIN) ตัวเลขใหญ่ ทุกสีมีคำกำกับ ปุ่มใหญ่ (Universal Design) | Cloudflare Workers + D1 free tier ล้วน ไม่มีค่าเซิร์ฟเวอร์รายเดือน ติดตั้งได้ในคลิกเดียว |
| พยากรณ์การผลิตไฟที่เรียนรู้จากบ้านคุณ สุขภาพแบตเตอรี่ ภาพรวมทั้งปี และคำแนะนำจากตัวเลขจริง (ไม่ใช่ AI เดา) | อินเวอร์เตอร์ออฟไลน์ ไฟดับ แบตเตอรี่ต่ำ การแจ้งเตือนจาก Deye ส่งเข้า Discord / Telegram ได้ | กุญแจ Deye อยู่ฝั่งเซิร์ฟเวอร์เท่านั้น ผู้ใช้เข้าด้วย PIN ไม่ต้องรู้รหัสบัญชี Deye |
![]() หน้าหลัก สถานะ + ผังพลังงานตามเวลาจริง |
![]() วันนี้ ผลิต / ใช้ / ซื้อ / ไฟย้อน |
![]() อากาศ พยากรณ์ + ช่วงแดดดีสุด |
![]() ย้อนหลัง วัน / เดือน / ปี / ตลอด |
บ้าน 3D บนหน้าหลัก
- ลากซ้าย-ขวาเพื่อหมุนรอบบ้าน ลากขึ้น-ลงเพื่อก้มหรือเงยมุมกล้อง
- เส้นไฟวิ่งตามสายจริง จากแผงโซลาร์ ผ่านอินเวอร์เตอร์ ไปยังบ้าน แบตเตอรี่ และเสาไฟ
- ป้ายตัวเลขอยู่ติดกับอุปกรณ์แต่ละชิ้น
- ท้องฟ้าและแสงเปลี่ยนตามเวลาจริงของบ้าน
- หน้าหลัก — บ้าน 3D หมุนได้พร้อมเส้นไฟวิ่งตามทิศจริง, สถานะระบบ (ปกติ/แจ้งเตือน), ผลิตไฟวันนี้, เงินที่ประหยัดวันนี้ และ เดือนนี้ประหยัดแล้ว พร้อมตัวเลขคาดการณ์ทั้งเดือน
- แบตเตอรี่ตอนนี้ — กำลังชาร์จหรือจ่ายไฟเท่าไร และ เพราะอะไร เป็นประโยคสั้น ๆ, "ใช้ได้ถึงกี่โมง" / "เต็มราวกี่โมง" คิดจากความจุที่วัดจริงและจุดตัดที่เรียนรู้จากข้อมูลบ้านนี้ (ไม่ใช้ค่าบนฉลาก)
- วันนี้ — สรุปผลิต/ใช้/ซื้อ/ไฟย้อน, สัดส่วนพึ่งพาตัวเอง, การหมุนเวียนพลังงาน · สลับมุมมอง ทั้งวัน หรือ เที่ยงถึงเที่ยง (เห็นการใช้ไฟกลางวันกับกลางคืนแยกกัน)
- รายละเอียดเครื่อง — ค่าต่อเฟส / PV string / BMS, การแจ้งเตือนจริงจากอินเวอร์เตอร์, ตรวจสุขภาพระบบ (สมดุลเฟส · ช่องแบตเตอรี่ · แรงดัน/ความถี่ · อุณหภูมิ — เงียบเมื่อปกติ), แนวโน้ม 1–90 วัน
- หลายสถานี — บัญชีมีหลายระบบ มีปุ่มสลับระบบที่ด้านบนของจอให้อัตโนมัติ
- พยากรณ์ที่เรียนรู้จากผลจริง — ขนาดระบบสอบเทียบจากวันแดดดี + ค่าเมฆของบ้านนี้ปรับทุกวันจาก ค่าคาดการณ์เทียบกับค่าจริง (วันใหม่มีน้ำหนักมากกว่า ตามฤดูทัน) · การ์ดความแม่นยำของการพยากรณ์: คะแนน + แท่งผลิตจริงรายวันพร้อมขีดที่คาดไว้ และป้าย แม่น / ต่ำไป / สูงไป
- อากาศ — พยากรณ์ TMD (หรือ Open-Meteo), เส้นทางดวงอาทิตย์ + ช่วงแดดดีสุด, ดัชนี UV, ราย ชม. + 7 วัน
- สุขภาพแบตเตอรี่ (วัดจริง) — ความจุใช้ได้จริงจากช่วงคายประจุ, SOH เทียบพิกัด BMS, จำนวนรอบ, ใช้ลึกเฉลี่ย, แนวโน้ม 60 วัน
- ย้อนหลัง + ภาพรวมทั้งปี — กราฟราย วัน/เดือน/ปี/ตลอด, สรุปรายเดือน (เงินที่ประหยัด, คาดการณ์ทั้งเดือน, ยอดผลิต / ใช้ / ซื้อ / แบตเตอรี่จ่ายไฟหรือไฟย้อน), เดือนดีสุด/แย่สุด, เทียบปีก่อน, คาดการณ์การผลิตทั้งปีตามแดดของพิกัดบ้าน
- คำแนะนำอัตโนมัติ — คิดจากสมการสมดุลพลังงานของเลขจริง ปรับตามชนิดระบบ on-grid / hybrid / off-grid
- เทียบ + ส่งออก — เทียบช่วงก่อนหน้าแบบเวลาเท่ากัน (วันนี้ vs เมื่อวานถึงเวลานี้) · ดาวน์โหลด CSV ทุก 5 นาที / รายวัน / รายเดือน
- แจ้งเตือนออกนอกแอป (ไม่บังคับ) — Discord webhook / Telegram: อินเวอร์เตอร์ออฟไลน์, การแจ้งเตือนเกิดขึ้นหรือหายไป, ไฟดับ, แบตเตอรี่ต่ำ, ฟ้าโปร่งแต่ไม่ผลิตไฟ — ส่ง "กลับมาปกติ" ให้ด้วย · ออกแบบให้ ไม่แจ้งเตือนพร่ำเพรื่อ (ต้องยืนยันหลายรอบก่อนส่ง)
- ไม่บันทึกค่าปลอม — ตัวส่งข้อมูลหลุด / Deye ส่งค่าค้าง ระบบรู้และไม่เก็บซ้ำ · กลับมาแล้ว เติมข้อมูลย้อนหลังให้เอง
- แถบสถานะชัดเจน — เชื่อมต่อ Deye ไม่ได้ ระบบหยุดบันทึกข้อมูล หรืออินเวอร์เตอร์ไม่ส่งข้อมูล แอปบอกสาเหตุให้เห็น ·
/api/_healthใช้กับ uptime monitor ได้ - ติดตั้งเป็นแอป (PWA) — คำแนะนำติดตั้งปรับตามเครื่อง (Android / iPhone / Mac / อื่นๆ) · ใช้งาน offline ได้
ทางที่ 1 — คลิกเดียว: กดปุ่ม Deploy to Cloudflare ด้านบน แล้ว Cloudflare จะสร้าง repo และฐานข้อมูล D1 พร้อมถามค่าลับให้เอง เสร็จแล้วจะได้ลิงก์ https://deyecloud.<ชื่อคุณ>.workers.dev เปิดบนมือถือแล้วกด เพิ่มลงหน้าจอโฮม
ทางที่ 2 — คำสั่งเดียว (ใช้ส่วนตัว):
npx wrangler login # ล็อกอิน Cloudflare ครั้งเดียว
cp .dev.vars.example .dev.vars # ใส่ DEYE_APP_SECRET, DEYE_PASSWORD, APP_PIN, TMD_TOKEN
npm run setup # สร้าง D1 + ตั้งค่าลับ + build + deploy ให้อัตโนมัติอัปเดตครั้งต่อไป npm run deploy · ดู log npm run tail · ตารางใน D1 สร้างเองตอนใช้งานครั้งแรก และระบบเก็บข้อมูลให้เองทุก 5 นาที — ดูรายละเอียดทั้งหมดได้ใน DEPLOY.md
รันบนเครื่องตัวเอง (สำหรับนักพัฒนา)
npm install
cp .dev.vars.example .dev.vars # ใส่ค่าจริง
npm run dev # เปิด http://localhost:5174 (มือถือใน LAN: http://<ip>:5174)- ใส่ PIN ที่ตั้งไว้เพื่อเข้า · ระบบตั้งเวลาเก็บข้อมูล (cron) ไม่ทำงานใน
vite devให้เปิดGET /api/_pollหนึ่งครั้งเพื่อดึงข้อมูลครั้งแรก (route/api/_*ต้องตั้งAPP_PINและล็อกอินก่อน) - ดูข้อมูลดิบจาก Deye
GET /api/_debug· ทดสอบหน้าจอด้วยฉากจำลอง?dev=1หรือ?sim=peak
| คำสั่ง | ทำอะไร |
|---|---|
npm run dev |
dev server (port 5174) เสิร์ฟ Worker + หน้าเว็บ |
npm run build |
build ไปไว้ที่ dist/ |
npm run typecheck · npm test |
ตรวจ type · unit test (Vitest) |
npm run setup |
ตั้งค่า + deploy ครั้งแรกอัตโนมัติ |
npm run deploy |
build + deploy ขึ้น Cloudflare |
npm run db:create / db:init |
สร้าง / ตั้งตาราง D1 แบบ manual (ปกติ setup ทำให้แล้ว) |
npm run tail |
ดู log production |
node design/mockup.mjs |
ถ่ายภาพหน้าจอพร้อมกรอบมือถือ เก็บไว้ที่ docs/shots/ (ใช้กับเครื่องที่ deploy แล้วได้ด้วย BASE=… PIN=…) |
ตั้งน้อยที่สุด — สถานี พิกัด กำลังติดตั้ง สถานที่ ดึงจาก Deye เองแล้วเก็บไว้ ไม่มีค่าส่วนตัวฝังในโค้ด · ค่าไฟ / ค่าขายไฟ / ทุนติดตั้ง / CO₂ ตั้งในแอป (ไปที่หน้าย้อนหลัง เลือกแท็บ "ตลอด" แล้วกดตั้งค่าการคำนวณ) ทุกเครื่องเห็นค่าเดียวกัน
| ต้องตั้ง | ที่มา |
|---|---|
DEYE_APP_ID, DEYE_EMAIL |
จาก developer.deyecloud.com (ตั้งตอน deploy) |
DEYE_APP_SECRET, DEYE_PASSWORD |
ค่าลับ — .dev.vars (เครื่องตัวเอง) / wrangler secret (production) |
APP_PIN |
PIN เข้าแอป · ไม่ตั้ง = ดูได้สาธารณะ แต่หน้าผู้ดูแล /api/_* จะปิด |
ค่าเสริมทั้งหมด (ไม่ตั้งก็ใช้ได้)
| ตัวแปร | ใช้ทำอะไร |
|---|---|
DEYE_BASE_URL |
ค่าตั้งต้น EU (eu1-developer…) — เปลี่ยนเป็น us1 ถ้าบัญชีอยู่ US |
DEYE_STATION_ID · DEYE_COMPANY_ID |
ปักสถานีเจาะจง / company ของบัญชี |
TMD_TOKEN · TMD_BASE |
พยากรณ์อากาศกรมอุตุฯ (ไม่ตั้ง = ใช้ Open-Meteo) |
WEATHER_LAT / WEATHER_LON / WEATHER_PLACE |
ปรับพิกัดอากาศเอง |
ALERT_WEBHOOK_URL · TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID |
ช่องทางแจ้งเตือน |
ALERT_SOC_MIN · ALERT_REPEAT_MIN · ALERT_MUTE · ALERT_HEURISTICS |
เกณฑ์แบตเตอรี่ต่ำ · เตือนซ้ำทุกกี่นาที (360) · ปิดรายกติกา · ส่งคำแนะนำเชิงวิเคราะห์ออกนอกแอปด้วย |
GRID_NOMINAL_V / GRID_NOMINAL_HZ |
แรงดัน/ความถี่ปกติของระบบไฟฟ้า (เช่น 230/50) — ไม่ตั้ง = ไม่ตรวจเช็กค่าสัมบูรณ์ (จงใจไม่เดา) |
CONTACT_EMAIL |
อีเมลติดต่อที่แนบไปกับการค้นชื่อสถานที่ (OpenStreetMap ขอให้ระบุ) |
DEYE_RELAY_URL |
ทางอ้อมเมื่อ Deye บล็อกเครือข่าย Cloudflare — รัน scripts/deye-relay.mjs บนเครื่องอื่นแล้วใส่ที่อยู่ (ติดตั้งเองให้เปลี่ยนเป็นของคุณหรือลบออกจาก wrangler.jsonc) ดู DEPLOY.md |
แอปดูระบบโซลาร์เซลล์ที่ใช้อินเวอร์เตอร์ Deye แบบเรียลไทม์เป็นภาษาไทย ดึงข้อมูลจาก Deye Cloud Open API แล้วแสดงผลิตไฟ ใช้ไฟ แบตเตอรี่ และซื้อ-ขายไฟ พร้อมพยากรณ์และสรุปเงินที่ประหยัด ติดตั้งเป็นแอปบนมือถือได้
ไม่ต้อง รันบน Cloudflare Workers + D1 ในโควตาฟรี เก็บข้อมูลทุก 5 นาที (วันละ 288 ครั้ง) ต่ำกว่าลิมิตฟรี 100,000 ครั้งต่อวันมาก
ระบบที่ส่งข้อมูลขึ้น Deye Cloud ทั้ง on-grid, hybrid และ off-grid แอปปรับคำแนะนำตามชนิดระบบให้เอง ต้องมีบัญชีนักพัฒนาที่ developer.deyecloud.com
ภาษาไทยทั้งแอป ตัวเลขใหญ่อ่านง่าย มีพยากรณ์ที่เรียนรู้จากบ้านคุณ สุขภาพแบตเตอรี่จากการวัดจริง สรุปเงินที่ประหยัดรายเดือน แจ้งเตือน Discord / Telegram และคนในบ้านดูได้ด้วย PIN โดยไม่ต้องรู้รหัสบัญชี Deye
กุญแจและรหัสบัญชี Deye เก็บเป็นค่าลับฝั่งเซิร์ฟเวอร์ ไม่ส่งไปที่มือถือ เข้าแอปด้วย PIN หน้าแอปตั้งค่าไม่ให้ขึ้นในผลค้นหา ประวัติข้อมูลทั้งหมดเก็บในบัญชี Cloudflare ของคุณเอง · ถ้าตั้ง DEYE_RELAY_URL ไว้ คำขอที่ส่งไป Deye (รวมคำขอโทเคนที่มีอีเมลและรหัสผ่านแบบแฮช) จะผ่านเครื่อง relay นั้นด้วย จึงควรใช้ relay ของคุณเองหรือของคนที่ไว้ใจเท่านั้น ไม่ใช้ก็ลบบรรทัดนี้ได้
มือถือ (PWA) ─▶ Cloudflare Worker ─┬─▶ Deye Cloud Open API (สด + ย้อนหลัง + อุปกรณ์ + alarm)
เข้าด้วย PIN หน้าเว็บ + /api/* ├─▶ D1 (SQLite) (ประวัติ + cache + token)
cron ทุก 5 นาที └─▶ TMD / Open-Meteo (อากาศ + UV ตามพิกัดสถานี)
ทุกอย่างอยู่ใน Worker เดียว · ค่าลับไม่ออกไปฝั่งมือถือ · ถ้า Deye บล็อกเครือข่าย Cloudflare จะอ้อมผ่าน relay ที่ตั้งไว้ (DEYE_RELAY_URL) · การรับแดด (ขึ้น-ตก, ช่วงแดดดี, ชั่วโมงแดดเต็ม) คำนวณจริงด้วย NOAA + Haurwitz · โควตาต่อรอบของ free tier ถูกคิดไว้ในโค้ด (cron วันละ 288 ครั้ง ห่างลิมิต 100,000 req/วันมาก)
Deye Solar Monitor is a free, self-hosted real-time dashboard for Deye solar inverters, built on the official Deye Cloud Open API. It shows PV production, home load, battery state and grid import/export live, adds a production forecast that learns from your own roof, measured battery health, monthly savings, CSV export and Discord/Telegram alerts, and installs on a phone as a PWA. It runs entirely on the Cloudflare Workers + D1 free tier (no monthly cost). The app interface is Thai.
- Home — a rotatable 3D house with power flowing in the real direction between panels, battery, grid and home; system status; today's production and savings, plus savings so far this month with a whole-month estimate
- Battery now — charging or discharging, the reason in one sentence, and when it will run out or be full, from measured capacity and the cut-off learned from this house
- Today — produced, used, bought and exported, self-sufficiency and energy flow, as a whole day or noon-to-noon (daytime and night-time use apart)
- Device detail — per-phase, PV string and BMS values, real inverter alarms, a quiet-when-normal health check, trends over 1–90 days
- Several stations — a switcher appears when the account has more than one system
- A forecast that learns — system size calibrated from clear days, cloud factors re-learned daily from forecast vs actual (recent days weigh more, so it follows the season); an accuracy card with a score and each day's production bar with a tick at the forecast, labelled on target / too low / too high
- Weather — Thai Meteorological Department forecast (or Open-Meteo), sun path and best sun window, UV index, hourly and 7-day
- Measured battery health — usable capacity from real discharges, SOH against the BMS rating, cycles, average depth, 60-day trend
- History and year overview — day / month / year / all-time charts, a month summary (savings, whole-month estimate, produced / used / bought / battery or exported), best and worst months, year-on-year, a whole-year estimate from the site's sunlight
- Recommendations — derived from the energy balance of measured values, adjusted for on-grid, hybrid or off-grid
- Compare and export — against the previous period at the same time of day; CSV every 5 minutes, daily or monthly
- Alerts (optional) — Discord webhook or Telegram: inverter offline, alarm raised or cleared, grid loss, low battery, clear sky but no production, plus "back to normal"; confirmed over several polls before sending
- No fake values — a dropped logger or stuck Deye values are detected and not stored; gaps are backfilled automatically when data returns
- Clear status — cannot reach Deye, collection stopped or inverter silent, each explained in the app;
/api/_healthfor uptime monitors - Installable PWA — install hints per device (Android, iPhone, Mac, others), works offline
- Supports: any Deye system on Deye Cloud — on-grid, hybrid, off-grid
- Needs: a Deye developer account (developer.deyecloud.com) for an App ID and App Secret
- One click: the Deploy to Cloudflare button above; Cloudflare creates the repo and the D1 database and asks for the secrets
- One command:
npx wrangler login,cp .dev.vars.example .dev.vars, thennpm run setup— see DEPLOY.md
A free, self-hosted web app that shows a Deye solar system live — production, home load, battery and grid — using the official Deye Cloud Open API, with a forecast that learns from your own roof, measured battery health, savings and alerts. It installs on a phone as a PWA.
No. It runs on the free tier of Cloudflare Workers and D1. It polls every 5 minutes (288 requests a day), far below the free limit of 100,000 a day.
Any system that reports to Deye Cloud — on-grid, hybrid or off-grid. You need a developer account at developer.deyecloud.com for an App ID and App Secret.
The app interface is Thai, built for Thai households with large numbers and labelled colours. The code, API and setup work the same anywhere Deye Cloud is available.
Deye keys and the account password are server-side secrets only and never reach the phone. People sign in with a PIN, the app is marked noindex, and all stored history lives in your own Cloudflare account. If DEYE_RELAY_URL is set, outgoing Deye requests (including the token request with the email and password hash) pass through that relay, so only use a relay you run or trust, or remove the setting.
สร้างด้วย ❤️ บน Cloudflare Workers · ARCHITECTURE.md · DEPLOY.md
















