A method for establishing a pairing between a smart-home device and an online management account established at a central server, the method comprising: instantiating, at a mobile computing device, an application designed for configuration and control of the smart-home device, said application establishing communication over the Internet with the central server; receiving, at the mobile computing device, a first code from the central server; receiving, at the mobile computing device, information derived from a printed surface on the smart-home device or a printed document or package physically accompanying the smart-home device at a setup location, said information comprising a second code; broadcasting, by the smart-home device, an identifier for a first communication protocol that is hosted by the smart-home device; receiving, at the mobile computing device, a selection of said identifier from a user and establishing a connection with the smart-home device via the first communication protocol, wherein said connection is authenticated using said second code; receiving, at the mobile computing device, an identifier for a second communication protocol that provides access the Internet; sending, from the mobile computing device to the smart-home device, said first code and said identifier for the second communication protocol; establishing, by the smart-home device, communications with said central server using said second communication protocol; and transmitting, by the smart-home device to the central server, a transmission comprising said first code, wherein said transmission is authenticated by the central server using information stored in a non-volatile memory of said smart-home device; whereby said pairing is achieved by said central server by (i) validating a preestablished matching relationship using said second code, and (ii) upon said validation, associating said smart-home device with said online management account. instantiating, at a mobile computing device, an application designed for configuration and control of the smart-home device, said application establishing communication over the Internet with the central server; receiving, at the mobile computing device, a first code from the central server; receiving, at the mobile computing device, information derived from a printed surface on the smart-home device or a printed document or package physically accompanying the smart-home device at a setup location, said information comprising a second code; broadcasting, by the smart-home device, an identifier for a first communication protocol that is hosted by the smart-home device; receiving, at the mobile computing device, a selection of said identifier from a user and establishing a connection with the smart-home device via the first communication protocol, wherein said connection is authenticated using said second code; receiving, at the mobile computing device, an identifier for a second communication protocol that provides access the Internet; sending, from the mobile computing device to the smart-home device, said first code and said identifier for the second communication protocol; establishing, by the smart-home device, communications with said central server using said second communication protocol; and transmitting, by the smart-home device to the central server, a transmission comprising said first code, wherein said transmission is authenticated by the central server using information stored in a non-volatile memory of said smart-home device; whereby said pairing is achieved by said central server by (i) validating a preestablished matching relationship using said second code, and (ii) upon said validation, associating said smart-home device with said online management account.