This change will allow mqtt messages simpler by allowing something like
`publish cmnd/ir-bridge/IRHVAC {"Power": "On"}`.
The simpler format is required for working with mqtt clients like
iotMQTTPanel or similar on android.
Limitations:
- Requires full message be sent at-least once. I work around this with
a `system#boot` rule
- Gets messy with multiple devices. I have only one AC per room, and
this doesn't doesn't interfere with other IR devices.
TODO:
- [ ] Change the build flag `INCREMENTAL_IRAC`to a `SetOption`
- [ ] Persist `irac_prev_state` across reboots.
- [ ] Support multiple devices.
* IR: Added support for new A/C protocol fields
New fields introduced in IRremoteESP8266 v2.8.5:
1. Command (one of: [Control | Config | iFeel | Timer], default: Control) - allows to set IR command type (e.g. iFeel for no-beep ambient sensor report)
2. iFeel (boolean, default: false) - configures whether iFeel (ambient sensor temp. is used by the A/C unit)
3. SensorTemp - the ambient sensor temperature reading to send
Note:
- Fan setting via int is now 6-value (breaking change -> 6 is the new max)
* IR A/C: Model now pretty-printed to JSON
Model string is the default (falls back to int if n/a)
* IR A/C: Added separate JSON resp. per command type
* No change for "kControlCommand" (default/legacy).
* SensorReport/Timer/Config commands only contain relevant JSON nodes
Additionally:
Clock has time semantics (input: minutes, output: HH:MM), except for "config" mode,
where state.clock is used as ConfigKey and state.sleep is used as ConfigValue.
---------
Co-authored-by: Mateusz Bronk <2566147+mbronk@users.noreply.github.com>