working AC code generation for TLC_112;

fallback to HTTP if HTTPS certs not loaded.
This commit is contained in:
d-popov
2020-04-15 16:40:16 +03:00
parent 2c2190a514
commit 608344f876
2 changed files with 145 additions and 111 deletions

60
ac.js
View File

@@ -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);
}
}