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. Einsteigerfragen
  4. Array schreiben und lesen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Array schreiben und lesen

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
6 Beiträge 2 Kommentatoren 400 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.
  • E Offline
    E Offline
    Explorer
    schrieb am zuletzt editiert von
    #1

    Hallo,

    bin auf den ioBroker umgesteigen, und kenne den Typ Array aus der C Programmierung. Mir ist aber unklar wie ich ein dreidimensionales Array (Datenpunkt) erstelle, die Daten schreiben und lesen kann im ioBroker. Auch habe ich keine Info über die Größe des Datenpunkts Array gefunden.

    Ich möchte ca. 5 Daten jede Minute sichern und diese in einem Abstand von z.B. jede Stunde in eine CSV schreiben um den Speicher zu schonen. Das minütliche schreiben in eine CSV funktioniert bereits.

    Wie und mit welcher Programmiersprache (z.B. Blockly, NodeRed,...) ist dies realisierbar ?

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • E Explorer

      Hallo,

      bin auf den ioBroker umgesteigen, und kenne den Typ Array aus der C Programmierung. Mir ist aber unklar wie ich ein dreidimensionales Array (Datenpunkt) erstelle, die Daten schreiben und lesen kann im ioBroker. Auch habe ich keine Info über die Größe des Datenpunkts Array gefunden.

      Ich möchte ca. 5 Daten jede Minute sichern und diese in einem Abstand von z.B. jede Stunde in eine CSV schreiben um den Speicher zu schonen. Das minütliche schreiben in eine CSV funktioniert bereits.

      Wie und mit welcher Programmiersprache (z.B. Blockly, NodeRed,...) ist dies realisierbar ?

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von liv-in-sky
      #2

      @explorer
      z.b. mit einem json - das kannst du alle 5 minuten erweitern - du musst dir nur überlegen, wie viele dieser 5-minuten speicherungen es insgesamt geben soll - irgendwan wird sonst der dp zu groß

      man kann das auch über den history adapter machen, um die daten alle 5 min zu speichern

      wie lange sollen deine 5 min speicherungen den aufbwahrt werden - eine stunde dann löschen, einen tag dann löschen oder ein jahr ?

      was soll in die stündliche csv schreibung - die letzte stunde oder die letzten 5 stunden oder 24 stunden

      wieso csv - brauchst du das auf einem anderen rechner oder geht es nur um das ansehen der letzen stunde in einer tabelle ? das kann man über die vis realisieren. außer du mußt die daten des csv's andersweilig weiterverarbeiten

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      E 1 Antwort Letzte Antwort
      0
      • liv-in-skyL liv-in-sky

        @explorer
        z.b. mit einem json - das kannst du alle 5 minuten erweitern - du musst dir nur überlegen, wie viele dieser 5-minuten speicherungen es insgesamt geben soll - irgendwan wird sonst der dp zu groß

        man kann das auch über den history adapter machen, um die daten alle 5 min zu speichern

        wie lange sollen deine 5 min speicherungen den aufbwahrt werden - eine stunde dann löschen, einen tag dann löschen oder ein jahr ?

        was soll in die stündliche csv schreibung - die letzte stunde oder die letzten 5 stunden oder 24 stunden

        wieso csv - brauchst du das auf einem anderen rechner oder geht es nur um das ansehen der letzen stunde in einer tabelle ? das kann man über die vis realisieren. außer du mußt die daten des csv's andersweilig weiterverarbeiten

        E Offline
        E Offline
        Explorer
        schrieb am zuletzt editiert von
        #3

        @liv-in-sky ja die Daten sollen zur genauen Analyse weiter verarbeitbar sein, deshalb das csv Format.

        Optimal wäre am Tag 1x schreiben und wenn die Daten geschrieben sind, können diese Daten gelöscht werden.
        Wenn ich die Daten jede Minute aufzeichnen würde, so benötige ich 1440 Zeilen. Deshalb wäre ein Schreiben auch alle z.B. 6 Stunden eine Möglichkeit.
        Die Speicherung erfolgt auf einem externen USB-Stick.

        History Adapter habe ich mir auch schon angesehen, aber die Einstellungen haben mich nicht überzeugt. Wo speichert der History Adapter die Daten? Im RAM oder auch auf der SD-Karte meines Raspberry?

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • E Explorer

          @liv-in-sky ja die Daten sollen zur genauen Analyse weiter verarbeitbar sein, deshalb das csv Format.

          Optimal wäre am Tag 1x schreiben und wenn die Daten geschrieben sind, können diese Daten gelöscht werden.
          Wenn ich die Daten jede Minute aufzeichnen würde, so benötige ich 1440 Zeilen. Deshalb wäre ein Schreiben auch alle z.B. 6 Stunden eine Möglichkeit.
          Die Speicherung erfolgt auf einem externen USB-Stick.

          History Adapter habe ich mir auch schon angesehen, aber die Einstellungen haben mich nicht überzeugt. Wo speichert der History Adapter die Daten? Im RAM oder auch auf der SD-Karte meines Raspberry?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #4

          @explorer sagte in Array schreiben und lesen:

          History Adapter habe ich mir auch schon angesehen, aber die Einstellungen haben mich nicht überzeugt. Wo speichert der History Adapter die Daten? Im RAM oder auch auf der SD-Karte meines Raspberry?

          je nachdem was du installierst - du kannst auch eine datenbank wie zb mysql/influxdb benutzen
          die standard history speichert in files - du kannst aber angeben wohin

          also optimal: du brauchst jede minuten über einen tag lang - um 23:59 sollte das csv geschrieben werden

          also ich würde es einfach mal ausprobieren und die zwischedaten minütlich in ein json in einem dp speichern

          kennst du dich mit json und javascript aus ? es kommt auf die daten drauf an - evtl reicht auch ein array (in blockly liste genannt) - wenn die daten z.b keine kommas enthalten. dann ginge eine listeneintrag in einer liste. ich würde jedoch json bevorzugen , dann kannst du dir in der vis auch noch eine ansicht der daten basteln/coden

          wie viele einzelne daten sind es eigentlich pro lesezyklus ?

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          E 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @explorer sagte in Array schreiben und lesen:

            History Adapter habe ich mir auch schon angesehen, aber die Einstellungen haben mich nicht überzeugt. Wo speichert der History Adapter die Daten? Im RAM oder auch auf der SD-Karte meines Raspberry?

            je nachdem was du installierst - du kannst auch eine datenbank wie zb mysql/influxdb benutzen
            die standard history speichert in files - du kannst aber angeben wohin

            also optimal: du brauchst jede minuten über einen tag lang - um 23:59 sollte das csv geschrieben werden

            also ich würde es einfach mal ausprobieren und die zwischedaten minütlich in ein json in einem dp speichern

            kennst du dich mit json und javascript aus ? es kommt auf die daten drauf an - evtl reicht auch ein array (in blockly liste genannt) - wenn die daten z.b keine kommas enthalten. dann ginge eine listeneintrag in einer liste. ich würde jedoch json bevorzugen , dann kannst du dir in der vis auch noch eine ansicht der daten basteln/coden

            wie viele einzelne daten sind es eigentlich pro lesezyklus ?

            E Offline
            E Offline
            Explorer
            schrieb am zuletzt editiert von
            #5

            @liv-in-sky
            es sind ca. 5 Einzeldaten. Eine DB habe ich mir auch schon mal angesehen, aber da habe ich zu wenig Kenntnisse.
            Die json klingt für mich am sinnvollsten. Programmieren mit Code ist für mich am übersichtlichsten. Lese mich gerade in javascript ein....

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • E Explorer

              @liv-in-sky
              es sind ca. 5 Einzeldaten. Eine DB habe ich mir auch schon mal angesehen, aber da habe ich zu wenig Kenntnisse.
              Die json klingt für mich am sinnvollsten. Programmieren mit Code ist für mich am übersichtlichsten. Lese mich gerade in javascript ein....

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von liv-in-sky
              #6

              @explorer

              hier mal ein beispiel für das erstellen und hinzufügen eines jsonteils

              vorher datenpunkt lesen
              json (JsonData) erweitern
              json wieder in dp schreiben

              
              JsonData=JSON.parse(getState(myID).val)
              JsonData.push({
                  "Datum":myDate,
                  "VerbrauchMonat":Math.round(myDifferenz*10)/10,
                  "AbgelesenerWert":myValue,
                  "Timestamp": Date.now(),
                  "Preis":  Math.round(preisMyEinheit*myDifferenz*100)/100
              })
              setState(myID,JSON.stringify(JsonData))
              

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Antwort Letzte Antwort
              1
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              717

              Online

              32.5k

              Benutzer

              81.7k

              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