Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [erledigt] JS zum anlegen eines DP unter 0_userdata

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

[erledigt] JS zum anlegen eines DP unter 0_userdata

Scheduled Pinned Locked Moved JavaScript
heatingjavascript
9 Posts 4 Posters 554 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • da_WoodyD Offline
    da_WoodyD Offline
    da_Woody
    wrote on last edited by da_Woody
    #1

    besagtes script hatte früher funktioniert. allerdings seit langem nicht mehr benutzt.

    function listeWerte() {
     
        // Liste
        let werte = getObject("enum.functions.power_consumption").common.members;
     
        // Startwert 0
        let wert = 0;
     
        // Schleife, um die Werte abzufragen
        for (var i = 0; i < werte.length; i++) {
            wert += getState(werte[i]).val;
        }
        setState("0_userdata.0.Heizen.Heizen", wert);
    }
    // Funktionsaufruf fuer das Abonnieren der Datenpunkte
    $('state(functions=power_consumption)').on(function (obj) {
        listeWerte();
    });
    
    

    hab jetzt in enum was geändert. 3 werte rausgenommen.
    60c468a8-4c65-4264-a5cc-84cb022b5c36-grafik.png
    wenn ich das script starte, wird nichts angelegt, und eine fehlermeldung ausgegeben.

    19:08:55.050	info	javascript.0 (545) Start javascript script.js.common.Heizen.Heizen
    19:08:55.389	info	javascript.0 (545) script.js.common.Heizen.Heizen: registered 7 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    19:08:57.933	warn	javascript.0 (545) at listeWerte (script.js.common.Heizen.Heizen:13:5)
    19:08:57.933	warn	javascript.0 (545) at Object.<anonymous> (script.js.common.Heizen.Heizen:17:5)
    19:09:00.695	info	javascript.0 (545) Stop script script.js.common.Heizen.Heizen
    

    den alten DP habe ich vorher gelöscht.
    d30707a8-a6c2-4ee9-814b-5f086822bf18-grafik.png
    ich nehme an, daß da im script ein fehler durch eventuelle änderungen bei JS ist.
    kann mich da wer hilfreich sein?

    gruß vom Woody
    HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

    paul53P 1 Reply Last reply
    0
    • da_WoodyD da_Woody

      besagtes script hatte früher funktioniert. allerdings seit langem nicht mehr benutzt.

      function listeWerte() {
       
          // Liste
          let werte = getObject("enum.functions.power_consumption").common.members;
       
          // Startwert 0
          let wert = 0;
       
          // Schleife, um die Werte abzufragen
          for (var i = 0; i < werte.length; i++) {
              wert += getState(werte[i]).val;
          }
          setState("0_userdata.0.Heizen.Heizen", wert);
      }
      // Funktionsaufruf fuer das Abonnieren der Datenpunkte
      $('state(functions=power_consumption)').on(function (obj) {
          listeWerte();
      });
      
      

      hab jetzt in enum was geändert. 3 werte rausgenommen.
      60c468a8-4c65-4264-a5cc-84cb022b5c36-grafik.png
      wenn ich das script starte, wird nichts angelegt, und eine fehlermeldung ausgegeben.

      19:08:55.050	info	javascript.0 (545) Start javascript script.js.common.Heizen.Heizen
      19:08:55.389	info	javascript.0 (545) script.js.common.Heizen.Heizen: registered 7 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      19:08:57.933	warn	javascript.0 (545) at listeWerte (script.js.common.Heizen.Heizen:13:5)
      19:08:57.933	warn	javascript.0 (545) at Object.<anonymous> (script.js.common.Heizen.Heizen:17:5)
      19:09:00.695	info	javascript.0 (545) Stop script script.js.common.Heizen.Heizen
      

      den alten DP habe ich vorher gelöscht.
      d30707a8-a6c2-4ee9-814b-5f086822bf18-grafik.png
      ich nehme an, daß da im script ein fehler durch eventuelle änderungen bei JS ist.
      kann mich da wer hilfreich sein?

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @da_woody sagte: wird nichts angelegt, und eine fehlermeldung ausgegeben.

      Das Skript erzeugt keinen Datenpunkt, sondern schreibt in den Datenpunkt "0_userdata.0.Heizen.Heizen", der bereits existieren muss.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      da_WoodyD 2 Replies Last reply
      0
      • paul53P paul53

        @da_woody sagte: wird nichts angelegt, und eine fehlermeldung ausgegeben.

        Das Skript erzeugt keinen Datenpunkt, sondern schreibt in den Datenpunkt "0_userdata.0.Heizen.Heizen", der bereits existieren muss.

        da_WoodyD Offline
        da_WoodyD Offline
        da_Woody
        wrote on last edited by da_Woody
        #3

        @paul53 autsch, wie löse ich das am besten?
        k, hab mal einen folder Heizen angelegt...

        gruß vom Woody
        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

        1 Reply Last reply
        0
        • paul53P paul53

          @da_woody sagte: wird nichts angelegt, und eine fehlermeldung ausgegeben.

          Das Skript erzeugt keinen Datenpunkt, sondern schreibt in den Datenpunkt "0_userdata.0.Heizen.Heizen", der bereits existieren muss.

          da_WoodyD Offline
          da_WoodyD Offline
          da_Woody
          wrote on last edited by da_Woody
          #4

          @paul53 kommando retour!
          bißchen logisches denken klappt doch noch manchmal...
          ist in iQontrol wieder da...
          5c87f375-82f2-423b-b9f7-8b60146e5b46-grafik.png
          72d4b8b1-1690-438b-ad9e-d3b85dfc98d4-grafik.png

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          T 1 Reply Last reply
          0
          • da_WoodyD da_Woody

            @paul53 kommando retour!
            bißchen logisches denken klappt doch noch manchmal...
            ist in iQontrol wieder da...
            5c87f375-82f2-423b-b9f7-8b60146e5b46-grafik.png
            72d4b8b1-1690-438b-ad9e-d3b85dfc98d4-grafik.png

            T Do not disturb
            T Do not disturb
            ticaki
            wrote on last edited by ticaki
            #5

            @da_woody

            Naja jeztt hab ich schon gemacht :)

            async function listeWerte() {
             
                // Liste
                 let werte = getObject("enum.functions.power_consumption").common.members;
              
                 // Startwert 0
                 let wert = 0;
              
                 // Schleife, um die Werte abzufragen
                 for (var i = 0; i < werte.length; i++) {
                     wert += getState(werte[i]).val;
                 }
                if (existsState("0_userdata.0.Heizen.Heizen")) setState("0_userdata.0.Heizen.Heizen", wert);
                else await createStateAsync("0_userdata.0.Heizen.Heizen", wert, false, 
                {
                    type: "number", 
                    role: "value", 
                    name: "user state", // da rein schreiben wie der State heißen soll in der name spalte
                    unit: "W",  
                    read: true, 
                    write: true
                    }
                )
            }
             // Funktionsaufruf fuer das Abonnieren der Datenpunkte
             $('state(functions=power_consumption)').on(function (obj) {
                listeWerte();
             });
            

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            da_WoodyD bahnuhrB 2 Replies Last reply
            2
            • T ticaki

              @da_woody

              Naja jeztt hab ich schon gemacht :)

              async function listeWerte() {
               
                  // Liste
                   let werte = getObject("enum.functions.power_consumption").common.members;
                
                   // Startwert 0
                   let wert = 0;
                
                   // Schleife, um die Werte abzufragen
                   for (var i = 0; i < werte.length; i++) {
                       wert += getState(werte[i]).val;
                   }
                  if (existsState("0_userdata.0.Heizen.Heizen")) setState("0_userdata.0.Heizen.Heizen", wert);
                  else await createStateAsync("0_userdata.0.Heizen.Heizen", wert, false, 
                  {
                      type: "number", 
                      role: "value", 
                      name: "user state", // da rein schreiben wie der State heißen soll in der name spalte
                      unit: "W",  
                      read: true, 
                      write: true
                      }
                  )
              }
               // Funktionsaufruf fuer das Abonnieren der Datenpunkte
               $('state(functions=power_consumption)').on(function (obj) {
                  listeWerte();
               });
              
              da_WoodyD Offline
              da_WoodyD Offline
              da_Woody
              wrote on last edited by
              #6

              @ticaki hehe, thnx tropsdem! prost.gif
              kann man ja immer brauchen! soweit komm ich mit eventuellem umschreiben zurecht...

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              1 Reply Last reply
              0
              • T ticaki

                @da_woody

                Naja jeztt hab ich schon gemacht :)

                async function listeWerte() {
                 
                    // Liste
                     let werte = getObject("enum.functions.power_consumption").common.members;
                  
                     // Startwert 0
                     let wert = 0;
                  
                     // Schleife, um die Werte abzufragen
                     for (var i = 0; i < werte.length; i++) {
                         wert += getState(werte[i]).val;
                     }
                    if (existsState("0_userdata.0.Heizen.Heizen")) setState("0_userdata.0.Heizen.Heizen", wert);
                    else await createStateAsync("0_userdata.0.Heizen.Heizen", wert, false, 
                    {
                        type: "number", 
                        role: "value", 
                        name: "user state", // da rein schreiben wie der State heißen soll in der name spalte
                        unit: "W",  
                        read: true, 
                        write: true
                        }
                    )
                }
                 // Funktionsaufruf fuer das Abonnieren der Datenpunkte
                 $('state(functions=power_consumption)').on(function (obj) {
                    listeWerte();
                 });
                
                bahnuhrB Online
                bahnuhrB Online
                bahnuhr
                Forum Testing Most Active
                wrote on last edited by
                #7

                @ticaki
                Ich finde es gut, wie ihr immer mit diesem await, async zeug rum handiert.

                Ich tue mich da immer noch sehr schwer damit.

                Danke für das Beispiel.


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                da_WoodyD T 2 Replies Last reply
                0
                • bahnuhrB bahnuhr

                  @ticaki
                  Ich finde es gut, wie ihr immer mit diesem await, async zeug rum handiert.

                  Ich tue mich da immer noch sehr schwer damit.

                  Danke für das Beispiel.

                  da_WoodyD Offline
                  da_WoodyD Offline
                  da_Woody
                  wrote on last edited by
                  #8

                  @bahnuhr vor allem auch in der geschwindigkeit... meinung.gif

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  1 Reply Last reply
                  0
                  • bahnuhrB bahnuhr

                    @ticaki
                    Ich finde es gut, wie ihr immer mit diesem await, async zeug rum handiert.

                    Ich tue mich da immer noch sehr schwer damit.

                    Danke für das Beispiel.

                    T Do not disturb
                    T Do not disturb
                    ticaki
                    wrote on last edited by ticaki
                    #9

                    @bahnuhr sagte in JS zum anlegen eines DP unter 0_userdata:

                    @ticaki
                    Ich finde es gut, wie ihr immer mit diesem await, async zeug rum handiert.

                    Ich tue mich da immer noch sehr schwer damit.

                    Danke für das Beispiel.

                    Dann mache ich es aber auch richtig :). Wenn du ein await benutz ist ein try {} catch(){} zwingend... vergesse ich in Forenbeispielen laufend.

                    Wenn der fehlt beendet der JS-Controller/nodejs im Fehlerfall den ausführenden Prozess, was heißt der Javascript-Adapter wird abgeschaltet.

                    
                    async function listeWerte() {
                     
                        // Liste
                         let werte = getObject("enum.functions.power_consumption").common.members;
                      
                         // Startwert 0
                         let wert = 0;
                      
                         // Schleife, um die Werte abzufragen
                         for (var i = 0; i < werte.length; i++) {
                             wert += getState(werte[i]).val;
                         }
                        try {
                            if (existsState("0_userdata.0.Heizen.Heizen")) setState("0_userdata.0.Heizen.Heizen", wert);
                            else await createStateAsync("0_userdata.0.Heizen.Heizen", wert, false, 
                            {
                                type: "number", 
                                role: "value", 
                                name: "user state",
                                unit: "", 
                                read: true, 
                                write: true
                                }
                            )
                        } catch (e) {
                            log(e.message);
                        }
                    }
                     // Funktionsaufruf fuer das Abonnieren der Datenpunkte
                     $('state(functions=power_consumption)').on(function (obj) {
                        listeWerte();
                     });
                      
                    
                    

                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                    Spenden

                    1 Reply Last reply
                    2
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    516

                    Online

                    32.4k

                    Users

                    81.5k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe