Subversion Repositories HomeAutomation

Rev

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

Rev 2132 Rev 2210
Line 222... Line 222...
222
        if (aliases_data[name]["module_name"]=="hwPWM") {
222
        if (aliases_data[name]["module_name"]=="hwPWM") {
223
            steps_set = steps*39;
223
            steps_set = steps*39;
224
        if (steps_set > 9940) {
224
        if (steps_set > 9940) {
225
          level_set = 10000;
225
          level_set = 10000;
226
        }
226
        }
-
 
227
        }      
-
 
228
    else if (aliases_data[name]["module_name"] == "rfTransceive")
-
 
229
    {
-
 
230
       var last_value = { "Level" : { "value" : 0, "timestamp" : 0 } };
-
 
231
        var last_value_string = Storage_GetParameter("LastValues", name);
-
 
232
 
-
 
233
        if (last_value_string)
-
 
234
        {
-
 
235
          last_value = eval("(" + last_value_string + ")");
-
 
236
        }
-
 
237
       
-
 
238
        var current_level = parseInt(last_value["Level"]["value"], 10)
-
 
239
        if (direction == "Decrease")
-
 
240
        {
-
 
241
          current_level -= parseInt(steps,10);
-
 
242
        }
-
 
243
        else
-
 
244
        {
-
 
245
          current_level += parseInt(steps,10);
-
 
246
        }
-
 
247
        if (current_level > 255)
-
 
248
        {
-
 
249
          current_level = 255;
-
 
250
        }
-
 
251
        if (current_level < 0)
-
 
252
        {
-
 
253
          current_level = 0;
-
 
254
        }
-
 
255
      var data = parseInt(aliases_data[name]["specific"]["Data"], 10);
-
 
256
      var level_index = Math.ceil(current_level / 16);
-
 
257
      var level_values = [ 0, 15, 7, 11, 3, 13, 5, 9, 1, 14, 6, 10, 2, 12, 4, 8, 0 ];
-
 
258
 
-
 
259
      if (level_index === 0)
-
 
260
      {
-
 
261
        var highest_bit = data | 1;
-
 
262
 
-
 
263
        data |= 0x8000000;
-
 
264
 
-
 
265
        var down_shifted_data = data >>> 1;
-
 
266
        data = (down_shifted_data * 2) + (highest_bit & 1);
-
 
267
      }
-
 
268
      else
-
 
269
      {
-
 
270
        data += 0x8000000000; // Set MSB = Dimmer mode 
-
 
271
      }
-
 
272
 
-
 
273
      data += level_values[level_index] * 0x100000000; //Add dimmer level 
-
 
274
 
-
 
275
      var variables = {
-
 
276
        "Channel"  : aliases_data[name]["specific"]["Channel"],
-
 
277
        "Protocol" : "Nexa2",
-
 
278
        "IRdata"   : data,
-
 
279
        "Status"   : "Burst" };
-
 
280
 
-
 
281
      if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "IR", variables))
-
 
282
      {
-
 
283
        //Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
-
 
284
 
-
 
285
        var last_value = {};
-
 
286
        var last_value_string = Storage_GetParameter("LastValues", name);
-
 
287
 
-
 
288
        if (last_value_string)
-
 
289
        {
-
 
290
          last_value = eval("(" + last_value_string + ")");
-
 
291
        }
-
 
292
 
-
 
293
        last_value["Level"] = { "value" : current_level, "timestamp" : get_time() };
-
 
294
 
-
 
295
        Storage_SetParameter("LastValues", name, JSON.stringify(last_value));
-
 
296
      }
-
 
297
      else
-
 
298
      {
-
 
299
        Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
-
 
300
      }
-
 
301
 
-
 
302
      found = true;
-
 
303
 
-
 
304
      continue;
-
 
305
    }  
227
        } else {
306
        else {
228
            steps_set = steps;
307
            steps_set = steps;
229
    }
308
    }
230
        var variables = {
309
        var variables = {
231
            "Channel"   : aliases_data[name]["specific"]["Channel"],
310
            "Channel"   : aliases_data[name]["specific"]["Channel"],
232
            "Speed"     : speed,
311
            "Speed"     : speed,