{"id":17150452,"url":"https://github.com/argilo/gr-elster","last_synced_at":"2026-01-04T23:39:58.707Z","repository":{"id":12686928,"uuid":"15359127","full_name":"argilo/gr-elster","owner":"argilo","description":"A GNU Radio block that decodes packets transmitted by Elster R2S smart meters","archived":false,"fork":false,"pushed_at":"2024-02-22T21:15:30.000Z","size":260,"stargazers_count":129,"open_issues_count":1,"forks_count":16,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-01-29T17:23:03.045Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/argilo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2013-12-21T13:20:03.000Z","updated_at":"2024-11-22T18:53:35.000Z","dependencies_parsed_at":"2024-12-02T02:30:35.262Z","dependency_job_id":null,"html_url":"https://github.com/argilo/gr-elster","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-elster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-elster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-elster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fgr-elster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argilo","download_url":"https://codeload.github.com/argilo/gr-elster/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245267566,"owners_count":20587459,"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":["hacktoberfest"],"created_at":"2024-10-14T21:35:41.943Z","updated_at":"2026-01-04T23:39:58.680Z","avatar_url":"https://github.com/argilo.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"gr-elster\n=========\n\nAuthor: Clayton Smith  \nEmail: \u003cargilo@gmail.com\u003e\n\nThis GNU Radio block and sample flow graph are intended to receive\npackets transmitted by Elster smart meters on the 902-928 MHz band.  In\nparticular, I have tested it with the Elster R2S hydro meters used in the\nOttawa area.  It may work with other Elster meters.  Please let me know\nwhat you manage to receive with it.\n\nIt is not yet complete, as I have not fully reverse engineered the packet\nstructure, nor the payload data.  But it is able to dump complete\npackets, and can display meter readings and hourly electricity usage\ndata.  When running, it dumps all packets to the console in hex, and\ndecodes those packets containing meter readings as follows:\n\n    Meter reading for meter #XXXXXXX: YYYYY kWh\n    Hourly readings: Z.ZZ, Z.ZZ, Z.ZZ, Z.ZZ, Z.ZZ, Z.ZZ\n\nIt also stores packets to a pcap file (beginning with elster-001.pcap)\nwhich can then be decoded using the decode_pcap.py script.\n\nIn my area, usage data is transmitted every six hours (beginning at\n05:30, 11:30, 17:30 and 23:30 UTC), so it may be necessary to wait a\nwhile before such packets will appear.\n\nThe flow graph in /apps/elster_rx_multi.grc is intended for use with an\nRTL-SDR dongle, but can likely be used with other SDR receivers as well.\nIt receives six out of the 25 frequency-hopping channels used in my area,\nbut that should be sufficient to receive most traffic since packets are\nrepeated a few times on different channels.  The number of simultaneous\nchannels is limited by the bandwidth of the SDR.  An RTL-SDR dongle can\nreliably receive up to about 2.4 MHz, which is sufficient for six 400-kHz\nchannels.\n\nFor best reception with an RTL-SDR dongle, set the frequency correction\nslider to the appropriate value (in PPM) for your particular tuner.\n\nBuild instructions:\n\n    mkdir build\n    cd build\n    cmake ../\n    make\n    sudo make install\n\nAfter following the build instructions, be sure to restart GNU Radio\nCompanion so that the new block will be available there.\n\nAny help you can offer with reverse engineering or coding would be\ngreatly appreciated!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fgr-elster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargilo%2Fgr-elster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fgr-elster/lists"}