-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrecorder.js
31 lines (25 loc) · 932 Bytes
/
recorder.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
recorder.js
*/
var _ = require('underscore');
var util = require('util');
var logger = require('./logger');
var state = require('./state');
var stateReactor = require('./stateReactor');
var conditionRegistry = require('./conditions').conditionRegistry;
exports.handleInput = function(input, stateReactor) {
var thingId = input.sensor;
if (!thingId) {
return;
}
logger.i("Recording input: " + util.inspect(input));
state.saveState(thingId, "simpleState", input.state);
state.saveState(thingId, "simpleStateUpdateTime", process.hrtime()[0]);
stateReactor.react(thingId, "simpleState", { recursions: 0 });
conditionRegistry.runApplicableConditions();
};
exports.handleStateUpdate = function(thingId, stateId, newValue) {
state.saveState(thingId, stateId, newValue);
stateReactor.react(thingId, stateId, { recursions: 0 });
conditionRegistry.runApplicableConditions();
};