YESLY Smart Home

Kleine LUA Scripte Teil 13: Interaktive Push Notifications

Geschrieben von boomx
siio-App

Fibaro hat mal wieder eine neue Funktion in der neuen Firmware ohne jegliche, öffentliche Dokumentation rausgehauen. Diesmal handelt es sich um eine neue Art der Push-Benachrichtigung.

Wie Ihr in dem Beitragsbild erkennen könnt, gibt es nun mit den sogenannten „Interactive PUSH notifications“ (O-Ton Fibaro) die Möglichkeit mit einer Szene auf dem HC2 zu interagieren. Theoretisch können hier jetzt Szenen gestartet (RUN, beziehungsweise YES) oder Szenen abgebrochen (CANCEL) oder auch nicht ausgeführt werden (NO). Dafür nutzt Fibaro die sogenannte 3D Touch-Funktionalität der neueren iPhones. Ihr könnt also, nachdem Ihr euch eine solche Push zugeschickt habt, etwas doller auf die Push-Nachricht drücken und die oben genannten Aktionen erscheinen und Ihr könnt eine Aktion auswählen. Wie diese Funktion bei älteren iPhones ohne 3D Touch oder bei Android-Handys umgesetzt wurde, können wir leider nicht testen.

Als zusätzliches Feature können jetzt zwei Zeilen der Push angepasst werden und der Name, also Fibaro HC-xxxxxxx, ist aus den Push-Nachrichten verschwunden. Der letztere Punkt ist übrigens auch bei den „normalen“ Push-Nachrichten umgesetzt und dort erscheint nur noch „HomeCenter“. Kommen wir jetzt zu der benötigten LUA-Funktion (In Blockszenen ist dies bisher noch nicht umgesetzt).

LUA Szene zum Versenden von „Interactive PUSH notifications“

In dieser Szene müsst Ihr noch ein paar Konfigurationen durchführen. Dafür haben wir euch alle wichtigen Informationen in lokale Variablen ausgelagert, so dass Ihr diese übersichtlich anpassen könnt. Wir gehen diese jetzt mal einzeln durch:
Hier müssen eure IDs der Handys eingetragen werden. Solltet Ihr diese nicht kennen, so könnt Ihr diese aus der API auslesen. Diese findet Ihr unter der URL http://IP-HC/api/devices. Dort könnt Ihr dann nach dem Namen des Handys suchen und die ID aus der JSON-Datei auslesen. Die IDs müssen mit einem Komma getrennt in den geschweiften Klammern aufgeführt werden. Sollte nur eine ID eingetragen werden, dann werden die geschweiften Klammern trotzdem benötigt.
ID Handy

ID Handy

An dieser Stelle kann der Titel der Push Nachricht festgelegt werden. Dieser kann als Typ String frei vergeben werden. In dem Bild nach den fünf notwendigen Konfigurationen erkennt Ihr an welcher Stelle (rote Markierung) dieser Titel auftaucht.
Hier kann die Message der Push bestimmt werden. In dem Bild ist diese Message blau markiert.
Es gibt zwei unterschiedliche Kategorien der interaktiven Push Benachrichtigungen. Dies ist zum einen „RUN_CANCEL“ und „YES_NO“. Die Unterschiede könnt Ihr in dem Bild ausmachen. Diese wurden grün markiert. Andere Konstellationen funktionieren an dieser Stelle nicht!
Als letztes muss nur noch die ID der Szene, welche Ihr über die Push Nachricht steuern wollt, eingetragen werden. Diese ID könnt Ihr aus der URL-Leiste eures Browsers auslesen, wenn Ihr in der Konfiguration der entsprechenden Szene seid.
Unterschiede zwischen den 2 Kategoerien & farbliche Markierungen

Unterschiede zwischen den 2 Kategoerien & farbliche Markierungen

Das war es dann auch schon… Als Firmware wird hier mindestens die 4.104-Beta vorausgesetzt, mit vorher veröffentlichen Firmwares funktioniert das nicht.

Wenn Ihr die Szene jetzt manuell ausführt, dann sollte an alle hinterlegten HandyIDs eine Push-Nachricht versendet werden, mit der Ihr interagieren könnt. In unseren Tests hat das bisher leider nicht zuverlässig funktioniert und wir haben nicht alle Kombinationen getestet.

Könnt Ihr euch vorstellen diese Funktion zu nutzen? Wenn ja, habt Ihr dafür schon Ideen? Wie sind eure Tests verlaufen, hat es zuverlässig funktioniert? Wir würden uns über eure Kommentare freuen.

Diesen Blogpost hat geschrieben ...

boomx

27 Kommentare

  • Hallo,

    es ist eine super Sache. Vielen Dank.
    Jetzt hätte ich aber noch eine Frage:
    Ich habe die Push Nachricht so gestaltet, dass ich eine Yes_No abfrage bekomme. Wie kann ich jetzt z.B. an einem Virtuellen Gerät entsprechend der Antwort Buttons betätigen? Also bei Yes Button21 und bei No Button11?

    Vielen Dank

    • Geräte können dadurch nicht direkt gesteuert werden. Du musst das Gerät in eine Szene legen. Am besten baust du eine grafische Szene, WENN Zeit = einmaliges Datum DANN virtuelles Gerät Button 3 drücken
      Die ID der Szene trägst du in das LUA Script oben ein.
      Wenn eine Szene manuell gestartet oder von einer anderen Szene getriggert wird, werden die Bedingungen übersprungen. Somit wird das ausgeführt, was im DANN Bereich steht.

      • Diese Aussage von crissxcross:

        „Wenn eine Szene manuell gestartet oder von einer anderen Szene getriggert wird, werden die Bedingungen übersprungen. Somit wird das ausgeführt, was im DANN Bereich steht.“

        …hat bei mir quasi den gordischen Knoten gelöst! Diese Aussage ist also (für mich) enorm wertvoll.

        Deshalb ein grosses Dankeschön an dieser Stelle an beide: boomx und crissxcross.

        Frage: Hast Du irgendeine Vermutung oder Spekulation, warum Fibaro solche (durchaus gute) Features (wie eben diese interaktive Push-Notifikationen) einführt, ohne irgendeine Form von Kommunikation mitzuliefern?

        • Hi,

          kein Problem, gerne :)

          Die Funktion wird noch nicht fertig sein, weshalb Fibaro dies nicht kommuniziert. Im Moment wird es über die API ausgeführt, da wird Fibaro noch eine fertige Funktion einführen und dann werden Sie es sicherlich auch kommunizieren.

          Gruß

  • Hi,

    Danke für den Post. Sehr interessant. Und ja, wir können bei uns diese Funktion nutzen und ja die interaktiven Push-Nachrichten funktionieren, soweit wir es testen konnten, 100%-ig zuverlässig.

    Mögliche Ideen zur Umsetzung:

    a) Wir haben drei Sirenen im Haus. Wenn ein Alarm ausgelöst wird, gehen bis anhin alle drei Sirenen gleichzeitig los. Wir sind nun am prüfen, ob nur noch eine Sirene bei Alarm ausgelöst werden soll. Wenn wir dann via interactiver Push-Nachricht über den Alarm informiert werden, können wir via Kamera prüfen, was zuhause abgeht. Sollte es ein Einbrecher sein, könnten wir via „YES/NO“ buttion wählen, ob die Sirene 2 und 3 auch noch aktiviert werden soll.

    b) Wenn wir uns dem Zuhause auf 300 Meter annähern und die Alarmanlage ist noch scharf, soll die Push-Nachricht aktiviert werden: „Alarmanlage ist noch scharf“. Mit der Folgefrage: „Soll Alarmanlage entschärft werden?“ –> Yes/No.

    c) Wenn wir das Zuhause verlassen ohne dass wir die Alarmanlage geschärft haben, soll nach 300 Meter Entfernung von Zuhause die Push-Nachricht aktiviert werden: „Sie haben Ihr Zuhause verlassen“ mit der Folgefrage: „Soll Alarmanlage noch geschärft werden?“ –> Yes/No.

    Es eröffnet sich nun die Möglichkeit eine Szene, welche zuvor automatisch ausgelöst wurde, via interaktiver Push-Nachricht, nochmals den Mensch zuerst entscheiden zu lassen, ob diese Szene wirklich ausgeführt werden soll (siehe Beispiel a)).

    Interaktive Push-Nachrichten können aber auch für vergessliche Menschein hilfreich sein, wie unter b) und c) geschildert.

    Gruss

    • Hi, wir haben nun alle 3 Beispiele a), b) und c) getestet und diese funktionieren mehrheitlich.

      „Mehrheitlich“ heisst nicht „immer“. Und zwar nicht immer bei den GPS bezogenen Szenen. In vielleicht 5% der Fälle wird die Szene nicht ausgelöst, obwohl man offensichtlich länger als die definierten Zeitintervalle sich inner- oder ausserhalb einer definierten GPS-Zone aufhält, und der relevante GPS Punkt auf der Karte (unter „Family“) auch generiert wurde.

      Kommt noch dazu, dass die Batterie des Smartphones sich sehr schnell leersaugen lässt, wenn das GPS-tracking der Fibaro-App auf „alwways“ (GPS tracking) aktiviert ist. Alles andere als „always“ ergäbe bei den Szenen b) und c) ja auch keinen Sinn. Rein testhalber haben wir dann die Intervalle von zuerst 1 Minute auf 5 und später auf 15 Minuten erhöht, sodass die Szenen gar nicht mehr funktionierten, aber selbst dies brachte keine Batterieschonung des Smartphones, da offenbar das GPS tracking bei „always“, wie es der Name sagt, „immer“ aktiv ist, obwohl es nur alle 15 Minuten eine Standortmeldung an das Homecenter sendet.

      Fazit ist für uns, dass wir interaktive Pushnachrichten nicht mit GPS gesteuerten Szenen mehr kombinieren wollen. Dafür eher für Situationen wie vom Autor geschildert: „Alarm wurde ausgelöst! Willst du diesen abstellen? –> Yes/No.

      Gruss

      • Hi,

        danke nochmals für deinen Input. GPS mit Fibaro ist derzeit 0 ausgereift. Ich finde aber auch keine andere Anwendung, mit der GPS wirklich 100% funktioniert. Für eine dauerhafte Überwachung ist einfach der Akku-Verbrauch viel zu hoch. Ist aber eher ein Problem des Systems an sich.

        Gruß

  • Hallo Zusammen!

    Ich versuche gerade auf meiner Fibaro HC2 (4.110) eine Szene per Interaktive Push ausführen zu lassen.
    Die Interaktive Push kommt auch auf meinem Iphone an und durch den 3D Touch lassen sich auch RUN_CANCEL oder YES_NO anwählen.
    Leider verweigert die Fibaro das ausführen der Szene!?

    Ich habe die Interaktive Push mal als Block Szene nachgebaut. (Datum in der Vergangenheit -> Interaktive Push -> Testnachricht -> Iphone -> Run&Cancel -> Licht einschaltem) Auch hier zeigt die Fibaro leider keine Reaktion! Push kommt an – aber es wird keine Szene gestartet!?

    Stehe ich auf dem Schlauch? was mache ich falsch?

    Danke
    Markus

  • Hi,

    ich war gerade um Überlegen, ob ich mir für die „Spülmaschine ist fertig“-Info hiermit über das YES auch eine erneute Erinnerung/Interaktive Push nach 15 Minuten zusenden kann.
    Die for-Schleife habe ich dazu eine settimeout-function gepackt. Mal sehen, wie es sich bewährt

    Bisher kamen alle Test-iPushes am Handy an.

    VG Hoggle

  • Hallo Zusammen,
    mir ist folgendes aufgefallen :

    Die Aktive Push funktionieren bei mir nur lokal!

    Wenn ich nicht im Wlan bin werden die Befehle nicht ausgeführt.
    Ist das normal oder kann jemand die aktive Push unterwegs nutzen?

    Danke ….

    Gruß

    MArkus

        • Hi Markus

          Diesen Test haben wir so noch nie gemacht. Wir haben einfach die 3 von mir oben beschriebenen Szenarien umgesetzt und erhielten die interaktive Push immer (und wenn doch nicht, dann hatte es mit den GPS-Szenen zu tun), unabhängig davon, ob wir auf dem Mobilfunknetz oder auf WiFi waren.

          Gruss

      • Hallo,

        ich habe dasselbe Problem wie Markus.

        Interactive Push-Nachrichten kommen an, aber das Starten einer weiteren Szene mit „Run“ oder „Yes“ funktioniert nur wenn ich zu Hause im Netzwerk bin. Sobald ich über Mobilfunk oder aus einem anderen WLan versuche die Szene mit „Run“ zu starten, reagiert die Fibaro nicht.

        Ich verwende ein iPhone 6sPlus. Vielleicht funktioniert es momentan nur auf einem Android-Gerät?

        Habe leider keine Gelegenheit das zu testen.

        Gruß Tom

  • Hallo Zusammen,
    ich verwende ebenfalls ein Iphone.

    Noch mal zum Verständins:
    Die Interaktiven Push´s werden auch bei mir zugestellt.
    Starten über RUN auch eine ausgewählte Szene.

    -> Allerdings NUR im Wlan! Also nicht von unterwegs!

    Beispiel :

    – Ich tracke per IFTTT mein „Coming Home“ (funktioniert)
    – Fibaro schreibt eine Interaktive Push „Willkomen zu Hause ! Soll ich die Garage öffen?“(funktioniert)
    – Ich drücke auf „run“ -> Fehlfunktion da mein Handy noch nicht im Wlan ist! -> Garage bleibt zu !

    Warte ich bis mein Handy mit dem Wlan verbunden ist … drücke dann „run“ -> Öffnet sich die Garage!

    Also noch mal die Frage :
    Kann jemand unterwegs (ohne WLAN) eine Interaktive Push ausführen?
    Bedeutet -> Wird die Szene dadurch auch gestartet ?

    Danke

    Markus

  • Hi,

    super Sache.

    Wie baue ich das jetzt in mein Waschmaschinen Script ein? Dann kann ich entscheiden ob die Waschmaschine abgeschaltet wird oder für eine weiter Wäsche an bleibt.

    Grüße
    gringo

  • Nun kamen wir auch dazu, das Ganze ausführlich zu testen. Und ja, auch bei uns werden die RUN-Befehle via interaktiven Push nur ausgeführt, wenn man im WLAN ist. Gruss

  • Hi, mit der neuen App funktioniert die interaktive Push nicht mehr. Oder habe nur ich das Problem. Habe nämlich nichts geändert und seit kurzem geht es nicht mehr.
    Habt ihr da schon eine Lösung?

Gib deinen Senf dazu!