Fibaro FGBS-001

It's just the temperature probes that seem to be a problem the code is corrected for HE for making them, but it's the working out how many values are coming in then using that to create the amount of childs that seems to be the issue.

congratulations BTW welcome to the club :smile:

I can now report that everything is working well for me. I had to do some exclusions and re-inclusions to get it to work.

Could it be that it is a matter of doing things in the correct order ?

Here is how I got it to work:

  1. At first, add the drivers code. I used the code from @BorrisTheCat from above (with the 4 temp probes)
  2. I had my device wired up with 4 sensors, plugged it in and included it.
  3. Choose the correct driver and hit save device.
  4. Fill in all of the parameters, minus the "temperature probes", that comes later, just use the default parameters if not using a specific one and then hit "Save Preferences"
  5. Now hit the "Update current params" button to write the parameters to the device.
  6. I set the "Temperature Probes" parameter to 4 (not sure if the order matters here).
  7. After this you can proceed to hitting the "Create Child Temp Devices" button.

After these steps everything is now working for me with 4 temperature probes online on my device. I tested this a few times, excluding and re-including and it worked every time.

Super happy about this, and thanks to everyone that chimed in and thanks to @cjcharles for the original code and @BorrisTheCat for the additions. Also thanks of course to the originators listed in the code.

1 Like

Yes this is the correct order the only other thing that is needed us to hit configure as well this often kick starts the values coming in, this is done after step 5.

1 Like

The temp scale is set to Celcius in hubitat it shows as below note the ST motion sensor shows the C.

image

Oh ok maybe that's why i have only noticed it more recently! It was triggering hsm arming alerts saying back gate was open that's how i noticed.
welcome @cjcharles have you got a Hubitat on order? or just looking in before you make the jump:wink: If you want to test any changes to code i will happily put it on mine to test, as im sure @BorrisTheCat would as well. But many thanks for the driver i have had plenty of use out of it.

1 Like

Im currently waiting until ST gives me some more problems before I jump ship, but currently its working well so Im not too keen on messing with it just yet. Tempting though, to get all of my integrations working smoothly!

1 Like

@cjcharles how would you reduce the logs from the driver/ put in toggle of debugging?

Right everyone I think I have fixed the driver :smile:. Considering I am no coder, I'm pretty chuffed with myself :rofl: and it felt great when i managed to get it to work! I have updated the link below so if you could left me know if it works for you. I have removed quite a bit to make it easier, but if people still want the parameters (most people leave them as default anyway) let me know and i'll find a way of making them switchable and easier.
EDIT: I have done this now anyway. so if you want to edit the parameters turn on settings

Although I have tested it to create up to 4 temp probs I only have one installed so can only test one and it does report. Depending on how many you want, you need to fill in the amount in the driver page, then click save. then you can click create child devices for the contacts and create temperature for the probs.

Edit: BTW this is a breaking change so you will need to remove your child devices and recreate them.
Also remember if you want 0c you will need to select that in the temperature child device it creates.

1 Like

Oh well done sounds good. I've not got the time spare to try it right now but soon as I can I will. Cheers

1 Like

Lots more fixes and additions to the driver now. Other than cleaning it up abit i think i'm happy with it. you can now select what child device you want to use and the motion part or contact part will only be used if you have a matching child device.

Any chance you have considered working on the Fibaro FGBS-222, aka the smart implant? :slight_smile:

Unfortunately I don't have one yet but i would think (other than the output part) this driver would go some way to making it work?

It's the output part that I am going to use for controlling two garage doors :slight_smile:

I have started working on one, using a fibaro switch, and the UBS driver as base. But I have no clue how to make it work. I have put in a lot of the parameters, and they show up as they are supposed to. But as it comes to deviceid and inclusters and everything else, I have no clue :slight_smile:

Unfortunately I'm only learning aswell so I'm just following examples and following the code through to get it working :slight_smile:

I just tried out this driver today, and I guess I got it working, but it doesn't seem to be working quite properly. I'm only trying to use it as a binary sensor on the 2 inputs. I managed to get 2 child devices created, and when I test the inputs, I do get some activity in the logs. However, the correct states are not being reported/recognized. The state is always 'null' as I open or close the contact. Here's a snippet from my logs:

dev:72019-04-05 17:28:58.795 infoIP1 is null

dev:72019-04-05 17:28:58.791 debugZWaveEvent V3 MultiChannelCmdEncap(bitAddress:false, command:1, commandClass:32, destinationEndPoint:1, parameter:[255, 190, 0], res01:false, sourceEndPoint:1)

dev:72019-04-05 17:28:58.785 debugparse description: zw device: 04, command: 600D, payload: 01 01 20 01 FF BE 00

dev:72019-04-05 17:28:57.205 infoIP1 is null

dev:72019-04-05 17:28:57.203 debugZWaveEvent V3 MultiChannelCmdEncap(bitAddress:false, command:1, commandClass:32, destinationEndPoint:1, parameter:[0, 190, 0], res01:false, sourceEndPoint:1)

dev:72019-04-05 17:28:57.198 debugparse description: zw device: 04, command: 600D, payload: 01 01 20 01 00 BE 00

dev:72019-04-05 17:28:56.221 infoIP1 is null

dev:72019-04-05 17:28:56.218 debugZWaveEvent V3 MultiChannelCmdEncap(bitAddress:false, command:1, commandClass:32, destinationEndPoint:1, parameter:[0, 191, 0], res01:false, sourceEndPoint:1)

dev:72019-04-05 17:28:56.215 infoIP1 is null

dev:72019-04-05 17:28:56.166 debugZWaveEvent V3 MultiChannelCmdEncap(bitAddress:false, command:1, commandClass:32, destinationEndPoint:1, parameter:[255, 187, 0], res01:false, sourceEndPoint:1)

dev:72019-04-05 17:28:56.163 debugparse description: zw device: 04, command: 600D, payload: 01 01 20 01 FF BB 00

dev:72019-04-05 17:28:56.160 debugparse description: zw device: 04, command: 600D, payload: 01 01 20 01 00 BF 00

dev:72019-04-05 17:28:56.101 infoIP1 is null

Any idea what's going on?

Yeah I think so have you selected contact and clicked save? I think it's contact by default now but you still need to click save.

Basically you should have this in the state variables

Thanks for your suggestion, but it doesn't seem to have worked. I had already tried changing the types to and from "Contact" to "Motion" a few times, and clicking Save Preferences, and even Configure. I still get the same result.

When I try clicking Save Preferences, the Current States will only show contact1, and it will show as 'open' no matter what state the contact really is in.

After I test closing the input, the state changes to 'null.' From now on, the state will always show 'null' until I refresh the page.

If I test closing input 2, its state then appears, but is also always 'null.'

@jason-lane just about to update github with some other changes anyway so grab the latest and we will work through it :slight_smile:

Edit: im finding some errors when adding the device to the network (adding a test one to do a full test with you) so bare with.

@jason-lane all fixed grab the latest. I haven't been able to simulate your error so will go though set up with you if your available?

1 Like

@BorrisTheCat

I managed to track down and fix the issue I was having, but it seems a bit weird that I seem to be the only one having the issue:

What I found was that the code that was parsing the Zwave command events was reading the parameter incorrectly. On line 433 you have "if (cmd.parameter == [0])" but when I look at my debug logs (eg. the ones I posted earlier), the command is something like

"ZWaveEvent V3 MultiChannelCmdEncap(bitAddress:false, command:1, commandClass:32, destinationEndPoint:2, parameter:[0, 202, 0], res01:false, sourceEndPoint:2)"

The parameter in my case is an array: "[0,202,0]" and the first element of the array (eg. 0) seems to be the parameter that your code needs to look for. So, I tried modifying your code, and now it works for me: "if (cmd.parameter[0] == 0)" for the close state and "if (cmd.parameter[0] == 255)" for the open state.

So, I have code that now works for me, but as I said, I'm surprised that I'm the only one that has this issue. Could there be a difference in our versions of UBS? Let me know if you want to investigate this further.

I've created a pull request for my fix, if you decide it should be applied.

Thanks again for your help.

Great news :slight_smile:

It's not the 1st time i've heard of something like this happening, in all my tests on this product it has always used the V1 commands so i haven't touched much of the V3 stuff.

Can you share your fingerprint clusters please, if it's something like i read on the fibaro dimmer 2 it will be different. (then we can add it to the code as well)

I'm not a coder just a tinker and probably haven't set up git correctly so you may have to tell me what i need to do for this in PM.

Edit: May have done it?