Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. String aufteilen

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    267

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

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

String aufteilen

String aufteilen

Scheduled Pinned Locked Moved Node-Red
141 Posts 3 Posters 12.2k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H hafo

    @mickym Ich glaub ich bin schon zu lange am Computer 🤦

    Jedenfalls triggert er nun wieder in alle unendlichkeit
    1.jpg

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    wrote on last edited by mickym
    #102

    @hafo Der switch hinter Deinen Trigger wird wahrscheinlich nicht mehr passen, da der auf String und nicht auf Boolean abprüft.

    den musst mit Sicherheit umstellen:

    704ffd63-61bb-4097-8217-590b8fab4c97-image.png

    Einfach alle Eingänge überprüfen, ob der richtige Datentyp nun im weiteren Verlauf verwendet wird. Ansonsten zurück kannst immer. Aber ich denke lieber einmal Schmerzen, als dauernd konvertieren. 😉

    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.

    H 1 Reply Last reply
    0
    • mickymM mickym

      @hafo Der switch hinter Deinen Trigger wird wahrscheinlich nicht mehr passen, da der auf String und nicht auf Boolean abprüft.

      den musst mit Sicherheit umstellen:

      704ffd63-61bb-4097-8217-590b8fab4c97-image.png

      Einfach alle Eingänge überprüfen, ob der richtige Datentyp nun im weiteren Verlauf verwendet wird. Ansonsten zurück kannst immer. Aber ich denke lieber einmal Schmerzen, als dauernd konvertieren. 😉

      H Offline
      H Offline
      hafo
      wrote on last edited by hafo
      #103

      @mickym das habe ich zuerst geändert. Beim oberen Beispiel ist dieser Switch gar nicht angehängt, und der untere sollte sämtliche Nachrichten in Boolean false ändern.
      Da muss ich noch ein bisschen suchen.
      OK, es läuft wieder. Ich musste natürlich beim Trigger einstellen dass er nur auf geänderte Nachrichten reagiert.

      mickymM 1 Reply Last reply
      0
      • H hafo

        @mickym das habe ich zuerst geändert. Beim oberen Beispiel ist dieser Switch gar nicht angehängt, und der untere sollte sämtliche Nachrichten in Boolean false ändern.
        Da muss ich noch ein bisschen suchen.
        OK, es läuft wieder. Ich musste natürlich beim Trigger einstellen dass er nur auf geänderte Nachrichten reagiert.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        wrote on last edited by
        #104

        @hafo Na gut - 🙂 Du wirst erleichtert sein, dass Du Dir nun eine Menge Konvertiererei sparst. Das Rechnen sollte nun ohne den JSONATA Fehler funktionieren, wenn die Datenpunkte vom Typ Zahl sind.

        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 Reply Last reply
        0
        • mickymM mickym

          @hafo

          Ich habe noch ein bisschen mit der sort Node rumgespielt und dabei ein paar ganz gute Erkenntnisse gewonnen. Wenn Du willst dann poste ich sie hier mal im Thread - später. 😉

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          wrote on last edited by mickym
          #105

          @mickym sagte in String aufteilen:

          @hafo

          Ich habe noch ein bisschen mit der sort Node rumgespielt und dabei ein paar ganz gute Erkenntnisse gewonnen. Wenn Du willst dann poste ich sie hier mal im Thread - später. 😉

          So ich habe nun auch herausgefunden, wie man mit den Sort Nodes ggf. auch selbst eine Sortierreihenfolge definieren kann, selbst wenn man das nicht so vorab so vorbildlich gemacht hat, wie Du und immer eine Zahl vorangestellt hat. Das hat zwar bisschen Tüftelei gekostet, aber vielleicht ist das für den einen oder anderen interessant:

          d1b2e512-a187-4ceb-8d7e-7d1dd2f2560d-image.png

          Also was sieht man:

          1. Das Array mit durcheinandergewürfelten Wochentagen.
          2. Mit Standardeinstellungen wird das Array natürlich alphabetisch sortiert:
            7b25d282-5173-493c-8b1d-f97cb589395b-image.png
          3. Um nun eine eigene Reihenfolge festzulegen, kann man ein Objekt erstellen und den Begriffen, in diesem Fall Zahlenwerte zuordnen.
            In der letzten Node sieht man werden die Wochentage nun auch in dem Array richtig sortiert.
            Dies erfolgt über eine JSONATA Funktion - Kopfzerbrechen hat mir das $ Zeichen gemacht, dass von der Node als Platzhalter für die Arrayelemente verwendet.
            39b74ea3-ea16-4235-80f9-3549de6f760c-image.png
          $lookup(
             {
                 "Mo":0,
                 "Di":1,
                 "Mi":2,
                 "Do":3,
                 "Fr":4,
                 "Sa":5,
                 "So":6
             },
             $
          )
          

          Grundsätzlich kann man auch nur mit einer JSONATA Funktion in einer Change Node ein Array sortieren:

          580a44b7-dfc0-4165-9979-b303c98fa750-image.png

          Das ist aber bissi komplizierter - hier mal die JSONATA Defintion:

          $sort(payload,function($l, $r){
             $lookup(
                 {
                     "Mo":0,
                     "Di":1,
                     "Mi":2,
                     "Do":3,
                     "Fr":4,
                     "Sa":5,
                     "So":6
                 },
                 $l
             ) > $lookup(
                 {
                     "Mo":0,
                     "Di":1,
                     "Mi":2,
                     "Do":3,
                     "Fr":4,
                     "Sa":5,
                     "So":6
                 },
                 $r
             ) 
          })
          

          Hat man kein Objekt sondern splittet ein Array - dann kann man ebenfalls anstelle von dem topic bzw. key zum Beispiel nach der Payload sortieren:

          a2ee2f3d-a2dd-4fa0-9766-851afe9c3c00-image.png

          8391b6ce-a560-4499-ba0a-fd6d559a6e27-image.png

          3706772a-107b-4ddc-9830-c65950152efe-image.png

          $lookup(
             {
                 "Mo":0,
                 "Di":1,
                 "Mi":2,
                 "Do":3,
                 "Fr":4,
                 "Sa":5,
                 "So":6
             },
             payload
          )
          

          Hier muss ich dann die payload, statt der $ eingeben, da hier die payload ja bereits den skalaren Wert enthalten.

          Jedenfalls habe ich heute auch wieder einiges gelernt und vielleicht hilft das auch dem einen oder anderen.

          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 Reply Last reply
          0
          • H hafo

            Hallo zusammen
            Ich habe einen String mit 7 Zahlen (0 oder 1)

            "0,0,0,1,0,0,1"
            

            Nun würde ich gerne mit einem Funktions- oder Changenode die Zahlen auf 7 Ausgänge aufteilen. Im Idealfall wird gleich noch ein "0" noch durch "false" ersetzt und "1" durch "true".
            Mit dem Changenode komme ich nicht wirklich an mein Ziel, ich finde da die passende Funktion nicht. Eventuell würde es mit Jsonata gehen.
            Daher habe ich mit dem Funktionsnode gestartet, aber ohne Java Kentnisse ist das nicht so einfach. Damit geht es schon mal nicht

            var string = msg.payload;
            var msg1 = string.substr(1);
            var msg2 = string.substr(2);
            var msg3 = string.substr(3);
            var msg4 = string.substr(4);
            var msg5 = string.substr(5);
            var msg6 = string.substr(6);
            var msg7 = string.substr(7);
            return [ msg1, msg2, msg3, msg4, msg5, msg6, msg7 ];
            
            

            Kann mir bitte jemand einen Schubs in die richtige Richtung geben?

            Gruss
            Hansjürg

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #106

            @hafo Ich habe übrigens nun auch mal Deinen Scheduler Node installiert. Den finde ich ganz gut - allerdings wundert mich, dass Du den verwendest, da Du ja das NodeRed Dashboard gar nicht nutzt. 😉

            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.

            H 1 Reply Last reply
            0
            • mickymM mickym

              @hafo Ich habe übrigens nun auch mal Deinen Scheduler Node installiert. Den finde ich ganz gut - allerdings wundert mich, dass Du den verwendest, da Du ja das NodeRed Dashboard gar nicht nutzt. 😉

              H Offline
              H Offline
              hafo
              wrote on last edited by
              #107

              @mickym Das war beim einstellen ganz nützlich.
              Ich habe gerade etwas Mühe alle strings in Zahlen zu ändern. Auch wenn das Objekt eine Zahl enthalten sollte, wird manchmal ein String ausgelesen. Bei den Stunden klappt es, bei den Minuten nicht. Irgendwie macht das Vis teilweise strings.

              mickymM 1 Reply Last reply
              0
              • H hafo

                @mickym Das war beim einstellen ganz nützlich.
                Ich habe gerade etwas Mühe alle strings in Zahlen zu ändern. Auch wenn das Objekt eine Zahl enthalten sollte, wird manchmal ein String ausgelesen. Bei den Stunden klappt es, bei den Minuten nicht. Irgendwie macht das Vis teilweise strings.

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                wrote on last edited by mickym
                #108

                @hafo sagte in String aufteilen:

                @mickym Das war beim einstellen ganz nützlich.
                Ich habe gerade etwas Mühe alle strings in Zahlen zu ändern. Auch wenn das Objekt eine Zahl enthalten sollte, wird manchmal ein String ausgelesen. Bei den Stunden klappt es, bei den Minuten nicht. Irgendwie macht das Vis teilweise strings.

                Wenn der Datentyp des Datenpunktes passt (ggf. nochmals checken), dann ist es vielleicht wirklich vis - aber dann kannst wie ich ja unten gepostet habe auch in JSONATA einen String der eine Zahl enthält konvertieren. Das ist nun halt ein Nachteil, weil Du vorher nur Strings hattest, aber insgesamt erspart es Dir denke ich Arbeit.

                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.

                H 1 Reply Last reply
                0
                • mickymM mickym

                  @hafo sagte in String aufteilen:

                  @mickym Das war beim einstellen ganz nützlich.
                  Ich habe gerade etwas Mühe alle strings in Zahlen zu ändern. Auch wenn das Objekt eine Zahl enthalten sollte, wird manchmal ein String ausgelesen. Bei den Stunden klappt es, bei den Minuten nicht. Irgendwie macht das Vis teilweise strings.

                  Wenn der Datentyp des Datenpunktes passt (ggf. nochmals checken), dann ist es vielleicht wirklich vis - aber dann kannst wie ich ja unten gepostet habe auch in JSONATA einen String der eine Zahl enthält konvertieren. Das ist nun halt ein Nachteil, weil Du vorher nur Strings hattest, aber insgesamt erspart es Dir denke ich Arbeit.

                  H Offline
                  H Offline
                  hafo
                  wrote on last edited by hafo
                  #109

                  @mickym Ich habe im Vis nun die Minutenauswahl neu gemacht. Nun läuft es endlich.

                  Mit den Change Nod Rechner hatte ich etwas Mühe. Mein Problem war dass ich es mit dem falschen msg. wert habe rechnen lassen. Aber nun läufts. 👯
                  Das war eine lehrreiche Erfahrung, VIELEN DANK für deine Geduld.

                  mickymM 1 Reply Last reply
                  0
                  • H hafo

                    @mickym Ich habe im Vis nun die Minutenauswahl neu gemacht. Nun läuft es endlich.

                    Mit den Change Nod Rechner hatte ich etwas Mühe. Mein Problem war dass ich es mit dem falschen msg. wert habe rechnen lassen. Aber nun läufts. 👯
                    Das war eine lehrreiche Erfahrung, VIELEN DANK für deine Geduld.

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    wrote on last edited by
                    #110

                    @hafo sagte in String aufteilen:

                    @mickym Ich habe im Vis nun die Minutenauswahl neu gemacht. Nun läuft es endlich.

                    Mit den Change Nod Rechner hatte ich etwas Mühe. Mein Problem war dass ich es mit dem falschen msg. wert habe rechnen lassen. Aber nun läufts. 👯
                    Das war eine lehrreiche Erfahrung, VIELEN DANK für deine Geduld.

                    Ich habe ja heute auch was gelernt (s. sort-Nodes). Und hab ich gerne gemacht.
                    Ich hoffe Dir macht das auch etwas Spass, auch wenn es manchmal Detektivarbeit ist.

                    Aber ich hoffe, Du hast gerade bei der Fehlersuche auch die Stärken von NodeRed entdeckt, da man hier eben den"Programmflow" grafisch nachverfolgen kann.

                    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.

                    H 2 Replies Last reply
                    0
                    • mickymM mickym

                      @hafo sagte in String aufteilen:

                      @mickym Ich habe im Vis nun die Minutenauswahl neu gemacht. Nun läuft es endlich.

                      Mit den Change Nod Rechner hatte ich etwas Mühe. Mein Problem war dass ich es mit dem falschen msg. wert habe rechnen lassen. Aber nun läufts. 👯
                      Das war eine lehrreiche Erfahrung, VIELEN DANK für deine Geduld.

                      Ich habe ja heute auch was gelernt (s. sort-Nodes). Und hab ich gerne gemacht.
                      Ich hoffe Dir macht das auch etwas Spass, auch wenn es manchmal Detektivarbeit ist.

                      Aber ich hoffe, Du hast gerade bei der Fehlersuche auch die Stärken von NodeRed entdeckt, da man hier eben den"Programmflow" grafisch nachverfolgen kann.

                      H Offline
                      H Offline
                      hafo
                      wrote on last edited by
                      #111

                      @mickym Natürlich, ohne wäre es noch schwieriger geworden mit der Fehlersuche.
                      Ich bin von Beruf Weinbauer, da macht man in der Freizeit auch gerne einmal etwas anderes, daher hat es auch Spass gemacht. Dieser Flow ist allerdings erst der Anfang.
                      Wie bereits erwähnt möchte ich noch Feuchtigkeitssensoren einbauen. Zudem hängt am Wasserhan ein Zähler. Da ist das Ziel dass ich einen Schlauchbruch erkenne, das Ventil schliesse und eine Meldung bekomme. Das schwierige wird sein dass ich bei jedem Ventil ein Wert hinterlegen muss welcher nicht überschritten werden sollte. Diese müssen teilweise summiert werden wenn mehrere Ventile offen sind. Zudem muss ich berücksichtigen dass beim öffnen eines Ventils mehr Wasser fliesst bis der Schlauch voll ist....
                      Falls das alles einmal läuft, könnte ich auch noch den Wetterbericht einbinden. Aber bis dann ist Winter.

                      mickymM 1 Reply Last reply
                      0
                      • H hafo

                        @mickym Natürlich, ohne wäre es noch schwieriger geworden mit der Fehlersuche.
                        Ich bin von Beruf Weinbauer, da macht man in der Freizeit auch gerne einmal etwas anderes, daher hat es auch Spass gemacht. Dieser Flow ist allerdings erst der Anfang.
                        Wie bereits erwähnt möchte ich noch Feuchtigkeitssensoren einbauen. Zudem hängt am Wasserhan ein Zähler. Da ist das Ziel dass ich einen Schlauchbruch erkenne, das Ventil schliesse und eine Meldung bekomme. Das schwierige wird sein dass ich bei jedem Ventil ein Wert hinterlegen muss welcher nicht überschritten werden sollte. Diese müssen teilweise summiert werden wenn mehrere Ventile offen sind. Zudem muss ich berücksichtigen dass beim öffnen eines Ventils mehr Wasser fliesst bis der Schlauch voll ist....
                        Falls das alles einmal läuft, könnte ich auch noch den Wetterbericht einbinden. Aber bis dann ist Winter.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        wrote on last edited by
                        #112

                        @hafo sagte in String aufteilen:

                        @mickym Natürlich, ohne wäre es noch schwieriger geworden mit der Fehlersuche.
                        ...
                        Falls das alles einmal läuft, könnte ich auch noch den Wetterbericht einbinden. Aber bis dann ist Winter.

                        Mache ich gerade mit der AccuWeather API aber nicht mit vis sondern dem NodeRed Dashbord. 😉

                        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 Reply Last reply
                        0
                        • mickymM mickym

                          @hafo sagte in String aufteilen:

                          @mickym Ich habe im Vis nun die Minutenauswahl neu gemacht. Nun läuft es endlich.

                          Mit den Change Nod Rechner hatte ich etwas Mühe. Mein Problem war dass ich es mit dem falschen msg. wert habe rechnen lassen. Aber nun läufts. 👯
                          Das war eine lehrreiche Erfahrung, VIELEN DANK für deine Geduld.

                          Ich habe ja heute auch was gelernt (s. sort-Nodes). Und hab ich gerne gemacht.
                          Ich hoffe Dir macht das auch etwas Spass, auch wenn es manchmal Detektivarbeit ist.

                          Aber ich hoffe, Du hast gerade bei der Fehlersuche auch die Stärken von NodeRed entdeckt, da man hier eben den"Programmflow" grafisch nachverfolgen kann.

                          H Offline
                          H Offline
                          hafo
                          wrote on last edited by
                          #113

                          @mickym Hier ist noch der abgeänderte Flow mit den Rechner falls es jemandem hilft.
                          bew3.json

                          Das Vis funktioniert nun perfekt, auch wenn es optisch noch besser geht.
                          1.jpg

                          mickymM 1 Reply Last reply
                          0
                          • H hafo

                            @mickym Hier ist noch der abgeänderte Flow mit den Rechner falls es jemandem hilft.
                            bew3.json

                            Das Vis funktioniert nun perfekt, auch wenn es optisch noch besser geht.
                            1.jpg

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            wrote on last edited by
                            #114

                            @hafo Na das schaut doch ganz gut aus. Und die sich mit der Materie beschäftigen, wissen wieviel Arbeit da drin steckt. 😉

                            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.

                            H 1 Reply Last reply
                            0
                            • mickymM mickym

                              @hafo Na das schaut doch ganz gut aus. Und die sich mit der Materie beschäftigen, wissen wieviel Arbeit da drin steckt. 😉

                              H Offline
                              H Offline
                              hafo
                              wrote on last edited by
                              #115

                              @mickym So, meine flows sind nun fast fertig, ich habe alles noch ein bisschen überarbeitet.
                              -anzeige der Restlaufzeit
                              -einschalten eines Ventils für eine bestimmte Zeit ohne das Programm zu beeinflussen
                              -eingeschaltete Ventile sind gut Sichtbar und können beim draufklicken ausgeschaltet werden
                              -es können verschiedene Programme zugewiesen werden, aktuell gibt es:
                              -Timer (normale Steuerung über Zeitschaltuhr)
                              -Timer+Sensor (die Bewässerung wird nur gestartet wenn der Sensor auf true)
                              -Stundentimer (Sensoren werden Stündlich abgelesen)
                              2.jpg
                              Es ist nun auch einfach möglich zusätzliche Programme zu machen, z.B für Wettervorhersagen...
                              Dafür habe ich zwei Tabs gut gefüllt
                              3.jpg
                              4.jpg

                              Falls jemand an den Flows interessiert ist, einfach melden. Ich kann dann auch Tips zum einbauen geben. Es sollte relativ einfach übertragbar sein sofern ich alles richtig gemacht habe 😬

                              mickymM 1 Reply Last reply
                              0
                              • H hafo

                                @mickym So, meine flows sind nun fast fertig, ich habe alles noch ein bisschen überarbeitet.
                                -anzeige der Restlaufzeit
                                -einschalten eines Ventils für eine bestimmte Zeit ohne das Programm zu beeinflussen
                                -eingeschaltete Ventile sind gut Sichtbar und können beim draufklicken ausgeschaltet werden
                                -es können verschiedene Programme zugewiesen werden, aktuell gibt es:
                                -Timer (normale Steuerung über Zeitschaltuhr)
                                -Timer+Sensor (die Bewässerung wird nur gestartet wenn der Sensor auf true)
                                -Stundentimer (Sensoren werden Stündlich abgelesen)
                                2.jpg
                                Es ist nun auch einfach möglich zusätzliche Programme zu machen, z.B für Wettervorhersagen...
                                Dafür habe ich zwei Tabs gut gefüllt
                                3.jpg
                                4.jpg

                                Falls jemand an den Flows interessiert ist, einfach melden. Ich kann dann auch Tips zum einbauen geben. Es sollte relativ einfach übertragbar sein sofern ich alles richtig gemacht habe 😬

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                wrote on last edited by
                                #116

                                @hafo Na herzlichen Glückwunsch!!!

                                Nachdem alles nun gut läuft - hätte ich noch einen kleinen Punkt zur Optimierung der Flows. Ich hatte am Anfang auch lange Bäume, aber man kann die ggf. noch vereinfachen, indem man den msg.topic dynamisch zusammenstellt.
                                So bleibt ja bei jedem Flow Stardzeit, Laufzeit immer gleich.
                                So könnten man das quasi etwas vereinfachen in dem man dies nochmal hierarchisch aufbaut. Aber das kannst Dir ja mal für später im Auge behalten.

                                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.

                                H 1 Reply Last reply
                                0
                                • mickymM mickym

                                  @hafo Na herzlichen Glückwunsch!!!

                                  Nachdem alles nun gut läuft - hätte ich noch einen kleinen Punkt zur Optimierung der Flows. Ich hatte am Anfang auch lange Bäume, aber man kann die ggf. noch vereinfachen, indem man den msg.topic dynamisch zusammenstellt.
                                  So bleibt ja bei jedem Flow Stardzeit, Laufzeit immer gleich.
                                  So könnten man das quasi etwas vereinfachen in dem man dies nochmal hierarchisch aufbaut. Aber das kannst Dir ja mal für später im Auge behalten.

                                  H Offline
                                  H Offline
                                  hafo
                                  wrote on last edited by
                                  #117

                                  @mickym das habe ich mir gedacht. Allerdings wollte ich einfach mal fertig werden, daher habe ich nicht lange nach Vereinfachungen gesucht. Aber bei meinem nächsten grösseren Projekt kann ich mich da sicher noch steigern.

                                  H 1 Reply Last reply
                                  0
                                  • H hafo

                                    @mickym das habe ich mir gedacht. Allerdings wollte ich einfach mal fertig werden, daher habe ich nicht lange nach Vereinfachungen gesucht. Aber bei meinem nächsten grösseren Projekt kann ich mich da sicher noch steigern.

                                    H Offline
                                    H Offline
                                    hafo
                                    wrote on last edited by
                                    #118

                                    @hafo Ich versuche gerade die Sensoren einzubinden.
                                    Es gibt für jeden Kanal ein Sensorobjekt. Ist es true wird bewässert, ist es false bleibt das Ventil zu. Bei einem Feuchtigkeitssensor pro Kanal ist das einfach,
                                    1.jpg
                                    Aber wie mache ich das am besten wenn es mehrere Sensoren gibt, und ich bewässern möchte wenn einer von ihnen unter 40% fällt?
                                    Das wäre am einfachsten, aber dann wird der Wert ja nie auf false gesetzt.
                                    2.jpg
                                    Ich könnte ihn natürlich nach jedem bewässern auf false setzen, aber das ist irgendwie nicht meine Lösung.

                                    mickymM 1 Reply Last reply
                                    0
                                    • H hafo

                                      @hafo Ich versuche gerade die Sensoren einzubinden.
                                      Es gibt für jeden Kanal ein Sensorobjekt. Ist es true wird bewässert, ist es false bleibt das Ventil zu. Bei einem Feuchtigkeitssensor pro Kanal ist das einfach,
                                      1.jpg
                                      Aber wie mache ich das am besten wenn es mehrere Sensoren gibt, und ich bewässern möchte wenn einer von ihnen unter 40% fällt?
                                      Das wäre am einfachsten, aber dann wird der Wert ja nie auf false gesetzt.
                                      2.jpg
                                      Ich könnte ihn natürlich nach jedem bewässern auf false setzen, aber das ist irgendwie nicht meine Lösung.

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      wrote on last edited by mickym
                                      #119

                                      @hafo Hier habe ich mal erklärt, wie man mehrere Datenpunkte in einem Objekt zusammenfasst und dann anschließend mit UND oder ODER Verknüpft und dann einen Alarm auslöst bzw. in Deinem Fall halt die Bewässerung.

                                      Oder kurz in Worten ausgedrückt. Du sammelst alles per Wildcard ein, sammelst ggf. mit Modifizierung des Topic alle Ventile mit true (<40%) oder false (>= 40%) in einem Objekt. Verknüpfst alles mit ODER - sprich, wenn eines unter 40% ist, dann wird Bewässerung ausgelöst. Steigen die Sensoren wieder über 40% wird der Alarm bzw. die Bewässerung automatisch wieder aufgehoben. Die Feuchtigkeitssensoren sollten ja dann wieder automatisch über 40% liefern, sobald genügend bewässert ist.

                                      Wenn Du nicht mit Wildcards arbeiten kannst, weil Deine Sensoren nicht hierarchisch aufgebaut sind, dann musst halt alle iobroker-In Nodes, die zu einem Objekt zusammengefasst werden sollen über eine JOIN Node vereinigen.

                                      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.

                                      H 1 Reply Last reply
                                      0
                                      • mickymM mickym

                                        @hafo Hier habe ich mal erklärt, wie man mehrere Datenpunkte in einem Objekt zusammenfasst und dann anschließend mit UND oder ODER Verknüpft und dann einen Alarm auslöst bzw. in Deinem Fall halt die Bewässerung.

                                        Oder kurz in Worten ausgedrückt. Du sammelst alles per Wildcard ein, sammelst ggf. mit Modifizierung des Topic alle Ventile mit true (<40%) oder false (>= 40%) in einem Objekt. Verknüpfst alles mit ODER - sprich, wenn eines unter 40% ist, dann wird Bewässerung ausgelöst. Steigen die Sensoren wieder über 40% wird der Alarm bzw. die Bewässerung automatisch wieder aufgehoben. Die Feuchtigkeitssensoren sollten ja dann wieder automatisch über 40% liefern, sobald genügend bewässert ist.

                                        Wenn Du nicht mit Wildcards arbeiten kannst, weil Deine Sensoren nicht hierarchisch aufgebaut sind, dann musst halt alle iobroker-In Nodes, die zu einem Objekt zusammengefasst werden sollen über eine JOIN Node vereinigen.

                                        H Offline
                                        H Offline
                                        hafo
                                        wrote on last edited by
                                        #120

                                        @mickym Vielen Dank für den Tipp. Das werde ich gleich testen. Leider sind alle Sensoren im selben Verzeichnis, da wird es schwierig mit Wildcards wenn ich das richtig verstehe.

                                        mickymM 1 Reply Last reply
                                        0
                                        • H hafo

                                          @mickym Vielen Dank für den Tipp. Das werde ich gleich testen. Leider sind alle Sensoren im selben Verzeichnis, da wird es schwierig mit Wildcards wenn ich das richtig verstehe.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          wrote on last edited by
                                          #121

                                          @hafo Entweder dann mit eben mit einzelnen IN-Nodes oder Wildcards mit einem Switch Node und dann mit regulären Ausdrücken verzweigen - das wäre bei einer flachen Struktur am elegantesten. 😉

                                          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.

                                          H 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          160

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe