mirror of https://github.com/arendst/Tasmota.git
KNX: Added Read reply for Power
This commit is contained in:
parent
d237bc4294
commit
2e06647ea4
|
@ -644,6 +644,76 @@ void KNX_CB_Action(message_t const &msg, void *arg)
|
||||||
knx.answer_4byte_float(msg.received_on, last_hum);
|
knx.answer_4byte_float(msg.received_on, last_hum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_VOLTAGE) // Reply KNX_ENERGY_VOLTAGE
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.voltage[0]);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.voltage[0]);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.voltage[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_CURRENT) // Reply KNX_ENERGY_CURRENT
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.current[0]);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.current[0]);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.current[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_POWER) // Reply KNX_ENERGY_POWER
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.active_power[0]);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.active_power[0]);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.active_power[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_POWERFACTOR) // Reply KNX_ENERGY_POWERFACTOR
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.power_factor[0]);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.power_factor[0]);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.power_factor[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_START) // Reply KNX_ENERGY_START
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.start_energy);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.start_energy);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.start_energy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_DAILY) // Reply KNX_ENERGY_DAILY
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.daily);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.daily);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.daily);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (chan->type == KNX_ENERGY_TOTAL) // Reply KNX_ENERGY_TOTAL
|
||||||
|
{
|
||||||
|
if (Energy.data_valid[0]) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.total);
|
||||||
|
if (Settings.flag.knx_enable_enhancement) {
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.total);
|
||||||
|
knx.answer_4byte_float(msg.received_on, Energy.total);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
#ifdef USE_RULES
|
#ifdef USE_RULES
|
||||||
else if ((chan->type >= KNX_SLOT1) && (chan->type <= KNX_SLOT5)) // KNX RX SLOTs (read command)
|
else if ((chan->type >= KNX_SLOT1) && (chan->type <= KNX_SLOT5)) // KNX RX SLOTs (read command)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue