Home Foren Hardware Stories und Projekte Bad-Controller Python

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 15)
  • Autor
    Beiträge
  • sundriver
    Teilnehmer
    Beitragsanzahl: 150

    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.
    matzidp8
    Teilnehmer
    Beitragsanzahl: 33

    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?

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    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 W6I4

    Für Deinen Zweck reicht bestimmt auch ein Raspberry Pi 3.

    matzidp8
    Teilnehmer
    Beitragsanzahl: 33
    Diese Antwort wurde als privat markiert.
    matzidp8
    Teilnehmer
    Beitragsanzahl: 33

    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ß
    Matthias

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Ein neuer Screenshot zeigt weitere Funktionen …

    Attachments:
    You must be logged in to view attached files.
    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Inzwischen 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.

    astrometeo
    Teilnehmer
    Beitragsanzahl: 4
    Diese Antwort wurde als privat markiert.
    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    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.

    astrometeo
    Teilnehmer
    Beitragsanzahl: 4

    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.
    VG

    astrometeo

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Sorry @astrometeo, dass ich mich erst jetzt melde. Bitte sende mir eine Mail an

    vivid-00-proxies@icloud.com

    Dann bekommst Du einen Link für den source code.

    astrometeo
    Teilnehmer
    Beitragsanzahl: 4

    Hallo sundriver,

    danke habe ich gemacht! von mailbox.org aus mit astrometeo@….

    VG

    astrometeo

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Hallo @astrometeo,

    die Mail scheint nicht bei Dir angekommen. Ich habe es gerade wieder versucht, t-online schickt ein undelivered Mail zurück.

    astrometeo
    Teilnehmer
    Beitragsanzahl: 4

    Hallo sundriver,

    ich starte mal einen zweitern Versuch! Ich habe dir eine zweite E-Mail geschickt an die von dir genannte.

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Hallo astrometeo,schön, dass es jetzt geklappt hat!

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 15)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.