Boolean Verknüpfung mit Node Red

  • Hallo,

    Ich würde es versuchen dir zu helfen - Brauche aber noch das Verständnis was du machen möchtest.

    Kannst du die Logik in deine Worte mal niederschreiben.

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

  • Ja, gerne. Ich habe eine selbst entwickelte Alarmanlage die über UART mit dem ioBroker kommuniziert. Die Anlage sendet codierte Daten wie z.b. "0011223344" die ich über Node Red wieder decodiere. Die Daten sind eigentlich nur eine Anreihung von Hexzahlen in 2er Gruppen. Also "00" ist die erste Hex, "11" die 2te usw. Die letzte Zahl "hier 44" ist genau genommen keine Date, sondern eine XOR-Verknüpfung der Zahlenpaare 00-33 und wird von der Alarmanlage erzeugt und mitgesendet und soll die Checksumme der Daten darstellen. Ziel ist es die Empfangenen Daten 00-33 im Node Red so zu verknüpfen, dass die selbe Checksumme errechnet wird und mir so bestätigt, dass die Übertragung vollständig und richtig war.

  • Ich versuche noch mal das ganze in meine eigene Worte zu fassen.

    Dein Ziel / Dein Wünsch ist es aus Anregungen von Zahlen eine Prüfsumme zu errechnen. Dabei ist die Prüfsumme vorgehen, da diese schon von der Alarmanale rechnet würden ist.

    Nun, weißt du die Formel von der Prüfsumme, wie die Anlage die rechnet?

    Sind die Daten die kommen immer gleich lang ?

    Mit freundlichen Grüßen und ein sichere SmartHome

    PlayDiver

  • Dein Ziel / Dein Wünsch ist es aus Anregungen von Zahlen eine Prüfsumme zu errechnen. Dabei ist die Prüfsumme vorgehen, da diese schon von der Alarmanale rechnet würden ist.

    Genau.

    Nun, weißt du die Formel von der Prüfsumme, wie die Anlage die rechnet?

    Na klar. Siehe Screenshot.

    Sind die Daten die kommen immer gleich lang ?

    Ja, sind sie. Insg. sind es 7Stk. 2er Hexpaare + Checksumme. Ich hab mal ein Screenshot aus Node Red angehangen die diese live aussehen. In den Fall ist die "04" die Prüfsumme. Wenn man es nachrechnet passt es auch. 05 XOR 01 = 04.

    In Node Red hab ich schon die Daten geteilt und in ioBroker-Objekte geschrieben. Hier gibt es die Funktion "Test", wo ich schon versuchte, die komplett empfangenen Daten mit XOR zu errechnen. Da komme ich aber nicht weiter.

  • 30-40 Datensätze ??? Nur 3 der 7 Paare sind Werte die sich ändern können. Alle anderen bleiben eigentlich immer gleich. Es ändert sich mal was wenn ein Fenster offen ist oder die Anlage scharf geschaltet wird, aber die meisten Datensätze sehen so aus wie das was ich schon als Screenshot geschickt hatte.

    Wenn z.B. die Anlage scharf ist, ist der Datensatz:

    "1000000000050114" --> Hex 10 gedeutet in Binär 0001 0000 in Byte 0 eine 1 an Bit 4 (ALF), siehe Screenshot. Was soviel heißt wie AnLagescharF. 14 ist dann die Checksumme.

    Wenn ein Fenster offen ist:

    "0100010000050104" --> Hex 01 gedeutet in Binär 0000 0001 in Byte 0 eine 1 an Bit 0 (KAL). Was soviel heißt wie KontaktALarm. Die Hex 01 als drittes Paar gedeutet in Binär 0000 0001 in Byte 2 eine 1 an Bit 0 (REE0). Heißt hier REEdkontakt 0.......und so weiter.

    Wenn z.b. alle Fenster und Türen geöffnet sind sieht es so aus.:

    "01003F000005013A"

    Bei 30-40 Datensätzen müsste ich ja alle Kombinationen durchgehen die es gibt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!