was ich in den letzten wochen automatisiert habe

felix schwenzel, , in artikel    

erste seite meines home-assistant web-interfaces

20 tage hab ich wieder nicht ins internet geschrieben. meinem alten ich hätte das schmerzen bereitet, mein aktuelles ich fühlt sich (unter anderem) im home-assistant forum wohl. gelegentlich schreibe ich dort auch was rein, aber derzeit fühle ich mich in meiner freizeit eher dazu hingezogen zu basteln und zu bauen und auszuprobieren, als darüber zu schreiben oder meiner meinung ausdruck zu verleihen.

ab und zu juckt es mich dann doch, wenn ich zum beispiel darüber lese, dass gerade in der innovations- und fortschrittsfeinlichen FAZ eine ode auf den ex-uber-chef travis kalanick erscheint (blendle-link zum FAZ-text). früher hätte ich meinen abend damit verbracht in meiner erinnerung zu kramen und nachzurecherchieren wie die FAZ sich gegen plattformen wehrte und (be)klagte, die sie zitieren und verlinken oder irgendwie zugänglich und sichtbar machen. ich hätte aufgeschrieben wie sie sich jahrelang mit den perlentauchern streitete und alles ver- und beklagte was ihrem vermeintlichen derzeitigen geschäftsmodell widersprach. jetzt denk ich mir nur: ist denen das nicht peinlich, feiern, wenn geschäftmodelle anderer durcheinandergewirbelt werden und heulen, wenn das eigene geschäftsmodell von dritten angepiekst wird? angesichts dieser überdosis ignoranz und mangelndem schamgefühls ignoriere ich die FAZ und ihren käse einfach wieder weiter, statt drüber zu schreiben.

es gibt ja so viel anderes zu recherchieren; python-programmierfragen, dienst-monitoring auf *nix-systemen, wie bekomme ich fehlalarme meiner sensoren in den griff, wie kann ich unseren stromverbrauch über die zeit messen und korrelieren, wie kann ich den unvernetzten fernseher steuern und automatisieren, wie automatisieren andere, was geht?

ein paar bruchstücke von dem, was ich in den letzten wochen rausgefunden habe, habe ich jetzt doch mal kurz zusammengefasst. to whom it may concern.

* * *

die batterie der schlafnuss ist seit heute alle.

schlafnuss batterieverlauf der letzten zwei monate
schlafnuss batterieverlauf der letzten zwei monate

das sense-FAQ sagt:

Die Batterie kann bis zu 12 Monate halten, wenn sie wenig, und bis zu 6 Monate, wenn sie viel in Gebrauch ist.

In einigen Fällen kann die Batterielebensdauer jedoch verringert werden:


  • Wenn der Cookie als Schrittzähler verwendet wird (Walk-App).
  • Wenn der Cookie zu lange an einem kalten Ort verwendet wird (z.B. in der Kühltruhe).

die batterie ist dort wo sie die firma sen.se gerne hätte: in meinem bett. ungefähr zwei monate hat sie dort jetzt gehalten. die app hat mir nicht bescheid gesagt, den graphen habe ich mit daten der API selbst erstellt.

immerhin lässt sich die batterie leicht austauschen. und die schlafnuss funktioniert gut als bett-besetzungssensor, seit ich einfach die temperatur-werte aus der API auslese und mit der zimmertemperatur des schlafzimmers vergleiche. ist die temperatur der nuss 5° höher die umgebungstemperatur, bin ich im bett.

präsenz-sensorik ist ja das A und O der heimautomatisierung. will ich irgendwas automatisieren, muss ich zuerst wissen, ob überhaupt jemand zuhause ist, weggeht oder kommt.

auf der zweiten ebene ist es wichtig zu erfahren ob jemand in einem bestimmten raum ist, um daraus automatisierungen abzuleiten. klassische bewegungssensoren helfen da schon ganz gut, bis auf den nachteil, dass man sich auch in einem raum aufhalten kann, ohne sich zu bewegen. da kommen infrarot-basierte sensoren schnell an ihre grenzen, weil sie nur gröbere bewegungen im raum wahrnehmen, nicht aber bewegungen, die man klassischerweise auf dem sofa oder am tisch macht. für dieses problem habe ich kürzlich, per zufall, eine stark verbesserte lösung gefunden. dazu weiter unten mehr.

ausserdem kann man sich in einem raum aufhalten, ohne sich zu bewegen, zum beispiel, wenn man schläft. dieses problem löst, jedenfalls für mein bett, die sense sleep peanut ganz gut. als schlafqualitätssensor, als das das marketing die nuss anpreist, ist sie leider völlig ungeeignet. die werte die sich die sense-cloud aus den aggregierten bewegungs- und temperaturdaten der nuss zusammenreimt (die meine schlafnuss sendet) sind zu 80% humbug. stehe ich morgens gut erholt und ausgeschlafen auf, erfahre ich von der schlafanalyse, dass ich miserabel geschlafen hätte. lege ich mich um sechs uhr abends kurz zum lesen ins bett, erfahre ich am nächsten morgen, dass ich 12 stunden geschlafen hätte, davon sechs stunden, von halb sieben bis nach mitternacht in bewegungslosen tiefschlaf — dabei sass ich die ganze zeit hellwach an meinem laptop oder am küchentisch.

auch wenn die marketingversprechen der sense schlafnuss für die katz sind, als bett-thermometer und damit temperatur-basierter anwesenheitssensor, funktioniert sie prima, auch wenn ich mir ein etwas längeres batterieleben wünschen würde.

* * *

vor ein paar wochen las ich im home-assistant-forum von „radar“-sensoren, die bei ali-express weniger als 50 cent kosteten. für 90 cent kaufte ich mir 5 stück, auch wenn es berichte über falsche alarme der sensoren gab. auf github hatte jemand die spezifikationen zusammengetragen und grundsätzlich hörte sich das alles sehr vielversprechend an. auch der youtuber andreas spiess kam zu einem positiven urteil. seine tests zeigten, dass die dinger auch durch wände und tischplatten funktionierten, durch glas weniger und über eine distanz von drei bis vier metern auch kleinste bewegungen wahrnahmen.

als meine RCWL-0516-sensoren ankamen, habe ich sofort versucht den PIR-sensor im bad zu ersetzen. der funktionierte grundsätzlich gut und erfasste von der decke aus alle bewegungen im bad. leider hielt er konstruktionsbedingt in der heizperiode auch öfter die heizungsluft für meldungswert, was zu einigen falschen alarmen führte und unnötigem (automatischen) lichteinschalten im bad. ich hatte versucht das problem mit einschränkungen des sichtfelds in den griff zu bekommen, aber so richtig befriedigend war das nie.

der RCWL-0516 liess sich leicht anschliessen, genau wie der PIR-sensor: 5 volt, erde und datenleitung. die empfindlichkeit des „radar“-sensors war erstaunlich. von der abgehängten decke des badezimmers (auf der nicht sichtbaren seite platziert), erfasste er nicht nur bewegungen im bad, sondern auch in der küche. die wand zur küche ist tatsächlich eher dünn, so um die 10 zentimeter. erstaunlicherweise erfasste er aber auch bewegungen im hausflur, also im treppenhaus. und das ist immerhin durch eine 40 zentimeter dicke altbauwand vom badezimmer getrennt. auch unseren wohnungsflur erfasste der bewegungsmelder — durch die geschlossene badezimmertür.

durch positionsänderungen und ein paar lagen alufolie im sichtfeld des sensors liessen sich die erfassung der küche und des wohnungsflurs verhindern. aber der hausflur nicht.

zuerst baute ich mir einen relativ eleganten false-positives-filter, der bewegungen im bad nur gelten liess, wenn vorher auch eine bewegung im flur registriert wurde. dann fiel mir durch einen hinweis meines lieblingsadmins das gute alte motto RTFM ein; hier stand es doch:

The default detection range is 7m, adding a 1M resistor reduces it to 5m

durch auflöten eines 1 megaohm widerstands auf die PINs R-GN liess sich die empfindlichkeit reduzieren. das funktionierte tatsächlich sehr gut! jetzt erfasst der RCWL-0516 wirklich jede kleinste bewegung im bad (und nur dort), so dass die regel für das badlicht jetzt lautet: nach 3 minuten ohne bewegung: licht aus! vorher musste ich diese zeit auf mindestens 10 minuten stellen, weil es durchaus sein konnte, dass der bewegungsmelder beim auf-dem-klo-sitzen oder duschen nichts sah und nichts meldete.

das gleiche gilt für unser neues, ehemaliges kinderzimmer. dort war ein infrarot-basierter bewegungssensor mehr oder weniger direkt auf das lieblingsplätzchen der beifahrerin gerichtet. wenn sie dort auf dem sofa sass, registrierte der klassische PIR-sensor — nichts. der neue radar sensor schlägt jetzt alle 5 bis 20 sekunden an, bei kleinsten hand-, kopf- oder fussbewegungen. einziger nachteil: er reicht nicht weiter als 4 meter. weil das ehemalige kinderzimmer aber etwas über 5 meter breit ist, reicht der sensor also nicht ganz bis zum fenster. dafür erfasst er mich, wenn ich nebenan, in der flur-kammer, auf die leiter steige. durch eine 50 zentimeter dicke wand.

* * *

nachdem ich zu weihnachten meine erste tradfri-lampe bekommen hatte (und super zufrieden mit ihr war), habe ich mittlerweile 5 weitere birnen und den gateway dazu bekommen. kurz nach dem erscheinen des gateways hat die home-assistant-entwicklergemeinschaft bereits eine erste, gut funktionierende integration hinbekommen. der integration fehlt zwar noch ein wichtiges detail, die integration der push-fähigkeit des gateways, weshalb es bis zu 30 sekunden dauern kann, dass home-assistant bemerkt das eine lampe eingeschaltet wurde, wenn sie nicht vom home-assistant selbst geschaltet wurde. aber das ist bei der HUE-integration genauso: auch die HUE-lampen müssen „gepollt“, also alle x sekunden nach deren status abgefragt werden.

die tradfries lassen sich derzeit über drei methoden schalten: über den stromkreis, also mit klassischen lichtschaltern, die ikea-steuergeräte und die API, also über die ikea-app oder eben home-assistant (oder andere heimautomtisierungslösungen). das schalten über klassische, unvernetzte lichtschalter hat IKEA sehr viel besser gelöst als philips. nimmt man einer HUE-lampe die stromversorgung weg und schaltet sie später wieder ein, geht sie in der standardeinstellung wieder an, das heisst mit 100% helligkeit und warmweisser lichtfarbe. die tradfris merken sich ihre vorherige einstellung, auch über tage hinweg. damit sind sie auch im unvernetzten zustand, ohne hub, sehr gut nutzbar: man stellt einfach die lichtfarbe und helligkeit die man gerne hat ein und schaltet sie dann mit dem klassischen lichtschalter ein und aus.

in kombination mit einer haussteuerungssoftware ist das allerdings viel eleganter. in unserem badezimmer habe ich es nicht geschafft den lichtschalter (wie in der küche) fernsteuerbar zu machen, zum beispiel mit einem gerät wie diesem. die zwei vorhandenen schalter schalten jeweils eine birne ein und aus. das führt dazu, dass das licht manchmal an bleibt, weil jemand vergisst es auszuschalten. mit einem helligkeitssensor kann ich das sehen und warnungen aufs handy schicken — aber bisher nicht agieren. seit im bad vernetzte tradfris hängen und ich einen zuverlässigen präsenzsensor habe, kann ich sie jetzt einfach (nach drei minuten inaktivität) ausschalten. betritt jemand das bad, geht wieder alles an. sind alle lichtschalter aus, geht beim betreten des bads nur das nachtlicht an, dass sich auch nur automatisiert schalten lässt.

ich bin mit dieser lösung aus drei gründen sehr zufrieden:

  • alles funktioniert wie früher™ schalterbasiert
  • geht man ins bad, ist es nie dunkel, egal ob man einen schalter bedient oder nicht
  • das licht ist nie länger an als nötig

sehr faszinierend ist auch der ikea dimmer. der ist magnetisch und befindet sich eigentlich in einer (magnetischen) platikschale die man ankleben oder festschrauben kann. ohne schale lässt sich der dimmer aber auch auf metallflächen setzen und reagiert durch zauberei (wahrscheinlich) auf einfaches drehen. ein einteiliger plastikknopf, an dem man einfach drehen kann und die helligkeit verändern kann. grossartig!

* * *

alexa-situation auf unserem küchentisch
alexa-situation auf unserem küchentisch

seit dem 15 märz haben wir alexa in der küche. im januar war ich noch sehr skeptisch, eigentlich auch noch im märz: ich ging fest davon aus, alexa, bzw. den echo-dot scheisse zu finden. aber nicht nur der pupsgenerator hat mich umgestimmt. das ding ist wirklich praktisch und es funktioniert. egal ob ich nuschle, nebenan auf dem klo sitze oder stottere, weil ich vergessen habe, was ich sagen wollte; alexa versteht mich fast immer. in der küche irre praktisch: timer auf zuruf setzen. noch praktischer, die küchen-tradfri-lampen auf zuruf vom eher gemütlichem, gedimmten licht zu einem hellen, blau-weissen arbeitslicht machen. endlich fragt mich die beifahrein nicht mehr morgens wie das wetter wird (woher soll ich das wissen?), sondern alexa (die es immer weiss und die frage auch wiederholt freundlich beantwortet).

tatsächlich ist es das auch schon beinahe, warum ich alexa mag: licht an, aus und umschalten, timer zum kochen setzen, wetteransagen und der pupsgenerator. gelegentlich rufe ich ihr zu: „alexa öffne bring und füge milch hinzu“, aber weil das ein so langer satz ist, tippe ich unsere einkäufe dann doch meist lieber direkt in die bring-app.

viel später als erwartet, kann nun auch unsere fireTV-kiste alexa-kunststückchen, einfach indem man „fernsehlicht an“ oder „aktivieren an“ für helleres licht in die fernbedienung spricht. auch die fernseh-alexa kann wetterberichte vortragen, aber irgendwie benutzten wir sie dort überhaupt nicht. in der küche dagegen ständig.

* * *

apropos fernsehen. wir haben uns vor ein paar jahren bewusst gegen einen „smarten“ fernseher entschieden. die fernseher von samsung haben ja einen ganz guten ruf, aber als ich mir die sogenannten smart-tv-funktionen mal näher ansah, konnte ich angesichts der grässlichen umsetzung und bedienbarkeit nur die hände überm kopf zusammenschlagen. was ich dann später im internet las, bestätigte meine vorurteile:

der nachteil eines unsmarten fernsehers, zumindest unseres: auch die fernbedienbarkeit (über http oder HDMI) fällt weg. das ding lässt sich nur mit der infrarot-fernbedienung ein- und umschalten. unser neuer yamaha receiver und das fireTV hingegen lassen sich prima automatisieren. wenn das fireTV mit einem tastendruck auf der fernbedienung aufgeweckt wird, kann ich mit dem home-assistant den receiver einschalten und den richtigen eingang wählen und umgekehrt, wenn der receiver mit HDMI als quelle eingeschaltet wird, kann ich das fireTV wecken.

ein smart-TV liesse sich dann per http ebenfalls einfach einschalten und auf den passenden eingang umschalten. mit dem unvernetzen fernseher musste ich improvisieren: als übergangslösung schaltete ich den fernseher über eine fernsteuerbare steckdose. wenn der fernseher läuft und man ihm den strom nimmt, geht er wieder an, sobald er wieder strom bekommt. wurde er vorher ausgeschaltet, bleibt er auch aus.

das wollte ich ändern, zuerst mit einer selbstbaulösung auf arduino-, bzw. node-MCU-basis mit einer IR-diode und der entsprechenden software. grundsätzlich funktionierte das auch, aber irgendwie habe ich die sendeleistung nie auf richtig gute werte bekommen. nach ein paar stunden experimetieren entschied ich mich 20 euro auszugeben, für einen broadlink RM mini. das ist ein infrarot-signal sender der sich per app bedienen lässt und für den es auch eine home-assistant integration gibt.

so siehts bei uns uns hinter und unter dem fernseher aus
broadlink rm mini hinter und unter dem fernseher

die einrichtung des broadlink selbst war etwas fummelig, aber die integration in den home-assistant ging gut. was dann wieder ein bisschen fummelig war: die richtigen codes finden. den fernseher wollte ich ein und ausschalten und die eingabe zwischen kabelfernseh- und dem HDMI-eingang hin und herschalten können. letztere codes waren mit der anlernfunktion recht einfach zu bekommen, bzw. im netz und home-assistant-forum zu finden. das ein/ausschalten war komplizierter. ich wollte ja konkrete codes haben, nicht den quatsch-button auf der fernbedienung der den fernseher je nach status an oder ausschaltete („toggle“). ich brauchte codes, mit denen ich den fernseher sicher einschalten konnte, auch wenn der code mehrfach gesendet würde. im forum fand ich einen, der den fernsehr zuverlässig einschaltete, allerdings immer mit der kabelfernseh-quelle, statt der vorher gewählten quelle.

das netz, die foren sind voll mit gut dokumentierten fernbedienungscodes aller hersteller, auch die samsung-fernseher nutzen wohl seit vielen jahren immer die gleichen codes. nur liegen diese codes mal hexadezimal vor, mal base64 encodiert. die kann man zwar konvertieren, aber das klappt aus unerfindlichen gründen nie so wie ich mir das denke. irgendwas ist ja immer.

was mir am ende half war ausprobieren mit hilfe der „SURE Universal Smart TV Remote“-app. die ist vollgeladen mit code-datenbanken für alle möglichen geräte und dort fand ich dann auch einen konkreten code der den fernseher immer einschaltete und die eingangsquelle auf dem vorherigen wert beliess und den ich mit der lernfunktion abgreifen konnte.

das letzte problem war dann aber immer noch das timing. falls ich den eingabekanal des fernsehers doch setzen möchte, muss ich nach dem einschalzten mindestens sieben sekunden warten, bevor ich den befehl zum umschalten sende, sonst wird er ignoriert.

grundsätzlich ist das fernbedienungschaos jetzt etwas geklärt: mit dem receiver können wir fireTV und fernseher gemeinsam ein- und ausschalten, zum kabelfernsehen lässt sich jetzt auch mit einem tastendruck umschalten, wird eins der geräte ausgeschaltet, schalten sich auch die anderen geräte aus, bzw. in den ruhezustand. das beste sind aber immer noch die beiden wandschalter, mit denen sich alles (im wohnzimmer) ausschalten lässt. mit einem schalterdruck.

* * *

plex läuft schon seit ein paar jahren bei uns auf einem mac mini und serviert unseren laptops und dem fernseher filme und serien die gerippt oder uns zugelaufen sind und nicht bei amazon-prime oder netflix laufen. das macht plex sehr gut und zuverlässig, vor allem ist es enorm hilfreich dabei, einen überblick darüber zu behalten was man schon gesehen hat, was man angefangen hat und weitergucken könnte. seit ein paar monaten experiemntiert plex mit einer DVR-, also einer „digital video recorder“-funktion. seit anfang juni soll das auch in deutschland funktionieren. zu den unterstützen geräten gehört seitdem auch der in eurpa erhältliche DVB-C/T/T2-stick tvbutler dazu. den kann man für €59 euro beim hersteller oder bei amazon kaufen. ich habe ihn anfang des monats noch für 50 euro gekauft (plus 7 euro versandkosten). mit softwarelizenzen kostet das ding ungefähr 50 euro mehr, aber weil ich das ding ja mit plex betrieben wollte, brauchte ich die software von dvblogic nicht.

den stick habe ich auf der einen seite mit unserem fernsehkabel verbunden (das dankenswerterweise einen verteiler in der abgehängten flurdecke hat, in den ich mich einschleifen konnte), auf der anderen seite in den mac mini gesteckt. tatsächlich erkannte plex den stick und liess ihn mich konfigurieren. der sendersuchlauf, die kanalzuordnung waren etwas mühsam und intransparent, aber ehrlichgesagt war ich erstaunt dass diese amerikanische software dann tatsächlich mit dem deutschen kabelnetz und deutschen sendern zurechtkam.

was ich partout nicht hinbekam war RTL. es erschien lediglich als verschlüsselter HD-kanal, aber die SD-variante die auch über unser kabel kommt, wollten weder plex noch der tvbutler erkennen oder anzeigen. SAT1, PRO7 und VOX waren alle (in der SD-version) da, auch die anderen schrottabladestationen von RTL, nur der einzige privatsender den ich alle paar wochen mal einschalte um formel1 zu gucken und dabei einzuschlafen, den bekam ich nicht rein.

nachdem ich mir aus den 300 sendern, die der sendersuchlauf fand, 27 rausgepickt hatte von denen ich mir vorstellen konnte mal was sehen zu wollen, zog sich plex einiges an EPG-sendungsdaten aus dem netz. daraus baut plex eine liste mit sendungen, die es mir zur aufnahme anbietet.

plex dvr program guide
plex dvr program guide

eine senderübersicht gibts nicht, ich kann mir aber ansehen was gerade läuft und somit quasi eine senderübersicht bekommen.

plex DVR program guide — was gerade so läuft
plex DVR program guide — was gerade so läuft

die EPG-, bzw. sendungs-daten reichen ein paar tage voraus, dass heisst ich kann sendungen zwei wochen im voraus über die plex-suchfunktion finden. eine sendung wie kitchen impossible, die derzeit und in den nächsten paar wochen wohl nicht läuft, kann ich deshalb auch nicht im voraus programmieren. die sendung mit der maus habe ich natürlich als erstes programmiert und die aufnahme funktioniert auch sehr gut. jetzt kann ich sie endlich gucken wo ich will und auch mal länger als zwei wochen vergessen zu gucken, ohne dass sie dann depubliziert wird.

live-tv geht derzeit nur in der plex-app auf handys. sobald das auch in der fireTV- oder appleTV-app funktioniert, dürfte plex eine ernstzunehmende konkurenz für apps wie zattoo oder magine sein, auch wenn die zugegebenermassen leichter zu konfigurieren sind und gegen bezahlung auch die privatsender in HD wiedergeben. zattoo zeigt die privatsender überhaupt nur gegen bezahlung, mit plex und seiner DVR-/liveTV-funktion bekommt man die privatsender immerhin in SD auch (quasi) umsonst, jedenfalls ohne abo-gedöns. ob RTL sich technisch gegen meinen TV-stick wehrt oder ich zu blöd bin, finde ich auch noch irgendwann raus.