more G-Labs products

Author Topic: Fibaro RGBW controller not fully functional  (Read 5208 times)

November 28, 2015, 07:03:41 AM
Reply #15

mvdarend

  • *****
  • Information
  • Hero Member
  • Posts: 431
Some more information that might be of help.

After rolling back to r500 the Fibaro RGBW problem I had disappeared. Yesterday morning I tried an automatic update from within the HomeGenie interface, but after unpacking the .zip file it didn;t continue (as far as I could see)

So I downloaded the file manually:
http://skylink.dl.sourceforge.net/project/homegenie/_updates/HomeGenie_1_1_beta_r501_503_update.zip

Unpacked it, and copied all the files over my HomeGenie installation. (After stopping the HG service)

After doing the above teh Fibaro RGBW module was still working as expected.

November 28, 2015, 03:39:22 PM
Reply #16

mvdarend

  • *****
  • Information
  • Hero Member
  • Posts: 431
@mvdarend can you send me the fixed Fibaro.RGB program so I can update it in HG?
Here is the version I'm running at the moment, it's still exactly the same as the version in the HomeGenie Plus thread as far as I can see. For me it works in HG and the HG+ App.

November 28, 2015, 04:41:14 PM
Reply #17

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
I have try that zip file with the last r503 with patches done by Gene (MIG and ZWaveLib)
On/Off and ProgramsSet work. But the ColorWheel with HG UI and HG+ doesn't work anymore than my last tests. Look at the screenshot.
I will try to find that issue.

November 28, 2015, 04:53:38 PM
Reply #18

Gene

  • *****
  • Information
  • Administrator
  • Posts: 1472
  • Tangible is the future!
    • Yet Another Programmer
Hi dani,

that error is due to the FR locale. Do a .Replace(",", ".") on the value before converting the string to a double.

g.

November 28, 2015, 04:56:18 PM
Reply #19

Gene

  • *****
  • Information
  • Administrator
  • Posts: 1472
  • Tangible is the future!
    • Yet Another Programmer
eg:

Code: [Select]
double.Parse(hsbValues[0].Replace(",", "."), CultureInfo.InvariantCulture) * 360;

this should be checked on all double.Parse in the program.

g.

November 28, 2015, 05:42:54 PM
Reply #20

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Thank's Gene yes I found that a few minutes ago.
I am in time to test
Adding Note :
But now, the Control.Level to each channel is not send.
That's called in Func bridegeapicall but I don't receive any event in the screen screen for Virtual channels.
If I add that modules in a group, I can address them individually. And colors change.
« Last Edit: November 28, 2015, 05:56:00 PM by dani »

November 28, 2015, 06:40:07 PM
Reply #21

mvdarend

  • *****
  • Information
  • Hero Member
  • Posts: 431
that error is due to the FR locale. Do a .Replace(",", ".") on the value before converting the string to a double.
Sorry, I always forget that...  :-[

Quote
But now, the Control.Level to each channel is not send.
That's called in Func bridegeapicall but I don't receive any event in the screen screen for Virtual channels.
If I add that modules in a group, I can address them individually. And colors change.
That sounds like the problem Roger and I have been experiencing. I'm pretty sure it has nothing to do with the modified App.

November 29, 2015, 11:54:39 AM
Reply #22

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Hi Marcel, Gene,

I think I found the issue for me.
If for you that works, I want to know if you deactivate Multi-Instance/Channel Virtual Module.
You can try to activate then for me no ColorWheel work properly.
I think before, the multiinstance level from the node are not reported by ZWaveLib.
Because fibaro RGBW works with Value level between 0 and 99. For example when we set level in HG to 0.49 we send 49 to Fibaro.
If we set the level to 1 at the reel Fibaro master node. Then we receive 4 multiinstance level on each virtual channel with the last value set to that channels with value between 0 and 99. Then I don't know what happend. Because in the logger we don't know in which sens the mesage Satus.Level is ? From or to the node.
Before that 2 Program work together, because I nedd it for Fibaro double switch modules and RGBW at the same time.

Adding Note :
Even when modify MultiInstance program, It work better but not perfect. ColorWheel still not works.
And now I have play too much with my Fibaro RGBW Node, now I get always timeout.
« Last Edit: November 29, 2015, 01:22:19 PM by dani »

November 29, 2015, 07:22:48 PM
Reply #23

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Hi Marcel,

I don't undestand how FibaroRGBW can work for you with HG r503. Fo me Impossible to make ColorWheel works.

November 29, 2015, 07:34:17 PM
Reply #24

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Hi Gene,

For try to make FibaroRGBW works again. I found the explanation upstairs and :
If I control each channel (From Node.2 to Node.5) by an individual dimmer it's work.
That is the API command generated for set channel green to 50% :
http://192.168.1.2/api/HomeAutomation.ZWave/4.2/Control.Level/50 And that works
Before for that in FibaroRGBW C# I used :
Code: [Select]
var moduleGreen = Modules.InDomain("HomeAutomation.ZWave").WithAddress("4.2").Get();
moduleGreen.Command("Control.Level").Set( "50" ) ;
And That doesn't work anymore.
I spend all the day for find the issue. I think something is changed somewhere in your code.
The module HomeAutomation.ZWave 4.2 exists, because I can control it directly from a reel dimmer in my group.

November 29, 2015, 07:57:57 PM
Reply #25

mvdarend

  • *****
  • Information
  • Hero Member
  • Posts: 431
Quote
I don't undestand how FibaroRGBW can work for you with HG r503. Fo me Impossible to make ColorWheel works.

I'm curious about that myself. Could it be because I updated HG just by overwriting all of the files and that I might have only done a partial update?

The automatic update was hanging for me after unpacking files, so I just unzipped the update the contents and copied all of the files into my HG folder.

November 29, 2015, 09:29:46 PM
Reply #26

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
In that case, the dll file of FibaroRGBW is replace by old one if you don't compile it.
But now with r504, Gene update your file in the project. I test it but samedi issue for me. So I found the problem. I must explain Gene.

November 29, 2015, 10:27:02 PM
Reply #27

Gene

  • *****
  • Information
  • Administrator
  • Posts: 1472
  • Tangible is the future!
    • Yet Another Programmer
Hi dani,

not sure if has something to do with this issue with FibaroRGB, but take a look here:

http://www.homegenie.it/forum/index.php?topic=1233.msg7865#msg7865

g.

November 29, 2015, 11:03:19 PM
Reply #28

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Hi Gene, I found à solution but I am on tablet. I will explain you more longuer tomorrow

Cheers
Dani

November 30, 2015, 05:37:57 PM
Reply #29

dani

  • *****
  • Information
  • Global Moderator
  • Posts: 535
Hi Gene,

I found that I have to replace a function like that for the 3 Instances :
Code: [Select]
//  var moduleRed = Modules.InDomain("HomeAutomation.ZWave").WithAddress(lightnumber+".2").Get();
//  moduleRed.Command("Control.Level").Set( ((int)iRed).ToString() ) ;
  parentModule.Command("MultiInstance.Set").Set("Switch.MultiLevel/2/" + ((int)iRed).ToString());

//  var moduleGreen = Modules.InDomain("HomeAutomation.ZWave").WithAddress(lightnumber+".3").Get();
//  moduleGreen.Command("Control.Level").Set( ((int)iGreen).ToString() ) ;
  parentModule.Command("MultiInstance.Set").Set("Switch.MultiLevel/3/" + ((int)iGreen).ToString());

//  var moduleBlue = Modules.InDomain("HomeAutomation.ZWave").WithAddress(lightnumber+".4").Get();
//  moduleBlue.Command("Control.Level").Set( ((int)iBlue).ToString() ) ;
  parentModule.Command("MultiInstance.Set").Set("Switch.MultiLevel/4/" + ((int)iBlue).ToString());

Can you explain why  MultiInstanceNode.Command("Control.Level").Set(Value) doesn't work anymore.?
I have to replace by  ParentModule.Command("MultiInstance.Set").Set("Switch.MultiLevel/Instance/Value")
and like that the colorwheel works again.

Here you can find the hgx file for FibaroRGBW modified.
For me it's work with HG UI and with HG+. Only on HG+ I have some little issue about the widget update. If I set a color the ColrHsb is sent and the color is on but the widget show that the eqipment is OFF. So I have to mask the average set level value introduced by Marcel and send a level set to "1".
That is due to that in HG UI the Widget is a dimmer and not in HG+.

Cheers
Dani
« Last Edit: November 30, 2015, 05:39:42 PM by dani »