fixed AC protocol for my AC

This commit is contained in:
d-popov
2020-04-25 01:43:23 +03:00
parent 223844a35d
commit 7854b67905

22
ac.js
View File

@@ -59,7 +59,7 @@ var state;
state = Buffer.from(initialState.slice()); state = Buffer.from(initialState.slice());
//remote_state = initialState.slice(); //remote_state = initialState.slice();
//var b = setBits(state[0],0,5,0x0); var b = setBits(state[0],0,5,0x0);
// b = setBits(remote_state[0],0,6,0x0); // b = setBits(remote_state[0],0,6,0x0);
// b = setBits(remote_state[0],0,6,0x0); // b = setBits(remote_state[0],0,6,0x0);
// b = setBits(remote_state[0],0,7,0x0); // b = setBits(remote_state[0],0,7,0x0);
@@ -75,7 +75,7 @@ state = Buffer.from(initialState.slice());
// console.log("" + state.toString('hex')); // console.log("" + state.toString('hex'));
setTemp(22); setTemp(23);
setMode(AcMode.Heat); setMode(AcMode.Heat);
setPower(true); setPower(true);
setFan(AcFan.Med);check(); setFan(AcFan.Med);check();
@@ -84,25 +84,10 @@ console.log("" + state.toString('hex'));
// console.log(rawTime); // 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
// }
// }
// );
function GetState() function GetState()
{ {
return state.toString('hex').toUpperCase(); return state.toString('hex').toUpperCase();
} }
function GenerateTimingString() function GenerateTimingString()
{ {
var arr = [AcTimes.HdrMark, AcTimes.HdrSpace, AcTimes.BitMark]; var arr = [AcTimes.HdrMark, AcTimes.HdrSpace, AcTimes.BitMark];
@@ -204,7 +189,8 @@ function setTemp(celsius) {
var nrHalfDegrees = tsafe * 2; var nrHalfDegrees = tsafe * 2;
// Do we have a half degree celsius? // Do we have a half degree celsius?
state[12] = setBit(state[12], AcHalfDegreeOffset, nrHalfDegrees & 1); state[12] = setBit(state[12], AcHalfDegreeOffset, nrHalfDegrees & 1);
state[7] = setBits(state[7], kLowNibble, kNibbleSize, AcTempMax - nrHalfDegrees / 2);
state[7] = setBits(state[7], kLowNibble, kNibbleSize, (nrHalfDegrees % 2) + (AcTempMax - nrHalfDegrees / 2));
} }