diff options
author | James Simon <jamsimox@amazon.com> | 2023-09-22 09:45:27 -0400 |
---|---|---|
committer | James Simon <jamsimox@amazon.com> | 2023-09-22 09:45:27 -0400 |
commit | 766283068a39df9bd7dabf10c8c36f5a75d4335a (patch) | |
tree | 2a7e07becb75e71c48774fd686c8840df031f5b6 /build/resources/main/messages/VehicleRemoteHvac.proto | |
parent | 59f56720a88b9a8f638e4f0e6f1560cc575887df (diff) |
Signed-off-by: James Simon <jamsimox@amazon.com>
Change-Id: I9214b5eae0402e0de542227bda2aee2981c52eb5
Diffstat (limited to 'build/resources/main/messages/VehicleRemoteHvac.proto')
-rw-r--r-- | build/resources/main/messages/VehicleRemoteHvac.proto | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/build/resources/main/messages/VehicleRemoteHvac.proto b/build/resources/main/messages/VehicleRemoteHvac.proto new file mode 100644 index 0000000..38afaae --- /dev/null +++ b/build/resources/main/messages/VehicleRemoteHvac.proto @@ -0,0 +1,96 @@ +syntax = "proto3"; /** +* <h2>Cabin Preconditioning</h2> +* <p>This set of messages define how to acquire vehicle location, either on demand or by interval and events.</p> +* +* <h3>Message Orchestration</h3> +* <p>[TO-DO]</p> +* +* <h3>MQTT Topic Design</h3> +* <table> +* <thead> +* <tr> +* <th>Direction</th> +* <th>Subscribe Topic</th> +* <th>Publish Topic</th> +* </tr> +* </thead> +* <tbody> +* <tr> +* <td>Vehicle to Cloud</td> +* <td>cabin/#</td> +* <td>cabin/<device_id></td> +* </tr> +* <tr> +* <td>Cloud to Vehicle</td> +* <td><device_id>/cabin</td> +* <td><device_id>/cabin</td> +* </tr> +* </tbody> +* </table> +*/ +import "google/protobuf/timestamp.proto"; +package messages; +message CabinConditionStatusPublish { + + google.protobuf.Timestamp event_time = 1; // Time of the event + HVACState hvac_state = 2; // Current state of the HVAC + CabinTemperature cabin_temperature = 3; // Current cabin temperature +} + +message PreconditionRequest { + + repeated HVACZone hvac_zones = 1; // List of HVAC zones to precondition + // For scheduled preconditioning, set the start_time to the desired future time. + // For on-demand preconditioning, leave the start_time unset. + google.protobuf.Timestamp start_time = 2; +} + +message PreconditionResponse { + enum Status { + SUCCESS = 0; + FAILURE = 1; + PENDING = 2; + } + + Status status = 1; // Status of the precondition request + string message = 2; // Optional message +} + +message CabinTemperature { + Temperature temperature = 1; // Current cabin temperature + HVACZone zone = 2; // Zone of the reported temperature +} + + +message Temperature { + float value = 1; // Temperature value + string unit = 2; // Temperature unit (e.g., "Celsius", "Fahrenheit") +} + +message HVACZone { + enum Zone { + DRIVER = 0; + PASSENGER = 1; + REAR_LEFT = 2; + REAR_RIGHT = 3; + } + + Zone zone = 1; // HVAC Zone + Temperature target_temperature = 2; // Target temperature +} + + +message HVACState { + enum State { + OFF = 0; + HEATING = 1; + COOLING = 2; + IDLE = 3; + } + + State state = 1; // Current state of the HVAC + HVACZone current_zone = 2; // Current active zone +} + + + |