Subversion Repositories HomeAutomation

Rev

Rev 2153 | Rev 2182 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 2153 Rev 2181
Line 116... Line 116...
116
          {
116
          {
117
            Log("DTMF decoded number is to short, number: \"" + number + "\", length: " + number.length);
117
            Log("DTMF decoded number is to short, number: \"" + number + "\", length: " + number.length);
118
            return;
118
            return;
119
          }
119
          }
120
 
120
         
-
 
121
          /* Adding area code prefix if needed */
-
 
122
          if (number.charAt(0) != '0' && checkName)
-
 
123
          {
-
 
124
            if (typeof sensorDefaultPhoneAreaCode === 'undefined')
-
 
125
            {
-
 
126
              Log("\033[31mOnlinePhonebook: please add sensorDefaultPhoneAreaCode = yourAreaCode to autostart.js, defaulting to 031\033[0m\n");
-
 
127
              number = "031" + number;
-
 
128
            }
-
 
129
            else
-
 
130
            {
-
 
131
                number = sensorDefaultPhoneAreaCode + number;
-
 
132
            }
-
 
133
          }
121
 
134
 
122
          /* Store number and direction in last values */
135
          /* Store number and direction in last values */
123
          var lastValue = {};
136
          var lastValue = {};
124
          var lastValueString = Storage_GetParameter("LastValues", alias_name);
137
          var lastValueString = Storage_GetParameter("LastValues", alias_name);
125
 
138
 
Line 130... Line 143...
130
 
143
 
131
          var timestamp = get_time();
144
          var timestamp = get_time();
132
 
145
 
133
          lastValue["Phonenumber"] = { "value" : number, "timestamp" : timestamp };
146
          lastValue["Phonenumber"] = { "value" : number, "timestamp" : timestamp };
134
          lastValue["Direction"] = { "value" : incommingCall ? "in" : "out", "timestamp" : timestamp };
147
          lastValue["Direction"] = { "value" : incommingCall ? "in" : "out", "timestamp" : timestamp };
135
 
148
 
136
          Storage_SetParameter("LastValues", alias_name, JSON.stringify(lastValue));
149
          Storage_SetParameter("LastValues", alias_name, JSON.stringify(lastValue));
137
 
150
 
138
 
151
 
139
          /* Store number in phone call history */
152
          /* Store number in phone call history */
140
          var newValue = { "number" : number, "direction" : incommingCall ? "in" : "out", "module" : alias_name, "names" : [], "timestamp" : timestamp };
153
          var newValue = { "number" : number, "direction" : incommingCall ? "in" : "out", "module" : alias_name, "names" : [], "timestamp" : timestamp };
141
 
154
 
142
          Storage_SetParameter("PhoneCalls", timestamp, JSON.stringify(newValue));
155
          Storage_SetParameter("PhoneCalls", timestamp, JSON.stringify(newValue));
143
 
156
 
144
 
157
 
145
          /* Log the number */
158
          /* Log the number */
146
          Log("New number: " + number + ", direction: " + (incommingCall ? "in" : "out"));
159
          Log("New number: " + number + ", direction: " + (incommingCall ? "in" : "out"));
147
         
160
         
148
         
-
 
149
          var phonebookNumbers;
-
 
150
          /* Lookup name */
161
          /* Lookup name */
151
          if (checkName)
162
          if (checkName)
152
          {
163
          {
153
            phonebookNumbers = Sensor_StoreNumberInPhonebook(number, timestamp);
164
            Sensor_StoreNumberInPhonebook(number, timestamp);
154
          }
165
          }
155
 
166
 
-
 
167
          var phonebookNumbers = Storage_GetJsonParamter("PhoneBook", number);
156
          if (!phonebookNumbers)
168
          if (!phonebookNumbers)
157
          {
169
          {
158
            phonebookNumbers = [];
170
            phonebookNumbers = [];
159
          }
171
          }
160
         
172
         
Line 172... Line 184...
172
      }
184
      }
173
      case "Voltage":
185
      case "Voltage":
174
      case "Temperature_Celsius":
186
      case "Temperature_Celsius":
175
      {
187
      {
176
        if ((module_name == "DS18x20") && (variables["Value"] == 85))
188
        if ((module_name == "DS18x20") && (variables["Value"] == 85))
177
        {
189
        {
178
          Log("\033[31mDS18x20: Temperature conversion error: " + module_name + ":" + module_id + ", SensorId=" + variables["SensorId"] + "\033[0m");
190
          Log("\033[31mDS18x20: Temperature conversion error: " + module_name + ":" + module_id + ", SensorId=" + variables["SensorId"] + "\033[0m");
179
          break;
191
          break;
180
        }
192
        }
181
      }
193
      }
182
      case "Humidity_Percent":
194
      case "Humidity_Percent":
183
      {
195
      {
184
        for (var alias_name in aliases_data)
196
        for (var alias_name in aliases_data)
185
        {
197
        {
186
          if (aliases_data[alias_name]["specific"]["SensorId"] != variables["SensorId"])
198
          if (aliases_data[alias_name]["specific"]["SensorId"] != variables["SensorId"])
187
          {
199
          {
188
            continue;
200
            continue;
189
          }
201
          }
190
 
202
 
191
          var last_value = {};
203
          var last_value = {};
192
          var last_value_string = Storage_GetParameter("LastValues", alias_name);
204
          var last_value_string = Storage_GetParameter("LastValues", alias_name);
193
 
205
 
194
          if (last_value_string)
206
          if (last_value_string)
195
          {
207
          {
196
            last_value = eval("(" + last_value_string + ")");
208
            last_value = eval("(" + last_value_string + ")");
197
          }
209
          }
198
 
210
 
199
          last_value[command] = { "value" : variables["Value"], "timestamp" : get_time() };
211
          last_value[command] = { "value" : variables["Value"], "timestamp" : get_time() };
200
 
212
 
201
          Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value));
213
          Storage_SetParameter("LastValues", alias_name, JSON.stringify(last_value));
202
        }
214
        }
203
 
215
 
204
        break;
216
        break;
205
      }
217
      }
206
    }
218
    }
207
  }
219
  }
208
}
220
}
209
Module_RegisterToOnMessage("all", Sensor_OnMessage);
221
Module_RegisterToOnMessage("all", Sensor_OnMessage);
210
 
222
 
211
function Sensor_StoreNumberInPhonebook(number, timestamp)
223
function Sensor_StoreNumberInPhonebook(number, timestamp)
212
{
224
{
213
  var phonebookNumbers = Storage_GetJsonParamter("PhoneBook", number);
225
  var phonebookNumbers = Storage_GetJsonParamter("PhoneBook", number);
214
 
226
 
215
  if (!phonebookNumbers)
227
  if (!phonebookNumbers)
216
  {
228
  {
217
    if (number.charAt(0) != '0')
-
 
218
    {
-
 
219
      if (typeof sensorDefaultPhoneAreaCode === 'undefined')
-
 
220
      {
-
 
221
        Log("\033[31mOnlinePhonebook: please add sensorDefaultPhoneAreaCode = yourAreaCode to autostart.js, defaulting to 031\033[0m\n");
-
 
222
        number = "031" + number;
-
 
223
      }
-
 
224
      else
-
 
225
      {
-
 
226
          number = sensorDefaultPhoneAreaCode + number;
-
 
227
      }
-
 
228
    }
-
 
229
 
-
 
230
    phonebookNumbers = [];
229
    phonebookNumbers = [];
231
 
230
 
232
    url = "wap.eniro.se/query?search_word=" + number + "&what=mobwp";
231
    url = "wap.eniro.se/query?search_word=" + number + "&what=mobwp";
233
    //Log("\033[31mURL: http://"+url+"\033[0m\n");
232
    //Log("\033[31mURL: http://"+url+"\033[0m\n");
234
 
233