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
  5. Umwandlung BIN in DEC

NEWS

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

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

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

Umwandlung BIN in DEC

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 3 Kommentatoren 418 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.
  • S Offline
    S Offline
    stefancammans
    schrieb am zuletzt editiert von
    #1

    Umwandlung BIN in DEC

    Hallo Zusammen,

    wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
    übertragen ?

    MfG

    F paul53P 2 Antworten Letzte Antwort
    0
    • S stefancammans

      Umwandlung BIN in DEC

      Hallo Zusammen,

      wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
      übertragen ?

      MfG

      F Offline
      F Offline
      fastfoot
      schrieb am zuletzt editiert von
      #2

      @stefancammans sagte in Umwandlung BIN in DEC:

      Umwandlung BIN in DEC

      Hallo Zusammen,

      wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
      übertragen ?

      MfG

      meinst Du so etwas?

      let a = '100';
      let b = '001';
      let c = parseInt(a | b,2);
      log(c);
      

      iobroker läuft unter Docker auf QNAP TS-451+
      SkriptRecovery: https://forum.iobroker.net/post/930558

      S 1 Antwort Letzte Antwort
      0
      • S stefancammans

        Umwandlung BIN in DEC

        Hallo Zusammen,

        wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
        übertragen ?

        MfG

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #3

        @stefancammans sagte:

        mehrere Binäre Datenpunkte zusammenfassen

        Binäre (0/1) oder boolsche (false/true) Datenpunkte ?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        S 1 Antwort Letzte Antwort
        0
        • F fastfoot

          @stefancammans sagte in Umwandlung BIN in DEC:

          Umwandlung BIN in DEC

          Hallo Zusammen,

          wie kann ich mehrere Binäre Datenpunkte zusammenfassen( DEC) und per MODBUS
          übertragen ?

          MfG

          meinst Du so etwas?

          let a = '100';
          let b = '001';
          let c = parseInt(a | b,2);
          log(c);
          
          S Offline
          S Offline
          stefancammans
          schrieb am zuletzt editiert von
          #4

          @fastfoot

          so ähnlich...

          ich möchte mehrere Bool-VAR in ein MODBUS-Register übergeben,
          um die Variabel in der Wago-SPS als Tast-befehle zu nutzen.

          So sähe das in Codesys aus :
          Beispiel BIT TO WORD.PNG
          Beispiel BIT TO WORD 2.PNG

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @stefancammans sagte:

            mehrere Binäre Datenpunkte zusammenfassen

            Binäre (0/1) oder boolsche (false/true) Datenpunkte ?

            S Offline
            S Offline
            stefancammans
            schrieb am zuletzt editiert von
            #5

            @paul53

            ist mir eingenlich egal.
            Der Tasterbefehl kommt aus der VISU vom iobroker.
            Aber 0 & 1 ist denke ich einfacher.

            MfG

            paul53P 1 Antwort Letzte Antwort
            0
            • S stefancammans

              @paul53

              ist mir eingenlich egal.
              Der Tasterbefehl kommt aus der VISU vom iobroker.
              Aber 0 & 1 ist denke ich einfacher.

              MfG

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @stefancammans sagte:

              0 & 1 ist denke ich einfacher.

              Das muss man nicht in eine Zahl wandeln. Im folgenden Beispiel enthält der Variablenname die Bitposition.

              let dec = a0 | a1 << 1 | a2 << 2 | a3 << 3
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              S 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @stefancammans sagte:

                0 & 1 ist denke ich einfacher.

                Das muss man nicht in eine Zahl wandeln. Im folgenden Beispiel enthält der Variablenname die Bitposition.

                let dec = a0 | a1 << 1 | a2 << 2 | a3 << 3
                
                S Offline
                S Offline
                stefancammans
                schrieb am zuletzt editiert von
                #7

                @paul53

                let modbus_Helper = a0 | 'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2' << 1 |
                'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3' << 2 |
                'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4' << 3 ;

                setState('modbus.0.holdingRegisters.12310' ,modbus_Helper )

                irgendwie bekomme ich das nicht hin....

                paul53P 1 Antwort Letzte Antwort
                0
                • S stefancammans

                  @paul53

                  let modbus_Helper = a0 | 'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2' << 1 |
                  'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3' << 2 |
                  'javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4' << 3 ;

                  setState('modbus.0.holdingRegisters.12310' ,modbus_Helper )

                  irgendwie bekomme ich das nicht hin....

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @stefancammans
                  Datenpunkt-IDs sind keine binären Werte sondern Strings.

                  let a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                  let a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                  let a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                  let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                  setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  S 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @stefancammans
                    Datenpunkt-IDs sind keine binären Werte sondern Strings.

                    let a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                    let a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                    let a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                    let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                    setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                    
                    S Offline
                    S Offline
                    stefancammans
                    schrieb am zuletzt editiert von
                    #9

                    @paul53

                    Das funktioniert schon mal super.

                    aber wie sorge ich jetzt dafür das es bei Wertänderung ausgeführt wird?

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • S stefancammans

                      @paul53

                      Das funktioniert schon mal super.

                      aber wie sorge ich jetzt dafür das es bei Wertänderung ausgeführt wird?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @stefancammans sagte:

                      bei Wertänderung ausgeführt wird?

                      var a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                      var a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                      var a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                      
                      function bin2dec() {
                         let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                         setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                      }
                      
                      bin2dec(); // Script start
                      
                      on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2', function(dp) {
                        a2 = dp.state.val;
                        bin2dec();
                      });
                      on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3', function(dp) {
                        a3 = dp.state.val;
                        bin2dec();
                      });
                      on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4', function(dp) {
                        a4 = dp.state.val;
                        bin2dec();
                      });
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      S 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @stefancammans sagte:

                        bei Wertänderung ausgeführt wird?

                        var a2 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2').val;
                        var a3 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3').val;
                        var a4 = getState('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4').val;
                        
                        function bin2dec() {
                           let modbus_Helper = a2 << 2 | a3 << 3 | a4 << 4;
                           setState('modbus.0.holdingRegisters.12310', modbus_Helper);
                        }
                        
                        bin2dec(); // Script start
                        
                        on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_2', function(dp) {
                          a2 = dp.state.val;
                          bin2dec();
                        });
                        on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_3', function(dp) {
                          a3 = dp.state.val;
                          bin2dec();
                        });
                        on('javascript.0.script.js.BIT_TO_.Bit_to_Word_2_4', function(dp) {
                          a4 = dp.state.val;
                          bin2dec();
                        });
                        
                        S Offline
                        S Offline
                        stefancammans
                        schrieb am zuletzt editiert von
                        #11

                        @paul53

                        Super vielen Dank !!!
                        Da wäre ich nie drauf gekommen.

                        Es geht genau so wie ich es mir vorgestellt habe.
                        Danke !!

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • S stefancammans

                          @paul53

                          Super vielen Dank !!!
                          Da wäre ich nie drauf gekommen.

                          Es geht genau so wie ich es mir vorgestellt habe.
                          Danke !!

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @stefancammans sagte:

                          genau so wie ich es mir vorgestellt habe.

                          Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          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

                          861

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          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