{"id":29571770,"url":"https://github.com/pantryf/energy_meter.esp32","last_synced_at":"2025-07-19T04:07:50.412Z","repository":{"id":88822679,"uuid":"193065029","full_name":"pantryf/energy_meter.esp32","owner":"pantryf","description":"ESP32 code for 3-phase realtime energy metering device to MQTT server through WiFi.","archived":false,"fork":false,"pushed_at":"2025-04-10T19:52:06.000Z","size":196,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-26T17:51:27.044Z","etag":null,"topics":["3pahse","energy","esp","esp32","idf","meter","mqtt","wifi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pantryf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-06-21T08:53:10.000Z","updated_at":"2025-04-10T19:52:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"f306d7bc-9d01-45fb-9d3f-9a5d5e0b0abf","html_url":"https://github.com/pantryf/energy_meter.esp32","commit_stats":{"total_commits":64,"total_committers":1,"mean_commits":64.0,"dds":0.0,"last_synced_commit":"13d18f2cdbf6e76502cdcf6e44e2d0f9d089f869"},"previous_names":["pantryf/energy_meter.esp32"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pantryf/energy_meter.esp32","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantryf%2Fenergy_meter.esp32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantryf%2Fenergy_meter.esp32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantryf%2Fenergy_meter.esp32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantryf%2Fenergy_meter.esp32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pantryf","download_url":"https://codeload.github.com/pantryf/energy_meter.esp32/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantryf%2Fenergy_meter.esp32/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265887920,"owners_count":23844498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3pahse","energy","esp","esp32","idf","meter","mqtt","wifi"],"created_at":"2025-07-19T04:07:49.983Z","updated_at":"2025-07-19T04:07:50.402Z","avatar_url":"https://github.com/pantryf.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"ESP32 code for 3-phase realtime energy metering device to MQTT server through WiFi.\n\n```text\nincludePath:\n/home/wolfram77/esp/esp-idf/components/**\n```\n\n\n\n## situation\n\n- World population growing, moving to cities\n- Urban density \u0026 complexity increasing\n- Energy consumption increasing substatially\n- Climate is changing, prepare for future climates\n- Slow change in developed countries\n- Buildings are becoming complex\n- Building integrated photovoltaics\n- Sustainable built environment\n- Higher comfort demands\n- Healthy buildings\n\n\n\n## conserve\n\n- Natural lighting \u0026 ventilation\n- Upgrade to energy efficient appliances\n- Device usage statistics (geyser, fridge, AC)\n- Reduce reliance on appliances (candlelight, water cooler)\n- Unplug devices when not in use\n- Batch tasks (baking all in one go)\n- Use renewable energy\n\n\n\n## features\n\n- Voltage: RMS, pk-pk, FFT, quality, indicate peak load times\n- Current: RMS, pk-pk, FFT, usage, indicate internal load\n- Power: inst., apparent, true, bill usage rate monthly, sense device\n- Sense: temp., humidity, VOC, CO, CO2, PM, electric sound (devices)\n- Control: room supply, mode setup\n- More: state, district bill rate chart, predict bill, zero usage\n- More: incentive non peak load, new home device recommendations\n- More: shared info distribution, zero energy, device efficiency\n\nPrepare features:\n- Calculate time by fetching from NTP\n- Show energy use graph\n- Predict energy use based on current usage\n- Predict bill based on current use\n- Server size storage and analytics\n- Enable configuration, price chart fetching\n- Indicate energy source (coal, nuclear)\n- Indicate savings\n- Multiple access passwords\n- Skill to ask for energy bill (ga, alexa)\n- Previous month electricity bill, usage\n- Prepaid mode?\n- Reading averager\n- Use watchdog to make more self resets\n- Throughout day energy use\n- Room wise energy use (/ac)\n- Instruct fridge, ac?\n- Hacker prevention\n\n\n\n## device\n\n- NVS partition generation\n\n\n### http\n\n- To write http apis here\n\n\n### reference\n\n```text\nESP32  ---\u003e  WiFi     BT    2 cores  peripherals\n(40mm)     (2.4Ghz)  (4.2)  (+ULP)\n```\n\n[ESP-IDF](https://github.com/espressif/esp-idf)\n\n\n### setup\n\n```bash\n# enable access to serial port (TTY)\nsudo usermod -a -G dialout $USER\n\n# environment variables\n$ESPPORT, $ESPBAUD, $MONITORBAUD\n```\n\n\n### flash\n\n```bash\nmake menuconfig     # application configuration\nmake -j8            # build application\nmake flash          # flash to device\nmake monitor        # monitor device logs\n```\n\n\n## mqtt\n\n```bash\n# kill process using a port\nlsof -i :1883\nkill -9 \u003cpid\u003e\n\n# start MQTT server and client\nmosquitto\nmosquitto_sub -h test.mosquitto.org -t \"#\" -v\n```\n\n![](https://ga-beacon.deno.dev/G-4NEP5LC20N:1fbE9YTHTw2pzxI6HO33Mw/github.com/pantryf/energy_meter.esp32)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantryf%2Fenergy_meter.esp32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpantryf%2Fenergy_meter.esp32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantryf%2Fenergy_meter.esp32/lists"}