Is there a specific order in which i should be installing things? - No
Do I need to self-publish the smartapp? or leave it as unpublished? - It doesn’t matter, the only job of the smartapp is to change the polling from every hr when not running to every minuet when running. The smartapp is not required.
I’m assuming I was supposed to attach the smartapp to the device, correct? - Yes, but it is not required.
Do I need to set up some sort of port forwarding? - No, everything happens on your LAN. Also this would not be smart, i hope for the security of your home network you do very little port forwarding.
The device network id is required for smartthings to communicate to any LAN device. The device is coded to set this automagicly when the device is installed or updated. Ultimately there are 2 ways to get this set if it is not.
- Change the IP address of your roomba device in smartthings to something else, then change it back to what is is. If this is successful https://graph.api.smartthings.com/ide/logs will display the device network id as the codes runs (yes that page is live only if you open this page after making the change, there will be nothing to see).
- Manually calculate the device network id from the IP address. (I know this is dumb, but this is just how smartthings works with LAN devices) To calculate the device network id from the IP address you have to convert each octet in the ip address from base 10 (Decimal) to base 16 (Hex). as an example 192 converts to C0 and 168 converts to A8, so an IP address of 192.168.0.10 converts to C0A8000A. The default port on the roowifi is 80 this converts to 0050. Assuming your thinkingcleaner IP address is 192.168.0.10 and has the default port of 80 your device network id would be C0A8000A:0050.
As a side note, if your thinkingcleaner IP changes so does your device network id and your device will stop working. I would ensure your thinking cleaner gets the same IP every time.