mirror of
https://github.com/anklimov/lighthub
synced 2025-12-17 09:09:51 +03:00
AnalogInput developed, some other fixes: eol-to-endl debugSerial; volume RGB channels changing by single argument passing (GoodleHome/analogue input control) fixed
This commit is contained in:
@@ -84,7 +84,7 @@ void Item::Parse() {
|
||||
itemType = aJson.getArrayItem(itemArr, I_TYPE)->valueint;
|
||||
itemArg = aJson.getArrayItem(itemArr, I_ARG);
|
||||
itemVal = aJson.getArrayItem(itemArr, I_VAL);
|
||||
// debugSerial << F(" Item:") << itemArr->name << F(" T:") << itemType << F(" =") << getArg() << eol;
|
||||
// debugSerial << F(" Item:") << itemArr->name << F(" T:") << itemType << F(" =") << getArg() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ void Item::setCmd(uint8_t cmdValue) {
|
||||
if (itemCmd)
|
||||
{
|
||||
itemCmd->valueint = cmdValue;
|
||||
debugSerial<<F("SetCmd:")<<cmdValue<<eol;
|
||||
debugSerial<<F("SetCmd:")<<cmdValue<<endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ void Item::setVal(short n, int par) // Only store if VAL is array defined in c
|
||||
void Item::setVal(long int par) // Only store if VAL is int (autogenerated or config-defined)
|
||||
{
|
||||
if (!itemVal || itemVal->type != aJson_Int) return;
|
||||
debugSerial<<F(" Store ")<<F(" Val=")<<par<<eol;
|
||||
debugSerial<<F(" Store ")<<F(" Val=")<<par<<endl;
|
||||
itemVal->valueint = par;
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ boolean Item::getEnableCMD(int delta) {
|
||||
|
||||
int Item::Ctrl(char * payload, boolean send){
|
||||
if (!payload) return 0;
|
||||
// debugSerial<<F("'")<<payload<<F("'")<<eol;
|
||||
// debugSerial<<F("'")<<payload<<F("'")<<endl;
|
||||
int cmd = txt2cmd(payload);
|
||||
switch (cmd) {
|
||||
case 0: {
|
||||
@@ -259,7 +259,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
Par[i] = Parameters[i];
|
||||
debugSerial<<Par[i]<<F(",");
|
||||
}
|
||||
debugSerial<<eol;
|
||||
debugSerial<<endl;
|
||||
int iaddr = getArg();
|
||||
HSVstore st;
|
||||
switch (cmd) {
|
||||
@@ -273,7 +273,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
if (itemType != CH_GROUP) //individual threating of channels. Ignore restore command for groups
|
||||
switch (t = getCmd()) {
|
||||
case CMD_HALT: //previous command was HALT ?
|
||||
debugSerial << F("Restored from:") << t << eol;
|
||||
debugSerial << F("Restored from:") << t << endl;
|
||||
cmd = CMD_ON; //turning on
|
||||
break;
|
||||
default:
|
||||
@@ -284,11 +284,11 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
if (itemType != CH_GROUP) //individual threating of channels. Ignore restore command for groups
|
||||
switch (t = getCmd()) {
|
||||
case CMD_XON: //previous command was CMD_XON ?
|
||||
debugSerial << F("Turned off from:") << t << eol;
|
||||
debugSerial << F("Turned off from:") << t << endl;
|
||||
cmd = CMD_OFF; //turning Off
|
||||
break;
|
||||
default:
|
||||
debugSerial<<F("XOFF skipped. Prev cmd:")<<t<<eol;
|
||||
debugSerial<<F("XOFF skipped. Prev cmd:")<<t<<endl;
|
||||
return -3;
|
||||
}
|
||||
break;
|
||||
@@ -302,7 +302,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
switch (itemType) {
|
||||
|
||||
case CH_RGBW: //only if configured VAL array
|
||||
if (!Par[1]) itemType = CH_WHITE;
|
||||
if (!Par[1] && (n == 3)) itemType = CH_WHITE;
|
||||
case CH_RGB:
|
||||
if (n == 3) { // Full triplet passed
|
||||
st.h = Par[0];
|
||||
@@ -458,7 +458,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
}
|
||||
} // default handler
|
||||
for (short i = 0; i < params; i++) {
|
||||
debugSerial<<F("Restored: ")<<i<<F("=")<<Par[i]<<eol;
|
||||
debugSerial<<F("Restored: ")<<i<<F("=")<<Par[i]<<endl;
|
||||
}
|
||||
/*
|
||||
} else { //Double ON - apply special preset - clean white full power
|
||||
@@ -526,7 +526,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
{
|
||||
int k;
|
||||
DmxWrite(iaddr + 3, k = map((100 - Par[1]) * Par[2], 0, 10000, 0, 255));
|
||||
debugSerial<<F("W:")<<k<<eol;
|
||||
debugSerial<<F("W:")<<k<<endl;
|
||||
}
|
||||
case CH_RGB: // RGB
|
||||
{
|
||||
@@ -581,7 +581,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
int k;
|
||||
pinMode(iaddr, OUTPUT);
|
||||
digitalWrite(iaddr, k = ((cmd == CMD_ON || cmd == CMD_XON) ? HIGH : LOW));
|
||||
debugSerial<<F("Pin:")<<iaddr<<F("=")<<k<<eol;
|
||||
debugSerial<<F("Pin:")<<iaddr<<F("=")<<k<<endl;
|
||||
break;
|
||||
case CH_THERMO:
|
||||
///thermoSet(name,cmd,Par1); all cativities done - update temp & cmd
|
||||
@@ -617,7 +617,7 @@ int Item::Ctrl(short cmd, short n, int *Parameters, boolean send) {
|
||||
if (inverse) k = map(Par[0], 100, 0, 0, 255);
|
||||
else k = map(Par[0], 0, 100, 0, 255);
|
||||
analogWrite(iaddr, k);
|
||||
debugSerial<<F("Pin:")<<iaddr<<F("=")<<k<<eol;
|
||||
debugSerial<<F("Pin:")<<iaddr<<F("=")<<k<<endl;
|
||||
break;
|
||||
}
|
||||
#ifdef _modbus
|
||||
@@ -782,7 +782,7 @@ extern ModbusMaster node;
|
||||
|
||||
int Item::VacomSetFan(int8_t val, int8_t cmd) {
|
||||
int addr = getArg();
|
||||
debugSerial<<F("VC#")<<addr<<F("=")<<val<<eol;
|
||||
debugSerial<<F("VC#")<<addr<<F("=")<<val<<endl;
|
||||
if (modbusBusy) {
|
||||
mb_fail(1, addr, val, cmd);
|
||||
return -1;
|
||||
@@ -808,7 +808,7 @@ int Item::VacomSetFan(int8_t val, int8_t cmd) {
|
||||
|
||||
int Item::VacomSetHeat(int addr, int8_t val, int8_t cmd) {
|
||||
|
||||
debugSerial<<F("VC_heat#")<<addr<<F("=")<<val<<F(" cmd=")<<cmd<<eol;
|
||||
debugSerial<<F("VC_heat#")<<addr<<F("=")<<val<<F(" cmd=")<<cmd<<endl;
|
||||
if (modbusBusy) {
|
||||
mb_fail(2, addr, val, cmd);
|
||||
return -1;
|
||||
@@ -859,7 +859,7 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _regType, int _mask, uint
|
||||
value &= 0xff;
|
||||
value |= (0xff00);
|
||||
}
|
||||
debugSerial<<addr<<F("=>")<<_HEX(_reg)<<F("(T:")<<_regType<<F("):")<<_HEX(value)<<eol;
|
||||
debugSerial<<addr<<F("=>")<<_HEX(_reg)<<F("(T:")<<_regType<<F("):")<<_HEX(value)<<endl;
|
||||
switch (_regType) {
|
||||
case MODBUS_HOLDING_REG_TYPE:
|
||||
node.writeSingleRegister(_reg, value);
|
||||
@@ -906,7 +906,7 @@ int Item::checkFM() {
|
||||
data = node.getResponseBuffer(j);
|
||||
debugSerial<<_HEX(data)<<F("-");
|
||||
}
|
||||
debugSerial<<eol;
|
||||
debugSerial<<endl;
|
||||
int RPM;
|
||||
// aJson.addNumberToObject(out,"gsw", (int) node.getResponseBuffer(1));
|
||||
aJson.addNumberToObject(out, "V", (int) node.getResponseBuffer(2) / 100.);
|
||||
@@ -928,7 +928,7 @@ int Item::checkFM() {
|
||||
}
|
||||
}
|
||||
} else
|
||||
debugSerial << F("Modbus polling error=") << _HEX(result) << eol;
|
||||
debugSerial << F("Modbus polling error=") << _HEX(result) << endl;
|
||||
|
||||
if (node.getResponseBuffer(0) & 8) //Active fault
|
||||
{
|
||||
@@ -946,7 +946,7 @@ int Item::checkFM() {
|
||||
data = node.getResponseBuffer(j);
|
||||
debugSerial << data << F("-");
|
||||
}
|
||||
debugSerial << eol;
|
||||
debugSerial << endl;
|
||||
int set = node.getResponseBuffer(0);
|
||||
float ftemp, fset = set * a + b;
|
||||
if (set)
|
||||
@@ -1037,10 +1037,10 @@ int Item::checkModbusDimmer() {
|
||||
|
||||
if (result == node.ku8MBSuccess) {
|
||||
data = node.getResponseBuffer(0);
|
||||
debugSerial << F("MB: ") << itemArr->name << F(" Val: ") << _HEX(data) << eol;
|
||||
debugSerial << F("MB: ") << itemArr->name << F(" Val: ") << _HEX(data) << endl;
|
||||
checkModbusDimmer(data);
|
||||
} else
|
||||
debugSerial << F("Modbus polling error=") << _HEX(result) << eol;
|
||||
debugSerial << F("Modbus polling error=") << _HEX(result) << endl;
|
||||
modbusBusy = 0;
|
||||
|
||||
// Looking 1 step ahead for modbus item, which uses same register
|
||||
@@ -1201,7 +1201,7 @@ int Item::SendStatus(short cmd, short n, int *Par, boolean deffered) {
|
||||
debugSerial<<F("Unknown cmd \n");
|
||||
return -1;
|
||||
}
|
||||
debugSerial<<F("Pub: ")<<addrstr<<F("->")<<valstr<<eol;
|
||||
debugSerial<<F("Pub: ")<<addrstr<<F("->")<<valstr<<endl;
|
||||
mqttClient.publish(addrstr, valstr,true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user