ikea växer woche 7

felix schwenzel, , in artikel    

kohl, mangold und salat nach jeweils 7 wochen

der mangold hat jetzt dank ein paar zahnstochern halt gefunden und spriesst so wie ich das gerne habe. ein paar blätter habe ich schon abgeerntet und er lässt immer wieder neue blätter nachwachsen. parallel habe ich drei weitere mangold-samen angesetzt, denen ich in der steinwolle jetzt ein bisschen halt gegeben habe, damit ich sie später nicht wieder stützen muss. nur leider zeigen sich auch nach 2 wochen noch keine triebe. mal schauen.

aus der ersten runde ist auch noch der spitzkohl da, der zwar auch spriesst, aber noch nicht so richtig in die höhe. dem muss ich nochmal ein paar wochen geben. und der salat, der es am anfang langsam angehen liess und jetzt ganz gut wächst, kann auch noch 2-5 wochen vertragen.

unterste etage mit salat in jogurt-eimern und einem supermarkt-basilikum

salat möchte ich wegen des platzbedarfs jetzt aber in eimern ziehen. dafür fülle ich joghurt-eimer mit nährlösung, in die gitter-wuchsbecher fülle ich neben den steinwolle-anzuchtmedien blähton und ein bisschen bims und spare mir den umweg über separates samen-anziehen. die samen kommen gleich rein. das scheint ganz gut zu funktionieren und ich hoffe, dass die salate, wenn sie den eimer ausgetrunken haben, erntereif sind. hier wachsen neben einem kopfsalat noch rauke und endiven-salat.

der supermarkt-basilikum, der uns auf der fensterbank immer innerhalb von 3 tagen eingeht, gedeiht im LED-licht und mit nährlösung bestens. ich habe schon mehrfach kräftig geerntet, aber er wächst und wächst und wächst. und duftet.

oberste etage mit salat, pak choi, einem ahorn-setzling und hofffentlich bald keimenden mangoldsamen

in der oberen etage sind auch nochmal 4 salate denen es schon nach 3 wochen wieder zu eng wird und 4 mal pak choi, die aber wieder nichts zu werden scheinen. ausserdem steht da noch ein ahorn (glaube ich) setzling, den ich vor drei wochen von einem waldweg aufgelesen habe. der wächst gut, scheint sich aber nicht 100% wohl in der nährlösung zu fühlen. der kommt dann wahrscheinlich bald auf den balkon, in erde. rechts ist mein versuch zu sehen, drei mangold-samen zum keimen zu bewegen.

rauke, salat und verschiedene selbstgezogene basilikum-setzlinge

unten nochmal salate. hinten rauke, die sich sehr wohl zu fühlen scheint und schon irre lange wurzeln ausgebildet hat, davor nochmal der langsam wachsende kopfsalat. ganz vorne drei sorten basilikum, zwei oder drei von ikea, und ein genoveser basilikum, aus samen, die die beifahrerin vor jahren mal gekauft hat. der genoveser basilikum wächst auch irre langsam (ich glaube die ersten keime kamen vor 6 wochen), aber stetig und kräftige wurzeln hat er auch schon.

wachstumsregal in unserer speisekammer

die gesamtsituation mit dem speisekammer garten ist befriedigend: fast alles wächst so wie ich es mir erhofft habe. meine erwartung, dass das system idiotensicher ist, hat sich leider nicht erfüllt. es gibt immer noch wahnsinnig viele variablen, die das an- und aufziehen unberechenbar machen. völlig unverständlich, warum der pak choi hier nicht wachsen will und warum der mangold sich mit dem keimen so schwer tut. auch das gelegentlich auftauchen von algen ist frustrierend, auch weil ich fürchte, dass sie sich irgendwann mit schimmel zusammentun. den wasserstand niedrig zu halten scheint die feuchte des bims niedrig zu halten — und damit auch das algenwachstum. aber auch der blähton in den eimern ist zur zeit noch gut feucht, wahrscheinlich bis der pegel der nährflüssigkeit unter die wurzelkörbchen abgesunken ist. aber bis die wurzeln lang genug sind, muss der wasserstand ja entsprechend hoch sein.

auch ein bisschen enttäuschend finde ich, dass die gewächse nicht wie versprochen nach 7 wochen — bäm — da sind, sondern offensichtlich teilweise noch sehr viel länger ihre ruhe brauchen. aber ich glaube das groovt sich in den nächsten monaten ganz gut ein.

klo-sensor

felix schwenzel, in artikel    

seit langem wollte ich einen sensor bauen, der ein grosses geschäft im bad anzeigt und entsprechend agiert, zum beispiel den lüfter einschaltet. alle lösungen die mir über die jahre einfielen fanden nicht den gefallen der beifahrerin — zu recht, weil meistens zu unhygienisch. zum beispiel der bewegungsmelder hinter der kloschüssel, der „gesehen“ hat, wenn man nach der klbürste greift. auch druck-schalter oder -sensoren im oder am klodeckel kamen nicht in frage.

donnerstag kam dann eine bestellung aus china an, die die lösung versprach: ein VL53L1X-sensor, der abstandsmessung bis zu 4 meter entfernung auf den millimeter genau vornehmen könnte. der hängt jetzt an der decke über dem klo und schafft es tatsächlich ganz gut das klo zu vermessen. so gut, dass er den unterschied messen kann, ob der klodeckel offen oder zu ist, ob die klobrille hochgeklappt ist oder ob jemand drauf sitzt — alles über abstandsmessung von der decke aus.

sitzt jemand länger als andertalb minuten auf dem klo, geht der lüfter an, jemand der es 10 minuten lang schafft, bekommt einen belohnungs-tusch vorgespielt.

klo-sensor

leider lässt sich der sensor von wasserdampf aus dem tritt bringen, also zum beispiel beim duschen. diese falschen werte lassen sich aber gut ausfiltern, misst der sensor 5 mm abstand von der decke zum klo ist klar, dass eine falschmessung vorliegt. ab und an stellt der sensor seine kontinuierlichen messungen ein. das meldet die bibliothek, die die werte des VL53L1X-sensor ausliest aber freundlicherweise, so dass ich den arduino neustarten kann, der mir die messwerte in die heimautomatisierung funkt.

speise- und wachskammer

felix schwenzel, in artikel    

weil jemand gefragt hat, hier ein paar worte zu meinem gemüse und kräuterprojekt in der speisekammer (#växer). vor vier wochen hatte ich die pläne ja schonmal beschrieben, mittlerweile habe ich mehr wachstumslampen aus china und deutschland geliefert bekommen. zwei von diesen und um die wartezeit zu verkürzen auch noch die 30 watt-variante dieser lampe, die ich zwar bei aliexpress bestellt habe, die aber aus deutschland, innerhalb von 2 tagen geliefert wurde.

die chinesischen lampen haben als leistung 30 watt und 25 watt angegeben, die ikealampen verbrauchen im monat nach angaben von ikea 4,8 kWh, also ca. 11 watt. eine strommesssteckdose misst beim einsatz der derzeit drei lampen (25+30+11) allerdings nur 34 watt. soll mir recht sein.

in der mitte die vier wochen alten setzlinge, oben, seit anderthalb wochen verschiedene basilikumsor

auf dem foto erkennt man, dass die ikea-lampe sehr viel weisses/gelbes licht beigemischt hat, die untere chinesische hat auch ein bisschen weiss beigemischt und die obere chinesische hat kaum weiss (herstellerangaben: 47 rote, 19 blaue, 3 UV, 3 IR und 3 weisse LEDs).

wie sich die verschiedenen varianten auf das wachsverhalten auswirken kann ich nicht sagen, aber die ikea-version funktioniert auf jeden fall, wenn man sich den irren salat ansieht.

der pak choi hat aufgegeben, der eine salat macht das, was ich eigentlich von allen teilnehmern erwa

etwas enttäuscht bin ich von der mangelnden idiotensicherheit des ikea systems. seit zwei wochen wird das bimsstein-substrat, in dem die pflanzen halt und feuchte finden sollen von algen heimgesucht. nur der irre salat nicht, weil er den algen das licht nimmt. ich bekämpfe die algen mit einer stark verdünnten wasserstoffperoxid-lösung (3%), was ein bisschen hilft und hofentlich auch pilzbefall verhindert, von dem viele andere växer-nutzer berichten.

auch die ikea-samenauswahl kommt mir nach dem ersten versuch nur so mittel vor. gerade die am erfolgreichsten aufgehende pflanze habe ich als samen auf gut glück im baumarkt gekauft. die pak chois verkümmerten nach zwei wochen, eventuell wegen des algenbefalls, der magold ist nach wie vor sehr haltlos. dafür macht sich der weisskohl ganz gut.

beim zweiten satz sprösslinge (oben), habe ich neben dünger auch noch ein bisschen wasserstoffperoxid in das wasser gemischt (8 ml auf 1,5 liter). das soll nicht nur gegen algen und pilze helfen, sondern auch die sauerstofversorgung der wurzeln verbessern. verschiedenen düngemitteln ist wohl auch h₂o₂ beigemischt.

beim dritten satz, heute ausgesäät, versuche ich dem pak choi nochmal eine chance zu geben. in den ersten 1,5 wochen ist der zuletzt eigentlich mustergültig abgegangen.

in einer woche nehme ich dann für den dritten satz setzlinge die vierte lampe in betrieb und sääe dann vielleicht auch nochmal mangold aus, den ich vorher im steinwolle-anzuchtmedium festklemme (für den halt). in spätestens vier wochen steht dann die erste ernte an und theoretisch darauf folgend knapp jede weitere woche. bin ix mal gespannt.

hydrokultur (dank LEDs besser als in den 80ern)

felix schwenzel, in artikel    

der kleinste raum unserer wohnung hat jetzt die meisten möbel

seit ein paar tagen nervt mich die beifahrerin mit der täglichen frage: „was wünschst du dir denn zum geburtstag?“ ich sag dann immer: „ich hab alles“, weil ich alles habe. selbst in sachen technischer spielereien hab ich gerade nicht das gefühl, dass mir etwas fehlt. die hausautomatisierung fühlt sich gerätemässig abgeschlossen an; alle lampen in der wohnung lassen sich fernsteuern und selbst die sensoren unserer zahnbürsten erfasse und werte ich aus.

vor ein paar tagen notierte ich mir „vertikaler garten“. ich dachte: wäre doch schön, wenn wir nicht immer kräuter kaufen müssten und die basilikum-töpfchen die wir ab und an kaufen nicht wegen nährstoff- und licht mangel nach wenigen tagen eingehen. mit LED wachstumslichtern haben wir seit ein paar monaten ganz gute erfahrungen gesammelt. ich habe ich china drei LED-leuchten gekauft, weil unsere zimmerpflanzen in unserer wohnung wirklich kaum sonnenlicht abbekommen.

die wachstums-leds leuchten tagsüber für 10 stunden, abends und nachts sind sie aus. hier wurde die led nur fürs foto angeschaltet.

ich schalte die wachstumslichter täglich automatisch ür ca. 10 stunden ein und ich habe das gefühl, dass es ihnen damit um ein vielfaches besser geht. die kosten halten sich dank super sparsamer LEDs auch in grenzen.

ich erinnerte mich bei ikea diese etwas schrottig anmutenden innengärten gesehen zu haben, die es mittlerweile auch zweistöckig und dreistöckig gibt (die dreistöckige variante wird in deutschland allerdings nicht verkaufft). die ikea-werbung machte jedenfalls appetit und auch detlef römisch war in einigen seiner „dauerwerbesendungen“ ganz angetan vom växer-system.

als ich dieses video der beifahrerin zeigte, fragte sie: „ist das nicht ikea-werbung?“ mir war das aber egal, weil der kohl und der mangold, den man dort sehen konnte, sahen wirklich gut aus.

seven cooks

also sagte ich der beifahrerin, dass ich mir dieses set wünschte. das passt auf die fensterbank in der küche und ich hatte das gefühl, dass das versprechen von ikea, dass das ein getestetes, idiotensicheres system sei, kein reines und leeres werbeversprechen war.

växer anzucht set für 130 euro

trotzdem versuchte ch noch ein bisschen weiter zu recherchieren. in china kann man solche sets auch kaufen, erstaunlicherweise gar nicht mal so günstig wie ich es erwartet hätte. irritierender weise wurden die meisten sets dort mit einer luft-pumpe angeboten, die dem wasser, bzw. der nährlösung der hydrokulturen luftbläschen zuführte. das fand ich komisch und eigentlich hätte ich es lieber, dass mein innengarten ruhig vor sich hinwächst, ohne zu brummen.

dann hab ich mich im kanal des migardeners festgesehen.

in diesem video zeigt der migardener, dass er statt fertiggeräten aus china oder von ikea, sich alles selbst baut und — wichtiger noch — auch das mysterium der luftzufuhr erklärt. seine wuchscontainer (und ikeas system) funktionieren nämlich nach der kratky-methode von bernhard kratky der an der universität von hawai forscht und dessen nicht zirkulierende hydroponische aufzucht-methode auch ohne sauerstoffzufuhr in die nährstofflösung funktioniert. wenn ich es richtuig verstanden habe, ist der entscheidende punkt, dass die wurzeln der pflanzen nicht komplett im wasser stehen, sondern zum teil auch in der luft. ausserdem ist die methode auch nur für schnellwachsende pflanzen, bzw. kürzere anzuchtperioden geeignet, danach wird die nähstofflösung ausgetauscht und eben auch neue pflanzen angezogen.

hier nochmal die video des migardener zum thema, in chronlogischer reihenfolge:

das erntevideo hat mich (und die beifahrerin) dann umgehauen. solche salatköpfe in sechs wochen? das wäre was, wenn das funktionieren würde!

„hydroponic lettuce harvest“

nach den video vom migardener war ich plötzlich wieder ganz weit weg vom ikea-system, nach weiterer recherche und nachdenken kam ich da aber wieder an. denn statt mir selbst lichtdichte plastikbehälter zu kaufen, die deckel aufzubohren, fand ich es dann doch effektiver, mir die container, inklusive netzbechern, deckeln (wichtig, damit kein licht durch unbesetzte pflanzöfnungen in die nährlösung kommt und da algenwachstum anregt) für vier euro zu kaufen.

und statt des ikea-gehäuses, entschied ich mich für ein ikea-regal, in dem ich dann, wenn ich wollte, gleich vier (oder fünf) container parallel bespielen könnte. und statt das alles vor das küchenfenster zu stellen, fand ich einen idealen platz in unserem kleinsten raum: der kammer. dort herschen im winter zwar etwas tiefere temperaturen (16 bis 18 grad), aber gerade salat scheint das laut internet nicht allzu viel auszumachen.

der kleinste raum unserer wohnung hat jetzt die meisten möbel

bei ikea habe ich zwei pflanzschalen gekauft (8,00 €), für die samen-anzucht hatten wir bereits einen setzling-container, eine wachstumslampe (35,00 €) und ein ivar regal (43,00 €), steinwolle für die setzlinge, bimsstein für pflanzkörbchen, dünger und ein paar ikea-samen (17,00 €). in china hab ich mir nochmal zwei wachstumslampen gekauft (29,00 €) was dann einen geburtstagsgeschenkpreis von 124,00 euro macht und hoffentlich demnächst für viel salat sorgt.

angesagt bin ich offenbar nicht, hab aber trotzdem ein highlicht

felix schwenzel, , in artikel    

digitalzimmer.de hat angesagte Blogger-Kollegen gefragt, welche Produkte oder Trends sie in den vergangenen zwölf Monaten besonders beeindruckt haben.

ich wurde nicht gefragt, bin also in der digitalzimmerwelt nicht angesagt. das hat den vorteil, dass ich ohne einschränkungen trotzdem meinen senf abgeben kann und mich vor allem nicht wie die „blogger-kollegen“ an „highlights“ und „trends“ halten muss, die man einfach im laden kaufen kann. meine highlights bestehen nämlich (quasi) aus bausätzen.

* * *

felix schwenzel

felix schwenzel ist gründer des kraut- und rüben-blogs wirres.net. vor zwei jahren hat er begonnen funksteckdosen zu vernetzen und funksensoren zu bauen. auf der suche nach wegen seine vernetzten geräte zu automatisieren, stiess er auf home-assistant und verwaltet damit jetzt fast alle leuchten in seiner wohnung, um die 50 sensoren und gefühlt 600 automatisierungen.

vor einem jahr habe ich mit amazons alexa die freuden der sprachsteuerung entdeckt. meine wirklich grosse freude über funktionierende spracherkennung und die möglichkeit sowohl unsinn als auch sinnvolles per sprache zu steuern, wurde allerdings dadurch getrübt, dass es unglaublich viele restriktionen bei der anpassung an unsere bedürfnisse gab und gibt. weder ich noch die beifahrerin können uns die teils komplizierten, erforderlichen satzkonstruktionen merken („öffne bring und füge joghurt zur einkaufliste hinzu“). die mangelnde kontrolle, das nagende unwohlsein einen lauschsprecher in der küche zu haben, der alle möglichen daten und audioschnipsel in amazons silos speichert, hat schliesslich dazu geführt, dass ich mit snips experimentieren wollte.

das experiment stellte sich als arbeitsintensiv, aber für meine bedürfnisse besser geeignet als de amazon-cloud-lösung heraus. snips ist deshalb mein highlight des jahres 2018, weil ich endlich natürlich und personalisiert mit meinen vernetzten lichtern, aktoren und sensoren reden kann. um szenen zu aktivieren brauche ich nicht zu sagen „aktiviere entspannung“, sondern kann sätze sagen wie: „ich möchte fernsehen“ (dimmt das licht im aktuellen raum), „katia möchte im kinderzimmer lesen“ (aktiviert die szene „lesen“ im kinderzimmer), „katia möchte fernsehen“ (erkennt dass es sich um den raum „stube“ handelt und schaltet neben gedimmten licht auch gleich den fernseher ein). den „küchentisch“ kann ich beliebig dimmen (indem ich prozentzahlen sage, „hell“, „dunkel“, „heller“, „dunkler“ sage), farben anpassen („gelbweiss“, „blauweiss“, „tageslichtweiss“), aber auch alltagssätze wie „es ist zu dunkel“, „es ist dunkel wie im bärenarsch“ oder „katia ist da“ verändern das licht entsprechend (die beifahrerin möchte es in der küche immer hell haben, ich eher gedimmt, weshalb „katia ist da“ oder „katia ist wieder weg“ entsprechend die lichtstimmung steuern und das ganze mit blöden sprüchen komplettieren). vor allem kann ich die küchentischbeleuchtung auch „tisch“, „esstisch“ oder „deckenlampe“ nennen — und wäre ich lustig mir auch beliebig viele andere synonyme ausdenken.

ich kann den vorhang mit einfachen sätzen steuern („vorhang auf“, „vorhang schliessen“, „kannst du den vorhang auf machen?“), was mir mit alexa nur auf umwegen gelungen ist („schalte den vorhang ein“). wenn ich in der küche sage, dass das essen fertig sei, ruft snips die beifahrerin und dimmt das licht (mittelhell, so wie die beifahrerin es gerade noch aushält). timer und wecker kann ich nicht nur (wie mit alexa) auf zuruf stellen, sondern auch anzeigen. geräusche, umgebungsgeräusche (ambient sounds) kann ich mit sätzen wie „meeresrauschen im bad“ oder „pups mal im flur“ auf unsere audio-systeme schicken (musik steuern wir (momentan noch) lieber per mobiltelefon, wo spotify-connect sie dann auf ein paar raspberries oder einem yamaha verstärker in beliebigen räumen abspielt).

der vorteil von snips ist gleichzeitig der nachteil von snips: man muss/kann alles selbst machen. welche sätze snips versteht bestimme ich, nicht ein amazon-ingenieur. die arbeit die mir hunderte oder gar tausende amazon-ingenieure abnehmen, wenn ich einen echo-lauschsprecher nutze, muss ich zum grossen teil selbst erledigen. wobei snips einem da wirklich sehr viel arbeit abnimmt. und auch wenn snips noch nicht alle quellen ofengelegt hat, sind doch immerhin alle schnittstelen offen und dokumentiert und das basteln, das selber bauen, das tinkern und rumprobieren wird von den entwicklern und einer recht aktiven community unterstützt.

die sprachassistenten von amazon, apple oder google haben alle eine rudimentäre persönlichkeit. mit snips kann man die persönlichkeit seines assistenten selbst formen. wie er oder sie antwortet, auf was er oder sie wie reagiert, das alles habe ich mit snips selbst in der hand. das macht grossen spass.

und der lackmustest den jedes konsumentenfreundliche gerät bestehen sollte: snips lässt sich auch einfach abschalten.

befriedigende automatisierung

felix schwenzel, , in artikel    

so wie das modewort „nachhaltig“ eigentlich nichts anderes als „zukunftsfähig“ bedeutet, sind sogenannte „smart-home“ geräte oder apparate mit dem präfix „smart“ eigentlich eine umschreibung für „vernetzt“. un-smarte geräte sind auch vernetzt, aber lediglich mit dem stromnetz. vom stromnetz werden sie mit schaltern am gerät oder in der nähe des geräts geschaltet und machen dann ihr unvernetztes ding, für das sie gebaut sind.

vernetzte geräte, die sich dank ihrer vernetzung nicht nur durch schalter fernsteuern lassen, sondern durch apps oder sprach-assistenten, sind toll. ich beschäftige mich jetzt seit zwei, drei jahren intensiv mit ihnen. dabei haben sich ein paar eigentlich triviale, aber dennoch zentrale erkenntnisse herausgebildet:

erstens: fernbedienung ist toll, aber wichtiger sind offene, programmierbare schnittstellen
eine lampe mit einer app zu steuern ist vielleicht für ein paar wochen aufregend. danach wünscht man sich schalter oder andere ergonomisch angebrachte steuerelemente, zum beispiel ein touchpad, drehregler oder — seit knapp zwei jahren ganz neu — sprachsteuerung. aber am allermeisten wünscht und fragt man sich, also ich zumindest, wie man das vielleicht alles ein bisschen automatisieren, abkürzen kann — und nicht mehr alles selbst zusammenklicken muss.

zweitens: beware of the cloud
es gibt kaum noch „smarte“ (also vernetzte) geräte zu kaufen, die ohne „cloud“, also mit einer direkten leitung zum hersteller, angeboten werden. gegen die cloud sprechen nicht nur allerlei datenschutz- und privatshären-gründe, sondern auch praktische erwägungen: die cloud hat hohe latenzzeiten und die internet-verbindung ist öfter weg als man denkt, aber noch öfter sind die hersteller die einem das gerät verkauft haben und die cloud am laufen halten, plötzlich vom fenster weg oder werden von arschloch-firmen aufgekauft. geräte die sich nicht auch lokal, vor ort vernetzen lassen, also auch eine lokale API (schnittstelle) anbieten, haben im haus oder der wohnung eigentlich nichts verloren. abhängigkeit von der cloud ist alles andere als „smart“.

worauf ich aber eigentlich heraus will, und weshalb ich den artikel vor ein paar tagen ursprünglich angefangen zu schreiben habe, ist automatisierung. was mich (als frickler), aber (hoffentlich) auch andere haushaltsmitglieder dauerhaft begeistert, sind ausgefeilte automatisierungen.

anfang der woche habe ich die spülmaschine eingeschaltet und 5 sekunden später plärrte es aus meinem lautsprecher: „es sind nur noch wenige geschirrtabs da. ich hab tabs auf die einkaufsliste gesetzt.“

das schöne ist: ohne weiteres zutun hat das auch funktioniert.

automatisierungsergebnis

die automatisierung die die aktion ausgelöst hat ist alles andere als „smart“ oder wirklich intelligent; eigentlich ist sie sogar trivial:

automatisierung

so trivial diese automatik auch ist, ich habe noch keinen weg gefunden, soetwas mit systemen der grossen player abzubilden, weder mit homekit, bzw. der home-app von apple, noch mit alexa-routinen oder dem google-home gedöns. samsung hat ein cloud-basiertes system namens „smartthings“, mit dem man sowas vielleicht machen könnte, aber das problem, das alle grossen hersteller bisher nicht mal in ansätzen gelöst haben, ist die integration von sensoren und aktoren über herstellergrenzen hinweg.

ansätze dafür gibt es, aber lösungen die über viele herstellergrenzen hinweg funktionieren, sind bisher nur im DIY (do it yourself) bereich zu finden. lösungen wie home assistant, openHAB und viele andere ermöglichen alle möglichen geräte, sensoren, aktoren zusammenzuflanschen und in einem guss zu automatisieren.

zurück zum beispiel: grundlage der bestell-automatik sind natürlich erst mal sensoren, an erster stelle ein sensor der die anzahl verbliebener tabs verzeichnet. die anzahl tabs ist ein abgeleiter sensor. ich leite die zahl der tabs von einem sensor ab, der registriert wenn die spülmschine angeschaltet wird (und wann sie fertig ist). das wiederum leite ich von einem senor ab, der den stromverbrauch der spülmaschine misst und daraus den betriebszustand der spülmaschine ableitet.

die aktoren sind schon etwas komplexer. es gibt derzeit keinen weg der bring.app einkäufe hinzuzufügen — ausser über die app oder über alexa. bring hält es für unnötig hier eine öffentlich zugängliche API zur verfügung zu stellen. über die alexa-integration, die selbstverständlich auf einer (geschlossenen) API basiert, zu der nur amazon und bring selbst zugang haben, kann ich mich aber trotzdem einklinken.

der dienst bespoken.io erlaubt es mir statt alexa ein komando zuzurufen, alexa ein kommando per rest-schnittstelle zu übermitteln. obwohl ich keinen echo-lauschsprecher mehr in betrieb habe, kann ich so mit alexa-skills kommunizieren die mit meinem amazon-konto verknüpft sind.

shell_command:
  ask_alexa: >-
      /usr/bin/curl -X PUT -G 'https://virtual-device.bespoken.io/process' --data-urlencode 'message={{message}}' --data-urlencode user_id=alexa-xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --data-urlencode language_code=de-DE -H 'content-length: 0' -o /Users/ix/.homeassistant/scripts/alexa_response.json

wenn ich bespoken programmatisch bitte die nachricht „öfffne bring und füge geschirrtabs hinzu“ an mein alexa-amazon konto zu senden, hat das die gleiche wirkung als würde ich das in ein amazon-echo-mikrofon sprechen. die antwort des bring-skills liefert bespoken freundlicherweise auch gleich mit, so dass ich den auch wieder ausgeben kann — ganz ohne echo dot. (ein weiterer vorteil der lösung über snips ist übrigens auch, dass ich jetzt einfach sagen kann: „wir brauchen milch“, wohingegen mich die alexa-lösung dazu zwingt einen quatsch-satz zu sagen wie: „öffne bring und füge milch zu meiner liste hinzu“)

der zweite aktor macht nichts anderes als snips zu bitten eine tts (text to speech) nachricht in der küche abzuspielen: „es sind nur noch wenige geschirrtabs da. ich hab tabs auf die einkaufsliste gesetzt.“

aufmerksame leser bemerken jetzt natürlich einen widerspruch: ich nutze die cloud für unseren einkaufszettel und um diesen zu füllen. wichtig ist (mir) aber ein prinzip, von dem ich zuerst im architekturstudium gehört habe, und dem ich später in der programmierung und webseitengestaltung wiederbegegnet bin: das prinzip der würdevollen fehlfunktion („degrade in grace“). beim studium ging es eigentlich um materialien „die würdevoll altern“, aber egal ob es sich um material, code oder eine benutzerschnittstelle handelt, alle sollten bei fehlfunktion die würde und ihr gesicht wahren. wenn der eintrag nicht in der einkaufsliste auftaucht, weil die cloudanbindung nicht funktioniert: halb so schlimm, mich hat zumindest die nachricht erreicht, dass nur noch wenige tabs da sind. vielleicht habe ich das auch schon so gesehen. wichtiger ist mir hingegen die zahl der spülzyklen zu erfassen (und daraus den strom und spülmittelverbrauch abzuleiten und gegebenenfalls auszuwerten). das funktioniert auch ohne internet verbindung und diese sensor-daten bleiben in der wohnung. sollte das lokale netzwerk ausfallen ist es zwar schade, dass dann die laufzeiten nicht erfasst werden und ich keine spülmaschine-ist-fertig-nachricht mehr auf mein handy bekomme, aber immerhin funktioniert die spülmaschine noch. fällt der strom aus, kann ich immer noch wasser mit dem gasherd aufkochen und mit der hand spülen. ohne gas ist es dann aber aus mit der wohnwürde.

dieser schichtweise aufbau der technik-funktionen ist meiner meinung nach bei der konzipierung aller aspekte der heimautomatisierung essentiell. die äusserste schicht, die cloud, auf die ich den wenigsten einfluss und kaum kontrolle habe, sollte, wenn überhaupt, nur für komfort-/luxusfunktionen dienen. alles was essentiell ist, licht, wärme, schlösser, geräuschquellen sollten mindestens zwei ebenen tiefer liegen und möglichst eine optionale manuelle steuerung bieten.

tl;dr: weder vernetzung, noch fernbedienung oder automatisierung verdienen im heim wirklich das label „smart“. aber die automatisierung von (am besten lokal) vernetzten, fernbedienbaren geräten macht wirklich spass und befriedigt (wenns funktioniert) tief.

timer- und pups-intents für homeassistant und snips

felix schwenzel, , in artikel    

alexa, bzw. unser echo-dot ist jetzt seit ungefähr 6 wochen offline und empfängt jetzt ihr gnadenbrot. wenn ich artikel über neue oder nützliche features von alexa lese zucke ich meist mit der schulter und bemerke, dass mich die meisten skills oder features von alexa ohnehin nicht interessiert haben und dass es gerademal 5 sachen gab, die wir/ich regelmässig an alexa herangetragen haben:

  • licht- und gerätesteueerung, vor allem in der küche, wo alexa lebte uns zuhörte
  • timer
  • füllen unserer gemeinsamen einkaufsliste in bring per zuruf
  • gelegentliche fragen nach öffnungszeiten oder wikipedia-artikeln

die licht und gerätesteuerung macht snips mittlerweile, wie ich finde, besser als alexa, vor allem auch, weil ich den lampen, geräten und räumen einfacher (un beliebig viele) synonyme geben kann und vor allem weil ich die aktionen nach gutdünken, vor allem kurz gefasst aufrufen kann. kann natürlich auch sein, dass mir das merken leichter fällt, weil ich mir die triggersätze ausgedacht habe und nicht ein amazon-mitarbeiter. es kann aber auch sein, dass ich die licht-, geräte- und raumzuordnungen per homeassistant besser und einfacher strukturieren konnte, als mit der alexa app. aber das ist ein anderer artikel. genauso werde ich einen artikel darüber schreiben, wie ich snips dazu gebracht habe einkaufserinnerungen in bring zu bekommen, obwohl bring sich weigert eine öfffentliche API anzubieten (spoiler: sie haben eine API, den alexa-skill). lediglich wissenfragen nach wikipedia-artikeln oder öffnungszeiten von geschäften in der nähe konnte ich snips noch nicht beibringen, vor allem weil ein snips ein allgemeines deutsches wörterbuch fehlt, snips also kurzgesagt nur das versteht, was man snips explizit beigebracht hat.

was ich bei alexa wirklich häufig genutzt habe war die timer-funktion. was mich allerdings immer gestört hat, war das fehlende visuelle feedback. um zu erfahren wie lange der timer noch läuft, musste ich immer nachfragen. das kann jede eieruhr besser. sämtliche versuche per API auf die alexa/echo timerfunktionen zuzugreifen scheiterten, alles was über die API (per IFTTT) möglich schien, war eine aktion nach dem ablaufen von timern zu triggern, was ich aber nicht brauchte.

die timer-funktion, die ich hier neben der ebenso wichtigen „pups mal!“-aktion abgefilmt habe, habe ich natürlich mit hilfe vom home-assistant gebaut. wie genau, erzähle ich im folgenden, muss dafür aber vorher nochmal kurz ausholen.

skills legt man mit snips in der (online) konsole von snips an (das bauen von assistenten und skills ist die einzige funktion von snips, die (noch) nicht offline verfügbar ist, nach dem deployment funktioniert snips dann aber zu 100% offline).

snips konsole

der „skill“ timer besteht aus zwei „intents“, timer starten und timer stoppen. die intents findet snips „schwach“, weil ich jeweils nur sechs, bzw. elf trainingssätze eingegeben habe.

snips timer app

die trainingssätze sind die sätze die snips erkennen soll, wenn ich einen timer starten möchte, also zum beispiel:

  • Erinner mich in 2 Minuten
  • Wecke mich in einer Stunde
  • Erinnere mich in 30 Minuten
  • Nudeltimer von 8 Minuten
  • Eieruhr für 6 Minuten
  • Wecker in 15 Sekunden
  • Timer 30 Sekunden
  • 2 Minuten Countdown
  • Starte einen Countdown für 2 Minuten
  • 10 Minuten Timer
  • Timer 10 Minuten

damit ich nicht je einen trainingssatz für jeden möglichen zeitraum aufschreiben muss, gibt es vorgefertigte slots für standardwerte wie die dauer, zahlen, temperaturen oder geldbeträge. deshalb habe ich dem intent einen slot für die timer-dauer hinzugefügt. die satzteile mit der dauer muss man anfangs selbst markieren, nach einer weile lernt die konsole dazu und erkennt die dauer in beispielsätzen alleine. der zweite slot erfasst den namen des timers, so dass ich theoretisch mehrere timer parallel aufsetzen kann oder snips mich beim beenden des timers daran erinnern kann, um was der timer geht.

snips intent TimerStart

im prinzip ist das schon alles was man für meine lösung auf snips-seite anlegen muss. den rest erledige ich mit homeassistant. man kann für snips auch aktionen in python programmieren, die auf den intent reagieren und agieren. diese python-scripte installiert snips dann auch lokal auf dem raspberry. es gibt ein paar fertige skills (oder apps) die man in einer art app-store in der konsole installieren kann. ein paar von denen habe ich ausprobiert, aber meistens waren die anpassungen die ich an diesen fertigen apps vornehmen musste oder wollte aufwändiger als es mit homeassistant selbst zu machen. die meisten der skills die ich in der konsole anlege haben deshalb gar keine aktionen.

snips timer app aktionen (keine)

trotzdem haben die skills, oder genauer die einzelnen intents aktionen zur folge, wenn man im homeassistant die snips-komponnete installiert hat. dann schnappt sich homeassistant sozusagen die intents auf, die man konfiguriert hat. für den TimerStart intent sieht das dann so aus:


intent_script:
  TimerStart:
    speech:
      text: >-
          timer {{timer_duration_raw}} ab jetzt.
          {% if timer_duration > 3600 %}
              Timer von mehr als einer Stunde stelle ich wahrscheinlich falsch dar.
              Felix ist da zu doof für, das ordentlich zu machen.
          {% endif %}
    action:
      - service: timer.finish
        entity_id: timer.snips
      - service: timer.start
        data_template:
          entity_id: timer.snips
          duration: '{{ timer_duration }}'

diese zeilen bitten homeassistant, sobald snips das auslösen des TimerStart-Intents meldet, aktiv zu werden. einerseits mit einem audio-feedback und andererseit mit einer aktion. der intent liefert nach dem auslösen die aufgeschnappten „slots“ mit, also in diesem fall die dauer (timer_duration) und den namen (timer_name). wie man sieht, ignoriere ich den namen und werte bis jetzt lediglich die dauer aus.

wenn ich also sage „10 minuten timer“ erkennt snips die dauer (10 minuten) und den intent (timer start) und gibt das auf dem „mqtt-bus“ bekannt. weil homeassistant den bus abhört arbeitet homeassistant dann meine konfiguration ab und weist snips folgendes an sprachfeedback zu geben: „timer 10 minuten ab jetzt.“ ausserdem stoppt homeassistant eventuell schon laufende timer und startet einen neuen timer mit der übermittelten dauer (timer_duration wird von der homeassistant-snips-komponente freundlicherweise in sekunden umgerechnet, timer_raw ist der der eingabe-, also der rohe wert).

weil jetzt ausser einem laufenden timer nichts weiter passieren würde, muss ich natürlich noch eine automation anlegen, die sich um die darstellung der restlaufzeit kümmert und eine, die den abgelaufenen timer ankündigt.


automation:
  - alias: timerstarted
    trigger:
      platform: time
      seconds: '/1'
    condition:
      condition: state
      entity_id: timer.snips
      state: active
    action:
      - service: counter.increment
        data:
          entity_id: counter.snips_elapsed
      - service: mqtt.publish
        data_template:
          topic: "devices/led-matrix/light/print/set"
          payload: >-
              {% set duration = states.timer.snips.attributes.duration %}
              {% set elapsed = states("counter.snips_elapsed") | default(0) | int %}
              {% set hms_split = duration.split(':') %}
              {% set hours = hms_split[0] | int %}
              {% set minutes = hms_split[1] | int %}
              {% set seconds = hms_split[2] | int %}
              {% set duration = seconds + (minutes * 60) + (hours * 60 * 60) %}
              {{ (duration - elapsed ) | int | timestamp_custom('%M%:%S') }}
  - alias: timerfinished
    trigger:
      platform: event
      event_type: timer.finished
      event_data:
        entity_id: timer.snips
    action:
      - service: counter.reset
        data:
          entity_id: counter.snips_elapsed
      - condition: state
        entity_id: timer.snips
        state: idle
      - service: mqtt.publish
        data_template:
          topic: "devices/led-matrix/light/print/set"
          payload: 'fertig!'
      - service: snips.say
        data_template:
          site_id: "ivanka"
          text: "dein timer ist abgelaufen"

die erste automation läuft jede sekunden wenn der timer.snips läuft (sonst nicht). die action berechnet, bzw. zählt die restlaufzeit (in sekunden) und schickt die restlaufzeit auf meinen selbstgebauten matrix-display, der sich per mqtt füttern lässt. das payload-template macht nichts anders als aus der timer-zeit und der abgelaufenen zeit die verbleibenden minuten und sekunden auszurechnen und sie im format '%M%:%S' darzustellen.

die zweite automation wird getriggert, sobald der timer abgelaufen ist und stellt den text „fertig“ auf dem led-matrix-bildschirm dar und lässt snips sagen: „dein timer ist abgelaufen“.

das ganze würde eventuell mit einem python-script viel einfacher umzusetzen zu sein, aber für komplexeres python bin ich noch zu doof. die homeassistant yaml-konfiguration ist auch nicht gerade trivial, aber weil ich mittlerweile in dieser form gefühlt 800 automatisierungen für die wohnung geschrieben habe, bin ich da relativ trittsicher.

das beispiel zeigt die qualität vom zusammenspiel von snips und homeassistant eigentlich ganz gut: im prinzip ist das alles recht einfach, aber man muss halt fast alles selbst machen. die snipskonsole und dokumentation helfen, homeassistant nimmt einem sowieso einen grossen teil arbeit ab, aber jeden einzelfall, jedes detail muss man selbst bedenken. die nüsse die man für einzelne skills knacken muss sind teils weich, teils sehr hart. mir hat das in den letzten wochen aber grossen spass bereitet diese nüsse einzeln zu knacken: wie bekomme ich snips/homeassistant dazu einzelne lichter, geräte oder lichtszenen zu schalten, wie kann ich meine bring-einkaufsliste per zuruf füllen, wie nach temperaturen fragen. das ist ein bisschen wie kreuzworträtsel lösen, mit dem unterschied, dass man sich die aufgaben und lösungen hier selbst ausdenken muss und es keine richtige oder falsche lösung gibt, sondern nur jeweils eine, die ausreichend gut funktioniert.

* * *

snips pupsen app und pupsen intent

wo ich gerade dabei bin erklär ich noch, wie ich snips (ivanka) das pupsen beigebracht habe. den intent, bzw. die trainingssätze anzulegen war eher trivial:

  • nochmal pupsen
  • bitte pups nochmal
  • pups nochmal
  • pupsgenerator
  • flatulenz
  • bitte flatulieren
  • flatuliere bitte
  • bitte furzen
  • bitte pupsen
  • pup mal
  • kannst du furzen?
  • bitte furz mal
  • bitte pups mal
  • furzen
  • furz mal
  • pupsen
  • pups mal
  • pupse bitte
  • kannst du pupsen?

jeder dieser sätze triggert im homeassistant den intent pupsen:


intent:
  pupsen:
    async_action: True
    action:
      - service: shell_command.snips_wav
        data_template:
          site_id: "{{ site_id }}"
          session_id: "{{ session_id }}"
          wav_file: >-
              {%- set file = [
              "Girl Fart-SoundBible.com-669012925",
              "Quick An Small Fart-SoundBible.com-958779407.wav",
              "Fart Reverberating Bathroom-SoundBible.com-2032114496.wav",
              "Wet Fart Squish-SoundBible.com-332766022.wav",
              "Fart Short Ripper-SoundBible.com-1317602707.wav",
              "King Farthur-SoundBible.com-922925717.wav",
              "Funny Fart Trail-SoundBible.com-1691782690.wav",
              "Squish Fart-SoundBible.com-115133916.wav",
              "Rigid Fart-SoundBible.com-1121832279.wav",
              "Quick Fart-SoundBible.com-655578646.wav",
              "Windy Fart-SoundBible.com-1980462064.wav",
              "Bean Fart-SoundBible.com-215806729.wav",
              "Silly_Farts-Joe-1473367952.wav"
              ] | random -%}
              /Users/ix/.homeassistant/sounds/pupse/{{ file }}
shell_command:
  snips_wav: >-
      /usr/local/Cellar/mosquitto/1.4.14_2/bin/mosquitto_pub -h ivanka.local -p 1883 -u <USER> -P <PASSWORD> -t 'hermes/audioServer/{{ site_id }}/playBytes/{{ session_id }}' -f '{{wav_file}}'

async_action sagt snips bescheid, dass der intent ausgeführt wurde, auch wenn die aktion noch nicht zuende ausgeführt wurde. die aktion besteht im prinzip aus einem kommandozeilen befehl der snips eine wav-datei zum abspielen schickt. die auswahl der wav-datei erfolgt per zufall aus 13 dateien die ich mir zusammengegooglet habe. wichtig sind noch die variablen site_id und session_id. die beiden werte liegen bei jedem intent-aufruf vor und sind dann wichtig, wenn man mehrer snips-assistenten zuhause hat, also in verschiedenen räumen. ich habe im kinderzimmer einen snips-satelitten installiert und wenn ich snips dort frage mal zu pupsen, wird die wav-datei eben auch dort abgespielt.

der kommandozeilenbefehl schickt nach dem aufruf durch den intent die wav-datei per mqtt an den snips-audio-server. durch die site_id weiss snips auf welchem lautsprecher die datei abzuspielen ist und das ist ungefähr alles was man tun muss, um snips zum pupsen aufzufordern.

weil ich es lustig fand pups geräusche im bad abzuspielen, wenn dort jemand anders sitzt, habe ich mnoch einen zusätzlichen skill zusammengestellt, der genau das macht. eleganter wäre es natürlich alles in einem skill, bzw. intent abzuhandeln, also zu prüfen, ob der intent einen raum mitliefert oder nicht und entsprechend zu agieren (bei keiner raumnennung abspielen im raum wo der intent getriggert wurde, sonst im genannten raum).

* * *

hier ist ein gist, mit der homeassistant konfiguration für den timer und den pups intent.

was vor allem gerade schief läuft

felix schwenzel, in links    

manchmal macht es klick, wenn ich texte lese. dann kommen sachen die mir im kopf schwirren plötzlich zusammen, weil irgendwer es geschafft hat die schwirrenden dinge zu verbunden und per logik das schwirren zumindest für eine weile zu unterbinden. zuletzt ist das vor ein paar tagen robert reich gelungen, dessen leider etwas bescheuert übertitelter text Amazon Is Everything That's Wrong With America viel weniger polemisch ist, als die überschrift vermuten lässt.

in aller kürze sagt reich im text, dass amazon ein symptom der derzeitigen krise in amerika ist, bzw. dass amazons jüngste entscheidung für zwei neue hauptquartiere das problem deutlich macht, an dem amerika leidet — aber auch andere westliche länder:

das problem ist eine wachsende ungleichheit von orten („widening inequalities of place“). amazon habe sich entschieden seine zwei neuen hauptquartiere nicht in einer ländlicheren, konservativen gegend anzusiedeln, sondern im liberalen new york und der metropolengegend washingtons.

aus amazons perspektive ist das folgerichtig, weil amazon gebildete, talentierte menschen benötigt um sein geschäft zu betreiben und weiterzuentwickeln. amazon verkauft eben nicht nur sachen im internet, sondern erfindet sich ständig neu, und verbessert seine methoden kontinuierlich, um konsumenten besser und schneller zu bedienen. amazon ist auf technologie angewiesen und technologie, technologieentwicklung ist eben kein ding an sich, sondern ein prozess, ein hin und her, dialoge zwischen menschen, die voneiander lernen, sich inspirieren und sich gegenseit (intellektuell) auf die schultern steigen. und genau das, schreibt reich, passiere eben in hauptsächlich in wenigen geographischen clustern, in den USA vor allem an den küsten. an der westküste, in den bundesstaaten washinton und kalifornien oder an der ostküste um washington DC, boston und new york herum. in europa ist das nicht anders, auch hier findet technologische innovation eher in urbanen gegenden statt, weniger im ländlichen raum.

die talentierten menschen, die technologie vorantreiben, die in technologie-firmen arbeiten, studieren in städten und ziehen die grossräume von städten auch zum späteren leben und arbeiten vor.

und genau das ist das problem: der ländliche raum bleibt vom derzeitigen fortschrittstreiber ausgeschlossen. der ländliche raum ist nahezu ausgeschlossen von jobwachstum, den geld- und steuerströmen, die sich fast ausschliesslich in die städtischen räume ergiessen.

Between 2010 and 2017, according to Brookings, nearly half of the America’s employment growth centered in just 20 large metro areas, now home to about a third of the U.S. population.

Relative to these booming hubs, America’s heartland is becoming older, less well-educated, and poorer.

The so-called “tribal” divide in American politics, which Trump has exploited, is better understood in these economic and cultural terms: On one side, mega-urban clusters centered on technologies of the future. On the other, great expanses of space inhabited by people left behind.

überspitzt formuliert: der ländliche raum verarmt, verblödet, überaltert. populisten wie trump wissen das mit ihren lügen, hohlen versprechen und vermeintlichem mitgefühl für die unterpriviligierten auszunutzen. die gutbezahlten jobs entstehen in den metropolen, aber auch hier entstehen durch einkommensungleichheit immer mehr prekäre einkommenssituationen.

auch in deutschland scheinen sich diese probleme zuzuspitzen. die unterschiede zwischen arm und reich steigen, die mittelschicht verschwindet und die gutbezahlten jobs entstehen in den städten. amazon hat sein hauptquartier in münchen schwabing, „am Berliner Standort entwickelt Amazon“, laut selbstbeschreibung, „seit 2013 zukunftsweisende Technologien“, „In Dresden ist das Amazon Office ein Kompetenzzentrum für Linux Kern- und Hypervisor-Entwicklung“, die eher schlechtbezahlten jobs in logistikzentren siedelt amazon dann auch im ländlichen raum an (graben, bad hersfeld, rheinberg, werne, pforzheim, koblenz, brieselang oder winsen).

in deutschland wie in amerika tendieren die metropolen politisch nach links. seattle, kalifornien, new york, washington DC, alle nennt robert reich „true blue“, also demokratisch dominiert. die republikaner sind dafür in den ländlichen gegenden stärker. in deutschland sind die metropolen zwar nicht blau, aber dafür stark von rot und grüntönen dominiert. in den USA verzerrt sich durch die konzentration der progressiven wähler in den metropolen auch das politische klima:

Another consequence is a more distorted democracy. California (now inhabited by 39.54 million) and New York (19.85 million) each get two senators, as do Wyoming (573,000) and North Dakota (672,591).

Even though Democratic Senate candidates in the midterm elections received 12 million more votes than Republican Senate candidates, Republicans still gained at least one more Senate seat.

ich vermute, dass das sich das in deutschland tendenziell ähnlich verhält, auch wenn die gleichheit der wahl in deutschland offenbar ein höheres gewicht hat, als in den USA.

das problem des „tribal divide“ dürfte sich aber in den kommenden jahren genauso verstärken, wie sich die trends der wachsenden einkommenungleichheit und der sich ausdünnenden mittelschicht auch langsam aber sicher bei uns breit machen.

robert reichs wikipedia-artikel zu lesen, lohnt sich übrigens auch:

In seinem Werk Supercapitalism stellte Reich fest, im vorherrschenden Wirtschaftssystem würden Personen als Verbraucher und Anleger zunehmend mehr Macht erhalten, als Arbeitnehmer und Bürger jedoch immer weniger. Ein Primat der Ökonomie über die Politik untergrabe die Demokratie. Reich stellte dem eine Forderung nach dem Primat der Politik entgegen.

Reich begründet seine Auffassung mit dem Paradox des Superkapitalismus. Dieses besagt: Die Bürger in den Industrieländern und immer mehr Menschen in Schwellenländern profitieren als Verbraucher und Anleger von der Globalisierung und Liberalisierung der Märkte, als Bürger ihrer Staaten lehnen sie jedoch deren negative Folgen weitgehend ab. Als Konsumenten suchen sie nach den besten Preisen, als Bürger beklagen sie jedoch das Aussterben der kleinen Quartierläden und die schlechten Arbeitsbedingungen in den Supermärkten. Als Anleger erwarten sie hohe Renditen, als Bürger verurteilen sie jedoch die Manager, die aus Renditegründen Arbeitsstellen kürzen. Für Reich ist die Bilanz dieser Ambivalenz eindeutig: Die Anleger und Konsumenten sind die Gewinner der Globalisierung. Ihre Auswahlmöglichkeiten nehmen laufend zu. Die Bürger hingegen sind immer öfter die Verlierer: Die Löhne nehmen ab, die Arbeitsunsicherheit nimmt zu und ebenso die gesellschaftliche Ungleichheit.

Der Vorzug von Robert Reichs Superkapitalismus-Konzept liegt darin, dass es nicht zu unsachlicher System- oder Kapitalismuskritik verleitet, denn neoliberal sind in dieser Betrachtungsweise nicht Systeme, sondern Personen, die als Investoren und Konsumenten handeln.

das ist eigentlich ein schöner schlusssatz, auch wenn vieles von dem was reich sagt nachdenkenswert und diskussionswürdig ist: neoliberal sind nicht „die da oben“, sondern wir konsumenten.

ivanka test-setup

felix schwenzel, , in artikel    

letzte woche kam der raspberry und ein ps3 eye kamera/mikrofon, das ich neben den anderen komponenenten für ivanka bestellt hatte. auf die lieferung von eckstein, mit dem aufsteckmikrofon-hat und lautsprecher, warte ich noch immer. ich versuche ja eher weniger bei amazon zu bestellen, aber wenn man sich anguckt wie eckstein meine bestellung händelte, fühle ich mich inspiriert dann doch wieder lieber bei amazon zu bestellen. von eckstein wurde vor allem stille geliefert, erst als ich nach über einer woche nachfragte, antwortete man mir, dass es störungen im zulieferungsprozess gäbe (meine worte) und ich mich noch mindestens eine woche gedulden müsse.

trotzdem konnte ich mir meine neue sprachassistentin, die alexa ablösen soll, zusammenbauen. an den raspberry schloss ich, neben den kamera/mikorofon von sony, dass gerade mal 10 euro kostet aber 4 richtmikrofone verbaut hat und exzellente empfehlungen für sprachassistenten hat, einen batteriebetriebenen mini-lautsprecher, der noch bei uns rumlag, an den kopfhörerausgang an. auf eine SD-karte kopierte ich raspbian, so wie die hervorragende snips-doku das empfiehlt, der ich schritt für schritt folgte.

das betriebsystem und snips selbst zu installieren ging schnell und war nicht übermässig anspruchsvoll. die tools, insbesondere das snips eigene sam, macht die installation wirklich einfach — wenn man mindestens weiss was eine kommandozeile ist. ein bisschen kniffelig war ein konfigurationsaspekt, der eher schlecht dokumentiert ist. seit ein paar releases lässt die snips konfigurationsdatei (/etc/snips.toml) nämlich zu, dass man, statt des mosquitto mqtt-servers auf dem raspberry, auch seinen vorhandenen, eigenen mosquitto nutzen kann. das problem (bei mir) war allerdings, dass mit dem externen, also dem vorhandnen mqtt-server, nichts mehr richtig funktionierte. die spracherkennung funktionierte noch, aber weder der demo-client noch nachinstallierte apps wollten richtig funktionieren. nach einigen stunden debugging war klar, mit externem mqtt geht’s nicht. zu viele komponenten, vor allem aber zu viele fertige action-scripte haben den lokalen mqtt-server hardgecodet auf localhost:1883.

das ist aber auch kein problem, ich habe den lokalen snips-mosquitto einfach in meinen eigenen mosquitto gebridged. in der /etc/mosquitto/mosquitto.conf habe ich folgendes ergänzt:


connection snipsmqtt
address <remote ip>:<port>
remote_username <username>
remote_password <password>
remote_clientid snips
start_type automatic
topic hermes/dialogueManager/# in
topic hermes/asr/# in
topic hermes/hotword/# out
topic hermes/intent/# out
topic hermes/asr/# out
topic hermes/hotword/# out
topic hermes/nlu/# out
topic hermes/tts/# in

damit leitet der snips-mosquitto alle relevanten topics an meinen homeassistant-mqtt-server weiter und empfängt alles was homeassistant zurückschickt.

snips nutzt mqtt als bus. das heisst, alle snips-komponenten kommunizieren über mqtt. der snips-audioserver sendet ständig audiosample-schnipsel über mqtt, die wiederum von der snips wake-/hotword-komponente aufgefangen und analysiert werden. schlägt die hotword komponente alarm, schnappt die ASR-komponente (Automatic Speech Recognition) die audio-samples auf und versucht gesprochenen worte aus den audio-samples zu extrahieren. die extrahierten, gesprochenen sätze werden dann wieder über mqtt an die NLU-komponente (Natural Language Understanding) weitergegeben, die aus den worten den sinn zu exrahieren versucht. danach übernehmen scripte, aktionen oder dialog-komponenten und am ende die tts-komponente (Text to Speech). alles über mqtt.

bevor ich weiter in technische details gehe, fang ich mal mit dem fazit an: das funktioniert alles sehr, sehr gut, mit ein paar abstrichen.

sowohl das eingebaute, mitgelieferte hot-/wakeword (auf deutsch nur eins: „hey snips“), als auch die spracherkennung und analyse funktioniere solide. die standardmässige sprachausgabe, die, wie alles andere, lokal auf dem raspberry stattfindet, ist ein bisschen erbärmlich. pico2wave hört sich noch schlimmer an, als die unheimlichen, von apple mitgelieferten tts-stimmen (auf deutsch „Anna“, auf englisch „Alex“, „Fred“, „Samantha“ und „Victoria“).

ebenso enttäuschend wie die sprachsynthese, ist die personalisierte, „custom“ hotword-erstellung. ein bisschen war das ja der witz, eine sprachassistin zu haben die wir nicht mit „alexa“ aufrufen müssen, sondern mit „ivanka“. snips liefert ein python-script mit dem die aufnahme von audio-schnipseln wirklich einfach ist und diese persönlichen modelle reagieren dann auch auf „ivanka“, aber eben auch auf geschirrklappern, naseschnäuzen, husten oder wenn die beifahrerin etwas lauter redet. auf was diese persönlichen modelle nicht reagieren: wenn die beifahrerin „ivanka“ sagt. um universelle hotword-modelle zu bauen, die mit verschiedenen, möglichst allen stimmen und dialekten funktionieren, benötigt man tausende verschiedene sprachsamples mit denen dann das modell trainiert wird.

die schwächen der weckwort-erkennung, sowie der standard text-zu-sprache-komponente, lassen sich aber dank der extrem modularen bauweise von snips gut beheben. weil eben alles über den mqtt-bus geht und die komponenten nicht direkt, sondern eben über über mqtt-nachrichten kommunizieren, kann man einfach komponenten ergänzen oder austauschen. dazu in einem anderen artikel mehr.

der rest von snips funktioniert aber, wie gesagt, enorm befriedigend. die spracherkennung, das anlegen, pflegen von skills, intents, slots und die integration in home-assistant funktionieren so gut, dass ich die original alexa bereits vor vier tagen ausgestöpselt habe. die von uns am häufigsten genutzten alexa-funktionen (lichtsteuerung in der küche, timer, einkaufsliste (via bring), wetter) konnte ich bereits alle in snips nachbauen. dazu in separaten artikeln mehr.

was mich an der original-alexa damals sehr begeistert hat war, dass sie mich auch hörte (wenn’s ruhig war), wenn ich neben der küche auf dem klo sass und sagte: „alexa, licht im flur ausschalten!“ ich fand das gleichzeitig (technisch) beeindruckend, aber auch ein bisschen creepy. wenn alexa mich bei geöffneten türen (und ruhe) auch auf dem klo hört, was hört sie sonst noch alles? mein provisorischer snips-setup mit dem ps3 eye kamera/mikrofon funktioniert aber erstaunlicherweise genauso gut! ohne sonderlich laut zu werden, kann ich snips auch auf dem klo sitzend sagen, das licht im flur an (oder aus) zu schalten.

ich bin gespannt, ob der etwas kompaktere mikrofon-hat, wenn er denn irgendwann mal von eckstein geliefert wird, genauso beeindruckend funktionieren wird.

snips
von links: alexa (offline), ps3 eye kamera/mikrofon, raspberry und ein lautsprecher. dazwischen bastelkram.

die original alexa liegt noch in der küche, allerdings offline und kabellos, als kandis-dosen-beschwerer. so richtig vermisst habe ich sie in den letzten tagen, seit dem sie offline ist, nicht. snips ist toll!

wenn die leute wissen, wie würste gemacht werden …

felix schwenzel, in artikel    

Sometimes, magic is just someone spending more time on something than anyone else might reasonably expect. — Teller

dieses zitat von teller, der gemeinsam mit penn das bühnenpaar penn & teller bildet, ist auf vielen ebenen grandios. einerseits erklärt es die essenz des showbusiness, aber auch die des hochleistungssports und ich würde fast wagen zu sagen, auch der kunst.

menschen die grosse teile ihres lebens einer sache widmen und unvorstellbar viel zeit darein stecken, erlangen damit im besten fall die fähigkeit uns zu unterhalten und zu faszinieren.

der trick ist, mehr arbeit in eine fähigkeit zu stecken, als es sich jemand anders vernünftigerweise vorstellen kann.

mittlerweile habe ich sogar meine zweifel, ob es sowas wie talent überhaupt gibt und ob wir talent als das wahrnehmen, was eigentlich das ergebnis von enorm viel übung, oder genauer vom festbeissen und manische verfolgen einer sache, einer fähigkeit, eines ziels ist. nach dieser lesart wäre talent dann eigentlich die fähigkeit und der wille sich auf eine sache so zu konzentrieren, wie es sich niemand anders vorstellen mag oder kann.

aber ich wollte eigentlich auf etwas ganz anderes hinaus: auf teller und penn (spoiler: eigentlich auf dieses interview, aber bis dahin brauche ich noch ein paar zeilen). teller ist der manische part vom bühnenduo penn & teller. der nerd, der sich monate-, jahrelang mit der perfektionierung, optimierung von zaubertricks beschäftigen kann. in diesem wunderbaren podcast ist ein kapitel, in dem teller zu einem bestimmten zaubertrick befragt wird: dem schwebender-ball-trick.

teller erzählt, wie er diesen ziemlich alten trick zuerst beherrschen wollte, dann verbesserte und erweiterte und daran 8 monate allein und bei jeder gelegenheit, auch im urlaub, dran arbeitete. alleine, vor dem spiegel, nach gemeinsamen auftritten nachts auf der bühne. nach 8 monaten zeigte er den trick zum ersten mal seinem bühnenpartner penn jillette. der witz ist: penn mochte den trick nicht, er war ihm zu schmalzig, zu circe-du-soleil-mässig. teller arbeitete weiter, monatelang, an dem trick, gab dem auftritt eine richtung, eine art geschichte, aber auch das reichte nicht um penn zu überzeugen (ich verkürze grob, es lohnt sich das ganze podcast-kapitel mit teller anzuhören). denn abgesehen davon, dass der trick einfach nicht penns geschmack entsprach, fehlte eine entscheidende zutat, die alle — oder die meisten tricks — von penn & teller ausmacht. radikale offenheit, kein ornament, kein schmalz, kene mystik. und: oft verrät penn auf der bühne das geheimnis des tricks auf der bühne (teller spricht auf der bühne nicht).

und genau das war es, was den trick für penn dann erträglich machte: er kündigt den trick (wahrheitsgemäss) an, als einen trick, der einzig und allein mit einem faden funktioniert. trotzdem, oder erst recht deshalb, verzaubert der trick das publikum. das gelüftete geheimnis nimmt dem trick nichts, im gegenteil, durch die perfekt einstudierten bewegungen tellers, fasziniert der trick noch mehr als wenn das publikum den hinweis nicht erhalten hätte oder irgendeinen mysterien-scheiss aufgetischt bekommen hätte.

das was teller hier macht, ist ein durch-choreographierter tanz, mit unverständlichen, nicht nachvollziehbaren bewegungen.

youtube-video
youtube

das gleiche prinzip, wenn auch ein bisschen platter, erkennt man in diesem trick. obwohl penn & teller hier sogar jedes detail des tricks erklären, reduziert das die faszination nicht um das geringste, sondern steigert sie in bewunderung.

youtube-video
youtube

wahrscheinlich ist es ähnlich wie beim ballet. man sieht und versteht vermeintlich jede bewegung, aber kaum einer ist in der lage, diese bewegungen nachzuvollziehen, jedenfalls nicht in dieser perfektion und dieser (vermeintlichen) leichtigkeit.

aber der entscheidenste punkt von allen ist noch etwas anderes, was penn in diesem interview (hier gefunden) erklärt:

Vulture: But why is the audience willing to get emotionally engaged even after you’ve explicitly said the trick is done with thread?

Penn: It’s because there’s a secret that I would like to take credit for uncovering: The audience is smart. That’s all. Our goal when we started was “Let’s do a magic show for people smarter than us.” No other magicians have ever said that sentence. I hated the whole idea that some smarmy motherfucker who couldn’t get laid was out there saying, “I can do this; you can’t.” So when Teller and I first got together I said, “I want to do a magic show that’s honest and has complete respect for the audience.” And when you start being honest with the audience, they start to play a game within themselves. Here’s an example that kills me: People who have just talked to Teller will come over to me after the show and say, “I think it’s great that Teller never says anything.” Internalizing a counterfactual is just something people can do.

man zieht das publikum auf seine seite, wenn man es einweiht, die internen abläufe transparent darstellt und es respektvoll, auf augenhähe behandelt. das hört sich jetzt abstrakt und theoretisch an, aber wenn man sich vor augen hält wie zum beispiel journalismus heutzutage (oder auch schin immer) funktioniert, wird einem schnell klar, dass journalismus, der mit den gefühlen seiner leserschaft spielt, der gezielt emotionen schürt, genau dem prinzip entspricht, wie zauberei die penn & teller verachten. zauberei, die uri-geller-mässig dem publlikum irgendwelche mysterien und unbekannten kräfte auftischt, um sensationeller zu wirken, ist das gleiche, wie raunender journalismus, der tatsachenfragmente aufpeppt mit verschwörung, ressentiments verstärkt und letzten endes mit dem publikum spielt. boulevardmedien, klatschblätter bedienen ihre leser nicht, sie spielen (von oben herab) mit ihren gefühlen und wenden dafür alt-bewährte rezepte an.

die meisterschaft, der es bedarf sich in die karten gucken zu lassen, die internen abläufe darzustellen — und trotzdem das publikum zu begeistern oder mindesten zu interessieren, beherrschen die wenigsten journalisten — und natürlich auch die wenigsten entertainer. und schlimmer: sich auf augenhöhe herabzulassen und dem publikum ebendort zu begegnen, das publikum zu respektieren und an dessen intelligenz zu glauben, scheint nach wie vor ein ding der unmöglichkeit für die meisten öffenbtlichkeitsarbeiter zu sein.

auf einen ähnlichen gedanken geht penn in dem interview ein, als er dem interviewer in einem punkt heftig widerspricht:

Vulture: So what you’re saying is that you’re skeptical that there’s been a shift, which is often attributed to Trumpism, in those people’s willingness to believe things at odds with facts?

Penn: But when you say “those people” you’ve made a huge error because there are no “those people.” They don’t exist. You hear stuff like, “Trump supporters are homophobic. Trump supporters are misogynist.” This is a mistake that was made by Democrats. They would accuse Trump supporters of being things that Trump supporters knew they weren’t. There are Trump supporters that have best friends who have gay sex. They do. You can’t put a “they”-type thing on that.

etiketten sind praktisch, sie erleichtern (vermeintlich) die orientierung. aber eigentlich dienen sie, egal ob von recht, links, oben oder unten angewendet, lediglich der ausgrenzung. die welt ist kompliziert, menschen sind noch komplizierter. die welt oder die beurteilung von menschen zu vereinfachen, lässt die welt für einen moment verständlicher erscheinen, stört aber den blick für gemeinsamkeiten und vertieft spaltungen.

„diese leute“ (oder „jene“) gibt es nicht, jedes etikett greift (immer) zu kurz. das gilt in der politik, aber eben auch in der unterhaltung.

was ich an penn am allermeisten mag, ist sein unbeugsamer optimismus.

Penn: For 50 million years our biggest problems were too few calories, too little information. For about 50 years our biggest problem has been too many calories, too much information. We have to adjust, and I believe we will really fast. I also believe it will be wicked ugly while we’re adjusting.

Vulture: How will that ugliness manifest itself?

Penn: Donald Trump.

ich weise da auch gerne drauf hin. die verwerfungen die wir derzeit in und um die sozialen medien erleben, sind umwäzungsprozesse an die wir uns erst gewöhnen müssen, mit denen wir erst noch lernen müssen umzugehen, persönlich, aber mehr noch: gesellschaftlich.