# ISKRA auslesen, Block kann nicht geleer werden

**URL:** <https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557>\
**Category:** Deutsch\
**Created:** [September 17, 2024, 4:51pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557 "2024-09-17T16:51:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 17, 2024, 4:51pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/1 "2024-09-17T16:51:24Z")

</div>

Nachdem das erste Projekt (ISKRA und Momentanwertauswertung - Nulleinspeisung) hänge ich nun am anderen Projekt. Um das auslesen des Gesamtwertes in ein anderes Projekt einbauen zu können, muss es erst mal richtig funktionieren.  
Im folgenden Sketch wird ein Datenblock von 120 Byte eingelesen, anschließend mit der Suche nach dem Gesamtwert vortgesetzt. Sobald er gefunden ist, wird er errechnet und auf dem seriellen Monitor ausgegeben.

Nun soll eigentlich der Rest der eingelesenen Daten komplett gelöscht und ein neuer Block eingelesen werden. um einen aktuellen Wert zu filtern.  
Allerding gibt es nur weitere Werte aus dem vorher gelesenen Block, bist dieser abgearbeitet ist. Erst dann wird gelöscht und neu eingelesen.  
Leider finde ich den Fehler nicht, welcher wahrscheinlich einfach ist, aber mitlerweile habe ich Scheuklappen auf.

```arduino
#include <Wire.h>
#include <SoftwareSerial.h>
#include <SPI.h>

SoftwareSerial mySerial(D3, D5); // D3 RX, D5 nicht benutzt, da ISKRA M681 keinen IR Eingang zur Kommunikation der SML zulässt

constexpr uint16_t maxSize{ 200 }; // Speichergröße für einen Dump
byte myByte[maxSize] = { 0 }; // Speicherinhalt auf 0 setzen
uint16_t idx = 0; // Index initialisieren
int wert19, wert20, wert21, wert22; // Werte des Gesamtverbrauchs
int LED = D4; // Ausgang LED zur Anzeige Daten aus Zähler lesen
long lastValueFound = millis(); // Zeitwert zur Abschaltung der Heizung bei Verlust von Daten
unsigned long lastReadTime = 0; // Zeitstempel für 10 Sekunden Abfrage

void setup() {
  Serial.begin(115200);
  mySerial.begin(9600);
  pinMode(LED, OUTPUT); // LED Ausgang setzen
}

void loop() {
  // Prüfen, ob Daten vorhanden sind und lesen dieser
  if (mySerial.available()) {
    digitalWrite(LED, HIGH); // LED einschalten, wenn Daten empfangen werden
    myByte[idx] = mySerial.read();
    idx++;

    // Verhindere Überlauf des Indexes
    if (idx >= maxSize - 1) {
      idx = maxSize - 1;
    }
  } else {
    digitalWrite(LED, LOW); // LED ausschalten, wenn keine Daten empfangen werden
  }

  // Verarbeite die Daten, wenn genug Bytes empfangen wurden
  if (idx > 140) {
    boolean valueFound = false;
    for (uint16_t i = 0; i < 140; i++) {
      // Suche nach der Byte-Reihe für den Gesamtwert
      if (((myByte[i]) == 119) && ((myByte[i + 1]) == 7) && ((myByte[i + 2]) == 1) && ((myByte[i + 3]) == 0) &&
          ((myByte[i + 4]) == 1) && ((myByte[i + 5]) == 8) && ((myByte[i + 6]) == 0) && ((myByte[i + 7]) == 255)) {
        valueFound = true;

        // Gesamtverbrauchswerte berechnen
        wert19 = myByte[i + 19]; wert20 = myByte[i + 20]; wert21 = myByte[i + 21]; wert22 = myByte[i + 22];

        long dezimalwert = (long(wert19) << 24) | (long(wert20) << 16) | (long(wert21) << 8) | long(wert22);
        float Bezug = (dezimalwert / 10000.0000); // Gesamtleistung in kWh

        Serial.print("Bezug: "); Serial.println(Bezug, 4);
    
        // Speicher leeren und Index zurücksetzen
        clearBuffer(); idx = 0; break;
      }
    }
    if (!valueFound) {
      clearBuffer();
      idx = 0;
    }
  }

  // Verhindere Überlaufen des Speichers durch regelmäßige Leerung
  if (millis() - lastReadTime > 10000) { // Alle 10 Sekunden
    lastReadTime = millis();
    if (idx > 0) {
      clearBuffer();
      idx = 0;
    }
  }
}

// Funktion zum Leeren des Speichers
void clearBuffer() {
  for (uint16_t i = 0; i < maxSize; i++) {
    myByte[i] = 0;
  }
}

```

Ich hoffe, das jemand das Problem erkennt.Schon mal danke

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 18, 2024, 7:47am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/2 "2024-09-18T07:47:58Z")

</div>

> [@vateiselos](#):
>
> der Rest der eingelesenen Daten komplett gelöscht

weil Datenschutz ? oder glaubst du etwa die neu eingelesene Daten werden die alten nicht überschreiben können?

wie ich sehe brauchst du nur 23 Bytes. Wieso dann nicht nur die letzte 23 zu speichern?

eigentlich könnte man auch darauf verzichten und die 8 Bytes des Erkennungsverfahrens nur mitzählen, sobald alle 8 gezählt sind werden 12 folgende ignoriert und dann 4 weitere zusammen addiert.

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 18, 2024, 9:50am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/3 "2024-09-18T09:50:20Z")

</div>

```arduino
#include <Wire.h>
#include <SoftwareSerial.h>
#include <SPI.h>

SoftwareSerial mySerial(D3, -1); // D3 RX, D5 nicht benutzt, da ISKRA M681 keinen IR Eingang zur Kommunikation der SML zulässt

const uint32_t Abtatstrate = 10000;//ms
const byte LED = D4; // Ausgang LED zur Anzeige Daten aus Zähler lesen
const byte Chain[] = {0x77, 0x07, 0x01, 0x00, 0x01, 0x08, 0x00, 0xff};
void setup() {
  Serial.begin(115200);
  mySerial.begin(9600);
  pinMode(LED, OUTPUT); // LED Ausgang setzen
}

void loop() {
  static uint32_t oldMillis = 0;

  if (millis() - oldMillis < Abtatstrate)while (mySerial.available() > 0)mySerial.read();
  else {
    digitalWrite(LED, HIGH); // LED einschalten, wenn Daten empfangen werden
    delay(20);
    if (mySerial.available() > 22) {
      bool itsOK = true;
      for (byte i = 0; i < 8; i++) {
        byte CurrByte = mySerial.read();
        if (CurrByte != Chain[i]) {
          itsOK = false;
          i = 8;
        }
      }

      if (itsOK) {
        oldMillis += Abtatstrate;
        for (byte i = 0; i < 11; i++)mySerial.read();
        uint32_t dezimalwert = 0;
        for (byte i = 0; i < 4; i++) {
          dezimalwert = (dezimalwert << 8) | mySerial.read(); // es ist nicht klar ob die Daten wirklich decimal sind oder doch float
         
        }
        digitalWrite(LED, LOW); // LED ausschalten, wenn keine Daten empfangen werden
        Serial.print("Bezug: "); Serial.println(dezimalwert); // mal sehen was es ausgibt
      }
    }
    else {
      digitalWrite(LED, LOW); // LED ausschalten, wenn keine Daten empfangen werden
      delay(20);
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 18, 2024, 5:26pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/4 "2024-09-18T17:26:40Z")

</div>

> [@kolaha](#):
>
> weil Datenschutz ? oder glaubst du etwa die neu eingelesene Daten werden die alten nicht überschreiben können?

Das ist mir schnuppe, ob überschreiben oder vorher löschen. Es soll funktionieren.

> [@kolaha](#):
>
> wie ich sehe brauchst du nur 23 Bytes. Wieso dann nicht nur die letzte 23 zu speichern?

Ja, aber man muss sie erst mal finden in dem Block.

> [@kolaha](#):
>
> eigentlich könnte man auch darauf verzichten und die 8 Bytes des Erkennungsverfahrens nur mitzählen, sobald alle 8 gezählt sind werden 12 folgende ignoriert und dann 4 weitere zusammen addiert.

Das verstehe ich nicht. Leider ist es nicht einfach diese Daten zu finden und auszurechnen . Aber das ist ja auch garnicht das Problem. Das finden und rechnen funktioniert ja. Das Problem ist, wie beschrieben, das er nur den ersten Wert in dem kompletten Block finden, errechnen und ausgeben soll, dann den rest in diesem Block ignorieren und einen neuen Block einlesen (oder den alten Block überschreiben) um dann einen aktuellen Wert ausgeben soll

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 18, 2024, 6:47pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/5 "2024-09-18T18:47:20Z")

</div>

Der Sketch ist ein ganz anderer Ansatz, steig ich erst mal nicht durch, werde den Sketch aber mal testen, danke....

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 18, 2024, 7:23pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/6 "2024-09-18T19:23:01Z")

</div>

Der Sketch lässt sich nicht kompilieren, bricht mit der Fehlermeldung:"exit status 1  
scalar object 'Chain' requires one element in initializer"

---

<div class="post-metadata">

**Author:** ![Kai-R](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kai-r/32/801182_2.png) [@Kai-R](https://forum.arduino.cc/u/Kai-R)\
**Post date:** [September 19, 2024, 3:17am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/7 "2024-09-19T03:17:16Z")

</div>

const byte Chain[8] = {0x77, 0x07, 0x01, 0x00, 0x01, 0x08, 0x00, 0xff};

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 19, 2024, 12:34pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/8 "2024-09-19T12:34:17Z")

</div>

> [@vateiselos](#):
>
> 'Chain' requires

ja, das habe ich korrigiert.

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 19, 2024, 12:48pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/9 "2024-09-19T12:48:42Z")

</div>

> [@vateiselos](#):
>
> Allerding gibt es nur weitere Werte aus dem vorher gelesenen Block

kann nicht sein, so steht nicht in deinem Code, besonders nach dem du Array mit '0' füllst.

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 19, 2024, 3:45pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/10 "2024-09-19T15:45:45Z")

</div>

Leider die nächste Fehlermeldung: " 'CurrByte' was not declared in this scope"

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 19, 2024, 3:48pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/11 "2024-09-19T15:48:25Z")

</div>

> [@kolaha](#):
>
> kann nicht sein, so steht nicht in deinem Code, besonders nach dem du Array mit '0' füllst.

So war der Plan, ist aber nicht aufgegangen, deshalb habe ich hier die Anfrage gestartet.  
Ich erhalte als Ausdruck jedesmal 2-4 gleiche Werte, dann eine kurze Pause und dann erst neue Werte.

---

<div class="post-metadata">

**Author:** ![my\_xy\_projekt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/my_xy_projekt/32/810062_2.png) [@my\_xy\_projekt](https://forum.arduino.cc/u/my_xy_projekt)\
**Post date:** [September 19, 2024, 4:09pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/12 "2024-09-19T16:09:18Z")

</div>

> [@vateiselos](#):
>
> Ich erhalte als Ausdruck jedesmal 2-4 gleiche Werte, dann eine kurze Pause und dann erst neue Werte.

Das ist aber was anderes als:

> [@vateiselos](#):
>
> Allerding gibt es nur weitere Werte aus dem vorher gelesenen Block, bist dieser abgearbeitet ist.

Ich werde Dir aber nicht weiterhelfen.  
Selbst wenn ich es könnte.  
Dieses Gefummel abseits der Gegegebenheiten ist eben nur ein Gefummel und damit Fehleranfällig und wird Dir immer wieder auf die Füße fallen.

z.B. dieses Konstrukt:

```arduino
  if (idx > 140)
  {
    boolean valueFound = false;
    for (uint16_t i = 0; i < 140; i++)
    {
      // Suche nach der Byte-Reihe für den Gesamtwert
      if (((myByte[i]) == 119) && ((myByte[i + 1]) == 7) && ((myByte[i + 2]) == 1) && ((myByte[i + 3]) == 0) &&
          ((myByte[i + 4]) == 1) && ((myByte[i + 5]) == 8) && ((myByte[i + 6]) == 0) && ((myByte[i + 7]) == 255))
      {
```

was passiert, wenn idx 141 ist?

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 19, 2024, 4:35pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/13 "2024-09-19T16:35:56Z")

</div>

> [@my\_xy\_projekt](#):
>
> was passiert, wenn idx 141 ist?

Warum sollte das 141 sein, so weit ich das verstanden habe, wird die Schleife bei 140 verlassen...

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 19, 2024, 6:18pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/14 "2024-09-19T18:18:06Z")

</div>

> [@my\_xy\_projekt](#):
>
> > [@vateiselos](#):
> >
> > Ich erhalte als Ausdruck jedesmal 2-4 gleiche Werte, dann eine kurze Pause und dann erst neue Werte.
> 
> Das ist aber was anderes als:
> 
> Allerding gibt es nur weitere Werte aus dem vorher gelesenen Block, bist dieser abgearbeitet ist.

Was soll der Unterschied sein? Der Sketch ließt einen Block ein (200Bytes : `constexpr uint16_t maxSize{ 200 };`)  
Dann fängt er an, in diesem Block nach dem passenden Code für den Gesamtverbrauch zu suchen. Hat er ihn gefunden, errechnet er den Wert und gibt ihn auf dem Monitor aus. Dann soll er eigentlich den Block löschen, oder auch überschreiben mit den nächsten 200Byte. Das macht er aber nicht, sondern sucht in dem alten Block weiter und gibt mir den nächsten gefundenen Wert aus. Erst wenn er alle 2-4 enthaltenen Werte gefunden hat, ließt er wieder einen neuen Block ein. Das ist der eigentliche Fehler.  
Nun möchte ich wissen, warum nach der ersten Rechnung kein neuer Block eingelesen wird.  
Wusste nicht, das das so ein Aufruhr erzeugt, tut mir leid, aber es ist nur eine Frage.

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 19, 2024, 9:14pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/15 "2024-09-19T21:14:48Z")

</div>

> [@vateiselos](#):
>
> Das macht er aber nicht, sondern sucht in dem alten Block weiter und gibt mir den nächsten gefundenen Wert aus

wie gesagt - das tut dieser Code nicht, trotz deiner festen Überzeugung. Kann es sein dass `ISKRA M681` eine Weile die gleiche Daten sendet?

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 19, 2024, 9:20pm UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/16 "2024-09-19T21:20:04Z")

</div>

> [@vateiselos](#):
>
> 'CurrByte' was not declared

korrigiert

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 20, 2024, 8:29am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/17 "2024-09-20T08:29:05Z")

</div>

Lässt sich kompilieren und drauf spielen. Die LED flackert, wenn kein Signal reinkommt, leuchtet (jedenfallsaugenscheinlich) bei Signaleingang.  
Der serielle Monitor zeigt leider garnichts

---

<div class="post-metadata">

**Author:** ![vateiselos](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/vateiselos/32/1013044_2.png) [@vateiselos](https://forum.arduino.cc/u/vateiselos)\
**Post date:** [September 20, 2024, 8:37am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/18 "2024-09-20T08:37:33Z")

</div>

Ich habe beim meinem Sketch das i und das idx mit auf den Monitor genommen und nach der Ausgabe eine ein sekündige Pause eingefügt. Jetzt sieht die Ausgabe so aus:

"08:54:59.758 -\> Bezug: 9468.5752 i: 93 idx: 141  
08:55:01.741 -\> Bezug: 9468.5762 i: 103 idx: 141  
08:55:03.747 -\> Bezug: 9468.5771 i: 115 idx: 141  
08:55:05.704 -\> Bezug: 0.0000 i: 127 idx: 141  
08:55:08.758 -\> Bezug: 9468.5801 i: 93 idx: 141  
08:55:10.727 -\> Bezug: 9468.5811 i: 105 idx: 141  
08:55:12.747 -\> Bezug: 9468.5820 i: 116 idx: 141  
08:55:14.701 -\> Bezug: 0.0000 i: 128 idx: 141  
08:55:18.777 -\> Bezug: 9468.5859 i: 93 idx: 141  
08:55:20.747 -\> Bezug: 9468.5869 i: 113 idx: 141  
08:55:23.759 -\> Bezug: 9468.5879 i: 89 idx: 141  
08:55:25.716 -\> Bezug: 9468.5889 i: 109 idx: 141  
08:55:28.768 -\> Bezug: 9468.5908 i: 93 idx: 141  
08:55:30.733 -\> Bezug: 9468.5918 i: 115 idx: 141  
08:55:33.742 -\> Bezug: 9468.5938 i: 91 idx: 141  
08:55:35.764 -\> Bezug: 9468.5947 i: 101 idx: 141  
08:55:38.741 -\> Bezug: 9468.5967 i: 93 idx: 141  
"  
so sieht das ganz passabel aus, aber wie kommt es zu der 000.0000 Ausgabe?

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 20, 2024, 8:42am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/19 "2024-09-20T08:42:31Z")

</div>

> [@vateiselos](#):
>
> 000.0000 Ausgabe?

das kommt wenn gesuchte Sequenz zu nah am Ende ist so liest es außer gefüllten Bereich die Nullen die du beim Leeren reinschreibst.  
und warst darüber gewarnt:

> [@my\_xy\_projekt](#):
>
> was passiert, wenn idx 141 ist?

ich würde ehe fragen was würde passieren wenn ` i = 132` ? so wird es viel mehr offensichtlich.

die Lösung ist einfach, entweder:

```arduino
if (idx > 199) {

```

oder

```arduino
for (uint16_t i = 0; i < 140 - 23; i++) {

```

---

<div class="post-metadata">

**Author:** ![kolaha](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/kolaha/32/966427_2.png) [@kolaha](https://forum.arduino.cc/u/kolaha)\
**Post date:** [September 20, 2024, 9:00am UTC](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557/20 "2024-09-20T09:00:54Z")

</div>

> [@kolaha](#):
>
> Kann es sein dass `ISKRA M681` eine Weile die gleiche Daten sendet?

die Frage hat sich erübrigt, da in deinem Log alle Bezüge unterschiedlich sind.

[Next page](https://forum.arduino.cc/t/iskra-auslesen-block-kann-nicht-geleer-werden/1302557.md?page=2)
