A computer-implemented method of configuring a thermostat (110, 112, 902) for communication with a computer device (124, 508, 510, 512, 514) over a network connection, comprising: configuring (704, 708) the thermostat (110, 112, 902) on a private network (502, 904) using a network interface controller associated with the thermostat providing network connectivity between the thermostat (110, 112, 902) and a thermostat management system on a public network (504, 906), wherein the private network (502, 904) includes a router (122, 905) connected to the public network (504, 906) and provides the thermostat with access to the public network; sending thermostat metadata that includes a unique thermostat identifier and a public network address of the router (122, 905) over the private network (502, 904) to the thermostat management system on the public network (504, 906) for registration in a thermostat registration pool used for pairing; determining whether the thermostat (110, 112, 902) can be automatically paired with a thermostat management account of a plurality of thermostat management accounts provided by the thermostat management system, with each thermostat management account being associated with an account identifier, and wherein for each thermostat management account, the thermostat management system keeps track of one or more public network addresses used by a computer device (124, 508, 510, 512, 514) of a user to access the thermostat management account, the determining comprising comparing the public network address of the router (122, 905) from the thermostat metadata associated with the thermostat and the tracked one or more public network addresses; and after determining there is a match between the public network address of the router (122, 905) and a tracked public network address from which one thermostat management account has been accessed, automatically pairing the thermostat (110, 112, 902) registered in the thermostat registration pool to the one thermostat management account, wherein once the thermostat (110, 112, 902) is paired to the one thermostat management account, a user accesses the one thermostat management account to communicate with the thermostat (110, 112, 902) over the public network (504, 906) through the thermostat management system. configuring (704, 708) the thermostat (110, 112, 902) on a private network (502, 904) using a network interface controller associated with the thermostat providing network connectivity between the thermostat (110, 112, 902) and a thermostat management system on a public network (504, 906), wherein the private network (502, 904) includes a router (122, 905) connected to the public network (504, 906) and provides the thermostat with access to the public network; sending thermostat metadata that includes a unique thermostat identifier and a public network address of the router (122, 905) over the private network (502, 904) to the thermostat management system on the public network (504, 906) for registration in a thermostat registration pool used for pairing; determining whether the thermostat (110, 112, 902) can be automatically paired with a thermostat management account of a plurality of thermostat management accounts provided by the thermostat management system, with each thermostat management account being associated with an account identifier, and wherein for each thermostat management account, the thermostat management system keeps track of one or more public network addresses used by a computer device (124, 508, 510, 512, 514) of a user to access the thermostat management account, the determining comprising comparing the public network address of the router (122, 905) from the thermostat metadata associated with the thermostat and the tracked one or more public network addresses; and after determining there is a match between the public network address of the router (122, 905) and a tracked public network address from which one thermostat management account has been accessed, automatically pairing the thermostat (110, 112, 902) registered in the thermostat registration pool to the one thermostat management account, wherein once the thermostat (110, 112, 902) is paired to the one thermostat management account, a user accesses the one thermostat management account to communicate with the thermostat (110, 112, 902) over the public network (504, 906) through the thermostat management system.