Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Payload mit Array Wert auslesen

    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

    Payload mit Array Wert auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MichaelJaD last edited by

      Hallo zusammen,

      ich möchte gerne aus einer Modbus Nachricht mit einem Array von 20 Werte diese auslesen und aufsplitten.

      Leider weiß ich nicht wie ich das machen muss. Habe schon vieles versucht aber ohne Erfolg. Kann mir da einer Helfen?

      2314_message.png

      Habe das mit folgendem Code versucht aber bekomme die Werte nicht aus dem Array. Was mache ich da falsch?

      
      var voltageL1 = '10'
      var voltageL2 = msg.payload[1];// 3,4
      var voltageL3 = msg.payload[2]; // 5,6
      
      var powerL1 = msg.payload[3]; // 7,8
      var powerL2 = msg.payload[4]; // 9,10
      var powerL3 = msg.payload[5];// 11,12
      
      var demandL1 = msg.payload[6]; // 13,14
      var demandL2 = msg.payload[7]; // 15,16
      var demandL3 = msg.payload[8]; // 17,18
      
      var voltageAVG = msg.payload[9]; // 43-46
      var powerAVG = msg.payload[10]; // 47,48
      
      return [
          {
              payload: {
                  L1: {
                      voltage: voltageL1,
                      power: powerL1,
                      demand: demandL1
                  },
                  L2: {
                      voltage: voltageL2,
                      power: powerL2,
                      demand: demandL2
                  },
                  L3: {
                      voltage: voltageL3,
                      power: powerL3,
                      demand: demandL3
                  },
                  voltageAVG: voltageAVG,
                  powerAVG: powerAVG,            
              }
          }
      ];
      
      

      Gruß

      1 Reply Last reply Reply Quote 0
      • A
        atelmblcd last edited by

        Hier einmal ein Beispielflow

        MfG

        jean

        [{"id":"d6a87e6f.b5e168","type":"modbus-read","z":"9c15b42b.7f30f8","name":"Waermemenge","topic":"Waermemenge","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"5096","quantity":"3","rate":"1","rateUnit":"m","delayOnStart":false,"startDelayTime":"","server":"c40455ee.d2e0c8","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":125,"y":115,"wires":[["477efe2b.53e9c","a06ba534.78931","ca759382.a1b0e8"],[]]},{"id":"477efe2b.53e9c","type":"function","z":"9c15b42b.7f30f8","name":"direct mapping","func":" var msg3 = msg.payload.map(function (p) {\n return {payload: p};\n });\n return msg3;","outputs":3,"noerr":0,"x":422.99998474121094,"y":111,"wires":[["49462990.00dd3"],["fdc81824.4b8dc"],["f88b5c9d.fdbf3"]]},{"id":"49462990.00dd3","type":"debug","z":"9c15b42b.7f30f8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":682.1666717529297,"y":90,"wires":[]},{"id":"fdc81824.4b8dc","type":"debug","z":"9c15b42b.7f30f8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":685.1666107177734,"y":134,"wires":[]},{"id":"f88b5c9d.fdbf3","type":"debug","z":"9c15b42b.7f30f8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":689.1666107177734,"y":178,"wires":[]},{"id":"ca759382.a1b0e8","type":"function","z":"9c15b42b.7f30f8","name":"Zaehlerstand","func":"msg.zaehlerstand=msg.payload[0]+msg.payload[1]*10000+msg.payload[2]*100000000;\nreturn msg;","outputs":1,"noerr":0,"x":471.1666717529297,"y":288.6666259765625,"wires":[["99800f51.4a4eb8"]]},{"id":"a06ba534.78931","type":"modbus-response","z":"9c15b42b.7f30f8","name":"","registerShowMax":20,"x":478.1666717529297,"y":215.0001220703125,"wires":[]},{"id":"99800f51.4a4eb8","type":"ui_text","z":"9c15b42b.7f30f8","group":"f022f05b.fd7708","order":1,"width":0,"height":0,"name":"Waermemenge","label":" Waermemenge","format":"{{msg.zaehlerstand}} kWh","layout":"row-spread","x":720.1666107177734,"y":289,"wires":[]},{"id":"5080a42f.54623c","type":"modbus-read","z":"9c15b42b.7f30f8","name":"Laufzeiten","topic":"Laufzeiten","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"71","quantity":"8","rate":"1","rateUnit":"m","delayOnStart":false,"startDelayTime":"","server":"c40455ee.d2e0c8","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":180,"y":391,"wires":[["7192cb95.27f124","b401a72f.6fc09","81bf833e.77b9a","bb996011.615bb8","51784375.e29adc"],[]]},{"id":"7192cb95.27f124","type":"function","z":"9c15b42b.7f30f8","name":"Verdichter1","func":"msg.verdichter1=msg.payload[1];\nreturn msg;","outputs":1,"noerr":0,"x":437,"y":459,"wires":[["fc81d15a.ea1198"]]},{"id":"fc81d15a.ea1198","type":"ui_text","z":"9c15b42b.7f30f8","group":"f022f05b.fd7708","order":2,"width":0,"height":0,"name":"","label":"Verdichter1","format":"{{msg.verdichter1}} Stunden","layout":"row-spread","x":677,"y":461,"wires":[]},{"id":"b401a72f.6fc09","type":"modbus-response","z":"9c15b42b.7f30f8","name":"","registerShowMax":20,"x":436.00001525878906,"y":359.66664123535156,"wires":[]},{"id":"81bf833e.77b9a","type":"function","z":"9c15b42b.7f30f8","name":"Verdichter2","func":"msg.verdichter2=msg.payload[2];\nreturn msg;","outputs":1,"noerr":0,"x":443.83331298828125,"y":517.3331909179688,"wires":[["e2993a5e.7f4f1"]]},{"id":"e2993a5e.7f4f1","type":"ui_text","z":"9c15b42b.7f30f8","group":"f022f05b.fd7708","order":3,"width":0,"height":0,"name":"","label":"Verdichter2","format":"{{msg.verdichter2}} Stunden","layout":"row-spread","x":680.8333129882812,"y":521.3331909179688,"wires":[]},{"id":"bb996011.615bb8","type":"function","z":"9c15b42b.7f30f8","name":"Ventilator","func":"msg.ventilator=msg.payload[3];\nreturn msg;","outputs":1,"noerr":0,"x":437.83331298828125,"y":569.3331909179688,"wires":[["25fb3b7b.c762cc"]]},{"id":"25fb3b7b.c762cc","type":"ui_text","z":"9c15b42b.7f30f8","group":"f022f05b.fd7708","order":4,"width":0,"height":0,"name":"","label":"Ventilator","format":"{{msg.ventilator}} Stunden","layout":"row-spread","x":684.8333129882812,"y":578.3331909179688,"wires":[]},{"id":"51784375.e29adc","type":"function","z":"9c15b42b.7f30f8","name":"Zirkulationspumpe","func":"msg.zirkulation=msg.payload[5];\nreturn msg;","outputs":1,"noerr":0,"x":474.83331298828125,"y":638.3331909179688,"wires":[["eb1d3848.3786f8"]]},{"id":"eb1d3848.3786f8","type":"ui_text","z":"9c15b42b.7f30f8","group":"f022f05b.fd7708","order":5,"width":0,"height":0,"name":"","label":"Zirkulationspumpe","format":"{{msg.zirkulation}} Stunden","layout":"row-spread","x":731.8333129882812,"y":646.3331909179688,"wires":[]},{"id":"c40455ee.d2e0c8","type":"modbus-client","z":"","name":"Dimplex Wärmepumpe","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"192.168.1.17","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"},{"id":"f022f05b.fd7708","type":"ui_group","z":"","name":"Zähler","tab":"57cf4a86.b1929c","order":4,"disp":true,"width":"6","collapse":false},{"id":"57cf4a86.b1929c","type":"ui_tab","z":"","name":"Dimplex","icon":"dashboard","order":3}]

        1 Reply Last reply Reply Quote 0
        • M
          MichaelJaD last edited by

          Danke.

          Ich habe aber jetzt noch eine andere Lösung gefunden damit ich die Werte noch umrechnen kann, das war sonst nicht möglich.

          2314_funktion.png

          Gruß

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

          Support us

          ioBroker
          Community Adapters
          Donate

          802
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          2
          3
          4121
          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