[RELEASE] Tasmota for HE - Auto-detecting Tasmota drivers + Tasmota firmware 7.x/8.x for HE (for use with Tuya, Sonoff and other ESP devices)

Yes, you can choose to install the Beta version from the Package Manager or download directly from my github in the development branch.

Great thanks. Got it from the development branch. Will test it out today. Also, would look to add it to Package Manager (although not sure yet how to get that to point to the beta versions vs the release). Maybe adding by URL?

Added the PackageManifestBeta.json by URL in Hubitat Package Manager but got null errors downloading. In the meantime, I've simply excluded updating the curtain device drivers from HPM.

The commands work well! Thanks. One issue I've noticed is that the state doesn't update until I hit "Refresh". My guess is that this has to do with the firmware I'm using (I'm using the regular Tasmota 8.3.1 but not yours yet).

2nd issue is that even though I had set the open and close durations in Tasmota, they defaulted back to your levels in the device page in HE. The values don't appear to have been changed in Tasmota though so not affecting performance right now. Just something to be aware of.

Thanks again! Looking forward to the firmware release.

Yes, once you have my firmware that will be sorted.

Yes, my driver will not ask Tasmota what the settings are, to be on the safe side, set the HE device settings to be the same as what you have set them to already in Tasmota.

You should be able to switch it to using the Beta version of a package, but not sure how that is done, I don't use it, I just generate the manifests according to specs.

That should have worked, the manifests are generated automatically and I can't have typos in them, they are part of my build process and there is nothing manual about them.

The 8.3.1 release has been updated with Shutter support:

3 Likes

Thanks a lot for all your help with this. Works great!

1 Like

Does anyone else have the issue i when HE sends a colour temperature change to lights it turns off the Tasmota fade option?
If I change it from the Tasmota web UI this doesn't happen.

That is done on purpose due to many implementations not doing fade well and this made it safer. This was in earlier versions of Tasmota, and some of the issues with problematic implementations have since been solved inside the Tasmota firmware. I could consider revisiting this decision.

For now you can try it by changing the method "tasmota_getCommandStringWithModeReset" in the Universal Parent driver to this:

String tasmota_getCommandStringWithModeReset(String command, String value) {
    if(useAlternateColorCommand == true && command == "Color1") {
        if(value.startsWith("#") == true) value = value.substring(1)
        return tasmota_getCommandString("Var1", "$value")
    } else {
        return tasmota_getMultiCommandString([[command: "Scheme", value: "0"],
                                  [command: command, value: value]])
    }
}
1 Like

That explains it I was looking in the child drivers for what caused it.
Seems to be working perfect now.
Thanks for this and everything.

1 Like

Please report back in a few days with how this is going, if there are no issues found I can make this the default from now on. The recommended version of Tasmota is 8.3.1 anyway, patches in the drivers which allowed earlier versions to function properly are deprecated and may be removed at any time.

You're welcome, I'm happy to see how well received these drivers have been especially in Australia/New Zealand :slight_smile:

There are no commands sent directly to Tasmota from the child drivers, all has to go through the Parent device. Most of the child drivers are so Generic that they have no concept of what kind of device they are controlling.

Will do I'm always happy to give feedback in a good way.

Yeah we defiantly over represent.

1 Like

Hi,
Since I couldn't get the MQTT-Client to parse the BME680 JSON output I gave your solution a whirl.
My sensors are hooked to two ESP8266, one with a AM2302, the other with BME680 and TSL2561.
I had to also install the Universal multi sensor to make it work. I'm really impressed.

Now, since one ESP has two sensors it thinks that the TSL2561 is putting out temperature readings, which isn't entirely true :wink:

parseResult: [Status:[Module:18, DeviceName:TasmotaHubitat, FriendlyName:[Lumi (192.168.178.175)], Topic:tasmota_ADA51E, ButtonTopic:0, Power:0, PowerOnState:3, LedState:1, LedMask:FFFF, SaveData:1, SaveState:1, SwitchTopic:0, SwitchMode:[0, 0, 0, 0, 0, 0, 0, 0], ButtonRetain:0, SwitchRetain:0, SensorRetain:0, PowerRetain:0], StatusPRM:[Baudrate:115200, SerialConfig:8N1, GroupTopic:tasmotas, OtaUrl:http://thehackbox.org/tasmota/release/tasmota.bin, RestartReason:Software/System restart, Uptime:0T00:07:53, StartupUTC:2020-07-18T19:14:16, Sleep:50, CfgHolder:4617, BootCount:14, BCResetTime:2020-07-18T19:27:11, SaveCount:24, SaveAddress:F4000], StatusFWR:[Version:8.3.1(sensors-he), BuildDateTime:2020-07-04T09:53:17, Boot:31, Core:2_7_1, SDK:2.2.2-dev(38a443e), Hardware:ESP8266EX, CR:392/699], StatusLOG:[SerialLog:2, WebLog:2, MqttLog:0, SysLog:0, LogHost:, LogPort:514, SSId:[FBI_Surveilance_Van, ], TelePeriod:300, Resolution:55C180C0, SetOption:[00008001, 280514000100060000005A00000000000000, 00000000, 80000000]], StatusMEM:[ProgramSize:625, Free:376, Heap:20, ProgramFlashSize:4096, FlashSize:4096, FlashChipId:16400B, FlashMode:3, Features:[00000809, 8F8AA787, 0415A3A5, B7FFBFCD, 01DA9BC4, 64367CE7, 00000072], Drivers:1,2,3,4,5,6,8,9,10,14,16,17,20,21,24,25,29,34,95, Sensors:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,31,34,37,39,40,42,43,51,52,55,56,58,59,62,64,66,67], StatusNET:[Hostname:tasmota_ADA51E-1310, IPAddress:192.168.178.175, Gateway:192.168.178.254, Subnetmask:255.255.255.0, DNSServer:192.168.178.220, Mac:84:0D:8E:AD:A5:1E, Webserver:2, WifiConfig:4, WifiPower:17.0], StatusTIM:[UTC:2020-07-18T19:22:10, Local:2020-07-18T14:22:10, StartDST:2020-03-08T02:00:00, EndDST:2020-11-01T02:00:00, Timezone:-05:00, Sunrise:05:31, Sunset:20:18], StatusSNS:[Time:2020-07-18T14:22:10, BME680:[Temperature:27.4, Humidity:50.3, DewPoint:16.1, Pressure:989.1, Gas:516.06], TSL2561:[Illuminance:1920.000], PressureUnit:hPa, TempUnit:C], StatusSTS:[Time:2020-07-18T14:22:10, Uptime:0T00:07:54, UptimeSec:474, Heap:20, SleepMode:Dynamic, Sleep:50, LoadAvg:21, MqttCount:0, Wifi:[AP:1, SSId:FBI_Surveilance_Van, BSSId:18:E8:29:64:28:57, Channel:1, RSSI:80, Signal:-60, LinkCount:1, Downtime:0T00:00:03]]]

dev:4832020-07-18 02:22:11.240 pm infoDevice info found: [hasEnergy:false, numTemperature:1, numHumidity:1, numPressure:1, numDistance:0, numSensorGroups:2, sensorMap:[BME680:[Temperature:27.4, Humidity:50.3, DewPoint:16.1, Pressure:989.1, Gas:516.06], TSL2561:[Illuminance:1920.000]], isShutter:false, numSwitch:0, isDimmer:false, isAddressable:false, isRGB:false, hasCT:false, hasFanControl:false]

dev:4832020-07-18 02:22:11.105 pm infoparseResult: [StatusSTS:[Time:2020-07-18T14:22:10, Uptime:0T00:07:54, UptimeSec:474, Heap:20, SleepMode:Dynamic, Sleep:50, LoadAvg:21, MqttCount:0, Wifi:[AP:1, SSId:FBI_Surveilance_Van, BSSId:18:E8:29:64:28:57, Channel:1, RSSI:80, Signal:-60, LinkCount:1, Downtime:0T00:00:03]]]

Is the TSL2561 not supported, is my idea to hook up two sensors just plain stupid or is it something which can be fixed with some JSON-foo? :slight_smile:

Hi, Hubitat Package Manager informed me of an update, which I installed. My lights are working, but they dont appear here:

Yes, I included them in the "grant access to additional devices"

image

Edit: these devices are parent devices.

It is not so much that the TSL2561 is not supported as it is that I've not added code for Illuminance. I have no devices with that using Tasmota. There is also no support for Gas and DewPoint.
On the device using two sensors, do you get two child devices?

I can add Illuminance support, it will be simple, but you would need to test it.

I will have to look at that, this looks like a bug. With this solved I think your other problems will be solved as well.

1 Like

I've had no issues with the fade option on my 11 lights.

1 Like

Sure, if I can help..?
Yes, I have two child devices. Gas and dew point is not on top of my list, but while we‘re at it..?
Let me know what you need.

What's the unit for these? I'll add them together with illuminance. The illuminance unit from that sensor is lux, right?

When I've written the driver, probably tomorrow, you just have to test it and make sure it is working as expected.

The dew point is degree, either Celsius or Fahrenheit. For Gas it‘s the resistance in Ohm and TSL put‘s out Lux (lx)
The IAQ can be calculated, if you want to include it, don‘t know if it‘s useful:
BME680 Observed gas 'ohms' readings - Support - Pimoroni Buccaneers

I've updated the Tasmota drivers to support Illuminance, dewPoint and gas readings. Please check that it works as expected, I have not tested this code at all, it can be gotten from the development branch, install these two drivers:

OK, the BME reports everything fine, but the TSL gives an error when I refresh or configure the parent device and also when I refresh the child:

dev:5192020-07-19 11:22:33.704 am errorjava.lang.NullPointerException: Cannot invoke method multiply() on null object on line 1185 (parse)

dev:5192020-07-19 11:22:33.234 am infoparseResult: [Status:[Module:18, DeviceName:TasmotaHubitat, FriendlyName:[Tasmota - Illuminance (192.168.1], Topic:tasmota_ADA51E, ButtonTopic:0, Power:0, PowerOnState:3, LedState:1, LedMask:FFFF, SaveData:1, SaveState:1, SwitchTopic:0, SwitchMode:[0, 0, 0, 0, 0, 0, 0, 0], ButtonRetain:0, SwitchRetain:0, SensorRetain:0, PowerRetain:0], StatusPRM:[Baudrate:115200, SerialConfig:8N1, GroupTopic:tasmotas, OtaUrl:http://thehackbox.org/tasmota/release/tasmota.bin, RestartReason:Software/System restart, Uptime:0T00:01:50, StartupUTC:2020-07-19T16:20:40, Sleep:50, CfgHolder:4617, BootCount:22, BCResetTime:2020-07-18T19:27:11, SaveCount:34, SaveAddress:FA000], StatusFWR:[Version:8.3.1(sensors-he), BuildDateTime:2020-07-04T09:53:17, Boot:31, Core:2_7_1, SDK:2.2.2-dev(38a443e), Hardware:ESP8266EX, CR:402/699], StatusLOG:[SerialLog:2, WebLog:2, MqttLog:0, SysLog:0, LogHost:, LogPort:514, SSId:[FBI_Surveilance_Van, ], TelePeriod:300, Resolution:55C180C0, SetOption:[00008001, 280514000100060000005A00000000000000, 00000000, 80000000]], StatusMEM:[ProgramSize:625, Free:376, Heap:21, ProgramFlashSize:4096, FlashSize:4096, FlashChipId:16400B, FlashMode:3, Features:[00000809, 8F8AA787, 0415A3A5, B7FFBFCD, 01DA9BC4, 64367CE7, 00000072], Drivers:1,2,3,4,5,6,8,9,10,14,16,17,20,21,24,25,29,34,95, Sensors:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,31,34,37,39,40,42,43,51,52,55,56,58,59,62,64,66,67], StatusNET:[Hostname:tasmota_ADA51E-1310, IPAddress:192.168.178.215, Gateway:192.168.178.254, Subnetmask:255.255.255.0, DNSServer:192.168.178.220, Mac:84:0D:8E:AD:A5:1E, Webserver:2, WifiConfig:4, WifiPower:17.0], StatusTIM:[UTC:2020-07-19T16:22:31, Local:2020-07-19T11:22:31, StartDST:2020-03-08T02:00:00, EndDST:2020-11-01T02:00:00, Timezone:-05:00, Sunrise:05:32, Sunset:20:17], StatusSNS:[Time:2020-07-19T11:22:31, BME680:[Temperature:28.6, Humidity:48.7, DewPoint:16.8, Pressure:985.8, Gas:643.59], TSL2561:[Illuminance:86.420], PressureUnit:hPa, TempUnit:C], StatusSTS:[Time:2020-07-19T11:22:31, Uptime:0T00:01:51, UptimeSec:111, Heap:20, SleepMode:Dynamic, Sleep:50, LoadAvg:27, MqttCount:0, Wifi:[AP:1, SSId:FBI_Surveilance_Van, BSSId:18:E8:29:64:28:57, Channel:1, RSSI:80, Signal:-60, LinkCount:1, Downtime:0T00:00:05]]]

dev:5192020-07-19 11:22:33.033 am infoDevice info found: [hasEnergy:false, numTemperature:1, numHumidity:1, numPressure:1, numDistance:0, numSensorGroups:2, sensorMap:[BME680:[Temperature:28.6, Humidity:48.7, DewPoint:16.8, Pressure:985.8, Gas:643.59], TSL2561:[Illuminance:86.420]], isShutter:false, numSwitch:0, isDimmer:false, isAddressable:false, isRGB:false, hasCT:false, hasFanControl:false]

dev:5192020-07-19 11:22:32.840 am infoparseResult: [StatusSTS:[Time:2020-07-19T11:22:31, Uptime:0T00:01:51, UptimeSec:111, Heap:20, SleepMode:Dynamic, Sleep:50, LoadAvg:27, MqttCount:0, Wifi:[AP:1, SSId:FBI_Surveilance_Van, BSSId:18:E8:29:64:28:57, Channel:1, RSSI:80, Signal:-60, LinkCount:1, Downtime:0T00:00:05]]]

dev:5192020-07-19 11:22:32.820 am infoparseResult: [Status:[Module:18, DeviceName:TasmotaHubitat, FriendlyName:[Tasmota - Illuminance (192.168.1], Topic:tasmota_ADA51E, ButtonTopic:0, Power:0, PowerOnState:3, LedState:1, LedMask:FFFF, SaveData:1, SaveState:1, SwitchTopic:0, SwitchMode:[0, 0, 0, 0, 0, 0, 0, 0], ButtonRetain:0, SwitchRetain:0, SensorRetain:0, PowerRetain:0]]

dev:5192020-07-19 11:22:32.816 am infoparseResult: [StatusMEM:[ProgramSize:625, Free:376, Heap:21, ProgramFlashSize:4096, FlashSize:4096, FlashChipId:16400B, FlashMode:3, Features:[00000809, 8F8AA787, 0415A3A5, B7FFBFCD, 01DA9BC4, 64367CE7, 00000072], Drivers:1,2,3,4,5,6,8,9,10,14,16,17,20,21,24,25,29,34,95, Sensors:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,28,31,34,37,39,40,42,43,51,52,55,56,58,59,62,64,66,67]]

dev:5192020-07-19 11:22:32.781 am infoparseResult: [StatusNET:[Hostname:tasmota_ADA51E-1310, IPAddress:192.168.178.215, Gateway:192.168.178.254, Subnetmask:255.255.255.0, DNSServer:192.168.178.220, Mac:84:0D:8E:AD:A5:1E, Webserver:2, WifiConfig:4, WifiPower:17.0]]

dev:5192020-07-19 11:22:32.772 am infoparseResult: [StatusLOG:[SerialLog:2, WebLog:2, MqttLog:0, SysLog:0, LogHost:, LogPort:514, SSId:[FBI_Surveilance_Van, ], TelePeriod:300, Resolution:55C180C0, SetOption:[00008001, 280514000100060000005A00000000000000, 00000000, 80000000]]]

dev:5192020-07-19 11:22:32.768 am infoparseResult: [StatusTIM:[UTC:2020-07-19T16:22:31, Local:2020-07-19T11:22:31, StartDST:2020-03-08T02:00:00, EndDST:2020-11-01T02:00:00, Timezone:-05:00, Sunrise:05:32, Sunset:20:17]]

dev:5192020-07-19 11:22:32.765 am infoparseResult: [StatusSNS:[Time:2020-07-19T11:22:31, BME680:[Temperature:28.6, Humidity:48.7, DewPoint:16.8, Pressure:985.8, Gas:643.59], TSL2561:[Illuminance:86.420], PressureUnit:hPa, TempUnit:C]]

dev:5192020-07-19 11:22:32.759 am infoparseResult: [StatusFWR:[Version:8.3.1(sensors-he), BuildDateTime:2020-07-04T09:53:17, Boot:31, Core:2_7_1, SDK:2.2.2-dev(38a443e), Hardware:ESP8266EX, CR:402/699]]

dev:5192020-07-19 11:22:32.755 am infoparseResult: [StatusPRM:[Baudrate:115200, SerialConfig:8N1, GroupTopic:tasmotas, OtaUrl:http://thehackbox.org/tasmota/release/tasmota.bin, RestartReason:Software/System restart, Uptime:0T00:01:50, StartupUTC:2020-07-19T16:20:40, Sleep:50, CfgHolder:4617, BootCount:22, BCResetTime:2020-07-18T19:27:11, SaveCount:34, SaveAddress:FA000]]

dev:5192020-07-19 11:22:30.457 am infogetDriverVersion() = v1.0.4.0719Tb

I also posted the complete log here:
https://pastebin.com/AqZ4dE4S