Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Datenpunktlisten zusammenfassen

    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

    Datenpunktlisten zusammenfassen

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

      Hallo

      Ich habe

      const EspDevice = "483FDA35C141";
      var Sensors = $("esphome.0." + EspDevice + ".Sensor.*.state");
      var Switches = $("esphome.0." + EspDevice + ".Switch.*.state");
      

      alle Sensoren und Schalter in 2 Arrays(?)
      Wie kann ich die zusammenfassen?

      var Statess = [Sensors, Switches];
      

      geht nicht.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @WolfgangFB last edited by paul53

        @wolfgangfb sagte in Datenpunktlisten zusammenfassen:

        in 2 Arrays(?)

        Das sind keine Arrays, sondern Objekte. Mit each-Schleifen kann man sie in einem Array zusammenfassen:

        const EspDevice = "483FDA35C141";
        var Sensors = $("esphome.0." + EspDevice + ".Sensor.*.state");
        var Switches = $("esphome.0." + EspDevice + ".Switch.*.state");
        const ids = [];
        Sensors.each(function(id, i) {
           ids.push(id);
        });
        Switches.each(function(id, i) {
           ids.push(id);
        });
        
        W 1 Reply Last reply Reply Quote 0
        • W
          WolfgangFB @paul53 last edited by

          @paul53

          Danke, so ganz verstehe ich den Unterschied aber noch nicht.

          const Sensor = $("esphome.0.483FDA35C141.Sensor.*.state");
          const ids = [];
          Sensor.each(function(id, i) {
             ids.push(id);
          });
          console.log("Sensor:")
          console.log(Sensor);
          console.log("ids: ")
          console.log(ids);
          for (var i=0; i<Sensor.length;i++){
              var obj = getObject(Sensor[i]);
              console.log(obj);
              console.log("Sensor[" + i + "]: ");
              console.log(Sensor[i]);
              console.log(getState(Sensor[i]).val)
              var obj = getObject(ids[i]);
              console.log(obj);
              console.log("ids[" + i + "]: ");
              console.log(ids[i]);
              console.log(getState(ids[i]).val)
          }
          

          liefert

          12:07:33.283	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: Sensor:
          12:07:33.283	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: {'0':'esphome.0.483FDA35C141.Sensor.2992319204.state','1':'esphome.0.483FDA35C141.Sensor.4035668188.state','length':2}
          12:07:33.284	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: ids:
          12:07:33.284	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: ['esphome.0.483FDA35C141.Sensor.2992319204.state','esphome.0.483FDA35C141.Sensor.4035668188.state']
          12:07:33.284	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: {'type':'state','common':{'modify':'','name':'State of D7.humidity Temperatur 0 humidity','type':'number','role':'state','read':true,'unit':'%','write':false},'from':'system.adapter.esphome.0','user':'system.user.admin','ts':1656065642107,'_id':'esphome.0.483FDA35C141.Sensor.2992319204.state','acl':{'object':1636,'state':1636,'owner':'system.user.admin','ownerGroup':'system.group.administrator'}}
          12:07:33.285	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: Sensor[0]:
          12:07:33.285	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: esphome.0.483FDA35C141.Sensor.2992319204.state
          12:07:33.285	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: 63
          12:07:33.286	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: {'type':'state','common':{'modify':'','name':'State of D7.humidity Temperatur 0 humidity','type':'number','role':'state','read':true,'unit':'%','write':false},'from':'system.adapter.esphome.0','user':'system.user.admin','ts':1656065642107,'_id':'esphome.0.483FDA35C141.Sensor.2992319204.state','acl':{'object':1636,'state':1636,'owner':'system.user.admin','ownerGroup':'system.group.administrator'}}
          12:07:33.286	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: ids[0]:
          12:07:33.286	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: esphome.0.483FDA35C141.Sensor.2992319204.state
          12:07:33.287	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: 63
          12:07:33.287	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: {'type':'state','common':{'modify':'','name':'State of D7.temperature Temperatur 0 temperature','type':'number','role':'state','read':true,'unit':'°C','write':false},'from':'system.adapter.esphome.0','user':'system.user.admin','ts':1656065642107,'_id':'esphome.0.483FDA35C141.Sensor.4035668188.state','acl':{'object':1636,'state':1636,'owner':'system.user.admin','ownerGroup':'system.group.administrator'}}
          12:07:33.287	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: Sensor[1]:
          12:07:33.288	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: esphome.0.483FDA35C141.Sensor.4035668188.state
          12:07:33.288	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: 20.4
          12:07:33.288	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: {'type':'state','common':{'modify':'','name':'State of D7.temperature Temperatur 0 temperature','type':'number','role':'state','read':true,'unit':'°C','write':false},'from':'system.adapter.esphome.0','user':'system.user.admin','ts':1656065642107,'_id':'esphome.0.483FDA35C141.Sensor.4035668188.state','acl':{'object':1636,'state':1636,'owner':'system.user.admin','ownerGroup':'system.group.administrator'}}
          12:07:33.289	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: ids[1]:
          12:07:33.289	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: esphome.0.483FDA35C141.Sensor.4035668188.state
          12:07:33.290	info	javascript.0 (26728) script.js.Programmieren.Objekte.DollarArray: 20.4
          

          Ist Sensors quasi ein Array von Objekten während ids "nur" ein Array von Objektnamen ist?
          Kann man Sensors und Switches echt zusammenfassen oder geht das nicht, weil die Objekte ja unterschiedliche Eigenschaften haben (können)?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @WolfgangFB last edited by paul53

            @wolfgangfb sagte: Ist Sensors quasi ein Array von Objekten während ids "nur" ein Array von Objektnamen ist?

            Sensors ist ein Objekt mit den Attributen 0, 1, ... , die IDs enthalten und dann am Ende length.
            ids ist ein Array von Datenpunkt-IDs und kann die IDs von Sensors und Switches enthalten.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            949
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            2
            4
            119
            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