@startuml
actor User
participant  Robot
participant  OBDApi
participant  Mqtt
participant  OBTApi
participant  Wulian

autonumber 1 1 "<b>Step 0."
Robot -> Robot: Store { project: 'mqdc>whizdomforestias', unitName: '181/1' }

User -> Robot: Command 'เปิดไฟทั้งหมด'
' อยู่บน OBDApi ดีกว่า เผื่อว่าจะมี roomName เฉพาะ เช่น ห้องพี่ปูน
Robot -> OBDApi: Get deviceIdList with 'ทั้งหมด', project, unitName, roomName
OBDApi -> OBTApi: Retrieve device list by project, unitName
OBTApi -> OBDApi: device list
OBDApi -> OBDApi: Mapping deviceId with commonRoomName
OBDApi -> OBDApi: Mapping deviceId with roomNameList
OBDApi -> OBDApi: get deviceIdList by filter ทั้งหมด in roomNameList
OBDApi -> Robot: deviceIdList

Robot -> OBTApi: Each deviceId: Rest Api command { deviceId, tokenId: 'xxx', uuid: 'xxx' }
OBTApi -> Robot: (Websocket)

@enduml