im prinzip lässt sich wirklich alles automatisieren. #lastpost #rekursion

ok. jetzt hat mich der amazon dot wirklich überzeugt. #tonierdmann

motorisierter, chinesischer gong

felix schwenzel, , in artikel    

mein tageswerk.

* * *

lange geplant, endlich (so einigermassen) umgesetzt. der gong, den sich die beifahrerin zu weihnachten hat schenken lassen (hier gekauft), zu automatisieren. diesen chinesischen gong hatte sich die beifahrerin vor ein paar jahren mal geliehen und eine arbeit damit ausgestattet.

chinesischer gong, in einer arbeit von katia kelm (der beifahrerin)

damals, für die arbeit, wurde der gong, wenn ich mich recht erinner, mit einem hubmagneten betätigt. das hatte relativ viel bums. nachdem ich diesen blogeintrag gefunden hatte, wusste ich, dass ich das mit einem schrittmotor nachbauen wollen würde. erste versuche zeigten, dass der schrittmotor, zumindest wenn er mit den 5 volt eines esp8266 betrieben würde, nicht besonders viel bums hat. der schrittmotor den ich kaufte hat zwar (angeblich) ein ganz gutes drehmoment, aber es zeigte sich schnell, das der gong mit schrittmotor nur hängend funktionieren würde.

aber so, hängend, haben es die leute von senic auch gemacht. die schaltung habe ich auch mehr oder weniger von dort übernommen. neben einem esp8266 brauchte ich noch einen (hardware) schrittmotor-treiber, einen easy-driver. mit der schaltung von senic kann man einfach in einer schleife impulse an den treiber senden, jeder impuls ist dann eine bewegung nach vorne. bei meinen ersten tests zeigte sich, dass 500 schritte vorwärts (und zurück) ganz gut funktionierten. aber ich merkte auch, dass der schrittmotor-treiber sehr heiss wurde und der schrittmotor anfing leise zu singen. auf beiden systemen war ständig strom. in der dokumentation des schrittmotor-treibers stand allerdings, dass man den treiber auch abschalten könne. also habe ich die schaltung von scenig ein bisschen erweitert:

GPIO 13 — puls
GPIO 12 - richtung
GPIO 14 - an/aus (SLP)

schaltung für die schrittmotor ansteuerung

mit der an/aus schaltung wird der schrittmotor-treiber nicht mehr heiss und der motor entspannt sich ebenso. als sketch habe ich diesen sketch modifiziert, der einen schrittmotor zur gardinensteuerung antreibt und die AccelStepper-bibliothek nutzt, um den motor (etwas) sanfter anfahren zu lassen. weil ich (natürlich) keine dreieinhalb vollumdrehungen benötige um den klöppel für den gong zu schlagen, habe ich den sketch entsprechend angepasst, ebenso die erfassung der mqtt-server daten. meinen sketch habe ich als gist hochgeladen: https://gist.github.com/diplix/d85c2dd87f66da601480009df49ad4e5

die entscheidenden stellen sind die beschleunigungsdaten und die vor- und zurückbewegung:

//configure stepper
stepper.setAcceleration(4000);
stepper.setCurrentPosition(0);
stepper.setMaxSpeed(1500);
 
stepper.runToNewPosition(-200);
stepper.runToNewPosition(0);

an den werten werde ich wahrscheinlich noch drehen, aber soweit funktioniert das eigentlich ganz gut. wichtig ist: der gong-antrieb ist per mqtt ansprechbar und so auch in den home-assistant integriert. damit kann ich ihn per knopfdruck auslösen oder eben per alexa. wenn ich sage „alexa, sag küche essen ist fertig“ wird ein custom skill mit dem aufrufnamen „küche“ ausgelöst, der die home-assistant-automation essen_fertig.yaml aufruft:


alias: long gong abspielen
sequence:
  - service: mqtt.publish
    data:
      topic: "gong/Control"
      payload: "2"

für die halterung habe ich, wie üblich, improvisiert. baumarktteile statt 3d-druck. aus einem kiefernholzregalbrett ein stück ausgeschnitten, darauf mit einer metallasche den motor festgeschraubklemmt, den klöppel direkt auf die achse geklemmt, fertig. den klöppel werde ich wohl noch mit heisskleber fixieren müssen, bisher funktioniert das aber stabil.

schaltung für die schrittmotor ansteuerung

entscheidend ist natürlich die idee, den klöppel von hinten schlagen zu lassen. so kann man mit einem langen arm und einem zweiten klöppel, den gong auch immer noch per hand bedienen. und der technik-kram macht sich relativ unsichtbar.

so hängt der gong über der tür

wroooom

akustischer skeuomorphismus

felix schwenzel, , in video    

es ist unübersehbar, dass mir die heimautomatisierung in letzter zeit grosse freude bereitet. neben all den kleinen und grossen projekten die ich umgesetzt habe oder die ich noch plane, hat mir ein kleines projekt in den letzten tagen besonders viel freude bereitet. ich war immer ein grosser freund von pendeluhren. in meiner kindheit war ich oft in häusern, in denen grosse pendel-standuhren standen, die mehr oder weniger laut vor sich hintickten und jede stunde mit geläut auf sich (oder die vergangene zeit) aufmerksam machten. ich mochte die ruhe (≠ geräuschlosigkeit) die diese regulatoren ausstrahlten und ich mochte das ruhige geläut.

ein versuch eine solche pendeluhr bei uns zuhause zu etablieren scheiterte grandios. der beifahrerin war das ticken zu laut, die uhrzeit stimmte nie und das geläut der zu kleinen uhr war (relativ) jämmerlich. ausserdem musste man die uhr ständig aufziehen und dabei darauf achten, nicht zu überziehen.

vor ein paar tagen las ich im home-assistant forum von einer digitalen lösung. einfach den home-assistant anweisen jede stunde, ausser zu nachtzeiten, eine bestimmte sound-datei abzuspielen. die uhrzeit des geläuts ist mit dieser lösung äusserst präzise und die ausgestossenen geräusche flexibel.

ich mochte allerdings das westminster-gebimmel nicht, das der benutzer hareeshmu hier zum download angeboten hatte. beim big-ben ist das in ordnung, in meiner wohnung finde ich es (leicht) affektiert.

statt des westminster-gebimmels habe ich mir diesen einzelnen schlag runtergeladen und das bash-script, das den ton abspielt ein bisschen vereinfacht und angepasst:


#!/bin/bash
# lautstärke setzen
osascript -e "set Volume 4"
counter=1
# date +%l liefert die stunde im 12er format zurück,
# um 14 uhr also zum beispiel 2
while [ $counter -le $(/bin/date +%l) ]
do
# afplay spielt in macos einen beliebigen ton ab, der auch mit
# quicktime abspielbar ist. das & am ende sorgt dafür, dass der
# sound im im hintergrund weiterspielt und das bash-script weiterläuft
afplay -v 1 /Users/ix/.homeassistant/sounds/307524_SOUNDDOGS__cl.mp3&
# zwei sekunden pause zum nächsten schlag
/bin/sleep 2
((counter++))
done
# 14 sekunden pause bis der schlag komplett ausgeklungen ist
/bin/sleep 14
# danach die lautstärke wieder auf null setzen
osascript -e "set Volume 0"

das bash-script liegt auf unserem mac-mini, auf dem auch der home-assistent läuft und es wird von einer home-assistant automation stündlich aufgerufen (ich habe die automation (mehr oder weniger) komplett von hareeshmu übernommen).


shell_command:
  ttschime: '/home/homeassistant/.homeassistant/TTS_Chime.sh'
#
automation 9:
  - alias: 'Grand Father Clock'
    trigger:
      platform: time
      minutes: 59
      seconds: 59
    condition:
      condition: time
      after: '05:30:00'
      before: '22:30:00'
    action:
      - service: shell_command.ttschime

an den mac-mini habe ich per bluetooth einen ganz ordentlichen, brachliegenden [-werbelink] bluetooth-lautsprecher angeschlossen und ihn in der abgehängten decke im flur platziert, in der auch schon eine antenne versteckt ist. das verteilt den uhrenschlag schwer lokalisierbar im ganzen flur und den angrenzenden räumen und fügt durch die eigentlich ungünstigen akkustischen verhältnisse unter der decke, einen angenehmen hall hinzu.

ich finde den stündliche gebimmel äusserst angenehm, auch wenn es mich immer wieder daran erinnert, wie schnell die zeit vergeht. das kind und die beifahrerin sind, glaube ich, eher genervt davon, zumal ich den mechanismus natürlich auch (hin und wieder) hemmungslos dazu benutze das kind per druckluft/airhorn-tröte zu wecken oder gelegentlich ein pupsgeräusch abspiele. insgesamt tolerieren sie die spielerei aber (noch).

und zur not lässt sich der ganze spuk per schalter deaktivieren.

Standuhr per knopfdruck desktivieren

* * *

ich weiss nicht, warum ich nicht früher drauf gekommen bin: meine erste virtuelle standuhr.

berliner new-york-simulator

zaubertrick mit chinesischem fenstersensor, einem münchener #tado-ventil und ein bisschen python, home-assistant-logik und der immer noch nicht dokumentierten tado-api.

(der fenstersendor (hier gefunden) funkt auf 433mhz und kostet 8 dollar.)

unterwegs in prager kirchen dachte ich noch: LED-kerzen, das wäre doch n ding. wie man sieht, die tschechen sind cutting edge. #cz2016 #prag #LED #kerzen #kirchen

wird immer besser.

mein lieblingswetter.