diff --git a/cnt_collector_485.py b/cnt_collector_485.py
index 87f927c..4153f5c 100644
--- a/cnt_collector_485.py
+++ b/cnt_collector_485.py
@@ -84,33 +84,44 @@ def Read_Temperature(client, ch_num):
         id = 3
         name = 'tempFn3'
         
-    result = client.read_holding_registers(address=2003, count=2, slave=id)
+    result = client.read_holding_registers(address=2002, count=1, slave=id)
     if not result.isError():
         # print(f'Temperature: {ch_num} {result.registers}')
         value = (result.registers[0])/10
+
+        data = {
+            "assetCode": info['mqtt']['assetCode'],
+            "timestamp": int(time.time()),
+            "dataType": "DATA",
+            "data": {
+                name: value
+            }
+        }
+
+        Publish_mqtt(data)
     else:
         print(f'Temperature Err: {ch_num} \n {result}')
 
-    data = {
-        "assetCode": info['mqtt']['assetCode'],
-        "timestamp": int(time.time()),
-        "dataType": "DATA",
-        "data": {
-            name: value
-        }
-    }
-
-    Publish_mqtt(data)
-
-def Set_Temperature(client, ch_num, value):
+def Set_Temperature(client, ch_num, order, val=None):
     if ch_num == 1:
         id = 1
     elif ch_num == 2:
         id = 2
     else: # ch_num == 3
         id = 3
+    
+    if order == 'start':
+        client.write_register(address=2336, value=val, slave=id) # H.SP_L1
+        client.write_register(address=2338, value=val, slave=id) # H.TSP_L1
+        client.write_register(address=2340, value=1440, slave=id) # H.TM
 
-    return 0 
+        client.write_register(address=2315, value=1, slave=id) # MODE
+    elif order == 'change':
+        client.write_register(address=2336, value=val, slave=id) # H.SP_L1
+        client.write_register(address=2338, value=val, slave=id) # H.TSP_L1
+        client.write_register(address=2340, value=1440, slave=id) # H.TM
+    else: # order == 'stop'
+        client.write_register(address=2315, value=0, slave=id) # MODE
 
 def Read_Power(client, ch_num):
     if ch_num == 1:
@@ -127,26 +138,27 @@ def Read_Power(client, ch_num):
     s_power_rate = client.read_input_registers(address=306, count=1, slave=id)
     t_power_rate = client.read_input_registers(address=307, count=1, slave=id)
     
-    max_power = 23036
+    if not r_power_rate.isError() and not s_power_rate.isError() and not t_power_rate.isError():
+        max_power = 23036
 
-    mean_power_rate = (
-        (r_power_rate.registers[0] + 
-         s_power_rate.registers[0] + 
-         t_power_rate.registers[0]) / 30000)
+        mean_power_rate = (
+            (r_power_rate.registers[0] + 
+            s_power_rate.registers[0] + 
+            t_power_rate.registers[0]) / 30000)
 
-    value = (max_power * mean_power_rate) / 1000
-    # print(value)
-    
-    data = {
-        "assetCode": info['mqtt']['assetCode'],
-        "timestamp": int(time.time()),
-        "dataType": "DATA",
-        "data": {
-            name: value
+        value = (max_power * mean_power_rate) / 1000
+        # print(value)
+        
+        data = {
+            "assetCode": info['mqtt']['assetCode'],
+            "timestamp": int(time.time()),
+            "dataType": "DATA",
+            "data": {
+                name: value
+            }
         }
-    }
-    # print(data)
-    Publish_mqtt(data)
+        # print(data)
+        Publish_mqtt(data)
 
 result = []
 def Read_GasDetector(client, ch_num):
@@ -218,18 +230,10 @@ def Read_GasDetector(client, ch_num):
 def Set_FlowPump(client, value):
     id = 31
 
-    # print(f'Set_FlowPump In!: {value}')
     val = int(float(value) * 1000)
 
     register_value = val * 8 + 10000
-    # print(f'register_value: {register_value}')
-    client.write_registers(address=40004, values=register_value, slave=id)
-
-    try:
-        result = client.read_holding_registers(address=40004, count=1, slave=id)
-        # print(f'result: {result.registers}')
-    except Exception as e:
-        print(e)
+    client.write_registers(address=3, values=register_value, slave=id)
 
 def Publish_mqtt(data):
     send_mqtt_data = json.dumps(data, indent=4)
@@ -262,14 +266,17 @@ def Command_Read():
                 Set_FlowPump(client=client4, value=float(cmd['cmd']['precAc']))
             
             if cmd['cmd']['tempFn1'] != 'null':
-                Set_Temperature(client=client1, ch_num=1, value=float(cmd['cmd']['tempFn1']))
+                Set_Temperature(client=client1, ch_num=1, order=cmd['type'], val=float(cmd['cmd']['tempFn1']))
             
             if cmd['cmd']['tempFn2'] != 'null':
-                Set_Temperature(client=client2, ch_num=2, value=float(cmd['cmd']['tempFn1']))
+                Set_Temperature(client=client2, ch_num=2, order=cmd['type'], val=float(cmd['cmd']['tempFn2']))
             
             if cmd['cmd']['tempFn3'] != 'null':
-                Set_Temperature(client=client2, ch_num=3, value=float(cmd['cmd']['tempFn1']))
+                Set_Temperature(client=client3, ch_num=3, order=cmd['type'], val=float(cmd['cmd']['tempFn3']))
         else: # 'stop' in cmd['type]
+            Set_Temperature(client=client1, ch_num=1, order=cmd['type'])
+            Set_Temperature(client=client2, ch_num=2, order=cmd['type'])
+            Set_Temperature(client=client3, ch_num=3, order=cmd['type'])
             Set_FlowPump(client=client4, value=0.0)
 
     cmd = {
@@ -289,12 +296,12 @@ while True:
     # Need to add a function call for reading control.json
     Command_Read()
 
-    # # Read Temperature
+    # Read Temperature
     Read_Temperature(client1, 1)
     Read_Temperature(client2, 2)
     Read_Temperature(client3, 3)
 
-    # # Read Power
+    # Read Power
     Read_Power(client1, 1)
     Read_Power(client2, 2)
     Read_Power(client3, 3)