Исправлена ошибка с непредумышленным установлением статуса retained для сообщений.
[weathermon.git] / bin / weathermon-iio
index 7fe5f68af08639a3340c5f348b177235324915d6..f6e979f1c50939497b0c3234ff0452a1fe7c2d2f 100755 (executable)
@@ -173,7 +173,7 @@ if not config_name then
   config_name = "weathermon"
 end  
 
-web_id = uci.get(config_name,"web","devid")
+web_id = get_devid(config_name)
 
 parameters = init(config_name)
 
@@ -188,17 +188,20 @@ if not delay then
   delay = 60
 end
 
+io.stdout:setvbuf('no')
+
 while true do
-  values = get_parameters(parameters)
-  records = {}
-  records[web_id] = {}
-  for key,record in pairs(values) do
-    records[web_id][key] = record
-    records[web_id]["timestamp"] = os.date("%Y-%m-%dT%H:%M:%S")
-  end
-  for key,value in pairs(values) do
-    value["device"] = key
-    print(json.encode(value))
+  if pcall(function () values = get_parameters(parameters) end) then
+    records = {}
+    records[web_id] = {}
+    for key,record in pairs(values) do
+      records[web_id][key] = record
+      records[web_id]["timestamp"] = os.date("%Y-%m-%dT%H:%M:%S")
+    end
+    for key,value in pairs(values) do
+      value["device"] = key
+      print(json.encode(value))
+    end
   end  
   socket.sleep(delay)
 end