diff --git a/siwatsystem/database.py b/siwatsystem/database.py index 6340986..5bcbf1d 100644 --- a/siwatsystem/database.py +++ b/siwatsystem/database.py @@ -80,37 +80,50 @@ class DatabaseManager: try: cur = self.connection.cursor() - # Build the UPDATE query dynamically + # Build the INSERT and UPDATE query dynamically + insert_placeholders = [] + insert_values = [key_value] # Start with key_value + set_clauses = [] - values = [] + update_values = [] for field, value in fields.items(): if value == "NOW()": + # Special handling for NOW() + insert_placeholders.append("NOW()") set_clauses.append(f"{field} = NOW()") else: + insert_placeholders.append("%s") + insert_values.append(value) set_clauses.append(f"{field} = %s") - values.append(value) + update_values.append(value) # Add schema prefix if table doesn't already have it full_table_name = table if '.' in table else f"gas_station_1.{table}" + # Build the complete query query = f""" INSERT INTO {full_table_name} ({key_field}, {', '.join(fields.keys())}) - VALUES (%s, {', '.join(['%s'] * len(fields))}) + VALUES (%s, {', '.join(insert_placeholders)}) ON CONFLICT ({key_field}) DO UPDATE SET {', '.join(set_clauses)} """ - # Add key_value to the beginning of values list - all_values = [key_value] + list(fields.values()) + values + # Combine values for the query: insert_values + update_values + all_values = insert_values + update_values + + logger.debug(f"SQL Query: {query}") + logger.debug(f"Values: {all_values}") cur.execute(query, all_values) self.connection.commit() cur.close() - logger.info(f"Updated {table} for {key_field}={key_value}") + logger.info(f"✅ Updated {table} for {key_field}={key_value} with fields: {fields}") return True except Exception as e: - logger.error(f"Failed to execute update on {table}: {e}") + logger.error(f"❌ Failed to execute update on {table}: {e}") + logger.debug(f"Query: {query if 'query' in locals() else 'Query not built'}") + logger.debug(f"Values: {all_values if 'all_values' in locals() else 'Values not prepared'}") if self.connection: self.connection.rollback() return False diff --git a/siwatsystem/pympta.py b/siwatsystem/pympta.py index 239af51..193d3a8 100644 --- a/siwatsystem/pympta.py +++ b/siwatsystem/pympta.py @@ -453,6 +453,7 @@ def execute_postgresql_update_combined(node, action, detection_result, branch_re key_value = key_value_template.format(**action_context) logger.info(f"Executing database update: table={table}, {key_field}={key_value}") + logger.debug(f"Available branch results: {list(branch_results.keys())}") # Process field mappings mapped_fields = {} @@ -461,26 +462,38 @@ def execute_postgresql_update_combined(node, action, detection_result, branch_re mapped_value = resolve_field_mapping(value_template, branch_results, action_context) if mapped_value is not None: mapped_fields[db_field] = mapped_value - logger.debug(f"Mapped field: {db_field} = {mapped_value}") + logger.info(f"Mapped field: {db_field} = {mapped_value}") else: logger.warning(f"Could not resolve field mapping for {db_field}: {value_template}") + logger.debug(f"Available branch results: {branch_results}") except Exception as e: logger.error(f"Error mapping field {db_field} with template '{value_template}': {e}") + import traceback + logger.debug(f"Field mapping error traceback: {traceback.format_exc()}") if not mapped_fields: logger.warning("No fields mapped successfully, skipping database update") + logger.debug(f"Branch results available: {branch_results}") + logger.debug(f"Field templates: {fields}") return + # Add updated_at field automatically + mapped_fields["updated_at"] = "NOW()" + # Execute the database update + logger.info(f"Attempting database update with fields: {mapped_fields}") success = node["db_manager"].execute_update(table, key_field, key_value, mapped_fields) if success: - logger.info(f"Successfully updated database: {table} with {len(mapped_fields)} fields") + logger.info(f"✅ Successfully updated database: {table} with {len(mapped_fields)} fields") + logger.info(f"Updated fields: {mapped_fields}") else: - logger.error(f"Failed to update database: {table}") + logger.error(f"❌ Failed to update database: {table}") + logger.error(f"Attempted update with: {key_field}={key_value}, fields={mapped_fields}") except KeyError as e: logger.error(f"Missing required field in postgresql_update_combined action: {e}") + logger.debug(f"Action config: {action}") except Exception as e: logger.error(f"Error in postgresql_update_combined action: {e}") import traceback @@ -489,28 +502,68 @@ def execute_postgresql_update_combined(node, action, detection_result, branch_re def resolve_field_mapping(value_template, branch_results, action_context): """Resolve field mapping templates like {car_brand_cls_v1.brand}.""" try: + logger.debug(f"Resolving field mapping: '{value_template}'") + logger.debug(f"Available branch results: {list(branch_results.keys())}") + # Handle simple context variables first (non-branch references) if not '.' in value_template: - return value_template.format(**action_context) + result = value_template.format(**action_context) + logger.debug(f"Simple template resolved: '{value_template}' -> '{result}'") + return result # Handle branch result references like {model_id.field} import re branch_refs = re.findall(r'\{([^}]+\.[^}]+)\}', value_template) + logger.debug(f"Found branch references: {branch_refs}") resolved_template = value_template for ref in branch_refs: try: model_id, field_name = ref.split('.', 1) + logger.debug(f"Processing branch reference: model_id='{model_id}', field_name='{field_name}'") if model_id in branch_results: branch_data = branch_results[model_id] + logger.debug(f"Branch '{model_id}' data: {branch_data}") + if field_name in branch_data: field_value = branch_data[field_name] resolved_template = resolved_template.replace(f'{{{ref}}}', str(field_value)) - logger.debug(f"Resolved {ref} to {field_value}") + logger.info(f"✅ Resolved {ref} to '{field_value}'") else: - logger.warning(f"Field '{field_name}' not found in branch '{model_id}' results. Available fields: {list(branch_data.keys())}") - return None + logger.warning(f"Field '{field_name}' not found in branch '{model_id}' results.") + logger.debug(f"Available fields in '{model_id}': {list(branch_data.keys())}") + + # Try alternative field names based on the class result and model type + if isinstance(branch_data, dict): + fallback_value = None + + # First, try the exact field name + if field_name in branch_data: + fallback_value = branch_data[field_name] + # Then try 'class' field as fallback + elif 'class' in branch_data: + fallback_value = branch_data['class'] + logger.info(f"Using 'class' field as fallback for '{field_name}': '{fallback_value}'") + # For brand models, also check if the class name exists as a key + elif field_name == 'brand' and branch_data.get('class') in branch_data: + fallback_value = branch_data[branch_data['class']] + logger.info(f"Found brand value using class name as key: '{fallback_value}'") + # For body_type models, also check if the class name exists as a key + elif field_name == 'body_type' and branch_data.get('class') in branch_data: + fallback_value = branch_data[branch_data['class']] + logger.info(f"Found body_type value using class name as key: '{fallback_value}'") + + if fallback_value is not None: + resolved_template = resolved_template.replace(f'{{{ref}}}', str(fallback_value)) + logger.info(f"✅ Resolved {ref} to '{fallback_value}' (using fallback)") + else: + logger.error(f"No suitable field found for '{field_name}' in branch '{model_id}'") + logger.debug(f"Branch data structure: {branch_data}") + return None + else: + logger.error(f"Branch data for '{model_id}' is not a dictionary: {type(branch_data)}") + return None else: logger.warning(f"Branch '{model_id}' not found in results. Available branches: {list(branch_results.keys())}") return None @@ -521,6 +574,7 @@ def resolve_field_mapping(value_template, branch_results, action_context): # Format any remaining simple variables try: final_value = resolved_template.format(**action_context) + logger.debug(f"Final resolved value: '{final_value}'") return final_value except KeyError as e: logger.warning(f"Could not resolve context variable in template: {e}") @@ -528,6 +582,8 @@ def resolve_field_mapping(value_template, branch_results, action_context): except Exception as e: logger.error(f"Error resolving field mapping '{value_template}': {e}") + import traceback + logger.debug(f"Field mapping error traceback: {traceback.format_exc()}") return None def run_detection_with_tracking(frame, node, context=None): @@ -1720,6 +1776,12 @@ def run_pipeline(frame, node: dict, return_bbox: bool=False, context=None): if result: branch_results[br["modelId"]] = result logger.info(f"Branch {br['modelId']} completed: {result}") + + # Collect nested branch results if they exist + if "branch_results" in result: + for nested_id, nested_result in result["branch_results"].items(): + branch_results[nested_id] = nested_result + logger.info(f"Collected nested branch result: {nested_id} = {nested_result}") except Exception as e: logger.error(f"Branch {br['modelId']} failed: {e}") else: @@ -1760,6 +1822,12 @@ def run_pipeline(frame, node: dict, return_bbox: bool=False, context=None): if result: branch_results[br["modelId"]] = result logger.info(f"Branch {br['modelId']} completed: {result}") + + # Collect nested branch results if they exist + if "branch_results" in result: + for nested_id, nested_result in result["branch_results"].items(): + branch_results[nested_id] = nested_result + logger.info(f"Collected nested branch result: {nested_id} = {nested_result}") else: logger.warning(f"Branch {br['modelId']} returned no result") except Exception as e: diff --git a/websocket_comm.log b/websocket_comm.log index a456d48..c88a22e 100644 --- a/websocket_comm.log +++ b/websocket_comm.log @@ -2488,3 +2488,156 @@ 2025-08-29 00:24:02,780 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:24:02Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} 2025-08-29 00:24:04,768 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:24:04Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} 2025-08-29 00:24:06,853 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:24:06Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:44:50,080 [INFO] WebSocket communication logging started - TX/RX format +2025-08-29 00:45:37,006 [INFO] RX <- {"type":"subscribe","payload":{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"","modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174536Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d7385afdfb83034afac9b33df61c4e5835521f8a0217494e233233044e1cb8b0","modelName":"bangchak_poc","modelId":21}} +2025-08-29 00:45:50,496 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174550Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=fb48a037b732f2aab4f079dd8281842138f8080ec1f1eef09c74eb1dab7edbef","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:45:50,499 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:50Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:45:51,613 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:51Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:45:52,837 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:52Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:45:54,867 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:54Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:45:56,889 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:56Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:45:58,913 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:45:58Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:01,049 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:01Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:03,048 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:03Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:05,037 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:05Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:07,073 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:07Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:09,206 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:09Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:11,136 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:11Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:13,178 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:13Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:15,162 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:15Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:17,187 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:17Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:19,279 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:19Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:20,499 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174620Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=a7413f35ff1c956c3d33850934f51d07e4c64a4269241510ccd1a6071c1d34d0","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:46:21,349 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:21Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:23,367 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:23Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:24,843 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:24Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:26,896 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:26Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:28,985 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:28Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:30,916 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:30Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:32,970 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:32Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:34,978 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:34Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:37,039 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:37Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:39,119 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:39Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:41,170 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:41Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:43,168 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:43Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:45,367 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:45Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:47,213 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:47Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:49,258 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:49Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:50,499 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174650Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=a5e22283c1c2ecf6bff3ab974e5e8c545ad09d4d27be2a1a7cc0339debc29476","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:46:51,411 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:51Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:53,328 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:53Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:55,358 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:55Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:57,399 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:57Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:46:59,393 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:46:59Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:01,429 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:01Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:03,506 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:03Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:05,059 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:05Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:07,535 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:07Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:09,025 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:09Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:11,528 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:11Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:13,567 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:13Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:15,122 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:15Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:17,137 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:17Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:19,093 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:19Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:20,501 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174720Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=92da330bc506689482d2eb95d3120884d2b5a6ccf927366d4d33fa42e0c146d0","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:47:21,159 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:21Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:23,238 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:23Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:25,219 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:25Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:27,191 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:27Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:29,342 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:29Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:31,343 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:31Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:33,295 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:33Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:35,311 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:35Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:37,352 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:37Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:39,350 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:39Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:41,349 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:41Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:43,364 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:43Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:45,394 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:45Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:47,418 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:47Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:49,460 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:49Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:50,502 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174750Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=aa58dfd8031b7b16f5f75e39649b40bff56005e7349653c1e83c57f67f477bce","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:47:51,493 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:51Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:53,577 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:53Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:55,604 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:55Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:57,658 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:57Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:47:59,606 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:47:59Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:01,609 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:01Z","data":{"detection":{},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:01,627 [INFO] RX <- {"type":"setSessionId","payload":{"displayIdentifier":"test2","sessionId":179}} +2025-08-29 00:48:04,696 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:04Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:05,335 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:05Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:07,399 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:07Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:09,355 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:09Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:11,406 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:11Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:13,353 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:13Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:16,126 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:16Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:18,180 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:18Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:20,122 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:20Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:20,504 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174820Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=90185d3c26db35e219b2c50f5d5d723cf29d2ffd5625441b55c1fafe5786c2b3","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:48:22,060 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:22Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:23,985 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:23Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:25,745 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:25Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:27,816 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:27Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:29,791 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:29Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:31,698 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:31Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:33,826 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:33Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:35,764 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:35Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:37,792 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:37Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:39,886 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:39Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:41,898 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:41Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:43,428 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:43Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:45,506 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:45Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:47,490 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:47Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:49,455 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:49Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:50,505 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T174850Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=154604ec766d1712a5cb11ee62821e6d72ed139ff35e3c354e22efa228f20d85","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:48:51,601 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:51Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:53,573 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:53Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:55,575 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:55Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:57,600 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:57Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:48:59,698 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:48:59Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:01,637 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:01Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:03,663 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:03Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:05,709 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:05Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:07,782 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:07Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:09,743 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:09Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:49:11,778 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:49:11Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:55:30,339 [INFO] WebSocket communication logging started - TX/RX format +2025-08-29 00:55:45,033 [INFO] RX <- {"type":"subscribe","payload":{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"","modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T175544Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=a74801e0787ca9cbe870feb9e00c7893e00a49c7c2bf5afef41fa0d78ec53d6b","modelName":"bangchak_poc","modelId":21}} +2025-08-29 00:55:52,252 [INFO] RX <- {"type":"setSessionId","payload":{"displayIdentifier":"test2","sessionId":179}} +2025-08-29 00:55:52,259 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T175550Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=08671b3a25d767b5d533529854f4e6ff67196bcaf623d58cfe45804964287ec3","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:55:52,268 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:55:52Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:55:52,320 [INFO] RX <- {"type":"setSessionId","payload":{"displayIdentifier":"test2","sessionId":null}} +2025-08-29 00:55:53,749 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:55:53Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:55:55,021 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:55:55Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:55:57,007 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:55:57Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:55:59,111 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:55:59Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:01,196 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:01Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:03,046 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:03Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:04,945 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:04Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:06,974 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:06Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:08,996 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:08Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:11,064 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:11Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:13,073 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:13Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:15,108 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:15Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:17,035 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:17Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:18,570 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:18Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:20,640 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:20Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:20,642 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T175620Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=5c9e84b73a2b9819f0f83137a231f6c2406492801a76810fccb519d0f3fb2c60","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:56:22,666 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:22Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:24,607 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:24Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:26,711 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:26Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:28,699 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:28Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:30,802 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:30Z","data":{"detection":null,"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:32,735 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:32Z","data":{"detection":{},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:32,752 [INFO] RX <- {"type":"setSessionId","payload":{"displayIdentifier":"test2","sessionId":180}} +2025-08-29 00:56:35,903 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:35Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:37,166 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:37Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:39,095 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:39Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:41,102 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:41Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:43,235 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:43Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:45,152 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:45Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:47,227 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:47Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:49,311 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:49Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:50,528 [INFO] RX <- {"type":"setSubscriptionList","subscriptions":[{"subscriptionIdentifier":"test2;webcam-local-01","rtspUrl":"rtsp://10.101.1.4:8554/stream","snapshotUrl":"http://10.101.1.4:8080/snapshot","snapshotInterval":2000,"modelUrl":"https://s3.adsist.net/adsist-cms-staging/models/bangchak_poc-1756312318569.mpta?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=cms-1752937116-2480%2F20250828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250828T175650Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0f91872dad6282008235cdad0acd556eb785939cbf859895bbac9d4cada7f785","modelId":21,"modelName":"bangchak_poc"}]} +2025-08-29 00:56:51,499 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:51Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:53,072 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:53Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}} +2025-08-29 00:56:55,677 [INFO] TX -> {"type":"imageDetection","subscriptionIdentifier":"test2;webcam-local-01","timestamp":"2025-08-28T17:56:55Z","data":{"detection":{"carModel":null,"carBrand":"Toyota","carYear":null,"bodyType":"Pickup","licensePlateText":null,"licensePlateConfidence":null},"modelId":21,"modelName":"bangchak_poc"}}