Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.0k

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

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

Umwandlung BIN in DEC

Umwandlung BIN in DEC

Scheduled Pinned Locked Moved JavaScript
12 Posts 3 Posters 418 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    stefancammans
    wrote on last edited by
    #1

    Umwandlung BIN in DEC

    Hallo Zusammen,

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

    MfG

    F paul53P 2 Replies Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          0
          • paul53P paul53

            @stefancammans sagte:

            mehrere Binäre Datenpunkte zusammenfassen

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

            S Offline
            S Offline
            stefancammans
            wrote on last edited by
            #5

            @paul53

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

            MfG

            paul53P 1 Reply Last reply
            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
              wrote on last edited by 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 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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
                  wrote on last edited by 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 Reply Last reply
                  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
                    wrote on last edited by
                    #9

                    @paul53

                    Das funktioniert schon mal super.

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

                    paul53P 1 Reply Last reply
                    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
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          623

                          Online

                          32.4k

                          Users

                          81.3k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe