Page 1 of 1

Automatic Calibration of screens

Posted: Friday 22 January 2016 12:02
by Brutus
I have two Fibaro FIBARO System FGRM222 Roller Shutter Controller 2 modules that control two Suncreens.

With the option: "29. Forced Roller Shutter calibration" you can calibrate the screens. So open is 0% and closed is 100%.

I control the screens with a LUA script that predics the rain, wind, temperature lux and so on. This script can send the screens to 0%, 50% and 100% (scenes)

After calibration the screens are operated with the LUA script and the open state changes:
- After a week its open 4% and closed 100%
- After another week its open 9% and closed 100%
- The week after that its open 15% and closed 100%

So the open state shifts after use. (daily operated)

In the LUA script I have build in a marge of 10% so everything under 10% is considered as open. But after a while the script doesn't work anymore because the "open" state changes to closed because the open state is for example 11% after a while.

Are other people seeing the same things with there shutters?
Is there a possibility to trigger the "29. Forced Roller Shutter calibration" option throught a LUA script. So I can automatically calibrate the screens back 0%.
These options are module specific and only possible to change within the hardware section in Domoticz.

Re: Automatic Calibration of screens

Posted: Friday 22 January 2016 12:12
by Brutus
I think I have just found my solution to the problem :lol: Having this problem for half a year now :)

Look underneath option 29:
By modifying the parameters setting from 0 to 1 a Roller Shutter enters the calibration mode. The parameter relevant only if a Roller Shutter is set to work in positioning mode (parameter 10 set to 1, 2 or 4).

So when I looked at parameter 10 it was 0...
Changed it to 1 now we will wait for a couple of weeks.

Re: Automatic Calibration of screens

Posted: Sunday 24 January 2016 1:08
by Brutus
Changing the parameter 10 isn't the solution... Just after two days i'm already at 5%

Re: Automatic Calibration of screens

Posted: Sunday 19 February 2017 17:29
by Brutus
To solve this problem I found a solution to run a Json command to execute the parameter 29 : "Start Calibration Process"
Its not the perfect solution but it automates the Calibration process so I don't have to look at it anymore ;)

* Open Setup->Hardware-OpenZWave-Setup
* Mark the "FIBARO System FGRM222 Roller Shutter Controller 2"
* Right click "Apply configuration for this device" at the bottom of the page and selected "Inspect Element"
* Select the "Network" tab
* Click "Apply configuration for this device" (Left mouse button)
* In the file list, click the last entry, the one with "json" in it

I got the following URL:

Code: Select all

http://192.168.1.5:8080/json.htm?type=command&param=applyzwavenodeconfig&idx=12&valuelist=12_MTUw_17_MTA=_18_MTA=_22_MjQw_40_MTA=_42_MzYwMA==_43_MTA=_1_Tm8gcHJvdGVjdGlvbi4gUm9sbGVyIFNodXR0ZXIgcmVzcG9uZHMgdG8gcHVzaCBidXR0b25z_2_Tm8gcHJvdGVjdGlvbi4gUm9sbGVyIFNodXR0ZXIgcmVzcG9uZHMgdG8gY29tbWFuZCBmcmFtZXM=_3_QmxpbmQgcG9zaXRpb24gcmVwb3J0cyBzZW50IHRvIHRoZSBtYWluIGNvbnRyb2xsZXIgdXNpbmcgWi1XYXZlIENvbW1hbmQgQ2xhc3M=_10_MSAtIFJvbGxlciBCbGluZCBNb2RlLCB3aXRoIHBvc2l0aW9uaW5n_13_MSAtIExhbWVsbGFzIHJldHVybiB0byBwcmV2aW91c2x5IHNldCBwb3NpdGlvbiBpbiBjYXNlIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIgb3BlcmF0aW9uLCBtb21lbnRhcnkgc3dpdGNoIG9wZXJhdGlvbiwgb3Igd2hlbiB0aGUgbGltaXQgc3dpdGNoIGlzIHJlYWNoZWQ=_14_TW9tZW50YXJ5IHN3aXRjaGVz_29_RGVmYXVsdA==_30_Q2xvc2UgYmxpbmQ=_31_Tm8gcmVhY3Rpb24=_32_T3BlbiBibGluZA==_33_T3BlbiBibGluZA==_35_U2V0IGxhbWVsbGFzIHRvIHRoZWlyIGV4dHJlbWUgcG9zaXRpb24=_44_U2VsZi1tZWFzdXJlbWVudCBhY3RpdmU=_50_QXNzb2NpYXRpb25zIGFjdGl2YXRpb24=_3001_VW5wcm90ZWN0ZWQ=_
Now change option 29 to "Start Calibration Process" and hit the "Apply configuration for this device" again

I got the following URL:

Code: Select all

http://192.168.1.5:8080/json.htm?type=command&param=applyzwavenodeconfig&idx=12&valuelist=12_MTUw_17_MTA=_18_MTA=_22_MjQw_40_MTA=_42_MzYwMA==_43_MTA=_1_Tm8gcHJvdGVjdGlvbi4gUm9sbGVyIFNodXR0ZXIgcmVzcG9uZHMgdG8gcHVzaCBidXR0b25z_2_Tm8gcHJvdGVjdGlvbi4gUm9sbGVyIFNodXR0ZXIgcmVzcG9uZHMgdG8gY29tbWFuZCBmcmFtZXM=_3_QmxpbmQgcG9zaXRpb24gcmVwb3J0cyBzZW50IHRvIHRoZSBtYWluIGNvbnRyb2xsZXIgdXNpbmcgWi1XYXZlIENvbW1hbmQgQ2xhc3M=_10_MSAtIFJvbGxlciBCbGluZCBNb2RlLCB3aXRoIHBvc2l0aW9uaW5n_13_MSAtIExhbWVsbGFzIHJldHVybiB0byBwcmV2aW91c2x5IHNldCBwb3NpdGlvbiBpbiBjYXNlIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIgb3BlcmF0aW9uLCBtb21lbnRhcnkgc3dpdGNoIG9wZXJhdGlvbiwgb3Igd2hlbiB0aGUgbGltaXQgc3dpdGNoIGlzIHJlYWNoZWQ=_14_TW9tZW50YXJ5IHN3aXRjaGVz_29_U3RhcnQgY2FsaWJyYXRpb24gcHJvY2Vzcw==_30_Q2xvc2UgYmxpbmQ=_31_Tm8gcmVhY3Rpb24=_32_T3BlbiBibGluZA==_33_T3BlbiBibGluZA==_35_U2V0IGxhbWVsbGFzIHRvIHRoZWlyIGV4dHJlbWUgcG9zaXRpb24=_44_U2VsZi1tZWFzdXJlbWVudCBhY3RpdmU=_50_QXNzb2NpYXRpb25zIGFjdGl2YXRpb24=_3001_VW5wcm90ZWN0ZWQ=_
The changes for option 29 (_29_):

Before:

Code: Select all

_29_RGVmYXVsdA==
After:

Code: Select all

_29_U3RhcnQgY2FsaWJyYXRpb24gcHJvY2Vzcw==
The JSON URL to send is now:

Code: Select all

http://192.168.1.5:8080/json.htm?type=command&param=applyzwavenodeconfig&idx=12&valuelist=29_U3RhcnQgY2FsaWJyYXRpb24gcHJvY2Vzcw==
I now implemented this URL in my screen / buienradar script to calibrate my screens when the sValue of my screen is 9 while it is in reality 0.

Code: Select all

if ScreenUit == 'Off' and ScreenCal_Var == 'Off' and sScreenGroot == 9 and sRain_corrected < 1 then
        print ('<font color="Red">Screen Groot wordt opnieuw gecalibreert!</font>')
        commandArray[1]={['Variable:Screen Calibratie']= 'On'}
        commandArray[2]={['OpenURL']="http://192.168.1.5:8080/json.htm?type=command&param=applyzwavenodeconfig&idx=12&valuelist=29_U3RhcnQgY2FsaWJyYXRpb24gcHJvY2Vzcw=="}
        commandArray[3]={['Variable:Screen Calibratie']= 'Off AFTER 300'}
        commandArray[4]={['Screen Groot'] = 'Set Level 0 AFTER 240'}