IR Tracker Offline: Cloud-Free Smart Meter Monitoring with ESP32-C3 and W5500
Cloud-free smart meter tracker using ESP32-C3 and optional W5500 Ethernet, with Wi-Fi fallback and local APIs for Home Assistant, MQTT, and more.
0
Project description
πμ λ ₯λκ³ λ°μ΄ν°λ₯Ό ν΄λΌμ°λ μμ΄ νμ©νλ€
IR Tracker Offlineμ κ°μ μ© μ λ ₯λκ³μ κ΄ν IR ν¬νΈμμ λ°μ΄ν°λ₯Ό μ½κ³ , μ΄λ₯Ό ESP32-C3μμ μ§μ λΆμνμ¬ λ‘컬 λ€νΈμν¬μ μ 곡νλ νλ‘μ νΈμ λλ€.
μ λ ₯λκ³μμ μ λ¬λλ SML/OBIS λλ IEC 62056-21/D0 λ°μ΄ν°λ₯Ό ESP32-C3μμ μ§μ μ²λ¦¬νκΈ° λλ¬Έμ λ³λμ ν΄λΌμ°λ μλ²κ° νμνμ§ μμ΅λλ€.
νμ±λ λ°μ΄ν°λ λ‘컬 Web UIλΏ μλλΌ MQTT, Home Assistant, HTTP/JSON, CSV, Prometheus/OpenMetrics, InfluxDB λ± μ¬λ¬ μμ€ν μμ λμμ νμ©ν μ μμ΅λλ€.
μ¦, μ΄ νλ‘μ νΈμ ν΅μ¬ ꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€.
Electricity Meter β IR Interface β ESP32-C3 β Local Processing β W5500 Ethernet / Wi-Fi β Local Services
νμ±λ κ³λκΈ° λ°μ΄ν°λ μ¬λ¬ λ‘컬 μΈν°νμ΄μ€λ₯Ό ν΅ν΄ μ 곡νλ€λ μ μ΄ μΌλ°μ μΈ λ¨μ Smart Meter Readerμ μ°¨λ³λλ λΆλΆμ λλ€.

π μ λ ₯λκ³μμλ μ΄λ€ λ°μ΄ν°λ₯Ό μ½μκΉ?
IR Tracker Offlineμ μ λ ₯λκ³μ κ΄ν ν¬νΈλ₯Ό ν΅ν΄ SML λλ IEC 62056-21/D0 λ°μ΄ν°λ₯Ό μ½μ΅λλ€.
κ³λκΈ°κ° μ 곡νλ μ€μ κ°μ μ μ‘°μ¬μ μ€μ μ λ°λΌ λ¬λΌμ§ μ μκΈ° λλ¬Έμ, μ΄ νλ‘μ νΈλ L1/L2/L3 μ λ ₯, μ μ, μ λ₯ λ±μ κ°μ νμ μ‘΄μ¬νλ€κ³ κ°μ νμ§ μμ΅λλ€.
κ³λκΈ°κ° ν΄λΉ OBIS μ 보λ₯Ό μ 곡νλ κ²½μ°μλ§ ν΄λΉ κ°μ μ¬μ©νλλ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
μ΄λ¬ν λ°©μμ μλ‘ λ€λ₯Έ μ λ ₯λκ³λ₯Ό μ§μν΄μΌ νλ μ€μ μ€μΉ νκ²½μμ μ€μν μ€κ³ ν¬μΈνΈμ λλ€.
IR receiverμ GPIOλ ν΅μ μλλ₯Ό μ μ μλ κ²½μ°λ₯Ό μν μ§λ¨ κΈ°λ₯λ μ 곡νλ©°, λ¨μν λ°μ΄ν°λ₯Ό μμ νλ€λ μ΄μ λ§μΌλ‘ νμ κ²°μ νλ κ²μ΄ μλλΌ μ μμ μΈ telegramμ νμΈν μ΄ν μ€μ μ νμ νλλ‘ μ€κ³λμ΄ μμ΅λλ€.
π Read-Only by Design
κ³λκΈ°μ λ°μ΄ν°λ₯Ό μ½λ μν μ μ§μ€ν©λλ€.
Zero-export μ μ΄, λ°°ν°λ¦¬ μΆ©μ μ ν, μΈλ²ν° μΆλ ₯ μ‘°μ λλ Load Scheduling κ°μ μ μ΄ κΈ°λ₯μ νλ‘μ νΈμ λ²μμ ν¬ν¨νμ§ μμ΅λλ€.
λμ μ½μ΄μ¨ λ°μ΄ν°λ₯Ό Home Assistantλ λ€λ₯Έ Energy Management Systemμ΄ μ¬μ©ν μ μλλ‘ μ λ¬ν©λλ€.
μ΄μ²λΌ Meter Readingκ³Ό Control Logicμ λΆλ¦¬νλ©΄ νλ‘μ νΈμ μν μ΄ λͺ νν΄μ§κ³ , λ€λ₯Έ μλν νλ«νΌκ³Ό κ²°ν©νκΈ°λ μ¬μμ§λλ€.
λ°μ΄ν° μ μ₯μλ ꡬλΆμ΄ μμ΅λλ€. μ λ ₯ λ° μλμ§ λμ κ°μ μ₯κΈ° νμ€ν 리μ μ¬μ©ν μ μμ§λ§ μκ° μ μκ³Ό μ λ₯ λ°μ΄ν°λ RAMμμλ§ μ¬μ©νλ©° μ₯κΈ° νμ€ν 리μλ μ μ₯νμ§ μμ΅λλ€.
βοΈ W5500μ μ΄λμ μ¬μ©λ κΉ?
μ΄ νλ‘μ νΈμμ WIZnet W5500μ ESP32-C3μ μ νμ μΌλ‘ μ μ Ethernetμ μΆκ°νλ μν μ ν©λλ€.
νΉν ν₯λ―Έλ‘μ΄ λΆλΆμ Ethernetμ©κ³Ό Wi-Fiμ©μΌλ‘ νμ¨μ΄λ₯Ό λ°λ‘ κ΄λ¦¬νλ κ²μ΄ μλλΌ, νλμ Universal Firmwareμμ λ λ€νΈμν¬ κ΅¬μ±μ λͺ¨λ μ§μνλ€λ μ μ λλ€.
Wi-Fi Only
λλ
ESP32-C3 + W5500 Ethernet + Wi-Fi Fallback
ꡬμ±μ΄ λμΌν νμ¨μ΄λ₯Ό κΈ°λ°μΌλ‘ λμν μ μμ΅λλ€.
W5500 Ethernet linkκ° μ¬μ© κ°λ₯ν κ²½μ° μ μ λ€νΈμν¬κ° μ°μ μ¬μ©λκ³ , Wi-Fiλ μλ fallback κ²½λ‘λ‘ μ μ§λ©λλ€.
μ΄λ₯Ό ν΅ν΄ Wi-Fiμ W5500 Ethernet ꡬμ±μ νλμ firmware architectureμμ μ§μν μ μμ΅λλ€.

π‘ μ μ΄λ° κ΅¬μ‘°κ° μ μ©ν κΉ?
Wi-Fi coverageκ° μ νλ μ€μΉ νκ²½μμλ optional W5500 Ethernetμ΄ μ μ λ€νΈμν¬ κ²½λ‘λ₯Ό μ 곡ν μ μμ΅λλ€.
IR Tracker Offlineμ Wi-Fiλ§ μ¬μ©νλ λμ W5500 Ethernetμ μ νμ μΌλ‘ μΆκ°νμ¬ μ μ λ€νΈμν¬λ₯Ό μ°μ κ²½λ‘λ‘ μ¬μ©ν μ μλλ‘ νμ΅λλ€.
μ μ μ°κ²°μ΄ κ°λ₯νλ©΄ Ethernetμ μ¬μ©νκ³ , Ethernetμ μ¬μ©ν μ μλ κ²½μ° Wi-Fiλ₯Ό κ·Έλλ‘ μ μ§νλ ꡬ쑰μ λλ€.
μ¦, W5500μ κΈ°μ‘΄ Wi-Fi κΈ°λ₯μ λ체νλ κ²μ΄ μλλΌ λ€νΈμν¬ μ νμ§λ₯Ό νλ λ μΆκ°νλ μν μ ν©λλ€.
μ΄ κ΅¬μ‘°λ Smart MeterλΏ μλλΌ νμ λ€νΈμν¬ μ°κ²°μ μ μ§ν΄μΌ νλ Sensor Gateway, Building Automation Device λλ Industrial IoT Nodeμμλ μ°Έκ³ ν λ§ν©λλ€.
π νλμ λ°μ΄ν°, μ¬λ¬ κ°μ λ‘컬 μΈν°νμ΄μ€
IR Tracker Offlineμ λ λ€λ₯Έ νΉμ§μ νΉμ Smart Home Platform νλμ μ’ μλμ§ μλλ€λ κ²μ λλ€.
νλ‘μ νΈμμλ Shelly EM/Pro EM compatible read endpoint, EcoTracker-style /v1/json, neutral /api/v1/meter JSON/MQTT schema, Home Assistant MQTT Discovery, JSON/HTTP/CSV, Prometheus/OpenMetrics, InfluxDB Line Protocol λ± λ€μν λ‘컬 μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
μ¦,
One Meter β Multiple Local Interfaces
λΌλ ꡬ쑰μ λλ€.
Home Assistantλ₯Ό μ¬μ©ν μλ μκ³ MQTT Brokerλ μ체 μλ²μμ μ§μ λ°μ΄ν°λ₯Ό μ¬μ©ν μλ μμ΅λλ€.
ν΄λΌμ°λλ₯Ό κ±°μΉμ§ μκ³ λ‘컬 λ€νΈμν¬ μμμ μ¬λ¬ μμ€ν μ΄ λμΌν κ³λκΈ° λ°μ΄ν°λ₯Ό 곡μ ν μ μλ€λ μ μ΄ μ΄ νλ‘μ νΈμ κ°μ₯ ν° νΉμ§ μ€ νλμ λλ€.
π Local Energy History
κ³λκΈ° λ°μ΄ν°λ λ¨μν μ€μκ° κ°μΌλ‘λ§ μ 곡λμ§ μμ΅λλ€.
νλ‘μ νΈλ μκ°, μΌ, μ£Ό, μ, μ°κ° λ° μ₯κΈ° λ¨μμ Energy Historyλ₯Ό κ΄λ¦¬ν μ μμΌλ©° Web UIλ₯Ό ν΅ν΄ μ΄λ₯Ό νμΈν μ μμ΅λλ€.
λ°λΌμ λ³λμ Cloud Databaseκ° μμ΄λ κΈ°λ³Έμ μΈ μλμ§ μ¬μ© μΆμ΄λ₯Ό λ‘컬μμ νμΈν μ μμ΅λλ€.
π§© νλμ Firmware, λ κ°μ§ Network Configuration
Universal Firmwareλ Wi-Fiμ optional W5500 Ethernetμ μ§μνλ©°, λ€νΈμν¬ κ΅¬μ±κ³Ό κ΄κ³μμ΄ λμΌν μ ν리μΌμ΄μ κΈ°λ₯μ μ¬μ©ν μ μλλ‘ κ΅¬μ±λμ΄ μμ΅λλ€.
π κ΄λ ¨ WIZnet Maker νλ‘μ νΈ
- OpenDTU-OnBatteryλ ESP32μ W5500μ μ‘°ν©ν΄ μ μ EthernetμΌλ‘ μ€λ§νΈ λ―Έν°μ μ κ·Όν©λλ€. μ°¨μ΄μ μ λ²μμ λλ€: OpenDTU-OnBatteryλ μ½μ κ°μ λ°νμΌλ‘ μΈλ²ν° μΆλ ₯μ λ₯λμ μΌλ‘ μ μ΄νλ λ°λ©΄, IR Tracker Offlineμ μ격νκ² μ½κΈ° μ μ©μ μ μ§ν©λλ€.
- Power Monitoring β CircuitSetup 6μ±λ ESP32 μλμ§ λ―Έν° W5500μ ν΅ν΄ MQTT λ°μ΄ν°λ₯Ό μ 곡νλ€λ μ μ μ μ¬νμ§λ§, μΈ‘μ λ°©μμ λ€λ¦ λλ€. μ°¨μ΄μ μ λ°μ΄ν° μΆμ²μ λλ€: IR Tracker Offlineμ²λΌ μ νΈλ¦¬ν° κ³λκΈ°μ κ΄ν SML/OBIS μΆλ ₯μ ν΄μνλ λμ , 컀μ€ν 보λμ μ₯μ°©λ CT μΌμλ‘ μ λ₯λ₯Ό μ§μ μΈ‘μ ν©λλ€.
IR Tracker Offlineμ νΉμ§μ μ¬κΈ°μ νλμ Meter Readingμ λ€μν Local APIλ‘ λμμ μ 곡νλ ꡬ쑰κΉμ§ κ²°ν©νλ€λ μ μ λλ€.
β FAQ
Q.μ΄ νλ‘μ νΈλ₯Ό μ¬μ©νλ €λ©΄ ν΄λΌμ°λ μλΉμ€κ° νμνκ°μ? μλμ. λͺ¨λ SML/OBIS/IEC 62056-21 ν΄μμ ESP32-C3μμ μ΄λ£¨μ΄μ§λ©°, κΈ°κΈ°κ° μ 곡νλ λͺ¨λ μΈν°νμ΄μ€(HTTP, MQTT, Prometheus, Influx, CSV)λ λ‘컬 λ€νΈμν¬ μμ κΈ°κΈ°μμ μ§μ μλΉλ©λλ€.
Q. μ΄ νμ¨μ΄λ₯Ό μ¬μ©νλ €λ©΄ λ°λμ W5500μ΄ νμνκ°μ? μλμ. "μ λλ²μ€" νμ¨μ΄λ WLANλ§μΌλ‘λ λμν©λλ€. W5500μ μ ν μ¬νμ΄λ©°, νμ¨μ΄κ° λ§ν¬λ₯Ό κ°μ§νλ©΄ μλμΌλ‘ μ°μ μ¬μ©νκ³ WLANμ μλ ν΄λ°±μΌλ‘ λ¨μ΅λλ€.
Q. μ κ³λκΈ°μμλ L1/L2/L3, μ μ, μ λ₯κ° νμλλμ? μ¬μ© μ€μΈ κ³λκΈ°κ° ν΄λΉ OBIS κ°μ κ΄ μΈν°νμ΄μ€λ‘ μ€μ μ μ‘νλ κ²½μ°μλ§ νμλ©λλ€ β νμ¨μ΄λ κ³λκΈ°κ° μ 곡νμ§ μλ λ°μ΄ν°λ₯Ό λ§λ€μ΄λΌ μ μμ΅λλ€.
Q. μ΄ νΈλμ»€λ‘ λ°°ν°λ¦¬, μΈλ²ν°, λΆν μ°¨λ¨ μμ€ν μ μ μ΄ν μ μλμ? μλμ β μ€κ³μ μ½κΈ° μ μ©μ λλ€. μμ‘μ μ ν, μΆ©μ νλ, μ€μΌμ€κ³Ό κ°μ μ μ΄ λ‘μ§μ μΈλ²ν°, λ°°ν°λ¦¬ μμ€ν , λλ ν μλν νλ«νΌμ λ§‘κ²¨μΌ ν©λλ€.
Q. μ΄ νμ¨μ΄λ₯Ό μμ μ© μ νμ μ¬μ©ν μ μλμ? PolyForm Noncommercial 1.0.0 λΌμ΄μ μ€λ‘ λ°°ν¬λλ©°, μμ μ μ¬μ©μ μ μΈν©λλ€.
Q. μ΄λλ·/PoE 보λλ κ²μ¦λ νλμ¨μ΄μΈκ°μ? νμ¨μ΄μ W5500 μ§μ μ체λ ꡬνλμ΄ μμ§λ§, μ μμ λ°λ₯΄λ©΄ μ μ© LAN/PoE μΊλ¦¬μ΄ 보λλ μμ§ μ€μ νλμ¨μ΄λ‘ κ²μ¦λμ§ μμμ΅λλ€.
π Smart Meter Data Without the Cloud
IR Tracker Offline is an ESP32-C3-based smart-meter monitoring project that reads data directly from the optical IR port of a household electricity meter and processes it locally.
SML/OBIS or IEC 62056-21/D0 telegrams are parsed directly on the device, eliminating the need for a cloud service to interpret or distribute the measurements.
The processed data can then be used simultaneously by the local Web UI, MQTT, Home Assistant, HTTP/JSON, CSV, Prometheus/OpenMetrics, InfluxDB, and other local integrations.
The overall architecture is straightforward:
Electricity Meter β IR Interface β ESP32-C3 β Local Processing β W5500 Ethernet / Wi-Fi β Local Services
The parsed meter data is made available through multiple local interfaces.

π What Does the Meter Provide?
IR Tracker Offline reads either SML or IEC 62056-21/D0 data from the optical interface of the electricity meter.
Available measurements depend on the actual meter and its configuration.
For this reason, the firmware does not assume that every meter provides per-phase L1/L2/L3 values, voltage, current, or every possible OBIS field.
Those measurements are used only when the meter actually provides them.
This is an important implementation detail for a project intended to work with different real-world electricity meters.
The firmware also includes a diagnostic mechanism for installations where the IR receiver GPIO or baud rate is unknown. Rather than accepting a guessed configuration immediately, it confirms the interface after receiving a valid telegram.
π Read-Only by Design
IR Tracker Offline focuses on reading and distributing meter data.
It does not implement battery charging control, zero-export limiting, inverter control, or load scheduling.
Those decisions are left to Home Assistant, an inverter, an energy-management system, or another application consuming the tracker's data.
Separating meter acquisition from control keeps the role of the firmware clear and makes the tracker easier to integrate into different energy-management systems.
The same philosophy is also reflected in data history. Power and energy information can be retained for historical analysis, while instantaneous voltage and current values remain in RAM rather than being permanently stored in the history database.
βοΈ Where the W5500 Fits
The WIZnet W5500 provides an optional wired Ethernet path for the ESP32-C3.
One of the most interesting design choices is that the project does not maintain completely separate firmware builds for Wi-Fi and Ethernet operation.
The Universal Firmware can support either:
ESP32-C3 + Wi-Fi
or
ESP32-C3 + W5500 Ethernet + Wi-Fi Fallback
using the same application architecture.
When a usable W5500 Ethernet connection is present, the wired network becomes the preferred path, while Wi-Fi remains available as an automatic fallback.
This allows the application services to operate independently of the physical network interface currently carrying the traffic.

π‘ Why Is This Useful for a Smart Meter?
Smart meters are frequently installed in utility closets, basements, or metal meter cabinets where Wi-Fi reception can be unreliable.
Adding W5500 Ethernet gives the installation a wired alternative without removing Wi-Fi support.
When Ethernet is available, the tracker can use the wired network. If Ethernet is unavailable, Wi-Fi remains available as the alternative connection.
In other words, the W5500 does not replace the existing wireless architecture. It adds another network path to it.
The same approach can be useful in sensor gateways, building-automation devices, and other always-on IoT nodes where a wired connection is preferred but wireless connectivity is still useful as a backup.
π One Meter Reading, Multiple Local Interfaces
A major strength of IR Tracker Offline is that it is not tied to a single smart-home platform.
The firmware exposes Shelly EM/Pro EM-compatible read endpoints, an EcoTracker-style /v1/json API, a neutral /api/v1/meter JSON/MQTT schema, Home Assistant MQTT Discovery, JSON/HTTP/CSV, Prometheus/OpenMetrics, and InfluxDB Line Protocol.
The concept is simple:
One Meter β Multiple Local Interfaces
The same meter information can therefore be consumed by Home Assistant, an MQTT broker, monitoring software, or a custom local application without relying on a proprietary cloud backend.
π Local Energy History
The project provides more than real-time meter readings.
Energy data can be maintained at hourly, daily, weekly, monthly, yearly, and long-term levels and viewed through the local Web UI.
This allows basic energy-use analysis to remain entirely inside the local network without requiring an external cloud database.
π§© One Firmware, Two Network Configurations
The interesting engineering point is not simply that the project uses a W5500.
It is that the application layer is largely independent of whether the device is currently communicating through Ethernet or Wi-Fi.
The Universal Firmware supports both Wi-Fi operation and optional W5500 Ethernet, allowing the same application features to be used with either network path.
π Related WIZnet Maker Projects
- OpenDTU-OnBattery pairs an ESP32 with a W5500 to reach smart meters (Shelly 3EM, SDM, PZEM) over a wired Ethernet connection. The difference is scope: OpenDTU-OnBattery actively controls inverter output based on what it reads, while IR Tracker Offline stays strictly read-only.
- Power Monitoring β CircuitSetup 6-Channel ESP32 Energy Meter It also focuses on energy monitoring rather than active control. The difference is the data source: it measures current directly via CT sensors on a custom board, rather than parsing a utility meter's own optical SML/OBIS output the way IR Tracker Offline does.
IR Tracker Offline adds another architectural difference by deliberately distributing one parsed meter reading through multiple local interfaces at the same time.
β FAQ
Q. Does this project require a cloud service? No. All SML/OBIS/IEC 62056-21 parsing happens on the ESP32-C3, and every interface it exposes (HTTP, MQTT, Prometheus, Influx, CSV) is served from the device on the local network.
Q. Do I need the W5500 to use this firmware? No. The "universal" firmware works over Wi-Fi alone. W5500 is an optional addition the firmware prefers automatically whenever it detects a link, with Wi-Fi remaining as the automatic fallback.
Q. Will my meter show L1/L2/L3, voltage, and current? Only if your specific meter transmits those OBIS values over its optical interface β the firmware can't produce data the meter doesn't provide.
Q. Can this tracker control my battery, inverter, or load-shedding setup? No β by design it's read-only. Control logic (zero-export limiting, charge limits, schedules) is left to your inverter, battery system, or home-automation platform.
Q. Can I use this firmware in a commercial product? The project is licensed under PolyForm Noncommercial 1.0.0, which does not grant commercial use.
Q. Is the Ethernet/PoE board proven hardware? The firmware's W5500 support is implemented, but per the author, the dedicated LAN/PoE carrier board has not yet been validated on real hardware.