Home › Foren › Hardware › Stories und Projekte › Bad-Controller Python
-
AutorBeiträge
-
Liebe Controme-Community Anwender,
wenn ich morgens nach dem Aufstehen ins Bad gehe, möchte ich gerne sehen, welche Temperatur es draußen hat, und welches Wetter mich im Laufe des Tages erwartet, um mich entsprechend darauf einrichten zu können. Und bevor ich mich unter die Dusche stelle, möchte ich gerne den Heizkörper etwas höher drehen. Dazu mein Smartphone oder Tablet zu bemühen, ist mir so kurz nach dem Aufwachen lästig, weshalb ich bei uns im Bad zwischen den zwei Spiegelschränken ein Raspberry Pi 4 mit 5″ Touch-Display installiert habe. Im Anhang dazu ein Screenshot. Auf dem Raspberry Pi läuft ein Python-Programm, das ich selbst geschrieben habe, welches auf das Controme-API zugreift und die Temperatur im Garten und im Bad darstellt, außerdem die Temperaturen oben und Mitte an unserem 1000 Solarspeicher. Als weiteres werden Sonnenaufgang- und Untergang, sowie die Wetter-Prognose angezeigt, die sich das Programm von openweathermap.org holt.
Über den Slider kann man eine Uhrzeit (ganz links = sofort) auswählen, zu der die in Controme definierte Temperaturszene „Bad Boost“ aktiviert werden soll. Über den Button ganz unten wird der Zeitzähler scharf gestellt. Die Boost-Szene läuft 2h, kann aber jederzeit über denselben Button deaktiviert werden, dessen Text nach Aktivierung auf „Stop“ wechselt. Bei uns im Bad haben wir eine Fußbodenheizung plus Handtuchwärmer, weshalb ich die Boost-Szene zeitgesteuert schon am Abend vorher einstelle.
Die Software ist in einzelne Python-Module aufgeteilt, enthält einen Model-View-Controller, das UI ist ganz einfach mittels der guizero API realisiert. Somit kann man das Programm leicht auf andere Verhältnisse anpassen. Die Wetter-Symbole werden mittels eines Fonts dargestellt.
Das Raspberry Pi 4 ist für diesen Zweck vielleicht überdimensioniert, ich habe aber noch andere Software darauf laufen. Es wird sehr warm und benötigt eine Kühlung. Einen Ventilator wollte ich nicht, weshalb ich einen Kühlkörper verwendet habe, der über den gesamten Rechner liegt. Zuerst hatte ich einen resistiven Touchscreen verwendet, bei diesem war der Schieberegler sehr träge und nur mit Stift zu bedienen. Jetzt habe ich einen Kapazitiven im Einsatz (ca. 25 €), der für diesen Zweck ausgezeichnet ist.Falls jemand ein ähnliches Projekt in Angriff nehmen möchte, bin ich gerne für weitere Auskünfte bereit, auch das Python-Programm stelle ich gerne kostenlos zur Verfügung.
Attachments:
You must be logged in to view attached files.Hallo sundriver,
einfach nur wow. Genau so was suche ich schon lange.👍
Ich habe viel in unseren Haus automatisiert und umgesetzt. Allerdings da ich wenig Ahnung vom programmieren eines Pi habe, musste ich viel improvisieren mit mechanischen und digitalen Lösungen.
Für unser Tierheim habe ich zwar schon ein wenig Erfahrung mit Rasperry sammeln können, hier habe ich einen Fernseher im Eingangsbereich mit digital signage (Video Leinwand) ausgestattet um aktuelles für Besucher anzeigen zu lassen, mit live Bild aus den Felnasenzimmern. Aber dafür habe ich eine fertige Software benutzt von info-beamer.
Daheim habe ich viel über mein Bosch Smart Home in Verbindung mit Alexa und Automatelt umgesetzt. Ich wollte z.B. das die Wärmepumpe den Speicher nur dann auf Badewassertemperatur aufheizt wenn auch wirklich einer badet, ansonsten nur für duschen. Dies geht über Sprachbefehl „Alexa ich will baden“ und wenn die Wärmepumpe fertig ist gibt ein anderes System über Sprachausgabe Bescheid. Siehe Youtube Video.
Im Video nur mal der Ablauf, hier hatte die Solaranlage den Speicher schon aufgeheizt.
Es wäre nicht nötig gewesen die Wärmepumpe mit dem Befehl „Alexa ich will baden“ zu starten.Ablauf, Sprachbefehl „Alexa ich will baden“- Bosch Smarthome Zwischenstecker schaltet für 20 min den Sensormanipulator ein – Sensormanipulator von Controme ändert die Sensortemperatur WW am Speicher, so das die Wärmepumpe denkt Speicher ist zu kalt. – Wärmepumpe macht WW. – nach 20 Min schaltet der Zwischenstecker wieder aus und Bosch Smarthome sendet eine Nachricht an mein Tabelt, dies gibt über Automatelt eine Sprachausgabe das Badewasser fertig ist.
Leider nur eine bestimmte Zeit, in dem Fall 20 min.
Natürlich kann der Sensormanipulator auch mehrere Sensoren steuern bzw. manipulieren, dafür müsste er dauerhaft mit Strom (5V Handyladegerät) versorgt werden. Und an jedem angeschlossenen Sensor (Kanal) ist ein potentzialfreier Kontakt, der diesen Kanal dann aktiviert.
Hierzu bräucht man halt dann z.B. Relais die dann von meinen Bosch Smarthome System über z.B. Zwischenstecker den jeweiligen Kanal potenzialfrei schalten. Aber Ich brauchte nur einen Sensor und habe am Sensormanipulator eine Brücke an den potenzialfreien Kontakt reingesteckt. Solange der Sensormanipulator stromlos ist, läst er den WW-Temperaturfühler 1:1 durch ohne was zu verändern. Als Hinweis für alle im Forum, bitte einen Elekriker hinzuziehen, nicht das dann die Bude wärmer wird wie gewollt.😅Dies wenn es geht könnte man noch über einen Pi optimieren, da zusätzlich zum Sensor WW von der Wärmepumpe noch einer von Controme am Speicher angebracht ist nur für mich als Anzeige der WW-Temperatur in Controme, dieser wird ja nicht manipuliert und könnte abfragt werden und das ganze dann so lange laufen lassen bis eine bestimmte Temperatur im Speicher erreicht ist.
Frage für deine Software muss ich hier programmieren können, oder ist es induviduell per Buttons oder Einfach Text anpassbar. Wäre echt eine coole Sache da ich dann noch sehr viel mehr verbessern oder umsetzten könnte.
Welches Set genau bzw. woher hast du es? Würde wegen den Kühlproblem auch der Pi 3 langen?Hallo matzidp8,
interessant, was Du ohne Programmierung alles umgesetzt hast!
Meine Software setzt Linux- und Programmierkenntnisse voraus: Objektorientierung, Sprache Python. Änderungen müssen im Python-Sourcecode gemacht werden.
Das Raspberry Pi 4 habe ich von Amazon bezogen (Raspberry Pi 4 Modell B Basisplatine, 2 GB, ARM-Cortex-A72, 4 x 1,50 GHz, WLAN-ac, Bluetooth 5.0, LAN, 4 x USB, 2 x Micro-HDMI), der Kühlkörper ist dieser: https://shop.pimoroni.com/products/aluminium-heatsink-case-for-raspberry-pi-4?variant=29430673178707
Das Display habe ich über Ebay gekauft: Raspberry Pi 5 Inch HD Capacitive Touchscreen Display 800*480 Resolution W6I4Für Deinen Zweck reicht bestimmt auch ein Raspberry Pi 3.
Diese Antwort wurde als privat markiert.Hier nochmals, irgendwie hat es meinen Post als privat markiert.
Danke Dir,
schade dachte es gibt da was fertiges.
Mit z.B. WENN-DANN Funktionen.Da bringt es wenig von Dir den Code zu übernehmen, da ich es ja individuell anpassen müsste.
Ich habe mich mit schon viel auseinandergesetzt. Aber mit Linux und Programmierung bis jetzt noch nicht, denke ist halt ziehmlich komplex und Zeitaufwendig.
Da wäre natürlich vieles möglich und einfacher, werde mich wohl doch irgendwann da mal mit beschäftigen müssen.
Gruß
MatthiasInzwischen habe ich die Software erweitert: in einem Hintergrund-Thread wird regelmäßig ermittelt, wann die Daten der Sensoren zuletzt an den Miniserver übertragen wurden. Ist die Übermittlungszeit älter als eine Stunde, dann schickt mir das Raspberry Pi automatisch eine Email. Sobald die Übermittlungszeit aller Sensoren wieder innerhalb einer Stunde liegt, wird wiederum eine Email versendet.
Diese Antwort wurde als privat markiert.Hallo @astrometeo, falls Deine Antwort an mich gerichtet sein sollte, ich kann sie nicht lesen, da sie als „privat“ markiert gekennzeichnet ist, obwohl ich eingeloggt bin.
Hallo sundriver,
ich bin neu im Forum und neu bei controme. Sorry für den privat markierten Beitrag. Ich finde sehr spannend was du in Python umgesetzt hast. Ich bin beruflich mit Python unterwegs und hatte mich schon ein kleines bisschen an der API versucht. Du hast geschrieben das du die Python-Scripte zur Verfügung stellst. Ich hätte Interesse daran.
VGastrometeo
Sorry @astrometeo, dass ich mich erst jetzt melde. Bitte sende mir eine Mail an
Dann bekommst Du einen Link für den source code.
Hallo sundriver,
danke habe ich gemacht! von mailbox.org aus mit astrometeo@….
VG
astrometeo
Hallo @astrometeo,
die Mail scheint nicht bei Dir angekommen. Ich habe es gerade wieder versucht, t-online schickt ein undelivered Mail zurück.
Hallo sundriver,
ich starte mal einen zweitern Versuch! Ich habe dir eine zweite E-Mail geschickt an die von dir genannte.
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.