Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hex an TCP Client senden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hex an TCP Client senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • J.A.R.V.I.S.
      J.A.R.V.I.S. Developer @Malaus last edited by J.A.R.V.I.S.

      @Malaus sagte in Hex an TCP Client senden:

      "0x01“

      Das “ ist kein " sondern ein “. Deswegen wird ein Fehler geworfen.

      Versuch es mal mit:

      ["0x01","0x9b","0x00","0x00","0x00","0x17","0x01","0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x8a","0x00","0x03","0x00","0x00","0x01","0xa0","0x00","0x00","0x00","0x00"]
      
      M 1 Reply Last reply Reply Quote 1
      • M
        Malaus @J.A.R.V.I.S. last edited by

        @J-A-R-V-I-S

        das hat funktioniert! Vielen Dank!
        Jetzt muss ich mir nur noch was ausdenken, wie ich am sinnvollsten die Helligkeit der Lampe schalte. Am besten eine Dezimal in Hex umrechnen.

        J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
        • J.A.R.V.I.S.
          J.A.R.V.I.S. Developer @Malaus last edited by J.A.R.V.I.S.

          @Malaus sagte in Hex an TCP Client senden:

          Am besten eine Dezimal in Hex umrechnen.

          Hier, falls du das noch benötigst:

          const brightness = 60;
          
          const brightnessHex = brightness.toString(16);
          
          
          M 1 Reply Last reply Reply Quote 0
          • M
            Malaus @J.A.R.V.I.S. last edited by Malaus

            @J-A-R-V-I-S

            nochmal Danke!
            Hab das nun eingebaut und laut log rechnet er es auch um allerdings schaltet er nur bei sehr kleinen Zahlen (1,3,6,..) und bei den größeren geht es aus. Und auch immer nur die gleiche Helligkeit. Nimm ich z.B. "0xC8" und ersetze das mit brightnessHex, geht die Lampe auf die jeweilige Helligkeit.

            function schalten(){
                const brightness = getState(T1).val;
             
                const brightnessHex = brightness.toString(16);
             
                  console.log("Level " + brightnessHex);
                  var hex_data = ["0x00","0x6f","0x00","0x00","0x00","0x17","0x01","0x17","0x00","0x65","0x00","0x05","0x00","0x64","0x00","0x06","0x0c","0x12","0x5f","0x00","0x03","0x00","0x00","0x00",brightnessHex,"0x00","0x00","0x00","0x00"] 
            
                  var data = Buffer.from(hex_data);
                  var ip = '192.168.178.36';
                  var port = 502;
                  sendMessage(ip, port, data);
            }
            

            Bildschirmfoto 2020-03-18 um 15.27.17.png

            Edit: Hab das problem beim absenden erkannt 😄 es fehlt 0x also so:

            const brightness = getState(T1).val;
            const brightnessHex = brightness.toString(16);
            const level = "0x" + brightnessHex
            
            1 Reply Last reply Reply Quote 0
            • M
              Malaus last edited by

              Durch:

              client.on('data', function (data) {
                  console.log(data.toString());
                  client.end();
                });
              

              Erhalte ich ja eine Antwort vom Client. Wie kann ich diese auswerten? Im Log bekomme ich nur seltsame Zeichen:
              Bildschirmfoto 2020-03-19 um 14.47.39.png

              J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
              • J.A.R.V.I.S.
                J.A.R.V.I.S. Developer @Malaus last edited by

                @Malaus ich weiß nicht genau was da ankommt, vermutlich ein Array? Dann versuch mal folgendes:

                log(JSON.stringify(data));
                
                1 Reply Last reply Reply Quote 0
                • M
                  Malaus last edited by

                  Ja das funktioniert soweit:

                  Bildschirmfoto 2020-03-19 um 15.26.46.png

                  Jetzt kann ich doch mit

                  JSON.parse();
                  

                  das in Number umwandeln und danach wieder in Hex. Also mein Ziel wäre, es mit der gesendeten Hex Datei zu vergleichen.
                  Nur leider spuckt er mir nur [object][object] aus.
                  Wo ist da mein Denkfehler?

                  J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
                  • J.A.R.V.I.S.
                    J.A.R.V.I.S. Developer @Malaus last edited by J.A.R.V.I.S.

                    @Malaus wenn du ein Buffer in ein JSON Object umwandeln möchtest, dann versuch mal folgendes:

                    const obj = JSON.parse(data.toString());
                    

                    bzw.

                    const obj = data.toJSON().data;
                    
                    M 1 Reply Last reply Reply Quote 1
                    • M
                      Malaus @J.A.R.V.I.S. last edited by

                      @J-A-R-V-I-S ich hätte da noch eine Frage:
                      Gibt es eine simple Möglichkeit ein bestimmtes Modbus Register per Javascript abzufragen? Also das ich den Modbus Adapter umgehe.

                      J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
                      • J.A.R.V.I.S.
                        J.A.R.V.I.S. Developer @Malaus last edited by

                        @Malaus mit Modbus habe ich leider nichts am Hut, da kann ich die leider nicht weiterhelfen.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        864
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        communication javascript node-red
                        2
                        11
                        784
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo