{"id":15412272,"url":"https://github.com/robthree/p1-meter","last_synced_at":"2026-04-02T02:17:57.059Z","repository":{"id":69245891,"uuid":"314329796","full_name":"RobThree/P1-meter","owner":"RobThree","description":"P1 Meter (Wemos D1 mini) - Serial to HTTP POST / \"Serial over WiFi\". See also https://github.com/RobThree/DSMR.Net","archived":false,"fork":false,"pushed_at":"2025-04-15T17:33:27.000Z","size":6985,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-02T10:34:03.769Z","etag":null,"topics":["dsmr","homeassistant","http","p1","p1meter","wemos-d1-mini","wemos-shield"],"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/RobThree.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":"2020-11-19T18:02:25.000Z","updated_at":"2025-04-16T01:19:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"539650bb-4637-4433-aed5-ba4f24e48f36","html_url":"https://github.com/RobThree/P1-meter","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"58c266dc6778879536a8f76d6a2450dddbb95cb1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RobThree/P1-meter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FP1-meter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FP1-meter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FP1-meter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FP1-meter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobThree","download_url":"https://codeload.github.com/RobThree/P1-meter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FP1-meter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dsmr","homeassistant","http","p1","p1meter","wemos-d1-mini","wemos-shield"],"created_at":"2024-10-01T16:52:04.737Z","updated_at":"2026-04-02T02:17:57.051Z","avatar_url":"https://github.com/RobThree.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![Logo](data/favicon.svg) P1-meter\n\nThis project reads \"telegrams\" from a P1 meter and POSTs them to a given HTTP endpoint for further processing and also provides the data over TCP port 23 (for Home Assitant integration for example). No fancy schmancy MQTT stuff or anything. Plain, simple, pure HTTP POST + Serial over WiFi. That's it.\n\n## Getting started\n\n1. Build the circuit shown under [hardware](#hardware)\n2. Follow the instructions in [include/example_config.h](include/example_config.h) and [example_env_secrets.ini](example_env_secrets.ini).\n3. Flash the Wemos D1 Mini with this software\n4. Power the Wemos D1 mini and connect it to your meter\n5. Connect to the WiFi Access Point it creates (`p1-meter` or a name you provided) and configure your WiFi\n6. You should now see POST requests at your configured HTTP endpoint\n\nWhere you go from here is up to you. Personally, I use [DSMRParser.Net](https://github.com/RobThree/DSMRParser.Net) hosted in a C# WebAPI project to handle the POST requests and check the checksum, parse the telegram etc. and then hand the parsed data to InfluxDB so I can visualize my data with Grafana. But you may have totally different plans. And that's OK. All this project requires is that you handle a POST request that contains the raw, unsanitized, unchecked and unvalidated telegram data.\n\n## Hardware\n\nThis project is based on a Wemos D1 mini. The cicruit is pretty simple:\n\n![Schema](/doc/schema.png)\n\nThere is some [discussion](https://x.com/ba0sh1/status/759239169071837184) on wether the Wemos [is](https://hackaday.com/2022/05/12/is-esp8266-5-v-tolerant-this-curve-tracer-says-yes/) 5V tolerant or [not](https://hackaday.com/2016/07/28/ask-hackaday-is-the-esp8266-5v-tolerant/). So far, this has been working fine for me. But when in doubt, add a [series resistor](https://hackaday.com/2022/05/12/is-esp8266-5-v-tolerant-this-curve-tracer-says-yes/#comment-6472529).\n\n![Works On My Machine!](/doc/womm.png)\n\nThis was a 'weekend project' many moons ago. I have polished it _a little_ recently, but don't expect too much.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobthree%2Fp1-meter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobthree%2Fp1-meter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobthree%2Fp1-meter/lists"}