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. 2 Hexzahlen zusammenführen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

2 Hexzahlen zusammenführen

Geplant Angeheftet Gesperrt Verschoben Node-Red
10 Beiträge 4 Kommentatoren 868 Aufrufe 4 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 Offline
    B Offline
    Broker Tester
    schrieb am zuletzt editiert von
    #1

    Hallo...

    habe folgendes Problem und stehe auf dem Schlauch.

    Ich bekomme einen Stream über die serielle Schnittstelle nach diesen Vorgaben:

    7638953f-b54e-4591-8f45-ea13c3cf2ce3-grafik.png

    Habe den Stream jetzt schon aufgeteilt:

    978624c4-3b2b-48f7-a496-15a9ccb06544-grafik.png
    aa276d3f-ab63-4ba8-a63b-f31e5379c74a-grafik.png

    Wie kann ich am Dümmsten die Werte für Pos0 und Pos1 zusammenrechnen? Einfach multiplizieren geht ja bei Nullwerten nicht. Dachte mir eine Bitaddition, aber da bräuchte ich mal einen Tip.....

    Danke euch schon mal

    SokomotoS mickymM 2 Antworten Letzte Antwort
    0
    • B Broker Tester

      Hallo...

      habe folgendes Problem und stehe auf dem Schlauch.

      Ich bekomme einen Stream über die serielle Schnittstelle nach diesen Vorgaben:

      7638953f-b54e-4591-8f45-ea13c3cf2ce3-grafik.png

      Habe den Stream jetzt schon aufgeteilt:

      978624c4-3b2b-48f7-a496-15a9ccb06544-grafik.png
      aa276d3f-ab63-4ba8-a63b-f31e5379c74a-grafik.png

      Wie kann ich am Dümmsten die Werte für Pos0 und Pos1 zusammenrechnen? Einfach multiplizieren geht ja bei Nullwerten nicht. Dachte mir eine Bitaddition, aber da bräuchte ich mal einen Tip.....

      Danke euch schon mal

      SokomotoS Offline
      SokomotoS Offline
      Sokomoto
      schrieb am zuletzt editiert von
      #2

      @broker-tester sagte in 2 Hexzahlen zusammenführen:

      Einfach multiplizieren geht ja bei Nullwerten nicht.

      Das ist eine gewagte Aussage. Im node Terminal kommt folgendes Ergebnis bei einer Hex Berechnung raus:

      > x=0x0*0x0
      0
      > x=0x0/0x0
      NaN
      >
      

      Gut bei der Division motzt er. 👍😊

      tschuess

      B 1 Antwort Letzte Antwort
      0
      • SokomotoS Sokomoto

        @broker-tester sagte in 2 Hexzahlen zusammenführen:

        Einfach multiplizieren geht ja bei Nullwerten nicht.

        Das ist eine gewagte Aussage. Im node Terminal kommt folgendes Ergebnis bei einer Hex Berechnung raus:

        > x=0x0*0x0
        0
        > x=0x0/0x0
        NaN
        >
        

        Gut bei der Division motzt er. 👍😊

        tschuess

        B Offline
        B Offline
        Broker Tester
        schrieb am zuletzt editiert von
        #3

        @sokomoto

        Ok. Ich habe hex ja schon in dezimal umgewandelt und da ist die Multiplikation mit 0 ja 0.

        OliverIOO 1 Antwort Letzte Antwort
        0
        • B Broker Tester

          @sokomoto

          Ok. Ich habe hex ja schon in dezimal umgewandelt und da ist die Multiplikation mit 0 ja 0.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #4

          @broker-tester
          was mathematisch auch vollkommen richtig ist.

          da wir nicht wissen was in pos0 und pos1 für datn enthalten sind.
          was würdest du dir den als Ergebnis wünschen, wenn in beiden 0 drin steht?
          oder in einem 1 und im anderen 2?
          das Ergebnis von Addition/Multiplikation/etc hängt nicht von der Darstellung einer Zahl in einem Zahlsystem ab (10er/Dezimalsystem, 16er/Hexadezimal, 8er/Oktal,2er/Binär) ZUurückgerechnet bspw nach Dezimal kommt auch immer das gleiche Ergebnis raus

          Ergebnis bei 1 + 2

          Binär 1+10=11
          Oktal 1+2=3
          Hex 1+2=3
          Dez 1+2=3

          Ergebnis bei 1+10 (Dezimal)
          Binär 1+1010=1011
          Oktal 1+12=13
          Hex 1+A=B
          Dez 1+10=11

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          B 1 Antwort Letzte Antwort
          1
          • OliverIOO OliverIO

            @broker-tester
            was mathematisch auch vollkommen richtig ist.

            da wir nicht wissen was in pos0 und pos1 für datn enthalten sind.
            was würdest du dir den als Ergebnis wünschen, wenn in beiden 0 drin steht?
            oder in einem 1 und im anderen 2?
            das Ergebnis von Addition/Multiplikation/etc hängt nicht von der Darstellung einer Zahl in einem Zahlsystem ab (10er/Dezimalsystem, 16er/Hexadezimal, 8er/Oktal,2er/Binär) ZUurückgerechnet bspw nach Dezimal kommt auch immer das gleiche Ergebnis raus

            Ergebnis bei 1 + 2

            Binär 1+10=11
            Oktal 1+2=3
            Hex 1+2=3
            Dez 1+2=3

            Ergebnis bei 1+10 (Dezimal)
            Binär 1+1010=1011
            Oktal 1+12=13
            Hex 1+A=B
            Dez 1+10=11

            B Offline
            B Offline
            Broker Tester
            schrieb am zuletzt editiert von
            #5

            @oliverio

            Also... es kommt eine Position an, die in 2 hex Werte getrennt wurde. Dabei kann max 0xff und 0xff und min 0x00 und 0x00 ankommen. Diese muss ich wieder zusammenrechnen. Wenn ich dec255 *dec0 rechne, stimmt es ja nicht.

            1 Antwort Letzte Antwort
            0
            • OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von OliverIO
              #6

              @broker-tester

              ah ok, du bekommst ein 16bit wert in 2 einzelnen bytes zurück.
              ein wert ist das high byte und das andere ist das low byte.

              die rechnung lautet dann wie folgt:

              High byte * 256 + low byte
              

              welches das high byte ist musst du aus der beschreibung herausfinden, da beide reihenfolgen möglich sind (HiLo und LoHi)
              denke daran 0x00 bis 0xff sind 256 zustände (1-255 und die 0 kommt auch noch dazu)

              Nachtrag: und wenn du uns mit vollständigen Informationen gefüttert hättest, dann wäre der Weg die Beschreibung zur Vestamatic zu finden nicht so schwer gewesen.
              Übrigens
              LSB steht für Least Significant Byte und MSB für Most Significant Byte. Die Übersetzung nach High und Low überlasse ich dir, ansonsten nochmal fragen.

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              B 1 Antwort Letzte Antwort
              1
              • OliverIOO OliverIO

                @broker-tester

                ah ok, du bekommst ein 16bit wert in 2 einzelnen bytes zurück.
                ein wert ist das high byte und das andere ist das low byte.

                die rechnung lautet dann wie folgt:

                High byte * 256 + low byte
                

                welches das high byte ist musst du aus der beschreibung herausfinden, da beide reihenfolgen möglich sind (HiLo und LoHi)
                denke daran 0x00 bis 0xff sind 256 zustände (1-255 und die 0 kommt auch noch dazu)

                Nachtrag: und wenn du uns mit vollständigen Informationen gefüttert hättest, dann wäre der Weg die Beschreibung zur Vestamatic zu finden nicht so schwer gewesen.
                Übrigens
                LSB steht für Least Significant Byte und MSB für Most Significant Byte. Die Übersetzung nach High und Low überlasse ich dir, ansonsten nochmal fragen.

                B Offline
                B Offline
                Broker Tester
                schrieb am zuletzt editiert von
                #7

                @oliverio

                Respekt, dass du auf Vestamatic gekommen bist...
                Gibt's hier schon Fragen dazu?

                Ich werde das mal versuchen morgen und mich bei Fragen wieder melden... danke

                OliverIOO 1 Antwort Letzte Antwort
                0
                • B Broker Tester

                  @oliverio

                  Respekt, dass du auf Vestamatic gekommen bist...
                  Gibt's hier schon Fragen dazu?

                  Ich werde das mal versuchen morgen und mich bei Fragen wieder melden... danke

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von OliverIO
                  #8

                  @broker-tester
                  ja das geniale Tool nennt sich google und ich habe
                  die ersten 4 dieser Bezeichnungen dort eingetippt
                  d951ce3c-fb5c-4245-95ae-c8d5f83eafc3-image.png
                  und dann kam ein PDF mit genau der Beschreibung.
                  aber erst nach dem ich dir das mit High und Low Byte geschrieben habe :)

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  1 Antwort Letzte Antwort
                  1
                  • B Broker Tester

                    Hallo...

                    habe folgendes Problem und stehe auf dem Schlauch.

                    Ich bekomme einen Stream über die serielle Schnittstelle nach diesen Vorgaben:

                    7638953f-b54e-4591-8f45-ea13c3cf2ce3-grafik.png

                    Habe den Stream jetzt schon aufgeteilt:

                    978624c4-3b2b-48f7-a496-15a9ccb06544-grafik.png
                    aa276d3f-ab63-4ba8-a63b-f31e5379c74a-grafik.png

                    Wie kann ich am Dümmsten die Werte für Pos0 und Pos1 zusammenrechnen? Einfach multiplizieren geht ja bei Nullwerten nicht. Dachte mir eine Bitaddition, aber da bräuchte ich mal einen Tip.....

                    Danke euch schon mal

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #9

                    @broker-tester Ich empfehle Dir die Buffer-Node, damit machs Du Dir das Leben einfacher.

                    https://flows.nodered.org/node/node-red-contrib-buffer-parser

                    Dadurch dass Du die Werte auch in einem Objekt hast, kannst Du mit diesen auch rechnen . Es kann auch alle Arten von 8,16,32 mit LE oder BE Notation behandeln.

                    0a147151-e57c-408e-9930-75ccc25986d5-image.png

                    So ist das einfach - 2 Bytes als uint Integer zu interpretieren:
                    le = low dann high byte
                    be = high dann low byte

                    4ab94603-2b84-46e4-a8b3-e265cecef4bc-image.png

                    Es emfiehlt sich generell die Eigenschaften in einem Objekt mitzuführen oder ist es der einzige Zweck die Werte in DP zu schreiben?

                    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
                    1
                    • mickymM mickym

                      @broker-tester Ich empfehle Dir die Buffer-Node, damit machs Du Dir das Leben einfacher.

                      https://flows.nodered.org/node/node-red-contrib-buffer-parser

                      Dadurch dass Du die Werte auch in einem Objekt hast, kannst Du mit diesen auch rechnen . Es kann auch alle Arten von 8,16,32 mit LE oder BE Notation behandeln.

                      0a147151-e57c-408e-9930-75ccc25986d5-image.png

                      So ist das einfach - 2 Bytes als uint Integer zu interpretieren:
                      le = low dann high byte
                      be = high dann low byte

                      4ab94603-2b84-46e4-a8b3-e265cecef4bc-image.png

                      Es emfiehlt sich generell die Eigenschaften in einem Objekt mitzuführen oder ist es der einzige Zweck die Werte in DP zu schreiben?

                      B Offline
                      B Offline
                      Broker Tester
                      schrieb am zuletzt editiert von
                      #10

                      @mickym

                      Vielen Dank.. Das ist das, was ich gesucht habe....

                      Habe mir alles händisch programmiert, aber es geht ja einfacher...fdf4f6d8-8b74-4e66-944b-53391abeb3f0-grafik.png

                      Hier das erste Ergebnis. Muss noch weiter probieren und mich weiter in NODE einarbeiten..

                      edb27ae3-3b37-4f2c-adc2-7fa54fec31c9-grafik.png

                      Danke :+1: :clap:

                      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

                      809

                      Online

                      32.4k

                      Benutzer

                      81.6k

                      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