From 048a9380b9055976b6b8b54316abc8dbbe09940f Mon Sep 17 00:00:00 2001 From: bpohvoodoo Date: Sat, 18 Apr 2020 08:31:59 +0200 Subject: [PATCH] Version Bump to 3.1.1 * bugfixes regarding issue #80 --- Arduino/McLighting/McLighting.ino | 2 +- Arduino/McLighting/definitions.h | 8 ++++---- Arduino/McLighting/request_handlers.h | 12 ++++++++---- Arduino/McLighting/version.h | 2 +- Arduino/McLighting/version_info.ino | 4 ++++ 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Arduino/McLighting/McLighting.ino b/Arduino/McLighting/McLighting.ino index ad2cd043..b229a748 100644 --- a/Arduino/McLighting/McLighting.ino +++ b/Arduino/McLighting/McLighting.ino @@ -747,7 +747,7 @@ void loop() { #endif #if defined(ENABLE_HOMEASSISTANT) if(ha_send_data.active()) ha_send_data.detach(); - ha_send_data.once(5, tickerSendState); + ha_send_data.once(DELAY_MQTT_HA_MESSAGE, tickerSendState); #endif #endif } diff --git a/Arduino/McLighting/definitions.h b/Arduino/McLighting/definitions.h index 285fff92..050d8b78 100644 --- a/Arduino/McLighting/definitions.h +++ b/Arduino/McLighting/definitions.h @@ -20,7 +20,7 @@ char HOSTNAME[65] = "McLightingRGBW"; // Friedly hostname is configurable just //#define ENABLE_MQTT_INCLUDE_IP // uncomment/comment to add the IP-adress to the MQTT message #define ENABLE_HOMEASSISTANT // If defined, enable Homeassistant integration, ENABLE_MQTT must be active #define MQTT_HOME_ASSISTANT_SUPPORT // If defined, use AMQTT and select Tools -> IwIP Variant -> Higher Bandwidth -//#define DISABLE_MQTT_OUT_ON_MQTT_IN // If defined, McLighting will not send back MQTT-out on MQTT-in regarding issue #67, does not change anything at the moment +#define DELAY_MQTT_HA_MESSAGE 5 // HA Status is send after DELAY_MQTT_HA_MESSAGE seconds, to save bandwith //#define ENABLE_BUTTON 14 // If defined, enable button handling code, see: https://github.com/toblum/McLighting/wiki/Button-control, the value defines the input pin (14 / D5) for switching the LED strip on / off, connect this PIN to ground to trigger button. //#define ENABLE_BUTTON_GY33 12 // If defined, enable button handling code for GY-33 color sensor to scan color. The value defines the input pin (12 / D6) for read color data with RGB sensor, connect this PIN to ground to trigger button. @@ -28,7 +28,7 @@ char HOSTNAME[65] = "McLightingRGBW"; // Friedly hostname is configurable just #if defined(POWER_SUPPLY) #define POWER_ON HIGH // Define the output state to turn on the power supply, either HIGH or LOW. Opposite will be uses for power off. #endif -#define ENABLE_REMOTE 13 // If defined, enable Remote Control via TSOP31238. The value defines the input pin (13 / D7) for TSOP31238 Out +//#define ENABLE_REMOTE 13 // If defined, enable Remote Control via TSOP31238. The value defines the input pin (13 / D7) for TSOP31238 Out #if defined(ENABLE_BUTTON_GY33) #define GAMMA 2.5 // Gamma correction for GY-33 sensor @@ -178,10 +178,10 @@ struct { uint8_t pin = 3; #endif #if USE_WS2812FX_DMA == 1 - uint8_t pin = 2; + uint8_t pin = 1; #endif #if USE_WS2812FX_DMA == 2 - uint8_t pin = 1; + uint8_t pin = 2; #endif #else uint8_t pin = LED_PIN; diff --git a/Arduino/McLighting/request_handlers.h b/Arduino/McLighting/request_handlers.h index b95e4668..1dc18f1c 100644 --- a/Arduino/McLighting/request_handlers.h +++ b/Arduino/McLighting/request_handlers.h @@ -743,11 +743,15 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght root["effect"] = strip->getModeName(strip->getMode()); } #endif - char buffer[measureJson(root) + 1]; + uint16_t msg_len = measureJson(root) + 1; + char buffer[msg_len]; serializeJson(root, buffer, sizeof(buffer)); jsonBuffer.clear(); #if ENABLE_MQTT == 0 - mqtt_client->publish(mqtt_ha_state_out, buffer, true); + //mqtt_client->publish(mqtt_ha_state_out, buffer, true); + mqtt_client->beginPublish(mqtt_ha_state_out, msg_len-1, true); + mqtt_client->write((const uint8_t*)buffer, msg_len-1); + mqtt_client->endPublish(); DBG_OUTPUT_PORT.printf("MQTT: Send [%s]: %s\r\n", mqtt_ha_state_out, buffer); #endif #if ENABLE_MQTT == 1 @@ -901,7 +905,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght return; } if(ha_send_data.active()) ha_send_data.detach(); - ha_send_data.once(5, tickerSendState); + ha_send_data.once(DELAY_MQTT_HA_MESSAGE, tickerSendState); } else if (strcmp(topic, mqtt_intopic) == 0) { #endif @@ -936,7 +940,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght #if defined(ENABLE_HOMEASSISTANT) ha_send_data.detach(); mqtt_client->subscribe(mqtt_ha_state_in, qossub); - ha_send_data.once(5, tickerSendState); + ha_send_data.once(DELAY_MQTT_HA_MESSAGE, tickerSendState); #if defined(MQTT_HOME_ASSISTANT_SUPPORT) const size_t bufferSize = JSON_ARRAY_SIZE(strip->getModeCount()+ 4) + JSON_OBJECT_SIZE(11) + 1500; DynamicJsonDocument jsonBuffer(bufferSize); diff --git a/Arduino/McLighting/version.h b/Arduino/McLighting/version.h index d375a808..fc3c5050 100644 --- a/Arduino/McLighting/version.h +++ b/Arduino/McLighting/version.h @@ -1 +1 @@ -#define SKETCH_VERSION "3.1.0" +#define SKETCH_VERSION "3.1.1" diff --git a/Arduino/McLighting/version_info.ino b/Arduino/McLighting/version_info.ino index bc1e5d02..7c32324d 100644 --- a/Arduino/McLighting/version_info.ino +++ b/Arduino/McLighting/version_info.ino @@ -257,4 +257,8 @@ * Version Bump to 3.1.0 * bugfixes * E1.31 is now working for multi segments + * + * 18 April 2020 + * Version Bump to 3.1.1 + * bugfixes regarding issue #80 */