Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Influxdb, python csv export, unauthorized

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    498

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    403

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    985

Influxdb, python csv export, unauthorized

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

    Hallo zusammen,
    nutze bei meinem Smarthome System (KNX, IOBroker, InfluxDB, Grafana) die influxdb in einem docker-container zum data-logging. Nun möchte ich die Daten zum weiter exportieren in ein .csv-file haben. ChatGPT leistet da auch gute Dienste für ein Script:

    # manuell ausführen mit
    # /bin/python3 /volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/csv-export/export_influxdb_to_csv.py
    
    from influxdb import InfluxDBClient
    import csv
    
    # InfluxDB connection details
    host = 'localhost'
    port = 8086
    database = 'logging1'
    user = 'iobroker'
    password = 'meinpasswort'
    
    # Output CSV file
    csv_file_path = '/volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/influx_output.csv'
    
    # Query to select all data from all measurements
    query = 'SELECT * FROM /.*/'
    
    # Connect to InfluxDB
    client = InfluxDBClient(host, port, user, password, database)
    
    # Get the query result
    result = client.query(query)
    
    # Extract data points from the result
    data_points = [point for series in result for point in series]
    
    # Write data to CSV file
    with open(csv_file_path, 'w', newline='') as csv_file:
        csv_writer = csv.writer(csv_file)
    
        # Write header
        csv_writer.writerow(data_points[0].keys())
    
        # Write data
        for point in data_points:
            csv_writer.writerow(point.values())
    
    print(f'Data exported to {csv_file_path}')
    

    Allerdings bekomme ich:

     File "/usr/lib/python3.8/site-packages/influxdb/client.py", line 378, in request
        raise InfluxDBClientError(err_msg, response.status_code)
    influxdb.exceptions.InfluxDBClientError: 401: {"code":"unauthorized","message":"Unauthorized"}
    

    User/Passwort müssten passen, allerdings bin ich mir beim Namen der Datenbank nicht ganz sicher, ist das der Bucketname oder wo finde ich den?

    Oder was könnte noch Ursache für Fehler sein?

    Vielen DAnk im voraus.

    Marc BergM ? 2 Antworten Letzte Antwort
    0
    • C Chrisham

      Hallo zusammen,
      nutze bei meinem Smarthome System (KNX, IOBroker, InfluxDB, Grafana) die influxdb in einem docker-container zum data-logging. Nun möchte ich die Daten zum weiter exportieren in ein .csv-file haben. ChatGPT leistet da auch gute Dienste für ein Script:

      # manuell ausführen mit
      # /bin/python3 /volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/csv-export/export_influxdb_to_csv.py
      
      from influxdb import InfluxDBClient
      import csv
      
      # InfluxDB connection details
      host = 'localhost'
      port = 8086
      database = 'logging1'
      user = 'iobroker'
      password = 'meinpasswort'
      
      # Output CSV file
      csv_file_path = '/volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/influx_output.csv'
      
      # Query to select all data from all measurements
      query = 'SELECT * FROM /.*/'
      
      # Connect to InfluxDB
      client = InfluxDBClient(host, port, user, password, database)
      
      # Get the query result
      result = client.query(query)
      
      # Extract data points from the result
      data_points = [point for series in result for point in series]
      
      # Write data to CSV file
      with open(csv_file_path, 'w', newline='') as csv_file:
          csv_writer = csv.writer(csv_file)
      
          # Write header
          csv_writer.writerow(data_points[0].keys())
      
          # Write data
          for point in data_points:
              csv_writer.writerow(point.values())
      
      print(f'Data exported to {csv_file_path}')
      

      Allerdings bekomme ich:

       File "/usr/lib/python3.8/site-packages/influxdb/client.py", line 378, in request
          raise InfluxDBClientError(err_msg, response.status_code)
      influxdb.exceptions.InfluxDBClientError: 401: {"code":"unauthorized","message":"Unauthorized"}
      

      User/Passwort müssten passen, allerdings bin ich mir beim Namen der Datenbank nicht ganz sicher, ist das der Bucketname oder wo finde ich den?

      Oder was könnte noch Ursache für Fehler sein?

      Vielen DAnk im voraus.

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von
      #2

      @chrisham
      ChatGPT hat dir leider verschwiegen, dass es Unterschiede bei den Anmeldeparametern zwischen InfluxDB 1.x und 2.x gibt.

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • C Chrisham

        Hallo zusammen,
        nutze bei meinem Smarthome System (KNX, IOBroker, InfluxDB, Grafana) die influxdb in einem docker-container zum data-logging. Nun möchte ich die Daten zum weiter exportieren in ein .csv-file haben. ChatGPT leistet da auch gute Dienste für ein Script:

        # manuell ausführen mit
        # /bin/python3 /volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/csv-export/export_influxdb_to_csv.py
        
        from influxdb import InfluxDBClient
        import csv
        
        # InfluxDB connection details
        host = 'localhost'
        port = 8086
        database = 'logging1'
        user = 'iobroker'
        password = 'meinpasswort'
        
        # Output CSV file
        csv_file_path = '/volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/influx_output.csv'
        
        # Query to select all data from all measurements
        query = 'SELECT * FROM /.*/'
        
        # Connect to InfluxDB
        client = InfluxDBClient(host, port, user, password, database)
        
        # Get the query result
        result = client.query(query)
        
        # Extract data points from the result
        data_points = [point for series in result for point in series]
        
        # Write data to CSV file
        with open(csv_file_path, 'w', newline='') as csv_file:
            csv_writer = csv.writer(csv_file)
        
            # Write header
            csv_writer.writerow(data_points[0].keys())
        
            # Write data
            for point in data_points:
                csv_writer.writerow(point.values())
        
        print(f'Data exported to {csv_file_path}')
        

        Allerdings bekomme ich:

         File "/usr/lib/python3.8/site-packages/influxdb/client.py", line 378, in request
            raise InfluxDBClientError(err_msg, response.status_code)
        influxdb.exceptions.InfluxDBClientError: 401: {"code":"unauthorized","message":"Unauthorized"}
        

        User/Passwort müssten passen, allerdings bin ich mir beim Namen der Datenbank nicht ganz sicher, ist das der Bucketname oder wo finde ich den?

        Oder was könnte noch Ursache für Fehler sein?

        Vielen DAnk im voraus.

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von Ein ehemaliger Benutzer
        #3

        @chrisham sagte in Influxdb, python csv export, unauthorized:

        Oder was könnte noch Ursache für Fehler sein?

        Moin,

        Dokumentation nicht gelesen ;)
        Die Hersteller geben sich da echt Mühe und viel Geld aus :)

        Da Du ja von Bucket sprichst, gehe ich davon aus, das Du influxDB >V2 nutzt, dann ist das nicht user, password, sondern org und token!
        Und ja, ein Bucket ist die Datenbank im influxDB V2 Sprachgebrauch.

        VG
        Bernd

        P.S.: @Marc-Berg moin, Du tippst schneller als ich :)

        Marc BergM C 2 Antworten Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @chrisham sagte in Influxdb, python csv export, unauthorized:

          Oder was könnte noch Ursache für Fehler sein?

          Moin,

          Dokumentation nicht gelesen ;)
          Die Hersteller geben sich da echt Mühe und viel Geld aus :)

          Da Du ja von Bucket sprichst, gehe ich davon aus, das Du influxDB >V2 nutzt, dann ist das nicht user, password, sondern org und token!
          Und ja, ein Bucket ist die Datenbank im influxDB V2 Sprachgebrauch.

          VG
          Bernd

          P.S.: @Marc-Berg moin, Du tippst schneller als ich :)

          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          schrieb am zuletzt editiert von
          #4

          @dp20eic sagte in Influxdb, python csv export, unauthorized:

          P.S.: @Marc-Berg moin, Du tippst schneller als ich :)

          Ne, ich schreibe weniger! :-)

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          • ? Ein ehemaliger Benutzer

            @chrisham sagte in Influxdb, python csv export, unauthorized:

            Oder was könnte noch Ursache für Fehler sein?

            Moin,

            Dokumentation nicht gelesen ;)
            Die Hersteller geben sich da echt Mühe und viel Geld aus :)

            Da Du ja von Bucket sprichst, gehe ich davon aus, das Du influxDB >V2 nutzt, dann ist das nicht user, password, sondern org und token!
            Und ja, ein Bucket ist die Datenbank im influxDB V2 Sprachgebrauch.

            VG
            Bernd

            P.S.: @Marc-Berg moin, Du tippst schneller als ich :)

            C Offline
            C Offline
            Chrisham
            schrieb am zuletzt editiert von Chrisham
            #5

            @dp20eic stimmt, ChatGPT ist einfach schneller als doku lesen (rtfm ist oldschool im zeitalter von KI), heute geht man auch nicht mehr in die Bibliothek, sondern fragt das Internet, ebenso kann man ChatGPt alles auf einmal machen lassen:

            • doku für mich lesen
            • das relevante davon extrahieren
            • und gleich für meinen use-case anwenden und das script schreiben.

            ... nach ein paar weiteren Iterationen wars dann auch schon perfekt:

            # manuell ausführen mit
            # /bin/python3 /volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/csv-export/export_influxdb_to_csv_tmp-ist-wohn_6.py
            
            
            from influxdb_client import InfluxDBClient, Point, WriteOptions
            import pandas as pd
            import csv
            import warnings
            from influxdb_client.client.warnings import MissingPivotFunction
            from pathlib import Path
            
            # InfluxDB credentials
            url = "http://10.ab.xy.rs:8086/"
            token = "Rea..."
            myorg = "smarthome"
            mybucket = "logging1"
            
            # Output file path
            output_file_path = "/volume1/Christof/Daten/Organisation/030_Infrastruktur/020_Devices/Smart-Home/Logging/influx_output_tmp-ist-wohn_2.csv"
            
            # Create InfluxDB client
            client = InfluxDBClient(url=url, token=token)
            
            # Suppress the warning about the missing pivot function
            warnings.simplefilter("ignore", MissingPivotFunction)
            
            # Check connection
            try:
                health = client.health()
                if health.message == 'ready for queries and writes':
                    print("Connection successful.")
            
                    # Specify your InfluxDB query here
                    query = 'from(bucket: "logging1") |> range(start: -1d)'
            
                    # Run the query
                    tables = client.query_api().query(org=myorg, query=query)
                    
                    # Specify the values you want to filter for
                    filter_measurement = "knx.0.Heizung__Klima__Lüftung.EG.Heiz-Wohn-Ess_Temp-IST"
                    filter_field = "value"
            
                    # Extract and export data to CSV
                    with open(output_file_path, 'w', newline='') as csvfile:
                        csv_writer = csv.writer(csvfile)
            
                        # Write header
                        csv_writer.writerow(["_time", "_value", "_field", "_measurement"])
            
                        # Print all measurement names for debugging
                        measurement_names = set()
                        for table in tables:
                            for record in table.records:
                                measurement_names.add(record.get_measurement())
                        print(f"All measurement names: {measurement_names}")
            
                        # Write data with filters
                        for table in tables:
                            for record in table.records:
                                # Check if both conditions are met
                                if record.get_measurement() == filter_measurement and record.get_field() == filter_field:
                                    csv_writer.writerow([record.get_time(), record.get_value(), record.get_field(), record.get_measurement()])
                            
                        print(f"Data exported to {output_file_path}")
                else:
                    print(f"Connection failed. InfluxDB status: {health.message}")
            except Exception as e:
                print(f"An error occurred: {e}")
            

            KI ist echt ein Gamechanger.... :)

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            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

            481

            Online

            32.8k

            Benutzer

            82.9k

            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