Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Heim-Automatisierung
Ich bastele gerne mit Computern, Linux und Elektronik. Viele Teile sammelten sich mit der Zeit an. Als dann der erste Raspberry Pi bei mir ankam, sollten mehrere Dinge damit gelöst werden. Alles anschliessen, was ich so hatte und irgendwie nützlich sein. Was tut er jetzt hauptsächlich?
Ohne Internet-Verbindung
- Tonausgabe mittels Bluetooth
- Sprachausgabe in hoher Qualität in Deutsch über den Befehl 'say' in OS X.
- Anwesenheitserkennung über Bewegungsmelder und Geräte-Erkennung.
- Lichsteuerung mittels Funk
- iTunes-Steuerung
- Anzeige diverser Daten auf LCD-Anzeige
- Steuerung von Licht und Informationsausgabe mittels Infrarot
-
- Wetter - Modul und Aktion von der Webseite
- Wie bitte? - Modul und Aktion von der Webseite
- Licht - Modul ohne Aktionen von der Webseite, weiter ausgebaut
- Wohnung - aus 'Licht' selbst entwickeltes Modul
- Befehle - Was ich hier Snips befehlen kann und die Reaktion
- Ich gehe... - selbst entwickeltes Modul
- Luftbefeuchter schalten
- ambi-light am iMac
- Datenbank für späteres Maschinelles Lernen (ML)
- Rolladen,
aktuell nur mit Fernbedienung
Mit Internet-Verbindung
- RSS-News Feed vorlesen
- Wetter vorlesen
- Unwetterwarnungen
- Standortermittlung über WLAN - aktuell nicht mehr
Kommunikation intern
- MQTT - Rollo, Pflanzen, Sprachausgabe -retained messages
- mysql - so ziemlich alles
- bluetooth - Pflanzen, Anwesenheit
- wlan - Pflanzen, Bewässerung, Luftbefeuchter
- dateibasiert - IPC
- funk - Rollo, Steckdosen
Status Anzeigen/Berechnen
Status meiner Wohnung und Abhängigkeiten
Aktuell am wichtigsten:
Küchenpflanze Batterie
———————-
Messungen: Warnung bei Spannung< xV habe ich schon.
→Falls nach x-Minuten keine Messung aufgetaucht ist, ist er auf jeden Fall alle oder Netzprobleme.
Datenbank Select siehe unten.
→Voraussichtliche Haltbarkeit berechnen
Suche von heute, den letzten höchsten Wert. Da wurde die Batterie gewechselt;Anzahl der Werte dazwischen;Interpolieren bis 3.800
Küchenpflanze Bewässerung
————————-
Füllstand muss erfasst werden, dann über Anzahl der Aufrufe Füllstand berechnen
Ladestatus nicht ermittelbar → Wechsel notieren; Anzahl Aufrufe seit letztem Wechsel
Wenn Pflanze trocken und nicht bewässert wird→entweder Batterie alle oder Wasser
Ladestatus:
http://raspberrypi.fritz.box/b.php
- miband
- rollo - (DB status sensor=rollo)
- befeuchter - (DB status ein/aus rollo, habe ich aber schon berechnet)
Zeitdifferenz der letzten beiden Messungen an den Pflanzen
Wenn die Zeitdifferenz zu groß ist, ist die Batterie möglicherweise leer.
drop table if exists p1; CREATE TABLE p1 SELECT * FROM pflanzen where sensor = 'lilygo' order by datum desc limit 2; insert into p1 select * from pflanzen where sensor = 'Flower care' order by datum desc limit 2; SELECT t1.sensor,t1.datum,t2.datum last, ifnull(t1.datum-t2.datum,-1) as diff, NOW()-t1.datum jetzt FROM p1 t1 join p1 t2 on t2.datum = ( select max(datum) datum from p1 t3 where t3.datum < t1.datum and t3.sensor=t1.sensor );
sensor | datum | last | diff | jetzt |
---|---|---|---|---|
lilygo | 2020-07-23 09:55:47 | 2020-07-23 08:56:02 | 9945.000000 | 8981.000000 |
Flower care | 2020-07-23 09:30:14 | 2020-07-23 07:30:09 | 20005.000000 | 11514.000000 |
Solange 'jetzt' nicht viel größer als 'diff' ist, läuft es wohl noch (bei regelmäßigen Updates).
Braucht die Pflanze länger Wasser ist entweder Wasser leer oder Akku alle
SELECT date_format(datum,'%Y-%m-%d') datum, count(date_format(datum,'%Y-%m-%d')) anzahl FROM `pflanzen` where sensor='lilygo' and salt < 25 group by date_format(datum,'%Y-%m-%d') ORDER BY `datum` DESC limit 1
datum | anzahl |
---|---|
2020-07-23 | 1 |