Rev 1807 | Rev 1900 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1807 | Rev 1899 | ||
|---|---|---|---|
| Line 54... | Line 54... | ||
| 54 | { |
54 | { |
| 55 | case "Phonenumber": |
55 | case "Phonenumber": |
| 56 | { |
56 | { |
| 57 | for (var alias_name in aliases_data) |
57 | for (var alias_name in aliases_data) |
| 58 | { |
58 | { |
| - | 59 | if (variables["Number"].length > 6) { |
|
| - | 60 | var direction; |
|
| - | 61 | if (variables["Number"].charAt(0) == 'A') { |
|
| - | 62 | direction = "in"; |
|
| - | 63 | var endIndex = variables["Number"].indexOf('C'); |
|
| - | 64 | if (endIndex =! -1) { |
|
| - | 65 | variables["Number"] = variables["Number"].subString(1,endIndex); |
|
| - | 66 | } |
|
| - | 67 | } else { |
|
| - | 68 | direction = "out"; |
|
| - | 69 | } |
|
| 59 | var last_value = {}; |
70 | var last_value = {}; |
| 60 | var last_value_string = Storage_GetParameter("LastValues", alias_name); |
71 | var last_value_string = Storage_GetParameter("LastValues", alias_name); |
| 61 | 72 | ||
| 62 | if (last_value_string) |
73 | if (last_value_string) |
| 63 | { |
74 | { |
| 64 | last_value = eval("(" + last_value_string + ")"); |
75 | last_value = eval("(" + last_value_string + ")"); |
| 65 | } |
76 | } |
| 66 | 77 | ||
| 67 | last_value[command |
78 | last_value[command] = { "value" : variables["Number"], "timestamp" : get_time(), "direction" : direction }; |
| 68 | 79 | ||
| 69 | Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value)); |
80 | Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value)); |
| 70 | 81 | ||
| 71 | var all_numbers = Storage_GetParameters("PhoneCalls"); |
82 | var all_numbers = Storage_GetParameters("PhoneCalls"); |
| 72 | var newString = |
83 | var newString = "{\"number\":\"" + variables["Number"] + "\",\"module\":\"" + alias_name + "\",\"direction\":\"" + direction + "\"}"; |
| 73 | Storage_SetParameter("PhoneCalls", get_time(), newString); |
84 | Storage_SetParameter("PhoneCalls", get_time(), newString); |
| 74 | Log("New number: "+newString +"\n"); |
85 | Log("New number: "+newString +"\n"); |
| - | 86 | Sensor_StoreNumberInPhonebook(variables["Number"]); |
|
| - | 87 | } |
|
| 75 | } |
88 | } |
| 76 | break; |
89 | break; |
| 77 | } |
90 | } |
| 78 | case "Voltage": |
91 | case "Voltage": |
| 79 | case "Temperature_Celsius": |
92 | case "Temperature_Celsius": |
| Line 90... | Line 103... | ||
| 90 | var last_value_string = Storage_GetParameter("LastValues", alias_name); |
103 | var last_value_string = Storage_GetParameter("LastValues", alias_name); |
| 91 | 104 | ||
| 92 | if (last_value_string) |
105 | if (last_value_string) |
| 93 | { |
106 | { |
| 94 | last_value = eval("(" + last_value_string + ")"); |
107 | last_value = eval("(" + last_value_string + ")"); |
| 95 | } |
108 | } |
| 96 | 109 | ||
| 97 | last_value[command] = { "value" : variables["Value"], "timestamp" : get_time() }; |
110 | last_value[command] = { "value" : variables["Value"], "timestamp" : get_time() }; |
| 98 | 111 | ||
| 99 | Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value)); |
112 | Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value)); |
| 100 | } |
113 | } |
| 101 | 114 | ||
| 102 | break; |
115 | break; |
| 103 | } |
116 | } |
| 104 | } |
117 | } |
| 105 | } |
118 | } |
| 106 | } |
119 | } |
| 107 | Module_RegisterToOnMessage("all", Sensor_OnMessage); |
120 | Module_RegisterToOnMessage("all", Sensor_OnMessage); |
| - | 121 | ||
| - | 122 | function Sensor_StoreNumberInPhonebook(number) |
|
| - | 123 | { |
|
| - | 124 | var phonebook = Storage_GetJsonParamter("PhoneBook",number) |
|
| - | 125 | if (!phonebook) { |
|
| - | 126 | Http_Request("wap.hitta.se/default.aspx?Who=" + number + "&Where=&PageAction=White", |
|
| - | 127 | function(socket_id, result, header, content_data) { |
|
| - | 128 | var persons = new Array(); |
|
| - | 129 | if (result.indexOf("200 OK") != -1) |
|
| - | 130 | { |
|
| - | 131 | var endString = "<anchor>Tillbaka<prev/></anchor>"; |
|
| - | 132 | var nameStartString = " title=\"Link\">"; |
|
| - | 133 | var nameEndString = "</a>"; |
|
| - | 134 | ||
| - | 135 | var lines = content_data.split("<br/>"); |
|
| - | 136 | ||
| - | 137 | for (var n = 1; n < lines.length; n++) |
|
| - | 138 | { |
|
| - | 139 | var line = lines[n].trim(" \n"); |
|
| - | 140 | ||
| - | 141 | if (line.indexOf(endString) != -1) |
|
| - | 142 | { |
|
| - | 143 | break; |
|
| - | 144 | } |
|
| - | 145 | var pos = line.indexOf(nameStartString + (persons.length+1) + "."); |
|
| - | 146 | ||
| - | 147 | if (pos != -1) |
|
| - | 148 | { |
|
| - | 149 | pos += nameStartString.length + 2 |
|
| - | 150 | persons[persons.length] = line.substr(pos, line.length-pos-nameEndString.length).html_entity_decode().replace(" ", " "); |
|
| - | 151 | } |
|
| - | 152 | } |
|
| - | 153 | if (persons.length > 0) { |
|
| - | 154 | Storage_SetJsonParameter("PhoneBook", number, persons); |
|
| - | 155 | ||
| - | 156 | //CAll all listeners! |
|
| - | 157 | //.... |
|
| - | 158 | ||
| - | 159 | Log("\033[31mOnlinePhonebook: Found: " + JSON.stringify(persons) + "\033[0m\n"); |
|
| - | 160 | } |
|
| - | 161 | } |
|
| - | 162 | else |
|
| - | 163 | { |
|
| - | 164 | Log("\033[31mOnlinePhonebook: Failed to do name lookup, result was: " + result + "\033[0m\n"); |
|
| - | 165 | } |
|
| - | 166 | } |
|
| - | 167 | ); |
|
| - | 168 | } else { |
|
| - | 169 | Log("Number already stored\n"); |
|
| - | 170 | } |
|
| - | 171 | } |
|
| - | 172 | Console_RegisterCommand(Sensor_StoreNumberInPhonebook, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args); }); |
|
| - | 173 | ||
| - | 174 | ||
| - | 175 | ||