You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In my device Skyrc MC3000 (fw. 1.15 hw >=2.2) channel numbers are: 0,1,3,7 instead of 0,1,2,3
To Reproduce
If I use (Python 3.11):
await mc3000.start_charge(2)
no effect, and:
await mc3000.start_charge(3)
starts slot 2 on the charger.
If you try different slot numbers you have:
raise ValueError("Invalid channel")
Workaround
My workaround is to change mc3000.py from:
async def start_charge(self, channel: int) -> None:
"""Start charging the battery in the specified channel."""
if channel not in range(0, MC3000_CHANNEL_COUNT):
raise ValueError("Invalid channel")
to:
async def start_charge(self, channel: int) -> None:
"""Start charging the battery in the specified channel."""
if channel not in range(0, MC3000_CHANNEL_COUNT+10):
raise ValueError("Invalid channel")
and then I have all the 4 channels working, with index 0,1,3,7.
The text was updated successfully, but these errors were encountered:
You are right, the channel index for the start and stop commands is a bit field, so the indexes are 1, 2, 4, and 8.
This could be used to start multiple channels at once (e.g. 6 would start channels 2 and 3, or 15 would start all channels).
In my device Skyrc MC3000 (fw. 1.15 hw >=2.2) channel numbers are: 0,1,3,7 instead of 0,1,2,3
To Reproduce
If I use (Python 3.11):
await mc3000.start_charge(2)
no effect, and:
await mc3000.start_charge(3)
starts slot 2 on the charger.
If you try different slot numbers you have:
raise ValueError("Invalid channel")
Workaround
My workaround is to change mc3000.py from:
async def start_charge(self, channel: int) -> None:
"""Start charging the battery in the specified channel."""
if channel not in range(0, MC3000_CHANNEL_COUNT):
raise ValueError("Invalid channel")
to:
async def start_charge(self, channel: int) -> None:
"""Start charging the battery in the specified channel."""
if channel not in range(0, MC3000_CHANNEL_COUNT+10):
raise ValueError("Invalid channel")
and then I have all the 4 channels working, with index 0,1,3,7.
The text was updated successfully, but these errors were encountered: