working AC code generation for TLC_112;
fallback to HTTP if HTTPS certs not loaded.
This commit is contained in:
60
ac.js
60
ac.js
@@ -11,6 +11,15 @@ var INT8_MAX = 127;
|
||||
var UINT8_MAX = 255;
|
||||
var UINT8_MAX2 = 0xFF;
|
||||
|
||||
const AcMode = Object.freeze({"Heat":1, "Dry":2, "Cool":3, "Fan":7, "Auto":8})
|
||||
|
||||
// var AcMode {
|
||||
// Heat = 1,
|
||||
// Dry = 2,
|
||||
// Cool = 3,
|
||||
// FanHi = 7,
|
||||
// Auto = 8
|
||||
// }
|
||||
|
||||
// Constants
|
||||
var AcTimes =
|
||||
@@ -26,13 +35,7 @@ var AcTimes =
|
||||
// var AcTolerance = 5; // Extra Percentage for the rest.
|
||||
};
|
||||
|
||||
const enum AcMode {
|
||||
Heat = 1,
|
||||
Dry = 2,
|
||||
Cool = 3,
|
||||
FanHi = 7,
|
||||
Auto = 8
|
||||
};
|
||||
|
||||
|
||||
var AcModeSize = 4; // Nr. of Bits
|
||||
|
||||
@@ -82,7 +85,7 @@ var b = setBits(state[0],0,5,0x0);
|
||||
console.log("" + state.toString('hex'));
|
||||
setTemp(24);
|
||||
// console.log("" + state.toString('hex'));
|
||||
setMode(AcHeat);
|
||||
setMode(AcMode.Heat);
|
||||
// console.log("" + state.toString('hex'));
|
||||
setPower(true);
|
||||
// console.log("" + state.toString('hex'));
|
||||
@@ -92,20 +95,20 @@ var rawTime = "38000,"+GenerateTimingString();
|
||||
console.log(rawTime);
|
||||
|
||||
|
||||
const request = require('request');
|
||||
request.post(
|
||||
'http://192.168.1.126/ir',
|
||||
{ form: { code: rawTime, type: 30} },
|
||||
function (error, response, body) {
|
||||
if (!error && response.statusCode == 200) {
|
||||
console.log("GOT " + body);
|
||||
//var m = model;
|
||||
//res.render('accontrol', {model:{data:req.body, user:req.user, command:com[0], info:com[0].info}});
|
||||
}else{
|
||||
model.info = "Error executing command " + model.command.info + ". Server resturned:" + req.statusCode
|
||||
}
|
||||
}
|
||||
);
|
||||
// const request = require('request');
|
||||
// request.post(
|
||||
// 'http://192.168.1.126/ir',
|
||||
// { form: { code: rawTime, type: 30} },
|
||||
// function (error, response, body) {
|
||||
// if (!error && response.statusCode == 200) {
|
||||
// console.log("GOT " + body);
|
||||
// //var m = model;
|
||||
// //res.render('accontrol', {model:{data:req.body, user:req.user, command:com[0], info:com[0].info}});
|
||||
// }else{
|
||||
// model.info = "Error executing command " + model.command.info + ". Server resturned:" + req.statusCode
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
|
||||
function GenerateTimingString()
|
||||
{
|
||||
@@ -186,17 +189,16 @@ function setPower( on) {
|
||||
function setMode(mode) {
|
||||
// If we get an unexpected mode, default to AUTO.
|
||||
switch (mode) {
|
||||
case AcFanHi:
|
||||
case AcMode.Fan:
|
||||
setFan(AcFanHigh);break;
|
||||
// FALLTHRU
|
||||
case AcAuto:
|
||||
case AcCool:
|
||||
case AcHeat:
|
||||
case AcDry:
|
||||
case AcMode.Auto:
|
||||
case AcMode.Cool:
|
||||
case AcMode.Heat:
|
||||
case AcMode.Dry:
|
||||
state[6] = setBits(state[6], kLowNibble, AcModeSize, mode);
|
||||
break;
|
||||
default:
|
||||
setMode(AcAuto);
|
||||
setMode(AcMode.Auto);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user