Merge pull request #423 from MichaelDvP/web

some small fixes
This commit is contained in:
Proddy
2020-07-07 18:06:40 +02:00
committed by GitHub
7 changed files with 18 additions and 17 deletions

View File

@@ -27,10 +27,9 @@ void EMSESPDevicesService::emsespDevicesService(AsyncWebServerRequest * request)
deviceRoot["productid"] = emsdevice->product_id();
deviceRoot["version"] = emsdevice->version();
}
response->setLength();
request->send(response);
}
response->setLength();
request->send(response);
}
} // namespace emsesp

View File

@@ -256,6 +256,9 @@ void Mqtt::start(AsyncMqttClient * mqttClient) {
#ifndef EMSESP_STANDALONE
mqttClient_->setWill(make_topic(will_topic_, "status"), 1, true, "offline"); // with qos 1, retain true
mqttClient_->onMessage([this](char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) {
on_message(topic, payload, len);
});
#endif
}

View File

@@ -65,18 +65,17 @@ void Roomctrl::check(const uint8_t addr, const uint8_t * data) {
if (hc_ > 3) {
return;
}
// no reply if the temperature is not set
if (remotetemp[hc_] == EMS_VALUE_SHORT_NOTSET) {
return;
}
// reply to writes with write nack byte
if (addr & 0x80) { // it's a write to us
nack_write(); // we don't accept writes.
return;
}
// for now we only reply to version and remote temperature
// reads: for now we only reply to version and remote temperature
// empty message back if temperature not set or unknown message type
if (data[2] == 0x02) {
version(addr, data[0]);
} else if (remotetemp[hc_] == EMS_VALUE_SHORT_NOTSET) {
unknown(addr, data[0], data[2], data[3]);
} else if (data[2] == 0xAF && data[3] == 0) {
temperature(addr, data[0]);
} else {

View File

@@ -205,11 +205,6 @@ void RxService::add(uint8_t * data, uint8_t length) {
message_length = length - 6 - shift;
}
// if we don't have a type_id or empty data block, exit
if ((type_id == 0) || (message_length == 0)) {
return;
}
// if we're watching and "raw" print out actual telegram as bytes to the console
if (EMSESP::watch() == EMSESP::Watch::WATCH_RAW) {
uint16_t trace_watch_id = EMSESP::watch_id();
@@ -222,6 +217,11 @@ void RxService::add(uint8_t * data, uint8_t length) {
LOG_DEBUG(F("[DEBUG] New Rx [#%d] telegram, message length %d"), rx_telegram_id_, message_length);
#endif
// if we don't have a type_id or empty data block, exit
if ((type_id == 0) || (message_length == 0)) {
return;
}
// create the telegram
auto telegram = std::make_shared<Telegram>(Telegram::Operation::RX, src, dest, type_id, offset, message_data, message_length);
@@ -233,7 +233,6 @@ void RxService::add(uint8_t * data, uint8_t length) {
rx_telegrams_.emplace_back(rx_telegram_id_++, std::move(telegram)); // add to queue
}
//
// Tx CODE starts here...
//

View File

@@ -213,7 +213,8 @@ uint16_t EMSuart::transmit(const uint8_t * buf, const uint8_t len) {
}
if (tx_mode_ == 5) { // wait before sending
vTaskDelay(4 / portTICK_PERIOD_MS);
//vTaskDelay(4 / portTICK_PERIOD_MS);
delayMicroseconds(4000);
for (uint8_t i = 0; i < len; i++) {
EMS_UART.fifo.rw_byte = buf[i];
}