Fibaro roller shutter 3

Hi there, don't lose hope :slight_smile:
I was able to use the Fibaro in my previous home and I'm sure it will work again. This weekend I am planning to install in my new house and will keep you updated.
By the way, have you tried using the Dimmer tile instead of the shade tile? If I remember correctly this is what I did last time. This should allow draging the shade to a certain position.
Give it a try.
Amit

Surprise, I looked at one of my old dashopards and was able to see the how it was configured.
Have a look

And the Device itself

Thanks @amithalp, I'll have a look tomorrow, I don't know if I tried the dimmer, I like the nice colours and icons on the official shape tile.

Hi, I downloaded the code and it works fine. With one exception, the closed and open situation are the reverse of my actual sunshade. I tried modifying params #24 and #25 to fix this, but there seems to be no difference.

Is there any way other than rewiring the Fibaro module? (a pain due to tight space)

Thanks!

[Note: I found a solution - albeit inelegant - by changing every reference to 'invert' in the driver code to '!invert'. Is there a better solution?]

Had the same problem with one device. tried changing parameters 24 and 25 trough the driver page but it did nothing and I wasn't sure they are realy changed. Finally came across a system tool (link here) that allows you to view the parameters value and change them manually. It did the work for me.
Let me know if it helped.
Good luck

I tried that, but it did not seem to change anything. I am not sure if the parameters actually got stored. Also, looking at the driver, I don't see where the parameters actually get used - seems like that part was snipped out?

Using the Super basic Z-wave tool you can run a report, go to the logs file, see the parameter value. Then perform a change using the tool and run the report again to see the value has changed.
I will try to attached some screen shots

After you have downloaded the driver code and created a driver with the name SuperBasicZ-wave you should change the FGR-233 device driver to this new driver.
Then save the device and you should see the Get parameter report icon. Click it and go to logs to see the list of parameters and their values.
Now if parameter 24 for exampe is 0, then go to the device page again and enter in the Set parameter area the values (Parameter - 24, size - 1, value - 1).
Click 'Set parameter' and run the report again to see that the parameter realy changed.
Works?

And do not forget to replace the device driver to the right one at the end. If it does not do the job for you send me your log file so I can have a look.

This is the only thing I see in the log file when I try to read the params. I don't see anything when I try to set them. Can you post a copy of the exact driver code you use?

dev:372020-09-29 23:30:07.078 traceconfigurationGet command(s) sent...

I'll do it tonight when I get home

/*
Basic Z-Wave tool
Copyright 2016, 2017, 2018 Hubitat Inc. All Rights Reserved

2018-11-28 maxwell
	-add command hints
2018-11-09 maxwell
	-add association and version reports
usage:
	-replace existing driver with this driver
	-set your paremeters
	-replace this driver with previous driver

WARNING!
	--Setting device parameters is an advanced feature, randomly poking values to a device
	can lead to unexpected results which may result in needing to perform a factory reset 
	or possibly bricking the device
	--Refer to the device documentation for the correct parameters and values for your specific device
	--Hubitat cannot be held responsible for misuse of this tool or any unexpected results generated by its use

*/

import groovy.transform.Field

metadata {
definition (name: "Basic Z-Wave tool",namespace: "hubitat", author: "Mike Maxwell") {

	command "getAssociationReport"
command "getVersionReport"
command "getCommandClassReport"
command "getParameterReport", [[name:"parameterNumber",type:"NUMBER", description:"Parameter Number (omit for a complete listing of parameters that have been set)", constraints:["NUMBER"]]]
command "setParameter",[[name:"parameterNumber",type:"NUMBER", description:"Parameter Number", constraints:["NUMBER"]],[name:"size",type:"NUMBER", description:"Parameter Size", constraints:["NUMBER"]],[name:"value",type:"NUMBER", description:"Parameter Value", constraints:["NUMBER"]]]
	
}

}

@Field Map zwLibType = [
0:"N/A",1:"Static Controller",2:"Controller",3:"Enhanced Slave",4:"Slave",5:"Installer",
6:"Routing Slave",7:"Bridge Controller",8:"Device Under Test (DUT)",9:"N/A",10:"AV Remote",11:"AV Device"
]

def parse(String description) {
//log.debug description
def cmd = zwave.parse(description,[0x85:1,0x86:1])
if (cmd) {
zwaveEvent(cmd)
}
}

//Z-Wave responses
def zwaveEvent(hubitat.zwave.commands.versionv1.VersionReport cmd) {
log.info "VersionReport- zWaveLibraryType:${zwLibType.find{ it.key == cmd.zWaveLibraryType }.value}"
log.info "VersionReport- zWaveProtocolVersion:${cmd.zWaveProtocolVersion}.${cmd.zWaveProtocolSubVersion}"
log.info "VersionReport- applicationVersion:${cmd.applicationVersion}.${cmd.applicationSubVersion}"
}

def zwaveEvent(hubitat.zwave.commands.associationv1.AssociationReport cmd) {
log.info "AssociationReport- groupingIdentifier:${cmd.groupingIdentifier}, maxNodesSupported:${cmd.maxNodesSupported}, nodes:${cmd.nodeId}"
}

def zwaveEvent(hubitat.zwave.commands.configurationv1.ConfigurationReport cmd) {
log.info "ConfigurationReport- parameterNumber:${cmd.parameterNumber}, size:${cmd.size}, value:${cmd.scaledConfigurationValue}"
}

def zwaveEvent(hubitat.zwave.commands.versionv1.VersionCommandClassReport cmd) {
log.info "CommandClassReport- class:${ "0x${intToHexStr(cmd.requestedCommandClass)}" }, version:${cmd.commandClassVersion}"
}

def zwaveEvent(hubitat.zwave.commands.securityv1.SecurityMessageEncapsulation cmd) {
def encapCmd = cmd.encapsulatedCommand()
def result = []
if (encapCmd) {
result += zwaveEvent(encapCmd)
} else {
log.warn "Unable to extract encapsulated cmd from ${cmd}"
}
return result
}

def zwaveEvent(hubitat.zwave.Command cmd) {
log.debug "skip: ${cmd}"
}

//cmds
def getVersionReport(){
return secureCmd(zwave.versionV1.versionGet())
}

def setParameter(parameterNumber = null, size = null, value = null){
if (parameterNumber == null || size == null || value == null) {
log.warn "incomplete parameter list supplied..."
log.info "syntax: setParameter(parameterNumber,size,value)"
} else {
return delayBetween([
secureCmd(zwave.configurationV1.configurationSet(scaledConfigurationValue: value, parameterNumber: parameterNumber, size: size)),
secureCmd(zwave.configurationV1.configurationGet(parameterNumber: parameterNumber))
],500)
}
}

def getAssociationReport(){
def cmds = []
1.upto(5, {
cmds.add(secureCmd(zwave.associationV1.associationGet(groupingIdentifier: it)))
})
return cmds
}

def getParameterReport(param = null){
def cmds = []
if (param) {
cmds = [secureCmd(zwave.configurationV1.configurationGet(parameterNumber: param))]
} else {
0.upto(255, {
cmds.add(secureCmd(zwave.configurationV1.configurationGet(parameterNumber: it)))
})
}
return cmds
}

def getCommandClassReport(){
def cmds = []
def ic = getDataValue("inClusters").split(",").collect{ hexStrToUnsignedInt(it) }
ic.each {
if (it) cmds.add(secureCmd(zwave.versionV1.versionCommandClassGet(requestedCommandClass:it)))
}
return delayBetween(cmds,500)
}

def installed(){}

def configure() {}

def updated() {}

private secureCmd(cmd) {
if (getDataValue("zwaveSecurePairingComplete") == "true") {
return zwave.securityV1.securityMessageEncapsulation().encapsulate(cmd).format()
} else {
return cmd.format()
}
}

I'm using a newer version, but the relevant code looks the same. Can you confirm if you get any response in the log file or device events when you set a parameter?

Thanks!

Hi,

I am completely new to Hubitat and have just started adding devices one at a time.
This is a previous topic concerning Fibaro FGR 223 Roller Shutter 3.
I had bought one pc of this device in order to test it first. Sure enough it did not work and I was almost going to return it. I had then seen the procedure posted by @amithalp including the driver modified from Smarthings and with this I was able to use the first device.

So then I bought two more Fibaro Roller Shutter 3 for my other shutters. However, failed to have these working. I tried doing an Exclusion of the first device which had been working but failed to Exclude that either.

In this regard, I will appreciate any advice what mistake I may be making that the 2nd and 3rd device do not get detected and also why I am not able to Exclude the first Device ( as suggested by Huby ).

Can you please provide a step by step instruction for adding the 2nd and 3rd Fibaro Roller Shutter 3 considering that the first one is working using @amithalp instructions and the 2nd and 3rd are not successful?

Many thanks in advance.

If I understood you correctly then you are not able to include the new devices into Hubitat.
My way of including Z-wave devices is by connecting them to a electricity cable N and L on the device very close to the Hub (1-2 meters). Then, put the hub into include mode (under Z-wave menu in setting) and click the reset button on the device very quick for 3-4 times.
Works for me.

Yes @amithalp that was correct.....I was not able to add the two newly purchased Fibaro Roller Shutter 3.

As my apartment is small, I had not considered the range problem since the first Fibaro Roller Shutter I had successfully installed was at even more distance than the present .

Anycase, I brought the device very close to the Hubitat Hub and followed the procedure a

Yes @amithalp that was correct.....I was not able to add the two newly purchased Fibaro Roller Shutter 3.

As my apartment is small, I had not considered the range problem since the first Fibaro Roller Shutter I had successfully installed was at even more distance than the present .

The procedure for installation stated in Instruction booklet says to click the Switch connected to S1 three times rapidly during the Z Wave inclusion process. By this procedure the first device was detected easily but failed to work while installing the second and third device.

Anycase, I brought the second device very close to the Hubitat Hub and connected only the Live and Neutral and tried clicking the Reset button ( what they call the B button ) three times rapidly but this did not work.

Then I read some more details about this B button ( apparently it is used for various purposes and has multiple functions based on the way it is clicked ) and then I did the following procedure( not stated in Instruction Manual ) :

Pressed the B button continuously until small LED starts blinking ( light blue ) and then goes off ( kept the B button still pressed ) and then LED changes colour to purple and flashing ( I do not remember the exact colour ) and then during this flashing triple clicked the B button rapidly. Then the LED starts blinking at a slower rate with a green colour.

With this procedure the device was detected immediately when the Z Wave Device inclusion was started in the Hubitat interface.

I then did the same procedure with the second device. In this case also it was immediately detected but as a Fibaro Smart Implant from the Hubitat system. However, then I selected FGR 223 from the device type drop down menu and now this also works as Roller Shutter control. The Smart Implant icons ( 4 nos ) still remain under the Fibaro Roller Shutter but can be ignored I suppose.

So now I have all three Fibaro Roller Shutters working.

Thanks for your help.

Hi @amithalp, I will appreciate some help concerning the Driver / App for Fibaro Roller Shutter 3.

I am attempting to create a Rule for the Roller Shutters to open partially at a certain time.

By using the RM, the shutters are able to open and close fully at certain times as per settings in the Rule. However, they do not "position" at the desired level.

While I am NIL is programming and coding, I suspect the terms "level" and "position" have something to do with this.

In the App the term "Level" is used while in the Rule Machine, the term "Position" is used.

The following screen shots describe the problem -

In this regard, is it possible to adjust the driver in order to respond to the Rule Machine instructions? i.e. to allow the RM to set the "position" of the shutter?

Thanks in advance.

Wish I had the required knewledge to update the driver myself :slight_smile:
The truth is I just made some minor changes to change the ST driver to work on HE.
By the way, there is a part in the driver code I hade to mark as inactive as it produced errors and this part might be the missing functionality you are looking for. I am sure someone with some Z-wave programming can solve this easily but I could not get "someone" helkp till now :slight_smile:
But..... for you requirement I might sugest a different solution. What is you use Scenes. Meaning, record the required shade position as a scene. and then call this scene in RM. Will this do the job?
Did not try using scenes in RM myself buy I do use them in general.