Daten per python-skript an API von opensensemap übertragen
Verfasst: Sonntag 22. Juli 2018, 09:01
Hallo zusammen,
vielleicht könnt ihr mich mit euren Python-Wissen unterstützen (das ich nicht habe). Worum gehts. Ich haben einen Pi am laufen, der mit einem Skript die Messwerte ausliest und an luftdaten.info überträgt. Nun möchte ich ich die gewonnene Daten über die API von opensensemap auch dorthin senden, habe aber keinerlei Plan wie ich das machen soll (ich habe nahzu keine Pyhton Kentnisse, kann mit etwas try/error ein vorhandenes Skript anpassen, aber mehr auch nicht)
mit dem folgenden Code-Stückckchen werden derzeit die gewonnenen Messdaten an luftdaten.info übermittelt - das skript läuft per cronjob alle 5 minuten:
def sendLuftdaten(self):
if not config['luftdaten']['enabled']:
return
self.__pushLuftdaten('https://api-rrd.madavi.de/data.php', 0, {
"SDS_P1": self.pm10_value,
"SDS_P2": self.pm25_value,
"BME280_temperature": self.temperature,
"BME280_pressure": self.pressure,
"BME280_humidity": self.humidity,
})
self.__pushLuftdaten('https://api.luftdaten.info/v1/push-sensor-data/', 1, {
"P1": self.pm10_value,
"P2": self.pm25_value,
})
self.__pushLuftdaten('https://api.luftdaten.info/v1/push-sensor-data/', 11, {
"temperature": self.temperature,
"pressure": self.pressure,
"humidity": self.humidity,
})
def __pushLuftdaten(self, url, pin, values):
requests.post(url,
json={
"software_version": "python-dusty 0.0.1",
"sensordatavalues": [{"value_type": key, "value": val} for key, val in values.items()],
},
headers={
"X-PIN": str(pin),
"X-Sensor": sensorID,
}
)
Ich benötige jetzt einen Python-Code, der mit den open gewonnenen Sensorendaten auch die opensensemap-api ansteuert:
https://api.opensensemap.org/
https://docs.opensensemap.org/#api-Meas ... asurements
Ich denke das ist nicht so komplex, bekomme es aber leider selber nicht hin. Könnt ihr da irgendwas zusammenbasteln ich bekomme es alleine nicht hin
vielleicht könnt ihr mich mit euren Python-Wissen unterstützen (das ich nicht habe). Worum gehts. Ich haben einen Pi am laufen, der mit einem Skript die Messwerte ausliest und an luftdaten.info überträgt. Nun möchte ich ich die gewonnene Daten über die API von opensensemap auch dorthin senden, habe aber keinerlei Plan wie ich das machen soll (ich habe nahzu keine Pyhton Kentnisse, kann mit etwas try/error ein vorhandenes Skript anpassen, aber mehr auch nicht)
mit dem folgenden Code-Stückckchen werden derzeit die gewonnenen Messdaten an luftdaten.info übermittelt - das skript läuft per cronjob alle 5 minuten:
def sendLuftdaten(self):
if not config['luftdaten']['enabled']:
return
self.__pushLuftdaten('https://api-rrd.madavi.de/data.php', 0, {
"SDS_P1": self.pm10_value,
"SDS_P2": self.pm25_value,
"BME280_temperature": self.temperature,
"BME280_pressure": self.pressure,
"BME280_humidity": self.humidity,
})
self.__pushLuftdaten('https://api.luftdaten.info/v1/push-sensor-data/', 1, {
"P1": self.pm10_value,
"P2": self.pm25_value,
})
self.__pushLuftdaten('https://api.luftdaten.info/v1/push-sensor-data/', 11, {
"temperature": self.temperature,
"pressure": self.pressure,
"humidity": self.humidity,
})
def __pushLuftdaten(self, url, pin, values):
requests.post(url,
json={
"software_version": "python-dusty 0.0.1",
"sensordatavalues": [{"value_type": key, "value": val} for key, val in values.items()],
},
headers={
"X-PIN": str(pin),
"X-Sensor": sensorID,
}
)
Ich benötige jetzt einen Python-Code, der mit den open gewonnenen Sensorendaten auch die opensensemap-api ansteuert:
https://api.opensensemap.org/
https://docs.opensensemap.org/#api-Meas ... asurements
Ich denke das ist nicht so komplex, bekomme es aber leider selber nicht hin. Könnt ihr da irgendwas zusammenbasteln ich bekomme es alleine nicht hin