Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit JDBC Persistence MySQL / Openhab2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Problem mit JDBC Persistence MySQL / Openhab2

    Hallo zusammen,

    habe ein kleines Problem mit den mysql Persistences
    Und zwar habe ich meiner Meinung alles richtig installiert und angelegt aber es werden einfach keine Werte (Tabellen wurden automatisch vom Binding angelegt) in die DB geschrieben.

    Code:
    mysql> select * from items;
    +--------+--------------+
    | ItemId | itemname     |
    +--------+--------------+
    |      1 | budSupply    |
    |      2 | istBudAussen |
    |      3 | istBudWasser |
    |      4 | budReturn    |
    +--------+--------------+
    4 rows in set (0.00 sec)
    
    mysql> select * from item0001;
    Empty set (0.00 sec)
    
    mysql> select * from item0002;
    Empty set (0.00 sec)
    
    mysql> select * from item0003;
    Empty set (0.00 sec)
    Wahrscheinlich ist es total trivial und ich oute mich hier als totaler Anfänger :-( , aber ich mache da nun Stunden rum und es geht einfach nicht :-(

    Werte in der jdbc.cfg unter Services
    Code:
    ############################ JDBC Persistence Service ##################################
    # I N S T A L L   J D B C   P E R S I S T E N C E   S E R V I C E
    #
    # https://github.com/openhab/openhab/wiki/JDBC-Persistence
    #
    # Tested databases/url-prefix: jdbc:derby, jdbc:h2, jdbc:hsqldb, jdbc:mariadb, jdbc:mysql, jdbc:postgresql, jdbc:sqlite
    #
    # derby, h2, hsqldb, sqlite can be embedded,
    # If no database is available it will be created, for example the url 'jdbc:h2:./testH2' creates a new DB in OpenHab Folder.
    #
    # Create new database, for example on a MySQL-Server use:
    # CREATE DATABASE 'yourDB' CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    # D A T A B A S E  C O N F I G
    # Some URL-Examples, 'service' identifies and activates internally the correct jdbc driver.
    # required database url like 'jdbc:<service>:<host>[:<port>;<attributes>]'
    # url=jdbc:derby:./testDerby;create=true
    # url=jdbc:h2:./testH2
    # url=jdbc:hsqldb:./testHsqlDb
    # url=jdbc:mariadb://192.168.0.1:3306/testMariadb
    # url=jdbc:mysql://192.168.0.1:3306/testMysql
    # url=jdbc:postgresql://192.168.0.1:5432/testPostgresql
    # url=jdbc:sqlite:./testSqlite.db
    url=jdbc:mysql://127.0.0.1/openhab_db
    
    # required database user
    user=openhab_user
    
    # required database password
    password=************
    
    # E R R O R   H A N D L I N G
    # optional when Service is deactivated (optional, default: 0 -> ignore)
    #errReconnectThreshold=
    
    # I T E M   O P E R A T I O N S
    # optional tweaking SQL datatypes
    # see: https://mybatis.github.io/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html  
    # see: http://www.h2database.com/html/datatypes.html
    # see: http://www.postgresql.org/docs/9.3/static/datatype.html
    # defaults:
    #sqltype.CALL          =   VARCHAR(200)
    #sqltype.COLOR         =   VARCHAR(70)
    #sqltype.CONTACT       =   VARCHAR(6)
    #sqltype.DATETIME      =   DATETIME
    #sqltype.DIMMER        =   TINYINT
    #sqltype.LOCATION      =   VARCHAR(30)
    #sqltype.NUMBER        =   DOUBLE
    #sqltype.ROLLERSHUTTER =   TINYINT
    #sqltype.STRING        =   VARCHAR(65500)
    #sqltype.SWITCH        =   VARCHAR(6)
    
    # For Itemtype "Number" default decimal digit count (optional, default: 3)
    #numberDecimalcount=
    
    # T A B L E   O P E R A T I O N S
    # Tablename Prefix String (optional, default: "item")
    # for Migration from MYSQL-Bundle set to 'Item'.
    #tableNamePrefix=Item
    
    # Tablename Prefix generation, using Item real names or "item" (optional, default: false -> "item")
    # If true, 'tableNamePrefix' is ignored.
    #tableUseRealItemNames=
    
    # Tablename Suffix length (optional, default: 4 -> 0001-9999)
    # for Migration from MYSQL-Bundle set to 0.
    #tableIdDigitCount=
    
    # Rename existing Tables using tableUseRealItemNames and tableIdDigitCount (optional, default: false)
    # USE WITH CARE! Deactivate after Renaming is done!
    #rebuildTableNames=true
    
    # D A T A B A S E  C O N N E C T I O N S
    # Some embeded Databases can handle only one Connection (optional, default: configured per database in packet org.openhab.persistence.jdbc.db.* )
    # see: https://github.com/brettwooldridge/HikariCP/issues/256
    # jdbc.maximumPoolSize = 1
    # jdbc.minimumIdle = 1
    
    # T I M E K E E P I N G
    # (optional, default: false)
    #enableLogTime=true
    Definition in der mysql.persist

    Code:
    // persistence strategies have a name and a definition and are referred to in the "Items" section
    Strategies {
        // for rrd charts, we need a cron strategy
            everyMinute : "0 * * * * ?"
            everyHour     : "0 0 * * * ?"
            everyDay     : "0 0 0 * * ?"
    
            default = everyMinute
    }
    
    Items {
    
        * : strategy = everyMinute, restoreOnStartup
        //budReturn,budSupply,istBudAussen,istBudWasser : strategy = everyMinute, everyChange, restoreOnStartup //jede Minute wird der Wert gespeichert
         Heating_Chart* : strategy = everyMinute, restoreOnStartup  //bei jeder Änderung
    
    }
    
    // vim: syntax=Xtend syntax=openhab
    Definition der Items

    Code:
    // Gruppen
    Group gKG   // Gruppe Keller
    Group Heating_Chart
    Group KG_Heizraum        "Heizraum"         <Heatingroom>    (gKG)
    
    DateTime      budDate                "Buderus Datum  [%1$td.%1$tm.%1$tY %1$tH:%1$tM]"    (KG_Heizraum)    {km200="date_time"}
    String      budBrand                "Hersteller der Heizung [%s]"                         (KG_Heizraum)     {km200="sys_brand"}
    String      budType                  "Typ der Heizung [%s]"                                  (KG_Heizraum)     {km200="sys_type"}
    String      budStatusSystem            "Status der Gesamtanlage [%s]"                         (KG_Heizraum)     {km200="sys_state"}
    String      budFirmware                "Firmwareversion [%s]"                                  (KG_Heizraum)     {km200="ver_firmware"}
    String      budHardware             "Hardwareversion [%s]"                                  (KG_Heizraum)     {km200="ver_hardware"}
    String      budStatusHeiz           "Status der Heizung [%s]"                              (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/status"}
    Number        budReturn                "Ruecklauftemperatur [%.1f °C]"                       (KG_Heizraum,Heating_Chart)     {km200="service:/system/sensors/temperatures/return"}
    Number        budSupply                "Vorlauftemperatur [%.1f °C]"                       (KG_Heizraum,Heating_Chart)     {km200="service:/system/sensors/temperatures/supply_t1"}
    
    Number        sollBudHeizNacht        "Soll-Temperatur Heizung Nacht [%.1f °C]"           (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/temperatureLevels/night"}
    Number         sollBudHeizTag            "Soll-Temperatur Heizung Tag [%.1f °C]"              (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/temperatureLevels/day"}
    Number        istBudHeizKessel        "Kesseltemperatur  [%.1f °C]"                       (KG_Heizraum)     {km200="service:/system/sensors/temperatures/supply_t1"}
    String        modeBudHeiz                "Mode-Heizung [%s]"                                     (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/operationMode" }
    String        budStatusWasser         "Status der Warmwasserzub. [%s]"                     (KG_Heizraum)     {km200="service:/dhwCircuits/dhw1/status"}
    Number        sollBudWasser            "Soll-Wassertemperatur  [%.1f °C]"                   (KG_Heizraum)     {km200="service:/dhwCircuits/dhw1/setTemperature"}
    Number        istBudWasser            "Wassertemperatur  [%.1f °C]"                       (KG_Heizraum,Heating_Chart)     {km200="service:/dhwCircuits/dhw1/actualTemp"}
    String        modeBudWasser            "Mode-Warmwasserzub. [%s]"                             (KG_Heizraum)     {km200="service:/dhwCircuits/dhw1/operationMode" }
    Number        istBudAussen            "Aussentemperatur  [%.1f °C]"                          (KG_Heizraum,Heating_Chart)     {km200="service:/system/sensors/temperatures/outdoor_t1"}
    String        actBudSPHC1                "Aktuelles Programm HC1 [%s]"                         (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/activeSwitchProgram" }
    String        actBudDayHC1                "Tag HC1 [%s]"                                         (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/switchPrograms/__current__/weekday current:/heatingCircuits/hc1/activeSwitchProgram" }
    Number        nbrBudNbrCyclesHC1        "Anzahl Zyklen HC1 [%d]"                              (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/switchPrograms/__current__/nbrCycles current:/heatingCircuits/hc1/activeSwitchProgram" }
    Number        actBudCycleHC1            "Aktueller Zyklus HC1 [%d]"                           (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/switchPrograms/__current__/cycle current:/heatingCircuits/hc1/activeSwitchProgram" }
    Number        actBudPosHC1                "Einschalten  HC1  [%d]"                              (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/switchPrograms/__current__/day current:/heatingCircuits/hc1/activeSwitchProgram" }
    Number        actBudNegHC1                "Ausschalten HC1  [%d]"                             (KG_Heizraum)     {km200="service:/heatingCircuits/hc1/switchPrograms/__current__/night current:/heatingCircuits/hc1/activeSwitchProgram" }
    Number        actBudErrorNbr            "Anzahl der Fehler [%d]"                               (KG_Heizraum)     {km200="service:/notifications/nbrErrors" }
    Number        actBudError                "Aktuelle Fehlernummer [%d]"                           (KG_Heizraum)     {km200="service:/notifications/error" }
    String        actBudErrorString        "Fehler: [%s]"                                         (KG_Heizraum)     {km200="service:/notifications/errorString" }

    Grüße und Danke

    Marco

    Zuletzt geändert von MarcoLanghans; 19.01.2017, 22:51.

    #2
    Hallo Marco,

    ich habe exakt das gleiche Problem. In meiner alten Openhab 1 läuft es tadellos nur unter Openhab 2 nicht. Keine Fehlermeldung nix. Wäre super wenn jemand ne Antwort hätte.

    Gruß
    Marcel

    Kommentar


      #3
      Moin,

      selben Fehler habe ich hier auch gehabt. Nach irgendeinem Update ging es nicht mehr.

      Ursprünglich hatte ich nen halbes Jahr folgendes am Laufen:

      MySQL Datenbank
      mysgl Persistence (mysql.cfg)

      irgendwann ging es nicht mehr.

      Habe dann:

      MySQL aktualisiert - ohne Erfolg
      Neue MySQL Datenbank angelegt - ohne Erfolg
      Neuen Datenbank User + Rechte angelegt - ohne Erfolg
      auf jdbc Persistence gewechselt (jdbc.cfg) - kein Erfolg


      Bin jetzt auf influxdb + Grafana gewechselt. Das funktioniert ohne Probleme.

      Kommentar


        #4
        Ich denke ich habe nach jeder Menge verschwendete Stunden das Problem gefunden.

        Sobald ich in der jdbc.cfg den eigentlich optionalen Wert setze funktioniert alles

        tableNamePrefix=item

        Gruss
        Marcel

        Kommentar


          #5
          Autsch. Magst Du einen Eintrag in Github machen, damit sich der Entwickler das mal anschaut?

          Kommentar

          Lädt...
          X