As the amount of users in the community has grown, also the rate of issues that are opened every month have grown. This led to an increase of issues left behind (not closed by its author no matter if it is answered or solved) making collaborators to spend more time on searching for those between the opened issues. The actual rate of the Bot is 60 days to close an issue that has been left behind (45 days to raise attention to that issue and then other more 15 days to close it), and as the amount of opened issues are around 250-300 each month, in 60 days the amount of issues can raise to about 600 opened issues if no action is taken by collaborators.
With this update to the BOT, the new rate will be 25 days to raise the attention to the issue, and if there is no one comment on that issue, the Bot will close it after 5 more days. This 30 days are more suited to the actual speed of the project.
As always the Bot will not close any issue labeled as
- pinned
- security
- enhancement
- bug
And also, if the issue is closed by the Bot, it can be reopened again.
Also this update expands the Bot activity to PRs, so PRs should be labeled as well as issues.
Support subscribe/unsubscribe MQTT topics and trigger specified event with the subscribed MQTT topic.
You can subscribe a MQTT topic and assign an event name. Once we received subscribed MQTT message, an event will be automatically triggered. So you can set up a rule with "ON EVENT#<event_name> DO ..." to do whatever you want based on this MQTT message. The payload is passed as a parameter once the event been triggered. If the payload is in JSON format, you are able to get the value of specified key as parameter.
For example, if you have a Tasmota based thermostat and multiple temperature sensors in different place, usually you have to set up a centre home automation system like Domoticz to control the thermostat. Right now, with this new feature, you can write a rule to do this.
Two new commands in Rules:
1. Subscribe
Subscribe a MQTT topic (with or without key) and assign an event name to it.
Command format:
Subscribe [<event_name>, <topic> [, <key>]]
This command will subscribe a <topic> and give it an event name <event_name>.
The optional parameter <key> is for parse the specified key/value from MQTT message
payload with JSON format.
In order to parse value from two level JSON data, you can use one dot (".") to split the key into two section.
Subscribe command without any parameter will list all topics currently subscribed.
2. Unsubscribe
Unsubscribe specified MQTT event.
Command format:
Unsubscribe [<event_name>]
Unsubscribe a topic subscribed by specify the event name.
If no event specified, Unsubscribe all topics subscribed.
Examples:
1.
Subscribe BkLight, Tasmota/BackyardLight/stat/POWER
And define a rule like:
Rule1 on event#BkLight=ON do ruletimer4 60 endon
2.
Subscribe DnTemp, Tasmota/RoomSensor1/stat/SENSOR, DS18B20.Temperature
Define a rule to deal with the MQTT message like {"Time":"2017-02-16T10:13:52", "DS18B20":{"Temperature":20.6}}
Rule1 ON EVENT#DnTemp>=21 DO ... ENDON