Hi!
Has anyone managed to integrate Warema WMS WebControl PRO into Home Assistant yet?
Last year I bought warema shutters and thougt it would be easy to integrate, but unfortunately I realised that HA integration is only possible with the Warema WMS usb stick at the moment.
Thanks for your help.
You can integrate it with HA using their Homee cube stack.
Is there a way to build an integration from this iobroker adapter?
Sure, but I donāt want to buy additional hardware and the webcontrol pro was expensive enough.
I think itās just for webcontrol (wms stick) and not for pro.
As a workaround I created a warema plus account, activated alexa integration and created alexa skills which open/close the shutters in the meantime.
Now it is possible to control the shutters in homeassistant via alexa media player.
I know - but my problem is that my Alexa already have a US account. This was necessary in order to get Alexa to work at all in Norway. So, Iām stuck!
Good news.
Warema released a new firmware with an open API
https://media.warema.com/warema_software/wms_wcp_api.postman_collection.zip
Here are some postman examples
Thanks a lot for this hint. I just published a Python library to interface with that API here and now I am working on a Home Assistant integration in this branch here: GitHub - mback2k/home-assistant at wmspro
If you want to test it out, follow the guide Tips and tricks | Home Assistant Developer Docs and apply section āTest Core integration changes in your production Home Assistant environmentā to the integration component folder āwmspro
ā.
Thatās great news! Iāve been struggling with the Warema Home Assistant combo for a while. Whenever you have an easy to install integration, Iāll be happy to test it. I have a couple of venetian blinds right now, and Iām gonna have some awnings as well later on.
The PR is ready now and positively tested reviews would be appreciated: Add new integration for WMS WebControl pro using local API by mback2k Ā· Pull Request #124176 Ā· home-assistant/core Ā· GitHub
This is great stuff @mback2k. I recently have installed several venetian blinds from Warema and use the Webcontrol pro. Just a bit of a noob here in terms of using custom components. I managed to get the wmspro integration available. I added the IP to the Webcontrol. I now have one device but no entities. Should these appear automatically or perhaps I missed a step?
Right now the integration in the PR only support awnings as covers, because HA core team wanted to have a minimal PR to start with.
Download the diagnostics.py and put it in your wmspro integration folder:
This way you can download diagnostics from the integration screen and provide it here. With this information I will then be able to add support for more device types in the future. Once supported they will automatically appear, yes.
Thanks, that explains it. Iāve downloaded the diagnostics and this is the output. Hope this helps.
{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2024.8.3",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.12.4",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Amsterdam",
"os_name": "Linux",
"os_version": "6.1.0-25-amd64",
"run_as_root": true
},
"custom_components": {
"hvcgroep": {
"documentation": "https://github.com/cyberjunky/home-assistant-hvcgroep",
"version": "1.0.12",
"requirements": []
},
"skodaconnect": {
"documentation": "https://github.com/skodaconnect/homeassistant-skodaconnect/blob/18e7c459513585a909cdddd3e88de342ed5ac17d/README.md",
"version": "v1.2.12",
"requirements": [
"skodaconnect==1.3.11",
"homeassistant>=2024.4.0"
]
},
"adaptive_cover": {
"documentation": "https://github.com/basbruss/adaptive-cover",
"version": "1.4.3",
"requirements": [
"astral",
"pandas"
]
},
"hacs": {
"documentation": "https://hacs.xyz/docs/configuration/start",
"version": "2.0.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"wmspro": {
"documentation": "https://www.home-assistant.io/integrations/wmspro",
"version": "0.0.0",
"requirements": [
"pywmspro==0.1.0"
]
}
},
"integration_manifest": {
"domain": "wmspro",
"name": "WMS WebControl pro",
"version": "0.0.0",
"codeowners": [
"mback2k"
],
"config_flow": true,
"dependencies": [],
"dhcp": [
{
"macaddress": "0023D5*"
}
],
"documentation": "https://www.home-assistant.io/integrations/wmspro",
"integration_type": "hub",
"iot_class": "local_polling",
"requirements": [
"pywmspro==0.1.0"
],
"is_built_in": false
},
"setup_times": {
"null": {
"setup": 1.4616998669225723e-05
},
"01J6Z5YP603F58TN685DCKC5GS": {
"wait_import_platforms": -2.1230440409999574,
"wait_base_component": -0.0008947690002969466,
"config_entry_setup": 9.663746313002775
}
},
"data": {
"control": {
"_host": "192.168.30.192",
"_control": "http://192.168.30.192/commonCommand",
"_session": {
"__type": "<class 'aiohttp.client.ClientSession'>",
"repr": "<aiohttp.client.ClientSession object at 0x7fcbe1b8aa80>"
},
"dests": {
"34850": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"67442": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"157754": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"226998": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"278272": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"375144": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"413716": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
}
},
"rooms": {
"65455": {
"__type": "<class 'wmspro.room.Room'>",
"repr": "<Room 65455: Zonwering>"
}
},
"scenes": {}
},
"dests": {
"34850": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 34850,
"_names": [
"Eethoek",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 999,
"_heartbeatError": null,
"_blocking": null,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 34850: Eethoek>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
}
}
},
"67442": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 67442,
"_names": [
"Keuken rechts",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 0,
"_heartbeatError": false,
"_blocking": false,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {
"percentage": 0
}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {
"rotation": 0
}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 67442: Keuken rechts>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {
"rotation": 0
}
}
}
},
"157754": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 157754,
"_names": [
"Keuken midden",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 0,
"_heartbeatError": false,
"_blocking": false,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {
"percentage": 0
}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {
"rotation": 0
}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 157754: Keuken midden>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {
"rotation": 0
}
}
}
},
"226998": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 226998,
"_names": [
"Keuken links",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 0,
"_heartbeatError": false,
"_blocking": false,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {
"percentage": 0
}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {
"rotation": 0
}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 226998: Keuken links>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {
"rotation": 0
}
}
}
},
"278272": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 278272,
"_names": [
"Woonkamer",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 0,
"_heartbeatError": false,
"_blocking": false,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {
"percentage": 0
}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {
"rotation": 0
}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 278272: Woonkamer>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {
"rotation": 0
}
}
}
},
"375144": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 375144,
"_names": [
"Alles",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 999,
"_heartbeatError": null,
"_blocking": null,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 375144: Alles>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
}
}
},
"413716": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 413716,
"_names": [
"Keuken alle",
"",
"",
""
],
"_actions": {
"0": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 0: SlatDrive (Percentage)>"
},
"6": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 6: SlatRotate (Rotation)>"
},
"16": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 16: ManualCommand (Stop)>"
},
"22": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 22: Identify (Identify)>"
},
"23": {
"__type": "<class 'wmspro.action.Action'>",
"repr": "<Action 23: ManualCommand (Impulse)>"
}
},
"_animationType": 0,
"_drivingCause": 999,
"_heartbeatError": null,
"_blocking": null,
"actions": {
"0": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
},
"_id": 0,
"_actionType": 0,
"_actionDescription": 2,
"_attrs": {
"minValue": 0,
"maxValue": 100
},
"_params": {}
},
"6": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
},
"_id": 6,
"_actionType": 2,
"_actionDescription": 3,
"_attrs": {
"minValue": -127,
"maxValue": 127
},
"_params": {}
},
"16": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
},
"_id": 16,
"_actionType": 6,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
},
"22": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
},
"_id": 22,
"_actionType": 8,
"_actionDescription": 13,
"_attrs": {},
"_params": {}
},
"23": {
"_dest": {
"__type": "<class 'wmspro.destination.Destination'>",
"repr": "<Destination 413716: Keuken alle>"
},
"_id": 23,
"_actionType": 7,
"_actionDescription": 12,
"_attrs": {},
"_params": {}
}
}
}
},
"rooms": {
"65455": {
"_control": {
"__type": "<class 'wmspro.webcontrol.WebControlPro'>",
"repr": "<wmspro.webcontrol.WebControlPro object at 0x7fcbe05322a0>"
},
"_id": 65455,
"_name": "Zonwering",
"_destination_ids": [
34850,
67442,
157754,
226998,
278272,
375144,
413716
],
"_scene_ids": []
}
},
"scenes": {}
}
}
Great work! Thanks! Is it also possible to integrate windows and the weather Station wms pro as well ? Thanks
If you provide diagnostics information once the new integration lands in the October release, I may give it a try. Unfortunately, only patio awnings made the cut for the upcoming release.
Sure, how could I provide what you need?
Hi mate!
thx for your work indeed. I also activated the WMSPro integration with the newestt HA-release 2024.10.0.
I would also like to support with logs if needed (I do have 3 covers on my balcony which currently not showing up for sure)
Cheers
PS:deleted my previous message since it was not relevant for this topic - it turned out 2024.10.0 corrupted my database
Congrats on the new integration being available in the 2024.10 release!
I have a couple of Venetian blinds and a WMS weather station (last one solar powered). Just let me know if I can help out with testing new stuff. Eager to help!
Thanks for the congratulations.
It would be helpful if you could provide the diagnostics information from the WMS WebControl pro integration. This will contain the technical information I need to add support for new device types:
I may then need to follow-up with device context related questions. Right now scene support is pending: