From 708157c8fd95a415b1ec84d5aa81590b8d138463 Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Sat, 30 Apr 2016 12:19:45 +0100 Subject: [PATCH 1/3] Minor Energenie tweaks --- gpiozero/boards.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gpiozero/boards.py b/gpiozero/boards.py index a42dc5f..16a5bb3 100644 --- a/gpiozero/boards.py +++ b/gpiozero/boards.py @@ -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 From 28afa63ba84eee400da7b601480d9bfa8abd11ef Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Sat, 30 Apr 2016 12:24:05 +0100 Subject: [PATCH 2/3] test tweak --- tests/test_boards.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_boards.py b/tests/test_boards.py index 627325e..80668a1 100644 --- a/tests/test_boards.py +++ b/tests/test_boards.py @@ -430,6 +430,8 @@ 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)] From 864c4f93278cc7a2ef197329df56a0f84ed0a546 Mon Sep 17 00:00:00 2001 From: Andrew Scheller Date: Sat, 30 Apr 2016 14:12:51 +0100 Subject: [PATCH 3/3] test Energenie repr --- tests/test_boards.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/test_boards.py b/tests/test_boards.py index 80668a1..8b12dea 100644 --- a/tests/test_boards.py +++ b/tests/test_boards.py @@ -437,6 +437,8 @@ 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) == '' + assert repr(device2) == '' assert device1.value assert not device2.value [pin.clear_states() for pin in pins] @@ -457,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) == ''