hardware:channels:sensors:sensorless_outdoor_temp
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| hardware:channels:sensors:sensorless_outdoor_temp [2019/02/06 02:18] – entpersonalisiert, FE-Link, Syntaxhighlight, crontab jau | 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 z.B. mittels Cronjob auf dem Rechner mit der volkszaehler-Installation. | + | Der Aufruf der Python-Skripts erfolgt z.B. mittels Cronjob auf dem Rechner mit der Volkszähler-Installation. |
| - | Auf openweathermap.com muss ein Account angelegt werden, um 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. '' | ||
| - | Einen Channel | + | Zuerst einen Kanal für die Außentemperatur übers [[/ |
| - | 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 |
| <code python getWetter.py> | <code python 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: | 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, kann dies z.B. über den Dienst von Weather.com/ | ||
hardware/channels/sensors/sensorless_outdoor_temp.1549415919.txt.gz · Zuletzt geändert: von jau