end
 
   if not (sensor_type==nil or sensor_id==nil or sensor_type=='' or sensor_id=='') then
-    if next(sensor)==nil then
-      sensor["command"]="alarm"
-    end
     local record = {}
     for k,v in pairs(sensor) do
       storeRecord(sensor_id,sensor_type,k,v)
         if not mqtt_client:socket() then
           mqtt_client:reconnect()
         end  
-        mqtt_client:publish(mqtt_path,v,0,0)
+        mqtt_client:publish(mqtt_path,v,0,false)
         mqtt_client:loop()
       end  
     end
                 return '{'..name..'}'
               end      
             end)
-          mqtt_client:publish(mqtt_path,v,0,0)
+          if not mqtt_client:socket() then
+            mqtt_client:reconnect()
+          end  
+          mqtt_client:publish(mqtt_path,v,0,false)
           mqtt_client:loop()
         end  
       end
               return '{'..name..'}'
             end      
           end)
-        mqtt_client:publish(mqtt_path,msg_body,0,0)
+        if not mqtt_client:socket() then
+          mqtt_client:reconnect()
+        end  
+        mqtt_client:publish(mqtt_path,msg_body,0,false)
         mqtt_client:loop()
       end
       if alarm_exec then
         io.close(f)
       end)  
     end
+
   end)
     
 end