Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.2k

[erledigt] JS zum anlegen eines DP unter 0_userdata

Geplant Angeheftet Gesperrt Verschoben JavaScript
heatingjavascript
9 Beiträge 4 Kommentatoren 554 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • da_WoodyD Offline
    da_WoodyD Offline
    da_Woody
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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 Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antworten Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    2
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    910

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe