Hi,
I bought a Parrot Flower Power and asked a friend to help met get its data into my Variables.
He got stuck! Is there anyone who will be able to help us out?!
Thanks a lot!!
He wrote:import urllib, urllib2, json
client_id = "XXXXXXXXX@me.com"
client_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
username = "XXXXXXXXXXX@me.com"
password = "XXXXXXXX"
basename = "https://apiflowerpower.parrot.com"
baseapi = "/user/v1/authenticate"
oauth_bearer = {}
def api_json(params={}, headers={}):
request = urllib2.Request(basename + baseapi + "?" + urllib.urlencode(params),headers=oauth_bearer)
request.add_header('Accept-Language', 'en_us')
result = urllib2.urlopen(request)
result_string = result.read()
return json.loads(result_string)
def grab_data(key, url):
json_data = api_json({'grant_type':'password','client_id':client_id,'client_secret':client_secret,'username':username, 'password':password}, headers=oauth_bearer)
return json_data['locations']
# first get OAuth token
result = api_json({'grant_type':'password','client_id':client_id,'client_secret':client_secret,'username':username, 'password':password})
access_token = result['access_token']
oauth_bearer = {'Authorization':'Bearer '+access_token}
sync = grab_data('api-1.25-sync','/sensor_data/v2/sync?include_s3_urls=1') # Sync data
status = grab_data('api-1.28-status','/sensor_data/v1/garden_locations_status') # Status data
# -- Debug
# dump = json.dumps(sync, indent=4, sort_keys=True)
# print dump
# dumpert = json.dumps(status, indent=4, sort_keys=True)
# print dumpert
# Iterate through the dicts to compile a list or dict with *just* the information you need
for item in sync:
print item
for key, value in enumerate(item):
if key == 'location_identifier':
print key, value
# Iterate to the final array with the usable data and insert/update variables accordingly with new data
for var_value in final_list:
indigo.variable.updateValue('pf_airtemperature_1', var_value)
# etc...
# make sure you use semi unique values so that if there are multiple power flower boxes/plants signed on plant A doesnt overwrite plant B
And he got this:python parrot.py --client_id
XXXXXXXXXX@me.com --client_secret XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --username
XXXXXXXXXX@me.com --password XXXXXXXX
{
"sensors":[
{
"sensor_serial":"A0143D00000819EB",
"firmware_version":"2013-11-27_hawaii-1.0.3_hardware-config-MP",
"nickname":"Flower power 19EB",
"total_uploaded_samples":295,
"current_history_index":296,
"color":6
}],
"locations":[
{
"sensor_serial":null,
"plant_id":999,
"is_indoor":1,
"in_pot":1,
"location_name":null,
"location_identifier":"8AAUSwDgBe3493823855",
"latitude":52.3529892,
"longitude":4.9038763,
"description":null,
"plant_nickname":"#06 Boston fern",
"plant_assigned_date":"2014-07-02T15:28:02Z",
"avatar_url":"https://s3.amazonaws.com/dev-plant-library/b/boston-fern-4.jpg",
"last_sample_upload":null,
"first_sample_utc":null,
"last_sample_utc":null,
"total_sample_count":0,
"display_order":6,
"ignore_fertilizer_alert":false,
"ignore_light_alert":false,
"ignore_moisture_alert":false,
"ignore_temperature_alert":false
},
{
"sensor_serial":null,"plant_id":5750,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"X3ClqQvrlB3891928729","latitude":52.3530169980938,"longitude":4.90381034782457,"description":null,"plant_nickname":"#09 Skeletplant Alocasia Wenti","plant_assigned_date":"2014-07-02T15:11:25Z","avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/X3ClqQvrlB3891928729/c4e44093fd0d019076dfe2984cb13691fd5bcac6860da8b09271ce1d9cabedf304ec1fed806d15f9dcf0f5e0239423e7107f7ecf5c45d81d5c066b63c48237c0425810278?Signature=B%2FO7eMwooiGOfAp11WgkXUg6bpY%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":11,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":"A0143D00000819EB","is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"wi6BLJ20WN3316020197","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":" #01 Medinilla Magnifica #1","plant_assigned_date":null,"avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/wi6BLJ20WN3316020197/f00b2774b1b3b3674e30782e09b325013ed0d68d7b2489dc7e07e2d7a3260a153bee4dc9bd030550485727a67a5b1aede334b46ca3ba6f4122a9ff201255d60a425662618?Signature=T8KJLOfG1Am58wJZM4wOt%2BBKqMQ%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":"2014-07-04 14:09:00 UTC","first_sample_utc":"2014-07-01 12:32:00 UTC","last_sample_utc":"2014-07-04 14:02:00 UTC","total_sample_count":295,"display_order":0,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"Serh0yVdlf3891856445","latitude":52.3530169980938,"longitude":4.90381034782457,"description":null,"plant_nickname":"#07 Kokerbromelia","plant_assigned_date":null,"avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/Serh0yVdlf3891856445/f26fc921db14d6aeee13ba9200de210dd1727adbb0069e01ea9c4abbe06622fbd5fe3afc930671e608bbac1452b90684e8091568e2f6ffa0734648328512af8a425810298?Signature=fkbIM0Q3TknBESDb9OHKAJtJOzc%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":10,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"ajFnttMFPr3891430231","latitude":52.353003400773,"longitude":4.9037931837571,"description":null,"plant_nickname":"#03 Phlebodium aureum","plant_assigned_date":null,"avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/ajFnttMFPr3891430231/7515b311e184509f2f7ca81aa5e681d8e43627042ba4cd96208c84fcd0fa99329710d7e8673ab2182457ccc03658a7948dfe3cbf30e7865cd74644b602348ea4425743555?Signature=2MqIViUgVPDYYfg%2FlXD2%2Bb%2BnR6o%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":9,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"gPvmUVLJ0D3823565166","latitude":52.3531537224095,"longitude":4.90386153571764,"description":null,"plant_nickname":"#02 Medinilla Magnifica #2","plant_assigned_date":null,"avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/gPvmUVLJ0D3823565166/c8766cd74f76a553468d23b0984dd9c91218f1d3c4d9b1abdf91910ba7916efa93c1577b336005987b34404c6036ee7cace58c5979c775b297501c95bf746e53425675689?Signature=xv1kPSd1OzA7crVdg%2FWCB303VSM%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":8,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"v90xL6HT7F3810118237","latitude":52.3528483696769,"longitude":4.90376690403084,"description":null,"plant_nickname":"#10 Bromelia Bilbergia Windii","plant_assigned_date":null,"avatar_url":"https://dev-user-images.s3.amazonaws.com:443/26244/v90xL6HT7F3810118237/2006deec5a456caf0527d13eaf05b0af5d41a529835cc935e56ec4497600dc465985d65da23c2050e15082e0dd178e0f7e2b2b888203f8249fd2b99c09d17b80425662523?Signature=0YRS%2F9xOfHO0WkP3q8N7YM96sV0%3D&Expires=2147382000&AWSAccessKeyId=AKIAILPHGVBNO3SQOIUQ","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":7,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"plant_id":1438,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"L0xwwlWOKL3317801310","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":"#04 Stephanotis / Bruidsbloem","plant_assigned_date":"2014-06-22T22:45:39Z","avatar_url":"https://s3.amazonaws.com/dev-plant-library/NPM_070722329.jpg","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":5,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"plant_id":6494,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"mMIC4IRNO33317198544","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":"#05 Vliegenvanger","plant_assigned_date":"2014-06-22T22:35:37Z","avatar_url":"https://s3.amazonaws.com/dev-plant-library/NPM_90310802.jpg","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":4,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"plant_id":6336,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"FltqxVkBEt3316784659","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":"#08 Hertshoorn ","plant_assigned_date":"2014-06-22T22:28:43Z","avatar_url":"https://s3.amazonaws.com/dev-plant-library/MAP_NPM_84937747.jpg","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":3,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"plant_id":6643,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"IBp4uKspsB3316281926","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":"#11 Agave","plant_assigned_date":"2014-06-22T22:20:20Z","avatar_url":"https://s3.amazonaws.com/dev-plant-library/FTO_120507066.jpg","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":2,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false},{
"sensor_serial":null,"plant_id":89,"is_indoor":1,"in_pot":1,"location_name":null,"location_identifier":"EQeMYRohnH3316188077","latitude":52.3529892,"longitude":4.9038763,"description":null,"plant_nickname":"#12 Aloe vera","plant_assigned_date":"2014-06-22T22:18:46Z","avatar_url":"https://s3.amazonaws.com/dev-plant-library/FP_DZ0528_GWI.jpg","last_sample_upload":null,"first_sample_utc":null,"last_sample_utc":null,"total_sample_count":0,"display_order":1,"ignore_fertilizer_alert":false,"ignore_light_alert":false,"ignore_moisture_alert":false,"ignore_temperature_alert":false}],"errors":[],"server_identifier":"0.1.0ad-1B(p) June 12th 2014","user_data_version":15}
{
"locations":[{
"location_identifier":"8AAUSwDgBe3493823855","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"X3ClqQvrlB3891928729","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"wi6BLJ20WN3316020197","last_processed_upload_timedate_utc":"2014-07-04T14:09:00Z","global_validity_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"Serh0yVdlf3891856445","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"ajFnttMFPr3891430231","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"gPvmUVLJ0D3823565166","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"v90xL6HT7F3810118237","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"L0xwwlWOKL3317801310","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"mMIC4IRNO33317198544","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"FltqxVkBEt3316784659","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"IBp4uKspsB3316281926","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}},{
"location_identifier":"EQeMYRohnH3316188077","last_processed_upload_timedate_utc":null,"air_temperature":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"light":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"soil_moisture":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null},"fertilizer":{
"status_key":null,"instruction_key":null,"next_analysis_timedate_utc":null,"predicted_action_timedate_utc":null,"done_action_timedate_utc":null}}],"errors":[],"server_identifier":"0.1.0ad-1B(p) June 12th 2014","user_data_version":15}
arnair:Desktop arnandegans$