Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Sebastian Hesse

    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

    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Best 0
    • Groups 0

    Sebastian Hesse

    @Sebastian Hesse

    0
    Reputation
    1
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Sebastian Hesse Follow

    Latest posts made by Sebastian Hesse

    • RE: Object als States speichern

      @mcm1957
      Danke, dass ist auch eine Idee.
      Ich probieren beides mal aus.
      Mal sehen wie sich das Auslesen in der UI anfühlt.

      posted in JavaScript
      Sebastian Hesse
      Sebastian Hesse
    • Object als States speichern

      Hallo zusammen,

      ich habe mich dumm und dusselig gesucht, um ein js Object als States zu speichern.
      Mein Anwendungsfall ist die Berechnung einer Lüftungsempfehlung für meine Räume.
      Dabei möchte ich neben der Empfehlung auch die dazu verwendeten Werte speichern.

      Da ich nichts gefunden habe, habe ich ein kleines Snippet gecoded, welches ein Objekt mit primitiven Eigenschaften speichern kann. Dabei wird jede Eigenschaft als einzelner State gespeichert.

      function setObjectAsStates(path, obj){
          for (let key in obj) {
              if (obj.hasOwnProperty(key)) {
      
                  var id = `${path}.${key}`;
                  if(existsState(id)){
                      setState (id, obj[key], true);
                  }else{                           
                      createState(id, obj[key] ,
                      {
                          read:true,
                          write:true,
                          desc:"",
                          type: typeof obj[key]
                      });
                  }
              }
          }
      }
      
      //Anwendung
      const userState = '0_userdata.0'
      var path = `${userState}.testObject`;
      
      
      let calcResult = {
                      absulute_humidity_outside:0,
                      absulute_humidity_inside:0,
                      absulute_humidity_difference:0,
                      temperature_outside:0,
                      temperature_inside:0,
                      recommendationString:"",
                      recommendation:0,
                      dateString: date.toISOString(),
                      ts: date.getTime() / 1000
                  };
      
      setObjectAsStates(path, calcResult);   
      

      Ich hoffe damit kann ich jemanden helfen.

      Falls es eine elegantere Lösung gibt, bin ich für Vorschläge offen.

      Gruß
      Basti

      posted in JavaScript
      Sebastian Hesse
      Sebastian Hesse
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo