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"
|
pkgname="freiland-solardata-forwarder"
|
||||||
pkgdesc="Copies Data from FreilandSolar to Opensensemap"
|
pkgdesc="Copies Data from FreilandSolar to Opensensemap"
|
||||||
pkgver=1.0
|
pkgver=1.1
|
||||||
pkgrel=3
|
pkgrel=2
|
||||||
arch=("x86_64")
|
arch=("x86_64")
|
||||||
source=('solar-forwarder.py' 'solar-forwarder.service')
|
source=('solar-forwarder.py' 'solar-forwarder.service')
|
||||||
depends=('python-paho-mqtt' 'python-requests' 'python')
|
depends=('python-paho-mqtt' 'python-requests' 'python')
|
||||||
|
@ -12,5 +12,5 @@ package() {
|
||||||
install -Dm755 solar-forwarder.py "${pkgdir}/usr/bin/solar-forwarder"
|
install -Dm755 solar-forwarder.py "${pkgdir}/usr/bin/solar-forwarder"
|
||||||
}
|
}
|
||||||
|
|
||||||
sha256sums=('f5886f7921935c8bf04ffd5cd81d8f5690342c935c2f81d87b74d343713f29db'
|
sha256sums=('ac6062571ecb8ecf249082ac2854358e8c431ed4cfe98e167f18ca3f7b0d1181'
|
||||||
'481243ff3c4ff019c3d31c1b6dbd8d70308402efef5a5b22f7b21b08312bc70c')
|
'481243ff3c4ff019c3d31c1b6dbd8d70308402efef5a5b22f7b21b08312bc70c')
|
||||||
|
|
|
@ -13,16 +13,26 @@ def on_connect(client, userdata, flags, rc):
|
||||||
def on_message(client, userdata, msg):
|
def on_message(client, userdata, msg):
|
||||||
print(msg.topic+" "+ msg.payload.decode("utf-8"))
|
print(msg.topic+" "+ msg.payload.decode("utf-8"))
|
||||||
HEADERS = { "Authorization" : "43d3886948451157f1b03bfc7db18c1ed4e4950bc77ffac3e70dff422574b204", "content-type":"application/json" }
|
HEADERS = { "Authorization" : "43d3886948451157f1b03bfc7db18c1ed4e4950bc77ffac3e70dff422574b204", "content-type":"application/json" }
|
||||||
|
|
||||||
URL = ""
|
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 = ""
|
BODY = ""
|
||||||
if "power" in msg.topic: BODY = '{"value":' + msg.payload.decode("utf-8")+"}"
|
#power
|
||||||
if "energy" in msg.topic: BODY = '{"value":' + str(float(msg.payload.decode("utf-8"))/60.0/1000.0) + "}"
|
if "power" in msg.topic:
|
||||||
print(BODY)
|
URL = "https://api.opensensemap.org/boxes/63f26d484fbabe0007d105d2/63f26d484fbabe0007d105d3"
|
||||||
result = requests.post(url = URL, headers = HEADERS, data = BODY)
|
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)
|
print(result.text)
|
||||||
|
|
||||||
client = mqtt.Client()
|
client = mqtt.Client()
|
||||||
|
|
Loading…
Reference in New Issue