Temp Logger

Output

Bündtegässli

(http://buendtegaessli.gotdns.ch/current_temp.htm aktuell nicht mehr in Betrieb)

besseres Cockpit ist noch erwünscht.

Zusätzlich wird ein Logfile (CSV) mit Temperatur, Feuchte von den drei Sensoren (Aussen, Küche, Vorlauf) gespeichert.

Beschreibung

Sensoren

es werden folgende Sensoren verwendet: Xiaomi Mijia bluetooth Temperature Humidity Sensor

ist sehr genau dank Sensirion Sensor, hat BLE und läuft lange ab einer AAA Batterie.

Nicht wirklich geeignet für Aussenbereich. (Der erste draussen hielt nur 1.5 Jahre. Das Problem ist, dass bei Regen das Wasser direkt auf den Sensor läuft. Dank einem Loch im Gehäuse fliesst es nun auch wieder ab.)

Mac-Adressen (BLE)

Aussen (Ersatz):58:2d:34:30:ae:09
Küche:4c:65:a8:d2:be:66
Vorlauf:4c:65:a8:d7:c2:ff
Aussen (Defekt):4c:65:a8:d7:c2:c8

Funktion

via Cron-Job liest der Raspi alle 10 Min. die Temperatur von den (erreichbaren) Sensoren. Die Werte werden in ein CSV gespeichert. Die letzte Messung wird in ein HTML-File an der richtigen Stelle eingesetzt und dieses in den Webordner kopiert. Das HTML-File ist via DynDNS erreichbar.

Datenbank

in MySQL Format für DATETIME ist 'YYYY-MM-DD hh:mm:ss.uuuuuu, (die Nachkommastellen der Sekunden (max. Microsekunden) können auch weggelassen werden.

(TIMESTAMP wäre auch möglich, der wird aber in UTC umgerechnet. Könnte interessant sein, für die Sommerzeitumstellung. Vielleicht später mal anschauen.)

Installation

auf Raspberry gemäss folgender Anleitung: https://zsitko.com/xiaomi-mijia-hygrothermo-v2-sensor-data-on-raspberry-pi/

benötigt:

Publikation mit Thingspeak

es braucht dazu die Thingspeak Library. Einfach installiert mit:
sudo pip install thingspeak

dann können im Script z.B. mittels\\/usr/local/bin/thingspeak --api-key=________________ -r=0 "$channel" 3 "$Temp" 4 "$Humidity" > /dev/null 2>&1 die Daten an die Thingspeak Datenbank geschickt werden. api-key und channel müssen seine eigenen sein.

Beispiel falls in Betrieb: Bündtegässli

Probleme

negative Temperaturen

negative Werte scheinen nicht zuverlässig angezeigt zu werden.

aktueller Versuch als Gegenmassnahme: im mitemp_bt_poller.py auf Zeile 109 read_cached auf False gesetzt. Falls das wirksam ist, müsste das bei einem neuen clonene des Repos noch eingefügt werden.