Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] flow-Sperre selbst bauen. Aber wie?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    365

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[gelöst] flow-Sperre selbst bauen. Aber wie?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 3 Kommentatoren 1.9k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Arnulf
    schrieb am zuletzt editiert von
    #1

    Ich möchte gerne meine Flows so modifizieren, dass an einer bestimmten Stelle des Flows ein Datenpunkt mit "IObroker in" abgefragt wird.

    Ich nenne diesen Datenpunkt "Kindersicherung"

    Wenn er aktiviert ist (true), dass soll der Flow stoppen bzw einen anderen Weg durchlaufen.

    Ist er False, soll der Flow weiter gehen.

    Hintergrund ist, dass kleine Kinder gerne mit Alexa spielen und gerne mal mitten in der Nacht Lichter ein und ausschalten.

    Ich möchte dann also mit der Kindersischerung verhindern, dass der Status einer Lampe verändert werden kann. (über Alexa)

    Wunsch:

    Wemo-Adapter empfängt "an" oder "aus". dann geht es weiter zur Abfrage der Kindersicherung. Ist sie inaktiv, wird das Wemo-Kommando weiter geleitet. Ist sie aktiv, passiert nix oder der aktuelle Lampenstatus wird weiter geleitet.

    Ich könnte es ja auch mit einer Funktion machen. Aber da gibt es ja imer nur einen Eingang.

    Oder ein OR- bzw- AND-node (node-red-contrib-bool-gate). Aber da verstehe ich nicht wirklich, wie man den benutzt.

    Die How-Tos sind sehr "bescheiden"

    Boolesche Logik verstehe ist. Aber nicht, wie man den Node verwendet. :(

    Alternative: Wie kann ich in einem functions-node auf Elemente von Abjekten zugreifen? Das habe ich irgendwie auch nicht hin bekommen

    Hat jemand eine Idee?

    Mittlerweile habe ich das Problem gelöst (s.u.)

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      rewenode
      schrieb am zuletzt editiert von
      #2

      Da kannst du dir ein msg-gate zimmern.

      3999_msg_gate_filter.pdf

      Gruß

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        Arnulf
        schrieb am zuletzt editiert von
        #3

        Sorry. Ich bin zu doof dafür.

        Danke für den Link. Ich verstehe aber schon garnicht, warum hier immer ein Trigger verwendet wird.

        Und ich verstehe nicht, wie man 2 unterschiedliche Eingänge bekommen und verarbeiten kann.

        Ein Eingang wäre ja, das Flag der Sicherung zu bekommen und ein anderer Eingang das Signal, das eigentlich vom Alexa oder Wemo-Node käme.

        Gibt es eine Möglichkeit, in der Funktion irgendwie auf ein State eines Objektszuzugreifen? Dann wäre es für mich viel einfacher zu verstehn.

        :cry:

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          Arnulf
          schrieb am zuletzt editiert von
          #4

          Ich habe nun weider viel gelernt.

          Viel über die Funktionsweise von node-red.

          Ergebnis: ich konnte mein Problem lösen und ist eigentlich ganz einfach.

          man muss nur verstehen, wie die Informationen in node-red weiter geleitet werden und einen Knoten haben, der Zustände in iobroker auslesen kann. Und das innerhalb eines Flows.

          Schlüssel ist ein Knoten, der auf ioBroker zugreifen kann und sowohl einen Eingang als auch einen Ausgang hat.

          Ich glaube nicht, dass dieser Knoten schon im Grundset dabei ist. Leider weiß ich nicht mehr, wie er da im Laufe meiner Versuche reingekommen ist.

          Wenn mir also jemand sagen kann, wie ich erkennen kann, über welches Paket ein Knoten rein gekommen ist, trage ich das gerne nach.

          Auch kann ich leider im Moment keinen Screenshot senden, weil ich im Büro bin :D . Aber ich versuche es zu beschreiben….

          Am Anfang des Flows habe ich einen WeMo-node, der den Flow über einen Trigger (Alexa Sprachkommando) startet.

          Das Kommando soll einen Zustand im IObroker setzen. Hier ist es eine Lampe schalten.

          im nächsten Schritt wandle ich den String im Payload in einen booleschen Wert um. Das kann theoretisch auch später erst gemacht werden weil es für mein Problem nicht relevant ist, aber ich hatte es halt so entschieden.

          Nach der Umwandlung kommt der eigentliche Trick: Ich nehme das Umwandlungsergebnis und führe es in einen Node "iobroker.get" (oder so ähnlich)

          Dieser Knoten macht nicht viel, ist aber für mich das Schweizer Taschenmesser.

          Man kann nämlich hier Variablen von iobroker-Objekten auslesen und sie zusätzlich in das msg-Objekt hinzuzufügen ohne den ursprünglichen payload zu verändern.

          Der nachgeschaltete Switch entscheidet dann, ob das Ergebnis weiter verarbeitet wird oder nicht.

          Und schon habe ich eine Kindersicherung.

          Sehr beim Verständnis über das msg-Objekt hat mir dieser Beitrag geholfen:

          viewtopic.php?t=14632

          1 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            Garf
            schrieb am zuletzt editiert von
            #5

            @Arnulf:

            Sehr beim Verständnis über das msg-Objekt hat mir dieser Beitrag geholfen:

            viewtopic.php?t=14632 `
            Und wer hat es geschrieben? :lol:

            Es gibt eine Vielzahl von Lösungsansätzen.

            Über einen Timer der eine Flow-Variablen setzt und die Kindersicherung ein- und ausschaltet. In einem Function-Node dann die Logik programmiert und den Ausgang für das Licht setzt.

            Über die Logic-Nodes AND, OR, etc. Wobei die dort hinterlegte Logik nicht gerade ganz so verständlich ist. Man könnte es auch über die Variablen msg.payload und msg.topic lösen.

            Vielleich möchtest du dich in Node-Red noch weiter einarbeiten. Als deutsche Literatur ist mir kürzlich diese Buch ins Auge gefallen:

            https://www.elektor.de/iot-programmierung-mit-node-red

            Ansonsten könnte ich diese Tutorials empfehlen:

            http://www.notenoughtech.com/home-autom … ed-server/

            http://www.notenoughtech.com/home-autom ... ginners-2/

            http://www.notenoughtech.com/home-autom ... ginners-3/

            http://www.notenoughtech.com/featured/n ... ginners-4/

            http://www.notenoughtech.com/home-autom ... ginners-5/

            http://www.notenoughtech.com/home-autom ... ginners-6/

            https://notenoughtech.com/home-automati ... ginners-7/

            https://www.youtube.com/watch?v=GJS_qgVEjQ0

            https://www.youtube.com/watch?v=oRTb6bgGN_I

            https://www.youtube.com/watch?v=jWjyIz4Jz58

            https://www.youtube.com/watch?v=PbEoHxFOdmE

            https://www.youtube.com/watch?v=LIEKDOzeEdI

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              rewenode
              schrieb am zuletzt editiert von
              #6

              @Arnulf:

              .. Ich verstehe aber schon garnicht, warum hier immer ein Trigger verwendet wird… `

              Der Trigger simuliert beim Original-Autor lediglich einen Impuls, der halt durchlassen werden soll oder eben nicht.

              In deinem Fall kannst du den Trigger samt Inject-node einfach durch einen beliebigen ioBroker-State ersetzen.

              Und die Schalter Erlaubt/Verboten kannst du natürlich ebenfalls durch einen einzigen ioBroker-state ersetzen, der muss halt (true=erlaubt/false=verboten) liefern.

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              722

              Online

              32.7k

              Benutzer

              82.5k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe