{"id":22352060,"url":"https://github.com/bertreb/pimatic-smartmeter-obis","last_synced_at":"2026-06-29T11:31:08.929Z","repository":{"id":57324294,"uuid":"210204529","full_name":"bertreb/pimatic-smartmeter-obis","owner":"bertreb","description":"Plugin for reading Obis values from smartmeters (D0 and SLM protocol)","archived":false,"fork":false,"pushed_at":"2020-06-15T22:03:58.000Z","size":54,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-22T02:52:29.240Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CoffeeScript","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/bertreb.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-22T19:44:21.000Z","updated_at":"2020-06-15T22:04:01.000Z","dependencies_parsed_at":"2022-09-21T01:01:39.035Z","dependency_job_id":null,"html_url":"https://github.com/bertreb/pimatic-smartmeter-obis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bertreb/pimatic-smartmeter-obis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-smartmeter-obis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-smartmeter-obis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-smartmeter-obis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-smartmeter-obis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertreb","download_url":"https://codeload.github.com/bertreb/pimatic-smartmeter-obis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertreb%2Fpimatic-smartmeter-obis/sbom","scorecard":{"id":234697,"data":{"date":"2025-08-11","repo":{"name":"github.com/bertreb/pimatic-smartmeter-obis","commit":"ec85876ba6fed10c4ccbb09a7e2dcbd2f97b2f00"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-17T05:25:09.420Z","repository_id":57324294,"created_at":"2025-08-17T05:25:09.420Z","updated_at":"2025-08-17T05:25:09.420Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34925718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"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":[],"created_at":"2024-12-04T12:17:01.580Z","updated_at":"2026-06-29T11:31:08.909Z","avatar_url":"https://github.com/bertreb.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"pimatic-smartmeter-obis\n===================\n\nReading energy values from a smartmeter. This plugin is a based on the smartmeter-obis@1.1.3 library from Apollon77.\nThis plugin supports OBIS smartmeter readings over D0 and SML protocol and is compatible with node v4 to v10.\nThe OBIS codes for electricity (usage and delivery) and gas (usage) are preset, but can be configured to meet the specs of your smartmeter.\n\nInstallation\n------------\nTo enable the smartmeter plugin add this to the plugins section via the GUI or add it in the config.json file.\n\n```\n...\n{\n  \"plugin\": \"Smartmeter-obis\"\n}\n...\n```\n\nAfter restart of Pimatic the SmartmeterObis device can be added. Below the settings with the default values.\n\n```\n{\n  \"id\": \"smartmeter-obis\",\n  \"class\": \"SmartmeterObisDevice\",\n  \"name\": \"xxxx\",\n  \"protocol\": [D0Protocol | SmlProtocol] (D0Protocol is default)\n  \"serialPort\": \"/dev/ttyUSB0\",\n  \"baudRate\" : 115200,\n  \"dataBits\": 8,\n  \"parity\": \"none\",\n  \"stopBits\": 1,\n  \"requestInterval\" : 10,\n  \"capabilityLog\": false,\n  \"debuglevel\": 0 (default 0 is no debugging)\n  \"obisValues\":\n    name: \"smartmeter related attributes\"\n      [\"totalusage\", \"tariff1totalusage\", \"tariff2totalusage\", \n      \"actualusage\",   \"gastotalusage\",\"totaldelivery\",\n      \"tariff1totaldelivery\",\"tariff2totaldelivery\", \"actualdelivery\"]\n    obis: \"The OBIS identifier for the specific value.\"\n    acronym: \"The attribute acronym text to be displayed.\"\n    unit: \"The attribute unit to be displayed.\"\n}\n```\n\nThe required smartmeter values can be selected on de device configuration page.\n\nConfiguration\n-------------\n\nConnect your smartmeter via een serial connection to your computer.\nIdentify the serialport ID and communications settings of the smartmeter connection, on your computer (/dev/.....).\nDebuglevel 1 is for basic debugging and level 2 is for detailed debugging. Setting errorMessageThreshold \u003e 0 will display an error message after the chosen number of errors. Setting errorMessageThreshold to 0, will stop the error messages.\nWhen the capabilityLog is switched on, a smartmeter capability list with all the available OBIS values will be generated once on (re)start of the device.\nThis capability list is writen into the pimatic log under \"info\".\n\nCreate a new SmartmeterObis device.\nYou can choose between the D0 of Sml protocol depending on the type of smartmeter you are using.\n\nThe initial device doesn't expose any values. You need to add them in the device configuration (obisValues).\nThe available values are:\n- actualusage - the actual power consumption (kW)\n- totalusage - the total consumed power; sum of Tariff1 and Tariff2 (kWh)\n- tariff1totalusage - the total consumed tariff1 (kWh)\n- tariff2totalusage - the total consumend tariff2 power (kWh)\n- gastotalusage - the total consumed gas (m3)\n- totaldelivery - the total delivered power; sum of tariff1 and tariff2 (kWh)\n- tariff1totaldelivery - the total delivered power tariff1 (kWh)\n- tariff2totaldelivery - the total delivered power tariff2 (kWh)\n\nThe OBIS string are preconfigured, based on my smartmeter:\n- actualusage: 1-0:1.7.0\n- totalusage: 1-0:1.8.0\n- tariff1totalusage: 1-0:1.8.1\n- tariff2totalusage: 1-0:1.8.2\n- gastotalusage: 0-1:24.2.1\n- totaldelivery: 1-0:2.8.0\n- tariff1totaldelivery: 1-0:2.8.1\n- tariff2totaldelivery: 1-0:2.8.2\n\nYou can change the OBIS string to get the right values from your smartmeter.\nThe acronym and unit per value can be customized.\nYou can use the capabilityLog info to tune your device.\n\nIf you want to format the values in the GUI, use xAttributeOptions.\nFor example: to get rid of the decimals 'behind the dot' use displayFormat: fixed, decimal:0.\n\nThe plugin is in development. Please backup Pimatic before you are using it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertreb%2Fpimatic-smartmeter-obis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertreb%2Fpimatic-smartmeter-obis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertreb%2Fpimatic-smartmeter-obis/lists"}