mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 10:46:31 +00:00
Refactor teleperiod rules
This commit is contained in:
parent
146c316d4d
commit
ad50fc5522
@ -858,14 +858,21 @@ bool MqttShowSensor(void)
|
|||||||
return json_data_available;
|
return json_data_available;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MqttPublishSensor(void)
|
void MqttPublishSensor(void) {
|
||||||
{
|
|
||||||
ResponseClear();
|
ResponseClear();
|
||||||
if (MqttShowSensor()) {
|
if (MqttShowSensor()) {
|
||||||
MqttPublishTeleSensor();
|
MqttPublishTeleSensor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MqttPublishTeleperiodSensor(void) {
|
||||||
|
ResponseClear();
|
||||||
|
if (MqttShowSensor()) {
|
||||||
|
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain); // CMND_SENSORRETAIN
|
||||||
|
XdrvRulesProcess(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* State loops
|
* State loops
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
@ -939,12 +946,7 @@ void PerformEverySecond(void)
|
|||||||
TasmotaGlobal.tele_period = 0;
|
TasmotaGlobal.tele_period = 0;
|
||||||
|
|
||||||
MqttPublishTeleState();
|
MqttPublishTeleState();
|
||||||
|
MqttPublishTeleperiodSensor();
|
||||||
ResponseClear();
|
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain); // CMND_SENSORRETAIN
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
|
|
||||||
XsnsCall(FUNC_AFTER_TELEPERIOD);
|
XsnsCall(FUNC_AFTER_TELEPERIOD);
|
||||||
XdrvCall(FUNC_AFTER_TELEPERIOD);
|
XdrvCall(FUNC_AFTER_TELEPERIOD);
|
||||||
|
@ -338,15 +338,6 @@ void UBXsendCFGLine(uint8_t _line)
|
|||||||
DEBUG_SENSOR_LOG(PSTR("UBX: send line %u of UBLOX_INIT"), _line);
|
DEBUG_SENSOR_LOG(PSTR("UBX: send line %u of UBLOX_INIT"), _line);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UBXTriggerTele(void)
|
|
||||||
{
|
|
||||||
ResponseClear();
|
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain);
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
|
|
||||||
void UBXDetect(void)
|
void UBXDetect(void)
|
||||||
@ -378,7 +369,7 @@ void UBXDetect(void)
|
|||||||
|
|
||||||
UBX.state.log_interval = 10; // 1 second
|
UBX.state.log_interval = 10; // 1 second
|
||||||
UBX.mode.send_UI_only = true; // send UI data ...
|
UBX.mode.send_UI_only = true; // send UI data ...
|
||||||
UBXTriggerTele(); // ... once at after start
|
MqttPublishTeleperiodSensor(); // ... once at after start
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t UBXprocessGPS()
|
uint32_t UBXprocessGPS()
|
||||||
@ -625,7 +616,7 @@ void UBXSelectMode(uint16_t mode)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
UBX.mode.send_UI_only = true;
|
UBX.mode.send_UI_only = true;
|
||||||
UBXTriggerTele();
|
MqttPublishTeleperiodSensor();
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
@ -648,7 +639,7 @@ bool UBXHandlePOSLLH()
|
|||||||
UBX.state.last_vAcc = UBX.Message.navPosllh.vAcc;
|
UBX.state.last_vAcc = UBX.Message.navPosllh.vAcc;
|
||||||
UBX.state.last_hAcc = UBX.Message.navPosllh.hAcc;
|
UBX.state.last_hAcc = UBX.Message.navPosllh.hAcc;
|
||||||
if (UBX.mode.send_when_new) {
|
if (UBX.mode.send_when_new) {
|
||||||
UBXTriggerTele();
|
MqttPublishTeleperiodSensor();
|
||||||
}
|
}
|
||||||
if (UBX.mode.runningNTP){ // after receiving pos-data at least once -> go to pure NTP-mode
|
if (UBX.mode.runningNTP){ // after receiving pos-data at least once -> go to pure NTP-mode
|
||||||
UBXsendCFGLine(7); //NAV-POSLLH off
|
UBXsendCFGLine(7); //NAV-POSLLH off
|
||||||
|
@ -1162,12 +1162,8 @@ void MINRFconfirmSensors(void){
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void MINRFtriggerTele(void){
|
void MINRFtriggerTele(void){
|
||||||
MINRF.mode.triggeredTele= true;
|
MINRF.mode.triggeredTele = true;
|
||||||
ResponseClear();
|
MqttPublishTeleperiodSensor();
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain);
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1564,12 +1564,8 @@ void HM10EverySecond(bool restart){
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void HM10triggerTele(void){
|
void HM10triggerTele(void){
|
||||||
HM10.mode.triggeredTele = 1;
|
HM10.mode.triggeredTele = 1;
|
||||||
ResponseClear();
|
MqttPublishTeleperiodSensor();
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain);
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -745,12 +745,8 @@ uint32_t MIBLEgetSensorSlot(uint8_t (&_MAC)[6], uint16_t _type, uint8_t counter)
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void MI32triggerTele(void){
|
void MI32triggerTele(void){
|
||||||
MI32.mode.triggeredTele = 1;
|
MI32.mode.triggeredTele = 1;
|
||||||
ResponseClear();
|
MqttPublishTeleperiodSensor();
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain);
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -157,7 +157,7 @@ void WindMeterEverySecond(void)
|
|||||||
#endif // USE_WINDMETER_NOSTATISTICS
|
#endif // USE_WINDMETER_NOSTATISTICS
|
||||||
|
|
||||||
if (WindMeterShouldTriggerTele()) {
|
if (WindMeterShouldTriggerTele()) {
|
||||||
WindMeterTriggerTele();
|
MqttPublishTeleperiodSensor();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -272,15 +272,6 @@ void WindMeterShow(bool json)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindMeterTriggerTele(void)
|
|
||||||
{
|
|
||||||
ResponseClear();
|
|
||||||
if (MqttShowSensor()) {
|
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_SENSOR), Settings.flag.mqtt_sensor_retain);
|
|
||||||
XdrvRulesProcess(1); // Allow rule based HA messages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Commands
|
* Commands
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user