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. ioBroker Allgemein
  4. Anpassen SQL-Adapter-Datenspeicherung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    133

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Anpassen SQL-Adapter-Datenspeicherung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
4 Beiträge 3 Kommentatoren 505 Aufrufe
  • Ä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.
  • sissiwupS Offline
    sissiwupS Offline
    sissiwup
    schrieb am zuletzt editiert von
    #1

    Ich Würde die Tabelle datapoints ergänzen:

    lname = Vom Benutzer vergebener Name für den Datenpunkt

    gewerk = Vom Benutzer vergebene Gewerke

    raum = Vom Benutzer vergebene Räume

    => Vorteil: einfachere Verwendbarkeit der Datenpunkte für Auswertungen

    Die Daten werden beim Anlegen der Datenpunkte übernommen

    Ein Button im Adapter um die Punkte upzudaten.

    Die Spalte ts (Timestamp) in den Tabellen ts_bool, ts_string, ts_number

    aufteilen in ts und ms (ts*1000+ms) = alter ts.

    Primary Key über beide Spalten.

    => Vorteil: ts ist jetzt im standard UNIX-TS-Format und damit einfacher auswertbar für Dashboards ungleich float.

    Weitergehende Änderung:

    ts_bool, ts_string, ts_number zusammenfassen zu einer Tabelle.

    bool und number können in eine Spalte gespeichert werden, string bekommt eine eigene.

    => Vorteil: Einfachere Abfragen, simplere Fehlerbehebungen

    Alle Änderungen lassen sich über Views abwärtskompatibel gestalten.

    MfG

    Sissi

    –-----------------------------------------

    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


    1 Antwort Letzte Antwort
    0
    • eric2905E Offline
      eric2905E Offline
      eric2905
      schrieb am zuletzt editiert von
      #2

      Moin,

      @sissiwup:

      Ich Würde die Tabelle datapoints ergänzen:

      …

      Die Daten werden beim Anlegen der Datenpunkte übernommen

      Ein Button im Adapter um die Punkte upzudaten. `

      die Idee ist gar nicht so schlecht, aber …

      • Wenn Du diese Daten in die Datapoints packst, erzeugst Du sehr viele zusätzliche, redundante Daten.

      • Der Update-Aufwand ist enorm, da Du nicht einfach mal ein Replace von "Schlafzimmer" zu "Wohnzimmer" machen kannst - plötzlich sind dann alle Deine Geräte im Wohnzimmer und das Schlafzimmer ist "leer"

      • Gleiches gilt für Gewerk

      • Beim Namen ist die Gefahr des zu viel Umbenennens zwar nicht so groß, bleibt aber bestehen. Und die Datenmenge sowieso

      Ich würde diese Info an die Tabelle packen, wo der Datenpunkt zur ID gemachted wird.

      Da sind die Daten einmalig und Änderungen sind einfach und eindeutig.

      Gruß,

      Eric

      Roses are red, violets are blue,

      if I listen to metal, my neighbours do too

      1 Antwort Letzte Antwort
      0
      • sissiwupS Offline
        sissiwupS Offline
        sissiwup
        schrieb am zuletzt editiert von
        #3

        @eric2905:

        Moin,

        @sissiwup:

        Ich Würde die Tabelle datapoints ergänzen:

        …

        Die Daten werden beim Anlegen der Datenpunkte übernommen

        Ein Button im Adapter um die Punkte upzudaten. `

        die Idee ist gar nicht so schlecht, aber …

        • Wenn Du diese Daten in die Datapoints packst, erzeugst Du sehr viele zusätzliche, redundante Daten.

        • Der Update-Aufwand ist enorm, da Du nicht einfach mal ein Replace von "Schlafzimmer" zu "Wohnzimmer" machen kannst - plötzlich sind dann alle Deine Geräte im Wohnzimmer und das Schlafzimmer ist "leer"

        • Gleiches gilt für Gewerk

        • Beim Namen ist die Gefahr des zu viel Umbenennens zwar nicht so groß, bleibt aber bestehen. Und die Datenmenge sowieso

        Ich würde diese Info an die Tabelle packen, wo der Datenpunkt zur ID gemachted wird.

        Da sind die Daten einmalig und Änderungen sind einfach und eindeutig.

        Gruß,

        Eric `

        Hmmm.

        datapoints ist genau diese Tabelle. Sie hat bei mir ca. 1600 Einträge, also alle Datenpunkte die ich logge.

        +--------+------------+------+-----+-------------------+----------------+
        | Field  | Type       | Null | Key | Default           | Extra          |
        +--------+------------+------+-----+-------------------+----------------+
        | id     | int(11)    | NO   | PRI | NULL              | auto_increment |
        | name   | text       | YES  |     | NULL              |                |
        | type   | int(11)    | YES  |     | NULL              |                |
        | lname  | text       | YES  |     | NULL              |                |
        | gewerk | text       | YES  |     | NULL              |                |
        | raum   | text       | YES  |     | NULL              |                |
        +--------+------------+------+-----+-------------------+----------------+
        

        MfG

        Sissi

        –-----------------------------------------

        1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          @sissiwup:

          Ich Würde die Tabelle datapoints ergänzen:

          lname = Vom Benutzer vergebener Name für den Datenpunkt

          gewerk = Vom Benutzer vergebene Gewerke

          raum = Vom Benutzer vergebene Räume

          => Vorteil: einfachere Verwendbarkeit der Datenpunkte für Auswertungen `
          Namen sind vergleichsweise einfach, gewerke und räume aufwändiger rauszubekommen -vor allem bei Änderungen.

          @sissiwup:

          Die Daten werden beim Anlegen der Datenpunkte übernommen

          Ein Button im Adapter um die Punkte upzudaten. `
          Die "Objekte" werden eh vom Adapter bei Änderungen schon geholt, von daher ist das für den Namen ein guter Trigger.

          Für Änderungen an Räumen und Gewerken müsste man noch mehr subscriben, aber auch machbar.

          Würde das eher automatisch behandeln als auf knopfdruck.

          @sissiwup:

          Die Spalte ts (Timestamp) in den Tabellen ts_bool, ts_string, ts_number

          aufteilen in ts und ms (ts*1000+ms) = alter ts.

          Primary Key über beide Spalten.

          => Vorteil: ts ist jetzt im standard UNIX-TS-Format und damit einfacher auswertbar für Dashboards ungleich float. `

          Das ist für mich echt fraglich … Da kann man wirklich ne einfache View bauen wenn man das wirklich braucht die "ts" umrechnet. Ansonsten ist es definitiv kein PK denke ich, aber das sind details.

          @sissiwup:

          Weitergehende Änderung:

          ts_bool, ts_string, ts_number zusammenfassen zu einer Tabelle.

          bool und number können in eine Spalte gespeichert werden, string bekommt eine eigene.

          => Vorteil: Einfachere Abfragen, simplere Fehlerbehebungen `

          Hm, da kommt man jetzt in die Gefilde von gutem Datenbankdesign,. Normalisierung und sowas …

          Aus reiner Abfragesicht ggf zu verstehen ... :-)

          @sissiwup:

          Alle Änderungen lassen sich über Views abwärtskompatibel gestalten. `

          Grundsätzlich kann man über solche Ideen nachdenken.

          Kannst mal gern ein Github Issue anlegen.

          Es gibt nioch andere Themen wie Performance Isssues in einigen DBs wo Indizes fehlen und so. Über einen zweiten "Contributor" wäre ich froh, ansonsten kann ich für das Thema zeitlich nichts versprechen …

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          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
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          768

          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