Skip to content

Commit 30cc0c2

Browse files
authored
SN detection fix and improvements (#75)
* Fix serial number detection * Add missing exports * enhance `set_powersave` --------- Co-authored-by: Torben Nehmer <torben@nehmer.net>
1 parent 55dae84 commit 30cc0c2

3 files changed

Lines changed: 23 additions & 22 deletions

File tree

AUTHORS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@
1010
* Steff @steff333
1111
* is00709 @is00709
1212
* Gregor Wolf @gregorwolf
13-
* Max Dhom @mdhom
13+
* Max Dhom @mdhom
14+
* Torben Nehmer @torbennehmer

e3dc/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414
__all__ = [
1515
"E3DC",
1616
"AuthenticationError",
17+
"NotAvailableError",
1718
"PollError",
19+
"SendError",
1820
"CommunicationError",
1921
"RSCPAuthenticationError",
2022
"RSCPKeyError",

e3dc/_e3dc.py

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def _set_serial(self, serial):
159159
self.pvis = self.pvis or [{"index": 0}]
160160
if not self.serialNumberPrefix:
161161
self.serialNumberPrefix = "S10-"
162-
if self.serialNumber.startswith("74"):
162+
elif self.serialNumber.startswith("74"):
163163
self.model = "S10E_Compact"
164164
self.powermeters = self.powermeters or [{"index": 0}]
165165
self.pvis = self.pvis or [{"index": 0}]
@@ -1984,27 +1984,25 @@ def set_powersave(self, enable, keepAlive=False):
19841984
0 if success
19851985
-1 if error
19861986
"""
1987-
if enable:
1988-
res = self.sendRequest(
1989-
(
1990-
"EMS_REQ_SET_POWER_SETTINGS",
1991-
"Container",
1992-
[("EMS_POWERSAVE_ENABLED", "UChar8", 1)],
1993-
),
1994-
keepAlive=keepAlive,
1995-
)
1996-
else:
1997-
res = self.sendRequest(
1998-
(
1999-
"EMS_REQ_SET_POWER_SETTINGS",
2000-
"Container",
2001-
[("EMS_POWERSAVE_ENABLED", "UChar8", 0)],
2002-
),
2003-
keepAlive=keepAlive,
2004-
)
1987+
res = self.sendRequest(
1988+
(
1989+
"EMS_REQ_SET_POWER_SETTINGS",
1990+
"Container",
1991+
[("EMS_POWERSAVE_ENABLED", "UChar8", int(enable))],
1992+
),
1993+
keepAlive=keepAlive,
1994+
)
20051995

2006-
# validate return code for EMS_RES_POWERSAVE_ENABLED is 0
2007-
if res[2][0][2] == 0:
1996+
# Returns value of EMS_REQ_SET_POWER_SETTINGS, we get a success flag here,
1997+
# that we normalize and push outside.
1998+
# [ "EMS_SET_POWER_SETTINGS",
1999+
# "Container",
2000+
# [
2001+
# ["EMS_RES_POWERSAVE_ENABLED", "Char8", 0]
2002+
# ]
2003+
# ]
2004+
2005+
if rscpFindTagIndex(res, "EMS_RES_POWERSAVE_ENABLED") == 0:
20082006
return 0
20092007
else:
20102008
return -1

0 commit comments

Comments
 (0)