使用Nest API
我试图设置嵌套恒温器的离开状态
阅读&温度设定工作正常。
我为两个正确配置了读写权限 温控器温度控制和温控器设置
我可以正确阅读状态。有这种API经验的人是否知道如何处理setting
此状态?
"FirebaseManager.h"
中的
Firebase *newFirebase2 = [self.rootFirebase childByAppendingPath:@"structures"];
[newFirebase2 observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
// Put structures into a dictionary
NSMutableDictionary *dict = snapshot.value;
NSLog(@"\n\n\n1. Away Status = %@", [dict valueForKey:@"away"]);
NSLog(@"Dict Contents %@", dict); // <--- Reads thermostat status. A string either home or away
dict[@"away"] = @"away"; //<--- Changes status string but not a correct solution, and does not set the stat to away
//Changes status name but this is not parsed back to firebase
NSLog(@"new status = %@", [dict valueForKey:@"away"]);
}];
答案 0 :(得分:3)
更新子值
假设这个结构
structures
structure_id_0
away: "home"
将离开节点设置为一个离开的字符串(此代码非常详细,因此很容易理解)
Firebase *structuresRef = [self.rootFirebase childByAppendingPath:@"structures"];
//build a reference to where we want to write structures/structure_id/
Firebase *thisStructureRef = [structuresRef childByAppendingPath:@"structure_id_0"];
Firebase *awayRef = [thisStructureRef childByAppendingPath:@"away"];
[awayRef setValue:@"away"];
现在,如果要对通过观察具有FEventTypeChildAdded的节点检索的快照执行此操作,则节点名称将是用于代替structure_id_0的任何内容。这是键的关键:值对。
可以通过snapshot.key获得。
所以NSString * key = snapshot.key
在路径中替换@“structure_id_0”中的键变量。
同时查看Firebase Writing Data,然后查看updateChildValues以获取其他选项。