Open daydream-er opened 1 year ago
우리 방식으로 하려고 하면, model에서 deconz로 곧바로 get방식으로 가면 된다.
하지만 om2m으로 특정 contentInstance에 get 보내는 별도의 코드가 필요하다. 즉, 시나리오용 코드를 따로 개발해야 한다.
// 구현 목표 1번을 구현할지는 상의해봐야 겠지만.. 어쨌든 Device명.java 부분만 봐봐. state가 많을 수 있으니까 이런식으로 구현하려고
SampleModel.java
// Device is abstract class
private static Map<String, Map<String, Device> Devices = new HashMap<String, Map<String, Device>();
public static void setDeviceState(final String id, final String kind String key, String value) {
checkDeviceValue(id, kind);
if (kind == LAMPS)
{
Devices.get(LAMPS).get(id).setState(value);
notifyObservers(LAMPS, id, value);
}
.... // 이런 느낌?
Device명.java
public Device명(String DeviceId, HashMap<string, string> state){
this.lampId = DeviceId;
Set<String> keySet = state.keySet();
for (String key : keySet) {
this.state.put(key, state.get(key));
}
}
어떻게 하지..
mobius ipe.js
// 아래의 코드를 참고해서 위 SampleModel.java와 Device명.java를 생각했는데...
// 통신이 필요함...
// SampleRouter.java에 있는 ResponsePrimitive response = new ResponsePrimitive(request); 이거 그냥 쓰면 됨?
let device_battery = deconz.sensorbatt(GATEWAY_ADDRESS, value[i].deconzId);
Last_battery_level.set(value[i].oneM2MResource.deviceResourceName, device_battery);
지금 봄 굿굿