Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Eingangsmultiplexer?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Eingangsmultiplexer?

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

      @myiobroker ???

      M 1 Reply Last reply Reply Quote 0
      • M
        MyioBroker @mickym last edited by MyioBroker

        @mickym Hallo, die letzten Aktionen mit meinen mehrfachen Antworten habe ich nicht ganz verstanden? 😞 sind aber gelöscht
        Habe mich mit den unterschiedlichen Variablen und deren Gültigkeit beschäftigt aber bei einer "Einfachen(?)" if Abfrage scheitert es wieder 😞 Der Ringzähler ist recht kompliziert geworden, also besser einfach, eine Taste erhöht den Wert von flow.switch und die andere bewirkt ein decremet. Soweit so gut aber if (x >5 ) {....} z.B. wird schon als Fehler deklariert. Das ganze soll sich ja in einem definierten Bereich abspielen. Kann mir nicht vorstellen, das es diese Abfrage so kompliziert ist? Syntax- oder Denkfehler? Inzwischen geht es aber auch ohne Funktion-Node 🙂

        M mickym 2 Replies Last reply Reply Quote 0
        • M
          MyioBroker @MyioBroker last edited by

          @myiobroker Das mit den "link-Nodes" funktioniert auch, aber in Bezug auf die Anzeige gibt es da immer irgendwelche "(Laufzeit-?) Effekte" so das ich das ganze schon auf einen Flow begrenzen möchte. Auch mit diversen delay Anweisungen spinnt die Anzeige hin und wieder-

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

            @myiobroker sagte in Eingangsmultiplexer?:

            Habe mich mit den unterschiedlichen Variablen und deren Gültigkeit beschäftigt aber bei einer "Einfachen(?)" if Abfrage scheitert es wieder Der Ringzähler ist recht kompliziert geworden, also besser einfach, eine Taste erhöht den Wert von flow.switch und die andere bewirkt ein decremet. Soweit so gut aber if (x >5 ) {....} z.B. wird schon als Fehler deklariert. Das ganze soll sich ja in einem definierten Bereich abspielen. Kann mir nicht vorstellen, das es diese Abfrage so kompliziert ist? Syntax- oder Denkfehler? Inzwischen geht es aber auch ohne Funktion-Node

            Das sehe ich nicht was Du machst - bitte Screenshot oder Flow - keine Ahnung - ansonsten If Abfragen - wenn Du nicht programmieren willst - dafür gibts switch Nodes.

            M 1 Reply Last reply Reply Quote 0
            • M
              MyioBroker @mickym last edited by

              @mickym Hallo 🙂 konnte mich mit meinem Projekt nicht wirklich weiter beschäftigen, aber es sieht schon ganz gut aus. Nun scheiter ich an einem wahrscheinlich (?) trivialen Problem. Ich möchte in einem Change Node alle Payloadwerte der "Entertaste" >0 auf 0 setzen. Die negativen Werte (es sind bis jetzt nur Zwei) aber entsprechend ändern (z.B -1 auf -3 und -2 auf -4, das sind bei mir die "Steuerdialoge" für Reset und ShutDown). Klappt prima mit dem Change-Dialog im Change-Node und bei zwei bis drei "Werten" wohl auch so "sauber" machbar 😉
              Die positiven Werte stehen für jeweils eine "Seite" in einer 2 x 16 Matrix mit diversen Informationen (Spannung, Strom, Leistung etc.) Hier will ich mit der "Entertaste" erstmal einfach nur auf die Seite "0" zurückspringen. Da bietet sich offenbar die RegEx Funktion im Change-Dialog des ChangeNode an aber es funktioniert einfach nicht (z.B. /^([1-9][0-9]*)$/) oder
              oder es gibt eine Fehlermeldung mit "$if(payload > 0, 0, payload)" im Set-Mode und jsonata"-Modus.
              Für >10 positive Payloadwerte wäre es doch nicht Sinnvoll für jede Zahl die gleiche Abfrage mit "Set" zu machen 😞
              Ist es nur eine Syntaxfrage oder liege ich hier mal wieder in einer "Denkschleife"?
              Die Codevorschläge habe ich übrigens aus Chat GPT, da sieht es meistens sehr plausibel aus 🤔

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

                @myiobroker In der Regel machst Du das nicht mit einer Change Node alleine, sondern mit einer Switch Node und mehreren Change Nodes. Das entlastet Dich auf jeden Fall und reduziert die Komplexität in den Change Nodes - da bereits Nachrichten im Vorfeld aussortiert wurden. Sprich Du setzt die payload aller Nachrichten deren payload >= 0 ist auf 0 und bei negativen payload verringerst Du diese um -2. 😉

                1. Empfohlenes Vorgehen:

                e00db72d-b0c9-4fa3-8a78-c067859e47c5-image.png

                Durch das Setzen nach der ersten Regelübereinstimmung stoppen kann man das noch feiner granulieren und spezifische Fälle weiter vorne abarbeiten. So kannst Du in der Switch Node bei einer positiven Zahl eine andere Vorgehensweise wählen und trotzdem falls es eine andere positive Zahl ist noch auf 0 setzen.

                Anhand des Screenshots siehst Du nun - dass alle positiven Werten an den Ausgang 1 gesendet werden, alle negativen Werte an den Ausgang 2. Nun können wir also mit 2 Change Nodes einfach die payload auf 0 bzw. auf payload - 2 setzen.

                Ob Du das Ergebnis dann wieder zusammenfasst, wie in meinem Beispielflow - das ist eine andere Geschichte,

                a19dc814-224e-406a-a7f3-c63b837f56c1-image.png

                Ein weiterer Vorteil der Switch Node für Bedinungen sind auch dass man für Zahlen Bereiche definieren kann:

                2382c89d-f419-4cc8-bf85-b0ba99fe596e-image.png

                Also hier .- schicke alle Nachrichten zwischen 0 und 5 an den Ausgang 1 usw.

                1. RegEx - mit Change Node

                Das ist schon vom Ansatz aus 2 Gründen falsch:

                • RegEx funktioniert nur, wenn man das Ganze als Strings behandelt, man müsste also erst in Strings, dann wieder in Zahlen umwandeln.
                • Ein RegEx matched oder matched nicht und dann kannst Du nur ein fixen Wert setzen, du willst aber bei negativen Werten 2 abziehen.

                Wenn Du aber mit RegEx arbeiten willst (also in String umwandelst), weil Du dann zum Beispiel bestimmte Steuercodes anders behandelt willst, dann kannst Du das wieder in Kombination mit einer Switch Node machen. Der Vorteil hier ist, dass man die payload nur zur Analyse in einen String umwandelt.

                b1204685-e11a-477a-8167-4610b69b4157-image.png

                1. JSONATA funktioniert - weiß aber nicht woher Du diese Syntax hast - hier musst Du aber aufpassen, dass Du nicht wieder ins codieren kommst und bei mehrfachen Bedingungen wird das sehr unübersichtlich. Eine $if Funktion kenne ich in JSONATA nicht. Die einzige Möglichkeite Bedingungen zu formulieren ist den Bedingungsoperator ? zu nutzen.

                b7c2f883-022d-40ab-bb1f-98a50893969c-image.png

                Also:

                payload >= 0 ? 0 : payload - 2
                

                4e21c37b-99ee-42b1-9959-0d761adc7c6c-image.png

                Hier mal alle Beispiele zum Probieren:

                [
                   {
                       "id": "1d32bc03fdc515dc",
                       "type": "switch",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "gte",
                               "v": "0",
                               "vt": "num"
                           },
                           {
                               "t": "lt",
                               "v": "0",
                               "vt": "num"
                           }
                       ],
                       "checkall": "false",
                       "repair": false,
                       "outputs": 2,
                       "x": 390,
                       "y": 2600,
                       "wires": [
                           [
                               "e85b8517c1cbf042"
                           ],
                           [
                               "c6a1e0b43e566934"
                           ]
                       ]
                   },
                   {
                       "id": "e85b8517c1cbf042",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "setze 0",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "0",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 580,
                       "y": 2580,
                       "wires": [
                           [
                               "d764781a1ee41e39"
                           ]
                       ]
                   },
                   {
                       "id": "c6a1e0b43e566934",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "verringere um 2",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload - 2",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 580,
                       "y": 2620,
                       "wires": [
                           [
                               "d764781a1ee41e39"
                           ]
                       ]
                   },
                   {
                       "id": "d764781a1ee41e39",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "Ergebnis",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 780,
                       "y": 2600,
                       "wires": []
                   },
                   {
                       "id": "0649d4923f8fba46",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "3",
                       "payloadType": "num",
                       "x": 210,
                       "y": 2560,
                       "wires": [
                           [
                               "1d32bc03fdc515dc"
                           ]
                       ]
                   },
                   {
                       "id": "2366a9adf3e62193",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "-1",
                       "payloadType": "num",
                       "x": 210,
                       "y": 2620,
                       "wires": [
                           [
                               "1d32bc03fdc515dc"
                           ]
                       ]
                   },
                   {
                       "id": "2a509c433806b76b",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "Ergebnis JSONATA",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 710,
                       "y": 3020,
                       "wires": []
                   },
                   {
                       "id": "2e584db564fb7252",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "3",
                       "payloadType": "num",
                       "x": 210,
                       "y": 3000,
                       "wires": [
                           [
                               "f09adfda10e76f11"
                           ]
                       ]
                   },
                   {
                       "id": "92cdf991baaf6d7b",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "-1",
                       "payloadType": "num",
                       "x": 210,
                       "y": 3060,
                       "wires": [
                           [
                               "f09adfda10e76f11"
                           ]
                       ]
                   },
                   {
                       "id": "9aa12ab2cd5ee494",
                       "type": "comment",
                       "z": "7e6af0015415146d",
                       "name": "Normale Vorgehensweise",
                       "info": "",
                       "x": 210,
                       "y": 2480,
                       "wires": []
                   },
                   {
                       "id": "f09adfda10e76f11",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "Change Node mit JSONATA",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload >= 0 ? 0 : payload - 2",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 460,
                       "y": 3020,
                       "wires": [
                           [
                               "2a509c433806b76b"
                           ]
                       ]
                   },
                   {
                       "id": "8fdd6e49709fa68c",
                       "type": "comment",
                       "z": "7e6af0015415146d",
                       "name": "JSONATA",
                       "info": "",
                       "x": 180,
                       "y": 2940,
                       "wires": []
                   },
                   {
                       "id": "235b4dbf57c0ac2e",
                       "type": "comment",
                       "z": "7e6af0015415146d",
                       "name": "RegEx",
                       "info": "",
                       "x": 170,
                       "y": 2720,
                       "wires": []
                   },
                   {
                       "id": "b055685e0374d29b",
                       "type": "switch",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "property": "$string(payload)",
                       "propertyType": "jsonata",
                       "rules": [
                           {
                               "t": "regex",
                               "v": "^\\d+$",
                               "vt": "str",
                               "case": false
                           },
                           {
                               "t": "regex",
                               "v": "^-\\d+$",
                               "vt": "str",
                               "case": false
                           }
                       ],
                       "checkall": "false",
                       "repair": false,
                       "outputs": 2,
                       "x": 370,
                       "y": 2820,
                       "wires": [
                           [
                               "a8dbb487697dff7a"
                           ],
                           [
                               "958483cb434427fa"
                           ]
                       ]
                   },
                   {
                       "id": "a8dbb487697dff7a",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "setze 0",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "0",
                               "tot": "num"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 560,
                       "y": 2800,
                       "wires": [
                           [
                               "043f4b6a0b3a5766"
                           ]
                       ]
                   },
                   {
                       "id": "958483cb434427fa",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "verringere um 2",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "payload - 2",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 560,
                       "y": 2840,
                       "wires": [
                           [
                               "043f4b6a0b3a5766"
                           ]
                       ]
                   },
                   {
                       "id": "043f4b6a0b3a5766",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "Ergebnis mit RegEx",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 800,
                       "y": 2820,
                       "wires": []
                   },
                   {
                       "id": "731e10c3a246ea84",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "3",
                       "payloadType": "num",
                       "x": 190,
                       "y": 2780,
                       "wires": [
                           [
                               "b055685e0374d29b"
                           ]
                       ]
                   },
                   {
                       "id": "06edab9528cf2379",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "-1",
                       "payloadType": "num",
                       "x": 190,
                       "y": 2840,
                       "wires": [
                           [
                               "b055685e0374d29b"
                           ]
                       ]
                   }
                ]
                

                Ein letzte Möglichkeit mit JSONATA und fixen Werten kann man mit Übersetzungsobjekten erreichen.

                0d344e57-9335-442d-b001-c0816a28c6d4-image.png

                In diesem Fall definiere ich also jede Zahl als Schlüssel eines Objektes (ich hab es hier mal translate genannt)- 1.Regel. Die payload wird nun über einen Konvertierung zum String und durchsucht das Objekt nachdem entsprechenden Key. -2.Regel
                Die 3.Regel kann man verwenden, um einen Defaultwert zu setzen, wenn ein Wert nicht in der Tabelle enthalten ist.

                [
                   {
                       "id": "d72c33c5f9a3ae48",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "translate",
                               "pt": "msg",
                               "to": "{\"3\":0,\"-1\":-3,\"-2\":-4}",
                               "tot": "json"
                           },
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$lookup(translate, $string(payload))\t",
                               "tot": "jsonata"
                           },
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$not($exists(payload))? 0 : payload\t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 390,
                       "y": 3200,
                       "wires": [
                           [
                               "078c75417a994742"
                           ]
                       ]
                   },
                   {
                       "id": "a78a7970d2b7e564",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "3",
                       "payloadType": "num",
                       "x": 190,
                       "y": 3160,
                       "wires": [
                           [
                               "d72c33c5f9a3ae48"
                           ]
                       ]
                   },
                   {
                       "id": "253464a6e7f4d63c",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "-1",
                       "payloadType": "num",
                       "x": 190,
                       "y": 3220,
                       "wires": [
                           [
                               "d72c33c5f9a3ae48"
                           ]
                       ]
                   },
                   {
                       "id": "078c75417a994742",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "Übersetzungstabelle",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 620,
                       "y": 3200,
                       "wires": []
                   }
                ]
                

                M 2 Replies Last reply Reply Quote 0
                • M
                  MyioBroker @mickym last edited by MyioBroker

                  @mickym Hallo 👍 auch diesmal vielen Dank für die schnelle Antwort 🙂 Das begrenzen der Payload auf Werte <=0 erscheint erst mal ein triviales "Problem" zu sein und ist es offenbar auch, wenn man den Lösungsweg weis 😉 Der Change-Node bietet ja einige Wege an, so dass ich das mit dem Switch-Node gar nicht erst in Erwägung gezogen habe und das man die Ausgänge dann auch wieder einfach vereinen kann sollte man natürlich auch nicht vergessen! Wieder was gelernt um es sich nicht unnötig schwer zu machen 🙂
                  Das mit den RegEx hat mich schon in anderen Anwendungen fasziniert, wie man mit scheinbar kryptischen Zeichenfolgen komplexe Abfragen machen kann, aber das es eben auch Strings sein müssen muss man halt berücksichtigen, nun weiß ich es erst mal wieder 😉
                  Als Lösung ist aber erst mal die JSONATA Variante (payload >=0 ? 0 : payload-2) genau das geworden was ich gesucht habe 🙂 Ein Change-Node mit nur einer Regel 🙂 Es sind allerdings zwei, ich übernehme zuerst natürlich den aktuellen Stand aus dem Wert von flow.switch (Variable für jeweils aktuelle Seite) für msg.payload.
                  Solange ich bei den "positiven" Seiten keine "richtige" Anwendung für "Enter" habe (Es soll ja "nur" eine Anzeige der verschiedenen Messwerte sein) reicht es mir auf Seite 0 zu springen um ggf. einen definierten Anzeigezustand zu haben.
                  Bei den "negativen" Seiten will ich gezielt "Runterfahren" bzw. "Neustarten" da der RasbPi das ja nicht wirklich hardwaremäßig kann und die SD-Karte nicht unbedingt im falschen Moment "gestreßt" werden sollte, muss man ja nicht im Experimentierstadium noch forcieren!
                  Seite -1 und -2 fragen ab ob ich es wirklich möchte (?) und mit "Enter" springe ich zwei Seiten runter wo diese Funktionen an den Ausgängen eines Switch-Node entsprechend verankert sind. Denke das es eine nützliche Funktion ist so wie auch das "Rücksetzen" des Nodes "Pi-LCD" bei "jeder" (?) Gelegenheit (msg.payload => clr:). Es gibt offenbar "Probleme" mit der Anzeige wenn die Syntax bei der Ansteuerung nicht eingehalten wird, was beim "Experimentieren" ja allemal vorkommen kann!
                  Deine anderen Tipps werde ich mir noch mal anschauen und sicher auch in das Projekt einfließen lassen 🙂

                  1 Reply Last reply Reply Quote 0
                  • M
                    MyioBroker @mickym last edited by MyioBroker

                    @mickym Um hier im Forum nicht unnötig Fragen zu stellen die vielleicht schon gestellt wurden habe ich mit Chat GPT versucht einiges einfach mal so zu erfragen ohne stundenlanges Studium der Unterlagen. Zum Teil bekommt man recht detailierte Antworten wenn man die Frage entsprechend konkret stellt aber eben auch Antworten die scheinbar nicht viel mit der Frage zu tun haben ???
                    Eine Anfrage zu den RegEx z.B. war auch schnell parat aber das es ein String sein sollte eben nicht und auch zu einigen anderen Codeschnipseln fehlte manchmal der Hintergrund, so dass ich im Grunde nicht wirklich weitergekommen bin 🤔
                    Man sollte also immer noch ein entsprechendes Grundwissen haben um die Ergebnisse zu interpretieren! Aber das war auch schon früher so, als manche meinten mit einem Taschenrechner alles lösen zu könne ohne die Grundregeln der Mathematik zu verstehen 😉

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

                      @myiobroker Wie gesagt wenn Du RegEx mal akzeptiert, dass hier Strings analysiert werden - kann ich Dir diese Seite empfehlen, mit der man testen kann und auch eine Erklärung findet.

                      Jedenfalls ist das unter meinen Lesezeichen: https://regex101.com/

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MyioBroker @mickym last edited by

                        @mickym Das ist ein guter Tipp 🙂 aber ich befürchte das ähnlich ist wie seinerzeit beim Studium. Das "Taschenbuch der Mathematik" von Bronstein -Semendjajew war das Standardwerk für alle unsere "Probleme" mit Integralen usw. aber wenn man es nicht "täglich" benutzt findet man gar nichts (?) zumindest muss man lange suchen 😉
                        Fürchte auch fast das dieses /mein Projekt (SmartPi als Energiezähler) auch in den Herbst verrschoben werden wird/muss, der Rasenmähroboter will auch wissen wo er gerade mäht, mähen soll und das mit dem GPS ist genauso spannend wie der aktuelle Stromverbrauch. Zum Glück scheint der Rasenmäher ja nicht zu den "Stromfressern" zu gehöhren... aber weiß man das??? Also doch erst mal das SmartPi-PowerProjekt verwirklichen? ein paar Wochen bis zur Saison bleiben ja noch 😉

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        930
                        Online

                        31.7k
                        Users

                        79.6k
                        Topics

                        1.3m
                        Posts

                        3
                        29
                        1297
                        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