JDBC Persistence: PostgreSQL driver versions

Hi,

the docs of the JDBC persistence service states, that 9.4.1209.jre7 ist the recommended driver version for PostgreSQL.

As I am considering upgrating to PostgreSQL 11 and the recommended driver is 3 years old, I am woundering if I should use a newer driver.

With my old installation I already tried one of the 42.2.x drivers and it seemed to work fine, but that was no comprehensive test.

Thanks for your help!

Juelicher

I’d say try it out and let us know if it works. The big issue I can think of is the fact that OH is running on Java 8 and newer drivers may require a newer version of Java to run.

I just upgraded to Debian 10 and postgresql 11. The recommended driver seems to work with this setup (openhab 2.5M2), at least openhab is writing values into the database.

I used one of the newer drivers for several weeks with postgresql 9.6 and openhab 2.4 (probably older versions to). This was working fine. I will try the newer driver with the current versions as soon as I have some time to try it out properly.

openhab:~$ cat /var/lib/openhab/etc/version.properties 
openHAB Distribution Version Information
----------------------------------------
build-no        : Release Build
online-repo     : https://openhab.jfrog.io/openhab/libs-release

Repository        Version
----------------------------------------
openhab-distro  : 3.0.1
openhab-core    : 3.0.1
openhab-addons  : 3.0.1
karaf           : 4.2.7

openhab:~$ java --version
openjdk 11.0.10 2021-01-19 LTS
OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.10+9-LTS, mixed mode)

with PostgreSQL version:
PostgreSQL 11.11 (Ubuntu 11.11-1.pgdg20.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 64-bit

openHAB is using these bundles:
openhab> bundle:list
START LEVEL 100 , List Threshold: 50
 ID β”‚ State  β”‚ Lvl β”‚ Version                 β”‚ Name
────┼────────┼─────┼─────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
208 β”‚ Active β”‚  80 β”‚ 9.4.1212                β”‚ PostgreSQL JDBC Driver JDBC42
262 β”‚ Active β”‚  80 β”‚ 3.0.1                   β”‚ openHAB Add-ons :: Bundles :: Persistence Service :: JDBC

I’m just getting daily disconnects. If I restart openHAB, then it reconnects and continues to update items within the database, but I had a strong preference not to restart openHAB everyday. I have a slight preference to use a newer PostgeSQL DB than version 9.x

I’ve tried the newest (42.2.19) JAR files. from here:
https://jdbc.postgresql.org/download.html

(I don’t recall the exact problem, but I reverted to the default JDBC bundled driver)

And read this article here:

Can anyone advise me on next steps for troubleshooting the connection stability? I’m a relatively new openHAB user and not a database expert at all!

Thanks!

SixO

Hi @sixo,

At some point in time it is good to upgrade outdated dependencies thus it might make sense to dig deeper into this. First of all I recommend you to enable DEBUG or TRACE logging for org.openhab.persistence.jdbc. this way we might see what is going on when using the new PostgreSQL driver.

Thanks. I’ve enabled logging (it sure is verbose), and I think I have β€œcaptured” one incident. I’ll try to get around to reviewing that log this week.

So, I did get a chance to take a quick look at the logs. It looks like items in openhab are continuously sending value updates to the database up until they are not. The database is not throwing any errors that are abundantly obvious.

I assumed a database problem because of this image:

The critical points here are that nothing remarkable happened at or shortly after 16:00, however, I did restart openhab shortly after 20:00.

This looks β€œnormal” to me (yes, yes, my regex skills stink):

openhab:/var/log/openhab$ cat /var/log/openhab/openhab.log.7 | grep DEBUG | grep "2021-04-09 16" | grep -E '(Ecobee_MasterBedroom_Temperature|item0019)'
2021-04-09 16:02:00.001 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.0 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:02:00.002 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:02:00.002 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:02:00.002 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.0 Β°F'
2021-04-09 16:02:00.002 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.0'
2021-04-09 16:02:00.005 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.0 Β°F' in SQL database at Fri Apr 09 16:02:00 EDT 2021 in 4 ms.
2021-04-09 16:07:15.647 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=70.9 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:07:15.647 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:07:15.647 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:07:15.647 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '70.9 Β°F'
2021-04-09 16:07:15.648 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='70.9'
2021-04-09 16:07:15.651 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '70.9 Β°F' in SQL database at Fri Apr 09 16:07:15 EDT 2021 in 4 ms.
2021-04-09 16:08:51.029 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=70.7 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:08:51.029 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:08:51.030 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:08:51.030 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '70.7 Β°F'
2021-04-09 16:08:51.030 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='70.7'
2021-04-09 16:08:51.032 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '70.7 Β°F' in SQL database at Fri Apr 09 16:08:51 EDT 2021 in 3 ms.
2021-04-09 16:12:00.630 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=70.9 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:12:00.630 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:12:00.630 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:12:00.630 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '70.9 Β°F'
2021-04-09 16:12:00.630 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='70.9'
2021-04-09 16:12:00.642 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '70.9 Β°F' in SQL database at Fri Apr 09 16:12:00 EDT 2021 in 12 ms.
2021-04-09 16:18:18.960 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.2 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:18:18.960 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:18:18.960 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:18:18.960 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.2 Β°F'
2021-04-09 16:18:18.960 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.2'
2021-04-09 16:18:18.964 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.2 Β°F' in SQL database at Fri Apr 09 16:18:18 EDT 2021 in 5 ms.
2021-04-09 16:21:28.648 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.6 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:21:28.649 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:21:28.649 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:21:28.649 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.6 Β°F'
2021-04-09 16:21:28.649 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.6'
2021-04-09 16:21:28.652 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.6 Β°F' in SQL database at Fri Apr 09 16:21:28 EDT 2021 in 4 ms.
2021-04-09 16:22:31.993 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.3 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:22:31.993 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:22:31.993 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:22:31.993 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.3 Β°F'
2021-04-09 16:22:31.994 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.3'
2021-04-09 16:22:31.997 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.3 Β°F' in SQL database at Fri Apr 09 16:22:31 EDT 2021 in 4 ms.
2021-04-09 16:24:38.153 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.6 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:24:38.153 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:24:38.154 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:24:38.154 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.6 Β°F'
2021-04-09 16:24:38.154 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.6'
2021-04-09 16:24:38.156 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.6 Β°F' in SQL database at Fri Apr 09 16:24:38 EDT 2021 in 3 ms.
2021-04-09 16:30:57.110 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.2 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:30:57.111 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:30:57.111 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:30:57.111 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.2 Β°F'
2021-04-09 16:30:57.111 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.2'
2021-04-09 16:30:57.114 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.2 Β°F' in SQL database at Fri Apr 09 16:30:57 EDT 2021 in 4 ms.
2021-04-09 16:37:16.325 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=70.9 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:37:16.325 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:37:16.325 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:37:16.325 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '70.9 Β°F'
2021-04-09 16:37:16.325 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='70.9'
2021-04-09 16:37:16.328 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '70.9 Β°F' in SQL database at Fri Apr 09 16:37:16 EDT 2021 in 3 ms.
2021-04-09 16:37:48.201 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=71.1 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:37:48.201 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:37:48.201 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:37:48.201 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '71.1 Β°F'
2021-04-09 16:37:48.201 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='71.1'
2021-04-09 16:37:48.204 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '71.1 Β°F' in SQL database at Fri Apr 09 16:37:48 EDT 2021 in 3 ms.
2021-04-09 16:42:00.350 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::storeItemValue: item=Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=70.9 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])
2021-04-09 16:42:00.350 [DEBUG] [penhab.persistence.jdbc.model.ItemVO] - JDBC:ItemVO tableName=item0019; newTableName=null; 
2021-04-09 16:42:00.350 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::getItemType: Try to use ItemType NUMBERITEM for Item Ecobee_MasterBedroom_Temperature
2021-04-09 16:42:00.350 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::storeItemValueProvider: item 'Ecobee_MasterBedroom_Temperature' as Type 'NUMBERITEM' in 'item0019' with state '70.9 Β°F'
2021-04-09 16:42:00.350 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doStoreItemValue sql=INSERT INTO item0019 (TIME, VALUE) VALUES( NOW(), CAST( ? as DOUBLE PRECISION) ) value='70.9'
2021-04-09 16:42:00.355 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC: Stored item 'Ecobee_MasterBedroom_Temperature' as '70.9 Β°F' in SQL database at Fri Apr 09 16:42:00 EDT 2021 in 5 ms.

I think this is the log that produced image/chart/screenshot above.

2021-04-09 23:32:28.399 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC::query: item is Ecobee_MasterBedroom_Temperature
2021-04-09 23:32:28.399 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::getHistItemFilterQuery filter='true' numberDecimalcount='3' table='item0019' item='Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=67.6 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])' itemName='Ecobee_MasterBedroom_Temperature'
2021-04-09 23:32:28.400 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::getHistItemFilterQueryProvider filter = org.openhab.core.persistence.FilterCriteria@4f6ce487, numberDecimalcount = 3, table = item0019, simpleName = Ecobee_MasterBedroom_Temperature
2021-04-09 23:32:28.400 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::query queryString = SELECT time, value FROM item0019 WHERE TIME<'2021-04-09 11:32:28' ORDER BY time DESC OFFSET 0 LIMIT 1
2021-04-09 23:32:28.400 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doGetHistItemFilterQuery sql=SELECT time, value FROM item0019 WHERE TIME<'2021-04-09 11:32:28' ORDER BY time DESC OFFSET 0 LIMIT 1
2021-04-09 23:32:28.402 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.402 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC::query: query for Ecobee_MasterBedroom_Temperature returned 1 rows in 3 ms
2021-04-09 23:32:28.402 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC::query: item is Ecobee_MasterBedroom_Temperature
2021-04-09 23:32:28.403 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::getHistItemFilterQuery filter='true' numberDecimalcount='3' table='item0019' item='Ecobee_MasterBedroom_Temperature (Type=NumberItem, State=67.6 Β°F, Label=Temperature, Category=Temperature, Groups=[gRemoteSensors, F2_MasterBedroom, gF2_MasterBedroom_HVAC])' itemName='Ecobee_MasterBedroom_Temperature'
2021-04-09 23:32:28.403 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::getHistItemFilterQueryProvider filter = org.openhab.core.persistence.FilterCriteria@4f6ce487, numberDecimalcount = 3, table = item0019, simpleName = Ecobee_MasterBedroom_Temperature
2021-04-09 23:32:28.403 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::query queryString = SELECT time, value FROM item0019 WHERE TIME>'2021-04-09 11:32:28' AND TIME<'2021-04-09 23:32:28' ORDER BY time ASC
2021-04-09 23:32:28.403 [DEBUG] [ersistence.jdbc.db.JdbcPostgresqlDAO] - JDBC::doGetHistItemFilterQuery sql=SELECT time, value FROM item0019 WHERE TIME>'2021-04-09 11:32:28' AND TIME<'2021-04-09 23:32:28' ORDER BY time ASC
2021-04-09 23:32:28.406 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.407 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.407 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.407 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.407 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.407 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.408 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.408 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.408 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.408 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.408 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.409 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.410 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.411 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.412 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.413 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.414 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.415 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '72.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.416 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.417 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '71.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '70.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.418 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.419 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.420 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.9', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.421 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.422 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.423 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.5', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.424 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.425 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.425 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.7', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.425 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.425 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.0', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.425 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.3', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.1', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '68.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.2', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.4', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.426 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.427 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.8', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.427 [DEBUG] [nhab.persistence.jdbc.db.JdbcBaseDAO] - JDBC::ItemResultHandler::handleResult getState value = '67.6', getClass = 'class java.lang.Double', clazz = 'Double'
2021-04-09 23:32:28.427 [DEBUG] [jdbc.internal.JdbcPersistenceService] - JDBC::query: query for Ecobee_MasterBedroom_Temperature returned 125 rows in 24 ms

There are no entries for the item after 16:42 until the restart around 20:12. Perhaps this is an error with the Ecobee sensors reporting in… I’ll chart some other sensors.

SixO

1 Like

@sixo Do are you planning to update the version in openHAB add-ons repository to be available for others too?

I have no idea how to do that. :slight_smile:

I run into a similar issue with outdated postgresql jar version. Postgresql moved password hashes from MD5 to SCRAM with version 10. Currently version 14 is stable. Hardening of postgresql recommends to move away from MD5.

As a result: Openhab Persistence is not usable with PostgreSQL any longer as the 9.4 driver does not support the new password scheme.

Is in JDBC Persistance a configuration option available to refere to driver… it seems that this is fix and newer drivers were not used.

May I ask how you know that the change in the password schema is the root cause ?
Doesn’t the client ( OH ) store the password in clear text and also send it in clear text to the database ?
I did not find any usage of md5 in the postgresql persistence JDBC driver. So in case the password would be send over in a hashed way then it seems to be done by the driver.
The driver that is used by the binding is called via class name ( org.postgresql.Driver ).
Page JDBC - Persistence Services | openHAB lists the supported drivers.
I would try to replace the listed postgresql one with the one you need to use and check if that works.

I would assume, that only hashed paswords are send to the server.

You could check, which authentication method is configured in pg_hba.cfg, according to the docs md5 is still supported: https://www.postgresql.org/docs/14/auth-pg-hba-conf.html

Where the file is located depends on your installation.

the client must support the scram method to connect. 9.4 does not support it.
i could not replace the driver. if you give me detailed instruction how to replace the driver i will try to do so. simply adding it to addons directory does not work.

Where is the 9.4 driver file located ?
I checked a bit further and the file org.openhab.addons.bundles/org.openhab.persistence.jdbc/pom.xml indeed lists a specific version:

 <!-- JDBC database driver versions -->
    <postgresql.version>9.4.1212</postgresql.version>

Once the postgresql jdbc interface is installed it also gets the postgresql driver and puts it to /var/lib/openhab/tmp/kar/openhab-addons-3.1.0/org/postgresql/postgresql/9.4.1212/postgresql-9.4.1212.jar

Thx for your answer - but what shall I do? I use OH2.5 and pom.xml is not there.
Do I have to install OH3, copy the postgresql…jar file to the addons directory and the update the pom.xml file to reflect the exact version of the postgres…jar file?
Will this work or is this just an idea what could possibly be a solution?

I don’t know if there is a check that compares the jar file’s version ( content of jar file ) against the expected version. If you take actions to prevent data loss you may try that.