Wie sich herausgestellt hat, sind die letzten drei Bytes im Adalight Modus nicht fest, sondern hängen von der LED-Zahl ab.
Hier mal mein letzter Stand. --> https://gist.github.com/CReimer/21239b5551cd6b8bd1fb
Deinen Zählfehler habe ich umgangen, indem ich einfach nicht mehr zähle
Und das Prefixproblem ist auch weg. Die letzten 3 Bytes des Prefix werden einfach ignoriert.
Das ist so zwar verschwendete Bandbreite, aber die vorhandenen "Protokolle" sind eben so gebaut.
Im Idealfall hätte man exakt 1 Byte als Prefix. Spätestens nach dem zweiten oder dritten Frame spielt sich das dann sauber ein.
Schöner ist da das Sedu-"Protokoll". Da sind es nur 3 Bytes. 2 am Anfang und 1 am Ende. Das zweite am Anfang ist wieder mit Zusatzinfos versehen, die im Falle des Arduino wieder unnötig sind.
An das werde ich später meinen Sketch noch anpassen und dann komme ich auch nicht wirklich weiter bis die Chinesen meine LED Stripes endlich liefern.
Edit: Sedu ist ja noch schlechter. Das hat feste Bytelängen. Das kleinste ist 256 Byte. Wenn ich das jetzt richtig gesehen habe wird der Rest einfach mit Nullen gefüllt. Ich lasse es also beim Adalight Protokoll.