我正在尝试将 Smartthings 设备发生的事件记录到 Firebase 数据库中。我的 Smartthings 应用程序中的功能是:
def reportSwitchOnHandler(evt){
log.debug "reportSwitchOnHandler called: $evt"
def params = [
uri: "https://<project-id>.firebaseio.com/switchStateData/params.json?auth=<key>",
body: [
switchState: "test"
]
]
try {
httpPostJson(params) { resp ->
resp.headers.each {
log.debug "${it.name} : ${it.value}"
}
log.debug "DEBUG (POST FIREBASE): response contentType: ${resp. contentType}"
}
} catch (e) {
log.debug "something went wrong: $e"
}
我的“参数”数据库结构返回 json 是:
{"lights":0,"switchState":"off"}
我只想更新switchState。
话虽如此,当我在“params”结构下运行上述代码时,它不会更新 switchState 子节点,而是创建一个具有一些随机值的新子节点,例如“-Kyn_TIEItKNNACLuEk5”,并且在该 switchState 下存在“测试” “ 价值。
{"-Kyn_TIEItKNNACLuEk5":{"switchState":"test"},"lights":0,"state":"off"}
我缺少什么来实际更新原始 switchState 孩子而不是创建新的子孩子(-Kyn_TIEItKNNACLuEk5)?