Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wert aus Google Assistant über IFTTT als Trigger in Szene

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wert aus Google Assistant über IFTTT als Trigger in Szene

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andre-Acer last edited by

      Hallo zusammen!

      Ich habe mir vor kurzem meine ioBroker Umgebung aufgebaut und nutze bereits erfolgreich div. Adapter und Szenen, um damit einfache "Wenn-Dann"-Regeln zwischen Geräten abzubilden.

      Eine Sache ist allerdings für mich komplizierter: Ich konnte über den Umweg IFTTT eine Kommunikation zwischen Google Assistant und meinem DENON AV-Receiver herstellen. So sende ich aktuell über eine IFTTT Applet ja einen Text an ioBroker, den ich wiederum im Szenen Adapter auslesen und in eine Funktion beim DENON übersetzen kann. So lasse ich z.B. den DENON per Sprachbefehl einschalten.

      Ich möchte allerdings nun die Lautstärke steuern können, welche von 0…98 geht. Dabei möchte ich Variablen nutzen. Beispiel:

      Dem Assistant sage ich "Setze Lautstärke von DENON auf 55", dann sollte die Szene die Zahl 55 erkennen und sie an den DENON Datenpunkt für die Lautstärke schicken. Ist es möglich eine solche "Wenn, dann"-Regel an der Stelle der 55 mit einer Variable zu versehen, so dass automatisch immer der gesprochene Wert an den DENON geschickt wird mit dem Szenen-Adapter?

      Oder muss ich sowas zwingend mit einem Skript machen - bisher drücke ich mich davor, da alle meine Wunsch-Regeln bisher über den Szenen-Adapter abbildbar waren...

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        Das wird ein Script…

        Scenen kan man nur feste Werte definieren (soweit ich weiß) und in einem Script mit variablen arbeiten wo die Variable einen x Wert annehmen kan

        Sent from my iPhone using Tapatalk

        1 Reply Last reply Reply Quote 0
        • A
          Andre-Acer last edited by

          Danke Dir…ich habs geahnt - bin natürlich noch ganz am Anfang und kein Programmierer. Da muss man schon echt ne Zeit mit Blockly verbringen.

          Gibts vielleicht ein Beispiel an dem ich mich orientieren kann, in der Form:

          "Wenn OBJEKT 1 sich ändert und den Wert ## hat, dann setze bei OBJEKT 2 den Wert ##" ?

          Wobei # die Variable sein soll, damit ich hier beliebige Lautstärke Wert zwischen 0 und 98 einsetzen kann (z.B. indem ich Google Assistant sage "Setze Lautstärke auf 45") und über IFTTT wird dann z.B. DENON# (also DENON45) - an iobroker übergeben?

          Zumindest irgendwas ähnliches, damit ich einen Anfang habe?

          1 Reply Last reply Reply Quote 0
          • A
            Andre-Acer last edited by

            So, ich hab mich mal an etwas Ähnlichem mit Blockly versucht. Ziel:

            Wenn ich Google Assistant sage "Setze Rolladen Hauswirtschaftsraum auf # %", dann sollte dies an IFTTT gehen und von dort aus zum ioBroker zum Fahren des Rolladen Hauswirtschaftsraums auf 30% führen.

            Ein entsprechendes Applet in IFTTT mit "Setze Rolladen $ auf # %" habe ich bereits, Ausgabe über Webhook als Text an ioBroker in Form von "$#" - also in dem Beispiel "Hauswirtschaftsraum30". Soweit läuft dies korrekt, es kommt auch immer der korrekt Wert in ioBroker an - das kann ich in den Objekten sehen und durch Einbindung in eine Szene auch erfolgreich testen.

            Nun habe ich ein Skript in Blockly gemacht, gemäß dieser Vorlage viewtopic.php?f=23&t=4902&start=120#p98534. Nur leider läuft dies kein bisschen. Ich habe bereits nach der ersten Abfrage einen Debug eingeschoben - es steht aber leider nichts im Blockly Log, wirklich gar nichts, so als würde es nicht gestartet…Javascript Adapter wurde aktualisiert und neugestartet. Cloud-Adapter ebenso (wobei wie gesagt der Wert von IFTTT genau wie gewünscht ankommt...) hat einer eine Idee?

            8708_blocklyskrtip.jpg

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              Deine JavaScript Instanz ist actief ?

              Du hast das Script gestartet ?

              Was kommt im Log ?

              Beim Starten des Scripts muss ein Log Eintrag kommen und beim triggern des ifttt Werts das hast du soweit richtig gemacht.

              Ist das Log Lehr auf dem tabblad Scripte oder auch d m Tab Log ?

              Sent from my iPhone using Tapatalk

              1 Reply Last reply Reply Quote 0
              • A
                Andre-Acer last edited by

                Ja, Instanz ist aktiv und Skript ebenfalls. Beides habe ich mehrfach geprüft und einmal auch die Javascript Instanz gelöscht und neuangelegt.

                Im ioBroker Log (also das auf der ioBroker Hauptseite) gibt es keinerlei Eintrag bezüglich des Skripts und im Debug-Tab unter dem Skript-Editor auch keinerlei Eintrag:

                8708_blocklyskriptlog.jpg

                8708_instanzen.jpg

                Eine Sache fällt mir allerdings auf: Wenn ich direkt bei den Objekten schaue, sehe ich den zuletzt mit dem IFTTT Applet von mir erzeugten Wert, der aus IFTTT kommen soll. So habe ich gerade auf das Applet dazu gebracht, dass es "Hauswirtschaftsraum57" schicken soll.

                8708_objekt.jpg

                Wenn ich aber in Blockly, an den Stellen wo ich das IFTTT Objekt einsetze, wieder einsteige um eines auszwählen, dann ist da für den IFTTT Service folgender Wert (ich hab zudem mal ein MouseOver gemacht, damit die Zeit der letzten Änderung sieht).

                Es wirkt für mich so, als ob die IFTTT Verbindung zu ioBroker grundsätzlich passt (sie funktioniert auch, wenn ich sie z.B. in Szenen einbinde!), aber irgendwie die Javescript Instanz nicht die Aktualisierung des Wertes zeitnah erhält?

                8708_idausw_hlen_inblockly.jpg

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  Nein das ist normal diese Pop-up zeigt öfters die älteren werten das ist nur ein Ansicht Fehler der wert selber stimmt.

                  Ich sehe keine Screenshot vom tabblad Log ?

                  Sent from my iPhone using Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • A
                    Andre-Acer last edited by

                    Nach dem Neustart des Javascript Adapters und einem Versuch das Skript auszulösen kommt das hier ins Log:

                    javascript.0 2018-09-11 10:21:23.411 info script.js.Rollladen2: registered 1 subscription and 0 schedules

                    javascript.0 2018-09-11 10:21:23.410 info script.js.Rollladen2: subscribe: {"pattern":{"id":"javascript.0.Hauswirtschaftsraum31","change":"ne"},"name":"script.js.Rollladen2"}

                    javascript.0 2018-09-11 10:21:23.410 info script.js.Rollladen2: getState(id=cloud.0.services.ifttt, timerId=0) => {"val":"Hauswirtschaftsraum31","ack":true,"ts":1536654015834,"q":0,"from":"system.adapter.cloud.0","lc":1536654015834}

                    javascript.0 2018-09-11 10:21:23.403 info Start javascript script.js.Rollladen2

                    javascript.0 2018-09-11 10:21:23.389 info received all objects

                    javascript.0 2018-09-11 10:21:23.239 info received all states

                    javascript.0 2018-09-11 10:21:23.098 info requesting all objects

                    javascript.0 2018-09-11 10:21:23.092 info requesting all states

                    javascript.0 2018-09-11 10:21:23.082 info starting. Version 3.6.4 in C:/ioBroker/node_modules/iobroker.javascript, node: v6.14.4

                    1 Reply Last reply Reply Quote 0
                    • A
                      Andre-Acer last edited by

                      Nun läuft es plötzlich…warum auch immer...es gibt stundenlang nicht...

                      Hab übrigens einen Logikfehler festgestellt - in der Ausgabe des Applets von IFTTT habe anstatt $# nun $00# gemacht, da das Skript bei einstelligen Angaben immer den letzten Buchstaben mitgezogen hat und die Eingabe in das Rollladen-Objekt natürlich nicht zu lässig ist. Genauso muss ich das SKript auf die letzten drei Stellen erweitern, damit auch 100% als Angabe funktioniert.

                      Danke auch wenn es nun von allein geklappt hat 🙂

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      829
                      Online

                      31.7k
                      Users

                      79.9k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      1013
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo