hardware:channels:sensors:sensorless_outdoor_temp
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
hardware:channels:sensors:sensorless_outdoor_temp [2019/02/06 02:18] – entpersonalisiert, FE-Link, Syntaxhighlight, crontab jau | hardware:channels:sensors:sensorless_outdoor_temp [2020/04/27 13:25] – Updated the script so it is compatible with python3, added simple error handling. trabant | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Außentemperatur ohne Sensor ====== | ====== Außentemperatur ohne Sensor ====== | ||
- | Gerade zur Auswertung von Heizkurven oder Stromverbräuchen elektrischer Heizungen wie Wärmepumpen | + | Gerade zur Auswertung von Heizkurven oder dem Verbrauch von Heizungsanlagen |
{{: | {{: | ||
- | Das ist auch völlig | + | Das ist auch ohne weitere Hardware möglich mittels Abfrage eines Online-Wetterdienstes, |
Die Daten werden mittels Python-Skript als JSON-File von openWheatherMap abgerufen, interpretiert und per API-Aufruf an die Volkszähler-Datenbank gesendet. | Die Daten werden mittels Python-Skript als JSON-File von openWheatherMap abgerufen, interpretiert und per API-Aufruf an die Volkszähler-Datenbank gesendet. | ||
Zeile 16: | Zeile 16: | ||
Einen Channel für die Außentemperatur übers [[/ | Einen Channel für die Außentemperatur übers [[/ | ||
- | Das Pyhton-Skript benötigt das Paket requests: | + | Das Pyhton-Skript benötigt das Paket //requests//, sollte es noch nicht vorhanden sein lässt es sich auf dem Volkszähler-Image wie folgt nachinstallieren: |
< | < | ||
- | pip install requests | + | apt-get |
</ | </ | ||
- | Das vollständige Skript getWetter.py: | + | Das vollständige Skript getWetter.py |
<code python getWetter.py> | <code python getWetter.py> | ||
- | import | + | # |
- | import requests | + | from requests |
url = " | url = " | ||
- | response = urllib.urlopen(url) | ||
- | data = json.loads(response.read()) | ||
- | temp = str(data["main"][" | + | try: |
+ | resp = get(url) | ||
+ | | ||
+ | except: | ||
+ | print("URL load failed") | ||
+ | raise SystemExit(2) | ||
- | #http-POST to volkszaehler | + | temp = float(data[" |
- | r = requests.post(" | + | #pres = float(data[" |
+ | #humi = float(data[" | ||
+ | |||
+ | try: | ||
+ | post(" | ||
+ | #post(" | ||
+ | # | ||
+ | except: | ||
+ | print(" | ||
+ | raise SystemExit(3) | ||
</ | </ | ||
+ | Wer möchte kann auch Luftdruck und Luftfeuchte importieren, | ||
Und nun noch einen Cronjob einrichten: | Und nun noch einen Cronjob einrichten: | ||
- | < | + | < |
Diese Zeile ergänzen für eine Abfrage alle 5 Minuten: | Diese Zeile ergänzen für eine Abfrage alle 5 Minuten: | ||
< | < | ||
- | */5 * * * * root python | + | */5 * * * * /home/pi/bin/ |
</ | </ | ||
+ | |||
+ | <note tip> | ||
+ | < | ||
+ | */5 * * * * systemd-cat / | ||
+ | </ | ||
+ | |||
+ | <note tip>Wer anstelle der Daten von Openweathermap lieber einzelne Wetterstationen abfragen möchte, dann dies z.B. über den Dienst von Weather.com/ |
hardware/channels/sensors/sensorless_outdoor_temp.txt · Zuletzt geändert: 2020/07/17 12:37 von jau