@startuml REQ-PROD-001 Device Environmental Monitoring
autonumber
skinparam maxMessageSize 200
skinparam responseMessageBelowArrow true

box "System" #LightBlue
  participant "Sensor Driver" as Sensor_Driver
  participant "Controller" as Controller
end box

header
  **REQ-PROD-001: Device Environmental Monitoring**
  //Description:// The system shall continuously monitor temperature and\nhumidity and report to cloud.
  //Acceptance Criteria:// Sensor readings aggregated and transmitted. Cloud receives\ntelemetry within reporting interval.
end header


== Sensor_ReadTemperature() ==
Sensor_Driver --> Controller: EVENT_SENSOR_DATA_READY\nSensor_ReadTemperature() -> Controller_OnSensorData()
note right of Controller: Threshold Check
alt sensor_value > threshold
Controller --> Controller: EVENT_CONTROL_ACTION\nController_OnSensorData() -> Controller_ReportStatus()
end alt
== Sensor_ReadHumidity() ==
Sensor_Driver --> Controller: EVENT_SENSOR_DATA_READY\nSensor_ReadHumidity() -> Controller_OnSensorData()

@enduml