Skip to content

Commit

Permalink
Fix watering time to take both manual and auto minutes into account. F…
Browse files Browse the repository at this point in the history
…ixes #33 (#34)
  • Loading branch information
vanstinator committed Apr 9, 2019
1 parent a5a00a0 commit b6011a4
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 11 deletions.
14 changes: 13 additions & 1 deletion raincloudy/faucet.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,12 +219,24 @@ def _set_watering_time(self, zoneid, value):
ddata[attr] = value
self.submit_action(ddata)

# TODO in a future release we should break this out. artifact of old API
@property
def watering_time(self):
"""Return watering_time from zone."""
# zone starts with index 0
index = self.id - 1
return self._attributes['rain_delay_mode'][index]['auto_watering_time']
auto_watering_time =\
self._attributes['rain_delay_mode'][index]['auto_watering_time']

manual_watering_time =\
self._attributes['rain_delay_mode'][index]['manual_watering_time']

if auto_watering_time > manual_watering_time:
watering_time = auto_watering_time
else:
watering_time = manual_watering_time

return watering_time

@watering_time.setter
def watering_time(self, value):
Expand Down
20 changes: 10 additions & 10 deletions tests/fixtures/get_cu_and_fu_status.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,22 @@
},
{
"next_water_cycle": "Off",
"manual_mode_on": false,
"manual_watering_time": 0,
"auto_watering_time": 0,
"program_mode_on": false,
"manual_mode_on": true,
"manual_watering_time": 15,
"auto_watering_time": 5,
"program_mode_on": true,
"rain_delay_mode": 0,
"is_watering": false,
"is_watering": true,
"zonename": 1
},
{
"next_water_cycle": "Off",
"manual_mode_on": false,
"manual_watering_time": 0,
"auto_watering_time": 0,
"program_mode_on": false,
"manual_mode_on": true,
"manual_watering_time": 5,
"auto_watering_time": 60,
"program_mode_on": true,
"rain_delay_mode": 0,
"is_watering": false,
"is_watering": true,
"zonename": 2
},
{
Expand Down
11 changes: 11 additions & 0 deletions tests/test_faucet_zone.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,17 @@ def test_set_watering_time(self):
faucet.zone1.id,
1000)

def test_watering_time(self):
"""Test faucet.watering_time property"""
faucet = self.rdy.controller.faucet

# manual time
self.assertEqual(faucet.zone2.watering_time, 15)

# auto time
self.assertEqual(faucet.zone3.watering_time, 60)


def test_errors_or_exceptions(self):
"""Tests for errors or exceptions."""
faucet = self.rdy.controller.faucet
Expand Down

0 comments on commit b6011a4

Please sign in to comment.