Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Shellys ("Alt und Plus") über MQTT Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shellys ("Alt und Plus") über MQTT Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @hotspot_2 last edited by

      @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

      @mickym

      Den Flow für den Flur haben wir ja schon zusammen erstellt. Vorne sind drei Lichtschalter und zwei Bewegungsmelder die den Trigger aktivieren können. Das bleibt auch alles so wie es ist. der Trigger sendet ja ein true wenn er aktiviert wurde und wenn 2 Minuten lang nix mehr passiert dann sendet er ja ein false. Dieses True oder false wird in eine JSON gepackt (JSONata) und dann an die drei Lampen geschickt die dann entweder ein oder ausgehen. Funktioniert alles perfekt!

      Ich wollte nun eine der drei Lampen abhängig von der Helligkeit im Raum einschalten. Ist es hell geht die Lampe nicht an, ist es dunkel geht sie an. Ausgehen habe ich mir gedacht kann sie ja immer. Und das habe ich gehofft zu bauen. Mit dem zusätzlichen payload einfügen geht nicht, das passt.

      Ich hätte nun einfach in dem hinteren Switch abgefragt ob payload.params.on true oder false ist und bei true denn Helligkeitswert abgeglichen und bei false das einfach durchgelassen. So die Idee.

      Das habe ich schon verstanden - aber fang doch bitte an mir zu erklären, was Du machst?

      Welche Regel hat die Change Node noch und wie schaut die switch NOde aus?

      H 1 Reply Last reply Reply Quote 0
      • H
        hotspot_2 @mickym last edited by hotspot_2

        @mickym Habs jetzt oben mal eingestellt den aktuellen Stand. Den switch habe ich nur deswegen drin um sicherzustellen daß das Licht immer ausgeht, auch wenn sich eventuell der Helligkeitswert verändert hat.

        b4a6b190-e366-4765-bba5-b4e7b5be3f50-image.png

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @hotspot_2 last edited by mickym

          @hotspot_2 Gut was steht in dem iobroker - Datenpunkt drin? Was machst Du mit der get Node?
          e5dbf76e-9486-4abf-875d-d9882da7c9bb-image.png
          Was soll das?

          44802230-cda8-4230-908c-7e9a8940357c-image.png

          Ich empfehle Dir mal folgendes - damit auch das debuggen lernst. Deaktivere einfach mal die mqtt-out Nodes und mach eine debug NOde - hinten hin. Und dann schau mal was rauskommt?

          H 1 Reply Last reply Reply Quote 0
          • H
            hotspot_2 @mickym last edited by hotspot_2

            @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden. Wenn der Wert im Bewegungsmelder kleiner ist als der Wert aus dem ioBroker Objekt dann geht das Licht mit an.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @hotspot_2 last edited by mickym

              @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

              @mickym Damit wollte ich den Wert den ich einlese über Get (lux_wk) mit dem Wert im Bewegungsmelder (lux) vergleichen wenn kleiner dann soll das licht eingeschaltet werden (also wder wert im Bewegungsmelder).

              Ok - dann ist in der iobroker-Get Node ein Wert der aus Deiner vis kommt. Trotzdem kommt von dem mqtt-Objekt 0,0 an - weil wir das Objekt komplett neu in der Change node machen. Es gibt also keine lux Eigenschaft mehr in deinem payload Objekt. Deswegen mach mal eine Debug Node hinter Deine Change Node und dann siehst Du was Deine payload für Eigenschaften besitzt.

              H 1 Reply Last reply Reply Quote 0
              • H
                hotspot_2 @mickym last edited by hotspot_2

                @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett. Gäbe es eine Möglichkeit den Lux Wert mitzunehmen? Falls ja, müsste ja dann mein Konstrukt funktionieren.

                Aber ja, das mit den Debugs mach ich.

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @hotspot_2 last edited by mickym

                  @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                  @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett.

                  Na wenn Du schon so was befürchtest, wieso ignorierst du das dann? 😁

                  Aber es gibt ja einen Ausweg - wir können ja den Wert in einer Variablen speichern

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

                    @mickym Da wir im Prinzip mit der Trigger Node alles wegschmeissen - kannst Du mit einer Inject Node vor der Trigger Node den Flow testen. 😉

                    Ich habe mir übrigens zum Aktiveren und Deaktivieren von Nodes eine kleine Tastenkombination gebastelt - solltest Du vielleicht auch tun. 😉

                    So kannst Du also Deinen Flow triggern und dann die debug Node immer weiter nach hinten schieben, um zu testen, wie es aussieht:

                    721a0b78-d84e-43d0-99df-f71f4430857a-image.png

                    mickym H 2 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @mickym last edited by

                      @mickym

                      @hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                      @mickym Ok, das habe ich befürchtet, wir überschreiben nach dem Trigger die Payload komplett. Gäbe es eine Möglichkeit den Lux Wert mitzunehmen? Falls ja, müsste ja dann mein Konstrukt funktionieren.

                      Aber ja, das mit den Debugs mach ich.

                      Die Möglichkeit den Lux Wert abzuspeichern - wäre es direkt in eine Flow-Variable zu schreiben.

                      1 Reply Last reply Reply Quote 0
                      • H
                        hotspot_2 @mickym last edited by

                        @mickym
                        bcc86256-3e53-4a3d-ae8a-e1ba9c503a1b-image.png

                        Jupp, passt. Ich seh's schon ;-).

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @hotspot_2 last edited by

                          @hotspot_2 Gut also siehst Du wenn Du Deine Debug Nodes anschaust, dass Deine payload keine Eigenschaft lux mehr besitzt - und ausserdem willst Du ja die lux nur aus dem Waschküchenbewegungsmelder oder?

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            hotspot_2 @mickym last edited by

                            @mickym Ja, nur aus dem Waschküchenbewegungsmelder.

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @hotspot_2 last edited by mickym

                              @hotspot_2 Also dann speichere direkt hinter dem Bewegungsmelderobjekt den Wert in einer Flowvariablen.

                              Am Besten Du simulierst dann die Ausgabe des Bewegungsmelder objektes der Waschküche - also setze deine Inject-Node dorthin mit einem Objekt was aus dem Bewegungsmelder kommt.

                              H mickym 2 Replies Last reply Reply Quote 0
                              • H
                                hotspot_2 @mickym last edited by hotspot_2

                                @mickym
                                Das geht mit Function und etwas JavaScript, oder?

                                flow.set("lux_wk", msg.payload.lux);

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

                                  @mickym Nein KEINE function Nodes. 😉 Das machst Du alles mit einer Change Node. 😉 Du solltest die Variable aber anders nennen - als die Eigenschaft, die Du ihr in der get-Node zuweist.

                                  Also nichts programmieren - wir arbeiten mit NodeRed. 😉

                                  Mach das erst mal so, dass Du Dein Objekt in eine Inject Node verfrachtest und die mqtt-Node simulierst. Du musst die Methodik lernen.

                                  Du hast mir ja so ein Objekt vorher geliefert. Wollen wir das nehmen?

                                  {
                                    "motion": false,
                                    "timestamp": 1680969357,
                                    "active": true,
                                    "vibration": false,
                                    "lux": 0,
                                    "bat": 100,
                                    "tmp": {
                                      "value": 18.7,
                                      "units": "C",
                                      "is_valid": true
                                    }
                                  }
                                  
                                  
                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    hotspot_2 @mickym last edited by

                                    @mickym Stimmt, das ist ja das gewesen. Hab gerade ein Debug Node dran gemacht und bin extra in den Keller gelaufen ;-).

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @hotspot_2 last edited by

                                      @hotspot_2 Nein du sollst nicht mehr in den Keller laufen - wir simulieren direkt in Node Red und Du nutzt eine Inject Node mit diesem Objekt.

                                      H mickym 2 Replies Last reply Reply Quote 0
                                      • H
                                        hotspot_2 @mickym last edited by hotspot_2

                                        @mickym Alles gut, ich war nur im Keller da ich eine komplette Meldung vom Bewegungsmelder haben wollte. das mit den Debugs, den Nodes deaktivieren usw. sitzt jetzt komplett bei mir.

                                        Wie kann ich die flow Variabel debuggen? Geht das auch? Ob sie da ist und einen Wert hat wäre interessant zu wissen.

                                        f868abbc-5bf9-4f58-a9b5-1535b37967bf-image.png

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

                                          Wie kann ich die flow Variabel debuggen? Geht das auch? Ob sie da ist und einen Wert hat wäre interessant zu wissen.

                                          f868abbc-5bf9-4f58-a9b5-1535b37967bf-image.png

                                          Sehr gut - Du brauchst also weder Programmieren noch function nodes. 😉 - Du schaffst das ja. 😉

                                          Den Kontext findest Du im Menü

                                          4122fe8d-6455-4785-a97c-1ec3b9bde4f1-image.png

                                          Du musst aber immer selbst aktualisieren:
                                          6f8dc52d-482b-40f3-8bd9-fcd2f5d5862c-image.png

                                          Das aktualisiert sich nicht selbst.

                                          H 1 Reply Last reply Reply Quote 0
                                          • H
                                            hotspot_2 @mickym last edited by

                                            @mickym

                                            Passt. Danke!

                                            8e4a1147-bfa2-4582-977f-7369909e8ffa-image.png

                                            So, und die kann ich jetzt vergleichen und dann die Werte ändern (lux) und schauen ob das Licht angeht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            532
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            512
                                            67465
                                            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