Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [Gelöst] Script schreit wert mit setState, data sind da aber nicht sichbar under objecten ?

    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

    [Gelöst] Script schreit wert mit setState, data sind da aber nicht sichbar under objecten ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      Hi there,

      Ich schreibe mit setState werte eines sonnesystems weg, das klappt auch bis soweit.

      Komische is aber das unter objecten die werte nicht stehen, und stehts wohl und auch de sql adapter logt die daten.

      Waarum/wies sorgen ich dafuer das der reite objecte sie auch sehen laesst ?

      script: http://forum.iobroker.net/viewtopic.php?f=21&t=6796

      ! ````
      //******************************************
      //Dutchman
      //V 0.5
      //
      *****************************************
      ! // define variable
      var vbus = require('resol-vbus');
      var headerSet = new vbus.HeaderSet();
      var conn;
      ! // Define connection values
      conn = new vbus.TcpConnection({
      host: 'xxxxxxxx.via.vbus.net', // Can be used with via.vbus.net OR internal 192xxxxx adress !
      viaTag: 'xxxxxxxxxx', // only necessary if connected using VBus.net
      password: 'vbus',
      // channel: 1, // only necessary if connected to a DL3
      });
      ! // Schedule every 20 seconds
      schedule("*/20 * * * * *", function () {
      ! // Log connection status
      var onConnectionStateChange = function(state) {
      console.log(state);
      };
      ! var onPacket = function(packet) {
      headerSet.addHeader(packet);
      };
      ! conn.on('connectionState', onConnectionStateChange);
      conn.on('packet', onPacket);
      ! conn.connect().done(function() {

          setTimeout(function() {
              conn.disconnect();
      

      ! //create header packages
      var packets = headerSet.getSortedHeaders();
      var spec = vbus.Specification.getDefaultSpecification();
      var packetFields = spec.getPacketFieldsForHeaders(packets);
      ! var packet = null;

              packetFields.forEach(function(packetField) {
                  if (packet !== packetField.packet) {
                      packet = packetField.packet;
                      console.log(packetField.packetSpec.fullName);
      

      ! }
      ! // Create new objects
      createState("vbus." + packetField.name ,{
      name: packetField.name,
      type: 'string',
      role: 'value'
      });

                  // Update values
                  setState("vbus." + packetField.name, packetField.formatTextValue(), true);
                  console.log(packetField.name + packetField.formatTextValue())
      
              });
      

      ! // 10 second timer, collection all information takes some seconds 😉
      }, 10000);
      });

      });

      ! ````

      Objecte:
      979_resol-vbus_objecte_lehr.jpg

      States:
      979_resol-vbus_states_komisch.jpg

      SQL daten logger:
      979_resol-vbus_states_sql.jpg

      Auch in Vis sind sie da:
      979_resol-vbus_states_vis.jpg

      Die werte bei states machen mich stutzig, irgenwa uebersehen ?

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

        Leerzeichen in der Datenpunkt-ID könnten ein Problem sein.

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          @paul53:

          Leerzeichen in der Datenpunkt-ID könnten ein Problem sein. `

          Danke paul das wars ! Ich habe an meinem script einen counter hinzugefuegt welche ID's generiert.

          Eventuel gibt es dafuer eine bessere loesung ?

          		counter = counter + 1;
          		packetFields.forEach(function(packetField) {
                          // Create new objects
                          createState("vbus." + counter ,{
                              name: packetField.name,
                              type: 'string',
                              role: 'value'
                          });
          
                          setState("vbus." + counter, packetField.formatTextValue(), true);
                          }
          
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          937
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

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