SQC + V1 + UI4 + VRF01-1LZ fan control: SQC bug

My V1 is running 1.1.1245. I have two ceiling fans being controlled by the Leviton fan controllers that expose three settings (low/medium/high) and off. Their current state is settable through UI4, and status displays correctly.

Using SQC (latest App Store release), I set up both of these as Fan Control:High/Med/Low Vert. You have a bug WRT to the “low” setting. If I set a fan on “low” by hand, it shows as “off” in SQC. If I set it on “medium” or “high” using SQC, that works fine. If I set it to “low” using SQC, the fan is set to “medium”. Both fans exhibit exactly the same behavior.

So to be clear: when these fan controls report their status through Vera to SQC, “low” shows as “off”. “Low” cannot be set through SQC. If I had to guess, I’d guess your programmers have inadvertently used the same LoadLevelStatus value for medium and low: 50. And that you’ve got some status logic that runs like:

highSetting = 100
mediumSetting = 50
lowSetting = 50 <== should be “25”

if (level == highSetting)
display whatever
else
if (level == mediumSetting)
display whatever
else
if (level == lowSetting)
display whatever
else
display OFF

It’s your code, I’m sure you can find it. But it really smells to me like the low and medium values got aliased, and are being used both for displaying status and setting state, making “low” a non-state for SQC.

–Richard

Richard,

Thanks for the heads up. Can you put these type of reports into our ticket system? (http://www.squareconnect.com/ticket/index.php). We try to track all reproted issues and get the right person working on it. typically we would like some files from your Vera unit and some verification of a working fix - putting all this into the ticket system means ours guys can easily follow up and make sure we get to it.

Regards,

Mat

Done.

Unfortunately that is not the reason… we are using the Dimming1 service from the Vera system, and the 4 buttons set the variable fan speeds to 0, 33, 66, and 100… However these do not appear to be translated properly.

Can you tell us what service the Leviton Fan is using in your setup? I can then see if it is possible to create a control specific for this fan type if there is a specific service that we should be using.

John, Mat,

If you remember, I was the one who petitioned for us to combine two of the buttons together as a bit of hack during one of the beta phases; this was due to the fact there are only 3 speed settings from the controller. Once that was done then everything worked correctly, and still continues to as far as I’m aware, and so I’m not sure why it doesn’t work for @rlmaliz?
,
I’ll revisit this again to double check mine is working correctly tomorrow, as I only mostly turn it on and off without changing speed from SQremote; I’m wondering if perhaps MCV or Leviton hasn’t changed something, which was always the risk I guess?

I’ll also double check my controller part # against the ones that @rlmalisz has.

edit

OK so mine appears to be the same part # as I forgot I had it in my signature :slight_smile:

@rmalisz

Maybe post the following information so that we can compare the version etc are the same:

Capabilities 209,140,0,4,17,4,L,R,RS,|38,39,43,44,114,115,119,133,134,145,
Version 3,2,9,0,5
Manufacturer Leviton
Model RZF01

[quote=“strangely, post:5, topic:168581”]John, Mat,

If you remember, I was the one who petitioned for us to combine two of the buttons together as a bit of hack during one of the beta phases; this was due to the fact there are only 3 speed settings from the controller. Once that was done then everything worked correctly, and still continues to as far as I’m aware, and so I’m not sure why it doesn’t work for @rlmaliz?
,
I’ll revisit this again to double check mine is working correctly tomorrow, as I only mostly turn it on and off without changing speed from SQremote; I’m wondering if perhaps MCV or Leviton hasn’t changed something, which was always the risk I guess?

I’ll also double check my controller part # against the ones that @rlmalisz has.

edit

OK so mine appears to be the same part # as I forgot I had it in my signature :slight_smile:

@rmalisz

Maybe post the following information so that we can compare the version etc are the same:

Capabilities 209,140,0,4,17,4,L,R,RS,|38,39,43,44,114,115,119,133,134,145,
Version 3,2,9,0,5
Manufacturer Leviton
Model RZF01[/quote]

Capabilities: 209,140,0,4,17,4,L,R,RS,|38,39,43,44,114,115,119,133,134,145,
Version: 3,2,9,0,5
Manufacturer: Leviton
Model: RZF01

Looks like we match.

–Richard

So mine is still working exactly as it should, although I added mine ages ago, and I’m wondering if maybe MCV made some changes since you included yours? Or maybe that you are using a different control in SQremote than the one I’m using?

Mmm. I’ll give it a spin :smiley: tonight with that control and report back.

Mat, John,

If you take a look in the thread on your site here it may have the answer or some history?

I’m wondering if either something changed in the xml for this control, or maybe that the xml I use is from a beta that worked, and that the released xml’s in the released versions were never were fixed? The backup I’ve used for a long time in the released version was created with beta the 2.1a beta I think!

Also its possible @rlmalisz might be using a different fan control to the one I’m using?!

@rlmalisz, can you confirm which fan control you are using? I’ve attached mine for reference.

I guess tonight I can create a new one to test the theory, and if it breaks then I guess that will show that maybe the working hack (there was another that didn’t) never made it in, or it got broken at some point.

Played with it. At least a partial explanation appears to be that 33 maps to medium, not low.

I see the same thing.

I do indeed see the control setting these values.

However, setting the [tt]LoadLevelTarget[/tt] through Luup, the mapping is as follows:
[tt] 0: off
1-32: low
33-66: medium
67-100: high[/tt]

What is set by the fan controller itself locally appears to vary, but I’ve seen 0 for off, 27 for low, 37 for medium, 71 for high.

@oTi, are you using the same control that I’m using?

Yep, looks like the one in your screenshot and is named as indicated by @rlmalisz: [tt]High/Med/Low Vert.[/tt].

So when hitting ‘LOW’ in SQR, the LED indicator on the fan controller jumps to the middle position, i.e. medium. Consistent with SQR sending ‘33’ per @SquareConnectJohn’s comment and what I see in the traces.

Mine jumps to low :slight_smile:

I think the way it was hacked around after my initial testing in the beta was to set the levels as follows:

0= off
25=low
50=Medium
100=high

However at some stage it was implemented differently by mistake and I’m not sure the the fix of the hack ever made it into the released version of 2.1. From memory during testing, it was the same issue as described.

I think mine works because I’m using a backup that was created when it was working with a beta version of 2.1.

…off to do some testing now!

[quote=“strangely, post:13, topic:168581”]I think the way it was hacked around after my initial testing in the beta was to set the levels as follows:
0= off 25=low 50=Medium 100=high[/quote]
I see. That should work. I use 0, 30, 60 and 100 in my own Luup fan control stuff.

However at some stage it was implemented differently by mistake and I'm not sure the the fix of the hack ever made it into the released version of 2.1. I think mine works because I'm using a backup that was created when it was working with a beta version of 2.1.
Interesting. I freshly added this control this evening, SQR v2.3.1, Build 2.15.
...off to do some testing now!
Nice; that should clear up what values get sent by your instance.

OK from my log here’s Low, Medium, High and Off being selected respectively.

root@MiOS_12XXX:/tmp/log/cmh# tail -f LuaUPnP.log |grep LoadLevelStatus 06 06/30/11 20:26:35.325 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 0 now: 25 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:26:35.326 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424766890 <0x803> 06 06/30/11 20:26:44.674 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 25 now: 50 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:26:44.675 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424766907 <0x803> 06 06/30/11 20:26:49.960 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 50 now: 100 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:26:49.961 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424766983 <0x803> 06 06/30/11 20:27:06.634 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 100 now: 0 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803>

The above correlates what I remember from memory and also my last post.

I’ll now add a new control and see if its broken which I suspect it will be.

OK new control added and I now get the following [Low jumps to Medium] which is broken:

06 06/30/11 20:38:15.910 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 0 now: 33 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:38:15.911 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424767280 <0x803> 06 06/30/11 20:38:27.249 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 33 now: 66 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:38:27.250 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424767298 <0x803> 06 06/30/11 20:38:39.251 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 66 now: 100 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:38:39.252 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424767314 <0x803> 06 06/30/11 20:38:50.559 Device_Variable::m_szValue_set device: 51 service: urn:upnp-org:serviceId:Dimming1 variable: LoadLevelStatus was: 100 now: 0 #hooks: 1 upnp: 0 v:0x9ec2e8/NONE duplicate:0 <0x803> 10 06/30/11 20:38:50.559 UserData::m_iDataVersion_Variables_incr LoadLevelStatus user data 424763029 variables 424767340 <0x803>

So it looks like the fix either never made it into the released version, or it was broken again at some point.

John, Mat,

Over to you guys! :slight_smile:

Sorted!

You might be able to manually edit the device in PackageControlPads.xml (from your zip on box.net backup) to change all the instances of the targets.

33>25
66>50

Save and re-download it perhaps to SQR?

[quote=“strangely, post:18, topic:168581”]You might be able to manually edit the device in PackageControlPads.xml (from your zip on box.net backup) to change all the instances of the targets.

33>25
66>50

Save and re-download it perhaps to SQR?[/quote]

I’m willing to give that a shot. SQC has also offered to make the edits for me, but I’ll probably do it myself.

–Richard

It looks like in the dash to release SQ Remote HD, SQ Remote Lite and SQ Designer that this was not included in the latest release.

Sorry for that.

I will add into the next defect release.