Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
6ff7f4fc1b | |||
95a0f36bfa | |||
99810db877 | |||
4704023e96 |
15
main.py
15
main.py
@ -11,6 +11,7 @@ from net import templates
|
|||||||
from net import util
|
from net import util
|
||||||
from net.config import config
|
from net.config import config
|
||||||
from sensors import MCP9808
|
from sensors import MCP9808
|
||||||
|
from sensors import SimulatedMCP9808
|
||||||
from sensors import WaterSensor
|
from sensors import WaterSensor
|
||||||
|
|
||||||
|
|
||||||
@ -18,8 +19,13 @@ class SensorServer(Server):
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.mcp = MCP9808(I2C(0))
|
||||||
|
except:
|
||||||
|
self.mcp = SimulatedMCP9808(temperature=37)
|
||||||
|
|
||||||
self.waterSensor = WaterSensor(0)
|
self.waterSensor = WaterSensor(0)
|
||||||
self.mcp = MCP9808(I2C(0))
|
|
||||||
self.aio = AdafruitIO()
|
self.aio = AdafruitIO()
|
||||||
self.ntfy = Ntfy()
|
self.ntfy = Ntfy()
|
||||||
self.ntp_interval_in_seconds = 60 * 60
|
self.ntp_interval_in_seconds = 60 * 60
|
||||||
@ -49,7 +55,7 @@ class SensorServer(Server):
|
|||||||
|
|
||||||
if isWaterPresent != self.isWaterPresent:
|
if isWaterPresent != self.isWaterPresent:
|
||||||
self.isWaterPresent = isWaterPresent
|
self.isWaterPresent = isWaterPresent
|
||||||
self.ntfy.message(f'Water is {self.waterTextValue()}')
|
#self.ntfy.message(f'Water is {self.waterTextValue()}')
|
||||||
|
|
||||||
def handlePath(self, path):
|
def handlePath(self, path):
|
||||||
if path == 'index.json':
|
if path == 'index.json':
|
||||||
@ -75,9 +81,12 @@ class SensorServer(Server):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def getReading(self):
|
def getReading(self):
|
||||||
|
readings = self.getState()
|
||||||
|
readings['is-water-present'] = 1 if readings['is-water-present'] else 0
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'timestamp': util.datetimeISO8601(),
|
'timestamp': util.datetimeISO8601(),
|
||||||
'readings': self.getState()
|
'readings': readings
|
||||||
}
|
}
|
||||||
|
|
||||||
def getState(self):
|
def getState(self):
|
||||||
|
@ -9,5 +9,6 @@ secrets = {
|
|||||||
'adafruit_io_username': '',
|
'adafruit_io_username': '',
|
||||||
'adafruit_io_key': '',
|
'adafruit_io_key': '',
|
||||||
'ntfy_host': '',
|
'ntfy_host': '',
|
||||||
'ntfy_topic': ''
|
'ntfy_topic': '',
|
||||||
|
'ntfy_auth': ''
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,8 @@ class Ntfy:
|
|||||||
|
|
||||||
host = secrets['ntfy_host']
|
host = secrets['ntfy_host']
|
||||||
topic = secrets['ntfy_topic']
|
topic = secrets['ntfy_topic']
|
||||||
self.url = f'https://{host}/{topic}'
|
auth = secrets['ntfy_auth']
|
||||||
|
self.url = f'https://{host}/{topic}?auth={auth}'
|
||||||
|
|
||||||
def message(self, message):
|
def message(self, message):
|
||||||
result = self.sendMessage(message)
|
result = self.sendMessage(message)
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
from .mcp9808 import MCP9808
|
from .mcp9808 import MCP9808
|
||||||
|
from .mcp9808 import SimulatedMCP9808
|
||||||
from .watersensor import WaterSensor
|
from .watersensor import WaterSensor
|
||||||
|
@ -251,3 +251,12 @@ class MCP9808(object):
|
|||||||
part = 0 if i > 7 else 1
|
part = 0 if i > 7 else 1
|
||||||
value = 1 if (cfg[part] & (2**(i % 8))) > 0 else 0
|
value = 1 if (cfg[part] & (2**(i % 8))) > 0 else 0
|
||||||
print(meanings[i][0] + ": " + meanings[i][1 + value])
|
print(meanings[i][0] + ": " + meanings[i][1 + value])
|
||||||
|
|
||||||
|
|
||||||
|
class SimulatedMCP9808():
|
||||||
|
|
||||||
|
def __init__(self, temperature):
|
||||||
|
self.temperature = temperature
|
||||||
|
|
||||||
|
def get_temp(self):
|
||||||
|
return self.temperature
|
||||||
|
Loading…
Reference in New Issue
Block a user