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. Praktische Anwendungen (Showcase)
  4. Javascript - Warte x Sekunden, DP erstellen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    824

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Javascript - Warte x Sekunden, DP erstellen

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
4 Beiträge 2 Kommentatoren 373 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.
  • T Offline
    T Offline
    TomTom24
    schrieb am zuletzt editiert von
    #1

    Falls wer das brauchen kann:

    1. x Sekunden Warten
    2. Datenpunkt aus dem Script erzeugen und befüllen - spart die Handarbeit

    Wenn man Sekunden warten will - einfach diese Funktion unten in den global_Scripte einfügen und ihr könnt überall mit waitInSeconds(Anzahl der Sekunden) warten.

    //warten 
    function waitInSeconds(seconds) {
        return new Promise((resolve) => {
            setTimeout(resolve, seconds * 1000);
        });
    }
    
    1. Da ich faul bin... wenn ich Datenpunkte brauche, dann erzeuge ich mir im Script direkt und kann diese dann auch direkt verwenden.
      Wenn der DP nicht da ist, wird er erzeugt, wenn er da ist, wird einfach der Wert geschrieben.

    Aufruf: writeOrCreateState(neuer Datenpunkt mit vollem Pfad, Wert den ihr braucht, <Name optional>, <type optional, wird nix angegeben number>)

    Beispiel:
    writeOrCreateState('0_userdata.0.e3dc.Prozentuele_Leistung_PV',"23"))
    erzeugt folgenden Datenpunkt: Prozentuele_Leistung_PV im Objektbaum unter '0_userdata.0.e3dc., der Typ wäre number und bei Name würde "per Script erzeugt" stehen.

    bitte in global_Scripte einfügen

    function writeOrCreateState(stateName, value, name = "", type = "number") {
        // Check if the state exists
        if (existsState(stateName)) {
            // State exists, so write the value
            setState(stateName, value);
        } else {
            // State does not exist, create it and initialize with the value
            createState(stateName, value, {
                name: name || "per Script erzeugt", // Use provided name or a default description
                type: type, // Use provided type or default to "number"
            });
        }
    }
    
    haus-automatisierungH T 2 Antworten Letzte Antwort
    0
    • T TomTom24

      Falls wer das brauchen kann:

      1. x Sekunden Warten
      2. Datenpunkt aus dem Script erzeugen und befüllen - spart die Handarbeit

      Wenn man Sekunden warten will - einfach diese Funktion unten in den global_Scripte einfügen und ihr könnt überall mit waitInSeconds(Anzahl der Sekunden) warten.

      //warten 
      function waitInSeconds(seconds) {
          return new Promise((resolve) => {
              setTimeout(resolve, seconds * 1000);
          });
      }
      
      1. Da ich faul bin... wenn ich Datenpunkte brauche, dann erzeuge ich mir im Script direkt und kann diese dann auch direkt verwenden.
        Wenn der DP nicht da ist, wird er erzeugt, wenn er da ist, wird einfach der Wert geschrieben.

      Aufruf: writeOrCreateState(neuer Datenpunkt mit vollem Pfad, Wert den ihr braucht, <Name optional>, <type optional, wird nix angegeben number>)

      Beispiel:
      writeOrCreateState('0_userdata.0.e3dc.Prozentuele_Leistung_PV',"23"))
      erzeugt folgenden Datenpunkt: Prozentuele_Leistung_PV im Objektbaum unter '0_userdata.0.e3dc., der Typ wäre number und bei Name würde "per Script erzeugt" stehen.

      bitte in global_Scripte einfügen

      function writeOrCreateState(stateName, value, name = "", type = "number") {
          // Check if the state exists
          if (existsState(stateName)) {
              // State exists, so write the value
              setState(stateName, value);
          } else {
              // State does not exist, create it and initialize with the value
              createState(stateName, value, {
                  name: name || "per Script erzeugt", // Use provided name or a default description
                  type: type, // Use provided type or default to "number"
              });
          }
      }
      
      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @tomtom24 Wait gibt es doch schon

      https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#wait

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      T 1 Antwort Letzte Antwort
      1
      • haus-automatisierungH haus-automatisierung

        @tomtom24 Wait gibt es doch schon

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#wait

        T Offline
        T Offline
        TomTom24
        schrieb am zuletzt editiert von
        #3

        @haus-automatisierung sorry.... hab ich übersehen...

        1 Antwort Letzte Antwort
        0
        • T TomTom24

          Falls wer das brauchen kann:

          1. x Sekunden Warten
          2. Datenpunkt aus dem Script erzeugen und befüllen - spart die Handarbeit

          Wenn man Sekunden warten will - einfach diese Funktion unten in den global_Scripte einfügen und ihr könnt überall mit waitInSeconds(Anzahl der Sekunden) warten.

          //warten 
          function waitInSeconds(seconds) {
              return new Promise((resolve) => {
                  setTimeout(resolve, seconds * 1000);
              });
          }
          
          1. Da ich faul bin... wenn ich Datenpunkte brauche, dann erzeuge ich mir im Script direkt und kann diese dann auch direkt verwenden.
            Wenn der DP nicht da ist, wird er erzeugt, wenn er da ist, wird einfach der Wert geschrieben.

          Aufruf: writeOrCreateState(neuer Datenpunkt mit vollem Pfad, Wert den ihr braucht, <Name optional>, <type optional, wird nix angegeben number>)

          Beispiel:
          writeOrCreateState('0_userdata.0.e3dc.Prozentuele_Leistung_PV',"23"))
          erzeugt folgenden Datenpunkt: Prozentuele_Leistung_PV im Objektbaum unter '0_userdata.0.e3dc., der Typ wäre number und bei Name würde "per Script erzeugt" stehen.

          bitte in global_Scripte einfügen

          function writeOrCreateState(stateName, value, name = "", type = "number") {
              // Check if the state exists
              if (existsState(stateName)) {
                  // State exists, so write the value
                  setState(stateName, value);
              } else {
                  // State does not exist, create it and initialize with the value
                  createState(stateName, value, {
                      name: name || "per Script erzeugt", // Use provided name or a default description
                      type: type, // Use provided type or default to "number"
                  });
              }
          }
          
          T Offline
          T Offline
          TomTom24
          schrieb am zuletzt editiert von
          #4

          @tomtom24 als Ergänzung eine Funktion, die keinen Fehler in das Log schreibt, wenn man einen Datenpunkt löschen will, der nicht existiert.

          function delete_State_if_exists(stateName) {
              // Check if the state exists
              if (existsState(stateName)) {
           //löschen, wenn existiert. sonst nichts machen. 
                          deleteState(stateName, value);
              } 
              }
          
          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          575

          Online

          32.6k

          Benutzer

          82.1k

          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