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. [gelöst] Script Datenpunkte anlegen inkl. Logging

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Script Datenpunkte anlegen inkl. Logging

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 2 Kommentatoren 847 Aufrufe 1 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.
  • S Offline
    S Offline
    stockics6
    schrieb am zuletzt editiert von stockics6
    #1

    Hi,

    ich versuche gerade ein Script zu schreiben um Datenpunkte anzulegen, die automatisch über Influxdb mit geloggt werden.

    Typischer Datenpunkt:
    createState("javascript.0.API.Hauptordner.Straße.Inputs.Input_1", (JSON.stringify(response.data.Data.Inputs[1].Value.Value)))

    1. Wie kann ich dem Datenpunkt weitere Eigenschaften mitgeben?
      role = value
      type = number
      automatisches Logging über influxdb.0 mit den Voreingestellten Werten aus dem Adapter?

    2. Kann man beim Erstellen der Datenpunkte den Namen "Straße" als variable hinterlegen, sodass man nur
      zu beginn des Scriptes ein Straßennamen eingeben muss?

    3. Wie kann ich eine zyklische Abfrage einbauen, sodass das Script automatisch alle 5 Minuten neu startet
      um die Datenpunkte zu aktualisieren?

    Hat jemand einen Lösungsansatz?

    paul53P 1 Antwort Letzte Antwort
    0
    • S stockics6

      Hi,

      ich versuche gerade ein Script zu schreiben um Datenpunkte anzulegen, die automatisch über Influxdb mit geloggt werden.

      Typischer Datenpunkt:
      createState("javascript.0.API.Hauptordner.Straße.Inputs.Input_1", (JSON.stringify(response.data.Data.Inputs[1].Value.Value)))

      1. Wie kann ich dem Datenpunkt weitere Eigenschaften mitgeben?
        role = value
        type = number
        automatisches Logging über influxdb.0 mit den Voreingestellten Werten aus dem Adapter?

      2. Kann man beim Erstellen der Datenpunkte den Namen "Straße" als variable hinterlegen, sodass man nur
        zu beginn des Scriptes ein Straßennamen eingeben muss?

      3. Wie kann ich eine zyklische Abfrage einbauen, sodass das Script automatisch alle 5 Minuten neu startet
        um die Datenpunkte zu aktualisieren?

      Hat jemand einen Lösungsansatz?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @stockics6 sagte in Script Datenpunkte anlegen inkl. Logging:

      Wie kann ich eine zyklische Abfrage einbauen

      schedule()

      Zu 2. Ja: String-Verkettung

      Zu 1.

      createState(id, val, {role: 'value', type: 'number', name: 'xyz'});
      

      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

      1 Antwort Letzte Antwort
      1
      • S Offline
        S Offline
        stockics6
        schrieb am zuletzt editiert von
        #3

        @paul53

        Erst einmal vielen Dank für das schnelle Feedback!

        Zu 2:
        Die String-Verkettung habe ich hinbekommen und funktioniert auch.
        Leider wird die Objektbeschreibung nicht übernommen

        createState(filepath + "." + streetname + "." + "Version", JSON.stringify(response.data.Header.Version), {role: 'value', type: 'number', name: 'xyz'});
        

        In dem erzeugten Datenpunkt steht weiterhin: role = state und type = mixed

        Woran könnte das liegen?

        paul53P 1 Antwort Letzte Antwort
        0
        • S stockics6

          @paul53

          Erst einmal vielen Dank für das schnelle Feedback!

          Zu 2:
          Die String-Verkettung habe ich hinbekommen und funktioniert auch.
          Leider wird die Objektbeschreibung nicht übernommen

          createState(filepath + "." + streetname + "." + "Version", JSON.stringify(response.data.Header.Version), {role: 'value', type: 'number', name: 'xyz'});
          

          In dem erzeugten Datenpunkt steht weiterhin: role = state und type = mixed

          Woran könnte das liegen?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @stockics6 sagte: Woran könnte das liegen?

          creatState() überschreibt normalerweise keinen existierenden Datenpunkt, außer mit true für forceCreation.

          createState(filepath + "." + streetname + "." + "Version", JSON.stringify(response.data.Header.Version), true, {role: 'value', type: 'number', name: 'xyz'});
          

          Anmerkung: JSON.stringify() passt nicht zu common.type = "number".

          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

          S 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @stockics6 sagte: Woran könnte das liegen?

            creatState() überschreibt normalerweise keinen existierenden Datenpunkt, außer mit true für forceCreation.

            createState(filepath + "." + streetname + "." + "Version", JSON.stringify(response.data.Header.Version), true, {role: 'value', type: 'number', name: 'xyz'});
            

            Anmerkung: JSON.stringify() passt nicht zu common.type = "number".

            S Offline
            S Offline
            stockics6
            schrieb am zuletzt editiert von stockics6
            #5

            @paul53
            Super vielen lieben Dank! :)

            Bis auf den CRON hat alles perfekt funktioniert.

            Ich habe das Example in die erste Zeile des JS-Script kopiert aber dieses startet leider nicht neu, lediglich
            die Info wird übers log ausgegeben.

            // Example with 5 digits:
            schedule("*/2 * * * *", function () {
                log("Will be triggered every 2 minutes!");
            });
            

            Muss ich das irgendwie anders verknüpfen?

            paul53P 1 Antwort Letzte Antwort
            0
            • S stockics6

              @paul53
              Super vielen lieben Dank! :)

              Bis auf den CRON hat alles perfekt funktioniert.

              Ich habe das Example in die erste Zeile des JS-Script kopiert aber dieses startet leider nicht neu, lediglich
              die Info wird übers log ausgegeben.

              // Example with 5 digits:
              schedule("*/2 * * * *", function () {
                  log("Will be triggered every 2 minutes!");
              });
              

              Muss ich das irgendwie anders verknüpfen?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @stockics6
              Was soll alle 2 Minuten passieren?

              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

              S 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @stockics6
                Was soll alle 2 Minuten passieren?

                S Offline
                S Offline
                stockics6
                schrieb am zuletzt editiert von
                #7

                @paul53

                das gesamte Script soll neu starten. Aktuell löse ich das über Blockly aber schöner wäre es, wenn es direkt im
                Script mit implementiert wäre.

                paul53P 1 Antwort Letzte Antwort
                0
                • S stockics6

                  @paul53

                  das gesamte Script soll neu starten. Aktuell löse ich das über Blockly aber schöner wäre es, wenn es direkt im
                  Script mit implementiert wäre.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @stockics6 sagte: das gesamte Script soll neu starten.

                  Dann muss alles, was ausgeführt werden soll, in die Callback-Funktion von schedule().

                  schedule("*/2 * * * *", function () {
                      log("Will be triggered every 2 minutes!");
                      // Alle weiteren Aktionen, die ausgeführt werden sollen
                  });
                  

                  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

                  S 1 Antwort Letzte Antwort
                  1
                  • paul53P paul53

                    @stockics6 sagte: das gesamte Script soll neu starten.

                    Dann muss alles, was ausgeführt werden soll, in die Callback-Funktion von schedule().

                    schedule("*/2 * * * *", function () {
                        log("Will be triggered every 2 minutes!");
                        // Alle weiteren Aktionen, die ausgeführt werden sollen
                    });
                    
                    S Offline
                    S Offline
                    stockics6
                    schrieb am zuletzt editiert von
                    #9

                    @paul53
                    Top!, hat alles bestens funktioniert :)

                    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

                    621

                    Online

                    32.6k

                    Benutzer

                    82.2k

                    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