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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Daten per Serieller Schnittstelle übertragen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Daten per Serieller Schnittstelle übertragen

Geplant Angeheftet Gesperrt Verschoben Node-Red
12 Beiträge 3 Kommentatoren 983 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B Bavarian

    Hallo zusammen,

    ich möchte einige Sachen per Serial in Node Red an meinen Arduino senden, der Code ist alt und fix, kann nicht geändert werden.
    Ich kann sehr gut einen String senden LEDON oder LEDOFF.

    [
        {
            "id": "61c5ee22.b88f1",
            "type": "tab",
            "label": "Flow 4",
            "disabled": false,
            "info": ""
        },
        {
            "id": "2b3000e4.63106",
            "type": "inject",
            "z": "61c5ee22.b88f1",
            "name": "",
            "props": [
                {
                    "p": "payload"
                },
                {
                    "p": "topic",
                    "vt": "str"
                }
            ],
            "repeat": "",
            "crontab": "",
            "once": false,
            "onceDelay": 0.1,
            "topic": "",
            "payload": "LEDON",
            "payloadType": "str",
            "x": 370,
            "y": 340,
            "wires": [
                [
                    "168de73c.72f521",
                    "5aa5836f.d0a01c"
                ]
            ]
        },
        {
            "id": "3f6f6ec7.f8afda",
            "type": "inject",
            "z": "61c5ee22.b88f1",
            "name": "",
            "props": [
                {
                    "p": "payload"
                },
                {
                    "p": "topic",
                    "vt": "str"
                }
            ],
            "repeat": "",
            "crontab": "",
            "once": false,
            "onceDelay": 0.1,
            "topic": "",
            "payload": "LEDON",
            "payloadType": "str",
            "x": 370,
            "y": 420,
            "wires": [
                [
                    "168de73c.72f521",
                    "5aa5836f.d0a01c"
                ]
            ]
        },
        {
            "id": "168de73c.72f521",
            "type": "serial out",
            "z": "61c5ee22.b88f1",
            "name": "",
            "serial": "e13e4297edea67b8",
            "x": 620,
            "y": 300,
            "wires": []
        },
        {
            "id": "5aa5836f.d0a01c",
            "type": "debug",
            "z": "61c5ee22.b88f1",
            "name": "",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": false,
            "complete": "false",
            "statusVal": "",
            "statusType": "auto",
            "x": 610,
            "y": 440,
            "wires": []
        },
        {
            "id": "e13e4297edea67b8",
            "type": "serial-port",
            "serialport": "/dev/ttyACM0",
            "serialbaud": "57600",
            "databits": "8",
            "parity": "none",
            "stopbits": "1",
            "waitfor": "",
            "dtr": "none",
            "rts": "none",
            "cts": "none",
            "dsr": "none",
            "newline": "\\n",
            "bin": "bin",
            "out": "char",
            "addchar": "\\n",
            "responsetimeout": "100"
        }
    ]
    

    Im Debug Fenster steht dann:
    msg.payload : string[5]
    "LEDON"

    Das \n wir automatisch durch die Config der Serial geschickt und wird auch auf dem Arduino erwartet.

    Auf diese Weise werden ein paar Funktionen ein und ausgeschaltet, so weit so gut.

    Nun hänge ich seit Tagen (und Nächten) vor dem Problem, dass ich auch Werte übertragen will.
    Ich bin mittlerweile verwirrt was ASCII BUFFER STRING OBJECT anbetrifft und habe auch viel versucht mit dem Buffer Maker.
    Auf der Empfangsseite habe ich das mit den Werten die ich bekomme mittlerweile mit dem Buffer Parser im Griff.
    Da kommt eine ASCII Kennung gefolgt von floats int boolean etc. das klappt!

    Auf der Arduino Seite sieht das für einfache Befehle so aus:

    if (strcmp(command, "LEDON") == 0 && !ledon) {
          digitalWrite(LEDON_PIN, HIGH);
          ledon = true;
    

    Passt, keine Probleme bis hier, dann aber:

    else if (strcmp(substr, "MSS:") == 0) {
            byte a = command[4];
            byte b = command[5];
            bool x = command[6] != 0;
            mss.configure(a, b, x);
    

    Byte A und B sind Zahlen zwischen 0 und 255 und x als bool.
    Also sehe das eigentlich so aus: MSS: 19 188 true
    mss.configure(a, b, x) sollte dass die Werte erhalten mss.configure(19, 188, true);

    Ich bekomme das aber nicht zum laufen.
    Als String geht es nicht da sonst aus 19 eine 1 und eine 9 gemacht wird.
    Packe ich das in ein Array ["MSS:",19,188,true] geht das nicht.
    Nehme ich den Buffer Maker und mache daraus eine Buffer sehe ich im Debug auch die passenden Werte.
    Wenn ich den Buffer Maker dann mit der Serial verbinde, kommt erstmal eine Warnung da \n nur für Strigs ist.
    Nehme ich das Kreuz in der Config von der Serial raus, also dass automatisch \n gesendet wird, passiert nix.

    Um das zu testen habe ich LEDON als ASCII Inject > BufferMaker ( ASCII länge 5) > Debug und Serial.
    Buffer sieht gut aus, Werte passen, aber gesendet wird nix.

    Ich blicke da echt nicht mehr durch :confused:

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

    @bavarian Was ich allerdings nicht verstehe - wenn Du Strings verschickst - warum dann keine JSON Strings.
    Wenn der JS Code hier frei sit mit dem strcmp - da können wir doch das ganze Array schicken und das auf der Empfängerseite anlysieren?

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

    1 Antwort Letzte Antwort
    0
    • B Bavarian

      Hallo zusammen,

      ich möchte einige Sachen per Serial in Node Red an meinen Arduino senden, der Code ist alt und fix, kann nicht geändert werden.
      Ich kann sehr gut einen String senden LEDON oder LEDOFF.

      [
          {
              "id": "61c5ee22.b88f1",
              "type": "tab",
              "label": "Flow 4",
              "disabled": false,
              "info": ""
          },
          {
              "id": "2b3000e4.63106",
              "type": "inject",
              "z": "61c5ee22.b88f1",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "LEDON",
              "payloadType": "str",
              "x": 370,
              "y": 340,
              "wires": [
                  [
                      "168de73c.72f521",
                      "5aa5836f.d0a01c"
                  ]
              ]
          },
          {
              "id": "3f6f6ec7.f8afda",
              "type": "inject",
              "z": "61c5ee22.b88f1",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "LEDON",
              "payloadType": "str",
              "x": 370,
              "y": 420,
              "wires": [
                  [
                      "168de73c.72f521",
                      "5aa5836f.d0a01c"
                  ]
              ]
          },
          {
              "id": "168de73c.72f521",
              "type": "serial out",
              "z": "61c5ee22.b88f1",
              "name": "",
              "serial": "e13e4297edea67b8",
              "x": 620,
              "y": 300,
              "wires": []
          },
          {
              "id": "5aa5836f.d0a01c",
              "type": "debug",
              "z": "61c5ee22.b88f1",
              "name": "",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "false",
              "statusVal": "",
              "statusType": "auto",
              "x": 610,
              "y": 440,
              "wires": []
          },
          {
              "id": "e13e4297edea67b8",
              "type": "serial-port",
              "serialport": "/dev/ttyACM0",
              "serialbaud": "57600",
              "databits": "8",
              "parity": "none",
              "stopbits": "1",
              "waitfor": "",
              "dtr": "none",
              "rts": "none",
              "cts": "none",
              "dsr": "none",
              "newline": "\\n",
              "bin": "bin",
              "out": "char",
              "addchar": "\\n",
              "responsetimeout": "100"
          }
      ]
      

      Im Debug Fenster steht dann:
      msg.payload : string[5]
      "LEDON"

      Das \n wir automatisch durch die Config der Serial geschickt und wird auch auf dem Arduino erwartet.

      Auf diese Weise werden ein paar Funktionen ein und ausgeschaltet, so weit so gut.

      Nun hänge ich seit Tagen (und Nächten) vor dem Problem, dass ich auch Werte übertragen will.
      Ich bin mittlerweile verwirrt was ASCII BUFFER STRING OBJECT anbetrifft und habe auch viel versucht mit dem Buffer Maker.
      Auf der Empfangsseite habe ich das mit den Werten die ich bekomme mittlerweile mit dem Buffer Parser im Griff.
      Da kommt eine ASCII Kennung gefolgt von floats int boolean etc. das klappt!

      Auf der Arduino Seite sieht das für einfache Befehle so aus:

      if (strcmp(command, "LEDON") == 0 && !ledon) {
            digitalWrite(LEDON_PIN, HIGH);
            ledon = true;
      

      Passt, keine Probleme bis hier, dann aber:

      else if (strcmp(substr, "MSS:") == 0) {
              byte a = command[4];
              byte b = command[5];
              bool x = command[6] != 0;
              mss.configure(a, b, x);
      

      Byte A und B sind Zahlen zwischen 0 und 255 und x als bool.
      Also sehe das eigentlich so aus: MSS: 19 188 true
      mss.configure(a, b, x) sollte dass die Werte erhalten mss.configure(19, 188, true);

      Ich bekomme das aber nicht zum laufen.
      Als String geht es nicht da sonst aus 19 eine 1 und eine 9 gemacht wird.
      Packe ich das in ein Array ["MSS:",19,188,true] geht das nicht.
      Nehme ich den Buffer Maker und mache daraus eine Buffer sehe ich im Debug auch die passenden Werte.
      Wenn ich den Buffer Maker dann mit der Serial verbinde, kommt erstmal eine Warnung da \n nur für Strigs ist.
      Nehme ich das Kreuz in der Config von der Serial raus, also dass automatisch \n gesendet wird, passiert nix.

      Um das zu testen habe ich LEDON als ASCII Inject > BufferMaker ( ASCII länge 5) > Debug und Serial.
      Buffer sieht gut aus, Werte passen, aber gesendet wird nix.

      Ich blicke da echt nicht mehr durch :confused:

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

      @bavarian So ansonsten habe ich es jetzt mal so hingebracht, dass das Array in einen Puffer geschrieben wird.

      f4850edb-f30d-4464-bfee-b03bd24a937b-image.png

      Diese Meldung
      2073b418-603f-4a59-852e-6406b334d7f4-image.png
      bekommst Du von der serial out Node - wenn Du einen Buffer schreiben willst, weil Buffer und String sich nicht vertragen.

      \n ist ja das Zeilenvorschubzeichen. Wenn Du das unbedingt brauchst, damit was geschickt wird, dann kann man das HEX eintragen und dann gibt es auch die Fehlermeldung beim Buffer nicht mehr:

      f4b8f87a-5c0a-4795-90f7-457573037e75-image.png

      Hier der Flow - ich hab allerdings für den Bool auch den Type Byte genommen - anders mag das Teil nicht.

      [{"id":"e08ae59281d89c61","type":"buffer-maker","z":"61c5ee22.b88f1","name":"","specification":"spec","specificationType":"ui","items":[{"name":"item1","type":"string","length":-1,"dataType":"msg","data":"payload[0]"},{"name":"item2","type":"byte","length":1,"dataType":"msg","data":"payload[1]"},{"name":"item3","type":"byte","length":1,"dataType":"msg","data":"payload[2]"},{"name":"item4","type":"byte","length":1,"dataType":"msg","data":"payload[3]"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":730,"y":480,"wires":[["4ce6d6acb107c8d7","1df6c50f97d2dbea"]]},{"id":"4ce6d6acb107c8d7","type":"debug","z":"61c5ee22.b88f1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":910,"y":480,"wires":[]},{"id":"1df6c50f97d2dbea","type":"serial out","z":"61c5ee22.b88f1","name":"","serial":"e13e4297edea67b8","x":940,"y":420,"wires":[]},{"id":"445effb16bf3ad09","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[\"MSS:\",200,50,true]","payloadType":"json","x":530,"y":480,"wires":[["e08ae59281d89c61"]]},{"id":"2b3000e4.63106","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"LEDON","payloadType":"str","x":730,"y":420,"wires":[["4ce6d6acb107c8d7","1df6c50f97d2dbea"]]},{"id":"e13e4297edea67b8","type":"serial-port","serialport":"/dev/ttyACM0","serialbaud":"57600","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"\\n","bin":"bin","out":"char","addchar":"0x10","responsetimeout":""}]
      

      ec41fc70-f4cf-408f-9beb-3011ed547515-image.pngc739e42e-d2e7-403e-b6da-9e10a01de1d4-image.png

      Als Type Bool den letzten Parameter im Array für die Buffer Node zu verwenden funktioniert anscheinend nur, wenn das insgesamt ein Array ist.

      8c15d429-8e73-4a2e-adc4-45d4e5a6e830-image.png

      In der Hilfe zur Parser Node steht es dann auch wohl so drin, das hier auch ein Array ausgegeben wird.
      2d1b0b7c-b148-4769-b3c2-cd2cbcfe2f9a-image.png


      Im Prinzip bekommt man den Puffer auch ohne buffer Node hin - man muss allerdings Strings getrennt vom übrigen Array behandeln:

      ca048304-6497-44e6-bb0e-bdd764138227-image.png

      Hier der Code der Function Node:

      var buffArr = [];
      var topic = msg.payload.shift();
      buffArr.push(Buffer.from(topic));
      buffArr.push(Buffer.from(msg.payload));
      msg.payload=Buffer.concat(buffArr);
      return msg;
      

      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.

      B 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @bavarian So ansonsten habe ich es jetzt mal so hingebracht, dass das Array in einen Puffer geschrieben wird.

        f4850edb-f30d-4464-bfee-b03bd24a937b-image.png

        Diese Meldung
        2073b418-603f-4a59-852e-6406b334d7f4-image.png
        bekommst Du von der serial out Node - wenn Du einen Buffer schreiben willst, weil Buffer und String sich nicht vertragen.

        \n ist ja das Zeilenvorschubzeichen. Wenn Du das unbedingt brauchst, damit was geschickt wird, dann kann man das HEX eintragen und dann gibt es auch die Fehlermeldung beim Buffer nicht mehr:

        f4b8f87a-5c0a-4795-90f7-457573037e75-image.png

        Hier der Flow - ich hab allerdings für den Bool auch den Type Byte genommen - anders mag das Teil nicht.

        [{"id":"e08ae59281d89c61","type":"buffer-maker","z":"61c5ee22.b88f1","name":"","specification":"spec","specificationType":"ui","items":[{"name":"item1","type":"string","length":-1,"dataType":"msg","data":"payload[0]"},{"name":"item2","type":"byte","length":1,"dataType":"msg","data":"payload[1]"},{"name":"item3","type":"byte","length":1,"dataType":"msg","data":"payload[2]"},{"name":"item4","type":"byte","length":1,"dataType":"msg","data":"payload[3]"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":730,"y":480,"wires":[["4ce6d6acb107c8d7","1df6c50f97d2dbea"]]},{"id":"4ce6d6acb107c8d7","type":"debug","z":"61c5ee22.b88f1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":910,"y":480,"wires":[]},{"id":"1df6c50f97d2dbea","type":"serial out","z":"61c5ee22.b88f1","name":"","serial":"e13e4297edea67b8","x":940,"y":420,"wires":[]},{"id":"445effb16bf3ad09","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[\"MSS:\",200,50,true]","payloadType":"json","x":530,"y":480,"wires":[["e08ae59281d89c61"]]},{"id":"2b3000e4.63106","type":"inject","z":"61c5ee22.b88f1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"LEDON","payloadType":"str","x":730,"y":420,"wires":[["4ce6d6acb107c8d7","1df6c50f97d2dbea"]]},{"id":"e13e4297edea67b8","type":"serial-port","serialport":"/dev/ttyACM0","serialbaud":"57600","databits":"8","parity":"none","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"\\n","bin":"bin","out":"char","addchar":"0x10","responsetimeout":""}]
        

        ec41fc70-f4cf-408f-9beb-3011ed547515-image.pngc739e42e-d2e7-403e-b6da-9e10a01de1d4-image.png

        Als Type Bool den letzten Parameter im Array für die Buffer Node zu verwenden funktioniert anscheinend nur, wenn das insgesamt ein Array ist.

        8c15d429-8e73-4a2e-adc4-45d4e5a6e830-image.png

        In der Hilfe zur Parser Node steht es dann auch wohl so drin, das hier auch ein Array ausgegeben wird.
        2d1b0b7c-b148-4769-b3c2-cd2cbcfe2f9a-image.png


        Im Prinzip bekommt man den Puffer auch ohne buffer Node hin - man muss allerdings Strings getrennt vom übrigen Array behandeln:

        ca048304-6497-44e6-bb0e-bdd764138227-image.png

        Hier der Code der Function Node:

        var buffArr = [];
        var topic = msg.payload.shift();
        buffArr.push(Buffer.from(topic));
        buffArr.push(Buffer.from(msg.payload));
        msg.payload=Buffer.concat(buffArr);
        return msg;
        
        B Offline
        B Offline
        Bavarian
        schrieb am zuletzt editiert von
        #5

        @mickym

        Ich kann auf der Arduino Seite nichts ändern, nicht weil ich nicht will sondern weil es sonst zu einer anderen Software nicht mehr passt.

        Das mit dem \n ist gelöst mit 0x10 kann ich die Strings senden und bekomme auch mit dem Buffer keine Meldung mehr :+1:
        Leider sehen aber auch nur die Debug Meldungen gut aus, es geht nichts raus.
        Da der Arduino verbaut ist, sehe ich die RX/TX LED nicht, also noch eine Arduino genomme, Programm drauf und LED's ansehen.
        String mit 0x10 angehangen und LED blinkt auf.
        Ansonsten bleibt die RX LED aus, Debug Message kommt aber Serial passiert nix.

        Ich denke bevor ich mit dem Inhalt der Nachrichten weiter mache die ich senden will, sollte ich erstmal sicherstellen, dass da
        aus dem Buffer auch Seriell gesendet wird.

        mickymM B 2 Antworten Letzte Antwort
        0
        • B Bavarian

          @mickym

          Ich kann auf der Arduino Seite nichts ändern, nicht weil ich nicht will sondern weil es sonst zu einer anderen Software nicht mehr passt.

          Das mit dem \n ist gelöst mit 0x10 kann ich die Strings senden und bekomme auch mit dem Buffer keine Meldung mehr :+1:
          Leider sehen aber auch nur die Debug Meldungen gut aus, es geht nichts raus.
          Da der Arduino verbaut ist, sehe ich die RX/TX LED nicht, also noch eine Arduino genomme, Programm drauf und LED's ansehen.
          String mit 0x10 angehangen und LED blinkt auf.
          Ansonsten bleibt die RX LED aus, Debug Message kommt aber Serial passiert nix.

          Ich denke bevor ich mit dem Inhalt der Nachrichten weiter mache die ich senden will, sollte ich erstmal sicherstellen, dass da
          aus dem Buffer auch Seriell gesendet wird.

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

          @bavarian Probier mal statt 0x10, 0x0A ich hab da dezimal statt hex 10 dezimal 10 genommen, sorry.

          c0fa10d3-f72d-4d61-b05b-a11dee826556-image.png

          Alternativ auch CR - habe ich auch gelesen - also 0x0D.

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

          1 Antwort Letzte Antwort
          0
          • B Bavarian

            @mickym

            Ich kann auf der Arduino Seite nichts ändern, nicht weil ich nicht will sondern weil es sonst zu einer anderen Software nicht mehr passt.

            Das mit dem \n ist gelöst mit 0x10 kann ich die Strings senden und bekomme auch mit dem Buffer keine Meldung mehr :+1:
            Leider sehen aber auch nur die Debug Meldungen gut aus, es geht nichts raus.
            Da der Arduino verbaut ist, sehe ich die RX/TX LED nicht, also noch eine Arduino genomme, Programm drauf und LED's ansehen.
            String mit 0x10 angehangen und LED blinkt auf.
            Ansonsten bleibt die RX LED aus, Debug Message kommt aber Serial passiert nix.

            Ich denke bevor ich mit dem Inhalt der Nachrichten weiter mache die ich senden will, sollte ich erstmal sicherstellen, dass da
            aus dem Buffer auch Seriell gesendet wird.

            B Offline
            B Offline
            Bavarian
            schrieb am zuletzt editiert von
            #7

            @bavarian

            :the_horns:
            DAS war es !
            Statt \n eben nicht leer lassen sonden 0x0a senden :sunglasses:

            Ich hab es nun als im Inject als JSON ["MSS:",89,27,1] das klappt, nun wird das ja von mir per klick ausgelöst.
            Der JSON Datenpunkt sieht ja genauso aus, ändert sich aber ein Wert im DP wird nicht automatisch gesendet.
            Muss ich hierzu noch was beachten?
            Irgendein trigger setzten, wenn sich was im DP ändert bitte senden?

            mickymM 1 Antwort Letzte Antwort
            0
            • B Bavarian

              @bavarian

              :the_horns:
              DAS war es !
              Statt \n eben nicht leer lassen sonden 0x0a senden :sunglasses:

              Ich hab es nun als im Inject als JSON ["MSS:",89,27,1] das klappt, nun wird das ja von mir per klick ausgelöst.
              Der JSON Datenpunkt sieht ja genauso aus, ändert sich aber ein Wert im DP wird nicht automatisch gesendet.
              Muss ich hierzu noch was beachten?
              Irgendein trigger setzten, wenn sich was im DP ändert bitte senden?

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

              @bavarian Na statt der Inject Node nimmst Du doch eine iobroker In Node und wenn der Wert neu geschrieben wird, dann triggert die Node auch. Vielleicht hast Du in der iobroker In Node was ausgefiltert zum Beispiel ACK=true oder so.

              Du musst halt jetzt den ganzen Flow nehmen - iobroker in- json Node die das in Objekt konvertiert und dann halt in den Buffer Maker oder function Node.

              Wenn all Events in der iobroker In Node spezifiziert ist, dann wird auch gesendet, selbst wenn sich gar nichts ändert und der Wert nur neu geschrieben wird.

              1597f955-9306-4aea-8215-96d36a5e1df6-image.png

              funktioniert bei mir einwandfrei - hier der gesamte Flow - nur das halt bei Dir hinten die serial Node dranhängt:

              ec1fc68c-fce5-4ac9-a60e-3d3ea9bb9c0f-image.png

              Du sendest ja nicht einzelne Werte im JSON - sondern immer den Datenpunkt und der enthält ja den kompletten JSON String.

              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.

              B 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @bavarian Na statt der Inject Node nimmst Du doch eine iobroker In Node und wenn der Wert neu geschrieben wird, dann triggert die Node auch. Vielleicht hast Du in der iobroker In Node was ausgefiltert zum Beispiel ACK=true oder so.

                Du musst halt jetzt den ganzen Flow nehmen - iobroker in- json Node die das in Objekt konvertiert und dann halt in den Buffer Maker oder function Node.

                Wenn all Events in der iobroker In Node spezifiziert ist, dann wird auch gesendet, selbst wenn sich gar nichts ändert und der Wert nur neu geschrieben wird.

                1597f955-9306-4aea-8215-96d36a5e1df6-image.png

                funktioniert bei mir einwandfrei - hier der gesamte Flow - nur das halt bei Dir hinten die serial Node dranhängt:

                ec1fc68c-fce5-4ac9-a60e-3d3ea9bb9c0f-image.png

                Du sendest ja nicht einzelne Werte im JSON - sondern immer den Datenpunkt und der enthält ja den kompletten JSON String.

                B Offline
                B Offline
                Bavarian
                schrieb am zuletzt editiert von
                #9

                @mickym

                LÄUFT!

                Problem war noch ein bool im Script.

                Vielen Dank Michael!!!

                mickymM 1 Antwort Letzte Antwort
                0
                • B Bavarian

                  @mickym

                  LÄUFT!

                  Problem war noch ein bool im Script.

                  Vielen Dank Michael!!!

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

                  @bavarian Na freut mich - zusammen bekommt man das meist hin - auch wenn ich kein Arduino Board habe. ;) Ich lerne ja auch immer - nächstes Mal weiss ich dass man 0x0a in die serielle Node eintragen muss, wenn man Buffer überträgt - ausserdem habe ich mich ja wieder etwas mit der Buffer Node und der JS Buffer Funktion heute auseinandergesetzt. Dieses Wissen ist mir ja Gewinn genug und deswegen mache ich so was ja auch gerne, weil es mein eigenes Wissen und die Erfahrung vergrößert.

                  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 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @bavarian Na freut mich - zusammen bekommt man das meist hin - auch wenn ich kein Arduino Board habe. ;) Ich lerne ja auch immer - nächstes Mal weiss ich dass man 0x0a in die serielle Node eintragen muss, wenn man Buffer überträgt - ausserdem habe ich mich ja wieder etwas mit der Buffer Node und der JS Buffer Funktion heute auseinandergesetzt. Dieses Wissen ist mir ja Gewinn genug und deswegen mache ich so was ja auch gerne, weil es mein eigenes Wissen und die Erfahrung vergrößert.

                    H Nicht stören
                    H Nicht stören
                    Hansi1234
                    schrieb am zuletzt editiert von
                    #11

                    Wäre es auf diese Weise auch möglich einen Fingerprint Reader (zfm 20/40/60 etc) zu integrieren?

                    1 Antwort Letzte Antwort
                    0
                    • mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @hansi1234 sagte in Daten per Serieller Schnittstelle übertragen:

                      Es scheint wohl Libaries für Arduino bzgl. fingerprint zu geben - aber das müssen dann wohl Leute mit so einem Board sagen und wie die Befehle aussehen müssen. Es scheint aber üblich zu sein über die serielle Schnittstelle mit dem Board zu kommunzieren. Gibt auch im Netz einige Beispiele wie Fingerprint Sensoren an so ein Arduino angeschlossen wurden.

                      Ich kann dazu leider nichts beitragen.

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

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


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      733

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      Themen

                      1.3m

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

                      • Du hast noch kein Konto? Registrieren

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