From 9e358fa9c5b1549799b174cb34dff38a7e1748cb Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 08:04:25 +0200 Subject: [PATCH 1/6] added BMS info and cleanup * MNB * Revov * Sinowealth --- .flake8 | 5 ++--- etc/dbus-serialbattery/dbus-serialbattery.py | 1 + etc/dbus-serialbattery/mnb.py | 18 +++++++++++++----- .../{test_max17853.py => mnb_test_max17853.py} | 0 ...{util_max17853.py => mnb_utils_max17853.py} | 0 etc/dbus-serialbattery/revov.py | 5 ++++- etc/dbus-serialbattery/sinowealth.py | 4 ++++ 7 files changed, 24 insertions(+), 9 deletions(-) rename etc/dbus-serialbattery/{test_max17853.py => mnb_test_max17853.py} (100%) rename etc/dbus-serialbattery/{util_max17853.py => mnb_utils_max17853.py} (100%) diff --git a/.flake8 b/.flake8 index 85d1bd06..6dc18a5c 100644 --- a/.flake8 +++ b/.flake8 @@ -5,10 +5,9 @@ exclude = #./etc/dbus-serialbattery/dbus-serialbattery.py, ./etc/dbus-serialbattery/dbushelper.py, ./etc/dbus-serialbattery/minimalmodbus.py, - ./etc/dbus-serialbattery/mnb.py, + ./etc/dbus-serialbattery/mnb_test_max17853.py, + ./etc/dbus-serialbattery/mnb_utils_max17853.py, ./etc/dbus-serialbattery/revov.py, - ./etc/dbus-serialbattery/test_max17853.py, - ./etc/dbus-serialbattery/util_max17853.py, ./velib_python venv extend-ignore: diff --git a/etc/dbus-serialbattery/dbus-serialbattery.py b/etc/dbus-serialbattery/dbus-serialbattery.py index 1fdd7bf1..363045f3 100644 --- a/etc/dbus-serialbattery/dbus-serialbattery.py +++ b/etc/dbus-serialbattery/dbus-serialbattery.py @@ -32,6 +32,7 @@ from renogy import Renogy from seplos import Seplos +# from mnb import MNB # from sinowealth import Sinowealth supported_bms_types = [ diff --git a/etc/dbus-serialbattery/mnb.py b/etc/dbus-serialbattery/mnb.py index ce627a39..a9d67613 100644 --- a/etc/dbus-serialbattery/mnb.py +++ b/etc/dbus-serialbattery/mnb.py @@ -1,9 +1,16 @@ # -*- coding: utf-8 -*- + +# disable MNB battery by default +# https://github.com/Louisvdw/dbus-serialbattery/commit/65241cbff36feb861ff43dbbcfb2b495f14a01ce +# remove duplicate MNB lines +# https://github.com/Louisvdw/dbus-serialbattery/commit/23afec33c2fd87fd4d4c53516f0a25f290643c82 + from battery import Protection, Battery, Cell -from struct import * +from utils import logger +from mnb_utils_max17853 import data_cycle, init_max -# from test_max17853 import *#{these two lines are mutually} -# from util_max17853 import * # {exclusive. use test for testing} +# from struct import * +# from mnb_test_max17853 import * # use test for testing class MNBProtection(Protection): @@ -90,8 +97,9 @@ def test_connection(self): result = False try: result = self.read_status_data() - except: - pass + except Exception as err: + logger.error(f"Unexpected {err=}, {type(err)=}") + result = False return result diff --git a/etc/dbus-serialbattery/test_max17853.py b/etc/dbus-serialbattery/mnb_test_max17853.py similarity index 100% rename from etc/dbus-serialbattery/test_max17853.py rename to etc/dbus-serialbattery/mnb_test_max17853.py diff --git a/etc/dbus-serialbattery/util_max17853.py b/etc/dbus-serialbattery/mnb_utils_max17853.py similarity index 100% rename from etc/dbus-serialbattery/util_max17853.py rename to etc/dbus-serialbattery/mnb_utils_max17853.py diff --git a/etc/dbus-serialbattery/revov.py b/etc/dbus-serialbattery/revov.py index d3fc2563..b0eb65bf 100755 --- a/etc/dbus-serialbattery/revov.py +++ b/etc/dbus-serialbattery/revov.py @@ -1,10 +1,13 @@ # -*- coding: utf-8 -*- + +# Deprecate Revov driver - replaced by LifePower +# https://github.com/Louisvdw/dbus-serialbattery/pull/353/commits/c3ac9558fc86b386e5a6aefb313408165c86d240 + from battery import Protection, Battery, Cell from utils import * from struct import * import struct - # Author: L Sheed # Date: 3 May 2022 # Version 0.1.3 diff --git a/etc/dbus-serialbattery/sinowealth.py b/etc/dbus-serialbattery/sinowealth.py index 60b41895..263523fe 100755 --- a/etc/dbus-serialbattery/sinowealth.py +++ b/etc/dbus-serialbattery/sinowealth.py @@ -1,4 +1,8 @@ # -*- coding: utf-8 -*- + +# remove Sinowealth by default as it causes other issues but can be enabled manually +# https://github.com/Louisvdw/dbus-serialbattery/commit/7aab4c850a5c8d9c205efefc155fe62bb527da8e + from battery import Battery, Cell from utils import kelvin_to_celsius, read_serial_data, logger import utils From 09034a1327b7333f5f35487bf8c5c5a4bc3ddd08 Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 08:18:46 +0200 Subject: [PATCH 2/6] moved BMS to subfolder --- etc/dbus-serialbattery/{ => bms}/ant.py | 0 .../{ => bms}/battery_template.py | 0 etc/dbus-serialbattery/{ => bms}/daly.py | 0 etc/dbus-serialbattery/{ => bms}/ecs.py | 0 .../{ => bms}/hlpdatabms4s.py | 0 .../{ => bms}/hlpdatabms4s_miniterm.py | 0 etc/dbus-serialbattery/{ => bms}/jkbms.py | 0 etc/dbus-serialbattery/{ => bms}/jkbms_ble.py | 2 +- etc/dbus-serialbattery/{ => bms}/jkbms_brn.py | 0 etc/dbus-serialbattery/{ => bms}/lifepower.py | 0 etc/dbus-serialbattery/{ => bms}/lltjbd.py | 0 etc/dbus-serialbattery/{ => bms}/mnb.py | 4 +-- .../{ => bms}/mnb_test_max17853.py | 0 .../{ => bms}/mnb_utils_max17853.py | 0 etc/dbus-serialbattery/{ => bms}/renogy.py | 0 etc/dbus-serialbattery/{ => bms}/revov.py | 0 etc/dbus-serialbattery/{ => bms}/seplos.py | 0 .../{ => bms}/sinowealth.py | 0 etc/dbus-serialbattery/dbus-serialbattery.py | 26 +++++++++---------- 19 files changed, 16 insertions(+), 16 deletions(-) rename etc/dbus-serialbattery/{ => bms}/ant.py (100%) rename etc/dbus-serialbattery/{ => bms}/battery_template.py (100%) rename etc/dbus-serialbattery/{ => bms}/daly.py (100%) rename etc/dbus-serialbattery/{ => bms}/ecs.py (100%) rename etc/dbus-serialbattery/{ => bms}/hlpdatabms4s.py (100%) rename etc/dbus-serialbattery/{ => bms}/hlpdatabms4s_miniterm.py (100%) rename etc/dbus-serialbattery/{ => bms}/jkbms.py (100%) rename etc/dbus-serialbattery/{ => bms}/jkbms_ble.py (99%) rename etc/dbus-serialbattery/{ => bms}/jkbms_brn.py (100%) rename etc/dbus-serialbattery/{ => bms}/lifepower.py (100%) rename etc/dbus-serialbattery/{ => bms}/lltjbd.py (100%) rename etc/dbus-serialbattery/{ => bms}/mnb.py (98%) rename etc/dbus-serialbattery/{ => bms}/mnb_test_max17853.py (100%) rename etc/dbus-serialbattery/{ => bms}/mnb_utils_max17853.py (100%) rename etc/dbus-serialbattery/{ => bms}/renogy.py (100%) rename etc/dbus-serialbattery/{ => bms}/revov.py (100%) rename etc/dbus-serialbattery/{ => bms}/seplos.py (100%) rename etc/dbus-serialbattery/{ => bms}/sinowealth.py (100%) diff --git a/etc/dbus-serialbattery/ant.py b/etc/dbus-serialbattery/bms/ant.py similarity index 100% rename from etc/dbus-serialbattery/ant.py rename to etc/dbus-serialbattery/bms/ant.py diff --git a/etc/dbus-serialbattery/battery_template.py b/etc/dbus-serialbattery/bms/battery_template.py similarity index 100% rename from etc/dbus-serialbattery/battery_template.py rename to etc/dbus-serialbattery/bms/battery_template.py diff --git a/etc/dbus-serialbattery/daly.py b/etc/dbus-serialbattery/bms/daly.py similarity index 100% rename from etc/dbus-serialbattery/daly.py rename to etc/dbus-serialbattery/bms/daly.py diff --git a/etc/dbus-serialbattery/ecs.py b/etc/dbus-serialbattery/bms/ecs.py similarity index 100% rename from etc/dbus-serialbattery/ecs.py rename to etc/dbus-serialbattery/bms/ecs.py diff --git a/etc/dbus-serialbattery/hlpdatabms4s.py b/etc/dbus-serialbattery/bms/hlpdatabms4s.py similarity index 100% rename from etc/dbus-serialbattery/hlpdatabms4s.py rename to etc/dbus-serialbattery/bms/hlpdatabms4s.py diff --git a/etc/dbus-serialbattery/hlpdatabms4s_miniterm.py b/etc/dbus-serialbattery/bms/hlpdatabms4s_miniterm.py similarity index 100% rename from etc/dbus-serialbattery/hlpdatabms4s_miniterm.py rename to etc/dbus-serialbattery/bms/hlpdatabms4s_miniterm.py diff --git a/etc/dbus-serialbattery/jkbms.py b/etc/dbus-serialbattery/bms/jkbms.py similarity index 100% rename from etc/dbus-serialbattery/jkbms.py rename to etc/dbus-serialbattery/bms/jkbms.py diff --git a/etc/dbus-serialbattery/jkbms_ble.py b/etc/dbus-serialbattery/bms/jkbms_ble.py similarity index 99% rename from etc/dbus-serialbattery/jkbms_ble.py rename to etc/dbus-serialbattery/bms/jkbms_ble.py index ecc0cf35..10d6bab7 100644 --- a/etc/dbus-serialbattery/jkbms_ble.py +++ b/etc/dbus-serialbattery/bms/jkbms_ble.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from battery import Battery, Cell from utils import logger -from jkbms_brn import JkBmsBle +from bms.jkbms_brn import JkBmsBle from bleak import BleakScanner, BleakError import asyncio import time diff --git a/etc/dbus-serialbattery/jkbms_brn.py b/etc/dbus-serialbattery/bms/jkbms_brn.py similarity index 100% rename from etc/dbus-serialbattery/jkbms_brn.py rename to etc/dbus-serialbattery/bms/jkbms_brn.py diff --git a/etc/dbus-serialbattery/lifepower.py b/etc/dbus-serialbattery/bms/lifepower.py similarity index 100% rename from etc/dbus-serialbattery/lifepower.py rename to etc/dbus-serialbattery/bms/lifepower.py diff --git a/etc/dbus-serialbattery/lltjbd.py b/etc/dbus-serialbattery/bms/lltjbd.py similarity index 100% rename from etc/dbus-serialbattery/lltjbd.py rename to etc/dbus-serialbattery/bms/lltjbd.py diff --git a/etc/dbus-serialbattery/mnb.py b/etc/dbus-serialbattery/bms/mnb.py similarity index 98% rename from etc/dbus-serialbattery/mnb.py rename to etc/dbus-serialbattery/bms/mnb.py index a9d67613..1ad1126e 100644 --- a/etc/dbus-serialbattery/mnb.py +++ b/etc/dbus-serialbattery/bms/mnb.py @@ -7,10 +7,10 @@ from battery import Protection, Battery, Cell from utils import logger -from mnb_utils_max17853 import data_cycle, init_max +from bms.mnb_utils_max17853 import data_cycle, init_max # from struct import * -# from mnb_test_max17853 import * # use test for testing +# from bms.mnb_test_max17853 import * # use test for testing class MNBProtection(Protection): diff --git a/etc/dbus-serialbattery/mnb_test_max17853.py b/etc/dbus-serialbattery/bms/mnb_test_max17853.py similarity index 100% rename from etc/dbus-serialbattery/mnb_test_max17853.py rename to etc/dbus-serialbattery/bms/mnb_test_max17853.py diff --git a/etc/dbus-serialbattery/mnb_utils_max17853.py b/etc/dbus-serialbattery/bms/mnb_utils_max17853.py similarity index 100% rename from etc/dbus-serialbattery/mnb_utils_max17853.py rename to etc/dbus-serialbattery/bms/mnb_utils_max17853.py diff --git a/etc/dbus-serialbattery/renogy.py b/etc/dbus-serialbattery/bms/renogy.py similarity index 100% rename from etc/dbus-serialbattery/renogy.py rename to etc/dbus-serialbattery/bms/renogy.py diff --git a/etc/dbus-serialbattery/revov.py b/etc/dbus-serialbattery/bms/revov.py similarity index 100% rename from etc/dbus-serialbattery/revov.py rename to etc/dbus-serialbattery/bms/revov.py diff --git a/etc/dbus-serialbattery/seplos.py b/etc/dbus-serialbattery/bms/seplos.py similarity index 100% rename from etc/dbus-serialbattery/seplos.py rename to etc/dbus-serialbattery/bms/seplos.py diff --git a/etc/dbus-serialbattery/sinowealth.py b/etc/dbus-serialbattery/bms/sinowealth.py similarity index 100% rename from etc/dbus-serialbattery/sinowealth.py rename to etc/dbus-serialbattery/bms/sinowealth.py diff --git a/etc/dbus-serialbattery/dbus-serialbattery.py b/etc/dbus-serialbattery/dbus-serialbattery.py index 363045f3..383fce1a 100644 --- a/etc/dbus-serialbattery/dbus-serialbattery.py +++ b/etc/dbus-serialbattery/dbus-serialbattery.py @@ -22,18 +22,18 @@ from battery import Battery # import battery classes -from ant import Ant -from daly import Daly -from ecs import Ecs -from hlpdatabms4s import HLPdataBMS4S -from jkbms import Jkbms -from lifepower import Lifepower -from lltjbd import LltJbd -from renogy import Renogy -from seplos import Seplos - -# from mnb import MNB -# from sinowealth import Sinowealth +from bms.ant import Ant +from bms.daly import Daly +from bms.ecs import Ecs +from bms.hlpdatabms4s import HLPdataBMS4S +from bms.jkbms import Jkbms +from bms.lifepower import Lifepower +from bms.lltjbd import LltJbd +from bms.renogy import Renogy +from bms.seplos import Seplos + +# from bms.mnb import MNB +# from bms.sinowealth import Sinowealth supported_bms_types = [ {"bms": Ant, "baud": 19200}, @@ -108,7 +108,7 @@ def get_port() -> str: """ if port == "Jkbms_Ble": # noqa: F401 --> ignore flake "imported but unused" error - from jkbms_ble import Jkbms_Ble # noqa: F401 + from bms.jkbms_ble import Jkbms_Ble # noqa: F401 class_ = eval(port) testbms = class_("", 9600, sys.argv[2]) From a0918ee07c2205d82287ef5b29afe57ac8ac99ac Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 08:30:25 +0200 Subject: [PATCH 3/6] moved BMS to subfolder --- .flake8 | 8 ++++---- CHANGELOG.md | 3 ++- etc/dbus-serialbattery/dbus-serialbattery.py | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.flake8 b/.flake8 index 6dc18a5c..52c0c3ad 100644 --- a/.flake8 +++ b/.flake8 @@ -1,13 +1,13 @@ [flake8] max-line-length = 120 exclude = - ./etc/dbus-serialbattery/battery_template.py, + ./etc/dbus-serialbattery/bms/battery_template.py, + ./etc/dbus-serialbattery/bms/mnb_test_max17853.py, + ./etc/dbus-serialbattery/bms/mnb_utils_max17853.py, + ./etc/dbus-serialbattery/bms/revov.py, #./etc/dbus-serialbattery/dbus-serialbattery.py, ./etc/dbus-serialbattery/dbushelper.py, ./etc/dbus-serialbattery/minimalmodbus.py, - ./etc/dbus-serialbattery/mnb_test_max17853.py, - ./etc/dbus-serialbattery/mnb_utils_max17853.py, - ./etc/dbus-serialbattery/revov.py, ./velib_python venv extend-ignore: diff --git a/CHANGELOG.md b/CHANGELOG.md index ba0d4aa5..51dd196a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,8 @@ * Changed: Fixed Time-To-Go is not working, if `TIME_TO_SOC_VALUE_TYPE` is set to other than `1` https://github.com/Louisvdw/dbus-serialbattery/pull/424#issuecomment-1440511018 by @mr-manuel * Changed: Improved JBD BMS soc calculation https://github.com/Louisvdw/dbus-serialbattery/pull/439 by @aaronreek * Changed: Logging to get relevant data by @mr-manuel -* Changed: Moved ble part to `installble.sh` by @mr-manuel +* Changed: Moved Bluetooth part to `installble.sh` by @mr-manuel +* Changed: Moved BMS scripts to subfolder by @mr-manuel * Changed: Optimized installation scripts by @mr-manuel * Changed: Removed wildcard imports from several BMS drivers and fixed black lint errors by @mr-manuel * Changed: Serial-Starter file is now created from `reinstalllocal.sh`. Fixes also https://github.com/Louisvdw/dbus-serialbattery/issues/520 by @mr-manuel diff --git a/etc/dbus-serialbattery/dbus-serialbattery.py b/etc/dbus-serialbattery/dbus-serialbattery.py index 383fce1a..34e80d2f 100644 --- a/etc/dbus-serialbattery/dbus-serialbattery.py +++ b/etc/dbus-serialbattery/dbus-serialbattery.py @@ -47,6 +47,7 @@ {"bms": Renogy, "baud": 9600, "address": b"\x30"}, {"bms": Renogy, "baud": 9600, "address": b"\xF7"}, {"bms": Seplos, "baud": 19200}, + # {"bms": MNB, "baud": 9600}, # {"bms": Sinowealth}, ] expected_bms_types = [ From 8f7d705cd38fc4461b441db49951c082949ab21c Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 09:02:11 +0200 Subject: [PATCH 4/6] corrected installble to run correct script --- etc/dbus-serialbattery/installble.sh | 2 +- etc/dbus-serialbattery/reinstalllocal.sh | 2 ++ etc/dbus-serialbattery/utils.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/etc/dbus-serialbattery/installble.sh b/etc/dbus-serialbattery/installble.sh index abe86010..63e028ea 100755 --- a/etc/dbus-serialbattery/installble.sh +++ b/etc/dbus-serialbattery/installble.sh @@ -29,7 +29,7 @@ install_service() { echo "#!/bin/sh" > /service/dbus-blebattery-$1/run echo "exec 2>&1" >> /service/dbus-blebattery-$1/run echo "bluetoothctl disconnect $3" >> /service/dbus-blebattery-$1/run - echo "python /data/etc/dbus-serialbattery/dbus-serialbattery.py $2 $3" >> /service/dbus-blebattery-$1/run + echo "python /opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py $2 $3" >> /service/dbus-blebattery-$1/run chmod 755 /service/dbus-blebattery-$1/run } diff --git a/etc/dbus-serialbattery/reinstalllocal.sh b/etc/dbus-serialbattery/reinstalllocal.sh index 6539e446..2b818b0a 100755 --- a/etc/dbus-serialbattery/reinstalllocal.sh +++ b/etc/dbus-serialbattery/reinstalllocal.sh @@ -13,7 +13,9 @@ rm -rf /opt/victronenergy/service/$DRIVERNAME rm -rf /opt/victronenergy/service-templates/$DRIVERNAME rm -rf /opt/victronenergy/$DRIVERNAME mkdir /opt/victronenergy/$DRIVERNAME +mkdir /opt/victronenergy/$DRIVERNAME/bms cp -f /data/etc/$DRIVERNAME/* /opt/victronenergy/$DRIVERNAME &>/dev/null +cp -f /data/etc/$DRIVERNAME/bms/* /opt/victronenergy/$DRIVERNAME/bms &>/dev/null cp -rf /data/etc/$DRIVERNAME/service /opt/victronenergy/service-templates/$DRIVERNAME sh /data/etc/$DRIVERNAME/installqml.sh diff --git a/etc/dbus-serialbattery/utils.py b/etc/dbus-serialbattery/utils.py index d90bbfbb..8729e288 100644 --- a/etc/dbus-serialbattery/utils.py +++ b/etc/dbus-serialbattery/utils.py @@ -36,7 +36,7 @@ def _get_list_from_config( # Constants - Need to dynamically get them in future DRIVER_VERSION = "1.0" -DRIVER_SUBVERSION = ".0-jkbms_ble (20230427)" +DRIVER_SUBVERSION = ".0-jkbms_ble (20230428)" zero_char = chr(48) degree_sign = "\N{DEGREE SIGN}" From 3a62eed2af61ee69b3a9c2507f07c428c258c2bd Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 09:43:58 +0200 Subject: [PATCH 5/6] Added self.unique_identifier to the battery class Used to identify a BMS when multiple BMS are connected planned for future use --- CHANGELOG.md | 1 + etc/dbus-serialbattery/battery.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51dd196a..8de3dac8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Added: Balancing status for JKBMS by @mr-manuel * Added: Balancing switch status for JKBMS by @mr-manuel * Added: Balancing switch status to the GUI -> SerialBattery -> IO by @mr-manuel +* Added: `self.unique_identifier` to the battery class. Used to identify a BMS when multiple BMS are connected - planned for future use by @mr-manuel * Added: Charge Mode display by @mr-manuel * Added: Choose how battery temperature is assembled (mean temp 1 & 2, only temp 1 or only temp 2) by @mr-manuel * Added: Config file by @ppuetsch diff --git a/etc/dbus-serialbattery/battery.py b/etc/dbus-serialbattery/battery.py index e86c7e2e..6b40846a 100644 --- a/etc/dbus-serialbattery/battery.py +++ b/etc/dbus-serialbattery/battery.py @@ -103,6 +103,9 @@ def __init__(self, port, baud, address): self.max_battery_charge_current = None self.max_battery_discharge_current = None + # used to identify a BMS when multiple BMS are connected - planned for future use + self.unique_identifier = None + @abstractmethod def test_connection(self) -> bool: """ From d88293714f30592d0579685a8a9f85a45b14189d Mon Sep 17 00:00:00 2001 From: Manuel Date: Fri, 28 Apr 2023 16:19:49 +0200 Subject: [PATCH 6/6] changed ble service name from `dbus-blebattery-$1` to `dbus-blebattery.$1` like the non ble service --- etc/dbus-serialbattery/disabledriver.sh | 4 ++++ etc/dbus-serialbattery/installble.sh | 28 ++++++++++++++++--------- etc/dbus-serialbattery/uninstall.sh | 4 ++++ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/etc/dbus-serialbattery/disabledriver.sh b/etc/dbus-serialbattery/disabledriver.sh index ca81d230..33aa677f 100755 --- a/etc/dbus-serialbattery/disabledriver.sh +++ b/etc/dbus-serialbattery/disabledriver.sh @@ -10,6 +10,10 @@ sh /opt/victronenergy/swupdate-scripts/remount-rw.sh # remove files rm -f /data/conf/serial-starter.d/$DRIVERNAME.conf +rm -rf /service/dbus-blebattery.* + +# remove old drivers before changing from dbus-blebattery-$1 to dbus-blebattery.$1 +# can be removed on second release (>1.0.0) rm -rf /service/dbus-blebattery-* # kill if running diff --git a/etc/dbus-serialbattery/installble.sh b/etc/dbus-serialbattery/installble.sh index 63e028ea..952d179b 100755 --- a/etc/dbus-serialbattery/installble.sh +++ b/etc/dbus-serialbattery/installble.sh @@ -20,17 +20,24 @@ if [ ! -f $filename ]; then fi grep -qxF "sh /data/etc/dbus-serialbattery/installble.sh" $filename || echo "sh /data/etc/dbus-serialbattery/installble.sh" >> $filename +# kill if running, needed when an adapter changes +pkill -f "python .*/dbus-serialbattery.py" + +# remove old drivers before changing from dbus-blebattery-$1 to dbus-blebattery.$1 +# can be removed on second release (>1.0.0) +rm -rf /service/dbus-blebattery-* + install_service() { - mkdir -p /service/dbus-blebattery-$1/log - echo "#!/bin/sh" > /service/dbus-blebattery-$1/log/run - echo "exec multilog t s25000 n4 /var/log/dbus-blebattery-$1" >> /service/dbus-blebattery-$1/log/run - chmod 755 /service/dbus-blebattery-$1/log/run - - echo "#!/bin/sh" > /service/dbus-blebattery-$1/run - echo "exec 2>&1" >> /service/dbus-blebattery-$1/run - echo "bluetoothctl disconnect $3" >> /service/dbus-blebattery-$1/run - echo "python /opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py $2 $3" >> /service/dbus-blebattery-$1/run - chmod 755 /service/dbus-blebattery-$1/run + mkdir -p /service/dbus-blebattery.$1/log + echo "#!/bin/sh" > /service/dbus-blebattery.$1/log/run + echo "exec multilog t s25000 n4 /var/log/dbus-blebattery.$1" >> /service/dbus-blebattery.$1/log/run + chmod 755 /service/dbus-blebattery.$1/log/run + + echo "#!/bin/sh" > /service/dbus-blebattery.$1/run + echo "exec 2>&1" >> /service/dbus-blebattery.$1/run + echo "bluetoothctl disconnect $3" >> /service/dbus-blebattery.$1/run + echo "python /opt/victronenergy/dbus-serialbattery/dbus-serialbattery.py $2 $3" >> /service/dbus-blebattery.$1/run + chmod 755 /service/dbus-blebattery.$1/run } @@ -38,5 +45,6 @@ install_service() { ## Uncomment for each adapter here, increase the number for each adapter/service +install_service 0 Jkbms_Ble C8:47:8C:E8:12:04 # install_service 0 Jkbms_Ble C8:47:8C:12:34:56 # install_service 1 Jkbms_Ble C8:47:8C:78:9A:BC diff --git a/etc/dbus-serialbattery/uninstall.sh b/etc/dbus-serialbattery/uninstall.sh index 64ff5467..5587acfc 100755 --- a/etc/dbus-serialbattery/uninstall.sh +++ b/etc/dbus-serialbattery/uninstall.sh @@ -11,6 +11,10 @@ rm -f /data/conf/serial-starter.d/dbus-serialbattery.conf rm -rf /opt/victronenergy/service/dbus-serialbattery rm -rf /opt/victronenergy/service-templates/dbus-serialbattery rm -rf /opt/victronenergy/dbus-serialbattery +rm -rf /service/dbus-blebattery.* + +# remove old drivers before changing from dbus-blebattery-$1 to dbus-blebattery.$1 +# can be removed on second release (>1.0.0) rm -rf /service/dbus-blebattery-* # kill if running