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.
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
Definition in der mysql.persist
Definition der Items
Grüße und Danke
Marco
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)
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
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
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


Kommentar