Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Virtueller Datenpunkt, iot Adapter, Google Home

    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

    Virtueller Datenpunkt, iot Adapter, Google Home

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wusa last edited by

      Hallo Zusammen,

      da ich noch sehr neu bin in Sachen ioBroker bräuchte ich euren Ratschlag.
      Ich habe viele Rollläden bei mir Zuhause und würde diese gerne per Sprachbefehl steuern.
      Ich habe jeden Rollladen (Tahoma) in ioBroker. Dort kann ich auf einen Wert zugreifen, der eine Zahl erwartet. So kann ich zb. bei Google sagen "Hey Google fahre Wohnzimmer auf 100%". So schließt der Rollladen komplett.
      So habe ich jeden Rollladen angelegt.
      In Google Home habe ich mir jetzt so geholfen, dass ich ein benutzerdefiniertes Skript eingefügt habe, damit ich nur sagen muss "Hey Google, Erdgeschloss schließen" und dahinter liegen dann die Werte, wie zb. Wohnzimmer auf 100%

      Das ganze geht dann an iobroker weiter zu einem "set".

      Ist es irgendwie möglich, einen virtuellen Datenpunkt anzulegen, auf den ich im iot Adapter bzw. bei Google Home verweisen kann und dieser für dann iobroker intern die Befehle aus.
      Momentan habe ich nämlich relativ viele Befehle, die durch den iot Adapter müssen.
      Würde das intern Regeln, dass ich einen Punkt der durch den iot muss und intern könne ich dann die Werte weiter an den richtigen Datenpunkt übergeben.

      Danke

      Cinimod 1 Reply Last reply Reply Quote 0
      • Cinimod
        Cinimod Most Active @wusa last edited by Cinimod

        @wusa

        Ja genau so sollte man das lösen, du kannst unter Objekte, im verzeichnis "0_userdata.0" eigene Verzeichnisse und Datenpunkte anlegen. oben auf das + dann kannst auswählen ob du Verzeichnis oder Datenpunkt anlegen willst.

        Bildschirmfoto 2021-11-13 um 09.05.30.png

        Datenpunkte musst du immer vom Verzeichnis 0 ausgehend anlegen, also den ordner 0_userddata.0 makrieren und dann auf auf + einen Datanpunkt anlegen, dann musst du natürlich den Pfad von 0 ausgehen erweitern, Verzeichnisse sind mit "." zu trennen. Ganz oben im Fenster kannst du dann den Pfad und Datenpunkt sehen den du anlegen willst.

        Beispiel:

        Bildschirmfoto 2021-11-13 um 09.07.11.png

        W 1 Reply Last reply Reply Quote 0
        • W
          wusa @Cinimod last edited by

          @cinimod
          Ich habe das jetzt genau so angelegt, wie du beschrieben hast. Jetzt habe ich aber nur einen Ordner und den Datenpunkt da drin liegen?
          Wie "verlinke" ich jetzt hier irgendwelche Rollos? bzw. den richtigen State, damit der Rollo fährt?

          Cinimod 1 Reply Last reply Reply Quote 0
          • Cinimod
            Cinimod Most Active @wusa last edited by Cinimod

            @wusa mit Alexa und co. kannst du jetzt diesen Datenpunkt ansteuern, und via Skript kannst du auf die Änderungen reagieren.
            Dazu brauchst du den Javascript Adapter, falls du den noch nicht hat, für den fall das du die Java Sprache nicht oder nicht gut beherrschst, würde ich dir empfehlen deine Skripte mit Blockly zu schreiben.

            du kannst den Datenpunkt z.b. nutzen für ein Rollo, oder auch für ne ganze Wohnung oder Etage.

            Ggf. solltest du den Datenpunkt noch ändern auf "boolean", wenn du ihn nur für true und false nutzen willst.

            W 1 Reply Last reply Reply Quote 0
            • W
              wusa @Cinimod last edited by wusa

              @cinimod

              So ich habe jetzt den javascript Adapter installiert und versuche mich gerade an Blockly. Mit Javascript bin ich bisher noch nie in Kontakt gewesen.

              Momentan sieht das ganze bei mir so aus:
              Objekte:
              0979178b-c737-46fc-a72a-dd7928de0ef5-image.png

              Dort gibt es den Eintrag core:ClosureState mit 0%

              Das ganze ist mit einem Alias verknüpft. Dort wird auf den core:ClosureState zugegriffen.
              3f6babb7-6e16-4a2f-9f3c-717fdaa1904e-image.png

              Hier dann noch der iot Adapter:
              6df6a1db-3b5f-43cc-bb99-409aa70e784a-image.png

              Sage ich jetzt "Hey Google, Wohnzimmer auf 50%" dann fährt der Rollo auf 50%
              Das ganze habe ich dann in der Google Home App verknüpft mit einem Befehl, der heißt bei mir "Wohnzimmer schliessen" und dahinter ist der Eintrag "Wohnzimmer auf 50%". So funktioniert es bisher relativ gut.

              Jetzt habe ich mich bei dem Blockly versucht, bzw. erstmal bei dem virtuellen Datenpunkt.
              Da weiß ich aber nicht genau, wie ich es umsetzen soll, dass es für Blockly eine gute Ausgangsbasis ist.

              Hier mal die Objekte:
              f2fb036f-5b70-474d-9988-8f5c74d5389d-image.png
              85b53b80-1e76-4478-bd35-5a8192112f78-image.png

              Wäre das eine Ausgangsbasis für Blockly, damit ich ich eine Regel erstellen kann?

              Wenn der Wert Rollos auf 0% dann fahren Rollo x,y,z auf 0%.
              Wenn der Wert Rollo auf 100% dann fahre Rollo x,y,z auf 100%

              Blockly hätte ich mir dann irgendwie in diese Richtung vorgestellt.
              7b4bda3a-ad36-4179-ad51-6ec16afe4473-image.png

              Ich weiß aber nicht, ob ich damit auf dem Holzweg bin.

              Cinimod 2 Replies Last reply Reply Quote 0
              • Cinimod
                Cinimod Most Active @wusa last edited by

                @wusa

                Die Richtung ist schon mal ganz gut, es ist immer davon abhängig was du steuern willst.

                Willst du jetzt einfach mehrere Rollos auf einmal verstellen mit einem Prozentualen Wert, ist dein Datenpunkt schon mal ganz gut. Dann kannst deine Rollos mit dem Wert des Trigger Datenpunktes ansteuern sobald er sich ändert:

                Bildschirmfoto 2021-11-14 um 18.36.10.png

                Du kannst aber auch auch einen true/false (boolean/logikwert) Datenpunkt nehmen, und einfach auf und zu definieren, so etwa: (oben falls true, unten dann sonst (falls nicht true))

                Bildschirmfoto 2021-11-14 um 18.35.29.png

                1 Reply Last reply Reply Quote 0
                • Cinimod
                  Cinimod Most Active @wusa last edited by

                  @wusa sagte in Virtueller Datenpunkt, iot Adapter, Google Home:

                  Wäre das eine Ausgangsbasis für Blockly, damit ich ich eine Regel erstellen kann?

                  Wenn der Wert Rollos auf 0% dann fahren Rollo x,y,z auf 0%.
                  Wenn der Wert Rollo auf 100% dann fahre Rollo x,y,z auf 100%

                  Blockly hätte ich mir dann irgendwie in diese Richtung vorgestellt.
                  7b4bda3a-ad36-4179-ad51-6ec16afe4473-image.png

                  Ich weiß aber nicht, ob ich damit auf dem Holzweg bin.

                  Theoretisch natürlich auch machbar, aber dann definierst du ja nur 0 und 100, würde mir die falls abfrage da ganz schenken, einfach wenn sich Datenpunkt ändert, Rollos mit Wert vom Datenpunkt ansteuern 🙂

                  Oder eben auf und zu wenn dir das so reicht. Das lässt sich natürlich schöner mit Sprache ansteuern, es ist natürlich auch beides möglich, das du auf und zu sagst, oder eine Prozent ansage machst.

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    wusa @Cinimod last edited by

                    @cinimod
                    Ich habe das ganze jetzt mal mit dem true/false probiert.
                    Das klappt aber leider nicht.

                    Hier mal meine 2 Ansätze:
                    9bb2a0aa-a00a-4339-8aa2-b9c99d275539-image.png

                    oder
                    d8b28670-8740-4a23-995c-f3f775ac5496-image.png

                    Hier noch das Objekt selbst:
                    a3276614-bf23-4d73-a39d-ca672ec3df79-image.png

                    Es ist so, wenn ich das Objekt manuell auf "false" setze, dann wird der Wert nicht in den Datenpunkt geschrieben für das Rollo. Der Wert im Rollo bleibt immer bei 0.

                    Habe auch schon mit den Zahlen selbst im Blockly probiert, aber das funktioniert leider auch nicht.

                    Javascript Adapter wurde schon neu gestartet, auch zwischen den Änderungen immer wieder der Blockly selbst gespeichert und neu gestartet.
                    Wo könnte ich hier weiter ansetzen?

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jan1 @wusa last edited by

                      @wusa
                      if true???
                      Was ist wahr? Dein Blockly ergibt kein Sinn.

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        wusa @Jan1 last edited by

                        @jan1
                        a1a4f15f-ee88-4d85-a6a6-aa4ede991825-image.png

                        Verstehe, habe es jetzt so auch schon probiert.

                        Dann fährt der Rollo auf 100 und da bleibt er auch. Ich bekomme den über das Blockly nicht mehr auf 0.
                        Egal ob ich true oder false auswähle, hier wird 0 nicht mehr an den Rollo übergeben.

                        W 1 Reply Last reply Reply Quote 0
                        • W
                          wusa @wusa last edited by

                          Ich glaube ich hab den Fehler gefunden.
                          Mein Objekt sieht so aus:
                          71424cbb-073a-4002-bc13-b8739bb1584b-image.png

                          Dort habe ich ein "state".

                          d70877d9-4d61-4bfd-95a1-52279f2106e1-image.png

                          So läuft es jetzt.

                          J Cinimod 2 Replies Last reply Reply Quote 0
                          • J
                            Jan1 @wusa last edited by

                            @wusa
                            Willst Du das Objekt des Triggers auf true prüfen? Wenn ja, so wie Du das hast, habe ich das noch nicht gesehen, da man da einfach der Block Wert aus den Triggern nimmt und der sich direkt auf das Objekt im Trigger bezieht.
                            Dann ist wie immer =true überflüssig, da die FALLS genau das eh tut 😉

                            1 Reply Last reply Reply Quote 0
                            • Cinimod
                              Cinimod Most Active @wusa last edited by Cinimod

                              @wusa

                              hatte es dir oben doch schon gezeigt, dem Block umstellen auf wert (value), und den brauchst du bei logikwert aber nicht auf true prüfen, weil der blaue falls block ja immer true zum ausführen braucht/erfragt, und der Wert selbst ja schon "true" ergibt.

                              Also kannst den state value Block ohne Prüfung auf true anhängen, weil sein Wert ja selbst schon "true" ergibt.

                              Bildschirmfoto 2021-11-14 um 18.35.29.png

                              Für den fall das deine Bedingungen sich NICHT auf den Wert der Trigger Datenpunktes beziehen, macht man es so:

                              Bildschirmfoto 2021-11-15 um 11.26.59.png

                              Dein Datenpunkt kann natürlich auch einen ganz anderen Wert enthalten, dann als Beispiel mal so:

                              Bildschirmfoto 2021-11-15 um 11.27.52.png

                              Fazit: Prüfungen auf true kannst du dir in der Regel sparen, bei false sieht das aber anders aus, das musst erfragen.

                              Bildschirmfoto 2021-11-15 um 11.42.32.png

                              W 1 Reply Last reply Reply Quote 2
                              • W
                                wusa @Cinimod last edited by

                                @cinimod
                                Ja ich wusste, dass du es mir geschrieben hast. Leider kommt noch hinzu ich hatte noch nie mit Blockly zu tun. Und dann war deins noch deutsch und meines englisch.
                                Hab jetzt aber festgestellt, dass ich die Werte innerhalb ändern kann (value). So hab ich es dann auch verstanden in diesem Fall.

                                Danke für deine Erklärungen. Ich denke, jetzt sollte das ganze laufen.

                                Cinimod 1 Reply Last reply Reply Quote 0
                                • Cinimod
                                  Cinimod Most Active @wusa last edited by

                                  @wusa Gern, viel Erfolg 🙂

                                  J 1 Reply Last reply Reply Quote 1
                                  • J
                                    Jan1 @Cinimod last edited by

                                    @cinimod
                                    selbst erklärend, wenn man mit der Maus drüber fährt 😉
                                    33593f1b-57b9-433f-a7ae-94e3513e68b0-grafik.png

                                    Cinimod 1 Reply Last reply Reply Quote 0
                                    • Cinimod
                                      Cinimod Most Active @Jan1 last edited by

                                      @jan1 habs ja nur gut gemeint, haben alle mal angefangen.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jan1 @Cinimod last edited by

                                        @cinimod
                                        ich auch und so bin ich drauf gekommen 🙂
                                        Ist wie immer, wenn man was anfängt, sollte man alle Infos dazu beachten und Popups die Funktionen beschreiben, sind da eben das einfachste.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        857
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        18
                                        983
                                        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