hardware:channels:sensors:sensorless_outdoor_temp
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:channels:sensors:sensorless_outdoor_temp [2019/02/05 21:20] – angelegt mrmoritz | hardware:channels:sensors:sensorless_outdoor_temp [2020/07/17 12:37] (aktuell) – Script Einrückung korrigiert jau | ||
---|---|---|---|
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 | + | Die Daten werden mittels Python-Skript als JSON-File von OpenWeatherMap |
- | Der Aufruf der Python-Skripts erfolgt mittels Cronjob auf dem Rechner mit der volkszaehler-Installation, bei mir ein RPi 3. | + | Der Aufruf der Python-Skripts erfolgt |
- | Auf openweathermap.com muss ein Account angelegt werden, um sich eine " | + | Auf openweathermap.org muss ein Account angelegt werden, um eine " |
- | Die City-ID im Skript muss auf openweathermap | + | Die City-ID im Skript muss auf OpenWeatherMap |
- | https:// | + | [[https:// |
- | Die City-ID taucht nach Suche und Auswahl der Stadt in der URL auf, z.B. | + | Die City-ID taucht nach Suche und Auswahl der Stadt in der URL auf, z.B. '' |
- | < | + | |
- | https:// | + | |
- | </ | + | |
- | Einen Channel | + | Zuerst einen Kanal für die Außentemperatur |
- | Das Pyhton-Skript benötigt das Paket requests: | + | Das folgende Python-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 |
- | < | + | < |
- | import urllib, json | + | #!/usr/bin/python3 |
- | import requests | + | from requests import get,post |
- | url = "http://api.openweathermap.org/data/ | + | |
- | response = urllib.urlopen(url) | + | |
- | data = json.loads(response.read()) | + | |
- | temp = str(data["main" | + | url = "http:// |
- | #http-POST to volkszaehler | + | try: |
- | r = requests.post(" | + | resp = get(url) |
+ | data = resp.json() | ||
+ | except: | ||
+ | print(" | ||
+ | raise SystemExit(2) | ||
+ | |||
+ | temp = float(data[" | ||
+ | #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: | + | Nun das Skript ausführbar machen: |
+ | < | ||
+ | |||
+ | Und noch einen Cronjob einrichten: | ||
+ | < | ||
+ | |||
+ | Diese Zeile ergänzen für eine Abfrage alle 5 Minuten: | ||
< | < | ||
- | sudo su | + | */5 * * * * /home/ |
- | nano /etc/crontab | + | |
</ | </ | ||
- | Diese Zeile ergänzen für eine Abfrage alle 5 Minuten: | + | <note tip> |
< | < | ||
- | */5 * * * * root python | + | */5 * * * * systemd-cat |
</ | </ | ||
+ | |||
+ | <note tip>Wer anstelle der Daten von Openweathermap lieber einzelne Wetterstationen abfragen möchte, kann dies z.B. über den Dienst von Weather.com/ |
hardware/channels/sensors/sensorless_outdoor_temp.1549398024.txt.gz · Zuletzt geändert: 2019/02/05 21:20 von mrmoritz