├── .dockerignore ├── .env ├── .github └── workflows │ ├── build_and_test_python.yml │ ├── build_python_mqtt_dev_images.yml │ └── build_python_mqtt_images.yml ├── .gitignore ├── CHANGELOG.md ├── Dockerfile ├── LICENSE.txt ├── README.md ├── docker-compose.yml ├── examples ├── charging-stations.json ├── charging-stations.json.sample └── charging-stations.json.sample_openWB_2.0 ├── poetry.lock ├── poetry.toml ├── pyproject.toml ├── src ├── configuration │ ├── __init__.py │ ├── argparse_extensions.py │ └── parser.py ├── exceptions.py ├── handlers │ ├── __init__.py │ ├── message.py │ ├── relogin.py │ └── vehicle.py ├── integrations │ ├── __init__.py │ ├── abrp │ │ ├── __init__.py │ │ └── api.py │ ├── home_assistant │ │ ├── __init__.py │ │ └── discovery.py │ ├── openwb │ │ ├── __init__.py │ │ └── charging_station.py │ └── osmand │ │ ├── __init__.py │ │ └── api.py ├── log_config.py ├── main.py ├── mqtt_gateway.py ├── mqtt_topics.py ├── publisher │ ├── __init__.py │ ├── core.py │ ├── log_publisher.py │ └── mqtt_publisher.py ├── saic_api_listener.py ├── status_publisher │ ├── __init__.py │ ├── charge │ │ ├── __init__.py │ │ ├── chrg_mgmt_data.py │ │ ├── chrg_mgmt_data_resp.py │ │ └── rvs_charge_status.py │ ├── message.py │ ├── vehicle │ │ ├── __init__.py │ │ ├── basic_vehicle_status.py │ │ ├── gps_position.py │ │ └── vehicle_status_resp.py │ └── vehicle_info.py ├── utils.py ├── vehicle.py └── vehicle_info.py └── tests ├── __init__.py ├── common_mocks.py ├── mocks └── __init__.py ├── test_mqtt_publisher.py ├── test_utils.py ├── test_vehicle_handler.py └── test_vehicle_state.py /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.env -------------------------------------------------------------------------------- /.github/workflows/build_and_test_python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.github/workflows/build_and_test_python.yml -------------------------------------------------------------------------------- /.github/workflows/build_python_mqtt_dev_images.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.github/workflows/build_python_mqtt_dev_images.yml -------------------------------------------------------------------------------- /.github/workflows/build_python_mqtt_images.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.github/workflows/build_python_mqtt_images.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /examples/charging-stations.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /examples/charging-stations.json.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/examples/charging-stations.json.sample -------------------------------------------------------------------------------- /examples/charging-stations.json.sample_openWB_2.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/examples/charging-stations.json.sample_openWB_2.0 -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/poetry.lock -------------------------------------------------------------------------------- /poetry.toml: -------------------------------------------------------------------------------- 1 | [virtualenvs] 2 | in-project = true 3 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/configuration/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/configuration/__init__.py -------------------------------------------------------------------------------- /src/configuration/argparse_extensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/configuration/argparse_extensions.py -------------------------------------------------------------------------------- /src/configuration/parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/configuration/parser.py -------------------------------------------------------------------------------- /src/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/exceptions.py -------------------------------------------------------------------------------- /src/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/handlers/message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/handlers/message.py -------------------------------------------------------------------------------- /src/handlers/relogin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/handlers/relogin.py -------------------------------------------------------------------------------- /src/handlers/vehicle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/handlers/vehicle.py -------------------------------------------------------------------------------- /src/integrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/integrations/__init__.py -------------------------------------------------------------------------------- /src/integrations/abrp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/integrations/abrp/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/integrations/abrp/api.py -------------------------------------------------------------------------------- /src/integrations/home_assistant/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/integrations/home_assistant/discovery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/integrations/home_assistant/discovery.py -------------------------------------------------------------------------------- /src/integrations/openwb/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/integrations/openwb/charging_station.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/integrations/openwb/charging_station.py -------------------------------------------------------------------------------- /src/integrations/osmand/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/integrations/osmand/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/integrations/osmand/api.py -------------------------------------------------------------------------------- /src/log_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/log_config.py -------------------------------------------------------------------------------- /src/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/main.py -------------------------------------------------------------------------------- /src/mqtt_gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/mqtt_gateway.py -------------------------------------------------------------------------------- /src/mqtt_topics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/mqtt_topics.py -------------------------------------------------------------------------------- /src/publisher/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/publisher/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/publisher/core.py -------------------------------------------------------------------------------- /src/publisher/log_publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/publisher/log_publisher.py -------------------------------------------------------------------------------- /src/publisher/mqtt_publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/publisher/mqtt_publisher.py -------------------------------------------------------------------------------- /src/saic_api_listener.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/saic_api_listener.py -------------------------------------------------------------------------------- /src/status_publisher/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/__init__.py -------------------------------------------------------------------------------- /src/status_publisher/charge/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/status_publisher/charge/chrg_mgmt_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/charge/chrg_mgmt_data.py -------------------------------------------------------------------------------- /src/status_publisher/charge/chrg_mgmt_data_resp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/charge/chrg_mgmt_data_resp.py -------------------------------------------------------------------------------- /src/status_publisher/charge/rvs_charge_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/charge/rvs_charge_status.py -------------------------------------------------------------------------------- /src/status_publisher/message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/message.py -------------------------------------------------------------------------------- /src/status_publisher/vehicle/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/status_publisher/vehicle/basic_vehicle_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/vehicle/basic_vehicle_status.py -------------------------------------------------------------------------------- /src/status_publisher/vehicle/gps_position.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/vehicle/gps_position.py -------------------------------------------------------------------------------- /src/status_publisher/vehicle/vehicle_status_resp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/vehicle/vehicle_status_resp.py -------------------------------------------------------------------------------- /src/status_publisher/vehicle_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/status_publisher/vehicle_info.py -------------------------------------------------------------------------------- /src/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/utils.py -------------------------------------------------------------------------------- /src/vehicle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/vehicle.py -------------------------------------------------------------------------------- /src/vehicle_info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/src/vehicle_info.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/common_mocks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/common_mocks.py -------------------------------------------------------------------------------- /tests/mocks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/mocks/__init__.py -------------------------------------------------------------------------------- /tests/test_mqtt_publisher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/test_mqtt_publisher.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_vehicle_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/test_vehicle_handler.py -------------------------------------------------------------------------------- /tests/test_vehicle_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SAIC-iSmart-API/saic-python-mqtt-gateway/HEAD/tests/test_vehicle_state.py --------------------------------------------------------------------------------