@@ -23,6 +23,7 @@ var sensorDevices = [];
2323var sensorResults = [ ] ;
2424var sensorsRead = 0 ;
2525
26+
2627function gpioWorker ( input_queue , output_queue ) {
2728 this . input_queue = input_queue ;
2829 this . output_queue = output_queue ;
@@ -48,6 +49,10 @@ function gpioWorker (input_queue, output_queue) {
4849 // Relay device
4950 this . relay = new Relay ( ) ;
5051 //this.relay.testConnected();
52+ for ( var i = 0 ; i < this . relay . deviceCount ( ) ; i ++ ) {
53+ this . relay . setDelaySetValue ( i + 1 , 'on_time' , this . configuration [ 'relayDelayPostON' ] ) ;
54+ this . relay . setDelaySetValue ( i + 1 , 'off_time' , this . configuration [ 'relayDelayPostOFF' ] ) ;
55+ }
5156
5257 // Temperature sensors
5358 sensorDevices = this . sensorDevices ( ) ;
@@ -57,7 +62,7 @@ function gpioWorker (input_queue, output_queue) {
5762 this . configObj . updateFudgeEntry ( sensorDevices ) ;
5863 console . log ( "Using configuration: " + JSON . stringify ( this . configuration ) ) ;
5964
60- // Set sensor fudge according to configuration
65+ // Now set sensor fudge according to updated configuration
6166 sensorDevices . forEach ( function ( sensor ) {
6267 sensor . setFudge ( parseFloat ( config [ 'sensorFudgeFactors' ] [ sensor . getId ( ) ] ) ) ;
6368 } ) ;
@@ -125,16 +130,30 @@ function gpioWorker (input_queue, output_queue) {
125130 }
126131 } . bind ( this ) ) ;
127132
128- // eventEmitter WAS global (from index.js)
129133 eventEmitter . on ( 'sensor_read' , allSensorsRead ) ;
130134 eventEmitter . on ( 'msg_waiting' , this . processMessage . bind ( this ) ) ;
131135
136+ eventEmitter . on ( 'fhem_reading' , function ( obj ) {
137+ this . fhemReading ( obj ) ;
138+ } . bind ( this ) ) ;
139+
132140}
133141//module.exports = gpioWorker;
134142//export default gpioWorker;
135- //export default gpioWorker;
136143export { gpioWorker , eventEmitter } ;
137144
145+ gpioWorker . prototype . fhemReading = function ( reading ) {
146+ //console.log("fhemReading() " + JSON.stringify(reading));
147+ var name = reading . name ;
148+ var tilt = reading . tilt ;
149+ var temp = reading . temp ;
150+ var batt = reading . batt ;
151+ console . log ( "fhem() " + name + ", " + tilt + ", " + temp + ", " + batt ) ;
152+
153+ //var plato = calcPlato(tilt, temp);
154+ //console.log("plato = " + plato);
155+ } ;
156+
138157gpioWorker . prototype . sensorDevices = function ( ) {
139158 var deviceList = [ ] ;
140159
@@ -320,11 +339,25 @@ gpioWorker.prototype.config_change = function (msg) {
320339 item . setFudge ( msg . data [ 'fudge' ] ) ;
321340 }
322341 } ) ;
342+ //this.configuration.sensorFudgeFactors[msg.data['sensorFudgeFactors']] = msg.data['fudge'];
343+ this . configObj . setFudgeFactor ( msg . data [ 'sensorFudgeFactors' ] , msg . data [ 'fudge' ] ) ;
323344 } else if ( keys [ 0 ] == 'multiSensorMeanWeight' ) {
324345 this . configObj . setMultiSensorMeanWeight ( msg . data [ 'multiSensorMeanWeight' ] ) ;
346+ } else if ( keys [ 0 ] == 'relayDelayPostON' || keys [ 0 ] == 'relayDelayPostOFF' ) {
347+ for ( var i = 0 ; i < this . relay . deviceCount ( ) ; i ++ ) {
348+ if ( keys [ 0 ] == 'relayDelayPostON' ) {
349+ this . relay . setDelaySetValue ( i + 1 , 'on_time' , msg . data [ keys [ 0 ] ] ) ;
350+ } else {
351+ this . relay . setDelaySetValue ( i + 1 , 'off_time' , msg . data [ keys [ 0 ] ] ) ;
352+ }
353+ }
354+ //this.configuration[keys[0]] = msg.data[keys[0]];
355+ this . configObj . setRelayDelayPost ( keys [ 0 ] , msg . data [ keys [ 0 ] ] ) ;
325356 } else {
326357 console . log ( "config_change(): " + keys [ 0 ] + " = " + msg . data [ keys [ 0 ] ] ) ;
327358 }
359+ console . log ( "this.configuration = " + JSON . stringify ( this . configuration ) ) ;
360+ //this.configObj.saveConfigToFile();
328361} ;
329362
330363gpioWorker . prototype . list_sensors = function ( msg ) {
0 commit comments