Benutzer-Werkzeuge

Webseiten-Werkzeuge


heim-automatisierung

Dies ist eine alte Version des Dokuments!


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

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

Batterie / Akku / Powerbank / Netzteil

Die Raspberry Pi's und die Steuerung für die Luftfeuchtigkeit laufen mit Netzteilen; der Rollandenmotor mit seinem eingebauten Akku; eine Pflanzenüberwachung sowie die inzwischen 4 Fenster-Sensoren und der Türsensor mit den eingebauten CR2032 Knopfbatterien.

Der Außensensor läuft mit einer TR18650 Lithium Zelle. Die hat leider das Problem, dass sie dauern leer ist, obwohl ich den ESP01 schon mit diversen Tricks zum Stromsparen gezwungen habe. WiFi braucht halt immer Energie.

Der zweite Pflanzensensor und die Wasserpumpe laufen bisher mit kleinen Lithium-Zellen, die ich für meine Indoor Hubschrauber nutze - sollte ich denn mal wieder fliegen. So haben sie weiter Nutzen. Aber auch dort ist das Problem, dass ich sie Wochenweise(?) wechseln muss.

Das Betreiben mit meiner PowerBank ist ein Problem - sie schaltet nach 10-20 Sekunden ab, wenn weniger als 50mA gezogen wird. Bei der Pflanze (Überwachung und Pumpe) sind es unter 10 mA. Also habe ich jetzt einfach meinen Raspberry Zero mit dran gehängt - für den ich mir noch eine Aufgabe überlegen muss.

PowerBank >10.000mAh sollten dann *Taschenrechner auspack* waaaas - nur 100 Stunden = 4 Tage halten?

Also doch so schnell wie möglich die Alternative:

Alternativ gibt es hier eine Schaltung mit einem IC555, drei Wiederständen und zwei Kondensatoren, die alle paar Sekunden einen kurzen Strom von 160mA zieht (was sich ind er Stunde so auf 10mA mittels). Damit wird verhindert, dass die PowerBank abschaltet. Werde ich mal ausprobieren.. (Stand 12/2020)

Ansonsten erinnert mich meine Hausüberwachung alle x-Tage ans laden des Rolladen-Akkus; merkt, wenn der Pflanzensensor oder der Aussensensor keine Daten mehr liefert und erinnert mich.

Auch die Wassermenge im Luftbefeuchter wird indirekt über die Betriebsdauer ermittelt und mir freundlich das Auffüllen angeraten.

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 vor 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
→Falls nach x-Minuten keine Messung aufgetaucht ist, ist er auf jeden Fall alle oder Netzprobleme.
Datenbank Select siehe unten.

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
    );
sensordatumlastdiffjetzt
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,
  max(datum) letzterEintrag
  FROM `pflanzen` where sensor='lilygo' and salt < 25 group by date_format(datum,'%Y-%m-%d') 
  ORDER BY `datum` DESC limit 1
datumanzahlletzterEintrag
2020-07-23 1 2020-07-23 11:55:05

Wenn die Anzahl mehr als 2-3 ist, dann mal schauen. Wenn das Datum nicht von heute ist, kein Problem aber es könnte auch der Akku der Überwachung alle sein. Da sollte man dann mit dem letzterEintrag vergleichen.

heim-automatisierung.1608480548.txt.gz · Zuletzt geändert: 2020/12/20 16:09 von varnholt