Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var getDeviceSchema = new NodeSchema("get-device-state", "getDeviceState");
- getDeviceSchema.name = "Get Device State";
- getDeviceSchema.description = "Get the state of a specific device";
- getDeviceSchema.config.add("deviceId", "home.automation.data.providers.DeviceListProvider");
- var output = getDeviceSchema.outputs.add("deviceState", "home.automation.data.values.DeviceState");
- output.label = "Device State";
- NodeSchemaManager.register(getDeviceSchema);
- var setDeviceSchema = new NodeSchema("set-device-state", "setDeviceState");
- setDeviceSchema.name = "Set Device State";
- setDeviceSchema.description = "Set the state of a specific device";
- setDeviceSchema.config.add("deviceId", "home.automation.data.providers.DeviceListProvider");
- var input = setDeviceSchema.inputs.add("deviceState", "home.automation.data.values.DeviceState");
- input.label = "Device State";
- NodeSchemaManager.register(setDeviceSchema);
- var conditionSchema = new NodeSchema("condition", "condition");
- conditionSchema.name = "Condition";
- conditionSchema.description = "Evaluate a condition based on inputs";
- conditionSchema.inputs.variable = true;
- conditionSchema.inputs.variableSubType = "home.automation.data.values.ConditionExpr";
- conditionSchema.inputs.variableEditable = true;
- conditionSchema.outputs.variable = true;
- conditionSchema.outputs.variableEditable = true;
- NodeSchemaManager.register(conditionSchema);
- var getDeviceState1 = new Node("get-device-state");
- getDeviceState1.meta.set("x", 30);
- getDeviceState1.meta.set("y", 30);
- getDeviceState1.config.set("deviceId", "window-1");
- var getDeviceState2 = new Node("get-device-state");
- getDeviceState2.meta.set("x", 30);
- getDeviceState2.meta.set("y", 300);
- getDeviceState2.config.set("deviceId", "window-2");
- var getDeviceState3 = new Node("get-device-state");
- getDeviceState3.meta.set("x", 30);
- getDeviceState3.meta.set("y", 600);
- getDeviceState3.config.set("deviceId", "temp-sensor-1");
- var condition1 = new Node("condition");
- condition1.meta.set("x", 400);
- condition1.meta.set("y", 200);
- var setDeviceState1 = new Node("set-device-state");
- setDeviceState1.meta.set("x", 800);
- setDeviceState1.meta.set("y", 30);
- setDeviceState1.config.set("deviceId", "light-1");
- var setDeviceState2 = new Node("set-device-state");
- setDeviceState2.meta.set("x", 800);
- setDeviceState2.meta.set("y", 300);
- setDeviceState2.config.set("deviceId", "light-2");
- var setDeviceState3 = new Node("set-device-state");
- setDeviceState3.meta.set("x", 800);
- setDeviceState3.meta.set("y", 600);
- setDeviceState3.config.set("deviceId", "heater-1");
- var graph = new Graph();
- graph.addNode(getDeviceState1);
- graph.addNode(getDeviceState2);
- graph.addNode(getDeviceState3);
- graph.addNode(condition1);
- graph.addNode(setDeviceState1);
- graph.addNode(setDeviceState2);
- graph.addNode(setDeviceState3);
- var c = graph.connectNodes(getDeviceState1, "deviceState", condition1, "input1");
- var c = graph.connectNodes(getDeviceState2, "deviceState", condition1, "input2");
- var c = graph.connectNodes(getDeviceState3, "deviceState", condition1, "input3");
- var c = graph.connectNodes(condition1, "output1", setDeviceState1, "deviceState");
- var c = graph.connectNodes(condition1, "output1", setDeviceState2, "deviceState");
- var c = graph.connectNodes(condition1, "output2", setDeviceState3, "deviceState");
- //var c = graph.connectNodes(condition1, "output3", setDeviceState1, "deviceState");
- var graphUI = new GraphUI();
- graphUI.container = graphContainer;
- graphUI.graph = graph;
- graphUI.render();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement