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. Umzug Daten SQL von altem auf neuen Datenpunkt

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Umzug Daten SQL von altem auf neuen Datenpunkt

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
sqlmigration
4 Beiträge 2 Kommentatoren 702 Aufrufe 4 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.
  • D Online
    D Online
    darkiop
    Most Active
    schrieb am zuletzt editiert von
    #1

    Hallo, ich habe vor ein paar Tagen begonnen DPs zu über den linkeddevices Adapter bzw. die neue alias Funktion des js-controllers 2.0 abzubilden.

    Dabei habe ich auch DPs abgebildet welche zuvor via SQL Adapter Archiviert werden. Beim Anlegen der Linkeddevices Objekte wird die Einstellung SQL übernommen (das hab ich heute festgestellt :)) und somit die Daten 2x in der DB abgelegt:

    fa07629c-b98b-4562-9e1c-aa09629b2d48-grafik.png

    Jetzt würd ich gerne in der Datenbank, die Daten von hm-rpc.2.xxxxxxxxxxxxxxxx.6.POWER in den neuen 'neutralen' DP linkeddevices.0.energie.steckdosen.pc_power umziehen.

    Wie würdet ihr da vorgehen? Meine Idee wäre jetzt, die alten Daten zu exportieren, im CSV die ID zu ändern und das ganze dann wieder in die ts_number zum importieren. Evtl. gibt es ja aber via SQL noch einen einfacheren Weg :)

    Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      sf-ing
      schrieb am zuletzt editiert von sf-ing
      #2

      Hallo,

      wie bist du jetzt vorgegangen. Ich habe so etwas Ähnliches geplant. Ich habe mehrere WLAN Steckdosen mit denen ich verschiedene Geräte vermesse. Nach den Messungen würde ich die gerne als seperate Messung in der MySQL Datenbank ablegen.

      MfG Sebastian

      D 1 Antwort Letzte Antwort
      0
      • S sf-ing

        Hallo,

        wie bist du jetzt vorgegangen. Ich habe so etwas Ähnliches geplant. Ich habe mehrere WLAN Steckdosen mit denen ich verschiedene Geräte vermesse. Nach den Messungen würde ich die gerne als seperate Messung in der MySQL Datenbank ablegen.

        MfG Sebastian

        D Online
        D Online
        darkiop
        Most Active
        schrieb am zuletzt editiert von darkiop
        #3

        @sf-ing Das ist eine fleisarbeit, hier mal meine SQLs dafür.

        Entscheident ist das UPDATE zum Ändern der ID - vorher ein Backup der DB machen, du kannst dir hier logischer weise mit einem Klick alles zerschießen ;)

        Grundsätzlich kann man auch mit der Alias Funktion des SQL Adapters arbeiten, aber ich finde im Laufe der Zeit wird das Unübersichtlich.

        Vielleicht kann @apollon77 auch bei Gelegenheit in den SQL Adapter eine Migrationsfunktion einbauen? :D

        SELECT * FROM datapoints WHERE NAME LIKE '%hm-rpc.2.000E9569A3178A.1.HUMIDITY%' ORDER BY id
        SELECT * FROM datapoints WHERE NAME LIKE '%linkeddevices.0.%' ORDER BY id
        SELECT * FROM datapoints
        
        /*
        Quelle  41    hm-rpc.2.000E9569A3178A.1.HUMIDITY
        Ziel    262   linkeddevices.0.klima.sensoren.flur_luftfeuchtigkeit
        
        ID ändern:
        - Beide IDs notieren: Quelle / Ziel
        - ggf. doppelte Einträge aus Quelle löschen
        - ggf. val anpassen (z.B. Wh in kWh)
        - UPDATE
        */
        
        SELECT x1.id AS id
              ,x2.name AS object
              ,from_unixtime(floor(ts/1000)) AS 'timestamp'
              ,ts AS 'unixtime'
              ,val AS VALUE
        FROM ts_number x1
        JOIN datapoints x2 ON x1.id = x2.id
        WHERE x1.id IN (262)
        -- and year(from_unixtime(floor(ts/1000))) = 2019
        -- AND ts between 1572548400000 AND 1579443698588
        ORDER BY from_unixtime(floor(ts/1000)) desc
        
        SELECT COUNT(*)
        FROM ts_number
        WHERE id = 262
        -- AND ts = 1571608800272
        ORDER BY ts desc
        
        /*
        
        https://www.freeformatter.com/epoch-timestamp-to-date-converter.html
        
        31.10.2019 20:00      1572548400000
        30.12.2019 15:00      1577714400000
        JETZT                 1579443698588   
         
        DELETE FROM ts_number WHERE id = 41 AND ts between 1577714400000 AND 1579443698588
        DELETE FROM ts_number WHERE id = 237 AND ts = 1572562740126
        DELETE FROM ts_number WHERE id in (66,67,68,69)
        DELETE FROM datapoints WHERE id in (66,67,68,69)
        DELETE FROM ts_number WHERE id = 41
        DELETE FROM datapoints WHERE id = 41
        
        SELECT COUNT(*) FROM ts_number WHERE id = 228
        
        UPDATE iobroker.ts_number
        SET val = val / 1000
        WHERE id = 63
        
        UPDATE iobroker.ts_number
        SET val = round(val,2)
        WHERE id = 63
        
        UPDATE iobroker.ts_number
        SET id = 262
        WHERE id = 242
        */
        
        SELECT year(x1.datum) AS jahr
              ,month(x1.datum) AS monat
              ,round(SUM(x1.wert),2) AS summe_in_kWh
        FROM (
          select x1.id as id
                ,x2.name as object
                ,from_unixtime(floor(ts/1000)) as datum
                ,ts as 'unixtime'
                ,val as wert
          from ts_number x1
          join datapoints x2 on x1.id = x2.id
          where x1.id IN (237)
          -- and year(from_unixtime(floor(ts/1000))) = 2019
          order by from_unixtime(floor(ts/1000)) DESC
        ) x1
        GROUP BY year(x1.datum),month(x1.datum)
        ORDER BY year(x1.datum),month(x1.datum)
        

        Edit: Die {1} ignorieren, hier hat die Forensoftware ein Eigenleben im Code-Tag entwickelt ...

        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          sf-ing
          schrieb am zuletzt editiert von
          #4

          Danke für die Rückmeldung, ich gucke mir das mal an.

          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

          724

          Online

          32.7k

          Benutzer

          82.4k

          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