mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 10:46:31 +00:00
Update sonoff.ino
This commit is contained in:
parent
f709f5cca2
commit
f3fba7e818
@ -18,11 +18,14 @@
|
|||||||
*/
|
*/
|
||||||
/*====================================================
|
/*====================================================
|
||||||
Prerequisites:
|
Prerequisites:
|
||||||
|
- Change libraries/PubSubClient/src/PubSubClient.h
|
||||||
|
#define MQTT_MAX_PACKET_SIZE 1000
|
||||||
|
|
||||||
- Select IDE Tools - Flash Mode: "DOUT"
|
- Select IDE Tools - Flash Mode: "DOUT"
|
||||||
- Select IDE Tools - Flash Size: "1M (no SPIFFS)"
|
- Select IDE Tools - Flash Size: "1M (no SPIFFS)"
|
||||||
====================================================*/
|
====================================================*/
|
||||||
|
|
||||||
#define VERSION 0x050C0004 // 5.12.0d
|
#define VERSION 0x050C0006 // 5.12.0f
|
||||||
|
|
||||||
// Location specific includes
|
// Location specific includes
|
||||||
#include <core_version.h> // Arduino_Esp8266 version information (ARDUINO_ESP8266_RELEASE and ARDUINO_ESP8266_RELEASE_2_3_0)
|
#include <core_version.h> // Arduino_Esp8266 version information (ARDUINO_ESP8266_RELEASE and ARDUINO_ESP8266_RELEASE_2_3_0)
|
||||||
@ -33,14 +36,12 @@
|
|||||||
#include "sonoff_template.h" // Hardware configuration
|
#include "sonoff_template.h" // Hardware configuration
|
||||||
#include "sonoff_post.h" // Configuration overrides for all previous includes
|
#include "sonoff_post.h" // Configuration overrides for all previous includes
|
||||||
|
|
||||||
/*
|
|
||||||
#ifdef ARDUINO_ESP8266_RELEASE_2_4_0
|
#ifdef ARDUINO_ESP8266_RELEASE_2_4_0
|
||||||
#include "lwip/init.h"
|
#include "lwip/init.h"
|
||||||
#if LWIP_VERSION_MAJOR != 1
|
#if LWIP_VERSION_MAJOR != 1
|
||||||
#error Please use stable lwIP v1.4
|
#error Please use stable lwIP v1.4
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
*/
|
|
||||||
|
|
||||||
// Libraries
|
// Libraries
|
||||||
#include <Ticker.h> // RTC, Energy, OSWatch
|
#include <Ticker.h> // RTC, Energy, OSWatch
|
||||||
@ -512,7 +513,7 @@ void MqttDataHandler(char* topic, byte* data, unsigned int data_len)
|
|||||||
Settings.pulse_timer[index -1] = payload16; // 0 - 65535
|
Settings.pulse_timer[index -1] = payload16; // 0 - 65535
|
||||||
pulse_timer[index -1] = 0;
|
pulse_timer[index -1] = 0;
|
||||||
}
|
}
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_NVALUE, command, index, Settings.pulse_timer[index -1]);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_NVALUE_ACTIVE_NVALUE, command, index, Settings.pulse_timer[index -1], pulse_timer[index -1]);
|
||||||
}
|
}
|
||||||
else if (CMND_BLINKTIME == command_code) {
|
else if (CMND_BLINKTIME == command_code) {
|
||||||
if ((payload > 2) && (payload <= 3600)) {
|
if ((payload > 2) && (payload <= 3600)) {
|
||||||
@ -1143,7 +1144,7 @@ void ExecuteCommandPower(byte device, byte state)
|
|||||||
#endif // USE_DOMOTICZ
|
#endif // USE_DOMOTICZ
|
||||||
#ifdef USE_KNX
|
#ifdef USE_KNX
|
||||||
KNXUpdatePowerState(device, power);
|
KNXUpdatePowerState(device, power);
|
||||||
#endif // USE_KNX
|
#endif // USE_KNX
|
||||||
if (device <= MAX_PULSETIMERS) {
|
if (device <= MAX_PULSETIMERS) {
|
||||||
// pulse_timer[(device -1)] = (power & mask) ? Settings.pulse_timer[(device -1)] : 0;
|
// pulse_timer[(device -1)] = (power & mask) ? Settings.pulse_timer[(device -1)] : 0;
|
||||||
pulse_timer[(device -1)] = (((POWER_ALL_OFF_PULSETIME_ON == Settings.poweronstate) ? ~power : power) & mask) ? Settings.pulse_timer[(device -1)] : 0;
|
pulse_timer[(device -1)] = (((POWER_ALL_OFF_PULSETIME_ON == Settings.poweronstate) ? ~power : power) & mask) ? Settings.pulse_timer[(device -1)] : 0;
|
||||||
@ -1220,8 +1221,8 @@ void PublishStatus(uint8_t payload)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((0 == payload) || (1 == payload)) {
|
if ((0 == payload) || (1 == payload)) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS1_PARAMETER "\":{\"" D_JSON_BAUDRATE "\":%d,\"" D_CMND_GROUPTOPIC "\":\"%s\",\"" D_CMND_OTAURL "\":\"%s\",\"" D_JSON_UPTIME "\":\"%s\",\"" D_JSON_STARTUPUTC "\":\"%s\",\"" D_CMND_SLEEP "\":%d,\"" D_JSON_BOOTCOUNT "\":%d,\"" D_JSON_SAVECOUNT "\":%d,\"" D_JSON_SAVEADDRESS "\":\"%X\"}}"),
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS1_PARAMETER "\":{\"" D_JSON_BAUDRATE "\":%d,\"" D_CMND_GROUPTOPIC "\":\"%s\",\"" D_CMND_OTAURL "\":\"%s\",\"" D_JSON_RESTARTREASON "\":\"%s\",\"" D_JSON_UPTIME "\":\"%s\",\"" D_JSON_STARTUPUTC "\":\"%s\",\"" D_CMND_SLEEP "\":%d,\"" D_JSON_BOOTCOUNT "\":%d,\"" D_JSON_SAVECOUNT "\":%d,\"" D_JSON_SAVEADDRESS "\":\"%X\"}}"),
|
||||||
baudrate, Settings.mqtt_grptopic, Settings.ota_url, GetDateAndTime(DT_UPTIME).c_str(), GetDateAndTime(DT_RESTART).c_str(), Settings.sleep, Settings.bootcount, Settings.save_flag, GetSettingsAddress());
|
baudrate, Settings.mqtt_grptopic, Settings.ota_url, GetResetReason().c_str(), GetDateAndTime(DT_UPTIME).c_str(), GetDateAndTime(DT_RESTART).c_str(), Settings.sleep, Settings.bootcount, Settings.save_flag, GetSettingsAddress());
|
||||||
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "1"));
|
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "1"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1264,8 +1265,8 @@ void PublishStatus(uint8_t payload)
|
|||||||
|
|
||||||
if (energy_flg) {
|
if (energy_flg) {
|
||||||
if ((0 == payload) || (9 == payload)) {
|
if ((0 == payload) || (9 == payload)) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS9_MARGIN "\":{\"" D_CMND_POWERLOW "\":%d,\"" D_CMND_POWERHIGH "\":%d,\"" D_CMND_VOLTAGELOW "\":%d,\"" D_CMND_VOLTAGEHIGH "\":%d,\"" D_CMND_CURRENTLOW "\":%d,\"" D_CMND_CURRENTHIGH "\":%d}}"),
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_CMND_STATUS D_STATUS9_MARGIN "\":{\"" D_CMND_POWERDELTA "\":%d,\"" D_CMND_POWERLOW "\":%d,\"" D_CMND_POWERHIGH "\":%d,\"" D_CMND_VOLTAGELOW "\":%d,\"" D_CMND_VOLTAGEHIGH "\":%d,\"" D_CMND_CURRENTLOW "\":%d,\"" D_CMND_CURRENTHIGH "\":%d}}"),
|
||||||
Settings.energy_min_power, Settings.energy_max_power, Settings.energy_min_voltage, Settings.energy_max_voltage, Settings.energy_min_current, Settings.energy_max_current);
|
Settings.energy_power_delta, Settings.energy_min_power, Settings.energy_max_power, Settings.energy_min_voltage, Settings.energy_max_voltage, Settings.energy_min_current, Settings.energy_max_current);
|
||||||
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "9"));
|
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "9"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user