In a typical HomeSeer Z-Wave device, there are many named values stored in the PlugExtraData object. An example is shown below.
Some of the named keys are encoded objects of some sort, e.g. the "scene" value.
To decode these strings one has to know what type of object was serialized.
Is this documented anywhere?
If not, do any of you know any of the object types? I'm writing a little plug-in sandbox app to help me compare one device to another and I'd like to be able to compare the meaningful data in these encrypted strings also.
Thanks,
Brad
PlugExtraData : ------ HomeSeer.PluginSdk.Devices.PlugExtraData (Start) ------
NamedCount : 39
NamedKeys["basictype"] : 4
NamedKeys["capability"] : 211
NamedKeys["ccbasic"] : False
NamedKeys["ccs_scale"] : 0
NamedKeys["ccs_subtype"] : 0
NamedKeys["ccs_type"] : 0
NamedKeys["classes_controlled"] : "gg=="
NamedKeys["classes_present"] : True
NamedKeys["classes_supported"] : "XoVZhnJwWnMlICcsK3o="
NamedKeys["commandclass"] : 37
NamedKeys["commandclass_instance"] : -1
NamedKeys["commandclass_version"] : 2
NamedKeys["generictype"] : 16
NamedKeys["gotccversion"] : False
NamedKeys["homeid"] : F8B2DF26
NamedKeys["manufacturer_id"] : 29
NamedKeys["manufacturer_prod_id"] : 1
NamedKeys["manufacturer_prod_type"] : 13825
NamedKeys["multi_instance_info"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAP0hTWldM aWIsIFZlcnNpb249Ni4wLjUyLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj S2V5VG9rZW49bnVsbAUBAAAAJ0hTUElfWldhdmUuQ2xhc3NfTm9PYmZ1c2Nh dGlvbitNSVBhY2tldAIAAAAETUlDQwlNSUNDQ291bnQEACFaZW5zeXMuWldh dmUuQ29tbWFuZENsYXNzZXMrVHlwZXMDAAAAAgIAAAAF/P///yFaZW5zeXMuWldhdmUuQ29tbWFuZENsYXNzZXMrVHlwZXMBAAAAB3ZhbHVlX 18AAgMAAAAAAAs="
NamedKeys["node_id"] : 15
NamedKeys["node_version_app"] : 1.15
NamedKeys["node_version_appstring"] : 1.15
NamedKeys["node_version_firm_sub_0"] : 0
NamedKeys["node_version_firm_sub_1"] : 0
NamedKeys["node_version_firm_sub_2"] : 0
NamedKeys["node_version_hardware"] : 255
NamedKeys["node_version_libtype"] : 3
NamedKeys["node_version_zwave"] : 4.33
NamedKeys["pollchanges"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAQBAAAAkQFTeXN0 ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW0hTUElfWldhdmUuQ2xh c3NfTm9PYmZ1c2NhdGlvbitQb2xsQ2hhbmdlLCBIU1BJX1pXYXZlLCBWZXJz aW9uPTMuMC4yLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49 bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAArSFNQSV9aV2F2 ZS5DbGFzc19Ob09iZnVzY2F0aW9uK1BvbGxDaGFuZ2VbXQIAAAAICAkDAAAA AAAAAAAAAAAHAwAAAAABAAAAAAAAAAQpSFNQSV9aV2F2ZS5DbGFzc19Ob09i ZnVzY2F0aW9uK1BvbGxDaGFuZ2UCAAAACw=="
NamedKeys["pollrate"] : 0
NamedKeys["relationship"] : 3
NamedKeys["scene"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAFUhTUElf WldhdmUuY2xzWldTY2VuZQgAAAALbXZhcl9Ib21lSUQHY29sRGF0YQ1tdmFy U2NlbmVOYW1lCFJhbXBSYXRlCUluY2x1ZGVIUwtBc3BpcmVTY2VuZQlIb21l U2NlbmUMSW5Db250cm9sbGVyBwMBAAAAAAACHFN5c3RlbS5Db2xsZWN0aW9u cy5BcnJheUxpc3QIAQgIAQIAAAAJAwAAAAkEAAAABgUAAAAOTWFudWFsU2Nl bmVfNDAAAAAAAAAAAAAAAAAAAA8DAAAABAAAAAL4st8mBAQAAAAcU3lzdGVt LkNvbGxlY3Rpb25zLkFycmF5TGlzdAMAAAAGX2l0ZW1zBV9zaXplCF92ZXJz aW9uBQAACAgJBgAAAAAAAAAAAAAAEAYAAAAAAAAACw=="
NamedKeys["scene_button"] : 0
NamedKeys["secure_classes_present"] : False
NamedKeys["security"] : 156
NamedKeys["specifictype"] : 1
NamedKeys["v4_resave"] : True
NamedKeys["wakeup_support"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAMEhTUElf WldhdmUuWldfQ29uc3RhbnRzRW51bXMrc3RyV2FrZVVwX1N1cHBvcnRlZAYA AAAMTWluaW11bV9UaW1lDE1heGltdW1fVGltZQxEZWZhdWx0X1RpbWUNSW50 ZXJ2YWxfVGltZQlWYWxpZERhdGEHVmVyc2lvbgAAAAAAAAgICAgBAgIAAAAA AAAAAAAAAAAAAAAAAAAAAAAL"
NamedKeys["zwplusinfo"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAALEhTUElf WldhdmUuQ2xhc3NfTm9PYmZ1c2NhdGlvbitaV2F2ZVBsdXNJbmZvCAAAAAta V1BfVmVyc2lvbg1aV1BfUm9sZV9UeXBlDVpXUF9Ob2RlX1R5cGUWWldQX0lu c3RhbGxlcl9JY29uX01TQhZaV1BfSW5zdGFsbGVyX0ljb25fTFNCEVpXUF9V c2VyX0ljb25fTVNCEVpXUF9Vc2VyX0ljb25fTFNCD1BvcHVsYXRlZF9WYWxp ZAAAAAAAAAAAAgICAgICAgECAAAAAQUABwAHAAEL"
UnNamed :
UnNamedCount : 0
------ HomeSeer.PluginSdk.Devices.PlugExtraData (End) --------
Some of the named keys are encoded objects of some sort, e.g. the "scene" value.
To decode these strings one has to know what type of object was serialized.
Is this documented anywhere?
If not, do any of you know any of the object types? I'm writing a little plug-in sandbox app to help me compare one device to another and I'd like to be able to compare the meaningful data in these encrypted strings also.
Thanks,
Brad
PlugExtraData : ------ HomeSeer.PluginSdk.Devices.PlugExtraData (Start) ------
NamedCount : 39
NamedKeys["basictype"] : 4
NamedKeys["capability"] : 211
NamedKeys["ccbasic"] : False
NamedKeys["ccs_scale"] : 0
NamedKeys["ccs_subtype"] : 0
NamedKeys["ccs_type"] : 0
NamedKeys["classes_controlled"] : "gg=="
NamedKeys["classes_present"] : True
NamedKeys["classes_supported"] : "XoVZhnJwWnMlICcsK3o="
NamedKeys["commandclass"] : 37
NamedKeys["commandclass_instance"] : -1
NamedKeys["commandclass_version"] : 2
NamedKeys["generictype"] : 16
NamedKeys["gotccversion"] : False
NamedKeys["homeid"] : F8B2DF26
NamedKeys["manufacturer_id"] : 29
NamedKeys["manufacturer_prod_id"] : 1
NamedKeys["manufacturer_prod_type"] : 13825
NamedKeys["multi_instance_info"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAP0hTWldM aWIsIFZlcnNpb249Ni4wLjUyLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj S2V5VG9rZW49bnVsbAUBAAAAJ0hTUElfWldhdmUuQ2xhc3NfTm9PYmZ1c2Nh dGlvbitNSVBhY2tldAIAAAAETUlDQwlNSUNDQ291bnQEACFaZW5zeXMuWldh dmUuQ29tbWFuZENsYXNzZXMrVHlwZXMDAAAAAgIAAAAF/P///yFaZW5zeXMuWldhdmUuQ29tbWFuZENsYXNzZXMrVHlwZXMBAAAAB3ZhbHVlX 18AAgMAAAAAAAs="
NamedKeys["node_id"] : 15
NamedKeys["node_version_app"] : 1.15
NamedKeys["node_version_appstring"] : 1.15
NamedKeys["node_version_firm_sub_0"] : 0
NamedKeys["node_version_firm_sub_1"] : 0
NamedKeys["node_version_firm_sub_2"] : 0
NamedKeys["node_version_hardware"] : 255
NamedKeys["node_version_libtype"] : 3
NamedKeys["node_version_zwave"] : 4.33
NamedKeys["pollchanges"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAQBAAAAkQFTeXN0 ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW0hTUElfWldhdmUuQ2xh c3NfTm9PYmZ1c2NhdGlvbitQb2xsQ2hhbmdlLCBIU1BJX1pXYXZlLCBWZXJz aW9uPTMuMC4yLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49 bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAArSFNQSV9aV2F2 ZS5DbGFzc19Ob09iZnVzY2F0aW9uK1BvbGxDaGFuZ2VbXQIAAAAICAkDAAAA AAAAAAAAAAAHAwAAAAABAAAAAAAAAAQpSFNQSV9aV2F2ZS5DbGFzc19Ob09i ZnVzY2F0aW9uK1BvbGxDaGFuZ2UCAAAACw=="
NamedKeys["pollrate"] : 0
NamedKeys["relationship"] : 3
NamedKeys["scene"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAFUhTUElf WldhdmUuY2xzWldTY2VuZQgAAAALbXZhcl9Ib21lSUQHY29sRGF0YQ1tdmFy U2NlbmVOYW1lCFJhbXBSYXRlCUluY2x1ZGVIUwtBc3BpcmVTY2VuZQlIb21l U2NlbmUMSW5Db250cm9sbGVyBwMBAAAAAAACHFN5c3RlbS5Db2xsZWN0aW9u cy5BcnJheUxpc3QIAQgIAQIAAAAJAwAAAAkEAAAABgUAAAAOTWFudWFsU2Nl bmVfNDAAAAAAAAAAAAAAAAAAAA8DAAAABAAAAAL4st8mBAQAAAAcU3lzdGVt LkNvbGxlY3Rpb25zLkFycmF5TGlzdAMAAAAGX2l0ZW1zBV9zaXplCF92ZXJz aW9uBQAACAgJBgAAAAAAAAAAAAAAEAYAAAAAAAAACw=="
NamedKeys["scene_button"] : 0
NamedKeys["secure_classes_present"] : False
NamedKeys["security"] : 156
NamedKeys["specifictype"] : 1
NamedKeys["v4_resave"] : True
NamedKeys["wakeup_support"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAMEhTUElf WldhdmUuWldfQ29uc3RhbnRzRW51bXMrc3RyV2FrZVVwX1N1cHBvcnRlZAYA AAAMTWluaW11bV9UaW1lDE1heGltdW1fVGltZQxEZWZhdWx0X1RpbWUNSW50 ZXJ2YWxfVGltZQlWYWxpZERhdGEHVmVyc2lvbgAAAAAAAAgICAgBAgIAAAAA AAAAAAAAAAAAAAAAAAAAAAAL"
NamedKeys["zwplusinfo"] : "AAEAAAD/////AQAAAAAAAAAMAgAAAEFIU1BJX1pXYXZlLCBWZXJzaW9uPTMuMC4yLjAsIEN1 bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAALEhTUElf WldhdmUuQ2xhc3NfTm9PYmZ1c2NhdGlvbitaV2F2ZVBsdXNJbmZvCAAAAAta V1BfVmVyc2lvbg1aV1BfUm9sZV9UeXBlDVpXUF9Ob2RlX1R5cGUWWldQX0lu c3RhbGxlcl9JY29uX01TQhZaV1BfSW5zdGFsbGVyX0ljb25fTFNCEVpXUF9V c2VyX0ljb25fTVNCEVpXUF9Vc2VyX0ljb25fTFNCD1BvcHVsYXRlZF9WYWxp ZAAAAAAAAAAAAgICAgICAgECAAAAAQUABwAHAAEL"
UnNamed :
UnNamedCount : 0
------ HomeSeer.PluginSdk.Devices.PlugExtraData (End) --------
Comment