Subversion Repositories HomeAutomation

Rev

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

Rev 2124 Rev 2125
Line 189... Line 189...
189
        Log("\033[31mButton data is corrupt.\033[0m\n");
189
        Log("\033[31mButton data is corrupt.\033[0m\n");
190
        return false;
190
        return false;
191
    }  
191
    }  
192
    levelInt = parseInt(level);
192
    levelInt = parseInt(level);
193
    dataInt = parseInt(button_data["data"]);
193
    dataInt = parseInt(button_data["data"]);
194
    if (levelInt  >= 0 && levelInt <= 15) {
194
    if (levelInt  >= 0 && levelInt <= 16) {
-
 
195
        dataInt += 549755813888; //Set MSB
195
        switch(levelInt) {
196
        switch(levelInt) {
196
          case 0:
197
          case 0:
-
 
198
            dataInt -= 549755813888; //Clear MSB
-
 
199
            //dataInt |= 134217728;
197
            levelInt = 15;
200
            levelInt = 0;
198
            break;
201
            break;
199
          case 1:
202
          case 1:
200
            levelInt = 7;
203
            levelInt = 15;
201
            break;
204
            break;
202
          case 2:
205
          case 2:
203
            levelInt = 11;
206
            levelInt = 7;
204
            break;
207
            break;
205
          case 3:
208
          case 3:
206
            levelInt = 3;
209
            levelInt = 11;
207
            break;
210
            break;
208
          case 4:
211
          case 4:
209
            levelInt = 13;
212
            levelInt = 3;
210
            break;
213
            break;
211
          case 5:
214
          case 5:
212
            levelInt = 5;
215
            levelInt = 13;
213
            break;
216
            break;
214
          case 6:
217
          case 6:
215
            levelInt = 9;
218
            levelInt = 5;
216
            break;
219
            break;
217
          case 7:
220
          case 7:
218
            levelInt = 1;
221
            levelInt = 9;
219
            break;
222
            break;
220
          case 8:
223
          case 8:
221
            levelInt = 14;
224
            levelInt = 1;
222
            break;
225
            break;
223
          case 9:
226
          case 9:
224
            levelInt = 6;
227
            levelInt = 14;
225
            break;
228
            break;
226
          case 10:
229
          case 10:
-
 
230
            levelInt = 6;
-
 
231
            break;
-
 
232
          case 11:
227
            levelInt = 10;
233
            levelInt = 10;
228
            break;
-
 
229
          case 11:
-
 
230
            levelInt = 2;
-
 
231
            break;
234
            break;
232
          case 12:
235
          case 12:
233
            levelInt = 12;
236
            levelInt = 2;
234
            break;
237
            break;
235
          case 13:
238
          case 13:
236
            levelInt = 4;
239
            levelInt = 12;
237
            break;
240
            break;
238
          case 14:
241
          case 14:
239
            levelInt = 8;
242
            levelInt = 4;
240
            break;
243
            break;
241
          case 15:
244
          case 15:
-
 
245
            levelInt = 8;
-
 
246
            break;
-
 
247
          case 16:
242
            levelInt = 0;
248
            levelInt = 0;
243
            break;
249
            break;
244
        }
250
        }
245
        dataInt += 549755813888; //Set MSB
-
 
246
        dataInt += levelInt*4294967296//Add dimmer level
251
        dataInt += levelInt*4294967296//Add dimmer level
247
        Log("button_data[protocol]=" + button_data["protocol"] + "\n");
252
        Log("button_data[protocol]=" + button_data["protocol"] + "\n");
248
        return IROut_Send_Raw(alias_name, button_data["protocol"], dataInt.toString(), "Burst");   
253
        return IROut_Send_Raw(alias_name, button_data["protocol"], dataInt.toString(), "Burst");   
249
    } else {
254
    } else {
250
        Log("\033[31mDimmer level out of range [0 -> 16].\033[0m\n");
255
        Log("\033[31mDimmer level out of range [0 -> 16].\033[0m\n");