Notifications über ThingSpeak und IFTTT

By | 27. December 2018

Anleitung

Wenn Du z.B. bei Unterschreitung eines bestimmten Gewichts eine Meldung bzw. eine Notification auf Dein Smartphone bekommen möchtest, dann kannst Du dies recht einfach durch Nutzung der folgenden Dienste einrichten:

  • bei ThingSpeak.com durch die Dienste
    • „ThingHTTP“ und „React“ im Zusammenspiel mit dem bei
  • IFTTT.com verfügbaren Dienst
    • „WebHooks“

Vorbedingungen:

  • Du nutzt die HoneyPi Lösung und Deine Sensordaten werden bereits in ein ThingSpeak Konto übertragen
  • Du hast die App IFTTT aus dem App Store (iOS) oder aus dem PlayStore (Android) auf das Smartphone geladen und einen Account bei IFTTT eingerichtet
  • Du nutzt einen Browser wie Firefox (nicht unbedingt Safari) – denn dann funktionieren alle Buttons

In der folgenden Reihenfolge musst Du vorgehen:

  1. Unter IFTTT.com auf dem PC oder Mac mit dem erstellen Account anmelden (Sign in)
  2. Öffne den Menüpunkt „My Applets“ und klicke auf „New Applet“
  3. Im nächsten Fenster klickst Du auf das blaue „this“. Suche nach „WebHooks“ und klicke dann auf die blaue Kachel „WebHooks“
  4. Klicke jetzt auf die Kachel „Receive a web request“
  5. Im nächsten Fenster gibst Du im Feld „Event name“ einen Namen für den Alarm ein, z.B. „Schwarmalarm“
  6. Klicke jetzt auf den Button „Create trigger“
  7. Im nächsten Fenster jetzt auf das blaue „that“ klicken
  8. Suche jetzt unter „Search action service“ nach „Notifications“ und klicke dann auf die Kachel „Notifications“
  9. In dem Fenster „Choose action“ jetzt auf die Kachel „Send a rich notification from the IFTTT app“
  10. Im nächsten Fenster nun im Feld „Title“ einen Namen für die Meldung vergeben, z.B. „Schwarmalarm Volk 1“

11. Im Feld „Message“ kannst Du nun den gesamten Text ändern. Allerdings muss unbedingt der Name, den Du oben für „Event name“ vergeben hast, in dem weißen Feld „EventName“ eingetragen werden

Das kann dann so aussehen:

12. Klicke dann weiter unten auf „Create action”

13. Im nächsten Fenster „Review and finish“ nun auf „Finish“ klicken. Das sollte dann auf der nächsten Seite so aussehen:

14 . Jetzt musst Du oben links auf „WebHooks“ klicken

15. Im nächsten Fenster oben rechts auf „Documentation“ klicken

16. Nun öffnet sich ein Fenster, das so aussehen sollte:

Wichtig ist jetzt der hier angegebene Link. In diesem Link muss „event“ mit den geschweiften Klammern durch Deinen Event-Namen „Schwarmalarm1“ ersetzt werden. Diesen Link dann mit dem ersetzten Event-Namen kopieren und irgendwo zwischenspeichern. Wir benötigen ihn später noch.

https://maker.ifttt.com/trigger/Schwarmalarm1/with/key/xxxxxxxxxxxxxxxxxxxxxx

(die x sind bei Euch individuell und automatisch vorgegeben)

17. Jetzt das Fenster im Browser schließen

18. Weiter geht es mit ThingSpeak

19. Jetzt ThingSpeak.com öffnen und über „Sign in“ einloggen

20. In der Menüzeile über „Apps“ die Einstellungsseite „ThingHTTP“ öffnen

21. Klicke auf den grünen Button „New ThingHTTP“

22. Im Feld „URL“ trägst Du jetzt den Link ein, den wir uns oben zwischengespeichert hatten

23. Das Feld „Method“ muss auf „Get“ eingestellt sein. Alle anderen Felder lassen wir unverändert

24. Wir merken uns noch ganz oben unter „Name“ die Zahl, die hinter „Request“ steht

25. Jetzt das Fenster über den grünen Button „Save ThingHTTP“ schließen

26. Nun ganz oben in der Menüzeile über „Apps“ „React“ aufrufen

27. Oben im Feld „React Name“ einen Namen eintragen, z.B. „Mein Schwarmalarm“

28. „Condition Type“ auf „numeric“ umstellen

29. Nun bei „Condition“ unter „If channel“ Deinen ThingSpeak Channel auswählen

30. …und bei „field“ das Datenfeld für den Messwert der Waage auswählen, im zweiten Feld von „contains“ auf „is less or equal to“ umstellen, im dritten Feld das Gewicht einstellen, ab dem die Notification verschickt werden soll (z.B. 40kg)

31. Bei „Action“ muss „ThingHTTP“ stehen und bei „then perfom ThingHTTP“ muss die Zahl des „Request“ stehen, die wir uns oben gemerkt hatten

32. Bei „Options“ solltest Du „Run action only the first time the condition is met“ auswählen

33. Jetzt noch die Eingaben mit „Save React“ speichern

…und schon, nach diesen nur wenigen und einfachen Schritten ;-), solltest Du eine Notification bekommen, wenn das Gewicht deines Bienenstocks unter 40kg fällt.

Natürlich kann man diese Funktion auch beliebig für viele andere Dinge nutzen. IFTTT.com (IF This Then That) bietet fast unbegrenzte Möglichkeiten, die man mit einem bestimmten Event verknüpfen kann.

Print Friendly, PDF & Email

7 thoughts on “Notifications über ThingSpeak und IFTTT

  1. Andreas

    Ich möchte gerne noch etwas ergänzen, und zwar wie man Werte wie aktuelles Gewicht oder die Temperatur mitschickt – basierend auf https://www.elecfreaks.com/store/blog/post/how-to-send-temperature-threshold-value-alarm-email-via-ifttt.html/ die einfache Ergänzung:

    Man muss die “Method” auf “Post” umstellen (ganz wichtig! Damit werden nämlich Daten sozusagen an ITFFF übertragen). Beim “Content Type:” muss man “application/json” eintragen und dann im “Body” Feld “{“value1″:”%%channel_xxxxx_field_1%%”}” wobei ihr xxxx durch die Nummer eures Channels ersetzen müsst.

    Wollt ihr mehrere Werte übergeben bzw auswerten, dann könnt ihr diese einfach via Komma ergänzen like this:

    {“value1″:”%%channel_xxxxxx_field_1%%”, “value2″:”%%channel_xxxxx_field_2%%”}

    Hoffe, es hilft!

    LG
    Andreas

    Reply
  2. Marcus Werner

    Ich denke für die Benachrichtigung wäre die Gewichtsänderung von Vorteil. Also mathematisch die erste Ableitung.
    Somit muss man nicht bei Gewichtszunahme durch Honig und/und Volkszuwachs immer den Wert korrigieren.
    Grüße

    Reply
    1. Friedrich

      Ja, das macht natürlich mehr Sinn. Ich weiß nur nicht, ob man bei dem kostenlosen ThingSpeak Account auf Basis einer Meßwertkurve eine neue Kurve als 1. Ableitung programmieren kann. Ich werde mal bei ThingSpeak gucken. Vielleicht können wir ja auch Javan überzeugen diese Funktion in der Firmware für beliebige Kurven anzubieten 😉

      Reply
    2. Friedrich

      Also ich glaube schon, dass man unter ThingSpeak eine neue Kurve als 1. Ableitung auf Basis einer anderen Kurve programmieren könnte. Es gibt auf der Mathworks Seite verschiedenste Beispiele. Aber ich kann leider nicht programmieren – ein Grund, warum ich auf die HoneyPi Lösung gesetzt habe ;-). Da müssen wir also auf andere Experten hoffen.

      Reply
    3. Friedrich

      So, habe ziemlich lange probiert und nach der entsprechenden Funktion in Thingspeak gesucht. Aber nun habe ich die Ableitung für die Gewichtskurve (im Beispiel für die letzten 60 Minuten) erstellt:
      Natürlich muss man jetzt noch ein bisschen herum probieren, bei welchen Ableitungswerten über React und IFTTT eine Notification abgesetzt werden muss.
      Der Code wird als MATLAB Analysis angelegt und dann über TimeControl alle 5 Minuten getriggert.

      % Enter your MATLAB Code below
      fieldNumber = 1;
      readChannelID1 = xxxxxxx;
      readAPIKey1 = ‘xxxxxxxxxxxxxxxxxxx’;
      writeAPIKey1 = ‘xxxxxxxxxxxxxxxxxxx’;

      writeChannelID2 = xxxxxxxx;
      readAPIKey2 = ‘xxxxxxxxxxxxxxxxxx’;
      writeAPIKey2 = ‘xxxxxxxxxxxxxxxxxx’;

      %Hier werden die Gewichtsdaten der letzten 60 Minuten gelesen:
      data = thingSpeakRead(readChannelID1, ‘Fields’, fieldNumber,…
      ‘NumMinutes’,1*60,…
      ‘ReadKey’, readAPIKey1);

      %Hier wird über diese Daten die Ableitung gebildet:
      Ableitung = std(data);

      %Und hier wird die Ableitung in einen zweiten Channel geschrieben, Channel, nicht einfach nur ein anderes Field des %Read-Channels!
      thingSpeakWrite(writeChannelID2,’Fields’,[3],’values’,[Ableitung],’WriteKey’,writeAPIKey2);

      Reply
  3. Marcus Werner

    Ich hab es versucht, klappt aber nichts für schwache Nerven. :))
    Super beschrieben, Danke

    Reply
    1. Friedrich

      Danke 🙂 hahahaha – ja stimmt, nichts für schwache Nerven ;-)) Aber schön, dass es bei Dir auch funktioniert!

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *