diff --git a/ADXL345/ADXL345.py b/ADXL345/ADXL345.py
index 79204ce98fc2d6294066faf836a8ef5ce356f28e..b2a316ec0bfcb533fe19736838cf13517cac22dd 100644
--- a/ADXL345/ADXL345.py
+++ b/ADXL345/ADXL345.py
@@ -107,7 +107,7 @@ if __name__ == "__main__":
     
     count = 0
     max = 0
-    while count < 3000:
+    while count < 1000:
         axes = adxl345.getAxes(True)
         if max < math.sqrt(axes['x'] * axes['x'] + axes['y'] * axes['y'] + axes['z'] * axes['z']):
             max = math.sqrt(axes['x'] * axes['x'] + axes['y'] * axes['y'] + axes['z'] * axes['z'])
diff --git a/ADXL345/app.js b/ADXL345/app.js
index c3ccdd3c298d5e8845d419d9c8930da2094f6ea5..447798549a31a22a3a47126f40bce362fbfb42d1 100755
--- a/ADXL345/app.js
+++ b/ADXL345/app.js
@@ -10,7 +10,7 @@ var fs = require('fs');
 var xml2js = require('xml2js');
 var exec = require("child_process").exec;
 var events = require('events');
-
+var request = require('request');
 var wdt = require('./wdt');
 
 var useparentport = '';
@@ -21,6 +21,8 @@ var download_arr = [];
 
 var conf = {};
 
+var sleeping;
+
 // This is an async file read
 fs.readFile('conf.xml', 'utf-8', function (err, data) {
     if (err) {
@@ -63,7 +65,6 @@ fs.readFile('conf.xml', 'utf-8', function (err, data) {
     }
 });
 
-
 var tas_state = 'init';
 
 var upload_client = null;
@@ -104,6 +105,8 @@ function on_receive(data) {
                             if (download_arr[j].ctname == sink_obj.ctname) {
                                 g_down_buf = JSON.stringify({id: download_arr[i].id, con: sink_obj.con});
                                 console.log(g_down_buf + ' <----');
+				if(sink_obj.ctname == 'cnt-sleeping')
+					sleeping = sink_obj.con;
                                 break;
                             }
                         }
@@ -115,6 +118,7 @@ function on_receive(data) {
 }
 
 function tas_watchdog() {
+console.log(download_arr);
     if(tas_state == 'init') {
         upload_client = new net.Socket();
 
@@ -157,14 +161,32 @@ function tas_watchdog() {
 }
 
 wdt.set_wdt(require('shortid').generate(), 3, tas_watchdog);
+wdt.set_wdt(require('shortid').generate(), 3, checkSleeping);
+
+function checkSleeping() {
+    var options = { method: 'GET',
+        url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-sleeping/latest',
+        headers:
+            { 'cache-control': 'no-cache',
+            'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+            accept: 'application/json' } };
+
+    request(options, function (error, response, body) {
+        if (error) throw new Error(error);
+        console.log(body);
+        var jObject = JSON.parse(body)["m2m:cin"];
+        sleeping = jObject.con;
+    })
+}
 
 function uploadData() {
     var cmd = 'sudo python ADXL345.py';
+console.log("exec");
     exec(cmd, function callback(error, stdout, stderr) {
-            if(tas_state == 'upload') {
+            if(tas_state == 'upload' && sleeping == '1') {
 		var data = stdout.split('\n');
                 for(var i = 0; i < upload_arr.length; i++) {
-                    if(upload_arr[i].ctname == 'cnt-accel') {
+                    if(upload_arr[i].ctname == 'cnt-acceleration') {
                         var cin = {ctname: upload_arr[i].ctname, con: data[0]};
                         console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
                         upload_client.write(JSON.stringify(cin) + '<EOF>');
diff --git a/ADXL345/conf.xml b/ADXL345/conf.xml
index cc61267a6e3d967e0b6914cb48f4e2dbb39e273f..7e901d1aa11ee369ef587e1cc643a043f3de3bb6 100755
--- a/ADXL345/conf.xml
+++ b/ADXL345/conf.xml
@@ -5,7 +5,11 @@
         <parentport>3105</parentport>
     </tas>
     <upload>
-        <ctname>cnt-accel</ctname>
-        <id>accel#1</id>
+        <ctname>cnt-acceleration</ctname>
+        <id>acceleration#1</id>
     </upload>
+    <download>
+        <ctname>cnt-sleeping</ctname>
+        <id>sleeping#1</id>
+    </download>
 </m2m:conf>
diff --git a/DHT11/DHT11 b/DHT11/DHT11
index 4ef9829310af84fa38f907434af5df62e0274c90..fb545a44a961af675b82f09bc83ef659e986c4d8 100755
Binary files a/DHT11/DHT11 and b/DHT11/DHT11 differ
diff --git a/DHT11/DHT11.cpp b/DHT11/DHT11.cpp
index 864f0ed9c36ad3e1cd76456f699996123d1a1a37..89be60bd1c0b9b1b80aab49ec410df7acca402d7 100644
--- a/DHT11/DHT11.cpp
+++ b/DHT11/DHT11.cpp
@@ -63,10 +63,12 @@ int main( void )
 {
     if ( wiringPiSetup() == -1 )
         exit( 1 );
- 
-    for(int i = 0; i < 64; i++)
+    int i;
+    for(i = 0; i < 128; i++)
 	if(read_dht11_dat())
 		break;
+    if(i == 128)
+	printf("-999 -999");
  
     return(0);
 }
diff --git a/DHT11/app.js b/DHT11/app.js
index 51ef0c3333f497fc5eb1768df47b0a90346ed4e9..925b5ce45709dc11a199e1c0bac48d885f2a5b39 100755
--- a/DHT11/app.js
+++ b/DHT11/app.js
@@ -9,7 +9,7 @@ var util = require('util');
 var fs = require('fs');
 var xml2js = require('xml2js');
 var exec = require("child_process").exec;
-
+var request = require("request");
 var wdt = require('./wdt');
 
 var useparentport = '';
@@ -20,6 +20,16 @@ var download_arr = [];
 
 var conf = {};
 
+var sleeping;
+var humidity;
+var humidity_auto;
+var humidity_low;
+var humidity_high;
+var temperature;
+var temperature_auto;
+var temperature_low;
+var temperature_high;
+
 // This is an async file read
 fs.readFile('conf.xml', 'utf-8', function (err, data) {
     if (err) {
@@ -102,6 +112,29 @@ function on_receive(data) {
                         for (j = 0; j < download_arr.length; j++) {
                             if (download_arr[j].ctname == sink_obj.ctname) {
                                 g_down_buf = JSON.stringify({id: download_arr[i].id, con: sink_obj.con});
+				switch(sink_obj.ctname) {
+				    case 'cnt-sleeping':
+  					sleeping = sink_obj.con;
+					break;
+				    case 'cnt-humidity-auto':
+                                        humidity_auto = sink_obj.con;
+					break;
+                                    case 'cnt-humidity-low':
+                                        humidity_low = sink_obj.con;
+                                        break;
+                                    case 'cnt-humidity-high':
+                                        humidity_high = sink_obj.con;
+                                        break;
+                                    case 'cnt-temperature-auto':
+                                        temperature_auto = sink_obj.con;
+                                        break;
+                                    case 'cnt-temperature-low':
+                                        temperature_low = sink_obj.con;
+                                        break;
+                                    case 'cnt-temperature-high':
+                                        temperature_high = sink_obj.con;
+                                        break;
+				}
                                 console.log(g_down_buf + ' <----');
                                 break;
                             }
@@ -136,9 +169,95 @@ function tas_watchdog() {
         }
     }
     else if(tas_state == 'init_thing') {
+        var options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-sleeping/latest',
+            headers: 
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            sleeping = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-humidity-auto/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            humidity_auto = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-humidity-low/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            humidity_low = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-humidity-high/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            humidity_high = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-temperature-auto/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            temperature_auto = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-temperature-low/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            temperature_low = jObject.con;
+        });
+        options = { method: 'GET',
+            url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-temperature-high/latest',
+            headers:
+                { 'cache-control': 'no-cache',
+                'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+                accept: 'application/json' } };
+        request(options, function (error, response, body) {
+            if (error) throw new Error(error);
+            console.log(body);
+            var jObject = JSON.parse(body)["m2m:cin"];
+            temperature_high = jObject.con;
+        });
         tas_state = 'connect';
-    }
+    }   
     else if(tas_state == 'connect' || tas_state == 'reconnect') {
+console.log('port:' + useparentport + ', host:' + useparenthostname);
         upload_client.connect(useparentport, useparenthostname, function() {
             console.log('upload Connected');
             tas_download_count = 0;
@@ -156,7 +275,33 @@ function tas_watchdog() {
 }
 
 wdt.set_wdt(require('shortid').generate(), 3, tas_watchdog);
-wdt.set_wdt(require('shortid').generate(), 3, uploadData);
+wdt.set_wdt(require('shortid').generate(), 2, uploadData);
+wdt.set_wdt(require('shortid').generate(), 1, controllActuator);
+wdt.set_wdt(require('shortid').generate(), 3, checkSleeping);
+
+function checkSleeping() {
+    var options = { method: 'GET',
+        url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-sleeping/latest',
+        headers:
+            { 'cache-control': 'no-cache',
+            'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+            accept: 'application/json' } };
+
+    request(options, function (error, response, body) {
+        if (error) throw new Error(error);
+        console.log(body);
+        var jObject = JSON.parse(body)["m2m:cin"];
+	if(sleeping == 1 && jObject.con == 0) {
+		var cin = {ctname: "cnt-fan", con: "0"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+                cin = {ctname: "cnt-humidifier", con: "0"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+        }		
+        sleeping = jObject.con;
+    })
+}
 
 function uploadData() {
     var cmd = 'sudo ./DHT11';
@@ -166,19 +311,54 @@ function uploadData() {
                 for(var i = 0; i < upload_arr.length; i++) {
                     if(upload_arr[i].ctname == 'cnt-humidity') {
                         var cin = {ctname: upload_arr[i].ctname, con: stdoutArr[0]};
-                        console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
-                        upload_client.write(JSON.stringify(cin) + '<EOF>');
+			if(stdoutArr[0] != -999) {
+			    humidity = stdoutArr[0];
+                            console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                            upload_client.write(JSON.stringify(cin) + '<EOF>');
+			}
                     }
-                    if(upload_arr[i].ctname == 'cnt-temp') {
+                    if(upload_arr[i].ctname == 'cnt-temperature') {
                         var cin = {ctname: upload_arr[i].ctname, con: stdoutArr[1]};
-                        console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
-                        upload_client.write(JSON.stringify(cin) + '<EOF>');
+                        if(stdoutArr[1] != -999) {
+                            temperature = stdoutArr[1];
+                            console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                            upload_client.write(JSON.stringify(cin) + '<EOF>');
+			}
                     }
                 }
             }
     });
 }
 
+function controllActuator() {
+    if(tas_state == 'upload' && sleeping == 1) {
+	if(humidity_auto == 1) {
+            if(!((humidity_low <= humidity) && (humidity <= humidity_high))) {
+                var cin = {ctname: "cnt-humidifier", con: "1"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+            }
+            else {
+                var cin = {ctname: "cnt-humidifier", con: "0"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+            }
+	}
+	if(temperature_auto == 1) {
+            if(!((temperature_low <= temperature) && (temperature <= temperature_high))) {
+                var cin = {ctname: "cnt-fan", con: "1"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+            }
+            else {
+                var cin = {ctname: "cnt-fan", con: "0"};
+                console.log('SEND : ' + JSON.stringify(cin) + ' ---->');
+                upload_client.write(JSON.stringify(cin) + '<EOF>');
+            }
+	}
+    }
+}
+
 var cur_c = '';
 var pre_c = '';
 var g_sink_buf = '';
diff --git a/DHT11/conf.xml b/DHT11/conf.xml
index 0e415b697bae070eaf23dc6d90ad6767f383e7a6..765e8c4ff935cee3016ac9c6b346c4ebb667851e 100755
--- a/DHT11/conf.xml
+++ b/DHT11/conf.xml
@@ -9,7 +9,43 @@
         <id>humidity#1</id>
     </upload>
     <upload>
-        <ctname>cnt-temp</ctname>
-        <id>temp#1</id>
+        <ctname>cnt-temperature</ctname>
+        <id>temperature#1</id>
     </upload>
+    <upload>
+        <ctname>cnt-fan</ctname>
+        <id>fan#1</id>
+    </upload>
+    <upload>
+        <ctname>cnt-humidifier</ctname>
+        <id>humidifier#1</id>
+    </upload>
+    <download>
+        <ctname>cnt-sleeping</ctname>
+        <id>sleeping#1</id>
+    </download>
+    <download>
+        <ctname>cnt-humidity-auto</ctname>
+        <id>humidity#1</id>
+    </download>
+    <download>
+        <ctname>cnt-humidity-low</ctname>
+        <id>humidity#</id>
+    </download>
+    <download>
+        <ctname>cnt-humidity-high</ctname>
+        <id>humidity#1</id>
+    </download>
+    <download>
+        <ctname>cnt-temperature-auto</ctname>
+        <id>temperature#1</id>
+    </download>
+    <download>
+        <ctname>cnt-temperature-low</ctname>
+        <id>temperature#1</id>
+    </download>
+    <download>
+        <ctname>cnt-temperature-high</ctname>
+        <id>temperature#1</id>
+    </download>
 </m2m:conf>
diff --git a/Makefile b/Makefile
index b2294eb23d6e05656aaff9874e00403f538566db..e8bb3d1185e1b06ca607eed426ae22f991b248f0 100644
--- a/Makefile
+++ b/Makefile
@@ -2,8 +2,8 @@ install:
 	sudo npm -g install forever
 	cd thyme && npm install
 	cd ADXL345 && npm install
-	cd DHT11 && npm install
 	cd SEN0228 && npm install
+	cd DHT11 && npm install
 
 compile:
 	cd DHT11 && g++ DHT11.cpp -o DHT11 -lwiringPi
@@ -12,8 +12,8 @@ compile:
 start:
 	cd thyme && forever start thyme.js
 	cd ADXL345 && forever start app.js
-	cd DHT11 && forever start app.js
 	cd SEN0228 && forever start app.js
+	cd DHT11 && forever start app.js
 
 stop:
 	forever stopall
diff --git a/SEN0228/app.js b/SEN0228/app.js
index fc952696dbf6cc7dedab77a1047009865d4fb5d2..36c506e89364b537831256e7196867615cbf6bc9 100755
--- a/SEN0228/app.js
+++ b/SEN0228/app.js
@@ -9,7 +9,7 @@ var util = require('util');
 var fs = require('fs');
 var xml2js = require('xml2js');
 var exec = require("child_process").exec;
-
+var request = require("request");
 var wdt = require('./wdt');
 
 var useparentport = '';
@@ -20,6 +20,8 @@ var download_arr = [];
 
 var conf = {};
 
+var sleeping;
+
 // This is an async file read
 fs.readFile('conf.xml', 'utf-8', function (err, data) {
     if (err) {
@@ -102,6 +104,8 @@ function on_receive(data) {
                         for (j = 0; j < download_arr.length; j++) {
                             if (download_arr[j].ctname == sink_obj.ctname) {
                                 g_down_buf = JSON.stringify({id: download_arr[i].id, con: sink_obj.con});
+				if(sink_obj.ctname == 'cnt-sleeping')
+					sleeping = sink_obj.con;
                                 console.log(g_down_buf + ' <----');
                                 break;
                             }
@@ -157,11 +161,28 @@ function tas_watchdog() {
 
 wdt.set_wdt(require('shortid').generate(), 3, tas_watchdog);
 wdt.set_wdt(require('shortid').generate(), 3, uploadData);
+wdt.set_wdt(require('shortid').generate(), 3, checkSleeping);
+
+function checkSleeping() {
+    var options = { method: 'GET',
+        url: 'http://52.79.78.134:7579/mobius-yt/SSS/cnt-sleeping/latest',
+        headers:
+            { 'cache-control': 'no-cache',
+            'x-m2m-origin': 'SOrigin','x-m2m-ri': '12345',
+            accept: 'application/json' } };
+
+    request(options, function (error, response, body) {
+        if (error) throw new Error(error);
+        console.log(body);
+        var jObject = JSON.parse(body)["m2m:cin"];
+        sleeping = jObject.con;
+    })
+}
 
 function uploadData() {
     var cmd = 'sudo ./SEN0228';
     exec(cmd, function callback(error, stdout, stderr) {
-            if(tas_state == 'upload') {
+            if(tas_state == 'upload' && sleeping == '1') {
                 for(var i = 0; i < upload_arr.length; i++) {
                     if(upload_arr[i].ctname == 'cnt-lux') {
                         var cin = {ctname: upload_arr[i].ctname, con: stdout};
diff --git a/SEN0228/conf.xml b/SEN0228/conf.xml
index a3f17faad08b16424fc1f4f508693686b75ce829..87954ae1720f77ec0f62757cd02ffdc2d07b85bf 100755
--- a/SEN0228/conf.xml
+++ b/SEN0228/conf.xml
@@ -8,4 +8,8 @@
         <ctname>cnt-lux</ctname>
         <id>lux#1</id>
     </upload>
+    <download>
+        <ctname>cnt-sleeping</ctname>
+        <id>sleeping#1</id>
+    </download>
 </m2m:conf>
diff --git a/thyme/conf.js b/thyme/conf.js
index f484beb8dcec233b7854ad1a224c6c7a5064ae42..0fdb437e4fc221d2c2ac210201c0cb352752a553 100755
--- a/thyme/conf.js
+++ b/thyme/conf.js
@@ -29,9 +29,9 @@ cse.id          = '/mobius-yt';
 cse.mqttport    = '1883';
 
 // build ae
-ae.id           = 'ae-edu0';
+ae.id           = 'SSS';
 ae.parent       = '/' + cse.name;
-ae.name         = 'ae-edu0';
+ae.name         = 'SSS';
 ae.appid        = '0.2.481.1.1';
 ae.port         = '9727';
 ae.bodytype     = 'json';
@@ -41,25 +41,74 @@ ae.tasport      = '3105';
 var count = 0;
 cnt_arr[count] = {};
 cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-sleeping';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-acceleration';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
 cnt_arr[count++].name = 'cnt-humidity';
 cnt_arr[count] = {};
 cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
-cnt_arr[count++].name = 'cnt-temp';
+cnt_arr[count++].name = 'cnt-humidity-auto';
 cnt_arr[count] = {};
 cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
-cnt_arr[count++].name = 'cnt-accel';
+cnt_arr[count++].name = 'cnt-humidity-low';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-humidity-high';
 cnt_arr[count] = {};
 cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
 cnt_arr[count++].name = 'cnt-lux';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-temperature';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-temperature-auto';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-temperature-low';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-temperature-high';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-fan';
+cnt_arr[count] = {};
+cnt_arr[count].parent = '/' + cse.name + '/' + ae.name;
+cnt_arr[count++].name = 'cnt-humidifier';
 
 // build sub
 count = 0;
 sub_arr[count] = {};
-sub_arr[count].parent = '/' + cse.name + '/' + ae.name + '/' + cnt_arr[1].name;
-sub_arr[count].name = 'sub-ctrl';
+sub_arr[count].parent = cnt_arr[0].parent + '/' + cnt_arr[0].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[3].parent + '/' + cnt_arr[3].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[4].parent + '/' + cnt_arr[4].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[5].parent + '/' + cnt_arr[5].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[8].parent + '/' + cnt_arr[8].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[9].parent + '/' + cnt_arr[9].name;
+sub_arr[count].name = 'sub';
+sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
+sub_arr[count] = {};
+sub_arr[count].parent = cnt_arr[10].parent + '/' + cnt_arr[10].name;
+sub_arr[count].name = 'sub';
 sub_arr[count++].nu = 'mqtt://' + cse.host + '/' + ae.id;
-//sub_arr[count++].nu = 'http://203.254.173.104:' + ae.port + '/noti';
-//sub_arr[count++].nu = 'coap://203.254.173.104:' + ae.port + '/noti';
 
 // build acp: not complete
 acp.parent = '/' + cse.name + '/' + ae.name;
diff --git a/thyme/conf.json b/thyme/conf.json
index ca785ccaed3baed8c201a48b3d926ea5a4e4a65d..d9a99289735783d6cbc3bbc4c7411431af09651c 100644
--- a/thyme/conf.json
+++ b/thyme/conf.json
@@ -9,9 +9,9 @@
         "mqttport": "1883"
     },
     "ae": {
-        "id": "ae-edu0",
+        "id": "SSS",
         "parent": "/mobius-yt",
-        "name": "ae-edu0",
+        "name": "SSS",
         "appid": "0.2.481.1.1",
         "port": "9727",
         "bodytype": "json",
@@ -19,32 +19,98 @@
     },
     "cnt": [
         {
-            "parent": "/mobius-yt/ae-edu0",
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-sleeping"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-acceleration"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
             "name": "cnt-humidity"
         },
         {
-            "parent": "/mobius-yt/ae-edu0",
-            "name": "cnt-temp"
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-humidity-auto"
         },
         {
-            "parent": "/mobius-yt/ae-edu0",
-            "name": "cnt-accel"
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-humidity-low"
         },
         {
-            "parent": "/mobius-yt/ae-edu0",
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-humidity-high"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
             "name": "cnt-lux"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-temperature"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-temperature-auto"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-temperature-low"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-temperature-high"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-fan"
+        },
+        {
+            "parent": "/mobius-yt/SSS",
+            "name": "cnt-humidifier"
         }
     ],
     "sub": [
         {
-            "parent": "/mobius-yt/ae-edu0/cnt-temp",
-            "name": "sub-ctrl",
-            "nu": "mqtt://52.79.78.134/ae-edu0"
+            "parent": "/mobius-yt/SSS/cnt-sleeping",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-humidity-auto",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-humidity-low",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-humidity-high",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-temperature-auto",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-temperature-low",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
+        },
+        {
+            "parent": "/mobius-yt/SSS/cnt-temperature-high",
+            "name": "sub",
+            "nu": "mqtt://52.79.78.134/SSS"
         }
     ],
     "acp": {
-        "parent": "/mobius-yt/ae-edu0",
-        "name": "acp-ae-edu0",
-        "id": "ae-edu0"
+        "parent": "/mobius-yt/SSS",
+        "name": "acp-SSS",
+        "id": "SSS"
     }
 }
\ No newline at end of file