package top.yeij.cyrene.data.remote.dto

import com.google.gson.annotations.SerializedName

data class DeviceDto(
    @SerializedName("id") val id: String,
    @SerializedName("name") val name: String,
    @SerializedName("type") val type: String,
    @SerializedName("state") val state: DeviceState,
    @SerializedName("room") val room: String?,
)

data class DeviceState(
    @SerializedName("power") val power: Boolean?,
    @SerializedName("brightness") val brightness: Int?,
    @SerializedName("temperature") val temperature: Float?,
    @SerializedName("humidity") val humidity: Float?,
    @SerializedName("colorTemp") val colorTemp: Int?,
    @SerializedName("locked") val locked: Boolean?,
    @SerializedName("open") val open: Boolean?,
)

data class IoTControlRequest(
    @SerializedName("action") val action: String,
    @SerializedName("value") val value: Any? = null,
)
