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')
|
raise EnergenieSocketMissing('socket number must be provided')
|
||||||
if not (1 <= socket <= 4):
|
if not (1 <= socket <= 4):
|
||||||
raise EnergenieBadSocket('socket number must be between 1 and 4')
|
raise EnergenieBadSocket('socket number must be between 1 and 4')
|
||||||
|
self._value = None
|
||||||
super(Energenie, self).__init__()
|
super(Energenie, self).__init__()
|
||||||
self._socket = socket
|
self._socket = socket
|
||||||
self._master = _EnergenieMaster()
|
self._master = _EnergenieMaster()
|
||||||
@@ -877,8 +878,9 @@ class Energenie(SourceMixin, Device):
|
|||||||
|
|
||||||
@value.setter
|
@value.setter
|
||||||
def value(self, value):
|
def value(self, value):
|
||||||
self._master.transmit(self._socket, bool(value))
|
value = bool(value)
|
||||||
self._value = bool(value)
|
self._master.transmit(self._socket, value)
|
||||||
|
self._value = value
|
||||||
|
|
||||||
def on(self):
|
def on(self):
|
||||||
self.value = True
|
self.value = True
|
||||||
|
|||||||
@@ -430,11 +430,15 @@ def test_energenie_bad_init():
|
|||||||
Energenie()
|
Energenie()
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
Energenie(0)
|
Energenie(0)
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
Energenie(5)
|
||||||
|
|
||||||
def test_energenie():
|
def test_energenie():
|
||||||
pins = [MockPin(n) for n in (17, 22, 23, 27, 24, 25)]
|
pins = [MockPin(n) for n in (17, 22, 23, 27, 24, 25)]
|
||||||
with Energenie(1, initial_value=True) as device1, \
|
with Energenie(1, initial_value=True) as device1, \
|
||||||
Energenie(2, initial_value=False) as device2:
|
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 device1.value
|
||||||
assert not device2.value
|
assert not device2.value
|
||||||
[pin.clear_states() for pin in pins]
|
[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[3].assert_states_and_times([(0.0, True), (0.0, True)])
|
||||||
pins[4].assert_states_and_times([(0.0, False)])
|
pins[4].assert_states_and_times([(0.0, False)])
|
||||||
pins[5].assert_states_and_times([(0.0, False), (0.1, True), (0.25, 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