Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] SerialPort-Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] SerialPort-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pfuhsy last edited by

      @Garf:

      Wie sieht denn der Inhalt von so einem String aus? Und welche Informationen willst Du dem String entnehmen? `

      Zum Beispiel: "00112233445566". Das sind 7x Hexzahlenpaare anandergereiht. In der PHP hatte ich diese wieder decodiert.

      00 = Binär 0000 0000, 11 = Binär 0001 0001, 22 = Binär 0010 0010 usw. Jedes Hexzahlenpaar steht für verschiedene Statuswerte aus der Alarmanlage. Das dritte Paar steht z.B. für den Zustand der Reedkontakte. 0000 0001 bedeutet dann der erste Kontakt ist geöffnet, 0000 0011 die ersten beiden sind geöffnet usw.

      Also den 14stellenigen String in zweier Pakete auftrennen. Dann die zweier Pakete maskieren und das Ergebniss in eine Variable schreiben. Diese repräsentieren dann ein true oder false die ich dann mit einer if-Abfrage nutzen kann. So die Idee. Ich denke wenn ich einmal kapiert habe wie ich den Kram zwischenspeichern kann, kommt der Rest fast von alleine.

      1 Reply Last reply Reply Quote 0
      • G
        Garf last edited by

        Ist im Prinzip nicht schwer. Für diese Aufgabe wird es wohl kein fertiges Node geben. Aber Du wolltest ja auch ein wenig mit Javascript programmieren. Zuerst sollten wir uns so etwas einmal real ansehen, sprich im Debug-Node. Der über die sereielle Schnittstelle gesendete String müsste in der Variablen msg.payload stehen. Bitte mache ein Screenshot davon.

        Als nächstes brauchst Du dann das Function Node, in dem Du dein Javascript schreibst.

        Sieht dann als Flow so aus.

        3639_seriell.jpg

        1 Reply Last reply Reply Quote 0
        • G
          Garf last edited by

          Ich habe da noch etwas gefunden. Es gibt wohl ein fertiges Node um einen String zu splitten. Leider komme ich damit nicht so wirklich gut klar. :x

          3639_split.jpg

          ALso schnell eine kleines Javascript geschrieben.

          Hier der Flow:

          3639_seriell2.jpg

          Hier das Ergebnis.

          ! 3639_debugwerte.jpg

          Die Werte stehen in msg.b1 - msg.b7 und könnten nach ioBroker übergeben werden.

          1 Reply Last reply Reply Quote 0
          • P
            pfuhsy last edited by

            Ja das ist gut. Wie sieht denn der Script aus ?

            1 Reply Last reply Reply Quote 0
            • G
              Garf last edited by

              @pfuhsy:

              Ja das ist gut. Wie sieht denn der Script aus ? `
              Wolltest Du nicht selber programmieren? :?

              Ich habe die Testversion noch etwas überarbeitet und von unnötigen Ballast befreit.

              ! ` > var string = msg.payload;

              //String splitten

              var s = [string.substr(0,2), string.substr(2,2),

              string.substr(4,2), string.substr(6,2), string.substr(8,2),

              string.substr(10,2), string.substr(12,2)];

              //Umrechnung in Binär

              var bin = [(parseInt(s[0], 16)).toString(2), (parseInt(s[1], 16)).toString(2),

              (parseInt(s[2], 16)).toString(2), (parseInt(s[3], 16)).toString(2),

              (parseInt(s[4], 16)).toString(2), (parseInt(s[5], 16)).toString(2),

              (parseInt(s[6], 16)).toString(2)];

              msg.bin = bin;

              msg.s = s;

              return msg; `

              Wie man an die Variablen kommt ist hier ein wenig beschrieben: https://nodered.org/docs/user-guide/messages

              3639_werte.jpg

              1 Reply Last reply Reply Quote 0
              • P
                pfuhsy last edited by

                @Garf:

                Wolltest Du nicht selber programmieren? :? `

                Ja, hast recht. Ich denke das reicht für den Anfang, werde mich jetzt intensiver damit befassen. Vielen Dank für die Unterstützung.

                1 Reply Last reply Reply Quote 0
                • G
                  Garf last edited by

                  Genau so sollte es sein, nur dann lernst Du auch damit umzugehen. Mich hatte wieder einmal der Ehrgeiz gepackt und dann kann ich einfach nicht mehr damit aufhören. Und selber Arrays anzulegen war für mich auch noch neu.

                  Wenn Du Fragen hast oder weitere Hilfe brauchst, dann einfach posten. Gerne auch wenn Du dein Projekt erfolgreich zu Ende gebracht hast.

                  Ich werde den Thread im Auge behalten. 😉

                  1 Reply Last reply Reply Quote 0
                  • P
                    pfuhsy last edited by

                    @Garf:

                    Wenn Du Fragen hast oder weitere Hilfe brauchst, dann einfach posten. Gerne auch wenn Du dein Projekt erfolgreich zu Ende gebracht hast.

                    Ich werde den Thread im Auge behalten. 😉 `

                    Danke für die Motivation, ich werde berichten 😉 .

                    1 Reply Last reply Reply Quote 0
                    • G
                      Garf last edited by

                      Gern geschehen.

                      Hier noch etwas Grundlagenwissen in Bezug auf die Definition von Variablen in Node Red. viewtopic.php?f=32&t=12558#p133250

                      1 Reply Last reply Reply Quote 0
                      • G
                        Garf last edited by

                        @pfuhsy:

                        Wie kann ich den empfangenen String in Variablen abspeichern damit ich es im ioBroker verwenden kann ? Ich hab versucht im ioBroker manuel neue Objekte einzufügen, doch das steht in den Node-Red gar nicht zur Auswahl an. `

                        Dazu habe ich folgende Antwort gefunden:

                        viewtopic.php?f=20&t=13217&p=139126&hil … en#p139126

                        http://www.iobroker.net/docu/?page_id=5 ... inzufuegen

                        Ich habe es eben mal kurz getestet und unter dem Javascriptadapter ein neues Objekt angelegt. Dann mit Node Red verbunden und schon wird der Wert im Objekt auch angezeigt.

                        3639_test.jpg

                        Also so ganz verkehrt ist diese Aussage dann wohl doch nicht. :mrgreen:

                        @Homoran:

                        @pfuhsy:

                        Bevor ich das installiert habe, habe ich gelesen, dass man den ioBroker auch ohne Programmierkenntisse benutzen kann. Das ist auch so. Beschränkt natürlich die Möglichkeiten.

                        Und jetzt möchte ich möglichst nur noch von deinen Erfolgserlebnissen lesen. 😄

                        1 Reply Last reply Reply Quote 0
                        • P
                          pfuhsy last edited by

                          @Garf:

                          Und jetzt möchte ich möglichst nur noch von deinen Erfolgserlebnissen lesen. 😄 `

                          Bin auf den besten Weg dahin :mrgreen:

                          Ist wahrscheinlich nicht die eleganteste Lösung, aber solange es funktioniert bin ich vorerst zufrieden.
                          6863_unbenannt1.jpg
                          6863_unbenannt.jpg
                          6863_unbenannt.jpg
                          6863_unbenannt1.jpg
                          6863_unbenannt.jpg
                          6863_unbenannt1.jpg
                          6863_unbenannt.jpg
                          6863_unbenannt1.jpg
                          6863_unbenannt1.jpg

                          1 Reply Last reply Reply Quote 0
                          • G
                            Garf last edited by

                            @pfuhsy:

                            Bin auf den besten Weg dahin :mrgreen:

                            Ist wahrscheinlich nicht die eleganteste Lösung, aber solange es funktioniert bin ich vorerst zufrieden. `
                            Sieht doch echt gut aus und es funktioniert. Da kannst Du mal sehen, wie schnell es dann doch gegangen ist.

                            Gratulation.

                            P.S. Da hat wohl jemand zu oft editiert?! So etwas führt dann schnell zum Chaos mit den Dateianhängen. 😮

                            Geht hier vielen so!

                            1 Reply Last reply Reply Quote 0
                            • P
                              pfuhsy last edited by

                              Ich gebs auf. Wenn ich die Datei einmal Anhänge hängt er mir die 5x dran…..

                              1 Reply Last reply Reply Quote 0
                              • P
                                pfuhsy last edited by

                                @Garf:

                                @pfuhsy:

                                Bin auf den besten Weg dahin :mrgreen:

                                Ist wahrscheinlich nicht die eleganteste Lösung, aber solange es funktioniert bin ich vorerst zufrieden. `
                                Sieht doch echt gut aus und es funktioniert. Da kannst Du mal sehen, wie schnell es dann doch gegangen ist.

                                Gratulation.

                                P.S. Da hat wohl jemand zu oft editiert?! So etwas führt dann schnell zum Chaos mit den Dateianhängen. 😮

                                Geht hier vielen so! `

                                Danke.

                                Ja ich weiß nicht was der eigentlich macht. Entweder schmeißt er eine von zwei Dateien immer raus oder packt die andere mehrfach rein obwohl in den Anhängen nur eine drin ist.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  Garf last edited by

                                  @pfuhsy:

                                  Ich gebs auf. Wenn ich die Datei einmal Anhänge hängt er mir die 5x dran….. `
                                  Du musst sie alle löschen und am besten in einem neuen Post einmal anhängen und dann sofort absenden. Dann sollte es klappen. :mrgreen:

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pfuhsy last edited by

                                    Beim nächsten mal probiere ich es nochmal.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pfuhsy last edited by

                                      So…...Ich bin schon weit gekommen, hab nur eine kleine Schwierigkeit. Ich hab in Vis ein Schalter und in Node-Red ein "Inject" welcher ein String "8000000000000000"versendet . Wie kann ich mit den Schalter diesen String versenden ? Es gibt ja das "ioBroker In" nur ich verstehe nicht wie ich das damit versenden kann.

                                      Gruss
                                      6863_unbenannt.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        Garf last edited by

                                        Ich kenne mich nur mit dem Node-Red Dashboard ein wenig aus. Mit VIS habe ich mich noch nicht auseinander gesetzt.

                                        Deine Frage wäre wahrscheinlich im VIS-Bereichs besser untergebracht?! viewforum.php?f=30

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pfuhsy last edited by

                                          Ich bin weitergekommen, siehe Screenshots. Ich kann jetzt über NodeRed den String vom SerialPort auslesen und zeige die Wert mit Lämpchen im Vis an. In der Funktion "String kürzen" hab ich den ankommen String um die letzten 14 Zeichen kastiert und den Rest ausgewertet. Wie kann ich denn die 3te und 4te Stelle beibehalten und der Rest abschneiden ?

                                          6863_home.png
                                          6863_alarm.png

                                          [
                                              {
                                                  "id": "d665df92.a8c25",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Kontaktalarm",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1080,
                                                  "y": 160,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "6c9e2666.153f5",
                                                  "type": "inject",
                                                  "z": "76975916.adb69",
                                                  "name": "Status-Simulation",
                                                  "topic": "",
                                                  "payload": "ff11223344556677",
                                                  "payloadType": "str",
                                                  "repeat": "",
                                                  "crontab": "",
                                                  "once": false,
                                                  "onceDelay": 0.1,
                                                  "x": 260,
                                                  "y": 360,
                                                  "wires": [
                                                      [
                                                          "ea2b95f3.9c4028",
                                                          "afc3fe12.31ec4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "ea2b95f3.9c4028",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Input_komplett",
                                                  "active": true,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 500,
                                                  "y": 320,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "309df3ac.edcb6c",
                                                  "type": "function",
                                                  "z": "76975916.adb69",
                                                  "name": "BAS (Byte0) Splitten",
                                                  "func": "var bas_int = parseInt(msg.payload, 16);  //ankommende Hex-Nachricht (Basis 16) in Integer wandeln\n\nvar kal = false;\nif((bas_int & 1) == \"1\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    kal = true;\n}\n\nvar val = false;\nif((bas_int & 2) == \"2\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    val = true;\n}\n\nvar alm = false;\nif((bas_int & 4) == \"4\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    alm = true;\n}\nvar als = false;\nif((bas_int & 8) == \"8\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    als = true;\n}\n\nvar alf = false;\nif((bas_int & 16) == \"16\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    alf = true;\n}\nvar sab = false;\nif((bas_int & 32) == \"32\")    //Maskierung und gleichzeitig in Boolean ändern\n{\n    sab = true;\n}\n\nreturn [{payload: kal}, {payload: val},{payload: alm}, {payload: als},{payload: alf}, {payload: sab}];",
                                                  "outputs": 6,
                                                  "noerr": 0,
                                                  "x": 740,
                                                  "y": 400,
                                                  "wires": [
                                                      [
                                                          "d665df92.a8c25",
                                                          "b4bbe9ae.a197c8"
                                                      ],
                                                      [
                                                          "2e0b683c.237ba",
                                                          "e4ab4b11.ab95c8"
                                                      ],
                                                      [
                                                          "d2a054fe.433cd8",
                                                          "8bcd1eb8.3d7d68"
                                                      ],
                                                      [
                                                          "88604a1a.15a0d8",
                                                          "4f1f1d24.90d26c"
                                                      ],
                                                      [
                                                          "3837e7f5.08496",
                                                          "3db3352.e7464ca"
                                                      ],
                                                      [
                                                          "c28aebd4.38c72",
                                                          "99006ef6.25d0b"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "2e0b683c.237ba",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Voralarm",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1060,
                                                  "y": 280,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "d2a054fe.433cd8",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Alarm",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1050,
                                                  "y": 400,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "88604a1a.15a0d8",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Anlage_Start",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1080,
                                                  "y": 520,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "3837e7f5.08496",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Anlage_Scharf",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1080,
                                                  "y": 640,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "c28aebd4.38c72",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis_Sabotagekontakt",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 1090,
                                                  "y": 760,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "8bcd1eb8.3d7d68",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Alarm",
                                                  "topic": "HAA_BAS_ALM",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1050,
                                                  "y": 340,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "b4bbe9ae.a197c8",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Kontaktalarm",
                                                  "topic": "HAA_BAS_KAL",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1070,
                                                  "y": 100,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "4f1f1d24.90d26c",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Anlage.Start",
                                                  "topic": "HAA_BAS_ALS",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1070,
                                                  "y": 460,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "e4ab4b11.ab95c8",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Voralarm",
                                                  "topic": "HAA_BAS_VAL",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1060,
                                                  "y": 220,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "3db3352.e7464ca",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Anlage.Scharf",
                                                  "topic": "HAA_BAS_ALF",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1080,
                                                  "y": 580,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "99006ef6.25d0b",
                                                  "type": "ioBroker out",
                                                  "z": "76975916.adb69",
                                                  "name": "Basis.Sabotagekontakt",
                                                  "topic": "HAA_BAS_SAB",
                                                  "ack": "false",
                                                  "autoCreate": "true",
                                                  "x": 1090,
                                                  "y": 700,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "be2c1f1f.729f48",
                                                  "type": "serial in",
                                                  "z": "76975916.adb69",
                                                  "name": "Statusempfang",
                                                  "serial": "e6a27cfb.a5b5d8",
                                                  "x": 260,
                                                  "y": 400,
                                                  "wires": [
                                                      [
                                                          "ea2b95f3.9c4028",
                                                          "afc3fe12.31ec4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "afc3fe12.31ec4",
                                                  "type": "function",
                                                  "z": "76975916.adb69",
                                                  "name": "String kürzen",
                                                  "func": "var string = msg.payload;\nvar string_teil = string.substring(0, string.length-14);\n\nreturn [{payload: string_teil}];",
                                                  "outputs": 1,
                                                  "noerr": 0,
                                                  "x": 510,
                                                  "y": 400,
                                                  "wires": [
                                                      [
                                                          "309df3ac.edcb6c",
                                                          "826b6f45.9d0c4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "826b6f45.9d0c4",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Input_kurz",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 710,
                                                  "y": 320,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "caf57100.634f4",
                                                  "type": "serial out",
                                                  "z": "76975916.adb69",
                                                  "name": "Kommandos",
                                                  "serial": "e6a27cfb.a5b5d8",
                                                  "x": 670,
                                                  "y": 200,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "e9e750d6.bdb68",
                                                  "type": "inject",
                                                  "z": "76975916.adb69",
                                                  "name": "Status abfragen",
                                                  "topic": "",
                                                  "payload": "0000000000000000",
                                                  "payloadType": "str",
                                                  "repeat": "",
                                                  "crontab": "",
                                                  "once": false,
                                                  "onceDelay": 0.1,
                                                  "x": 240,
                                                  "y": 220,
                                                  "wires": [
                                                      [
                                                          "caf57100.634f4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "9f686444.287978",
                                                  "type": "inject",
                                                  "z": "76975916.adb69",
                                                  "name": "Anlage einschalten",
                                                  "topic": "",
                                                  "payload": "8000000000000000",
                                                  "payloadType": "str",
                                                  "repeat": "",
                                                  "crontab": "",
                                                  "once": false,
                                                  "onceDelay": 0.1,
                                                  "x": 230,
                                                  "y": 180,
                                                  "wires": [
                                                      [
                                                          "caf57100.634f4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "33a945b8.0fb592",
                                                  "type": "ioBroker in",
                                                  "z": "76975916.adb69",
                                                  "name": "Kommando",
                                                  "topic": "HAA_BAS_KOM",
                                                  "payloadType": "value",
                                                  "onlyack": "",
                                                  "func": "all",
                                                  "gap": "",
                                                  "x": 230,
                                                  "y": 120,
                                                  "wires": [
                                                      [
                                                          "686fad33.b01804"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "686fad33.b01804",
                                                  "type": "function",
                                                  "z": "76975916.adb69",
                                                  "name": "Status oder einschalten",
                                                  "func": "var einschalten = msg.payload;\nvar befehl = \"0000000000000000\";\n\nif (einschalten == \"true\")\n{\n    befehl = \"8000000000000000\";\n}\n\nreturn [{payload: befehl}];",
                                                  "outputs": 1,
                                                  "noerr": 0,
                                                  "x": 450,
                                                  "y": 120,
                                                  "wires": [
                                                      [
                                                          "21dad7c7.a4bb08",
                                                          "caf57100.634f4"
                                                      ]
                                                  ]
                                              },
                                              {
                                                  "id": "21dad7c7.a4bb08",
                                                  "type": "debug",
                                                  "z": "76975916.adb69",
                                                  "name": "Output_komplett",
                                                  "active": false,
                                                  "tosidebar": true,
                                                  "console": false,
                                                  "tostatus": false,
                                                  "complete": "true",
                                                  "x": 690,
                                                  "y": 120,
                                                  "wires": []
                                              },
                                              {
                                                  "id": "e6a27cfb.a5b5d8",
                                                  "type": "serial-port",
                                                  "z": "76975916.adb69",
                                                  "serialport": "/dev/ttyAMA0",
                                                  "serialbaud": "9600",
                                                  "databits": "8",
                                                  "parity": "none",
                                                  "stopbits": "1",
                                                  "newline": "16",
                                                  "bin": "false",
                                                  "out": "count",
                                                  "addchar": true
                                              }
                                          ]
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pfuhsy last edited by

                                            Schon gefunden.

                                            http://www.knaupes.net/java-substring/

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

                                            Support us

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

                                            773
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            61
                                            11387
                                            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