Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Frage : Migrate MySQL nach Influxdb

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Frage : Migrate MySQL nach Influxdb

Scheduled Pinned Locked Moved ioBroker Allgemein
151 Posts 31 Posters 27.8k Views 25 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B base

    @JackGruber ja

    RESTART: C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py
    MySQL connection error
    '192.168.1.100'

    JackGruberJ Offline
    JackGruberJ Offline
    JackGruber
    wrote on last edited by
    #52

    @base teste doch mal in einer powershell folgendes:

    Test-NetConnection 192.168.1.100 -p 3307

    B 2 Replies Last reply
    0
    • JackGruberJ JackGruber

      @base teste doch mal in einer powershell folgendes:

      Test-NetConnection 192.168.1.100 -p 3307

      B Offline
      B Offline
      base
      wrote on last edited by
      #53

      @JackGruber Lernen Sie das neue plattformübergreifende PowerShell kennen – https://aka.ms/pscore6 PS C:\Users\Base> Test-NetConnection 192.168.1.100 -p 3307 WARNUNG: TCP connect to (192.168.1.100 : 3307) failed
      ComputerName : 192.168.1.100
      RemoteAddress : 192.168.1.100
      RemotePort : 3307
      InterfaceAlias : WiFi
      SourceAddress : 192.168.1.72
      PingSucceeded : True
      PingReplyDetails (RTT) : 6 ms
      TcpTestSucceeded : False

      1 Reply Last reply
      0
      • JackGruberJ JackGruber

        @base teste doch mal in einer powershell folgendes:

        Test-NetConnection 192.168.1.100 -p 3307

        B Offline
        B Offline
        base
        wrote on last edited by
        #54

        @JackGruber PS C:\Users\Base> Test-NetConnection 192.168.1.100 -p 3306 ComputerName : 192.168.1.100
        RemoteAddress : 192.168.1.100
        RemotePort : 3306
        InterfaceAlias : WiFi
        SourceAddress : 192.168.1.72
        TcpTestSucceeded : True

        PS C:\Users\Base>

        JackGruberJ 1 Reply Last reply
        0
        • B base

          @JackGruber PS C:\Users\Base> Test-NetConnection 192.168.1.100 -p 3306 ComputerName : 192.168.1.100
          RemoteAddress : 192.168.1.100
          RemotePort : 3306
          InterfaceAlias : WiFi
          SourceAddress : 192.168.1.72
          TcpTestSucceeded : True

          PS C:\Users\Base>

          JackGruberJ Offline
          JackGruberJ Offline
          JackGruber
          wrote on last edited by
          #55

          @base oh stimt, MySQL standard port ist 3306 :)

          Hm also der port ist erreichbar, aber das script kann sich ned verbinden ...
          Hast du Verschlüsselung für MySQL aktiviert?

          änder mal folgende Zeilen

          try:
              MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                              port = db['MySQL']['port'],
                                              user = db['MySQL']['user'],
                                              password = db['MySQL']['password'],
                                              db = db['MySQL']['database'])
          except pymysql.OperationalError as error:
              print (error)
              sys.exit(1)
          except Exception as ex:
              print("MySQL connection error")
              print(ex)
              sys.exit(1)
          

          in nur das ab:

          MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                          port = db['MySQL']['port'],
                                          user = db['MySQL']['user'],
                                          password = db['MySQL']['password'],
                                          db = db['MySQL']['database'])
          

          Achte darauf, das vor den MYSQL_CONNECTION keine lehrzeichen sind!
          Danach post mal die ganze Fehlerausgabe.

          B 1 Reply Last reply
          0
          • JackGruberJ JackGruber

            @base oh stimt, MySQL standard port ist 3306 :)

            Hm also der port ist erreichbar, aber das script kann sich ned verbinden ...
            Hast du Verschlüsselung für MySQL aktiviert?

            änder mal folgende Zeilen

            try:
                MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                                port = db['MySQL']['port'],
                                                user = db['MySQL']['user'],
                                                password = db['MySQL']['password'],
                                                db = db['MySQL']['database'])
            except pymysql.OperationalError as error:
                print (error)
                sys.exit(1)
            except Exception as ex:
                print("MySQL connection error")
                print(ex)
                sys.exit(1)
            

            in nur das ab:

            MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                            port = db['MySQL']['port'],
                                            user = db['MySQL']['user'],
                                            password = db['MySQL']['password'],
                                            db = db['MySQL']['database'])
            

            Achte darauf, das vor den MYSQL_CONNECTION keine lehrzeichen sind!
            Danach post mal die ganze Fehlerausgabe.

            B Offline
            B Offline
            base
            wrote on last edited by
            #56

            @JackGruber

            RESTART: C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py
            Traceback (most recent call last):
            File "C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py", line 33, in <module>
            MYSQL_CONNECTION = pymysql.connect(host = db['192.168.1.100']['host'],
            KeyError: '192.168.1.100'

            JackGruberJ 1 Reply Last reply
            0
            • B base

              @JackGruber

              RESTART: C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py
              Traceback (most recent call last):
              File "C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py", line 33, in <module>
              MYSQL_CONNECTION = pymysql.connect(host = db['192.168.1.100']['host'],
              KeyError: '192.168.1.100'

              JackGruberJ Offline
              JackGruberJ Offline
              JackGruber
              wrote on last edited by
              #57

              @base ok, pass bitte die database.json an, nicht das script, so wie in der database.json.example als beispiel!

              B 1 Reply Last reply
              0
              • JackGruberJ JackGruber

                @base ok, pass bitte die database.json an, nicht das script, so wie in der database.json.example als beispiel!

                B Offline
                B Offline
                base
                wrote on last edited by
                #58

                @JackGruber

                ok, jetzt hats geklappt. War ne schwere Geburt. Vielen Dank für das Script, deinen Support und deine Geduld:grin:

                JackGruberJ 1 Reply Last reply
                0
                • B base

                  @JackGruber

                  ok, jetzt hats geklappt. War ne schwere Geburt. Vielen Dank für das Script, deinen Support und deine Geduld:grin:

                  JackGruberJ Offline
                  JackGruberJ Offline
                  JackGruber
                  wrote on last edited by
                  #59

                  @base na dann ist ja gut wenns geklappt hat :)

                  1 Reply Last reply
                  0
                  • E Offline
                    E Offline
                    Edelweiss
                    wrote on last edited by
                    #60

                    @gender ,
                    ich habe nochmal eine Frage zu deiner Beschreibung.
                    Wie und wo setzt man den ack Wert auf "Boolean True" ?

                    Wäre dankbar dafür , habe bis dato das Textfile erstellt
                    Gruß

                    JackGruberJ G 2 Replies Last reply
                    0
                    • E Edelweiss

                      @gender ,
                      ich habe nochmal eine Frage zu deiner Beschreibung.
                      Wie und wo setzt man den ack Wert auf "Boolean True" ?

                      Wäre dankbar dafür , habe bis dato das Textfile erstellt
                      Gruß

                      JackGruberJ Offline
                      JackGruberJ Offline
                      JackGruber
                      wrote on last edited by
                      #61

                      @edelweiss der Qert steht standardmäßig auf true, kann aber in der database.json mittels store_ack_boolean geändert werden.

                      S 1 Reply Last reply
                      0
                      • E Edelweiss

                        @gender ,
                        ich habe nochmal eine Frage zu deiner Beschreibung.
                        Wie und wo setzt man den ack Wert auf "Boolean True" ?

                        Wäre dankbar dafür , habe bis dato das Textfile erstellt
                        Gruß

                        G Offline
                        G Offline
                        gender
                        wrote on last edited by
                        #62

                        @edelweiss

                        Der Wert ist oben in meiner Anleitung im Python-Skript bereits auf true gesetzt. Du selbst musst den also nicht "irgendwo" setzen; dass passiert bereits in dem Python-Skript.

                        1 Reply Last reply
                        0
                        • E Offline
                          E Offline
                          Edelweiss
                          wrote on last edited by Edelweiss
                          #63

                          @gender
                          @JackGruber

                          danke für eure Antworten.

                          Bin hier noch komplett neu (Docker und influxDBs)

                          Habe jetzt den Import in meinen Docker geladen und mit dem Befehl

                          influx -import -path=import.txt
                          

                          gestartet.

                          Er bring mir aber dann die Meldung

                          2021/02/05 21:43:19 error: error parsing query: found StromzaehlerGesamt, expect
                          ed SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL 
                          at line 1, char 1
                          

                          Die Datenbank hat er allerdings angelegt, aber es sind keien Measurements darin

                          In meinem import.txt sieht es folgendermaßen aus

                          
                          #DDL 
                          CREATE DATABASE Dummschul
                          
                          #DML
                          #CONTEXT-DATABASE: Dummschul
                          
                          StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.902 1612560689242000000
                          StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.2 1612560689242000000
                          StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.249 1612560629226000000
                          StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.893 1612560629225000000
                          

                          Könnte ihr mir Bitte noch einen Anstoß geben :innocent:

                          Danke

                          G 1 Reply Last reply
                          0
                          • E Edelweiss

                            @gender
                            @JackGruber

                            danke für eure Antworten.

                            Bin hier noch komplett neu (Docker und influxDBs)

                            Habe jetzt den Import in meinen Docker geladen und mit dem Befehl

                            influx -import -path=import.txt
                            

                            gestartet.

                            Er bring mir aber dann die Meldung

                            2021/02/05 21:43:19 error: error parsing query: found StromzaehlerGesamt, expect
                            ed SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL 
                            at line 1, char 1
                            

                            Die Datenbank hat er allerdings angelegt, aber es sind keien Measurements darin

                            In meinem import.txt sieht es folgendermaßen aus

                            
                            #DDL 
                            CREATE DATABASE Dummschul
                            
                            #DML
                            #CONTEXT-DATABASE: Dummschul
                            
                            StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.902 1612560689242000000
                            StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.2 1612560689242000000
                            StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.249 1612560629226000000
                            StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.893 1612560629225000000
                            

                            Könnte ihr mir Bitte noch einen Anstoß geben :innocent:

                            Danke

                            G Offline
                            G Offline
                            gender
                            wrote on last edited by
                            #64

                            @edelweiss
                            Hmm, ich glaube du bist dann beim Importieren nicht an der richtigen Stelle. Du musst (soweit ich mich erinnere) nur in die Komandokonsole von Influx und dort den import-Befehl ausführen und nicht direkt in der Konsole schon in die Datenbank reingehen...

                            1 Reply Last reply
                            0
                            • E Offline
                              E Offline
                              Edelweiss
                              wrote on last edited by Edelweiss
                              #65

                              Hallo zusammen,
                              ich wollte nur ein kurzes Feedback geben woran es gelegen hat.

                              Scheinbar stimmt etwas nicht mit der Txt Datei (sie hat aber die c7e8c4c9-bcc3-4c45-96e5-0aa817ecde85-grafik.png Kennung ) , welche aus dem py Script generiert wird.

                              Ich habe nämlich den Inhalt daraus 1:1 in die influx NOAA_ data.txt kopiert und danach funktionierte es, beim importieren

                              Desweiteren funktionierte es bei mir auch nur, wenn der haeder mit jeweils einer Zeile Versatz eingetragen wird.

                              #DDL 
                              
                              CREATE DATABASE Dummschul
                              
                              #DML
                              
                              #CONTEXT-DATABASE: Dummschul
                              

                              Danke für die Hilfe
                              Gruß

                              1 Reply Last reply
                              1
                              • JackGruberJ JackGruber

                                @edelweiss der Qert steht standardmäßig auf true, kann aber in der database.json mittels store_ack_boolean geändert werden.

                                S Offline
                                S Offline
                                Sputnik24
                                wrote on last edited by
                                #66

                                @jackgruber

                                Vielen Dank für das tolle Script. Das Script läuft bei mir erfolgreich durch, Grafana zeigt mir auch alle Datenpunkte an, sagt aber "No data". Die Daten werden vom sql Adapter in eine MariaDB auf der Synology gespeichert.

                                Muss ich im Script etwas anpassen?

                                Danke

                                JackGruberJ 1 Reply Last reply
                                0
                                • S Sputnik24

                                  @jackgruber

                                  Vielen Dank für das tolle Script. Das Script läuft bei mir erfolgreich durch, Grafana zeigt mir auch alle Datenpunkte an, sagt aber "No data". Die Daten werden vom sql Adapter in eine MariaDB auf der Synology gespeichert.

                                  Muss ich im Script etwas anpassen?

                                  Danke

                                  JackGruberJ Offline
                                  JackGruberJ Offline
                                  JackGruber
                                  wrote on last edited by
                                  #67

                                  @sputnik24
                                  Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                                  Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                                  use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                                  S M 2 Replies Last reply
                                  0
                                  • JackGruberJ JackGruber

                                    @sputnik24
                                    Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                                    Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                                    use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                                    S Offline
                                    S Offline
                                    Sputnik24
                                    wrote on last edited by Sputnik24
                                    #68

                                    @jackgruber Ich lass iobroker mittlerweile Daten in influxdb speichern. Diese werden mir in Grafana auch angezeigt. Ich vermute ein Problem mit dem timestamp Format.

                                    Ich hab die database nochmal gelöscht und neu angelegt, jetzt funktioniert es.

                                    1 Reply Last reply
                                    0
                                    • JackGruberJ JackGruber

                                      @sputnik24
                                      Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                                      Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                                      use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                                      M Offline
                                      M Offline
                                      marco-mh
                                      wrote on last edited by
                                      #69

                                      @jackgruber Hallo, ich wollte mich auch mal versuchen an deinem Script. Meine MYSQL DB umfasst mittlerweile 1,8 Mio Einträge. Ich bin allerdings ne absolute NULL in sachen Scripte und bekomme schon graue Haare.
                                      Jetzt hab ich das Script mit meinen Daten, so das ich denke das es richtig ist, geändert. Nun bekomme ich folgende meldung

                                      
                                      C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL
                                        File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 156
                                          print(f"Processing row {processed_rows + 1:,} to {processed_rows + len(selected_rows):,} from LIMIT {start_row:,} / {start_row + query_max_rows:,} " +
                                                                                                                                                                                             ^
                                      SyntaxError: invalid syntax
                                      
                                      C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>
                                      
                                      

                                      wo kann hier der Fehler sein?

                                      Meine geänderten Daten sehen so aus

                                      
                                      {\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
                                      {\*\generator Riched20 10.0.14393}\viewkind4\uc1 
                                      \pard\f0\fs22\lang1033\par
                                          MYSQL_CONNECTION = pymysql.connect(host=db['MySQL']['192.168.178.8'],\par
                                                                             port=db['MySQL']['3306'],\par
                                                                             user=db['MySQL']['root'],\par
                                                                             password=db['MySQL']['XXXXXX'],\par
                                                                             db=db['MySQL']['database'])\par
                                      except pymysql.OperationalError as error:\par
                                          print(error)\par
                                          sys.exit(1)\par
                                      except Exception as ex:\par
                                          print("MySQL connection error")\par
                                          print(ex)\par
                                          sys.exit(1)\par
                                      \par
                                      \par
                                      INFLUXDB_CONNECTION = InfluxDBClient(host=db['InfluxDB']['192.168.178.102'],\par
                                                                           ssl=db['InfluxDB']['ssl'],\par
                                                                           verify_ssl=True,\par
                                                                           port=db['InfluxDB']['22'],\par
                                                                           username=db['InfluxDB']['iobroker'],\par
                                                                           password=db['InfluxDB']['XXXXXX'],\par
                                                                           database=db['InfluxDB']['iobroker_import'])\par
                                      }
                                      
                                      

                                      Danke für die hilfe. Gruß Marco

                                      node.js 16.15.1, NPM 8.11, js.Controller 4.0.23

                                      JackGruberJ 1 Reply Last reply
                                      0
                                      • M marco-mh

                                        @jackgruber Hallo, ich wollte mich auch mal versuchen an deinem Script. Meine MYSQL DB umfasst mittlerweile 1,8 Mio Einträge. Ich bin allerdings ne absolute NULL in sachen Scripte und bekomme schon graue Haare.
                                        Jetzt hab ich das Script mit meinen Daten, so das ich denke das es richtig ist, geändert. Nun bekomme ich folgende meldung

                                        
                                        C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL
                                          File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 156
                                            print(f"Processing row {processed_rows + 1:,} to {processed_rows + len(selected_rows):,} from LIMIT {start_row:,} / {start_row + query_max_rows:,} " +
                                                                                                                                                                                               ^
                                        SyntaxError: invalid syntax
                                        
                                        C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>
                                        
                                        

                                        wo kann hier der Fehler sein?

                                        Meine geänderten Daten sehen so aus

                                        
                                        {\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
                                        {\*\generator Riched20 10.0.14393}\viewkind4\uc1 
                                        \pard\f0\fs22\lang1033\par
                                            MYSQL_CONNECTION = pymysql.connect(host=db['MySQL']['192.168.178.8'],\par
                                                                               port=db['MySQL']['3306'],\par
                                                                               user=db['MySQL']['root'],\par
                                                                               password=db['MySQL']['XXXXXX'],\par
                                                                               db=db['MySQL']['database'])\par
                                        except pymysql.OperationalError as error:\par
                                            print(error)\par
                                            sys.exit(1)\par
                                        except Exception as ex:\par
                                            print("MySQL connection error")\par
                                            print(ex)\par
                                            sys.exit(1)\par
                                        \par
                                        \par
                                        INFLUXDB_CONNECTION = InfluxDBClient(host=db['InfluxDB']['192.168.178.102'],\par
                                                                             ssl=db['InfluxDB']['ssl'],\par
                                                                             verify_ssl=True,\par
                                                                             port=db['InfluxDB']['22'],\par
                                                                             username=db['InfluxDB']['iobroker'],\par
                                                                             password=db['InfluxDB']['XXXXXX'],\par
                                                                             database=db['InfluxDB']['iobroker_import'])\par
                                        }
                                        
                                        

                                        Danke für die hilfe. Gruß Marco

                                        JackGruberJ Offline
                                        JackGruberJ Offline
                                        JackGruber
                                        wrote on last edited by
                                        #70

                                        @marco-mh bitte nur die database.json.example in database.json umbenennen und die daten dort eintragen.

                                        M 1 Reply Last reply
                                        0
                                        • JackGruberJ JackGruber

                                          @marco-mh bitte nur die database.json.example in database.json umbenennen und die daten dort eintragen.

                                          M Offline
                                          M Offline
                                          marco-mh
                                          wrote on last edited by
                                          #71

                                          @jackgruber Danke für die schnelle Antwort. Aber der Fehler bleibt leider.
                                          ichnhab die Daten jetzt in der Json geändert.

                                          node.js 16.15.1, NPM 8.11, js.Controller 4.0.23

                                          JackGruberJ 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          391

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe