Multiple Set Level Sent to Device - Tasmota

Generic Dimmer
With a Simple Automation Rule
At Sunset
Set Level Dimmer Level 65.
Device console, "POWER":"ON","Dimmer":65
Just after that.
On the device console I get a
I cant find what is sending it. Its not set anywhere I can find.
Device shows that its only in use by one rule.

I can't replicate this with a simple Simple Automation Rules rule:

I strongly suspect the issue lies elsewhere. What kind of device (dimmer) are you using? "Generic Dimmer" is not the name of any Hubitat driver, but there are a few that have similar names. If there aren't any other Hubitat apps (not just rules or Simple Automation Rules) using this device, then perhaps there is an issue with the device itself. You can leave this particular Simple Automation Rules automation out of the picture for a second by manually setting the dimmer level from Hubitat. Go to the device page for your dimmer and try setting the level to 65 by finding "Set Level," entering "65" for "Level", and then clicking the "Set Level" button to run the command:


If you see the same thing happen here, then this particular Simple Automation Rules rule is not the problem. If you don't, can you post a screenshot of the Simple Automation Rules instance? I'm not sure what it could be, but you may have set something unintentionally.

If it does still happen when set this way, then we're back to the fact that it's something else. Another app/rule is a good candidate, but if you only see this one app under "In use by," then it's probably something else:

(Your app may called be something different.) Some dimmers have "default level" settings for physical or digital "on" commands, like Inovelli's gen 2 switches (though this wouldn't be the best driver to use for those), which is one example of what the "something else" could be.

1 Like


  1. No one said you were LYING, just that there may be a different explanation.
  2. Good luck getting anyone else to help you after that tirade.

Sorry about that. I have been looking for this for days and cant find the Level of 31 anywhere.
At sunset it comes on at 65 but imediately go to 31. Its extremely frustrating when you cant find any thing that is causing it. All I remember is that I was fooling around with the Setlevel in the device setup and that may be where it happened. The other thing is that dimmerrange25,254 does not map over to the setlevel. At 20% to 50% its barely discernible..

What happens if you do a setLevel from the device detail page to 65? Do you see the same thing, or does it go to 65 and stay there?

Its stays at 65% manual set.
It happens as soon as the rule runs.
Here is a question. If the device is in the off position and that last setting was 31% and the command is sent to turn on, setlevel 65 will it revert back to the last setting it was at when turned off?

I can test that out tonight. I will set it at 50% turn it off and see what happens.

Not sure what I missed but not sure I want to know. :slight_smile: (Taking a guess: I did not intend to imply that I didn't think this was happening to you. I believe you; I was just trying to rule out the possibility of a glaring bug in Simple Automation Rules.)

I didn't see a direct answer to the question about what the actual device is, but I think I incidentally saw the answer in your screenshot: Tasmota? If so, that opens up a third possibility I didn't mention: something outside Hubitat could also be acting on the dimmer. (Presumably, you flashed these with firmware for Hubitat compatibility, but do you have any other integrations using this same tactic?)

To answer the last question, normal Hubitat behavior would be that if a device is at 31%, turns off, and is then issued a "Set Level" to 65%, it will turn on to 65% (i.e., a "Set Level" will turn on a device that is off and then go to that level; if already on, it should just go to that level). However, this is a community driver, so anything is possible, though if it's the integration by Markus I'd be surprised if he did anything odd there.

It is odd that your rule is doing this while manually setting it to 65% does not. If you want to really make sure the rule isn't doing something weird, you could try deleting it and re-creating it. My hunch is that it is unlikely to help, but it can't hurt.


Sorry just pretty frustrating. The 31% is coming from Hubitat.
65% then immediately 31% was in the console log on the device.
Its set as Tuya MCU Module.
I just turned the light on and set it for 48% then off.
Lets see what happens.

I appreciate the vote of confidence :slight_smile: But anyone could make a mistake :stuck_out_tongue: I did go through the code though, there is no logic that can make this change, commands are passed through un-altered. There are settings on the Tasmota device that could possibly cause this, however.

Turn on debug logging on the Child device as well as the Parent device. Also make sure to save the logs on the Tasmota device. Best way to be certain of that is to setup a syslog server and send the logs form the device there, but if that is too complex, just monitor the console and make sure to get all commands and responses in there.

I went through the code in the driver, there is no logic to change the level in there, it is forwarded as received from the commands sent to the device. With full debug logs around when this problem occurs there may be a way to find this. The Tasmota device logs would be needed to rule out something being wrong there.

You PMed me earlier, I did not from the PM know that it was about a Tasmota-based device, nor do I like direct PMs without previously agreeing to receive them. @-me in a thread and I will have a look at things, and if it's about my drivers, do make sure to mention exactly which driver is in use. This goes for any issues related to devices, knowing the exact driver and exact device in use is important.


Here it is on the console of the device.

20:06:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:06:55" Uptime:"2T07:15:12" UptimeSec:198912
20:09:59 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:09:59" Uptime:"2T07:18:16" UptimeSec:199096
20:10:00 RSL: tasmota/stat/RESULT = {"POWER":"ON" Dimmer:65}
20:10:00 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:10:00" Uptime:"2T07:18:17" UptimeSec:199097
20:10:00 RSL: tasmota/stat/RESULT = {"POWER":"ON" Dimmer:31}
20:11:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:11:55" Uptime:"2T07:20:12" UptimeSec:199212
20:16:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:16:55" Uptime:"2T07:25:12" UptimeSec:199512
20:21:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:21:55" Uptime:"2T07:30:12" UptimeSec:199812
20:26:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:26:55" Uptime:"2T07:35:12" UptimeSec:200112
20:31:55 RSL: tasmota/tele/STATE = {"Time":"2020-07-25T20:31:55" Uptime:"2T07:40:12" UptimeSec:200412

This doesn't say clearly where it comes from, set "weblog 4" in the console.

Foyer Events

switch off 'switch' set to 'off' DEVICE 2020-07-26 06:44:00.571 AM EDT
level 31 'level' set to '31' DEVICE 2020-07-25 08:10:00.963 PM EDT
level 65 'level' set to '65' DEVICE 2020-07-25 08:10:00.524 PM EDT
switch on 'switch' set to 'on' DEVICE 2020-07-25 08:10:00.462 PM EDT
switch off 'switch' set to 'off' DEVICE 2020-07-25 06:06:46.055 PM EDT

This looks like it comes as a command to set it to 31. The device driver doesn't have functionality to set this by itself. It only does what it is told to. It can be told to do things by either the actual device (the Tasmota firmware) or Apps/Rules on HE. To rule out/in Tasmota I need more detailed logs from Tasmota.

I set the device to weblog 4.

Here is the rule

I am going to have to figure out how to set a syslog server.