UPB network traffic

BobS0327

Active Member
While working on my UPBGateway project, I noticed something really interesting.  It seems as though the UPB switches generate powerline traffic when they're manually manipulated.  That is, when they're manually turned Off/On.  While working on my project, I put together a powerline "sniffer" that displays all the UPB traffic on the powerline.
 
Listed below is the traffic from one of my HAI UPB dimmable switches.  It shows the traffic for programmatically turning the switch on and manually turning the switch on/off.
 
Being a UPB newbie, I was under the impression that no powerline traffic would be generated by manually manipulating the switches.  I thought that the UPB protocol was only for programmatically controlling the switches.  Hopefully, somebody can enlighten me on this epihany.
 
Module 141 programmatically turned ON
PA
PA
PN
PU880E0167FF266479
PU880F0167FF266478
PU880C01D2FF266410
PU880D01D2FF26640F
PU880E01D2FF26640E
PU880F01D2FF26640D

Module 141 manually turned OFF
PU880401F18D86006F
PU880501F18D86006E
PU880C0168FF26647A
PU880D0168FF266479
PU880E0168FF266478
PU880F0168FF266477
PU880C01D2FF260074
PU880D01D2FF260073
PU880E01D2FF260072
PU880F01D2FF260071

Module 141 manually turned ON
PU880401F28D86640A
PU880501F28D866409
PU880C0167FF26647B
PU880D0167FF26647A
PU880E0167FF266479
PU880F0167FF266478
PU880C01D2FF266410
PU880D01D2FF26640F
PU880E01D2FF26640E
PU880F01D2FF26640D
EDIT
 
Duh...  I just realized that this is how the panels such as the OP2 get updated on switch states.  Well, as I said before, this is a learning experience for me.
 
Not only is it how the panels stay up to day, it is also how the switches can work together with shared link ID's.  You can program a switch to transmit a link ID on click, double click, bright, dim, etc.  That's one of the great things about UPB is that the switches talk to each other without needing a controller to handle the scenes.
 
The status reporting can be turned on and off in the switch settings.  If you have a Leviton panel (OP2) and you are using HLC, you can keep status reporting off, since the panel will poll the switch for status when its switched. Switches are set up to send link 241/242 when switched, and the panel can tell who sent it, so the panel knows which switch to poll.
 
First of all, I want to say thanx guys for the input.  But now I have a different question.  I'm manually turning off my UPB unit #141 and I capturing the following powerline traffic.  I'm getting packets sent to destination id's of 104 and 210.  I can't find anything in Upstart that references these two destination id's.
 
I'm hoping somebody can shed some light on this destination id  issue. All values listed are decimal values.
 
TIA
 
PU880401F18D86006F
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 1
Transmission count = 2
Network ID is is 1
Destination ID is is 241
Source ID is is 141
Room Name = Int Lights
Device Name = 1st Flr Step
Manufacturer # = 5
Prod ID # = 1
Product Desc = 35A00-1 600W Dimming Switch
Kind = Switch
Message ID is is 134
Message Set is is 4


PU880501F18D86006E
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 2
Transmission count = 2
Network ID is is 1
Destination ID is is 241
Source ID is is 141
Room Name = Int Lights
Device Name = 1st Flr Step
Manufacturer # = 5
Prod ID # = 1
Product Desc = 35A00-1 600W Dimming Switch
Kind = Switch
Message ID is is 134
Message Set is is 4


PU880C0168FF26647A
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 1
Transmission count = 4
Network ID is is 1
Destination ID is is 104
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880D0168FF266479
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 2
Transmission count = 4
Network ID is is 1
Destination ID is is 104
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880E0168FF266478
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 3
Transmission count = 4
Network ID is is 1
Destination ID is is 104
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880F0168FF266477
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 4
Transmission count = 4
Network ID is is 1
Destination ID is is 104
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880C01D2FF260074
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 1
Transmission count = 4
Network ID is is 1
Destination ID is is 210
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880D01D2FF260073
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 2
Transmission count = 4
Network ID is is 1
Destination ID is is 210
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880E01D2FF260072
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 3
Transmission count = 4
Network ID is is 1
Destination ID is is 210
Source ID is is 255
Message ID is is 38
Message Set is is 1


PU880F01D2FF260071
This is a Link
Message indicates a ACK is *NOT* requested
Transmission sequence = 4
Transmission count = 4
Network ID is is 1
Destination ID is is 210
Source ID is is 255
Message ID is is 38
Message Set is is 1

 
 
Here sometimes have installed links or added links that have caused me grief occasionally (low on the WAF). 
 
IE: created a lighting scene in the family room and somehow associating the kitchen lights with it.
 
I have attached an old UPB document which I assume you have anyways.
 
View attachment PCKPCW8x_Specifications.pdf
 
 
 
I haven't added any links since I upgraded to UPB from X10.  I like to keep everything simple as in the Keep It Simple (KIS) methodology.  So, it is a very "plain vanilla" network. 
 
 
BTW, There is a later version of the UPB protocol description available from PCS.  It's version 1.4.  I tried to upload it but I get a message saying "Upload Skipped (This file was too big to upload)". 
 
 
 
Yup; uploaded version 1.4.   Weird got the same error about it being too big where as it is smaller than the 1.1 document.
 
My WAF stuff came about while playing with Upstart (speedy wise) and initially updating a few switches here to dual load multipaddle.  It was just a revisit/tweaking with Upstart and asking myself how did that link get there?
 
Wife knows the UPB paddles / links better than me now.
 
Just an update.  Contacted PCS tech support.  Right now, they're not sure why this issue is ocuring. I just sent my UPB file to them for further review.
 
EDIT.  PCS tech support said a device with an id of 255 is sending out these extraneous power line packets.  So, I removed my Java application from the equation and just used Putty to monitor the powerline.  I still get these packets from 255.  Thus, could device #255 be my Leviton OP2 controller?  There is nothing else on the powerline except 19 Leviton UPB switches.
 
Finally, found the culprit.  It's the OP2 that's putting all these extraneous commands on the power line.  I powered down the OP2 and ran the test.  Sure enough, all 8 bogus commands didn't appear.
 
These bogus commands from the OP2 were 0x26 Indicate Commands which means to request receiving device/channel go to a specified level or state.  Not sure why the OP2 would issue this command whenever a UPB wall switch was toggled on or off.
 
I gave up on getting any tech support from Leviton.  So, I'll just live with this fluke. 
 
 
All my switches are in HLC mode.  I programmed all of them thru PC Access.  Also, I just reprogrammed them thru PC Access on the assumption that there may have been something wrong with the initial programming.  The reprogramming didn't correct the issue.
 
 
BobS0327 said:
All my switches are in HLC mode.  I programmed all of them thru PC Access.  Also, I just reprogrammed them thru PC Access on the assumption that there may have been something wrong with the initial programming.  The reprogramming didn't correct the issue.
What is "the issue" other than the Omni sending commands that you don't understand? 
 
It's not that I don't understand the commands.  It's that the OP2 is sending commands to non existent devices, the command is 0x26 which is a "Indicate Command Request".  The command instructs the receiving device to go to a specific level.  Initially, four commands  tell the nonexistent device to go completely off and then four more commands that tell the device to go completely on. 
 
Also, the 8 "bogus" packets listed above have a transmission count setting  of four but yet in the PC Access, UPB section the transmission count is set to 2.  Thus, getting twice as many packets as designated in PC access.
 
Occasionally, one of the 8 "bogus" packets will have a bad checksum value which really doesn't matter since they're "bogus" packets anyway.
 
Finally, per your post, I believe the OP2 should poll (transmit) a 0x30 "Get Device Status" command twice when the switches are manually manipulated.  The receiving device should respond by transmitting it's current state twice (0x86 Device State Report)  back to the controller.  This doesn't happen when I turn any switch off/on.  But I can  get the status by using the UPB status option in PC Access.  The controller will submit the command only once onto the power line and the receiving device will only reply once to the command. IOW, the polling doesn't work when the switches are manually manipulated but does work in PC Access.
 
I was initially confused by all these extraneous packets since I thought the target switch was generating these packages.  Interpreting the packages didn't make sense to me  I couldn't understand why a switch would want to turn a nonexistent switch on/off for no legitimate reason.  But I couldn't determine how to fix the switch.  Turns out, the switch was not the problem but rather the panel.
 
That's how the HLC protocol works.
It's not an error or an issue, it is by design.
 
The UPB unit numbers are divided into rooms.
Whenever an action is taken within that room, links, the controller polls the status of all the units allocated to that room. 
Even if there is no physical device installed in a particular unit allocated to that room.
 
The protocol was programmed this way to automate the status tracking process and fit it all into the limited memory space of the Omni.
So there were some efficiency measures taken.
 
With respect to manually activating the rockers.
In order for the panel to know when a particular switch turns on or off, you have to configure it to transmit the ON and OFF links 241/242.
When the panel sees those links it checks which unit sent them.
This is how the WHEN UPB Switch ON or OFF triggers get generated.
Otherwise it has no way of knowing when a switch is operated manually.
If a rocker is configured to transmit another link, or no link at all, the panel will not be able to detect rocker presses.
Generally you get around that by configuring the switch's firmware to update it's own status independently when the rocker is pressed.
 
You can always set the Omni to UPB mode, and then you won't see all those extra packets.  In UPB mode, switches transmit status when you toggle them IF the setting is turned on for each switch. You can also request status at any time and the switch will respond.  The bad part of this is when you change the status of a switch with a link, the switch doesn't transmit its status automatically.
 
HLC lets the Omni poll the status of switch changes, BUT you are locked into setting up your switches in a certain way. Since certain links are tied to certain rooms, the Omni knows what switches it must poll when a room link is received. Therefore the panel now DOES know the light level of a switch changed by a link. 
 
HLC is a take it all or not system. If you don't like how it works, the only option is to turn it off. I use it and like it a lot. Its certainly one of Leviton's better inventions. I also wouldn't be surprised is Leviton has some proprietary communications that isn't in the "official" standard, but I don't know that to be true.  Leviton and PCS have a good relationship, and Leviton sells the most UPB switches, so Leviton can get what it needs to make HLC work.
 
Back
Top