automatisierung ist kompliziert

felix schwenzel, , in notiert    

als meine obsession mit der wohnungsautomatisierung anfing, war der grundgedanke eigentlich ganz simpel: ein paar steckdosen per wlan ein und ausschalten und diese schalter in der home-app meines telefons abbilden. kurz nachdem ich das einigermassen zuverlässig zum laufen gebracht hatte, brodelten neue begehrlichkeiten in mir. ich wollte stecker und (vorhandene) lichter gerne (ein bisschen) automatisieren, optimalerweise mit einem bewegungsmelder. ein problem dabei: die home-app weigerte sich, mir bei diesem vorhaben zur seite zu stehen.

für automatisierung, meint apple, sollte ich mir ein neues apple tv kaufen — oder ein ipad, das aber dann optimalerweise immer zuhause liegen solle. die option, sowas mit der von apple seit vielen jahren stiefmüttlerlich behandleten os-x-server-software, die auch auf unserem mac-mini läuft, ist offenbar nicht vorgesehen.

mittlerweile verstehe ich in ansätzen warum das so ist. automatisierung ist kompliziert — und zwar auf mehreren ebenen. der wichtigste punkt: um einigermassen wirksam zu sein, müssen automatisierungen flexibel und komplex sein. das habe ich beim an sich einfachen vorhaben eines automatischen lichts im flur bemerkt. eigentlich einfach: meldet ein bewegungsmelder bewegung, schalte das licht ein. optimalerweise nur wenn es dunkel ist oder keine anderen lichter brennen. ausserdem sollte das licht nicht ausgehen, solange bewegung im flur detektiert wird. damit ist man aber schon bei potenziell 2-3 parametern: dem status vorhandener lichter, helligkeit (tageszeit oder sonnenstand) und zeit (aktivierungszeitraum, der bei bewegung verlängert wird). man kann die komplexität aber beliebig in die höhe schrauben: was ist wenn niemand zuhause ist und der bewegungsmelder ausschlägt? sollte das licht nachts weniger hell leuchten und zwischen mitternacht und 6 uhr morgens vielleicht auch gleich das badlicht mit einschalten? sollte es für das putzen eine sonderschaltung geben, die heller leuchtet und das licht nicht ständig automatisch ausschaltet? sollte das flurlicht nicht schon angehen, wenn ich nachhause komme und vor der tür stehe?

noch komplizierter wurde es im wohnzimmer, in dem ich einen selbstgebauten bewegungsmelder installierte, vor allem um das nachtlichtproblem zu lösen: wenn ich nachts aufs klo gehen muss, hätte ich gerne ein (bisschen) licht für den weg durchs wohnzimmer. nicht zu viel, nur ein bisschen gedimmtes licht. eigentlich einfach: wenn das wohnzimmer dunkel ist und die sonne untergegangen ist (und nur dann) schalte die stehlampe mit der hue-birne nach detektierter bewegung für 5 minuten auf 20% helligkeit. mit dem homeassistant sind das stolze 24 zeilen code und zwei miteinander verschachtelte scripte:


automation:
  alias: Stube Nachtlicht nachts nach Bewegung anschalten
  trigger:
     - platform: mqtt
       topic: sensor/motion/2
       payload: 'ON'
  condition:
    - condition: state
      entity_id: sun.sun
      state: 'below_horizon'
    - condition: state
      entity_id: light.kugellampe
      state: 'off'
    - condition: state
      entity_id: light.schreibtischlampe
      state: 'off'
  action:
    - service: scene.turn_on
      entity_id: scene.stube_nachtlicht
    - service: switch.turn_on
      entity_id: switch.bad_nachtlicht
    - service: switch.turn_on
      entity_id: switch.flur_nachtlicht
    - service: homeassistant.turn_on
      entity_id: script.kugellampe_set_timeout


script:
  alias: "Timeout für Kugellampe setzen"
  sequence:
    - service: script.turn_off
      data:
         entity_id: script.kugellampe_timeout
    - service: script.turn_on
      data:
        entity_id: script.kugellampe_timeout


script:
  alias: "Kugellampe nach 5 Minuten ausschalten"
  sequence:
    - delay:
        minutes: 5
    - service: notify.notify
      data:
        message: 'kugellampe timer abgelaufen'
    - service: light.turn_off
      entity_id: light.kugellampe

das ergebnis war für mich (eigentlich) sehr befriedigend: nachts, wenn ich die tür zum wohnzimmer aufmache, geht ein gedimmter lichtkorridor vom wohnzimmer ins bad an und nach ein paar minuten wieder aus. jetzt hatte aber die beifahrerin das problem, dass ihre stehlampe morgens, wenn sie sich ins wohnzimmer setzte, nur gedimmt anging, wenn sie ihre hue-lampen einschaltete. ausserdem ging die stehlampe morgens und abends gelegentlich nach 5 minuten einfach aus. also habe ich eine zusätzliche automation geschrieben, die morgens, kurz nach sonnenaufgang, einmal beide wohnzimmerlichter auf 100% helligkeit schaltet und dann wieder ausmacht. diese helligkeit merken sich die hue-lampen und die beifahrerin hat es morgens ausreichend hell. das ausschalten lag daran, dass ich ein szenario übersehen habe: dass jemand das dunkle wohnzimmer nach sonnenuntergang betritt und nicht auf dem weg zum klo ist, sondern im wohnzimmer bleiben will. meine einfache automatisierungsregel oben hat das nicht bedacht, sondern schaltet nach bewegung, nach sonnenuntergang die stehlampe konsequent wieder aus, auch wenn zwischenzeitlich andere lichter eingeschaltet wurden. auch das liess sich mit 8 zeilen zusätzlichem code beheben (bis ein weiteres szenario auftaucht, dass ich auch übersehen habe. was ist zum beispiel, wenn wir gäste haben, die im wohnzimmer schlafen?):


automation:
  alias: 'unset stube kugellampe timer'
  trigger:
  - platform: state
    entity_id: light.schreibtischlampe
    to: 'on'
  action:
    - service: homeassistant.turn_off
      entity_id: script.kugellampe_set_timeout

* * *

die heimautomatisierung ist voll mit solchen beispielen, deren lösung man sich nur langsam anähren kann, durch ausprobieren, nachdenken, beobachten und lernen. entscheidend ist allerdings, dass man das gelernte nach wie vor komplett manuell automatisieren muss. entweder mit einer vom schweineteuren apple-tv-unterstützen apple lösung oder einer open source lösung wie home-assistant oder fhem, openhab, domotics oder sonstigen. nur ist das ergebnis dann eben kein smart home, sondern ein angelerntes heim. je komplexer man die automatiserung konzipiert, desto flexibler wird die steuerung und desto mehr wird der eindruck erweckt, hier sei smartness oder intelligenz am werk. ist es aber nicht. alles was smart homes heute leisten ist aktion, reaktion, kommunikation und fernbedienung.

ich störe mich ganz offensichtlich am begriff smart home. denn der ist wirklich irreführend, ausser man interpretiert ihn so, dass man releativ smart sein muss, um automatisierungen einigermassen befriedigend zum laufen zu bekommen.

ausserdem bin ich mir auch noch nicht ganz sicher, ob ich ein wirklich smartes, also selbstlernendes zuhause überhaupt haben möchte. einerseits weil ansatzweise lernende systeme derzeit, wenn überhaupt, nur über eine cloudanbindung angeboten werden und andererseits weil ich aus eigener erfahrung weiss, wie fehleranfällig das alles sein kann und zu welchen unvorhergesehenen ereignissen und störungen bestimmte regeln potenziell führen. selbst hochpreisige lösungen von philips (und nicht etwa nur billige chinesische importware) haben fehler oder schwachstellen ins system eingebacken, die verherrende folgen haben könnten. von vier fabrikneuen tado-geräten, die ich zum testen erhielt, muss ich mittlerweile genau die hälfte wegen leichter oder schwerwiegender defekte zurückschicken (neben dem defekten heizkörperthermostat, scheint auch die internetbridge defekt zu sein und sporadisch jede lust auf kommunikation zu verlieren). den home-assistent und seinen eigentlich grundsoliden python-code zerfasert es bei jedem zweiten versions-update. manchmal schlagen die bewegungsmelder auch bei luftbewegung aus. manchmal geht unser flurlich an statt aus und nicht an, wenn einer von uns den flur betritt.

trotzdem, auch wenn das alles überhaupt nicht smart ist und ständig nachgesteuert, neugestartet oder nachgebessert werden muss: das macht alles immer noch grossen spass. das nächste projekt auf das ich mich nach weihnachten freue: ein per wlan steuerbarer, per button auslösbarer oder automatisierbarer gong-schlag-mechanismus mit einem schrittmotor (grob nach diesem vorbild). im rahmen dessen werde ich wohl nicht nur ein bisschen elektronik zusammenflanschen müssen, sondern auch entweder ein paar teile 3D-drucken oder CNC-fräsen müssen. dafür habe ich gestern testweise mal das happylab in berlin angeschnüffelt und das sieht alles sehr vielversprechend aus.

* * *

nochmal zurück zu apple, deren automatisierungslösung ich wegen mangel an einem neuen apple-tv oder ipad nicht ausprobieren kann. ich vermute, dass auch die apple lösung automatisierungsprobleme nur in ansätzen befriedigend löst und komplexität einfach aussperrt und deren lösung entweder an die angeschlossenen geräte auslagert — oder auf später verschiebt. aber wer diese nuss, biedienungsfreundliche und trotzdem nicht unterkomplexe oder unsichere heimautomatisierung, lösen kann, der wird sehr, sehr viel geld verdienen. bis dahin bastele ich fröhlich weiter.