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.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.5k

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 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

                        765

                        Online

                        32.5k

                        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