Calculate Savings, Send merged requests
This commit is contained in:
parent
6074d693a5
commit
b71ab734b7
6
PKGBUILD
6
PKGBUILD
|
@ -1,7 +1,7 @@
|
|||
pkgname="freiland-solardata-forwarder"
|
||||
pkgdesc="Copies Data from FreilandSolar to Opensensemap"
|
||||
pkgver=1.0
|
||||
pkgrel=3
|
||||
pkgver=1.1
|
||||
pkgrel=2
|
||||
arch=("x86_64")
|
||||
source=('solar-forwarder.py' 'solar-forwarder.service')
|
||||
depends=('python-paho-mqtt' 'python-requests' 'python')
|
||||
|
@ -12,5 +12,5 @@ package() {
|
|||
install -Dm755 solar-forwarder.py "${pkgdir}/usr/bin/solar-forwarder"
|
||||
}
|
||||
|
||||
sha256sums=('f5886f7921935c8bf04ffd5cd81d8f5690342c935c2f81d87b74d343713f29db'
|
||||
sha256sums=('ac6062571ecb8ecf249082ac2854358e8c431ed4cfe98e167f18ca3f7b0d1181'
|
||||
'481243ff3c4ff019c3d31c1b6dbd8d70308402efef5a5b22f7b21b08312bc70c')
|
||||
|
|
|
@ -12,17 +12,27 @@ def on_connect(client, userdata, flags, rc):
|
|||
# The callback for when a PUBLISH message is received from the server.
|
||||
def on_message(client, userdata, msg):
|
||||
print(msg.topic+" "+ msg.payload.decode("utf-8"))
|
||||
HEADERS = { "Authorization" : "43d3886948451157f1b03bfc7db18c1ed4e4950bc77ffac3e70dff422574b204", "content-type":"application/json" }
|
||||
|
||||
HEADERS = { "Authorization" : "43d3886948451157f1b03bfc7db18c1ed4e4950bc77ffac3e70dff422574b204", "content-type":"application/json" }
|
||||
URL = ""
|
||||
if "power" in msg.topic: URL = "https://api.opensensemap.org/boxes/63f26d484fbabe0007d105d2/63f26d484fbabe0007d105d3"
|
||||
if "energy" in msg.topic: URL = "https://api.opensensemap.org/boxes/63f26d484fbabe0007d105d2/63f2778a4fbabe0007d68fd9"
|
||||
|
||||
BODY = ""
|
||||
if "power" in msg.topic: BODY = '{"value":' + msg.payload.decode("utf-8")+"}"
|
||||
if "energy" in msg.topic: BODY = '{"value":' + str(float(msg.payload.decode("utf-8"))/60.0/1000.0) + "}"
|
||||
print(BODY)
|
||||
result = requests.post(url = URL, headers = HEADERS, data = BODY)
|
||||
#power
|
||||
if "power" in msg.topic:
|
||||
URL = "https://api.opensensemap.org/boxes/63f26d484fbabe0007d105d2/63f26d484fbabe0007d105d3"
|
||||
BODY = '{"value":' + msg.payload.decode("utf-8")+"}"
|
||||
result = requests.post(url = URL, headers = HEADERS, data = BODY)
|
||||
#energy & savings
|
||||
if "energy" in msg.topic:
|
||||
URL = "https://api.opensensemap.org/boxes/63f26d484fbabe0007d105d2/data"
|
||||
#calculate energy from Watt-minutes
|
||||
energy = float(msg.payload.decode("utf-8"))/60.0/1000.0
|
||||
BODY = '['
|
||||
BODY = BODY + '{"sensor":"63f2778a4fbabe0007d68fd9", "value":' + ("{:.1f}".format(energy)) + "},"
|
||||
#calculate savings
|
||||
savings = energy * 0.45
|
||||
BODY = BODY + '{"sensor":"63f3482c4fbabe000746658e", "value":' + ("{:.2f}".format(savings)) + "}"
|
||||
BODY = BODY + ']'
|
||||
print(BODY)
|
||||
result = requests.post(url = URL, headers = HEADERS, data = BODY)
|
||||
print(result.text)
|
||||
|
||||
client = mqtt.Client()
|
||||
|
|
Loading…
Reference in New Issue