-
Notifications
You must be signed in to change notification settings - Fork 4
/
testHydroponicsLevel.py
108 lines (87 loc) · 2.8 KB
/
testHydroponicsLevel.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# sets up tests for Hydroponics level calibration
import sys
import traceback
import requests
def sendCommandToWireless(myIP, myCommand):
myURL = 'http://'+str(myIP)+'/'+myCommand
print ("sending REST URL = ", myURL)
try:
req = requests.get(myURL,timeout=30)
returnJSON = req.json()
except Exception:
traceback.print_exc()
return {}
return returnJSON
import readJSON
def getLevelFromResult(myResult):
SensorString = myResult['return_string']
SplitLevel = SensorString.split(",")
Level = SplitLevel[4]
return Level
readJSON.readJSON("")
print("###########################")
print("Calibrate Hydroponics Level")
print("###########################")
wirelessJSON = readJSON.getJSONValue("WirelessDeviceJSON")
myIP = None
myID = None
for single in wirelessJSON:
if (single["hydroponicsmode"] == "true"):
myIP = single['ipaddress']
myID = single['id']
break
if (myIP == None):
print("No Hydroponics Found. Run SG3Configure")
sys.exit()
print("Hydroponics Found id=%s ip=%s" %(single["id"], single["ipaddress"]))
print()
print("1) Remove Moisture Sensor from Hydroponics Tank and Dry")
print("Hit Return to Continue")
temp = input()
print()
print("Now reading Hydroponics Level Sensor 5 times (may take 3 minutes )")
print()
myCommand="readHydroponicsSensors?password=admin"
AveLevel = 0
for i in range(0,5):
try:
myResult=sendCommandToWireless(myIP, myCommand)
except:
print("Time out failure - make sure your Extender is on line and restart program")
sys.exit()
#print("myResult=", myResult)
myLevel = getLevelFromResult(myResult)
AveLevel = AveLevel + int(myLevel)
myLevel = AveLevel/5.0
print("####")
print("Empty Tank Value= ", round(myLevel,0))
print("####")
print("2) Fill Hydroponics Tank to Full");
print("Hit Return to Continue")
temp = input()
print("3) Insert Moisture Sensor into the Wiring Housing in Tank")
print("Hit Return to Continue")
temp = input()
print()
print("Now reading Hydroponics Level Sensor 5 times (may take 3 minutes)")
print()
myCommand="readHydroponicsSensors?password=admin"
AveLevel = 0
for i in range(0,5):
try:
myResult=sendCommandToWireless(myIP, myCommand)
except:
print("Time out failure - make sure your Extender is on line and restart program")
sys.exit()
#print("myResult=", myResult)
myLevel = getLevelFromResult(myResult)
AveLevel = AveLevel + int(myLevel)
myLevel = AveLevel/5.0
print("####")
print("Full Tank Value= ", round(myLevel,0))
print("####")
print()
print("Run SG3Configure again and insert above values on 'Debug/Calibration' Tab")
print("###########################")
print(" Complete")
print("###########################")