Esempio n. 1
0
def main():
    while True:
        access_point = (
            input("Please enter the accesspoint id (SGTIN): ").replace(
                "-", "").upper())
        if len(access_point) != 24:
            print("Invalid access_point id")
            continue
        break

    home = Home()
    home.init(access_point)
    auth = homematicip.auth.Auth(home)

    devicename = input(
        "Please enter the client/devicename (leave blank to use default):")

    while True:
        pin = input("Please enter the PIN (leave Blank if there is none): ")

        if pin != "":
            auth.pin = pin
        response = None
        if devicename != "":
            response = auth.connectionRequest(access_point, devicename)
        else:
            response = auth.connectionRequest(access_point)

        if response.status_code == 200:  # ConnectionRequest was fine
            break

        errorCode = json.loads(response.text)["errorCode"]
        if errorCode == "INVALID_PIN":
            print("PIN IS INVALID!")
        else:
            print("Error: {}\nExiting".format(errorCode))
            return

    print("Please press the blue button on the access point")
    while not auth.isRequestAcknowledged():
        print("Please press the blue button on the access point")
        time.sleep(2)

    auth_token = auth.requestAuthToken()
    clientId = auth.confirmAuthToken(auth_token)

    print(
        "-----------------------------------------------------------------------------"
    )
    print("Token successfully registered!")
    print(
        "AUTH_TOKEN:\t{}\nACCESS_POINT:\t{}\nClient ID:\t{}\nsaving configuration to ./config.ini"
        .format(auth_token, access_point, clientId))

    _config = configparser.ConfigParser()
    _config.add_section("AUTH")
    _config.add_section("LOGGING")
    _config["AUTH"] = {"AuthToken": auth_token, "AccessPoint": access_point}
    _config.set("LOGGING", "Level", "30")
    _config.set("LOGGING", "FileName", "None")
    with open("./config.ini", "w") as configfile:
        _config.write(configfile)
Esempio n. 2
0
devicename = input(
    "Please enter the client/devicename (leave blank to use default):")

home = Home()
home.init(access_point)
auth = homematicip.auth.Auth(home)

if pin != '':
    auth.pin = pin

if devicename != '':
    auth.connectionRequest(access_point, devicename)
else:
    auth.connectionRequest(access_point)

print("Please press the blue button on the access point")
while not auth.isRequestAcknowledged():
    print("Please press the blue button on the access point")
    time.sleep(2)

auth_token = auth.requestAuthToken()
clientId = auth.confirmAuthToken(auth_token)

print(
    u'-----------------------------------------------------------------------------'
)
print(u'Token successfully registered!')
print(u'AUTH_TOKEN:\t{}\nACCESS_POINT:\t{}\nClient ID:\t{}'.format(
    auth_token, access_point, clientId))