IFTTT mit dS verbinden – Teil 2

Im ersten Teil habe ich bereits beschrieben, was IFTTT ist, und wie man von digitalSTROM aus Applets bei IFTTT auslösen kann.

Heute beschreibe ich die andere Richtung: Wie können Applets von IFTTT Aktionen im digitalSTROM System auslösen?

Warum IFTTT nicht direkt digitalSTROM steuern kann

Zunächst möchte ich kurz erklären, warum das nicht ganz so einfach ist. Aus Sicherheitsgründen arbeitet digitalSTROM mit einem zweistufigen Schlüsselverfahren. Es gibt:

  • Anwendungsschlüssel, und
  • Sitzungsschlüssel

Damit eine Applikation auf den dSS zugreifen kann, benötigt sie zunächst einen Anwendungsschlüssel, genannt Application Token. Diese Registrierung muss einmalig vollzogen werden. Das machen zum Beispiel die Smartphone-Apps, wenn man sich beim ersten Mal über den mein.digitalSTROM Login anmeldet. Das Application Token wird dann dauerhaft in der Anwendung gespeichert, die mein.digitalSTROM Login Daten werden nicht gespeichert. Möchte eine Applikation nun auf den dSS zugreifen, muss sie sich zunächst über das Application Token am dSS anmelden und bekommt darauf hin einen Sitzungsschlüssel, genannt Session Token, zugewiesen. Dieser Session Token ist ab diesem Zeitpunkt maximal drei Minuten gültig und muss bei allen weiteren Kommandos mit übergeben werden. Jedes Kommando mit dem Session Token verlängert die Ablaufzeit erneut auf drei Minuten.

Dieser zweistufige Loginprozess ist der Grund, weswegen es nicht einen direkten URL-Aufruf zum dSS geben kann, der direkt Aktionen auslöst.

Die Lösung

Um dieses Problem zu lösen, habe ich ein kleines Skript programmiert, welches hier auf dS-Tools läuft und die Aktionen, welche zum digitalSTROM Server geschickt werden sollen, “umleitet”. Ich versichere, dass dabei keinerlei Daten auf meinem Server gespeichert werden. Selbst in den Zugriff-Logfiles meines Webservers werden aus Sicherheitsgründen keine Tokens gespeichert! Die gesamte Kommunikation erfolgt verschlüsselt.

So geht’s

Man ruft diese URL auf: https://ds-tools.net/ifttt/
Dort muss man seine mein.digitalSTROM Logindaten eintragen. Nach dem Klick auf “Anmelden” wird auf dem heimischen dSS ein Anwendungsschlüssel generiert. Auf der dann erscheinenden Seite (die man sich als Lesezeichen abspeichern sollte) hat man bequem die Möglichkeit, die Aktion zu beschreiben, welche im digitalSTROM System von IFTTT aus ausgelöst werden soll:

IFTTT Connector

Die gewünschte Aktion kann als Freitext eingegeben werden, genau so, wie es auch die Listener Smartphone App versteht. Durch Klick auf “Senden” wird das Kommando zum dSS gesendet. Die Antwort erscheint kurz darauf. Ist man mit der Aktion zufrieden, scrollt man ein Stück nach unten und sieht, wie das Applet bei IFTTT angelegt werden muss, um genau diese Aktion auszulösen. Man erstellt also das gewünschte Applet bei IFTTT und wählt für den THAT -Teil den Maker Webhooks aus. Die angezeigten Daten trägt man hier ein, fertig.

Viel Spaß beim Ausprobieren. Bitte die Kommentarfunktion benutzen, um coole Applets zu teilen. Danke!

Bitte nicht verzweifeln, wenn nicht die Aktion ausgelöst wird, die man sich wünscht. Ein Artikel über das Textverständnis von digitalSTROM gibt es hier.

 

41 Gedanken zu „IFTTT mit dS verbinden – Teil 2

  1. Pingback: IFTTT mit dS verbinden – Teil 1 | Christophs digitaler Strom

  2. Hallo Christoph
    Supercool – Danke!
    Nun weiss mein Haus auf Grund der Geoposition meines Smartphones selber wenn ich nach Hause komme und ich brauche nicht mehr “Kommen” zu drücken.

    Trigger: Locate an area
    Action: kommen aufrufen

  3. Besten Dank. Diese Beschreibung hat mir sehr geholfen.
    Ich wurde vom Digitalstrom-Support auf diese Seite hingewiesen.
    Ich habe eine IP-Kamera Edimax IC-9110W. Bei Erkennung einer Bewegung wird ein Event an https://ds-tools.net/ifttt/ geschickt, womit dann das Licht via Digitalstrom im Eingangsbereich eingeschalten wird. Mit der “Auto Off”-App wird das Licht dann nach 1 Minute wieder ausgeschalten.
    Das funktioniert soweit einwandfrei. Leider dauert der Vorgang von der Bewegungserkennung bis zum Einschalten des Lichts rund 10 Sekunden. Vielleicht hat jemand eine Idee, wie ich das noch schneller hinbekomme.

  4. Pingback: Automatisches Kommen und Gehen | Christophs digitaler Strom

  5. Toller Blog, direkt mal mal den Feed abonniert 🙂

    Könnte man dieses Script Open Source stellen, damit man es auch auf seinen eigenen Servern verwenden kann?
    Auch wenn ich Ihnen glaube, dass Sie nichts speichern, ist es doch immer ein ungutes Gefühl von einem anderen Server abhängig zu sein.

  6. Leider kommt bei mir beim Senden des Probetexts die Fehlermeldung “Leider ist mir dein Zuhause nicht bekannt. Hast du es registriert?”. Das Token ist aber unter den Zugriffsberechtigungen drin. Komme daher leider nicht weiter.

    • Probiere bitte, ein neues Token anzulegen. Anscheinend wurde das Token nicht in der digitalSTROM Cloud registriert. Wenn es immer noch nicht klappt: Funktioniert denn die Listener-App auf dem Smartphone?

    • Derzeit kommt es manchmal zu diesem Problem, da der Textübersetzungsdienst die Informationen aus der Installation nicht ausliest. Bitte einfach mal eine neue benutzerdefinierte Handlung anlegen, oder einen Raum umbenennen, damit ein Änderungsereignis ausgelöst wird und der Dienst daraufhin automatisch alle Infos ausliest. Anschließend sollte es klappen!

      • Hallo Christoph. Ich bin seit heute auch im Club der Digitalstrom-User. Grossartiges Gefühl. 🙂

        Ich habe gerade das gleiche Problem. Die Listener-App bringt immer die Meldung „Leider ist mir dein Zuhause nicht bekannt. Hast du es registriert?“. Habe auch schon den Token neu bezogen und eine neue benutzerdefinierte Handlung angelegt. Hat beides nichts geholfen. Hast Du noch einen Rat?

        Danke für die Rückmeldung und bester Gruss.

  7. Vielen Dank für diese tolle Möglichkeit! Ich kann nun von meiner Pebble Time Smartwatch mit Snowy per Sprachbefehl Aktionen im DS auslösen! Wirklich genial!

  8. Ich habe den IFTTT Connector erfolgreich installieren können. Aber wenn ich die benutzerdefinierte Handlung aufrufe (https://maker.ifttt.com/trigger/Küche Licht ein/with/key/makerkey), passiert nichts.
    Zudem habe ich nach 3 Stunden immer noch nicht verstanden, wie ich HomeKit mit Digitalstrom verbinden kann. Homebridge konnte ich in HomeKit installieren, aber wie schlägt das die Brücke zu DS?
    Und was gebe ich als Trigger bei Maker ein?
    Fragen über Fragen…

    • Prüfe zunächst, ob die gewünschte Aktion im IFTTT Connector funktioniert. Was erscheint dort als Antwort? “Küche Licht ein” ist kein guter Name für eine benutzerdefinierte Handlung, da mit diesem Text typischerweise schon ohne Handlung das Licht in der Küche eingeschaltet werden kann. Beachte dazu https://ds-tools.net/blog/2015/07/23/das-zuhause-hoert-aufs-wort/.
      Homebridge kann über ein IFTTT Plugin direkt IFTTT Rezepte auslösen. Ein solches Rezept wiederum kann dann eine Aktion im digitalSTROM System auslösen. Über diesen Umweg kann man eine gewisse Integration erreichen.

        • Könntest Du bitte etwas näher beschreiben, was Du gemacht hast? Zu “funktioniert nicht” kann ich leider nicht viel sagen. Hast Du den IFTTT Connector geöffnet und dort den Satz zum Aufrufen einer Handlung eingegeben? Welche Meldung erscheint, wenn Du das absendest?

  9. Vielen Dank für die Antwort!!

    Als Antwort kommt «Da mach ich doch glatt mal das Licht an.» Ich nehme an, das ist richtig. Aber die digitalSTROM Listener App kann man ja sowieso nicht brauchen. Zum einen versteht sie einen nicht – auch kein richtiges Hochdeutsch und zum anderen muss man zuerst das Handy entsperren und sie dann aufrufen. Dann kann man auch direkt die digitalSTROM App starten. HomeKit hingegen kann ich über meine Apple Watch und AirPods starten. Das ist viel besser.

    Jedenfalls habe ich die folgenden Probleme, die ich am Samstag um 2:45 nicht mehr formulieren konnte:
    1. Wenn ich im IFTTT Maker Channel eine URL kreieren lasse und diese als benutzerdefinierte Handlung teste, passiert nichts. Auch nicht mit einem Befehl wie «Gehen».
    2. Wie bringe ich Homebride und IFTTT Maker Channel dazu, zu kommunizieren? Wenn ich es richtig verstehe, hört HomeKit meinen Befehl, schickt diesen an Homebridge, was ihn weiterleitet an den Maker Channel, der dann wiederum einen benutzerdefinierten Befehl in dss kreiert.
    3. Aber ich kann nicht einmal Homebridge richtig einzustellen. Wenn ich «Über die App wählen wir ganz unten rechts Add Accessoires und anschließend Generisch aus» (https://smartapfel.de/logitech-harmony-hub-ueber-homebridge-mit-ifttt-in-homekit-einbinden) ausführen will, finde ich nicht einmal das Accessories Symbol.

    Das ganze ist ein Buch mit sieben Siegeln. Um es für einen Normalverbraucher anwendbar zu machen, bräuchte es eine einzige Seite, auf der alles in einem Guss dargestellt und erklärt wird und nicht x verschiedene Dokumente auf verschiedenen Seiten. Eine durchgängige Anleitung, die funktioniert, das täte gut!

  10. Hallo, nun steh auch ich vor noch unbegreiflichen Problemen.
    Habe die Rezepte nach Prüfung korrekt angelegt, aber bei Aufruf mit Alexa kommt von ihr die Rückmeldung dass Sie diese Rezept nicht sehen kann.
    Was läuft hier verkehrt?
    Im Moment steh ich etwas auf dem Schlauch…
    MfG
    Christian

    • Also wenn Alexa selbst die IFTTT Recipes nicht finden kann, ist das ja überhaupt kein digitalSTROM Problem. Versuche mal, den IFTTT Skill zu deinstallieren und neu zu installieren oder so.

  11. Dear madam/sir,

    Can you please post an English tutorial to connect DS to IFTTT. The DS website presents the IFTTT connection as integrated (logo and everything), which is the main reason we choose DS. When I want to connect though, I am rerouted to your German website. Do I understand correctly that I have to connect to a private server to make this work? Thank you for a step-by-step explanation.

    Regards,
    Willem

    • Dear Willem,

      The direct IFTTT integration is not yet finished and so I programmed a webservice which can do the integration between IFTTT and dS using the universal MakerChannel of IFTTT. The MakerChannel can be used as the THAT part of If This Then That and simply calls an URL. The URL links to my webservice and contains the dS action as written text. My webservice sends the text to the official text2dS service from digitalSTROM which then executes the action in the dS apartment. (This text2dS service is also used by the dS listener smartphone app.) You are right: The communication runs through my private webserver. But I am an employee of digitalSTROM and I do not save any credentials on my server.
      I could translate my article to english but one problem still exists: The text2dS service is not yet available in english.

      Regards,
      Christoph

      • Dear Christoph,

        Thank you very much for your quick elaboration! This is valuable information. I understand that the official IFTTT integration is in the making, do you have a timeframe in which it will be ready? In the meantime I will happily use your web service. Bit of trial and error indeed, using Google Translate to get the right commands for my home. Got it to work fine so far for the most urgent recipes.

        Kind regards,
        Willem

  12. IFTTT hat die Seite modernisiert. Aus Channels wurden Services, aus Recipes wurden Applets und der Maker Channel heißt nun Maker Webhooks. Ich habe meinen Artikel dementsprechend nun überarbeitet.

  13. Ich beokmm’ auch “Leider ist mir dein Zuhause nicht bekannt. Hast du es registriert?” als Antwort. Auch im Listener…
    Meine Mailadresse ist die selbe wie hier angegeben.

    • Hi Oliver,
      vermutlich fehlte noch ein Sync zur Cloud. Dieser erfolgt eigentlich automatisch, zuletzt heute um 18:40 Uhr. Ich habe gerade testweise über den “Listener” das Licht im Gästebad ausgeschaltet und das hat einwandfrei funktioniert. Ich hoffe, das Gästebad war gerade nicht in Benutzung.
      Das Problem hat sich somit wohl in Luft aufgelöst.

  14. Hallo Christoph, ich habe gesehen dass es DigitalStrom nun als eigenes Applet gibt inkl. Anmeldung an der DS Cloud. Heißt dass man kann nun das DS Applet direkt bei IF oder That ansprechen oder immer noch der Umweg über den Webhook Service? Gruß Timo

    • Hallo Timo,
      in der Tat wurde am Wochenende der offizielle IFTTT digitalSTROM-Service veröffentlicht. Damit ist es möglich, digitalSTROM über den THAT-Teil anzusprechen. Dies funktioniert über natürlichen Text so, wie mit meinem Tool bisher auch. Leider gibt es noch keine Trigger, man kann den Service also nicht im THIS-Teil verwenden. Da bleibt immer noch die Lösung wie in meinem Teil 1 beschrieben.

      • Hoi Christoph
        Ich habe heute versucht über den MyStrom Button Digitalstrom anzusteuern. Die Anmeldung hat bei IFTTT funktioniert. Mein Konfiguration: IF MyStrom Long press THIS Digitalstrom Ich will Gehen. Leider funktioniert dies nicht. Habe auch noch andere Kommandos ausprobiert ohne Erfolg. Sicherheitshalber habe ich den Digitalstrom Service mehrmals an und abgemeldet leider auch ohne Erfolg. Kannst du mir einen Tipp geben wie es funktionieren sollte. Hat sonst noch jemand Erfahrungen mit IFTTT gemacht ohne Webhook.
        Gruss Reto

          • Hoi Christoph
            Besten Dank, für die rasche Antwort.
            Auf der Seite die du mir geschickt hast, sind 10 Einträge mit crated. Auf IFTTT habe ich noch einen Fehler gefunden. Nun habe ich im Activity Log mehrere Einträge mit der Bezeichnung Applet run. Trozdem scheint es nicht zu funktionieren. Habe das Kommando auch mal geändert, dies führe auch nicht zum gewünschten Erfolg. Hast du noch einen Tipp für mich?
            Gruss Reto

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Eingabe leider nötig: Time limit is exhausted. Please reload the CAPTCHA.