tcgoetz / GarminDB

Download and parse data from Garmin Connect or a Garmin watch, FitBit CSV, and MS Health CSV files into and analyze data in Sqlite serverless databases with Jupyter notebooks.
GNU General Public License v2.0
1.11k stars 137 forks source link

input Error during make create_dbs #48

Closed EmptySoft closed 4 years ago

EmptySoft commented 4 years ago

Hi.!

Devices: Garmin Fexi3HR, Garmin HRM4

(builtins.LookupError) "164" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_0', 'manufacturer': 164, 'serial_number': '3923282663000003', 'timestamp': datetime.datetime(2017, 2, 27, 16, 19, 47), 'devices_serial_number': 3923282663000003}]]

witch aditional info do you need for debugging?

How can i findout, with file produces this error?

bugreport.txt

tcgoetz commented 4 years ago

There should be a log file: garmin.log.

We know that we're looking for either a file that parses incorrectly or a file with a manufacturer with Fit id 164 which si currently undocumented.

In garmin.log we're looking for more logging to go with the error which should point to the actual file. If it's not obvious what the error is, the attaching the whole garmin.log would be good.

tcgoetz commented 4 years ago

When you ran bugreport.sh, did it generate a bugreport.zip?

EmptySoft commented 4 years ago

Hi Tom.! bugreport was added in the first post. I create it manually.

garmin.log

Thanks a lot, Harald

tcgoetz commented 4 years ago

Looks like the device in question is an accelerometer that is a sensor on another device, most likely your 3HR.

I don't see a matching error in garmin.log, but that data should be from a device_info message from an activity file. I see from the log that you have a activity id 1684061267. Can you share 1684061267.fit from ~/HealthData/FitFiles/Activities with me?

EmptySoft commented 4 years ago

here is the fit file

1684061267.fit.gz

tcgoetz commented 4 years ago

That file parses fine for me. Was there more information logged to the screen around the error?

EmptySoft commented 4 years ago

I hope, it was the same run ....


0% (5 of 1000) | | Elapsed Time: 0:00:04 ETA: 0:17:21 Traceback (most recent call last): File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1479, in _db_value_for_elem return self._valid_lookup[elem] KeyError: 164

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1173, in _execute_context context = constructor(dialect, self, conn, *args) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 799, in _init_compiled param.append(processorskey) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1584, in process value = self._db_value_for_elem(value) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1495, in _db_value_for_elem '"%s" is not among the defined enum values' % elem LookupError: "164" is not among the defined enum values

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "garmin.py", line 387, in main(sys.argv[1:]) File "garmin.py", line 377, in main import_data(debug, latest, weight, monitoring, sleep, rhr, activities, test) File "garmin.py", line 218, in import_data gfd.process_files(db_params_dict) File "/home/harald/GarminDB/fit_data.py", line 54, in process_files fp.write_file(fit_file) File "/home/harald/GarminDB/fit_file_processor.py", line 83, in write_file self.write_message_types(fit_file, fit_file.message_types()) File "/home/harald/GarminDB/fit_file_processor.py", line 68, in write_message_types self.write_message_type(fit_file, message_type) File "/home/harald/GarminDB/fit_file_processor.py", line 57, in write_message_type function(fit_file, message_type, messages) File "/home/harald/GarminDB/fit_file_processor.py", line 46, in write_generic function(fit_file, message_dict) File "/home/harald/GarminDB/fit_file_processor.py", line 489, in _write_device_info_entry 'file_id' : GarminDB.File.s_get_id(self.garmin_db_session, fit_file.filename), File "/home/harald/GarminDB/GarminDB/garmin_db.py", line 165, in s_get_id return cls.s_find_id(session, {'name' : os.path.basename(pathname)}) File "/home/harald/GarminDB/utilities/db.py", line 289, in s_find_id return cls.s_find_one(session, values_dict).id File "/home/harald/GarminDB/utilities/db.py", line 278, in s_find_one return query.one_or_none() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3294, in one_or_none ret = list(self) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3366, in iter self.session._autoflush() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1597, in _autoflush util.raise_from_cause(e) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 153, in reraise raise value File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1586, in _autoflush self.flush() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2479, in flush self._flush(objects) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2617, in _flush transaction.rollback(_capture_exception=True) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit__ compat.reraise(exc_type, exc_value, exc_tb) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 153, in reraise raise value File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2577, in _flush flush_context.execute() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute rec.execute(self) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 589, in execute uow, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 236, in save_obj update, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 996, in _emit_update_statements statement, multiparams File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 982, in execute return meth(self, multiparams, params) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1101, in _execute_clauseelement distilled_params, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1176, in _execute_context e, util.text_type(statement), parameters, None, None File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1476, in _handle_dbapi_exception util.raise_from_cause(sqlalchemy_exception, exc_info) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 152, in reraise raise value.with_traceback(tb) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1173, in _execute_context context = constructor(dialect, self, conn, *args) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 799, in _init_compiled param.append(processorskey) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1584, in process value = self._db_value_for_elem(value) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1495, in _db_value_for_elem '"%s" is not among the defined enum values' % elem sqlalchemy.exc.StatementError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "164" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2017, 2, 27, 16, 19, 47), 'manufacturer': 164, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_0', 'devices_serial_number': 3923282663000003}]] 100% (1000 of 1000) |####################| Elapsed Time: 0:00:04 Time: 0:00:04 Command exited with non-zero status 1

tcgoetz commented 4 years ago

Not sure what your tech skills are, but would you be willing to try the develop branch? You would have to rebuild your database (make rebuild_dbs) since the database format has changed.

The develop branch is more up-to-date and I can add logging directly for this issue. If you do try it, please share the error from the screen and garmin.log again.

EmptySoft commented 4 years ago

OK, i will try it

tcgoetz commented 4 years ago

git checkout develop followed by make update to get on the develop branch, then make rebuild_dbs to rebuild the database.

EmptySoft commented 4 years ago

Thanks (i was to fast and make a new install). Switches to develop.


Processing FileType.activity FIT data from /home/harald/HealthData/FitFiles/Activities 31%|█████████████████████████████████████████████▉ | 31/100 [00:46<01:48, 1.58s/files]Traceback (most recent call last): File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1479, in _db_value_for_elem return self._valid_lookup[elem] KeyError: 680

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1173, in _execute_context context = constructor(dialect, self, conn, *args) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 799, in _init_compiled param.append(processorskey) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1584, in process value = self._db_value_for_elem(value) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1495, in _db_value_for_elem '"%s" is not among the defined enum values' % elem LookupError: "680" is not among the defined enum values

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "garmin.py", line 384, in main(sys.argv[1:]) File "garmin.py", line 374, in main import_data(debug, latest, weight, monitoring, sleep, rhr, activities, test) File "garmin.py", line 213, in import_data gfd.process_files(db_params_dict) File "/home/harald/GarminDB/fit_data.py", line 54, in process_files fp.write_file(fit_file) File "/home/harald/GarminDB/fit_file_processor.py", line 95, in write_file self.__write_message_types(fit_file, fit_file.message_types) File "/home/harald/GarminDB/fit_file_processor.py", line 86, in write_message_types self.write_message_type(fit_file, message_type) File "/home/harald/GarminDB/fit_file_processor.py", line 74, in write_message_type function(fit_file, message_type, messages) File "/home/harald/GarminDB/fit_file_processor.py", line 45, in write_generic function(fit_file, message.fields) File "/home/harald/GarminDB/fit_file_processor.py", line 185, in _write_device_info_entry 'file_id' : GarminDB.File.s_get_id(self.garmin_db_session, fit_file.filename), File "/home/harald/GarminDB/GarminDB/garmin_db.py", line 164, in s_get_id return cls.s_find_id(session, {File.name : os.path.basename(pathname)}) File "/home/harald/GarminDB/utilities/db_object.py", line 205, in s_find_id return cls.s_find_match(session, match_dict).id File "/home/harald/GarminDB/utilities/db_object.py", line 200, in s_find_match return query.one_or_none() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3294, in one_or_none ret = list(self) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3366, in iter self.session._autoflush() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1597, in _autoflush util.raise_from_cause(e) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 153, in reraise raise value File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1586, in _autoflush self.flush() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2479, in flush self._flush(objects) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2617, in _flush transaction.rollback(_capture_exception=True) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit compat.reraise(exc_type, exc_value, exc_tb) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 153, in reraise raise value File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2577, in _flush flush_context.execute() File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute rec.execute(self) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 589, in execute uow, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 236, in save_obj update, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 996, in _emit_update_statements statement, multiparams File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 982, in execute return meth(self, multiparams, params) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 287, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1101, in _execute_clauseelement distilled_params, File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1176, in _execute_context e, util.text_type(statement), parameters, None, None File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1476, in _handle_dbapi_exception util.raise_from_cause(sqlalchemy_exception, exc_info) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 152, in reraise raise value.with_traceback(tb) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1173, in _execute_context context = constructor(dialect, self, conn, *args) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 799, in _init_compiled param.append(processorskey) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1584, in process value = self._db_value_for_elem(value) File "/home/harald/.local/lib/python3.6/site-packages/sqlalchemy/sql/sqltypes.py", line 1495, in _db_value_for_elem '"%s" is not among the defined enum values' % elem sqlalchemy.exc.StatementError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "680" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_8191', 'timestamp': datetime.datetime(2020, 1, 15, 13, 12, 9), 'manufacturer': 680, 'devices_serial_number': 3923282663000003}]] 31%|█████████████████████████████████████████████▉ | 31/100 [00:46<01:43, 1.50s/files] Command exited with non-zero status 1 /usr/bin/time make: *** [Makefile:121: garmin] Fehler 1

bugreport_1579447229.zip

garmin.log

tcgoetz commented 4 years ago

I added some logging and exception handling. Please run make update and try again.

EmptySoft commented 4 years ago

Hi.!

First, thank you so much for your great support.

Now it does not stop :)

--- Output ---- Failed to parse /home/harald/HealthData/FitFiles/Activities/4439955921.fit: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "680" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_8191', 'manufacturer': 680, 'timestamp': datetime.datetime(2020, 1, 15, 13, 12, 9), 'devices_serial_number': 3923282663000003}]]

tcgoetz commented 4 years ago

Now we know its 4439955921.fit that is the problem, can you share that file?

EmptySoft commented 4 years ago

4439955921.fit.gz

tcgoetz commented 4 years ago

I see a few sensors listed in that file that have unrecognized parts:Message:

This one, the manufacturer is recognized, but he product isn't. Do you know what this sensor is? Can you give me a link to it?

DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2020, 1, 15, 12, 55, 27, tzinfo=datetime.timezone.utc) (948027327)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.healthandlife: 257> (257)), product(<UnknownProduct.UnknownProduct_515: 515>), software_version('7.70' (770)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))])

This is the one that caused the error, both the manufacturer and product are not recognized:

Message: DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2020, 1, 15, 13, 12, 9, tzinfo=datetime.timezone.utc) (948028329)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(680), product(<UnknownProduct.UnknownProduct_8191: 8191>), software_version('583.55' (58355)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))])

Can you share activity_details_4439955921.json with me? It may have more information about the sensors.

EmptySoft commented 4 years ago

I have no spezial sensors, only the garmin fenix 3 hr and the Garmin HRM4

image

activity_details_4439955921.json.gz

tcgoetz commented 4 years ago

Final fix for the issue is in, but still only on the develop branch. I'm not sure when I will merge develop to master and make a new release. I still have some more improvements in mind.

If your happy with your current build, then I would update one more time to get the above fixes and then don't update until the next release when you can move back to the master branch. There will be interesting things on the develop branch, for instance, the develop branch has respiration rate and pulseox support, but the develop branch has no guarantees of stability.

EmptySoft commented 4 years ago

i stay on the develop branch. I made

there are some new Errors....


Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 2, 12, tzinfo=datetime.timezone.utc) (939906132)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(720), product(<UnknownProduct.UnknownProduct_49208: 49208>), software_version('143.38' (14338)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'manufacturer': 720, 'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 2, 12, tzinfo=datetime.timezone.utc) (939906132)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'manufacturer': 720, 'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a)

bugreport_1579467720.zip

tcgoetz commented 4 years ago

Above errors are fixed on develop branch, but other changes on the develop branch will require a database rebuild.

EmptySoft commented 4 years ago

Thanks, i will try it

EmptySoft commented 4 years ago

Sorry, some more Errors


Processing FileType.activity FIT data from /home/harald/HealthData/FitFiles/Activities 68%|████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 68/100 [01:46<00:55, 1.75s/files]Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 34, 9, tzinfo=datetime.timezone.utc) (939987249)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(727), product(<UnknownProduct.UnknownProduct_65434: 65434>), software_version('648.33' (64833)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 34, 9, tzinfo=datetime.timezone.utc) (939987249)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 48, 14, tzinfo=datetime.timezone.utc) (939988094)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type([invalid]), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 48, 14, tzinfo=datetime.timezone.utc) (939988094)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 48, 14, tzinfo=datetime.timezone.utc) (939988094)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.GPS_1620: 1620> (1620)), software_version('3.30' (330)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.gps: 0> (0)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 48, 14, tzinfo=datetime.timezone.utc) (939988094)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin_local: 0> (23252)), product(<GarminLocalProduct.Accelerometer_18: 18> (18)), software_version('0.00' (0)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 14, 11, 48, 14, tzinfo=datetime.timezone.utc) (939988094)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/harald/HealthData/FitFiles/Activities/4156624156.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "727" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 14, 11, 34, 9), 'manufacturer': 727, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65434', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) 76%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████▍ | 76/100 [02:01<00:51, 2.14s/files]Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 15, 5, 19, tzinfo=datetime.timezone.utc) (937148719)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(763), product(<UnknownProduct.UnknownProduct_65332: 65332>), software_version('648.85' (64885)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 15, 5, 19, tzinfo=datetime.timezone.utc) (937148719)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 19, 18, 14, tzinfo=datetime.timezone.utc) (937163894)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type([invalid]), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 19, 18, 14, tzinfo=datetime.timezone.utc) (937163894)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 19, 18, 14, tzinfo=datetime.timezone.utc) (937163894)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin_local: 0> (28888)), product(<GarminLocalProduct.Accelerometer_8194: 8194> (8194)), software_version('11.20' (1120)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 9, 11, 19, 18, 14, tzinfo=datetime.timezone.utc) (937163894)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/harald/HealthData/FitFiles/Activities/4048356316.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "763" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 9, 11, 15, 5, 19), 'manufacturer': 763, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_65332', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) 86%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 86/100 [02:20<00:32, 2.36s/files]Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 2, 12, tzinfo=datetime.timezone.utc) (939906132)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(720), product(<UnknownProduct.UnknownProduct_49208: 49208>), software_version('143.38' (14338)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 2, 12, tzinfo=datetime.timezone.utc) (939906132)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 9, 45, tzinfo=datetime.timezone.utc) (939906585)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type([invalid]), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 9, 45, tzinfo=datetime.timezone.utc) (939906585)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('5.40' (540)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 9, 45, tzinfo=datetime.timezone.utc) (939906585)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.GPS_1620: 1620> (1620)), software_version('3.30' (330)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.gps: 0> (0)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 9, 45, tzinfo=datetime.timezone.utc) (939906585)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Health_and_Life: 257> (257)), product(<HealthAndLifeProduct.Accelerometer_515: 515> (515)), software_version('7.70' (770)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2019, 10, 13, 13, 9, 45, tzinfo=datetime.timezone.utc) (939906585)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/harald/HealthData/FitFiles/Activities/4152978908.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "720" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'timestamp': datetime.datetime(2019, 10, 13, 13, 2, 12), 'manufacturer': 720, 'serial_number': '3923282663000003', 'product': 'UnknownProduct_49208', 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) 99%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▌ | 99/100 [02:45<00:02, 2.20s/files]Failed to parse /home/harald/HealthData/FitFiles/Activities/4439955921.fit.gz: [0, 3, 52, 52] < [46, 70, 73, 84] 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [02:45<00:00, 1.65s/files] Summary Table Generation Generating 2016 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 254/254 [01:00<00:00, 4.22days/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:01<00:00, 27.52weeks/s] 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:00<00:00, 12.40months/s] Generating 2017 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 365/365 [01:39<00:00, 3.67days/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:01<00:00, 28.03weeks/s] 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:01<00:00, 10.57months/s] Generating 2018 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 365/365 [01:38<00:00, 3.71days/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:01<00:00, 27.74weeks/s] 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:01<00:00, 11.94months/s] Generating 2019 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 365/365 [01:38<00:00, 3.72days/s] 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:01<00:00, 27.12weeks/s] 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:01<00:00, 11.19months/s] Generating 2020 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 20/20 [00:04<00:00, 4.06days/s] 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 52/52 [00:00<00:00, 458.30weeks/s] 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 14.42months/s] /usr/bin/time /usr/bin/python3 mshealth.py /usr/bin/python3 fitbit.py harald@kalymnos:~/GarminDB>

tcgoetz commented 4 years ago

Can you share /home/harald/HealthData/FitFiles/Activities/4152978908.fit with me? Thanks.

EmptySoft commented 4 years ago

4152978908.fit.gz

EmptySoft commented 4 years ago

Other question, i dont know it is because this error, but every time when i run make,

Processing FileType.monitoring_b FIT data from /home/harald/HealthData/FitFiles/Monitoring

the program run for all Files (> 10000 for me), so the make runs every time very long (more then 1 hour)

tcgoetz commented 4 years ago

Normally you don't do a make rebuild_dbs you just do a make. If you mean you run make and it does all files, then you files must all be recent. make uses the --latest switch which means only down the latest and only import the latest.

tcgoetz commented 4 years ago

I'm not able to duplicate those error with the latest code on the develop branch and a database rebuild.

EmptySoft commented 4 years ago

i know, that i mode no rebuild_dbs, i am only run make, as i write before, perhaps it is in case of the errors.

I installed new with

result: a lot of errormessages

--------------- (only the last messages) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 17, 53, 22, tzinfo=datetime.timezone.utc) (858621202)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(154), product(<UnknownProduct.UnknownProduct_901: 901>), software_version('81.91' (8191)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 17, 53, 22, tzinfo=datetime.timezone.utc) (858621202)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 21, 52, 31, tzinfo=datetime.timezone.utc) (858635551)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.20' (420)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type([invalid] (255)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 21, 52, 31, tzinfo=datetime.timezone.utc) (858635551)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.20' (420)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 21, 52, 31, tzinfo=datetime.timezone.utc) (858635551)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin_local: 0> (28504)), product(<GarminLocalProduct.Accelerometer_8194: 8194> (8194)), software_version('7.52' (752)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 3, 16, 21, 52, 31, tzinfo=datetime.timezone.utc) (858635551)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/hk/HealthData/FitFiles/Activities/1624424315.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "154" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'product': 'UnknownProduct_901', 'timestamp': datetime.datetime(2017, 3, 16, 17, 53, 22), 'serial_number': '3923282663000003', 'manufacturer': 154, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a)

tcgoetz commented 4 years ago

Can you share 1624424315.fit with me?

I'm adding the unknown manufacturers that I can identify and I'm trying to do something generic for any unknown manufacturers. The constraint I'm working against is that the manufacturer field in the database is a enum field and expects a fixed set of known values. I haven't come up with an elegant solution yet and my somewhat hacky solution didn't work for you.

EmptySoft commented 4 years ago

sorry for that :)

1624424315.fit.gz

tcgoetz commented 4 years ago

Could I get activity_details_1624424315.json? That file is the information from Garmin Connect on that activity and some times it gives more information about the sesnors

EmptySoft commented 4 years ago

activity_details_1624424315.json.gz

tcgoetz commented 4 years ago

It's interesting that your watch and heart rate band show these different sensors over time. I'm guessing that it has something to do with firmware updates.

Here's the sensors listing from the last fit file: sensors.fit.txt

and here is the sensors listing from the Garmin Connect JSON: sensors.json.txt

What I've done so far is that every manufacturer id above the normal range is a Garmin local device manufacturer id, but this last one, 154, is in the middle of the normal range, but it isn't and id that shows up in any sources I can find.

I'm going to explicitly label 154 a Garmin local device manufacture id for now. If a lot of other unknown manufacturer ids show up in the middle of the defined ones, I may need to try something else.

tcgoetz commented 4 years ago

Please update and do a database rebuild and let me know about any additional errors. Thanks!

EmptySoft commented 4 years ago

i have done:

git fetch make rebuild_dbs

--------------- last errormessages (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 4, 43, tzinfo=datetime.timezone.utc) (871722283)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.30' (430)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type([invalid] (255)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.30' (430)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.GPS_1620: 1620> (1620)), software_version('3.00' (300)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.gps: 0> (0)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin_local: 0> (28384)), product(<GarminLocalProduct.Accelerometer_8194: 8194> (8194)), software_version('13.92' (1392)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/hk/HealthData/FitFiles/Activities/1917698490.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (builtins.LookupError) "218" is not among the defined enum values [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: [{'serial_number': '3923282663000003', 'product': 'UnknownProduct_865', 'timestamp': datetime.datetime(2017, 8, 15, 8, 49, 14), 'manufacturer': 218, 'devices_serial_number': 3923282663000003}]] (Background on this error at: http://sqlalche.me/e/7s2a)

tcgoetz commented 4 years ago

git fetch make rebuild_dbs

You should do make update followed by make rebuild_dbs. git fetch only updates the main repo and not the sub-repos.

New commit for above errors.

EmptySoft commented 4 years ago

Hi.! Sorry, if i make an Error.

hk@kalymnos:~/GarminDB> make update git submodule init git submodule update git pull --rebase error: Pull mit Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind. error: Bitte committen Sie die Änderungen oder benutzen Sie "stash". make: *** [Makefile:44: update] Fehler 128


hk@kalymnos:~/GarminDB> make update git submodule init git submodule update git pull --rebase error: Pull mit Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt sind. error: Bitte committen Sie die Änderungen oder benutzen Sie "stash". make: *** [Makefile:44: update] Fehler 128


delete the hole Programm git clone -b develop https://github.com/tcgoetz/GarminDB.git make setup make create_dbs ------------ last errormessages [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 4, 43, tzinfo=datetime.timezone.utc) (871722283)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Health_and_Life: 257> (257)), product(<HealthAndLifeProduct.Accelerometer_515: 515> (515)), software_version('7.70' (770)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 4, 43, tzinfo=datetime.timezone.utc) (871722283)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number(3923282663), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.30' (430)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(0), device_type(<MainDeviceType.fitness_tracker: 0> (255)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.Fenix3_HR: 2413> (2413)), software_version('4.30' (430)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(1), device_type(<LocalDeviceType.barometer: 4> (4)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin: 1> (1)), product(<GarminProduct.GPS_1620: 1620> (1620)), software_version('3.00' (300)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(2), device_type(<LocalDeviceType.gps: 0> (0)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer(<Manufacturer.Garmin_local: 0> (28384)), product(<GarminLocalProduct.Accelerometer_8194: 8194> (8194)), software_version('13.92' (1392)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(3), device_type(<LocalDeviceType.accelerometer: 3> (3)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to write message <MessageType.device_info: 23> type DataMessage(<MessageType.device_info: 23>: [timestamp(datetime.datetime(2017, 8, 15, 9, 32, 30, tzinfo=datetime.timezone.utc) (871723950)), serial_number([invalid] (0)), cum_operating_time([invalid] (4294967295)), unknown_8([invalid] (4294967295)), ant_related([invalid] (4294967295)), unknown_16([invalid] (4294967295)), unknown_17([invalid] ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), manufacturer([invalid] (65535)), product([invalid] (65535)), software_version('2.74' (274)), battery_voltage([invalid] v (65535)), ant_device_number([invalid] (0)), device_index(4), device_type(<LocalDeviceType.wrist_heart_rate: 10> (10)), hardware_version([invalid] (255)), unknown_9([invalid] (255)), battery_status([invalid] (255)), ant_transmission_type([invalid] (0)), ant_network([invalid] (255)), unknown_23([invalid] (255)), source_type(<SourceType.local: 5> (5))]): This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a) Failed to parse /home/hk/HealthData/FitFiles/Activities/1917698490.fit: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) CHECK constraint failed: manufacturer [SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a)

tcgoetz commented 4 years ago

error: Pull mit Rebase nicht möglich: Sie haben Änderungen, die nicht zum Commit vorgemerkt

That happened because you had some changes in your sandbox. You can always reset your sandbox with git checkout -f

[SQL: UPDATE devices SET serial_number=?, timestamp=?, manufacturer=?, product=? WHERE devices.serial_number = ?] [parameters: ('3923282663000003', '2017-08-15 08:49:14.000000', 'Garmin_local_218', 'Accelerometer_865', 3923282663000003)] (Background on this error at: http://sqlalche.me/e/gkpj) (Background on this error at: http://sqlalche.me/e/7s2a)

This happened because when you deleted your sandbox and created a new one, you still had the same databases since they are stored elsewhere.

You need to do a make rebuild_dbs to recreate your databases since I added a new enum value to the manufacturer column: 'Garmin_local_218'.

EmptySoft commented 4 years ago

Hi Tom!

Thank you so much, now it works, without errormessages.

To the other question, on make (no update, no delete, ...) Processing FileType.monitoring_b FIT data from /home/hk/HealthData/FitFiles/Monitoring running every time on all Files (i have here more then 10000 Files, so it runs every time more then 1 hour)

tcgoetz commented 4 years ago

Let's try this:

  1. make update
  2. Change debug to info in the following lines of code in the utilities directory in your sandbox. First line Second line
  3. make
  4. Attach garmin.log to this issue.

That should give me a log of the code doing the selection of what files are new.

EmptySoft commented 4 years ago

garmin.log

tcgoetz commented 4 years ago

I saw some of the logs I expect, but not all. I see that monitoring is reprocessing all of the files each time. JSON files and FIT files. What should be happening, is that the code should be selecting only files that we created in the last day, but I see see it selecting a who years worth of files and the download section didn't download a years worth of files.

Since this work on my Mac and not on your Linux system. Maybe a difference in os.stat(file).st_ctime which gets the file creation time or maybe your system clock is UTC. If you do a ls -l /home/hk/HealthData/FitFiles/Monitoring/2019 what do the file create times look like? Are they more than one day old?

I've added more logging. Can you do git checkout -f in the utilities directory to get rid of the previous changes I asked you to do and then a make update and then a make and post the next garmin.log

tcgoetz commented 4 years ago

I might have found it. Per https://docs.python.org/2/library/os.html?highlight=os%20stat#os.stat

st_ctime - platform dependent; time of most recent metadata change on Unix, or the time of creation on Windows)

I'm trying st_mtime instead. Update as I described in my last comment. Hopefully it works now, if not please post a new garmin.log.

EmptySoft commented 4 years ago

Hi Tom!

First i have to say thank you. You give a very good support!

ls -l /home/hk/HealthData/FitFiles/Monitoring/2019-rw-r--r-- 1 hk users 2521 21. Jan 15:28 daily_summary_2019-01-01.json -rw-r--r-- 1 hk users 2519 21. Jan 15:28 daily_summary_2019-01-02.json -rw-r--r-- 1 hk users 2519 21. Jan 15:28 daily_summary_2019-01-03.json -rw-r--r-- 1 hk users 2521 21. Jan 15:28 daily_summary_2019-01-04.json -rw-r--r-- 1 hk users 2522 21. Jan 15:28 daily_summary_2019-01-05.json

-------------- update program

hk@kalymnos:~/GarminDB/utilities> git checkout -f
hk@kalymnos:~/GarminDB/utilities>

hk@kalymnos:~/GarminDB> git checkout -f
Ihr Branch ist auf demselben Stand wie 'origin/develop'.
hk@kalymnos:~/GarminDB>

hk@kalymnos:~/GarminDB> make update
git submodule init
git submodule update
git pull --rebase
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 3), reused 5 (delta 2), pack-reused 0
Entpacke Objekte: 100% (7/7), Fertig.
Von https://github.com/tcgoetz/GarminDB
   dfcbb31..dafe348  develop    -> origin/develop
 * [neues Tag]       v1.3.0     -> v1.3.0
Fetching submodule utilities
Von https://github.com/tcgoetz/utilities
   fae0333..229cb67  develop    -> origin/develop
Aktualisiere dfcbb31..dafe348
Fast-forward
 Makefile        | 2 +-
 utilities       | 2 +-
 version_info.py | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Aktueller Branch develop ist auf dem neuesten Stand.
hk@kalymnos:~/GarminDB>

garmin.log

BYe Harald

tcgoetz commented 4 years ago

Something strange is happening. I see from your update log that the utilities submodule is on commit 229cb67 which is correct, but the entries in the log look wrong:

INFO:utilities.db:GarminDB: <DbParams() {'db_type': 'sqlite', 'db_path': '/home/hk/HealthData/DBs'} debug: False INFO:utilities.db_object:Found get_col_name key for table Attributes INFO:utilities.db_object:Found time_col_name timestamp for table Attributes INFO:utilities.db_object:Found get_col_name serial_number for table Device INFO:utilities.db_object:Found time_col_name timestamp for table Device INFO:utilities.db_object:Found get_col_name timestamp for table DeviceInfo INFO:utilities.db_object:Found primary key time_col_name timestamp for table DeviceInfo INFO:utilities.db_object:Found get_col_name serial_number for table DeviceInfo

The lines that have "primary key" in them are the current code. The lines that have "get_col_name" are the old code. The two outputs come from the same line of code, just old and new. I wondering about code caching.

Please run make clean. You should see a bunch of files deleted including a section:

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C utilities clean rm -f *.pyc rm -rf pycache

If that works, then please rerun after that.

EmptySoft commented 4 years ago

Hi Tom!

I am a greazy beta tester :(

hk@kalymnos:~/GarminDB> make clean make -C Fit clean make[1]: Verzeichnis „/home/hk/GarminDB/Fit“ wird betreten make -C test clean make[2]: Verzeichnis „/home/hk/GarminDB/Fit/test“ wird betreten rm -f *.pyc rm -f *.log rm -f *.txt make[2]: Verzeichnis „/home/hk/GarminDB/Fit/test“ wird verlassen rm -f *.pyc make[1]: Verzeichnis „/home/hk/GarminDB/Fit“ wird verlassen make -C Tcx clean make[1]: Verzeichnis „/home/hk/GarminDB/Tcx“ wird betreten rm -f *.pyc rm -rf __pycache__ make[1]: Verzeichnis „/home/hk/GarminDB/Tcx“ wird verlassen make -C utilities clean make[1]: Verzeichnis „/home/hk/GarminDB/utilities“ wird betreten rm -f *.pyc rm -rf __pycache__ make[1]: Verzeichnis „/home/hk/GarminDB/utilities“ wird verlassen rm -f FitBitDB/*.pyc rm -rf FitBitDB/__pycache__ rm -f GarminDB/*.pyc rm -rf GarminDB/__pycache__ rm -f HealthDB/*.pyc rm -rf HealthDB/__pycache__ rm -f MSHealthDB/*.pyc rm -rf MSHealthDB/__pycache__ make -C test clean make[1]: Verzeichnis „/home/hk/GarminDB/test“ wird betreten rm -f *.pyc rm -f *.log rm -f *.txt rm -rf __pycache__ make[1]: Verzeichnis „/home/hk/GarminDB/test“ wird verlassen rm -f *.pyc rm -f *.log rm -rf dist rm -rf build rm -f *.spec rm -f *.zip rm -f *.png rm -rf __pycache__ hk@kalymnos:~/GarminDB>

hk@kalymnos:~/GarminDB/utilities> git checkout -f hk@kalymnos:~/GarminDB/utilities>

hk@kalymnos:~/GarminDB> git checkout -f Ihr Branch ist auf demselben Stand wie 'origin/develop'. hk@kalymnos:~/GarminDB>

hk@kalymnos:~/GarminDB> make update git submodule init git submodule update Submodul-Pfad: 'utilities': '229cb6778369a9a7c32ca52d86bb73ae0400dcde' ausgecheckt git pull --rebase remote: Enumerating objects: 2, done. remote: Counting objects: 100% (2/2), done. remote: Compressing objects: 100% (2/2), done. remote: Total 2 (delta 0), reused 1 (delta 0), pack-reused 0 Entpacke Objekte: 100% (2/2), Fertig. Von https://github.com/tcgoetz/GarminDB dafe348..2e4556d develop -> origin/develop Fetching submodule Fit Von https://github.com/tcgoetz/Fit ea1dc09..4618dde develop -> origin/develop Fetching submodule utilities Von https://github.com/tcgoetz/utilities 229cb67..5484504 develop -> origin/develop Aktualisiere dafe348..2e4556d Fast-forward Fit | 2 +- utilities | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Aktueller Branch develop ist auf dem neuesten Stand. hk@kalymnos:~/GarminDB

garmin.log

I think you have found a soultion, it runs fast and for the monitoring_b Fit Data, only 2 Files where procesed

Processing FileType.monitoring_b FIT data from /home/hk/HealthData/FitFiles/Monitoring 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 24/24 [00:07<00:00, 3.33files/s]

tcgoetz commented 4 years ago

That's great. I'm glad it's working. Thanks for helping me make better software.

By the way, I see in the log that it's downloading the same month of weight data every time it runs. I'm guessing that this is because you don't actually have any weight data. Is that true?

EmptySoft commented 4 years ago

Yes, that is correct. I have tried to set set weight date to a future date, no change

tcgoetz commented 4 years ago

GarminConnectConfig.json.example has a new section in it named "enabled_stats". Copy that section into your GarminConnectConfig.json and change true to false for any statistics (like weight) that you are not using.

EmptySoft commented 4 years ago

Hi Tom.!

Thanks a lot, great thing.

what is itime?

BYe Harald