Alright folks, long weekend is over and I'm pushing out a big update.
158 Commits, 4,203 additions, and 2,063 deletions later and I've got support for a lot more things added.
Both Shelly Uni have drivers, Gen 1 and 2. That includes child devices for "Input Buttons" on them, "Input Switches", "Input Count", and "Input Analog". The Gen 1 Uni has what I call "OverUnder" switches, too. Basically there's web hooks on the Gen 1 for when the ADC, Temperature, or Humidity sensors (if you have them attached) go above/below a certain value. So when set up, if they are 'below' the switch is 'off' and if they are above the limit set the switch is 'on'. The Gen 2 uses Websocket for the Inputs, so it doesn't use the OverUnder switch. Additionally, the Gen 1 has optional polling child devices with configurable polling interval, for polling the values of the ADC, Temp, and Humidity sensors, since there's no webhooks available for them to send updates on. Again, the Gen 2 uses Websocket for these, so there's no need for polling on it.
There's support for the DS18B20 Temperature sensor(s) and DHT22 Temperature/Humidity sensor when attached to a Plus Add-on. This is auto-configure "magic" and will create child sensor devices on anything Gen 2+ that has said sensors attached.
The Valve control for Shelly Gas has been added.
Shelly Pro 3 has been added.
Shelly PM Mini (Gen 2 and 3) are supported.
"Cover" has been added, also auto-configured as a child device, on any Shelly Gen 2+ device that supports a Cover profile. Note that I do not have a way to test cover mode for use as a window-shade control, where GoToPosition is used. I'm working on getting a test bench set up for this, in the meanwhile I'll work on getting it added, but if anyone plans on utilizing this, please let me know so I can make sure it's working properly.