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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. String [14] in true / false umwandeln.

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

String [14] in true / false umwandeln.

Geplant Angeheftet Gesperrt Verschoben Node-Red
8 Beiträge 2 Kommentatoren 382 Aufrufe 2 Watching
  • Ä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.
  • J Offline
    J Offline
    JU_
    schrieb am zuletzt editiert von
    #1

    Hallo Leute!
    Ich bin neu im ganzen Thema "Node-RED" und habe ein wahrscheinlich ganz einfaches Problem.

    Folgendes:

    Ich habe auf der KNX Seite ein Keypad welches die Eingabe als String [14] schickt, wobei bei mir nur die ersten 4 Teile der 14 Werte wirklich zählen und mehr scheinbar auch nicht gelesen werden kann. (siehe Bild 1 - Rechteckige Kästchen nach Code "1111")

    1.png

    Folgende Codes möchte ich umwandeln:

    1111 - soll zu "true" werden
    0000 - soll zu "false" werden
    Bei allen anderen Eingaben soll nicht ausgeben

    Deshalb habe ich es mir folgend gedacht:

    2.png

    Das funktioniert so weit auch, allerdings wenn ich jetzt "11111" oder "1111234" am Keypad eingebe (was bis zu 8 Zahlen als Codeeingabe zulässt) kommt aufgrund der "contains" Regel auch ein true raus. Alle anderen Regeln wie "==" funktionieren aber nicht, da ja die unlesbaren Werte des Strings noch mitgeschickt werden, welche ja dann nicht "==" entsprechen.

    Ich bin am Verzweifeln, hat jemand von euch eine Idee wie man das Umsetzen kann?

    Vielen Dank schonmal!

    mickymM 1 Antwort Letzte Antwort
    0
    • J JU_

      Hallo Leute!
      Ich bin neu im ganzen Thema "Node-RED" und habe ein wahrscheinlich ganz einfaches Problem.

      Folgendes:

      Ich habe auf der KNX Seite ein Keypad welches die Eingabe als String [14] schickt, wobei bei mir nur die ersten 4 Teile der 14 Werte wirklich zählen und mehr scheinbar auch nicht gelesen werden kann. (siehe Bild 1 - Rechteckige Kästchen nach Code "1111")

      1.png

      Folgende Codes möchte ich umwandeln:

      1111 - soll zu "true" werden
      0000 - soll zu "false" werden
      Bei allen anderen Eingaben soll nicht ausgeben

      Deshalb habe ich es mir folgend gedacht:

      2.png

      Das funktioniert so weit auch, allerdings wenn ich jetzt "11111" oder "1111234" am Keypad eingebe (was bis zu 8 Zahlen als Codeeingabe zulässt) kommt aufgrund der "contains" Regel auch ein true raus. Alle anderen Regeln wie "==" funktionieren aber nicht, da ja die unlesbaren Werte des Strings noch mitgeschickt werden, welche ja dann nicht "==" entsprechen.

      Ich bin am Verzweifeln, hat jemand von euch eine Idee wie man das Umsetzen kann?

      Vielen Dank schonmal!

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @ju_ Warum machst Du dann contains und belässt es nicht bei "ist gleich"?

      Unlesbare Werte kann man ggf. mit einem trim vorher abschneiden.

      Man könnte das ganze auch mit einem Buffer Node schön aufbereiten bzw. halt nur die ersten 4 Zeichen lesen.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      J 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @ju_ Warum machst Du dann contains und belässt es nicht bei "ist gleich"?

        Unlesbare Werte kann man ggf. mit einem trim vorher abschneiden.

        Man könnte das ganze auch mit einem Buffer Node schön aufbereiten bzw. halt nur die ersten 4 Zeichen lesen.

        J Offline
        J Offline
        JU_
        schrieb am zuletzt editiert von
        #3

        @mickym naja, wie geschreiben funktioniert "==" bzw "ist gleich" nicht, da ich die nicht lesbaren Zeichen nicht mit einfügen kann und dann auch bei Eingabe von "1111" nichts passiert. Der String ist ja in echt noch 10 Zeichen mehr. Hoffe das ist verständlich.

        Zum Thema "Buffer Node" habe ich jetzt "node-red-contrib-buffer-parser" gefunden. Ist das die, worauf die anspielst? Würde es mal Probieren. Vielen Dank.

        mickymM 1 Antwort Letzte Antwort
        0
        • J JU_

          @mickym naja, wie geschreiben funktioniert "==" bzw "ist gleich" nicht, da ich die nicht lesbaren Zeichen nicht mit einfügen kann und dann auch bei Eingabe von "1111" nichts passiert. Der String ist ja in echt noch 10 Zeichen mehr. Hoffe das ist verständlich.

          Zum Thema "Buffer Node" habe ich jetzt "node-red-contrib-buffer-parser" gefunden. Ist das die, worauf die anspielst? Würde es mal Probieren. Vielen Dank.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @ju_ sagte in String [14] in true / false umwandeln.:

          @mickym naja, wie geschreiben funktioniert "==" bzw "ist gleich" nicht, da ich die nicht lesbaren Zeichen nicht mit einfügen kann und dann auch bei Eingabe von "1111" nichts passiert. Der String ist ja in echt noch 10 Zeichen mehr. Hoffe das ist verständlich.

          Zum Thema "Buffer Node" habe ich jetzt "node-red-contrib-buffer-parser" gefunden. Ist das die, worauf die anspielst? Würde es mal Probieren. Vielen Dank.

          Wie gesagt untersuche halt nur die ersten 4 Zeichen Deiner payload in Deiner switch Node - ich zeigs Dir gleich

          5e6d515f-975e-4d95-b0bb-ce7ec01f56fc-image.png

          Sollte also einfach immer die ersten 4 Zeichen in deinem String vorhanden sein. Sollte das gehen

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          J 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @ju_ sagte in String [14] in true / false umwandeln.:

            @mickym naja, wie geschreiben funktioniert "==" bzw "ist gleich" nicht, da ich die nicht lesbaren Zeichen nicht mit einfügen kann und dann auch bei Eingabe von "1111" nichts passiert. Der String ist ja in echt noch 10 Zeichen mehr. Hoffe das ist verständlich.

            Zum Thema "Buffer Node" habe ich jetzt "node-red-contrib-buffer-parser" gefunden. Ist das die, worauf die anspielst? Würde es mal Probieren. Vielen Dank.

            Wie gesagt untersuche halt nur die ersten 4 Zeichen Deiner payload in Deiner switch Node - ich zeigs Dir gleich

            5e6d515f-975e-4d95-b0bb-ce7ec01f56fc-image.png

            Sollte also einfach immer die ersten 4 Zeichen in deinem String vorhanden sein. Sollte das gehen

            J Offline
            J Offline
            JU_
            schrieb am zuletzt editiert von
            #5

            @mickym Das wäre wunderbar. :)

            mickymM 1 Antwort Letzte Antwort
            0
            • J JU_

              @mickym Das wäre wunderbar. :)

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #6

              @ju_ sagte in String [14] in true / false umwandeln.:

              @mickym Das wäre wunderbar. :)

              Ansonsten falls das ein Buffer ist und JSONATA Fehler wirft (am besten ein Debug direkt hinter die KNX Node nehmen, dann mit der Buffer Node (bzw. dem Parser) die ersten 4 Bytes zu einem String extrahieren.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              J 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @ju_ sagte in String [14] in true / false umwandeln.:

                @mickym Das wäre wunderbar. :)

                Ansonsten falls das ein Buffer ist und JSONATA Fehler wirft (am besten ein Debug direkt hinter die KNX Node nehmen, dann mit der Buffer Node (bzw. dem Parser) die ersten 4 Bytes zu einem String extrahieren.

                J Offline
                J Offline
                JU_
                schrieb am zuletzt editiert von
                #7

                @mickym VIELEN DANK!! :)

                Die Methode mit "$substring(payload,0,4)" funktioniert Wunderbar!

                mickymM 1 Antwort Letzte Antwort
                0
                • J JU_

                  @mickym VIELEN DANK!! :)

                  Die Methode mit "$substring(payload,0,4)" funktioniert Wunderbar!

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @ju_ Na dann ist ja gut - wie gesagt, wenn da ein Buffer rauskäme dann müsstest du umwandeln. Generell, wenn du einzelne Register ausliest, solltest Du Dich dann mit den Buffer Nodes beschäftigen. Ansonsten wenn Du mit Standardnodes auskommst und ist das immer die richtige Wahl.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  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

                  743

                  Online

                  32.4k

                  Benutzer

                  81.4k

                  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