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"
}
私の「params」データベース構造はjsonを返しました:
{"lights":0,"switchState":"off"}
switchState を更新したいだけです。
そうは言っても、上記のコードを「params」構造の下で実行すると、switchState の子を更新するのではなく、「-Kyn_TIEItKNNACLuEk5」のようなランダムな値を持つ新しい子が作成され、その下に「test」がある switchState があります。 " 価値。
{"-Kyn_TIEItKNNACLuEk5":{"switchState":"test"},"lights":0,"state":"off"}
元の switchState 子を実際に更新し、新しいサブ子 (-Kyn_TIEItKNNACLuEk5) を作成しないために私が見逃しているアイデアはありますか?