{"id":24881696,"url":"https://github.com/rafciq/bm6","last_synced_at":"2025-04-13T16:22:17.528Z","repository":{"id":273414847,"uuid":"919185430","full_name":"Rafciq/BM6","owner":"Rafciq","description":"Home Assistant integration for Battery Monitor BM6","archived":false,"fork":false,"pushed_at":"2025-03-12T15:13:41.000Z","size":1189,"stargazers_count":14,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-27T07:15:28.191Z","etag":null,"topics":["custom-component","customcomponent","home-assistant","homeassistant","integration","sensor-monitor"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Rafciq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2025-01-19T22:49:38.000Z","updated_at":"2025-03-25T22:41:37.000Z","dependencies_parsed_at":"2025-01-20T19:37:41.954Z","dependency_job_id":"f0f9d0d5-3099-4b48-ae8b-149f9a85179a","html_url":"https://github.com/Rafciq/BM6","commit_stats":null,"previous_names":["rafciq/bm6"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafciq%2FBM6","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafciq%2FBM6/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafciq%2FBM6/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rafciq%2FBM6/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rafciq","download_url":"https://codeload.github.com/Rafciq/BM6/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741849,"owners_count":21154389,"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":["custom-component","customcomponent","home-assistant","homeassistant","integration","sensor-monitor"],"created_at":"2025-02-01T12:13:13.508Z","updated_at":"2025-04-13T16:22:17.507Z","avatar_url":"https://github.com/Rafciq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Battery Monitor BM6 Integration\n![GitHub License](https://img.shields.io/github/license/Rafciq/BM6)\n![GitHub Release](https://img.shields.io/github/v/release/Rafciq/BM6)\n![GitHub Release Date](https://img.shields.io/github/release-date/Rafciq/BM6)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/Rafciq/BM6)\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-orange.svg?style=flat-square)](https://github.com/hacs)\n![GitHub Repo stars](https://img.shields.io/github/stars/Rafciq/BM6)\n\nThis custom component for [Home Assistant](https://www.home-assistant.io) to reads BLE Car Battery Monitor BM6.\n\n## About\n\u003ctable width=\"100%\" style=\"border: none;\"\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Rafciq/BM6/blob/59d07c0c791f349ccf2342f3340860cabc7606dc/images/icon.png\" alt=\"Icon\"\u003e\u003c/td\u003e\n        \u003ctd valign=\"top\"\u003eThis is an integration that allows you to observe BM6 parameters on the Home Assistant platform. BM6 is monitored via a Bluetooth gateway, and its parameters such as temperature, voltage, percent, state are saved as entities by the HA platform.\u003cbr\u003e\u003cbr\u003e\n        This integration allows you to add any number of such devices.\n        \u003ctd\u003e\u003cimg src=\"https://github.com/Rafciq/BM6/blob/59d07c0c791f349ccf2342f3340860cabc7606dc/images/bm6_device.png\" alt=\"BM6\" width=\"70%\" height=\"70%\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n**:warning: Warning! The author is not responsible for any damages related to the use of this integration. You use this integration at your own risk and responsibility.**\n\n## Installation\nBefore installing this integration, you must have [HACS](https://hacs.xyz/) integration installed first. \nSelect 'HACS' (usual on the left bar), add then choose from menu 'Custom repositories' (on top at right). Put the address https://github.com/Rafciq/BM6 at first and select repository type 'Integration' choose 'ADD'. Now you can add BM6 devices.\n## Configuration\nGo to \"Settings', next 'Devices \u0026 services', select 'Integration' and use 'ADD INTEGRATION'\n\nIn the configuration process, you need to provide some information. This includes the battery voltage, type, method of calculating its condition or percentage. You can also specify the intervals at which data should be downloaded from the BM6 device. You can also correct the temperature and voltage provided by the BM6 device by providing their offset. It is also possible to change the temperature unit.\n### Battery Voltage supported\n- 6 Volts\n- 12 Volts\n- Custom from device voltage 6-20V\n### Battery Types supported\n- Flooded Lead-Acid (**FLA**)\n- Absorbent Glass Mat (**AGM**)\n- Gel Cell (**GEL**)\n- Nickel-Cadmium (**NiCd**)\n- Nickel-Metal Hydride (**NiMH**)\n- Lithium-Ion (**Li-Ion**)\n- Lithium Iron Phosphate (**LiFePO4**)\n- Lithium Titanate (**LTO**)\n- Custom Battery - defined by user.\n### Battery States and Percentage\n#### Algorithms of battery status\nTo calculate percentage of battery power and actual state, integration use algorithm configured by user.\n- Calculated by BM6 Device (integration get information from BM6 device)\n- Calculated using State of Charge/Discharge (SoC/SoD)\n- Calculated using Charge/Discharge Voltage Range (CVR/DVR)\n#### States of battery\nEach BM6 device have one calculated sensor presents actual battery state. It can take one of these values. Availability of this states is depending of used algorithms.\n| State name    | From BM6 | Calculated | Description                                                                 |\n|---------------|:--------:|:----------:|-----------------------------------------------------------------------------|\n| Ok            |    X     |            | Battery state Ok (1)                                                        |\n| Low Voltage   |    X     |            | Low voltage (1)                                                             |\n| Under Voltage |          |     X      | Voltage is under minimum of SoD or DVR                                      |\n| Discharging   |          |     X      | Charging process, voltage is between minimum and maximum of SoD or DVR      |\n| Idle          |          |     X      | Idle state, voltage is between maximum SoD or DVR and minimum of SoC or CVR |\n| Charging      |    X     |     X      | Charging process, voltage is between minimum and maximum of SoC or CVR      |\n| Over Voltage  |          |     X      | Voltage is over maximum of SoC or CVR                                       |\n (1) - Only the BM6 manufacturer knows the details\n## Integration Sensors\n- Sensor 'Temperature' it presents temperature measure by BM6 device. Value can by calibrated at integration configuration time.\n- Sensor 'Voltage' it presents battery voltage measure by BM6 device. Value can by calibrated too.\n- Sensor 'State' calculates the hypothetical battery state from the actual device voltage. Calculation can use parameters of battery configuration or can be get directly from BM6 device.\n- Sensor 'Percent' calculates the hypothetical charge or discharge percentage of the battery using one of these algorithms\n## Diagnostic Sensors\n- Sensor 'Signal Strength (RSSI)' - signal strength reported by Bluetooth gateway.\n- Sensor 'Percentage by device' - percentage value reported directly from BM6 device.\n- Sensor 'State by device' - battery state reported directly from BM6 device. Only 'Ok', 'Low Voltage' and 'Charging'.\n- Sensor 'Bluetooth scanner' - name and address of Bluetooth scanner/gateway who interact with BM6 device\n## Triggers\nTriggers availability is depending on choose algorithm at configuration time. Their behavior corresponds to the change of the value 'State' sensor.\n| Name                      | From BM6 | Calculated |\n|---------------------------|:--------:|:----------:|\n| Started OK state          |    X     |            |\n| Started Low Voltage state |    X     |            |\n| Under Voltage             |          |     X      |\n| Started Discharging       |          |     X      |\n| Started Idle              |          |     X      |\n| Started Charging          |    X     |     X      |\n| Over Voltage              |          |     X      |\n| State Changed             |    X     |     X      |\n## Known Issues:\n- BM6 device is unresponsive or not visible. It is likely that BM6 device cannot connect to multiple other devices at the same time. If you have a mobile app for BM6 running, your integration may not be able to connect to BM6 device at the same time.\n## Device Hardware BM6\nThe Battery Monitor BM6 is a device designed to help you keep track of your car battery's health and performance. Here are some key features:\n- **Real-time Voltage Monitoring**: It allows you to monitor the voltage of your car battery in real-time.\n- **Battery Testing**: You can test the starting and charging system voltage to ensure your battery is functioning properly.\n- **Data Logging**: The device can accurately record the time of car starting and stopping, and all data can be displayed on your mobile phone via Bluetooth.\n- **Compatibility**: The BM6 is compatible with most 12V car batteries and can be easily installed in your vehicle.\n- **Bluetooth Connectivity**: It connects to your smartphone via Bluetooth, allowing you to monitor your battery's health and performance in real-time.\n\nBattery Monitor BM6 is also available under other names:\n- Sealey BT2020 Battery Monitor\n- ANCEL BM200 Car Battery Tester\n- QUICKLYNKS Battery Monitor BM6\n## Languages\nThe integration has been automatically translated into several languages:\n\n![Image](https://flagcdn.com/w20/al.png) Albanian, ![Image](https://flagcdn.com/w20/hr.png) Croatian, ![Image](https://flagcdn.com/w20/cz.png) Czech, ![Image](https://flagcdn.com/w20/dk.png) Danish, ![Image](https://flagcdn.com/w20/nl.png) Dutch, ![Image](https://flagcdn.com/w20/us.png) English, ![Image](https://flagcdn.com/w20/fi.png) Finnish, ![Image](https://flagcdn.com/w20/fr.png) French, ![Image](https://flagcdn.com/w20/de.png) German, ![Image](https://flagcdn.com/w20/er.png) Greek, ![Image](https://flagcdn.com/w20/hu.png) Hungarian, ![Image](https://flagcdn.com/w20/is.png) Icelandic, ![Image](https://flagcdn.com/w20/ga.png) Irish, ![Image](https://flagcdn.com/w20/it.png) Italian, ![Image](https://flagcdn.com/w20/lv.png) Latvian, ![Image](https://flagcdn.com/w20/lt.png) Lithuanian, ![Image](https://flagcdn.com/w20/mk.png) Macedonian, ![Image](https://flagcdn.com/w20/mt.png) Maltese, ![Image](https://flagcdn.com/w20/no.png) Norwegian, ![Image](https://flagcdn.com/w20/pl.png) Polish, ![Image](https://flagcdn.com/w20/pt.png) Portuguese, ![Image](https://flagcdn.com/w20/ro.png) Romanian, ![Image](https://flagcdn.com/w20/rs.png) Serbian, ![Image](https://flagcdn.com/w20/sk.png) Slovak, ![Image](https://flagcdn.com/w20/sl.png) Slovenian, ![Image](https://flagcdn.com/w20/es.png) Spanish, ![Image](https://flagcdn.com/w20/sv.png) Swedish, ![Image](https://flagcdn.com/w20/tr.png) Turkish, ![Image](https://flagcdn.com/w20/ua.png) Ukrainian\n\nIf you would like to correct any of them, please create an [issue](https://github.com/Rafciq/BM6/issues).\n# Thanks\nThis project is inspired and based on the hard work of other people and their publications:\n- [Reverse Engineering the BM6 BLE Battery Monitor](https://www.tarball.ca/posts/reverse-engineering-the-bm6-ble-battery-monitor/)\n- [bm6-battery-monitor](https://github.com/jeffwdh/bm6-battery-monitor)\n- [bm2-battery-monitor](https://github.com/KrystianD/bm2-battery-monitor/blob/master/.docs/reverse_engineering.md)\n- [BM2: Reversing the BLE Protocol of the BM2 Battery Monitor](https://doubleagent.net/bm2-reversing-the-ble-protocol-of-the-bm2-battery-monitor/)\n# Batteries information\n## Types of batteries:\n### Lead-Acid Batteries:\n#### Flooded Lead-Acid Battery: FLA\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.8-6.3V    | 6.8-7.2V    | 5.8-6.0V    | 6.0-6.3V    |\n| 12V          | 10.5-12.7V  | 13.8-14.4V  | 10.5-12.0V  | 12.0-12.7V  |\n#### Sealed Lead-Acid Battery (VRLA):\n##### Absorbent Glass Mat: AGM\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.8-6.3V    | 6.8-7.2V    | 5.8-6.0V    | 6.0-6.3V    |\n| 12V          | 10.5-12.6V  | 14.4-14.7V  | 10.5-12.0V  | 12.0-12.6V  |\n##### Gel Cell: Gel\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.8-6.3V    | 6.8-7.2V    | 5.8-6.0V    | 6.0-6.3V    |\n| 12V          | 10.5-12.6V  | 13.8-14.4V  | 10.5-12.0V  | 12.0-12.6V  |\n### Nickel-Based Batteries\n#### Nickel-Cadmium: NiCd\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.4-6.0V    | 6.8-7.2V    | 5.4-5.8V    | 5.8-6.0V    |\n| 12V          | 10.8-12.0V  | 13.6-14.4V  | 10.8-11.5V  | 11.5-12.0V  |\n#### Nickel-Metal Hydride: NiMH\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.4-6.0V    | 6.8-7.2V    | 5.4-5.8V    | 5.8-6.0V    |\n| 12V          | 10.8-12.0V  | 13.6-14.4V  | 10.8-11.5V  | 11.5-12.0V  |\n### Lithium-Based Batteries\n#### Lithium-Ion: Li-Ion\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 6.0-7.2V    | 7.0-7.2V    | 6.0-6.5V    | 6.5-7.2V    |\n| 12V          | 10.0-13.5V  | 14.4-14.6V  | 10.0-12.0V  | 12.0-13.5V  |\n#### Lithium Iron Phosphate: LiFePO4\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 12V          | 12.0-13.5V  | 14.6-15.0V  | 12.0-13.0V  | 13.0-13.5V  |\n#### Lithium Titanate: LTO\n| Battery Type | DVR         | CVR         | SoD         | SoC         |\n|--------------|-------------|-------------|-------------|-------------|\n| 6V           | 5.4-6.6V    | 6.0-6.6V    | 5.4-6.0V    | 6.0-6.6V    |\n| 12V          | 10.8-13.2V  | 12.0-13.2V  | 10.8-12.0V  | 12.0-13.2V  |\n## Shortcuts of battery process states:\n- DVR = Discharging Voltage Range\n- CVR = Charging Voltage Range\n- SoC = State of Charge\n- SoD = State of Discharge\n\n## Images of Device\n![Image](images/bm6_device.png)\n![Image](images/bm6_box.png)\n![Image](images/bm6_with_battery.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafciq%2Fbm6","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafciq%2Fbm6","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafciq%2Fbm6/lists"}