das ist nicht nur wunderbar und erfreulich, sondern auch exemplarisch. man sollte nicht nur auf’s lebensglück hinarbeiten, sondern auch und vor allem auf die fähigkeit glück zu erkennen.
alles
erstmal ist es nicht unbedingt grandios, nur weil gerade alle davon reden, sondern vor allem neu (in deutschland). ansonsten; gute frage, ich hab noch ein paar mehr:
- was ist so toll daran zeitung oder bücher auf dem handy zu lesen? (statt auf papier, das keinen akku braucht?)
- was ist so toll daran bordkarten, eintrittkarten, kundenkarten auf dem handy zu haben? (statt sie übersichtlich auf papier oder plastik im geldbeutel zu haben?)
- was ist so toll daran strassenkarten auf dem handy zu haben?
- was ist so toll daran eine foto- und video-kamera auf dem handy zu haben?
ne antwort auf all die rhetorischen fragen hab ich natürlich auch: es ist irre praktisch, alles was man unterwegs so braucht an einem ort und leicht zugänglich zu haben. ob das nun apple-, google- oder kreissparkasse-hintertupfingen-pay ist, ob es google-, here- oder apple-karten sind, ob es das apple-wallet oder irgendeine andere app ist, die meine bord- und eintrittkarten verwaltet, dürfte in den meisten fällen egal sein.
grandios wird es aber dann, wenn die nutzung wirklich einfach und reibungsfrei ist, wenn sich die lösung im alltag bewährt und auch tatsächlich sicher und datensparsam ist.
letzte woche habe ich bemerkt, dass mein #aufdemwegzurarbeit-netto (ohne hund) jetzt auch selbstbedienungskassen installiert hat. ich bin einfach an der kassenschlange von 8 leuten vorbeigegengen, habe mein mittagessen gescant und meine EC karte auf das zahlterminal gelegt. keine PIN, keine unterschrift, super, raus, fertig.
heute früh hab ich mich wieder selbst im netto bedient, statt der EC karte habe ich heute aber mein handy ans zahlterminal gehalten. keine PIN, keine unterschrift, super, raus, fertig.
weil ich ungefähr 20 karten in meiner tasche habe werde ich künftig wohl die zahlung mit dem handy vorziehen, weil sie mir das rausgesuche erspart. mein handy habe ich immer griffbereit, meine EC karte (und PIN) nicht. ist das grandios? nö, aber ziemlich praktisch.
heute früh, #aufdemwegzurarbeit, hielt eine eitle ische in einem @DriveNow_DE-mini mitten im verkehr, auf der kreuzung jäger- und charlottenstrasse, öffnete das fenster, streckte den linken arm raus — und machte einen selfie. selten fand ix vogelzeigen & „eitle ische“ passender.
timer- und pups-intents für homeassistant und snips
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
lebteuns 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).

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.

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.

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.

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 intent sieht das dann so aus:
diese zeilen bitten homeassistant, sobald snips das auslösen des -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 () und den namen (). 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 ( wird von der homeassistant-snips-komponente freundlicherweise in sekunden umgerechnet, 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.
die erste automation läuft jede sekunden wenn der läuft (sonst nicht). die 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.

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 :
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 und . 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 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).
so viel spass wie ich mit @snips (und @ home_assistant) beim „programmieren“ habe, hatte ich nicht mal ansatzweise bei der benutzung von amazons alexa.#adventsautomatisierungen pic.twitter.com/OFUXKnkLqp
hier ist ein gist, mit der homeassistant konfiguration für den timer und den pups intent.

restesalat mit spinat, birne, äpfel, möhre, zwiebel und standarddressing mit schweinefilet. #alltagsessen

so viel spass wie ich mit @snips (und @home_assistant) beim „programmieren“ habe, hatte ich nicht mal ansatzweise bei der benutzung von amazons alexa. #adventsautomatisierungen
ich dachte mit der wohnungsautomatisierung sei ich so langsam durch. wie ich gerade gesehen habe: es gibt noch viel zu tun:
strategisch genial platzierte werbung, ein name der unvergesslich ist, weil er aus der alltagssprache der zielgruppe kommt („he laba nich alta!“) und klassisch: von werten reden ohne auch nur ein bisschen konkret zu werden. was soll da schiefgehen? #helaba


This is absolutely amazing: A violin bow creates beautiful geometric images from thin air. pic.twitter.com/U3KRnG8XnQ
nicht zu vergessen, deutschlands führendes wetter-rumpelstilzchen und dummheits-anprangerer @kachelmann scheint auch auch jeden scheiss zu glauben, der ihm gerade in den aktuellen wutausbruch passt.
Wenn Politiker, die vortäuschen, die Welt retten zu wollen, aber mit ihrer Politik vor allem Menschen krank machen und davon ablenken wollen und viele lustige Dinge ohne vergleichbare Relevanz wie eine Monstranz vor sich her tragen. Diesel, Kerzen, was immer noch kommen wird. twitter.com/Fleischauge/st…
Jörg | kachelmannwetter.com (@Kachelmann) 26.11.2018 20:59
@Kachelmann Es handelt sich bei dieser Kerzenmeldung wohl um Fake News.Sorry.
kann shon sein, dass boris palmer stefan kuzmany für diesen text ein knöllchen schreibt, wegen despektierlichkeit gegenüber einem o.b.
spiegel.de/politik/deutschland/boris-palmer-als-ordnungshueter-das-gruene-maennchen-kolumne-a-1240481.html
sehr toller text, der sich ein bisschen monothematisch gibt, aber einen bunten strauss an klugen und wichtigen erkenntnissen vermittelt — vor allem: es würde helfen, nicht davon auszugehen, dass irgendwas auf der hand liegt. merkur-zeitschrift.de/2018/11/26/the-trouble-with-talking/
Max Boot in “The Corrosion of Conservatism: Why I Left the Right”:
“No, not all Trump supporters are racist. But virtually all racists, it seems, are Trump supporters. And all Trump supporters implicitly condone his blatant prejudice. At the very least they don’t consider racism to be a reason to turn against the president. For a disturbingly large number of Trump voters, it is the primary reason to support him.”
Zivilisation ist sehr OK. Nicht kaputtmachen, bitte.
Creative Industries Tycoon 2022 (@guenterhack) 22.11.2018 19:15
Sehr genial heute mal wieder @katjaberlin in @DIEZEIT pic.twitter.com/1trKHm39mE
Ein Bekannter von mir hat eine Kernbohrung gemacht. Der Elektriker vorher so: "100 pro da sind keine Kabel."Tja. Shit happens. pic.twitter.com/qPJJAvqx8g
Our annual reminder: Widening 👏 highways 👏 doesn't 👏 work 👏This freeway -- LA's 405 -- was JUST widened at a cost of $1.6 billion. pic.twitter.com/vFSTmfdhnC
Dass man sowas erleben darf: Angela Merkel erklärt die agile Vorgehensweise 😅 (Danke an Frank aus unserem Slack-Kanal für dieses Video!) #AngelaMerkel #agile pic.twitter.com/7v0nXjzAOx

(bei chay viet)
ich bin mir nicht ganz sicher, aber soweit ich das verstanden habe, sind länder mit beispielhaftem breitbandausbau (norwegen, schweden) da auch nur mit staatlicher förderung hingekommen. so spät wie das kommt, liegt doch hier sinne der marktsteuerung eher politikversagen vor.
Und das Ganze soll in einem Jahr über die Bühne gehen. Eine solche Subvention ist nach EU-Recht nur bei Marktversagen erlaubt, auf das sich das Land hier beruft: morgenpost.de/berlin/article…
der @TspBackgroundDi ist ein bezahlnewsletter, der sich einen denglischem namen gegeben hat, dessen macher aber offenbar grosse schwierigkeiten mit denglisch haben und nicht zwischen einem haftungsausschluss und einer offenlegung unterscheiden können.
wie wärs mit „offenlegung“?

