Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1765 linlun 1
 
2
Input_ModuleNames    = [ "input"];
3
Input_Aliases        = function() { return Module_GetAliasNames(Input_ModuleNames); };
4
Input_AvailableIds   = function() { return Module_GetAvailableIds(Input_ModuleNames); };
5
 
6
//Log("\033[31mStarting input.\033[0m\n");
7
 
8
 
9
function Input_OnMessage(module_name, module_id, command, variables)
10
{
11
  //Log("\033[31mGot message "+module_name + " "+ module_id+" "+command+ "if: "+in_array(Input_ModuleNames, module_name)+".\033[0m\n");
12
 
13
    if (in_array(Input_ModuleNames, module_name))
14
    {
15
    //  Log("\033[31mGot message2 "+command+".\033[0m\n");
16
        var aliases_data = Module_LookupAliases({
17
            "module_name" : module_name,
18
            "module_id"   : module_id,
19
            "group"       : false
20
        });
21
 
22
        switch (command)
23
        {
24
            case "PinStatus":
25
            {
26
            //  Log("\033[31mGot PinStatus message.\033[0m\n");
27
                for (var alias_name in aliases_data)
28
                {
29
 
30
                    if (aliases_data[alias_name]["specific"]["PinId"] != variables["PinId"])
31
                    {
32
                        continue;
33
                    }
34
                //  Log("\033[31mMessage from: "+alias_name+".\033[0m\n");
35
                    var last_value = {};
36
                    var last_value_string = Storage_GetParameter("LastValues", alias_name);
37
 
38
                    if (last_value_string)
39
                    {
40
                        last_value = eval("(" + last_value_string + ")");
41
                    }
42
 
43
                    last_value["Status"] = { "value" : variables["Status"], "timestamp" : get_time() };
44
 
45
                    Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value));
46
                }
47
 
48
                break;
49
            }
50
        }
51
    }
52
}
53
Module_RegisterToOnMessage("all", Input_OnMessage);