SpaceLogic C-Bus Forum
Schneider Electric forum about the C-Bus platform to get support and share knowledge including Network Automation Controller (NAC), Application Controller (AC) at selection, installation and troubleshooting sides.
Link copied. Please paste this link to share this article on your social media post.
SetLightingLevel('Bed 1 WIR', 255, 4) light is ramped on -- can see it all correct,
then call SetLightingLevel() again and nac dosnt update object value correctly.
5500Nac showing Current Value to be 0->255(4sec) after 4 sec it never changes to 255
5500Nac never changes the Current Value to be 255 even though the light is fully on.
also the same occurs when manual controlling the object/group address on the objects tab in the UI with the set value button, when setting a ramp command the first one works but if you attempt to set it to the same level it already is at, it shows the current value to be the ramp command 0->255(4sec),
so nac actually thinks the object value is 0
looking in toolkit application log, the ramp command is sent every time by the 5500NAC but the NAC dose not update the actual level of the Object it shows the current value to be the ramp command 0->255(4sec) and not 255 which is the current value of the object/GA according to toolkit.
Seems like something else gets broken on every firmware release.
Link copied. Please paste this link to share this article on your social media post.
Hi Ben,
I have been attempting to replicate this here, but sadly without success, I get a similar effect when I do not have C-Bus connected to the NAC, but based off your description, it sounds like you have this connected to yours?
Are you testing this on objects that were created after the firmware update? or prior to? I would be curious to identify roughly how old the project is that you are testing on here.
Any details would be appreciated, thanks
Edit: Nevermind, I believe I have just replicated the SetLightingLevel() issue
Link copied. Please paste this link to share this article on your social media post.
Hi Darren,
Thanks for your reply,
at least I'm not going crazy 😂 and you are able to replicate something,
This project has gone through a few changes over the years, started of as a SHAC, one of the earlier ones, which failed, then was replaced with a NAC about 3 years ago the complete project was recreated form scratch when NAC was installed.
yep Cbus connected, its hard to explain, but as simple as i can, when the object is already at level 255 and we use setlightinglevel() NAC sends the command out but doesn't update its own object after the ramp time so it thinks its still ramping
all objects have been created prior to firmware update.
I'm curious to know if it makes a difference if you do the firmware without a project installed - eg factory default then install firmware - then upload cgl and project backup?
- is there a preferred method for installing firmware or maybe it makes no difference?
Link copied. Please paste this link to share this article on your social media post.
Hi Ben,
Firmware updates are designed to consider the current state of the project and update them to work with the new firmware. So the method of updating the firmware without factory defaulting first is the method we recommend.
In regards to your logic not reporting back the correct level while it is ramping though, it is possible to use the GetCBusTargetLevel() function to report back the level of the group address that it is intending to go to
-- Get target level of application 56 group 1 on the local network
value = GetCBusTargetLevel(0, 56, 1)
Link copied. Please paste this link to share this article on your social media post.
Hi Darren,
Its not so much the while ramping that's my problem just that if object is already at 255 and you ramp the object to 255 with a ramp rate it never resolves to 255 on the nac object and its status is stuck in the ramping phase even after ramp timeout period. is that what you have observed with testing is it a bug?
I can manage a work around with code using if GetLightingLevel() ~= 255 and GetCBusTargetLevel() ~=255 then ... etc
so that if it is on already or ramping to 255 then another command is not sent
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.