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. JavaScript… und mühsam ernährt sich das Eichhörnchen!

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

JavaScript… und mühsam ernährt sich das Eichhörnchen!

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
30 Beiträge 5 Kommentatoren 3.6k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • wendy2702W Online
    wendy2702W Online
    wendy2702
    schrieb am zuletzt editiert von
    #5

    Kein Thema… ich lerne ja auch noch. :D

    Wobei mich das gerade zur Verzweiflung treibt :cry:

    Bitte keine Fragen per PN, die gehören ins Forum!

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      Pman
      schrieb am zuletzt editiert von
      #6

      Ohne detailierte Analyse: das "read"-Event wird jedes mal aufgerufen, wenn Daten eintreffen, im Allgemeinen also nur Bruchstücke der gesamten Übertragung. Schau dir nochmal die Dokumentation und Beispiele des Serial-Port Moduls an. Es wird vermutlich ein bestimmtes Zeichen zum Ende der Übertragung gesendet, dieses musst du z.B. mit dem ReadLineParser oder dem ReadyParser nutzen. Der Parser "sammelt" die Daten bis zum definierten Zeichen für dich.

      1 Antwort Letzte Antwort
      0
      • wendy2702W Online
        wendy2702W Online
        wendy2702
        schrieb am zuletzt editiert von
        #7

        OK.

        Da muss ich mal schauen ob ich damit klar komme.

        Bitte keine Fragen per PN, die gehören ins Forum!

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        1 Antwort Letzte Antwort
        0
        • wendy2702W Online
          wendy2702W Online
          wendy2702
          schrieb am zuletzt editiert von
          #8

          @Pman:

          Ohne detailierte Analyse: das "read"-Event wird jedes mal aufgerufen, wenn Daten eintreffen, im Allgemeinen also nur Bruchstücke der gesamten Übertragung. Schau dir nochmal die Dokumentation und Beispiele des Serial-Port Moduls an. Es wird vermutlich ein bestimmtes Zeichen zum Ende der Übertragung gesendet, dieses musst du z.B. mit dem ReadLineParser oder dem ReadyParser nutzen. Der Parser "sammelt" die Daten bis zum definierten Zeichen für dich. `

          Bevor ich versuche das zu vertiefen habe ich noch eine Frage.

          Sollte ich denn nicht bereits vor dem Parsen die Antwort Daten zumindest in der Konsole sehen?

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Pman
            schrieb am zuletzt editiert von
            #9

            Wenn ich das richtig sehe kommt manchmal ein Zeichen, manchmal nicht. Du konvertierst natürlich auch einfach irgendwelche bits und bytes in text, das muss nicht immer etwas sinnvolles ergeben. Und du schließt den Port dann ja auch sofort, nachdem das erste mal ein Daten-Fragment rein kommt.

            1 Antwort Letzte Antwort
            0
            • wendy2702W Online
              wendy2702W Online
              wendy2702
              schrieb am zuletzt editiert von
              #10

              Hi PMAN,

              danke für deine Antwort aber das ist mein erstes Javascript und ich stehe auf dem Schlauch.

              Wieso schließe ich den Port sofort wieder?

              Wenn dem so ist, warum sehe ich am Sniffer die komplette Antwort der Wärmepumpe?

              Danke und Gruß

              Bitte keine Fragen per PN, die gehören ins Forum!

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              1 Antwort Letzte Antwort
              0
              • wendy2702W Online
                wendy2702W Online
                wendy2702
                schrieb am zuletzt editiert von
                #11

                OK.

                bin ein Stück weiter.

                Daten werden gelesen nachdem ich das geändert habe:

                port.on('data', function (data) {
                console.log('Data: ' + data.toString('hex'));
                var daten=[];
                daten=data.toString('hex');
                setState('Waterkotte.Daten.Rohdaten', daten & 0xFF,true);
                //port.close(); --> Port wurde zu schnell geschlossen!
                });
                

                aber nicht als HEX sondern so:

                ! ````
                18:08:40.617 [info] javascript.0 script.js.Skript1: registered 0 subscriptions and 0 schedules
                18:08:40.621 [info] javascript.0 script.js.Skript1: Connected
                18:08:40.625 [info] javascript.0 script.js.Skript1: Daten gesendet
                18:08:40.652 [info] javascript.0 script.js.Skript1: Data: �
                18:08:40.667 [info] javascript.0 script.js.Skript1: Data: �)��
                18:08:40.681 [info] javascript.0 script.js.Skript1: Data: �����p���
                18:08:40.698 [info] javascript.0 script.js.Skript1: Data: �A��Aw�B��3 18:08:40.714 [info] javascript.0 script.js.Skript1: Data: Bsr6BR8��pA 18:08:40.729 [info] javascript.0 script.js.Skript1: Data: �"@ 18:08:40.745 [info] javascript.0 script.js.Skript1: Data: ���� B�? 18:08:40.762 [info] javascript.0 script.js.Skript1: Data: ���?Y��@�� 18:08:40.777 [info] javascript.0 script.js.Skript1: Data: A��A�A�`�
                18:08:40.793 [info] javascript.0 script.js.Skript1: Data: Asr6B�
                18:08:40.810 [info] javascript.0 script.js.Skript1: Data: ]F�F�E
                18:08:40.826 [info] javascript.0 script.js.Skript1: Data:
                18:08:40.841 [info] javascript.0 script.js.Skript1: Data: �S
                18:08:40.857 [info] javascript.0 script.js.Skript1: Data: %* � N
                18:08:40.874 [info] javascript.0 script.js.Skript1: Data: [���C@��@�
                18:08:40.889 [info] javascript.0 script.js.Skript1: Data: Q�> oB��B�
                18:08:40.905 [info] javascript.0 script.js.Skript1: Data: wA??GB�A
                18:08:40.922 [info] javascript.0 script.js.Skript1: Data: +�
                18:08:40.937 [info] javascript.0 script.js.Skript1: Data: �
                18:08:40.953 [info] javascript.0 script.js.Skript1: Data: �
                18:08:40.970 [info] javascript.0 script.js.Skript1: Data: ''(5
                18:08:40.985 [info] javascript.0 script.js.Skript1: Data: �L�

                
                EDIT: sehe die HEX Daten jetzt im log, allerdings nicht in einem String oder?
                
                

                javascript.0 2018-02-28 19:24:20.743 info Stop script script.js.Skript1
                javascript.0 2018-02-28 19:22:15.871 info script.js.Skript1: Data: 0311a1ff
                javascript.0 2018-02-28 19:22:15.855 info script.js.Skript1: Data: 000127001701270028351210
                javascript.0 2018-02-28 19:22:15.840 info script.js.Skript1: Data: 000003010808000000000000
                javascript.0 2018-02-28 19:22:15.823 info script.js.Skript1: Data: a3200020000000020000000000
                javascript.0 2018-02-28 19:22:15.807 info script.js.Skript1: Data: 000000000000002c9d020002
                javascript.0 2018-02-28 19:22:15.792 info script.js.Skript1: Data: 413f3f474202000000a04100
                javascript.0 2018-02-28 19:22:15.775 info script.js.Skript1: Data: fe3e096f1442b58b0042cc771b
                javascript.0 2018-02-28 19:22:15.760 info script.js.Skript1: Data: c082e9434092e61740e151
                javascript.0 2018-02-28 19:22:15.744 info script.js.Skript1: Data: 2a1212010d01e32000004e5b1d
                javascript.0 2018-02-28 19:22:15.727 info script.js.Skript1: Data: 0000000000c7530000020925
                javascript.0 2018-02-28 19:22:15.711 info script.js.Skript1: Data: 010101010101010101010101
                javascript.0 2018-02-28 19:22:15.696 info script.js.Skript1: Data: ccdb1b461c01834500000000
                javascript.0 2018-02-28 19:22:15.680 info script.js.Skript1: Data: 4630422512141c0212e8175d46
                javascript.0 2018-02-28 19:22:15.663 info script.js.Skript1: Data: 757de24100009041757de2417a
                javascript.0 2018-02-28 19:22:15.647 info script.js.Skript1: Data: cc8c3f83fa05414da0d641
                javascript.0 2018-02-28 19:22:15.632 info script.js.Skript1: Data: 7f581442666626c00000000045
                javascript.0 2018-02-28 19:22:15.615 info script.js.Skript1: Data: 0044a63de1188cc07ecb0bc1
                javascript.0 2018-02-28 19:22:15.599 info script.js.Skript1: Data: 7a4630425238dec200007041
                javascript.0 2018-02-28 19:22:15.584 info script.js.Skript1: Data: 757de2417d610a42d3ff3342
                javascript.0 2018-02-28 19:22:15.567 info script.js.Skript1: Data: c0c36bd0c0edefb7c04da0d641
                javascript.0 2018-02-28 19:22:15.552 info script.js.Skript1: Data: 171fbe120c0603052920a6c6
                javascript.0 2018-02-28 19:22:15.537 info script.js.Skript1: Data: ff100200
                javascript.0 2018-02-28 19:22:15.508 info script.js.Skript1: Daten gesendet

                
                Jemand einen Tipp warum ich die nicht in den Datenpunkt geschrieben werden? Der steht auf "0":
                
                Danke

                Bitte keine Fragen per PN, die gehören ins Forum!

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1 Antwort Letzte Antwort
                0
                • wendy2702W Online
                  wendy2702W Online
                  wendy2702
                  schrieb am zuletzt editiert von
                  #12

                  Habe mal versucht einen Parser zu verwenden. Serialport auf ich auf dem Test System auf 6.1.1 upgedatet.

                  Wenn ich jetzt im JS Adapter dieses Script starte:

                  ! ````
                  //createState('Waterkotte.Daten.Rohdaten');
                  //var SerialPort = require("serialport");
                  ! // To use the ByteLength parser:
                  const SerialPort = require('serialport');
                  const ByteLength = SerialPort.parsers.ByteLength;
                  //const port = new SerialPort('/dev/ttyUSB0');
                  const parser = port.pipe(new ByteLength({length: 8}));
                  ! var buffer = new Buffer(12);
                  buffer[0] = 0x10;
                  buffer[1] = 0x02;
                  buffer[2] = 0x01;
                  buffer[3] = 0x15;
                  buffer[4] = 0x00;
                  buffer[5] = 0x00;
                  buffer[6] = 0x00;
                  buffer[7] = 0xf3;
                  buffer[8] = 0x10;
                  buffer[9] = 0x03;
                  buffer[10] = 0x7c;
                  buffer[11] = 0x32;
                  const port = new SerialPort("/dev/ttyUSB0", {
                  baudRate: 9600,
                  dataBits : 8,
                  parity : 'none',
                  stopBits: 1
                  //flowControl : false
                  },
                  function (err) {
                  if (err) {
                  return console.log('Error1: ', err.message);
                  ! }
                  ! port.on('data', function (data) {
                  //parser.on('data', console.log) // will have 8 bytes per data event
                  console.log('Data: ' + data.toString('hex'));
                  var daten=[];
                  daten=data.toString('hex');
                  setState('Waterkotte.Daten.Rohdaten', daten,true);
                  //port.close();
                  });
                  ! // Flush input
                  port.flush();
                  ! // send hello
                  port.write(buffer, function(err) {
                  if (err) {
                  return console.log('Error on write: ', err.message);
                  ! }
                  console.log('Daten gesendet');
                  // port.close();
                  });
                  });
                  ! port.on('open', function() {
                  console.log('Connected');
                  });
                  ! port.on('error', function(err) {
                  console.log('Error2: ', err.message);
                  //port.close();
                  });
                  ! // close port if the script stopped (to be able to open it again)
                  onStop(function (callback) {
                  if (port && port.isOpen) {
                  port.close();
                  console.log('port closed');
                  }
                  // callback();
                  ! });

                  
                  Bekomme ich diesen Fehler:
                  
                  

                  19:52:47.787 [error] javascript.0 script.js.Parser: script.js.Parser:8
                  19:52:47.788 [error] javascript.0 at script.js.Parser:8:21

                  
                  Das ist aus dem Script diese Zeile:
                  
                  

                  const parser = port.pipe(new ByteLength({length: 8}));

                  
                  Und wenn ich das richtig interpretiere ab dem "21" Zeichen –> "pipe" !?
                  
                  Die Parser Funktion habe ich aus der Aktuellen Serial Port Doku zum testen benutzen wollen.
                  
                  Liegt das jetzt am JS Adapter 3.6.4 das er das nicht kennt?
                  
                  Danke für eure Hilfe

                  Bitte keine Fragen per PN, die gehören ins Forum!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    pafra
                    schrieb am zuletzt editiert von
                    #13

                    @wendy2702:

                    Jemand einen Tipp warum ich die nicht in den Datenpunkt geschrieben werden? Der steht auf "0": `
                    Hi,

                    versuch mal das hier:

                    setState('Waterkotte.Daten.Rohdaten', daten);

                    Gruß

                    Franz

                    1 Antwort Letzte Antwort
                    0
                    • wendy2702W Online
                      wendy2702W Online
                      wendy2702
                      schrieb am zuletzt editiert von
                      #14

                      Hi Franz,

                      Mache ich morgen.

                      Danke !

                      Gute Nacht

                      Edit: keine Ruhe gehabt. Hat nichts geändert.

                      Morgen will mein Sohn mal gucken. [emoji9]

                      Gesendet von iPhone mit Tapatalk Pro

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Pman
                        schrieb am zuletzt editiert von
                        #15

                        Du hast zu diesem Zeitpunkt keine Variable "port", also kannst du auch nicht port.pipe machen.

                        Ich finde super, dass du dich mit deinen begrenzten Vorkenntnissen an so ein Projekt wagst und du machst ja auch Fortschritte, also bitte folgendes nicht falsch verstehen:

                        Es ist grundsätzlich nicht auszuschließen, dass der Javascript Adapter Bugs hat, aber es ist sehr unwahrscheinlich, dass bei deinen Skills ein Fehler tatsächlich am Adapter liegt und nicht an deinem Code. Es hilft auch nicht, wenn hier jemand liest und dann einen Bug im Adapter sucht. Vielleicht änderst du mal den Titel in etwas sinnvolleres.

                        1 Antwort Letzte Antwort
                        0
                        • wendy2702W Online
                          wendy2702W Online
                          wendy2702
                          schrieb am zuletzt editiert von
                          #16

                          Hallo Pman,

                          Das mit dem Titel mache ich.

                          Der ist ja auch noch zu Beginn entstanden.

                          Ja, die lieben Anfänger…

                          Das mit dem Port.pipe hat mein Sohn mir gestern Nacht im Vorbeigehen auch gesagt.

                          Da war der Beitrag schon geschrieben und ich zu müde das im Script noch irgendwie richtig zu versuchen.

                          Gesendet von iPhone mit Tapatalk Pro

                          Bitte keine Fragen per PN, die gehören ins Forum!

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            pafra
                            schrieb am zuletzt editiert von
                            #17

                            Hallo Mirko,

                            was passiert, wenn Du die Variable "daten" auf der Console ausgeben lässt?

                            Gruß

                            Franz

                            1 Antwort Letzte Antwort
                            0
                            • wendy2702W Online
                              wendy2702W Online
                              wendy2702
                              schrieb am zuletzt editiert von
                              #18

                              Hi Franz,

                              wenn ich das richtig verstehe ist die variable "daten" nichts anderes als die Ausgabe von:

                              console.log('Data: ' + data.toString('hex'));
                              

                              Wenn ich also zum testen ein:

                              console.log('Daten: ' + daten);
                              

                              einfüge, erhalte ich in der Ausgabe jeweils zwei Zeilen mit demselben Inhalt: Beispiel Auszug –>

                              08:19:11.522	[info]	javascript.0 script.js.Parser: Data: 0000000127008901270028
                              08:19:11.522	[info]	javascript.0 script.js.Parser: Daten: 0000000127008901270028
                              08:19:11.538	[info]	javascript.0 script.js.Parser: Data: 351210038929ff
                              08:19:11.538	[info]	javascript.0 script.js.Parser: Daten: 351210038929ff
                              

                              Oder meintest du das anders?

                              Mirko

                              Bitte keine Fragen per PN, die gehören ins Forum!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              1 Antwort Letzte Antwort
                              0
                              • P Offline
                                P Offline
                                pafra
                                schrieb am zuletzt editiert von
                                #19

                                Hi Mirko,

                                ja, genau so.

                                Die Daten stehen also in der Variable "daten".

                                Und damit landet dann wirklich nichts hier?

                                setState('Waterkotte.Daten.Rohdaten', daten);

                                Was passiert, wenn Du das manuell machst?

                                var test = 1234

                                Waterkotte.Daten.Rohdaten', test);

                                Gruß

                                Franz

                                1 Antwort Letzte Antwort
                                0
                                • wendy2702W Online
                                  wendy2702W Online
                                  wendy2702
                                  schrieb am zuletzt editiert von
                                  #20

                                  Hallo Franz,

                                  doch, es landet etwas in dem Datenpunkt.

                                  Aber immer nur das letzte der Ausgabe und nicht der komplette String.

                                  z.B.

                                  Ergebnis der Abfrage in der Console:

                                  08:54:57.546	[info]	javascript.0 script.js.Parser: Data: ff
                                  08:54:57.562	[info]	javascript.0 script.js.Parser: Data: 100200171fbe120c0603052918
                                  08:54:57.577	[info]	javascript.0 script.js.Parser: Data: 33cdc01191bfc0ffe9d3c0fb56
                                  08:54:57.592	[info]	javascript.0 script.js.Parser: Data: d8413d84de4165fb0742d3
                                  08:54:57.608	[info]	javascript.0 script.js.Parser: Data: ff334212c928425238dec20000
                                  08:54:57.625	[info]	javascript.0 script.js.Parser: Data: 704156ee5abeefa68dc0d000
                                  08:54:57.640	[info]	javascript.0 script.js.Parser: Data: 01c1c5c011429a9999bf0000
                                  08:54:57.656	[info]	javascript.0 script.js.Parser: Data: 0000b1e7933f61560341fb56
                                  08:54:57.673	[info]	javascript.0 script.js.Parser: Data: d8413d84de41000090413d84de
                                  08:54:57.689	[info]	javascript.0 script.js.Parser: Data: 4112c928421333090103126a
                                  08:54:57.704	[info]	javascript.0 script.js.Parser: Data: 2f5d46eaf01b46ea05834500
                                  08:54:57.720	[info]	javascript.0 script.js.Parser: Data: 00000001010101010101010101
                                  08:54:57.737	[info]	javascript.0 script.js.Parser: Data: 01010000000000c753000002
                                  08:54:57.752	[info]	javascript.0 script.js.Parser: Data: 09252a1212010d01e3200000
                                  08:54:57.768	[info]	javascript.0 script.js.Parser: Data: 4e5b1dc082e9434092e61740
                                  08:54:57.785	[info]	javascript.0 script.js.Parser: Data: e151fe3e096f1442b58b0042cc
                                  08:54:57.800	[info]	javascript.0 script.js.Parser: Data: 771b413f3f474202000000
                                  08:54:57.816	[info]	javascript.0 script.js.Parser: Data: a04100000000000000002cc502
                                  08:54:57.833	[info]	javascript.0 script.js.Parser: Data: 0002a320002000000002000000
                                  08:54:57.848	[info]	javascript.0 script.js.Parser: Data: 0000000003010808000000
                                  08:54:57.864	[info]	javascript.0 script.js.Parser: Data: 00000000012700890127002835
                                  08:54:57.880	[info]	javascript.0 script.js.Parser: Data: 1210039197ff
                                  

                                  Eintrag im Datenpunkt:

                                  999_waterkotte_daten.jpg

                                  Das versuche ich jetzt zu lösen…

                                  Bitte keine Fragen per PN, die gehören ins Forum!

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Antwort Letzte Antwort
                                  0
                                  • wendy2702W Online
                                    wendy2702W Online
                                    wendy2702
                                    schrieb am zuletzt editiert von
                                    #21

                                    Also vorausgesetzt die Antwort der WP ist immer 253 Zeichen lang kommt es jetzt so im Datenpunkt an:

                                    999_waterkotte_daten_komplett.jpg

                                    Kannst du das so mit deinem Script weiterverarbeiten oder musst du die Leerzeichen haben?

                                    Bitte keine Fragen per PN, die gehören ins Forum!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      pafra
                                      schrieb am zuletzt editiert von
                                      #22

                                      Hi Mirko,

                                      nein, ich brauche jetzt keine Leerzeichen mehr.

                                      Das habe ich gelöst.

                                      Hast Du die Antwort jetzt generell auf 253 Zeichen begrenzt?

                                      Die ist nämlich variabel und kann mehr oder weniger Zeichen haben.

                                      Eine "0x10" wird nämlich verdoppelt.

                                      Aber lass uns das mal einfach testen.

                                      Kannst Du mir das Script vielleicht erst mal per PN schicken?

                                      Ich würde es dann ausprobieren, ob mein Auswertescript damit klar kommt.

                                      Wenn ja, dann schick ich Dir das Auswertescript und wir können beide mal ausführlich testen und ggf. Fehler ausmerzen.

                                      Gruß

                                      Franz

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        Pman
                                        schrieb am zuletzt editiert von
                                        #23

                                        Du setzt den State jedes mal neu, wenn Teile (on "data") der Übertragung eintreffen, du hast am Ende also auch nur den letzten Teil der Übertragung drin. Daher solltest du warten bis die WP die Übertragung abgeschlossen hat, das wird meist durch eine ganz bestimmte Bit-Folge signalisiert.

                                        Diese Arbeit sollte eigentlich der Parser von serial-port übernehmen, du sagst ihm was dein Übertragungsende-Zeichen ist und er sammelt die Daten bis zu diesem Zeichen und übergibt der dir dann alles auf einmal.

                                        EDIT:

                                        Achja, der ByteLength-parser macht genau das, wonach er sich anhört, er gibt alle x Bytes etwas aus. Das ist nur sinnvoll, wenn vorher schon klar ist, welche länge die Übertragung hat.

                                        1 Antwort Letzte Antwort
                                        0
                                        • wendy2702W Online
                                          wendy2702W Online
                                          wendy2702
                                          schrieb am zuletzt editiert von
                                          #24

                                          Hallo Pman,

                                          liege ich denn da mit dem "Readline" Parser richtig?

                                          Dem kann ich ja eine Delimiter mitgeben.

                                          Jetzt habe ich nur das Problem das die ersten bytes am Anfang und am Ende immer FF sind, kann ich also so nicht verwenden.

                                          Das Ende ist allerdings, danke an Franz, immer so:

                                          10 03 xx xx FF (xx = CRC)
                                          

                                          Versuche das jetzt einzubauen, wobei ich noch nicht weiß wie ich das mit der CRC Summe mache. Gibt es für den Delimiter einen "Platzhalter" ?

                                          Bedeutet ich setzte den Delimiter z.B.: ({ delimiter: '1003%%%%FF' }));

                                          Das Prozent ist nur ein Beispiel da ich den Platzhalter nicht kenne und noch nicht weiß ob es den gibt.

                                          Danke für deine Denkanstöße

                                          Mirko

                                          Bitte keine Fragen per PN, die gehören ins Forum!

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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