我正在尝试更改脚本,以满足我的需求。
该脚本用于控制Husqarna Automower,他们只是更改了API。使用旧的API和旧脚本,我有它的工作。我现在正试图让新脚本像我的旧脚本一样工作。
我使用的是Python 2.7,这是我丢失的部分。
这部分代码是从commandpromt
运行时打印出的信息mow = API()
mow.login("mail@mail.com", "Password")
mow.status()
print(mow.status())
我在打印中获得此结果
{u'storedTimestamp': 1491209355746L, u'lastLocations': [{u'latitude': 57.57327166666666, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047653333333333}, {u'latitude': 57.57335833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.57335166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047656666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57335166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04766}, {u'latitude': 57.573301666666666, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04767}, {u'latitude': 57.57333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047643333333333}, {u'latitude': 57.57331333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047635}, {u'latitude': 57.57328833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047595}, {u'latitude': 57.573303333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047585}, {u'latitude': 57.573323333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047551666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047535}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.573328333333336, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047673333333334}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047685}, {u'latitude': 57.573296666666664, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04769}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047696666666667}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047705}, {u'latitude': 57.573321666666665, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.57330666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047608333333333}, {u'latitude': 57.57334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047611666666667}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047608333333333}, {u'latitude': 57.57333333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047621666666666}, {u'latitude': 57.5733, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047588333333334}, {u'latitude': 57.57330666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.0476}, {u'latitude': 57.573328333333336, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047613333333333}, {u'latitude': 57.573343333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047641666666667}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047635}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047653333333333}, {u'latitude': 57.57330833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047693333333333}, {u'latitude': 57.573325, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047583333333334}, {u'latitude': 57.573298333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047556666666667}, {u'latitude': 57.573325, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047563333333333}, {u'latitude': 57.573315, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047615}, {u'latitude': 57.57332, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047646666666667}, {u'latitude': 57.57333666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047678333333334}, {u'latitude': 57.57333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047598333333333}, {u'latitude': 57.57333333333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047586666666668}, {u'latitude': 57.573341666666664, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047573333333334}, {u'latitude': 57.573295, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047615}, {u'latitude': 57.57326666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047636666666667}, {u'latitude': 57.57326666666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.573343333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047796666666667}, {u'latitude': 57.57329166666667, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.04763}, {u'latitude': 57.573303333333335, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047616666666666}, {u'latitude': 57.57331833333333, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}, {u'latitude': 57.57331, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047631666666666}, {u'latitude': 57.57326333333334, u'gpsStatus': u'USING_GPS_MAP', u'longitude': 12.047618333333334}], u'operatingMode': u'AUTO', u'showAsDisconnected': False, u'valueFound': True, u'lastErrorCode': 0, u'lastErrorCodeTimestamp': 0, u'nextStartTimestamp': 1491350400, u'batteryPercent': 100, u'connected': True, u'mowerStatus': u'PARKED_TIMER', u'nextStartSource': u'WEEK_TIMER', u'cachedSettingsUUID': u'070b3f55-ca32-4b09-8af5-2ed49365f643'}
我的目标是将一些数据输入到变量中,因此我将该部分更改为此
mow = API()
mow.login("martin@gusten.com", "mypassword")
dic_info = dict(mow.status()['mowerInfo'])
battery = dic_info.get('batteryPercent')
print battery
但这种情况似乎有效, 当我运行脚本时,它打印
'mowerInfo'
之后脚本产生了一些错误,所以似乎mow.status永远不会运行?
有人看到我出错了?
答案 0 :(得分:0)
您要查找的信息位于mow.status()
的主词典中。因此,不要执行dic_info = dict(mow.status()['mowerInfo'])
,而是将其更改为dic_info = mow.status()
,您的代码应该可以正常运行。