Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JKBMS BLE reinstall-local.sh: Building wheel for dbus-fast won't finish #785

Closed
motti15 opened this issue Aug 24, 2023 · 7 comments
Closed
Labels
bug Something isn't working

Comments

@motti15
Copy link

motti15 commented Aug 24, 2023

Describe the bug

I tried to connect two JKBMS via bluetooth on an freshly installed venosOS, but the RP 2 w i'm using keeps getting stuck while "building wheels for dbus-fast .." and seems to crash after a while. Even manuell installing of bleak via "pip3 install bleak -no-cache-dir" fails while "building wheels for dbus-fast" and seems to show the same behavior. I even tried to reinstall venusOS, but i keep getting the same behavior. Any ideas where to find the root of the problem?

How to reproduce

Steps to reproduce the behavior:

  1. install venusOS large on RasperryPi 2 w
  2. install dbus-serialbattery via SSH
  3. reboot RP
  4. Add config.ini
  5. do "bash /data/etc/dbus-serialbattery/reinstall-local.sh"

Expected behavior

installing bleak

Driver version

v1.0.20230531

Venus OS device type

Raspberry Pi

Venus OS version

v3.01

BMS type

JKBMS / Heltec BMS

Cell count

16

Connection type

Bluetooth

Config file

[DEFAULT]

; --------- Battery Current limits ---------
MAX_BATTERY_CHARGE_CURRENT    = 200.0
MAX_BATTERY_DISCHARGE_CURRENT = 200.0

; --------- Bluetooth BMS ---------
; Description: List the Bluetooth BMS here that you want to install
; -- Available Bluetooth BMS:
; Jkbms_Ble, LltJbd_Ble
; Example:
;     1 BMS: Jkbms_Ble C8:47:8C:00:00:00
;     3 BMS: Jkbms_Ble C8:47:8C:00:00:00, Jkbms_Ble C8:47:8C:00:00:11, Jkbms_Ble C8:47:8C:00:00:22
;BLUETOOTH_BMS = Jkbms_Ble C8:47:8C:E9:14:83, Jkbms_Ble C8:47:8C:E9:3D:04

; --------- Time-To-Soc ---------
; Description: Calculates the time to a specific SoC
; Example: TIME_TO_SOC_POINTS = 50, 25, 15, 0
;          6h 24m remaining until 50% SoC
;          17h 36m remaining until 25% SoC
;          22h 5m remaining until 15% SoC
;          28h 48m remaining until 0% SoC
; Set of SoC percentages to report on dbus and MQTT. The more you specify the more it will impact system performance.
; [Valid values 0-100, comma separated list. More that 20 intervals are not recommended]
; Example: TIME_TO_SOC_POINTS = 100, 95, 90, 85, 75, 50, 25, 20, 10, 0
; Leave empty to disable
TIME_TO_SOC_POINTS = 30
; Specify TimeToSoc value type [Valid values 1, 2, 3]
; 1 Seconds
; 2 Time string <days>d <hours>h <minutes>m <seconds>s
; 3 Both seconds and time string "<seconds> [<days>d <hours>h <minutes>m <seconds>s]"
TIME_TO_SOC_VALUE_TYPE = 2


; --------- Additional settings ---------
; Specify only one BMS type to load else leave empty to try to load all available
; -- Available BMS:
; Daly, Ecs, HeltecModbus, HLPdataBMS4S, Jkbms, Lifepower, LltJbd, Renogy, Seplos
; -- Available BMS, but disabled by default:
; https://louisvdw.github.io/dbus-serialbattery/general/install#how-to-enable-a-disabled-bms
; Ant, MNB, Sinowealth
BMS_TYPE = Jkbms

Relevant log output

dmesg.old:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.110-rpi-venus-4 (oe-user@oe-host) (arm-ve-linux-gnueabi-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Mon Jul 17 18:26:46 UTC 2023
[    0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi Zero 2 W Rev 1.0
[    0.000000] random: fast init done
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x18000000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000]   Normal   empty
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000] On node 0 totalpages: 114688
[    0.000000]   DMA zone: 1008 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 114688 pages, LIFO batch:31
[    0.000000] percpu: Embedded 20 pages/cpu s51916 r8192 d21812 u81920
[    0.000000] pcpu-alloc: s51916 r8192 d21812 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 113680
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 smsc95xx.macaddr=B8:27:EB:E6:31:3E vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p3 rootwait
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 370612K/458752K available (10240K kernel code, 1333K rwdata, 3100K rodata, 1024K init, 885K bss, 22604K reserved, 65536K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 33798 entries in 100 pages
[    0.000000] ftrace: allocated 100 pages with 3 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x3b4/0x588 with crng_init=1
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000024] Switching to timer-based delay loop, resolution 52ns
[    0.000321] Console: colour dummy device 80x30
[    0.000385] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000419] pid_max: default: 32768 minimum: 301
[    0.000618] LSM: Security Framework initializing
[    0.000861] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000888] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.002282] cgroup: Disabling memory control group subsystem
[    0.002560] CPU: Testing write buffer coherency: ok
[    0.003051] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.004301] Setting up static identity map for 0x100000 - 0x10003c
[    0.004491] rcu: Hierarchical SRCU implementation.
[    0.005612] smp: Bringing up secondary CPUs ...
[    0.006767] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.008059] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.009291] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.009455] smp: Brought up 1 node, 4 CPUs
[    0.009498] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[    0.009515] CPU: All CPU(s) started in HYP mode.
[    0.009531] CPU: Virtualization extensions available.
[    0.010518] devtmpfs: initialized
[    0.028377] VFP support v0.3: implementor 41 architecture 3 part 40 variant 3 rev 4
[    0.028628] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.028664] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.031722] pinctrl core: initialized pinctrl subsystem
[    0.032906] NET: Registered protocol family 16
[    0.036938] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.042635] audit: initializing netlink subsys (disabled)
[    0.042952] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1
[    0.043537] thermal_sys: Registered thermal governor 'step_wise'
[    0.043776] cpuidle: using governor menu
[    0.044561] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.044581] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.044866] Serial: AMBA PL011 UART driver
[    0.065638] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    0.080117] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-03-24T13:20:54, variant start
[    0.090128] raspberrypi-firmware soc:firmware: Firmware hash is e5a963efa66a1974127860b42e913d2374139ff5
[    0.135123] Kprobes globally optimized
[    0.137604] cryptd: max_cpu_qlen set to 1000
[    0.140491] bcm2835-dma 3f007000.dma: DMA legacy API manager, dmachans=0x1
[    0.142689] SCSI subsystem initialized
[    0.142943] usbcore: registered new interface driver usbfs
[    0.143013] usbcore: registered new interface driver hub
[    0.143090] usbcore: registered new device driver usb
[    0.145031] clocksource: Switched to clocksource arch_sys_counter
[    1.764773] VFS: Disk quotas dquot_6.6.0
[    1.764912] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.765158] FS-Cache: Loaded
[    1.765400] CacheFiles: Loaded
[    1.765625] simple-framebuffer 1eaf0000.framebuffer: framebuffer at 0x1eaf0000, 0x10a800 bytes, mapped to 0x(ptrval)
[    1.765650] simple-framebuffer 1eaf0000.framebuffer: format=a8r8g8b8, mode=656x416x32, linelength=2624
[    1.770639] Console: switching to colour frame buffer device 82x26
[    1.775232] simple-framebuffer 1eaf0000.framebuffer: fb0: simplefb registered!
[    1.785129] NET: Registered protocol family 2
[    1.785340] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.786862] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.787027] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.787103] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    1.787211] TCP: Hash tables configured (established 4096 bind 4096)
[    1.787370] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.787417] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    1.787673] NET: Registered protocol family 1
[    1.788484] RPC: Registered named UNIX socket transport module.
[    1.788503] RPC: Registered udp transport module.
[    1.788520] RPC: Registered tcp transport module.
[    1.788536] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.790167] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 7 counters available
[    1.795753] Initialise system trusted keyrings
[    1.796020] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.805552] zbud: loaded
[    1.807694] FS-Cache: Netfs 'nfs' registered for caching
[    1.808566] NFS: Registering the id_resolver key type
[    1.808629] Key type id_resolver registered
[    1.808647] Key type id_legacy registered
[    1.808813] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.808833] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.810141] Key type asymmetric registered
[    1.810162] Asymmetric key parser 'x509' registered
[    1.810223] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    1.810243] io scheduler mq-deadline registered
[    1.810261] io scheduler kyber registered
[    1.812972] bcm2708_fb soc:fb: FB found 1 display(s)
[    1.817156] bcm2708_fb soc:fb: Registered framebuffer for display 0, size 656x416
[    1.821173] Serial: 8250/16550 driver, 1 ports
[    1.821211] Serial: 8250/16550 driver, ISA IRQ sharing enabled
[    1.823850] bcm2835-rng 3f104000.rng: hwrng registered
[    1.824326] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    1.825536] gpiomem-bcm2835 3f200000.gpiomem: Initialised: Registers at 0x3f200000
[    1.837706] brd: module loaded
[    1.849566] loop: module loaded
[    1.851328] Loading iSCSI transport class v2.0-870.
[    1.853182] usbcore: registered new interface driver lan78xx
[    1.853270] usbcore: registered new interface driver smsc95xx
[    1.853300] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    2.053910] Core Release: 2.80a
[    2.053933] Setting default values for core params
[    2.053969] Finished setting default values for core params
[    2.254359] Using Buffer DMA mode
[    2.254380] Periodic Transfer Interrupt Enhancement - disabled
[    2.254397] Multiprocessor Interrupt Enhancement - disabled
[    2.254415] OTG VER PARAM: 0, OTG VER FLAG: 0
[    2.254450] Dedicated Tx FIFOs mode

[    2.254955] WARN::dwc_otg_hcd_init:1072: FIQ DMA bounce buffers: virt = 98114000 dma = 0xd8114000 len=9024
[    2.254995] FIQ FSM acceleration enabled for :
               Non-periodic Split Transactions
               Periodic Split Transactions
               High-Speed Isochronous Endpoints
               Interrupt/Control Split Transaction hack enabled
[    2.255051] dwc_otg: Microframe scheduler enabled

[    2.255136] WARN::hcd_init_fiq:457: FIQ on core 1

[    2.255159] WARN::hcd_init_fiq:458: FIQ ASM at 807f720c length 36

[    2.255182] WARN::hcd_init_fiq:496: MPHI regs_base at 9c810000
[    2.255210] dwc_otg 3f980000.usb: DWC OTG Controller
[    2.255255] dwc_otg 3f980000.usb: new USB bus registered, assigned bus number 1
[    2.255310] dwc_otg 3f980000.usb: irq 89, io mem 0x00000000
[    2.255367] Init: Port Power? op_state=1
[    2.255384] Init: Power Port (0)
[    2.255762] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    2.255786] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.255806] usb usb1: Product: DWC OTG Controller
[    2.255826] usb usb1: Manufacturer: Linux 5.10.110-rpi-venus-4 dwc_otg_hcd
[    2.255845] usb usb1: SerialNumber: 3f980000.usb
[    2.256605] hub 1-0:1.0: USB hub found
[    2.256691] hub 1-0:1.0: 1 port detected
[    2.257927] dwc_otg: FIQ enabled
[    2.257939] dwc_otg: NAK holdoff enabled
[    2.257951] dwc_otg: FIQ split-transaction FSM enabled
[    2.257969] Module dwc_common_port init
[    2.258829] usbcore: registered new interface driver usb-storage
[    2.259047] mousedev: PS/2 mouse device common for all mice
[    2.260461] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    2.262658] sdhci: Secure Digital Host Controller Interface driver
[    2.262677] sdhci: Copyright(c) Pierre Ossman
[    2.263307] mmc-bcm2835 3f300000.mmcnr: could not get clk, deferring probe
[    2.263980] sdhost-bcm2835 3f202000.mmc: could not get clk, deferring probe
[    2.264224] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.265227] ledtrig-cpu: registered to indicate activity on CPUs
[    2.265559] hid: raw HID events driver (C) Jiri Kosina
[    2.265720] usbcore: registered new interface driver usbhid
[    2.265738] usbhid: USB HID core driver
[    2.270286] Initializing XFRM netlink socket
[    2.271038] NET: Registered protocol family 10
[    2.272433] Segment Routing with IPv6
[    2.272534] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.273418] NET: Registered protocol family 17
[    2.273592] Key type dns_resolver registered
[    2.274202] Registering SWP/SWPB emulation handler
[    2.277948] registered taskstats version 1
[    2.277992] Loading compiled-in X.509 certificates
[    2.278840] Key type ._fscrypt registered
[    2.278861] Key type .fscrypt registered
[    2.278878] Key type fscrypt-provisioning registered
[    2.290267] uart-pl011 3f201000.serial: there is not valid maps for state default
[    2.290489] uart-pl011 3f201000.serial: cts_event_workaround enabled
[    2.290588] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 114, base_baud = 0) is a PL011 rev2
[    3.401473] printk: console [ttyAMA0] enabled
[    3.406378] Indeed it is in host mode hprt0 = 00021501
[    3.474424] 3f215040.serial: ttyS0 at MMIO 0x3f215040 (irq = 86, base_baud = 50000000) is a 16550
[    3.483665] serial serial0: tty port ttyS0 registered
[    3.489350] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    3.498304] mmc-bcm2835 3f300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    3.504320] mmc-bcm2835 3f300000.mmcnr: DMA channel allocated
[    3.537090] sdhost: log_buf @ (ptrval) (d8113000)
[    3.578554] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    3.585731] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.591276] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[    3.600433] of_cfs_init
[    3.603044] of_cfs_init: OK
[    3.606985] uart-pl011 3f201000.serial: no DMA platform data
[    3.613030] Waiting for root device /dev/mmcblk0p3...
[    3.618932] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.625070] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    3.632008] Indeed it is in host mode hprt0 = 00001101
[    3.698966] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    3.710473] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    3.770343] mmc0: host does not support reading read-only switch, assuming write-enable
[    3.785375] mmc0: new high speed SDHC card at address aaaa
[    3.791847] mmcblk0: mmc0:aaaa SC16G 14.8 GiB
[    3.803056]  mmcblk0: p1 p2 p3 p4
[    3.842325] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[    3.850683] VFS: Mounted root (ext4 filesystem) readonly on device 179:3.
[    3.860042] mmc1: new high speed SDIO card at address 0001
[    3.861497] devtmpfs: mounted
[    3.877789] usb 1-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice= 6.56
[    3.878580] Freeing unused kernel memory: 1024K
[    3.886021] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.886034] usb 1-1: Product: USB2.1 Hub
[    3.901658] usb 1-1: Manufacturer: GenesysLogic
[    3.906717] Run /sbin/init as init process
[    3.910839]   with arguments:
[    3.910851]     /sbin/init
[    3.910862]   with environment:
[    3.910873]     HOME=/
[    3.910893]     TERM=linux
[    3.911168] hub 1-1:1.0: USB hub found
[    3.915268] hub 1-1:1.0: 4 ports detected
[    4.255114] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    4.414960] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null)
[    4.428271] usb 1-1.1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice= 6.56
[    4.436728] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.444050] usb 1-1.1: Product: USB2.1 Hub
[    4.448171] usb 1-1.1: Manufacturer: GenesysLogic
[    4.453946] hub 1-1.1:1.0: USB hub found
[    4.458984] hub 1-1.1:1.0: 4 ports detected
[    4.585101] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
[    4.686667] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    4.707466] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
[    4.773224] usb 1-1.3: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[    4.781714] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.789082] usb 1-1.3: Product: FT232R USB UART
[    4.793649] usb 1-1.3: Manufacturer: FTDI
[    4.797730] usb 1-1.3: SerialNumber: B0006679
[    4.865160] usb 1-1.1.3: new full-speed USB device number 5 using dwc_otg
[    4.921744] udevd[164]: starting version 3.2.9
[    4.965613] random: udevd: uninitialized urandom read (16 bytes read)
[    4.973013] random: udevd: uninitialized urandom read (16 bytes read)
[    4.979656] random: udevd: uninitialized urandom read (16 bytes read)
[    5.036314] udevd[165]: starting eudev-3.2.9
[    5.058596] usb 1-1.1.3: New USB device found, idVendor=0403, idProduct=6015, bcdDevice=10.00
[    5.067215] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    5.074706] usb 1-1.1.3: Product: MK3-USB Interface
[    5.079657] usb 1-1.1.3: Manufacturer: VictronEnergy
[    5.084632] usb 1-1.1.3: SerialNumber: HQ22382PEXN
[    5.155165] usb 1-1.4: new full-speed USB device number 6 using dwc_otg
[    5.206888] usbcore: registered new interface driver usbserial_generic
[    5.223312] usbserial: USB Serial support registered for generic
[    5.262485] usbcore: registered new interface driver ftdi_sio
[    5.277776] usbserial: USB Serial support registered for FTDI USB Serial Device
[    5.343695] usb 1-1.4: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[    5.348556] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
[    5.352284] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    5.366395] usb 1-1.4: Product: FT232R USB UART
[    5.370966] usb 1-1.4: Manufacturer: FTDI
[    5.375109] usb 1-1.4: SerialNumber: B000667L
[    5.391195] ftdi_sio 1-1.4:1.0: FTDI USB Serial Device converter detected
[    5.398929] usb 1-1.4: Detected FT232RL
[    5.416099] usb 1-1.4: FTDI USB Serial Device converter now attached to ttyUSB0
[    5.426184] usb 1-1.3: Detected FT232RL
[    5.447730] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB1
[    5.484131] ftdi_sio 1-1.1.3:1.0: FTDI USB Serial Device converter detected
[    5.505457] usb 1-1.1.3: Detected FT-X
[    5.544045] usb 1-1.1.3: FTDI USB Serial Device converter now attached to ttyUSB2
[    5.629186] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    5.640544] mc: Linux media interface: v0.10
[    5.683893] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    5.702098] videodev: Linux video capture interface: v2.00
[    5.705538] [vc_sm_connected_init]: start
[    5.716658] [vc_sm_connected_init]: installed successfully
[    5.787569] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    5.787576] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    5.787582] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    5.824091] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    5.830578] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    5.841854] Bluetooth: Core ver 2.22
[    5.847672] NET: Registered protocol family 31
[    5.852134] Bluetooth: HCI device and connection manager initialized
[    5.854627] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    5.858556] Bluetooth: HCI socket layer initialized
[    5.858578] Bluetooth: L2CAP socket layer initialized
[    5.875476] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    5.876902] Bluetooth: SCO socket layer initialized
[    5.885328] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    5.897891] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    5.905748] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    5.913296] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    5.921006] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    5.921079] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    5.928619] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    5.932202] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    5.954622] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    5.955312] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.971880] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    5.981656] Bluetooth: HCI UART driver ver 2.3
[    5.981704] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    5.986190] Bluetooth: HCI UART protocol H4 registered
[    5.986354] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    5.987208] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    5.987278] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    5.996451] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    5.996717] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    5.996762] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    6.000425] Bluetooth: HCI UART protocol Broadcom registered
[    6.000942] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
[    6.001287] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[    6.006131] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    6.008192] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.008214] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.008233] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.008646] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    6.017673] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    6.018362] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    6.112497] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    6.119742] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    6.329095] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[    6.343232] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/1
[    6.356328] usbcore: registered new interface driver brcmfmac
[    6.366859] Bluetooth: hci0: BCM: chip id 94
[    6.371991] Bluetooth: hci0: BCM: features 0x2e
[    6.382665] Bluetooth: hci0: BCM43430A1
[    6.386586] Bluetooth: hci0: BCM43430A1 (001.002.009) build 0000
[    6.395213] Bluetooth: hci0: BCM43430A1 'brcm/BCM43430A1.hcd' Patch
[    6.547501] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/1
[    6.556462] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/1
[    6.565337] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    6.577116] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Feb  5 2021 12:49:07 version 7.45.96 (r745790) FWID 01-71817851 es7
[    7.130109] random: crng init done
[    7.133527] random: 2 urandom warning(s) missed due to ratelimiting
[    7.731838] Bluetooth: hci0: BCM43438A1 37.4MHz Raspberry Pi 3-0062
[    7.738164] Bluetooth: hci0: BCM43430A1 (001.002.009) build 0360
[    7.982297] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null)

Any other information that may be helpful

There are two MPPTs connected via USB and an MK3 with 3 Multiplus-II 3000. The Batteries are close to the RP but the wifi signal is weak (only two bars are shown on the remote-console.)

@motti15 motti15 added the bug Something isn't working label Aug 24, 2023
@motti15
Copy link
Author

motti15 commented Aug 24, 2023

I tried the same steps on an fresh venusOS installation on my RaspberryPi 4. It seems to work without problems but the step "Building wheel for dbus-fast" took very long. Could any time-out be a problem with the RaspberryPi 2w? Because they are much less powerfull.

@motti15
Copy link
Author

motti15 commented Aug 25, 2023

Trying a fresh start with the RaspberryPi 2w worked today. The only difference i could find was no USB-devices plugged into the RP 2w. I won't do any further testing for now, because the RP 4 is currently used for the victron-system and the system is not installed at my home (but within my family). I'll also close the issue for now.

@motti15 motti15 closed this as not planned Won't fix, can't repro, duplicate, stale Aug 25, 2023
@mr-manuel
Copy link
Collaborator

I had the same behaviour on my MultiPlus GX, but did not find a solution so I copied over the dbus-fast from my Raspberry Pi 4.

@mr-manuel
Copy link
Collaborator

mr-manuel commented Sep 5, 2023

Now I found a solution. See Bluetooth-Devices/dbus-fast#237

This will be implemented in the next version of this driver. For older drivers you have to run

export SKIP_CYTHON=false

before running the install.sh or reinstall-local.sh.

mr-manuel added a commit to mr-manuel/venus-os_dbus-serialbattery that referenced this issue Sep 5, 2023
Louisvdw pushed a commit that referenced this issue Nov 25, 2023
* Update reinstall-local.sh: Fixed charge current parameter

Update reinstall-local.sh: Corrected charge current parameter for  initial config.ini

* Exclude devices from driver startup
This prevents blocking the serial port

* implement callback function for update

* fix comments to reflect new logic

* update changelog

* set soc=100% when charge mode changes to float, apply exponential smoothing on current readout

* remove scan for devices

the scan for devices and check if the BMS to test is present doesn't add value
if the device is not within range (or the MAC is wrong), then the subsequent start_scraping call will either fail or fail to produce usable data

* JKBMS_BLE driver fixes

* added Bluetooth signal strenght, increased debug

* Optimized reinstallation procedure
- Changed: Optimized restart sequence for the bluetooth installation
- Changed: Run serial part first and then bluetooth part. This allows the serial driver to get operative faster
- Removed: $DRIVERNAME variable for clearer paths
- Removed: Bluetooth system driver restart, since the devices get disconnected by the service before starting the dbus-serialbatterydriver

* Improved Jkbms_Ble error handling

* optimized disable procedure

* small fixes

* save custom name and make it restart persistant
#100

* changed unique identifier from string to function
function can be overridden by BMS battery class

* fix typo

* fix Sinowealth not loading
#702

* fix unique identifier function

* enable BMS over config, if disabled by default
Now you can also add more then one BMS for BMS_TYPE

* show battery port in log

* ANT BMS fixes
Fixed that other devices are recognized as ANT BMS

* Sinowealth BMS fixes
Fixed that other devices are recognized as Sinowealth BMS

* improved publish_battery error handling
switched from error count to seconds

* Improve Battery Voltage Handling in Linear Absorption Mode

* Refactor change time() to int(time()) for consistency in max_voltage_start_time and tDiff calculation
* Refactor battery voltage calculations for efficiency and clarity
* Remove penalty_buffer
* Reset max_voltage_start_time wenn we going to bulk(dynamic) mode

* updated changelog

* fix reply processing

* Reduce the big inrush current, if the CVL jumps
from Bulk/Absorbtion to Float
fix #659

* Check returned data lenght for Seplos BMS

Be stricter about the return data we accept, might fix the problem of grid meters accidently being recognized as a Seplos

* Validate current, voltage, capacity and SoC for all BMS
This prevents that a device, which is no BMS, is detected as BMS

* removed double check

* bump version

* fix validation if None

* updated changelog

* proposal to #659 formatted :)

* bugfix proposal to #659

* refactor setting float charge_mode

* fix type error, removed bluetooth cronjob

* updated changelog

* fix rs485 write communication errors by inserting sleeps, add debug print for charge mode and fix crash on write soc failures

* fix write problem on set_soc. also changed the switch charge/discharge function, just in case

* debug msg

* Bluetooth optimizations

* Fixes by @peterohman
#505 (comment)

* fix #712

* fix meaningless time to go values

* fix meaningless time to go values

* Duration of transition to float depends on number of cells

* Float transition - Voltage drop per second

* Update hlpdatabms4s.py

* Validate setting of FLOAT_CELL_VOLTAGE and avoid misconfiguration

* consider utils.LINEAR_RECALCULATION_EVERY to refresh CVL

* cleanup

* consider utils.LINEAR_RECALCULATION_EVERY to refresh CVL

* small refactor, introduced set_cvl_linear function to set CVL only once every LINEAR_RECALCULATION_EVERY seconds

* fix typo

* updated changelog

* remove debug msg

* remove debug msg

* undo debug change

* Daly BMS make auto reset soc configurable

* added debug and error information for CVL

* fix proposal for #733 (#735)

* Added: Tollerance to enter float voltage once the timer is triggered

* Add bulk voltage
Load to bulk voltage every x days to reset the SoC to 100% for some BMS

* JKBMS disable high voltage warning on bulk
reenable after bulk was completed

* fixed error

* disable high voltage warning for all BMS
when charging to bulk voltage

* fix error and change default value
measurementToleranceVariation from 0.025 to 0.5 else in OffGrid mode max voltage is always kept

* Added temperature names to dbus/mqtt

* Use current avg of last 300 cycles for TTG & TTS

* Calculate only positive Time-to-SoC points

* added current average of last 5 minutes

* make CCL and DCL more clear

* fix small error

* bugfix: LLTJBD BMS SOC different in Xiaoxiang app and dbus-serialbattery

* black formatting

* JDB BMS - Control FETs for charge, discharge and disable / enable balancer (#761)

* feature: Allow to control charge / discharge FET
* feature: Allow to enable / disable balancer

* bugfix: Cycle Capacity is in 10 mAh

Fixes SoC with factor 100 * 100% percentage

* JBD BMS show balancer state in GUI page IO (#763)

* Bump version

* Fix typos

* Smaller fixes
- fixes #792 (comment)

* Removed comments from utils.py
This should make more clear that there are no values to change

* Updated changelog

* possible fix for LLT/JBS connection problems
#769
#777

* bugfix: LLT/JBD BMS general packet data size check

* improved reinstall and disable script

* LLT/JBD BMS - Improved error handling and automatical driver restart
in case of error. Should fix:
- #730
- #769
- #777

* Fixed Building wheel for dbus-fast won't finish on weak systems
Fixes #785

* Support for Daly CAN Bus (#169)

* support for Daly CAN Bus
* fix constructor args
* revert port, needs fix
* add can filters
* comment logger

Some changes are still needed to work with the latest version. They will follow in a next PR.

---------

Co-authored-by: Samuel Brucksch <samuel@iternio.com>
Co-authored-by: Manuel <mr-manuel@outlook.it>

* JKBMS BLE - Introduction of automatic SOC reset (HW Version 11) (#736)

* Introduction of automatic SOC reset for JK BMS (HW Version 11)
* Fixed value mapping
* Rework of the code to make it simpler to use without additional configuration.
Moved execution of SOC reset. It's now executed while changing from "Float" to "Float Transition".
* Implementation of suggested changes
Persist initial BMS OVP and OVPR settings
Make use of max_cell_voltage to calculate trigger value for OVP alert

* Added: Daly CAN and JKBMS CAN

* added CAN bms to installation script
optimized CAN drivers

* smaller fixes

* Trigger JK BLE SOC reset when using Step Mode

* Moved trigger_soc_reset()

* fixes LLT/JBD SOC > 100%
#769

* changed VOLTAGE_DROP behaviour

* Fix JKBMS not starting if BMS manuf. date is empty

* corrected bulk, absorption and soc reset terms

* fix typo

* add JKBMS_BLE debugging data

* fix small error

* added logging to config

* add sleep before starting driver
prevents lot of timeouts after reinstalling the driver, since the restart is now much faster than before

* changed post install info

* fix error

* Daly BMS fixed embedded null byte
#837

* added info for SoC reset to default config file

* fix for #716
#716

* fix for #716 and JKBMS model recognition
#716

* optimized logging

* fix JKBMS recognition

* added debugging

* fixes #716
#716

---------

Co-authored-by: Holger Schultheiß <hoschult@web.de>
Co-authored-by: Stefan Seidel <lkml@stefanseidel.info>
Co-authored-by: Bernd Stahlbock <6627385+transistorgit@users.noreply.github.com>
Co-authored-by: seidler2547 <github@stefanseidel.info>
Co-authored-by: ogurevich <50322596+ogurevich@users.noreply.github.com>
Co-authored-by: wollew <wollew@users.noreply.github.com>
Co-authored-by: Oleg Gurevich <oleg@gurevich.de>
Co-authored-by: peterohman <psub@fieber.se>
Co-authored-by: Strawder, Paul <paul@coach-ai.com>
Co-authored-by: Paul Strawder <paulidstein@gmail.com>
Co-authored-by: Samuel Brucksch <SamuelBrucksch@users.noreply.github.com>
Co-authored-by: Samuel Brucksch <samuel@iternio.com>
Co-authored-by: ArendsM <136503378+ArendsM@users.noreply.github.com>
Co-authored-by: Meik Arends <github@arends.info>
Louisvdw pushed a commit that referenced this issue Feb 28, 2024
* fix Sinowealth not loading
#702

* fix unique identifier function

* enable BMS over config, if disabled by default
Now you can also add more then one BMS for BMS_TYPE

* show battery port in log

* ANT BMS fixes
Fixed that other devices are recognized as ANT BMS

* Sinowealth BMS fixes
Fixed that other devices are recognized as Sinowealth BMS

* improved publish_battery error handling
switched from error count to seconds

* Improve Battery Voltage Handling in Linear Absorption Mode

* Refactor change time() to int(time()) for consistency in max_voltage_start_time and tDiff calculation
* Refactor battery voltage calculations for efficiency and clarity
* Remove penalty_buffer
* Reset max_voltage_start_time wenn we going to bulk(dynamic) mode

* updated changelog

* fix reply processing

* Reduce the big inrush current, if the CVL jumps
from Bulk/Absorbtion to Float
fix #659

* Check returned data lenght for Seplos BMS

Be stricter about the return data we accept, might fix the problem of grid meters accidently being recognized as a Seplos

* Validate current, voltage, capacity and SoC for all BMS
This prevents that a device, which is no BMS, is detected as BMS

* removed double check

* bump version

* fix validation if None

* updated changelog

* proposal to #659 formatted :)

* bugfix proposal to #659

* refactor setting float charge_mode

* fix type error, removed bluetooth cronjob

* updated changelog

* fix rs485 write communication errors by inserting sleeps, add debug print for charge mode and fix crash on write soc failures

* fix write problem on set_soc. also changed the switch charge/discharge function, just in case

* debug msg

* Bluetooth optimizations

* Fixes by @peterohman
#505 (comment)

* fix #712

* fix meaningless time to go values

* fix meaningless time to go values

* Duration of transition to float depends on number of cells

* Float transition - Voltage drop per second

* Update hlpdatabms4s.py

* Validate setting of FLOAT_CELL_VOLTAGE and avoid misconfiguration

* consider utils.LINEAR_RECALCULATION_EVERY to refresh CVL

* cleanup

* consider utils.LINEAR_RECALCULATION_EVERY to refresh CVL

* small refactor, introduced set_cvl_linear function to set CVL only once every LINEAR_RECALCULATION_EVERY seconds

* fix typo

* updated changelog

* remove debug msg

* remove debug msg

* undo debug change

* Daly BMS make auto reset soc configurable

* added debug and error information for CVL

* fix proposal for #733 (#735)

* Added: Tollerance to enter float voltage once the timer is triggered

* Add bulk voltage
Load to bulk voltage every x days to reset the SoC to 100% for some BMS

* JKBMS disable high voltage warning on bulk
reenable after bulk was completed

* fixed error

* disable high voltage warning for all BMS
when charging to bulk voltage

* fix error and change default value
measurementToleranceVariation from 0.025 to 0.5 else in OffGrid mode max voltage is always kept

* Added temperature names to dbus/mqtt

* Use current avg of last 300 cycles for TTG & TTS

* Calculate only positive Time-to-SoC points

* added current average of last 5 minutes

* make CCL and DCL more clear

* fix small error

* bugfix: LLTJBD BMS SOC different in Xiaoxiang app and dbus-serialbattery

* black formatting

* JDB BMS - Control FETs for charge, discharge and disable / enable balancer (#761)

* feature: Allow to control charge / discharge FET
* feature: Allow to enable / disable balancer

* bugfix: Cycle Capacity is in 10 mAh

Fixes SoC with factor 100 * 100% percentage

* JBD BMS show balancer state in GUI page IO (#763)

* Bump version

* Fix typos

* Smaller fixes
- fixes #792 (comment)

* Removed comments from utils.py
This should make more clear that there are no values to change

* Updated changelog

* possible fix for LLT/JBS connection problems
#769
#777

* bugfix: LLT/JBD BMS general packet data size check

* improved reinstall and disable script

* LLT/JBD BMS - Improved error handling and automatical driver restart
in case of error. Should fix:
- #730
- #769
- #777

* Fixed Building wheel for dbus-fast won't finish on weak systems
Fixes #785

* Support for Daly CAN Bus (#169)

* support for Daly CAN Bus
* fix constructor args
* revert port, needs fix
* add can filters
* comment logger

Some changes are still needed to work with the latest version. They will follow in a next PR.

---------

Co-authored-by: Samuel Brucksch <samuel@iternio.com>
Co-authored-by: Manuel <mr-manuel@outlook.it>

* JKBMS BLE - Introduction of automatic SOC reset (HW Version 11) (#736)

* Introduction of automatic SOC reset for JK BMS (HW Version 11)
* Fixed value mapping
* Rework of the code to make it simpler to use without additional configuration.
Moved execution of SOC reset. It's now executed while changing from "Float" to "Float Transition".
* Implementation of suggested changes
Persist initial BMS OVP and OVPR settings
Make use of max_cell_voltage to calculate trigger value for OVP alert

* Added: Daly CAN and JKBMS CAN

* added CAN bms to installation script
optimized CAN drivers

* smaller fixes

* Trigger JK BLE SOC reset when using Step Mode

* Moved trigger_soc_reset()

* fixes LLT/JBD SOC > 100%
#769

* changed VOLTAGE_DROP behaviour

* Fix JKBMS not starting if BMS manuf. date is empty

* corrected bulk, absorption and soc reset terms

* fix typo

* add JKBMS_BLE debugging data

* fix small error

* Some changes for lost bluetooth connection / hci_uart stack restart

* added logging to config

* add sleep before starting driver
prevents lot of timeouts after reinstalling the driver, since the restart is now much faster than before

* changed post install info

* fix error

* Daly BMS fixed embedded null byte
#837

* added info for SoC reset to default config file

* fix for #716
#716

* fix for #716 and JKBMS model recognition
#716

* optimized logging

* fix JKBMS recognition

* added debugging

* fixes #716
#716

* Bind device instance to unique_identifier
#718

* added data types to battery class
disabled unused variables

* save current charge state
#840

* correct file permissions

* updated changelog

* added periodic saveChargeDetails

* fix some small errors

* fix issue with ruuvi tags
When there are hundreds of unused ruuvi tags in the settings list that where added because thei where nearby the driver does not start correctly. These stale entries are disabled on the driver startup.
The issue was already filed to Victron developers

* CVL with i-controller instead of penaltysum

* cvl_controller: switch to choose PenaltySum or ICOntroller + documentation

* docu enhancement

* Add setting and install logic for usb bluetooth module

* round temperatures

* changed battery disconnect behaviour

* Fixes #891
#891

* updated changelog

* Add bluetooth device note to config.default.ini

* Fix typo in bluetooth note in config.default.ini

* fixed error in new cvl_controller

* fixed float division by zero and code optimization

* Restart MAX_VOLTAGE_TIME_SEC if cell diff > CELL_VOLTAGE_DIFF_KEEP_MAX_VOLTAGE_TIME_RESTART

* Calculation of the SOC based on coloumb-counting (#868)

* Calculation of the SOC in the driver based on coloumb-counting

* soc_calc: add current correction before integration

* soc_calc: correction map for current

* Soc_calc: CorrectionMap, switch to turn on/off correction, selectable initial value

* soc_calc: Bugfix

* soc_calc: Bugfix

* store soc in dbus for restart

* store soc in dbus for restart (formatted)

* store soc in dbus for restart (bugfix)

* save soc_calc only after change > 1.0

* store soc in dbus for restart (bugfix)

* logger does not work this way. do not know why

* writing and reading to dbus works

* Removed options: SOC_CALC_CURRENT_CORRECTION, SOC_CALC_RESET_VALUE_ON_RESTART, SOC_CALC_INIT_VALUE
sort soc_calc alphabetically

* fixed comments

* Updated changelog, small fixes

* Changed: PUBLISH_CONFIG_VALUES from 0/1 to True/False

* Changed: Code optimizations
- Changed some variables to be more clear
- Added comments for easier code understanding

* Calculated SOC: Added two decimals, added BMS SOC for MQTT & Node-RED

* Updated changelog, small fixes

* Changed: PUBLISH_CONFIG_VALUES from 0/1 to True/False

* Changed: Code optimizations
- Changed some variables to be more clear
- Added comments for easier code understanding

* Calculated SOC: Added two decimals, added BMS SOC for MQTT & Node-RED

* Fix #898
#898

* Changed: Fix issue loading settings from dbus

* Added nightly install option
makes it easier for users to pretest fixes

* Changed: more detailed error output when an exception happens

* Possible fix for #912
#912

* Fixes #919
#919

* Changed: Exit script with error, if port excluded
else the serialstarter stops at the dbus-serialbattery

* Fixed some smaller errors

* Updated pre-release workflow

* Fix JK BMS connection restart when bluetooth fails.

This fix installs a new thread to monitor the state of the original
scraping thread.
If scraping thread dies, it verifies that it did not because the
scraping was intentionally stopped by calling stop_scrapping.
When restarting the scrapper, it first calls the bluetooth
reset lambda function that was passed in the class contructor, such that
bluetooth is ready to make a proper connection.

* Fixes #916
#916

* Added Venus OS version to logfile

* Fix #840
#840

* Small code formatting fixes

* Optimized reinstall script. Restart GUI only on changes.

* Display debugging data in GUI when DEBUG enabled

* Install script now shows repositories and version numbers

* Update daly_can.py

Fixing #950 for DalyBMS

* Update jkbms_can.py

Fixing #950 for Jk BMS

* Fix black lint check

* Fixes #970
#970

* Fixed some errors in restoring values from dbus settings

* Moved sleep on start for all BMS

* Update config description

* Reworked a part of the default config

* fix typo in stopping services when reinstalling

* Fix Time-to-SoC and Time-to-Go calculation

* Add changelog info

* Round sum and diff voltage

* Temperature limitation variables where changed

* SoC limitation variables where changed

* Added error messages

* Remove unneeded code

* Reset SoC to 0% if empty

* Add GUIv2 for dbus-serialbattery

* Check free space before installing

* Added new GUIv2 version

* Removed Python 2 compatibility

* Changelog update

* Code cleanup
- Removed: get_temperatures()
- Removed: update_last_seen()

* Bluetooth code optimizations

* Fixed some JKBMS BLE not starting
#819

* Check if packages are already installed before install

* Fixed some SOC calculation errors

* Fixed None SOC on driver start

* Do not show and allow button change when callback is missing for:
- ForceChargingOff
- ForceDischargingOff
- TurnBalancingOff

* Check if a device instance is already used by creating a PID file

* Log and execute SOC reset to 100% or 0% only once

* Update GitHub workflow and issue templates

* Fixed LLT/JBD BMS with only on temperature sensor #791
#971

* Fix warning on reinstall

* Fix missing IO control for JBDBMS #992
#992

* Prepare for removing dev branch

---------

Co-authored-by: ogurevich <50322596+ogurevich@users.noreply.github.com>
Co-authored-by: Bernd Stahlbock <6627385+transistorgit@users.noreply.github.com>
Co-authored-by: wollew <wollew@users.noreply.github.com>
Co-authored-by: Oleg Gurevich <oleg@gurevich.de>
Co-authored-by: peterohman <psub@fieber.se>
Co-authored-by: Strawder, Paul <paul@coach-ai.com>
Co-authored-by: Paul Strawder <paulidstein@gmail.com>
Co-authored-by: Samuel Brucksch <SamuelBrucksch@users.noreply.github.com>
Co-authored-by: Samuel Brucksch <samuel@iternio.com>
Co-authored-by: ArendsM <136503378+ArendsM@users.noreply.github.com>
Co-authored-by: Meik Arends <github@arends.info>
Co-authored-by: Marvo2011 <Marvin.Edeler@gmail.com>
Co-authored-by: cflenker <christian.flenker@gmx.de>
Co-authored-by: cflenker <125555670+cflenker@users.noreply.github.com>
Co-authored-by: Cupertino Miranda <cupertinomiranda@gmail.com>
Co-authored-by: Martin Polehla <p0l0us@users.noreply.github.com>
@fableman73
Copy link

This problem still exists.

@motti15
Copy link
Author

motti15 commented Mar 9, 2024

@fableman73 did you also use a RaspberryPi 2 w? Whats the driver version you tried and did you try the solutions from above? I haven't experienced the problem since then and had to install the latest stable release from mr-manuel today because of the appearance of another bug that was reported in nov. 2023 and seems to be fix in the current stable.

@fableman73
Copy link

fableman73 commented Mar 10, 2024

If I use export SKIP_CYTHON=false
pip install mppsolar[ble]

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: mppsolar[ble] in /usr/local/lib/python3.9/dist-packages (0.15.62)
Requirement already satisfied: paho-mqtt>=1.6 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (2.0.0)
Requirement already satisfied: pyserial>3 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (3.5)
Requirement already satisfied: pydantic<2.0.0,>=1.10.7 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (1.10.14)
Requirement already satisfied: strenum<0.5.0,>=0.4.10 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (0.4.15)
Requirement already satisfied: PyYAML>=6 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (6.0.1)
Requirement already satisfied: bleak<0.21.0,>=0.20.2 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (0.20.2)
Requirement already satisfied: bluepy<2.0.0,>=1.3.0 in /usr/local/lib/python3.9/dist-packages (from mppsolar[ble]) (1.3.0)
Requirement already satisfied: async-timeout<5,>=3.0.0 in /usr/local/lib/python3.9/dist-packages (from bleak<0.21.0,>=0.20.2->mppsolar[ble]) (4.0.3)
Requirement already satisfied: dbus-fast<2.0.0,>=1.83.0 in /usr/local/lib/python3.9/dist-packages (from bleak<0.21.0,>=0.20.2->mppsolar[ble]) (1.95.2)
Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.9/dist-packages (from pydantic<2.0.0,>=1.10.7->mppsolar[ble]) (4.10.0)

The installation will not hang But I get this error when I try to use mpp-solar:

`root@husb:~# mpp-solar -p C8:47:81:17:3E:36 -c getInfo

Exception ignored in: <function Client.del at 0x7f9c7e24c0>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 874, in del
self._reset_sockets()
File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 1133, in _reset_sockets
self._sock_close()
File "/usr/local/lib/python3.9/dist-packages/paho/mqtt/client.py", line 1119, in _sock_close
if not self._sock:
AttributeError: 'Client' object has no attribute '_sock'
Traceback (most recent call last):
File "/usr/local/bin/mpp-solar", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/dist-packages/mppsolar/init.py", line 230, in main
mqtt_broker = MqttBroker(
File "/usr/local/lib/python3.9/dist-packages/mppsolar/libs/mqttbrokerc.py", line 44, in init
self.mqttc = mqtt_client.Client()
TypeError: init() missing 1 required positional argument: 'callback_api_version'
`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants