mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
@@ -846,6 +846,7 @@ class Energenie(SourceMixin, Device):
|
||||
raise EnergenieSocketMissing('socket number must be provided')
|
||||
if not (1 <= socket <= 4):
|
||||
raise EnergenieBadSocket('socket number must be between 1 and 4')
|
||||
self._value = None
|
||||
super(Energenie, self).__init__()
|
||||
self._socket = socket
|
||||
self._master = _EnergenieMaster()
|
||||
@@ -877,8 +878,9 @@ class Energenie(SourceMixin, Device):
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
self._master.transmit(self._socket, bool(value))
|
||||
self._value = bool(value)
|
||||
value = bool(value)
|
||||
self._master.transmit(self._socket, value)
|
||||
self._value = value
|
||||
|
||||
def on(self):
|
||||
self.value = True
|
||||
|
||||
@@ -430,11 +430,15 @@ def test_energenie_bad_init():
|
||||
Energenie()
|
||||
with pytest.raises(ValueError):
|
||||
Energenie(0)
|
||||
with pytest.raises(ValueError):
|
||||
Energenie(5)
|
||||
|
||||
def test_energenie():
|
||||
pins = [MockPin(n) for n in (17, 22, 23, 27, 24, 25)]
|
||||
with Energenie(1, initial_value=True) as device1, \
|
||||
Energenie(2, initial_value=False) as device2:
|
||||
assert repr(device1) == '<gpiozero.Energenie object on socket 1>'
|
||||
assert repr(device2) == '<gpiozero.Energenie object on socket 2>'
|
||||
assert device1.value
|
||||
assert not device2.value
|
||||
[pin.clear_states() for pin in pins]
|
||||
@@ -455,4 +459,5 @@ def test_energenie():
|
||||
pins[3].assert_states_and_times([(0.0, True), (0.0, True)])
|
||||
pins[4].assert_states_and_times([(0.0, False)])
|
||||
pins[5].assert_states_and_times([(0.0, False), (0.1, True), (0.25, False)])
|
||||
|
||||
device1.close()
|
||||
assert repr(device1) == '<gpiozero.Energenie object closed>'
|
||||
|
||||
Reference in New Issue
Block a user