Seit einiger Zeit hatte ich einen Raspberry Pi als MediaPlayer mit Kodi in Verwendung, den ich auch für Server-Backups von A.T.S.P. im Einsatz hatte und auch andere Kleinigkeiten.
Später haben sich ein paar mehr Raspberry Pis angesammelt und da ich schon immer mit dem Gedanken spielte, meine Senseo fernzusteuern, habe ich mal danach gesucht und nun kann ich vom PC und auch vom Smartphone Kaffee machen :D
Ich selber habe leider keine Bilder davon gemacht, wie ich die Kontakte an die Platine gelötet habe. Aber auf dieser Seite und auf dieser Seite, wird genau gezeigt, welche Kontakte man Löten muss.
Allerdings habe ich zusätzlich auch einen Kontakt an die LED gelötet, damit ich prüfen kann, ob die Senseo an ist und noch weiteres, wozu ich später komme.
Somit hatte ich insgesamt 4 Drähte in der Senseo gelötet, Masse, Power-Taste, LED und eine doppelte-Kaffee-Taste.
Das war erst der Anfang… Denn die Programmierung der Scripte zum Steuern der Senseo war eine viel größere Herausforderung, die sehr viel Spaß gemacht hat :D
Nachdem ich ein paar Vorlagen aus dem Internet eingesetzt habe, habe ich schnell angefangen mir selber etwas mit Python zu programmieren. Dies besteht aus zwei Teilen (Github):
Das Display der Tastatur nutze ich für den Status der Senseo und die Tasten für Ein/Aus und Kaffee.
Beide Teile haben noch die Möglichkeit Funksteckdosen zu steuern, wenn ein 433MHz-Sender an dem RPi verbunden ist.
Der Server-Teil läuft als Service und hört die ganze Zeit auf einem bestimmten Port auf TCP-Verbindungen.
Das sind die Möglichen Befehle:
Possible commands:
#cmd device off or on
light <1-4> <0,1>
#cmd do
senseo status # Returns LED status
senseo on-off # Turns either on or off, same command for both
senseo coffee # Does a cup of coffee. If the Senseo is turned off, it turns on and waits till it preheats and does coffee.
#other
cmd xbmc status # service xbmc status
cmd xbmc start # service xbmc start
cmd xbmc stop # service xbmc stop
cmd temp # Shows CPU temperature
cmd hdd sd # Sends all "df -h" output of precoded devices
Vieles davon nutze ich kaum noch, jedoch sind das für alle gute Beispiele eigene Befehle reinzusetzen.
Bei der Senseo hat es mich schon immer gestört darauf zu warten, dass der Boiler geheizt ist, bevor man die Taste für den Kaffee drücken kann.
Mein Script prüft daher anhand der LED ob die Maschine schon an ist (LED in 1.5 Sekunden abstand an) und schaltet die Senseo ein, falls diese aus ist. Wartet bis sie vorgeheizt hat und schickt dann automatisch den Befehl zum Kaffee machen. Wenn die Senseo schon an ist, wird direkt Kaffee gemacht.
Die Senseo ist auch wunderbar steuerbar mit der netIO-App und würde mit allem funktionieren, was TCP-Pakete abschickt und nicht über http.
Somit Funktioniert der Server-Teil ohne besondere Beachtung mit dem Smartphone und mit dem PC.