Skip to content

Commit c445b15

Browse files
committed
Update properties.py
1 parent 3aaadf9 commit c445b15

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

plugwise_usb/messages/properties.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def value(self) -> bytes:
7575
raise MessageError("Unable to return value. Deserialize data first")
7676
return self._value
7777

78+
7879
class String(BaseType):
7980
"""String based property."""
8081

@@ -168,8 +169,11 @@ def __init__(self, value: datetime | None, length: int = 8) -> None:
168169

169170
def serialize(self) -> bytes:
170171
"""Return current string formatted value into an iterable list of bytes."""
172+
if not isinstance(self._raw_value, datetime):
173+
raise MessageError("Unable to serialize. Value is not a datetime object")
171174
fmt = "%%0%dX" % self.length
172-
return bytes(fmt % self._raw_value, UTF8)
175+
date_in_float = self._raw_value.timestamp()
176+
return bytes(fmt % int(date_in_float), UTF8)
173177

174178
def deserialize(self, val: bytes) -> None:
175179
"""Convert data into datetime based on Unix timestamp format."""
@@ -237,7 +241,7 @@ def value_set(self) -> bool:
237241
"""True when datetime is converted."""
238242
if not self._deserialized:
239243
raise MessageError("Unable to return value. Deserialize data first")
240-
return (self._value is not None)
244+
return self._value is not None
241245

242246
@property
243247
def value(self) -> datetime:

0 commit comments

Comments
 (0)