-
Notifications
You must be signed in to change notification settings - Fork 836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IRMQTTServer: add MQTT_SERVER_AUTODETECT_ENABLE #1769
IRMQTTServer: add MQTT_SERVER_AUTODETECT_ENABLE #1769
Conversation
7f4ad15
to
c2657b1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First off, thanks for this. It looks like a great addition to the example/program!
Can I get you to please bump the version number in IRMQTTServer.h
to 1.7.0 please as a result of your improvement?
e.g.
#define _MY_VERSION_ "v1.7.0"
and there are a few automatic linter issue that need to be addressed as well before we can merge.
e.g.
examples/IRMQTTServer/IRMQTTServer.ino:2001: At least two spaces is best between code and comments [whitespace/comments] [2]
examples/IRMQTTServer/IRMQTTServer.ino:2035: At least two spaces is best between code and comments [whitespace/comments] [2]
examples/IRMQTTServer/IRMQTTServer.ino:2234: At least two spaces is best between code and comments [whitespace/comments] [2]
examples/IRMQTTServer/IRMQTTServer.ino:2350: At least two spaces is best between code and comments [whitespace/comments] [2]
I assume you've tested this with flag enabled and there being no zeroconf/avahi _mqtt._tcp
service advertised. i.e. What happens?
Putting that new code/define etc behind the
You can verify this by building the following target environments: IRremoteESP8266/examples/IRMQTTServer/platformio.ini Lines 39 to 44 in 846daf5
or IRremoteESP8266/examples/IRMQTTServer/platformio.ini Lines 56 to 70 in 846daf5
|
My pleasure, thanks for this example/program, it is really useful.
Sure
Which command do you use to run linter? (So I can run in my local machine too).
If no server is found, then it doesn't modify the variables If in one boot the mqtt server is found, then it modifies |
c2657b1
to
28bade0
Compare
The MQTT broker can change address if its IP is not static. Add MQTT_SERVER_AUTODETECT_ENABLE option which detects the broker that advertises the service _mqtt._tcp If the broker changes address it won't be a problem. If the broker doesn't advertise the service, then use the pre-configured IP as before. Example testing on Debian: $ apt install mosquitto avahi-daemon $ cat <<EOT >> /etc/mosquitto/conf.d/my_broker.conf listener 1883 0.0.0.0 allow_anonymous true EOT $ cat <<EOT >> /etc/avahi/services/mqtt.service <?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service protocol="ipv4"> <type>_mqtt._tcp</type> <port>1883</port> </service> </service-group> EOT $ systemctl start mosquitto $ systemctl start avahi-daemon
28bade0
to
df9a811
Compare
You will probably need to install
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the updates. Approved.
_v2.8.2 (20220314)_ **[Bug Fixes]** - ESP32-C3: Fix reboot/crashes on ESP32-C3s when receiving. (#1768 #1751) **[Features]** - HITACHI_AC296: Add `IRac` class support & tests. (#1776 #1758 #1757) - Support for Hitachi RAS-70YHA3 (remote RAR-3U3) (#1758 #1757) - LG: Add Swing Toggle support for Model `LG6711A20083V` (#1771 #1770) - IRMQTTServer: add `MQTT_SERVER_AUTODETECT_ENABLE` via mqtt mDNS (#1769) - Experimental basic support for Kelon 168 bit / 21 byte protocol. (#1747 #1745 #1744) - MitsubishiAC: Tweak repeat gap timing. (#1760 #1759) - Gree YAP0F8 (Detected as Kelvinator) vertical position set support (#1756) - Make KELON (48 bit) protocol decoding stricter. (#1746 #1744) - IRMQTTServer V1.6.1 (#1740 #1739 #1729) - HITACHI_AC264: Add minimal detailed support. (#1735 #1729) - LG2: Improve Light toggle msg handling. (#1738 #1737) - MIDEA: Add support for Quiet, Clean & Freeze Protect controls. (#1734 #1733) - Add basic support for HITACHI_AC264 264bit protocol. (#1730 #1729) - ESP32-C3: Work around for some C3 specific compiler issues again. (#1732 #1695) **[Misc]** - MIDEA: Update supported devices (#1774 #1773 #1716) - Update devices supported by ELECTRA_AC (#1766 #1765) - Improve documentation for `encodePioneer()` (#1761 #1749) - Update (un)supported DAIKIN128 devices. (#1752) - Refactor `decodeCOOLIX()` code & add another test case. (#1750 #1748) - Simplify code based on state_t being initialised by default. (#1736 #1699) - Add comments to help Teknopoint users. (#1731 #1728) - Fix library version string calculation. (#1727 #1725) - Confirm we can reproduce `TurnOnFujitsuAC.ino` via IRac/IRMQTTServer. (#1726 #1701)
##_v2.8.2 (20220314)_ **[Bug Fixes]** - ESP32-C3: Fix reboot/crashes on ESP32-C3s when receiving. (#1768 #1751) **[Features]** - HITACHI_AC296: Add `IRac` class support & tests. (#1776 #1758 #1757) - Support for Hitachi RAS-70YHA3 (remote RAR-3U3) (#1758 #1757) - LG: Add Swing Toggle support for Model `LG6711A20083V` (#1771 #1770) - IRMQTTServer: add `MQTT_SERVER_AUTODETECT_ENABLE` via mqtt mDNS (#1769) - Experimental basic support for Kelon 168 bit / 21 byte protocol. (#1747 #1745 #1744) - MitsubishiAC: Tweak repeat gap timing. (#1760 #1759) - Gree YAP0F8 (Detected as Kelvinator) vertical position set support (#1756) - Make KELON (48 bit) protocol decoding stricter. (#1746 #1744) - IRMQTTServer V1.6.1 (#1740 #1739 #1729) - HITACHI_AC264: Add minimal detailed support. (#1735 #1729) - LG2: Improve Light toggle msg handling. (#1738 #1737) - MIDEA: Add support for Quiet, Clean & Freeze Protect controls. (#1734 #1733) - Add basic support for HITACHI_AC264 264bit protocol. (#1730 #1729) - ESP32-C3: Work around for some C3 specific compiler issues again. (#1732 #1695) **[Misc]** - MIDEA: Update supported devices (#1774 #1773 #1716) - Update devices supported by ELECTRA_AC (#1766 #1765) - Improve documentation for `encodePioneer()` (#1761 #1749) - Update (un)supported DAIKIN128 devices. (#1752) - Refactor `decodeCOOLIX()` code & add another test case. (#1750 #1748) - Simplify code based on state_t being initialised by default. (#1736 #1699) - Add comments to help Teknopoint users. (#1731 #1728) - Fix library version string calculation. (#1727 #1725) - Confirm we can reproduce `TurnOnFujitsuAC.ino` via IRac/IRMQTTServer. (#1726 #1701)
FYI, the changes mentioned above have now been included in the new v2.8.2 release of the library. |
The MQTT broker can change address if its IP is not static.
Add MQTT_SERVER_AUTODETECT_ENABLE option which detects the broker that
advertises the service _mqtt._tcp
If the broker changes address it won't be a problem. If the broker
doesn't advertise the service, then use the pre-configured IP as before.
Example testing on Debian: