From 2a180ec1555e48eb1365c39a353e9c4fd69ede77 Mon Sep 17 00:00:00 2001 From: connor rigby Date: Tue, 21 Feb 2017 07:41:02 -0800 Subject: [PATCH] clean a few things up --- .gitignore | 1 + Makefile | 113 -- generate_makefile.exs | 8 + scheduler.md | 91 -- scripts/build_firmware.sh | 1 + slow.json | 2383 ------------------------------------- 6 files changed, 10 insertions(+), 2587 deletions(-) delete mode 100644 Makefile delete mode 100644 scheduler.md delete mode 100644 slow.json diff --git a/.gitignore b/.gitignore index 13e0e64a..c87eb956 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ Makefile.bac /release-* images +Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index bde0eb8b..00000000 --- a/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -# THIS FILE WAS GENERATED BY `build_makefile.exs` -# 554ae5b -# Mon Feb 20 06:47:02 2017 -0800 -# bump-version - -default: rpi3 - -dev_env: - export MIX_ENV=dev - -prod_env: - export MIX_ENV=prod - -clean: - $(info Cleaning) - rm -rf apps/NERVES_SYSTEM_* - rm -rf apps/farmbot/_images - rm -rf apps/nerves_system_br - rm -rf deps - rm -rf _build - -test: dev_env - scripts/run_tests.sh - -## End default portion. - -## begin rpi portion. - -## rpi env -env-rpi: prod_env - export NERVES_TARGET=rpi - -## rpi build -rpi: env-rpi system-rpi firmware-rpi - $(info Building stuff for rpi) - -## rpi create-build -create-build-rpi: - scripts/clone_system.sh rpi - -## rpi system -system-rpi: create-build-rpi - $(info Building Linux System for rpi) - scripts/build_system.sh rpi - -## rpi firmware -firmware-rpi: - $(info Building Firmware for rpi) - scripts/build_firmware.sh rpi - -release-rpi: rpi - scripts/build_release_images.sh rpi 3.0.6-staging.1 - -## end rpi portion. -## begin rpi3 portion. - -## rpi3 env -env-rpi3: prod_env - export NERVES_TARGET=rpi3 - -## rpi3 build -rpi3: env-rpi3 system-rpi3 firmware-rpi3 - $(info Building stuff for rpi3) - -## rpi3 create-build -create-build-rpi3: - scripts/clone_system.sh rpi3 - -## rpi3 system -system-rpi3: create-build-rpi3 - $(info Building Linux System for rpi3) - scripts/build_system.sh rpi3 - -## rpi3 firmware -firmware-rpi3: - $(info Building Firmware for rpi3) - scripts/build_firmware.sh rpi3 - -release-rpi3: rpi3 - scripts/build_release_images.sh rpi3 3.0.6-staging.1 - -## end rpi3 portion. -## begin rpi2 portion. - -## rpi2 env -env-rpi2: prod_env - export NERVES_TARGET=rpi2 - -## rpi2 build -rpi2: env-rpi2 system-rpi2 firmware-rpi2 - $(info Building stuff for rpi2) - -## rpi2 create-build -create-build-rpi2: - scripts/clone_system.sh rpi2 - -## rpi2 system -system-rpi2: create-build-rpi2 - $(info Building Linux System for rpi2) - scripts/build_system.sh rpi2 - -## rpi2 firmware -firmware-rpi2: - $(info Building Firmware for rpi2) - scripts/build_firmware.sh rpi2 - -release-rpi2: rpi2 - scripts/build_release_images.sh rpi2 3.0.6-staging.1 - -## end rpi2 portion. - -## Release will build all the systems. -release: clean release-rpi release-rpi3 release-rpi2 \ No newline at end of file diff --git a/generate_makefile.exs b/generate_makefile.exs index e70c0a92..03395787 100644 --- a/generate_makefile.exs +++ b/generate_makefile.exs @@ -20,9 +20,17 @@ clean: \t$(info Cleaning) \trm -rf apps/NERVES_SYSTEM_* \trm -rf apps/farmbot/_images +\trm -rf apps/farmbot/npm-debug* +\trm -rf apps/farmbot/doc +\trm -rf apps/farmbot/erl_crash.dump +\trm -rf apps/farmbot/node_modules +\trm -rf apps/farmbot/cache \trm -rf apps/nerves_system_br \trm -rf deps \trm -rf _build +\trm -rf images +\trm -rf doc +\trm -rf erl_crash.dump test: dev_env \tscripts/run_tests.sh diff --git a/scheduler.md b/scheduler.md deleted file mode 100644 index 40fd49e4..00000000 --- a/scheduler.md +++ /dev/null @@ -1,91 +0,0 @@ -# Problem -* we need a way to manage processes between the frontend and the bot - * Obviously not EVERY process, but just a small subset of them - * Farmware, Sequences, Regimens and FarmEvents - * Preferable an interface that can be used to represent all of these things - without being too specific to any, but not to generic to be useful. - -we could lay it out in a number of ways -```js -{ - process_info: { - "water plants erry day": { - type: "regimen", - status: "OK" - }, - "something else":{ - type: "event", - status: "failed" - }, - "plant detection": { - type: "farmware", - status: "maybe not string typing" - } - } - -} -``` - -and then have `celery_script` commands: -```js -{ - kind: "start_process", - args: {name: "water plants erry day"} -} - -{ - kind: "stop_process", - args: {name: "water plants erry day"} -} -``` - -this looks nice, but also deals with strings which is kind of scary. -Plus they need to be converted into Atoms on the bot, which is technically -frowned upon. - - -it could also be organized as: -```js -{ - process_info: { - events: [{name: "something user friendly", process_id: 13, status: "running"}], - regimens: [{name: "water teh plantzz", process_id: 1234, status: "more string typing here?"}], - farmwares: [{name: "plant-detection", process_id: 2, status: "completely broken"}] - } -} -``` - -then the `celery_script`s would look like -```js -{kind: "start_process", args: {process_id: 13}} - -{kind: "stop_process", args: {process_id: 2, reason: "maybe we dont want a reason"}} -``` - -```js -{ - // these are the "user accessable" processes. things can only be started if they - // are indexed in here. - process_info: { - events: [ - {name: "user friendly tag?", uuid: "1234-asdf-1111", status: "running"}, - {name: ":+1:", uuid: "6767-1234-asdf", status: "fuuuuu"} - ], - regimens: [ - {name: "water plants @ 4:00 pm", uuid: "1111-aaaa-1234", status: "failed"} - ], - farmwares: [ - {name: "herp derp", uuid: "1234-abcd-6789", status: "nothing to see here"} - ] - } -} - -// celery script nodes would be -{ - kind: "start_process", args: {uuid: "1234-abcd-6789"} -} - -{ - kind: "stop_process", args: {uuiid: "1234-asdf-1111"} -} -``` diff --git a/scripts/build_firmware.sh b/scripts/build_firmware.sh index 3fe3d356..6229728b 100755 --- a/scripts/build_firmware.sh +++ b/scripts/build_firmware.sh @@ -5,4 +5,5 @@ export MIX_TARGET=$SYSTEM echo "building firmware for $SYSTEM" cd apps/farmbot mix deps.get +npm instlal mix firmware diff --git a/slow.json b/slow.json deleted file mode 100644 index b8a318b2..00000000 --- a/slow.json +++ /dev/null @@ -1,2383 +0,0 @@ -{ - "api_version": "ff2875f", - "compat_num": 1, - "device": { - "id": 86, - "planting_area_id": null, - "name": "pulvinate-flower-949", - "webcam_url": null, - "max_log_count": 100, - "max_images_count": 100 - }, - "users": [{ - "id": 58, - "device_id": 86, - "name": "Administrator", - "email": "admin@admin.com", - "created_at": "2017-01-30T16:27:46.285Z", - "updated_at": "2017-02-09T19:16:04.141Z", - "verified_at": "2017-01-30T16:27:46.362Z", - "verification_token": "f38a7da9-24aa-4080-bca8-020ad59330d0", - "agreed_to_terms_at": null - }], - "sequences": [{ - "id": 33, - "device_id": 86, - "name": "New Sequence", - "color": "gray", - "kind": "sequence", - "args": { - "is_outdated": false, - "version": 4 - }, - "body": [{ - "kind": "execute_script", - "args": { - "label": "plant-detection" - } - }], - "updated_at": "2017-02-02T17:45:20.582Z", - "created_at": "2017-02-02T17:45:20.582Z" - }], - "regimens": [ - - ], - "peripherals": [{ - "id": 6, - "device_id": 86, - "pin": 13, - "mode": 0, - "label": "LED", - "created_at": "2017-01-30T16:27:46.762Z", - "updated_at": "2017-01-30T16:27:46.762Z" - }], - "regimen_items": [ - - ], - "plants": [{ - "id": 4, - "device_id": 86, - "planting_area_id": null, - "name": "dentate-pine-213", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 16, - "y": 11, - "created_at": "2017-01-30T16:27:46.698Z" - }, - { - "id": 5, - "device_id": 86, - "planting_area_id": null, - "name": "nectary-firefly-9774", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 85, - "y": 36, - "created_at": "2017-01-30T16:27:46.703Z" - }, - { - "id": 6, - "device_id": 86, - "planting_area_id": null, - "name": "isobifacial-shape-5521", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 83, - "y": 39, - "created_at": "2017-01-30T16:27:46.707Z" - }, - { - "id": 7, - "device_id": 86, - "planting_area_id": null, - "name": "withered-silence-5639", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 25, - "y": 79, - "created_at": "2017-01-30T16:27:46.710Z" - }, - { - "id": 8, - "device_id": 86, - "planting_area_id": null, - "name": "weed-glitter-6566", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 11, - "y": 38, - "created_at": "2017-01-30T16:27:46.714Z" - }, - { - "id": 9, - "device_id": 86, - "planting_area_id": null, - "name": "reflexed-lake-1199", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 33, - "y": 83, - "created_at": "2017-01-30T16:27:46.718Z" - }, - { - "id": 10, - "device_id": 86, - "planting_area_id": null, - "name": "imbricate-tree-2487", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 93, - "y": 85, - "created_at": "2017-01-30T16:27:46.722Z" - }, - { - "id": 11, - "device_id": 86, - "planting_area_id": null, - "name": "reduplicate-flower-6028", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 25, - "y": 68, - "created_at": "2017-01-30T16:27:46.726Z" - }, - { - "id": 12, - "device_id": 86, - "planting_area_id": null, - "name": "valvate-pond-1029", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 53, - "y": 36, - "created_at": "2017-01-30T16:27:46.731Z" - }, - { - "id": 13, - "device_id": 86, - "planting_area_id": null, - "name": "hastate-field-8440", - "img_url": "http://placehold.it/200x150", - "icon_url": "/icons/Natural Food-96.png", - "openfarm_slug": "tomato", - "x": 62, - "y": 53, - "created_at": "2017-01-30T16:27:46.735Z" - } - ], - "points": [ - - ], - "tool_bays": [{ - "id": 20, - "device_id": 86, - "name": "Tool Bay 1", - "created_at": "2017-01-30T16:28:00.107Z", - "updated_at": "2017-01-30T16:28:00.107Z" - }], - "tool_slots": [ - - ], - "tools": [{ - "id": 11, - "name": "Trench Digging Tool", - "status": "inactive" - }], - "logs": [{ - "id": 10901, - "message": "Farmbot is up and running!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.269Z", - "updated_at": "2017-02-02T17:29:53.269Z" - }, - { - "id": 10902, - "message": "Farmbot is closing a websocket connection.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.270Z", - "updated_at": "2017-02-02T17:29:53.270Z" - }, - { - "id": 10903, - "message": "Farmbot is syncing!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.272Z", - "updated_at": "2017-02-02T17:29:53.272Z" - }, - { - "id": 10904, - "message": "Farmbot encountered an error syncing!: :timeout", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "error" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.273Z", - "updated_at": "2017-02-02T17:29:53.273Z" - }, - { - "id": 10905, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.275Z", - "updated_at": "2017-02-02T17:29:53.275Z" - }, - { - "id": 10906, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.276Z", - "updated_at": "2017-02-02T17:29:53.276Z" - }, - { - "id": 10907, - "message": "Getting Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.277Z", - "updated_at": "2017-02-02T17:29:53.277Z" - }, - { - "id": 10908, - "message": "Unpacking Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.278Z", - "updated_at": "2017-02-02T17:29:53.278Z" - }, - { - "id": 10909, - "message": "Installing farmware!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.279Z", - "updated_at": "2017-02-02T17:29:53.279Z" - }, - { - "id": 10910, - "message": "Validating Farmware package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.280Z", - "updated_at": "2017-02-02T17:29:53.280Z" - }, - { - "id": 10911, - "message": "Farmbot is installing Farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.281Z", - "updated_at": "2017-02-02T17:29:53.281Z" - }, - { - "id": 10912, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.283Z", - "updated_at": "2017-02-02T17:29:53.283Z" - }, - { - "id": 10913, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.284Z", - "updated_at": "2017-02-02T17:29:53.284Z" - }, - { - "id": 10914, - "message": "Getting Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.286Z", - "updated_at": "2017-02-02T17:29:53.286Z" - }, - { - "id": 10915, - "message": "Unpacking Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.288Z", - "updated_at": "2017-02-02T17:29:53.288Z" - }, - { - "id": 10916, - "message": "Installing farmware!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.289Z", - "updated_at": "2017-02-02T17:29:53.289Z" - }, - { - "id": 10917, - "message": "Validating Farmware package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.291Z", - "updated_at": "2017-02-02T17:29:53.291Z" - }, - { - "id": 10918, - "message": "Farmbot is installing Farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.292Z", - "updated_at": "2017-02-02T17:29:53.292Z" - }, - { - "id": 10919, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.293Z", - "updated_at": "2017-02-02T17:29:53.293Z" - }, - { - "id": 10920, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:29:53.295Z", - "updated_at": "2017-02-02T17:29:53.295Z" - }, - { - "id": 10921, - "message": "Starting Farmware Tracker", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.039Z", - "updated_at": "2017-02-02T17:31:40.039Z" - }, - { - "id": 10922, - "message": "Starting Farmware Worker", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.041Z", - "updated_at": "2017-02-02T17:31:40.041Z" - }, - { - "id": 10923, - "message": "Farmbot is starting serial services", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.043Z", - "updated_at": "2017-02-02T17:31:40.043Z" - }, - { - "id": 10924, - "message": "handling demand: 1000: []", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.044Z", - "updated_at": "2017-02-02T17:31:40.044Z" - }, - { - "id": 10925, - "message": "Farmbot could not auto detect serial port. i tried: [\"ttyUSB0\"]", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "error" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.045Z", - "updated_at": "2017-02-02T17:31:40.045Z" - }, - { - "id": 10926, - "message": "Tzdata polling for update.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.047Z", - "updated_at": "2017-02-02T17:31:40.047Z" - }, - { - "id": 10927, - "message": "Tzdata downloading new data from https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.048Z", - "updated_at": "2017-02-02T17:31:40.048Z" - }, - { - "id": 10928, - "message": "Tzdata data downloaded. Release version 2016j.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.050Z", - "updated_at": "2017-02-02T17:31:40.050Z" - }, - { - "id": 10929, - "message": "Tzdata has updated the release from 2016c to 2016j", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.051Z", - "updated_at": "2017-02-02T17:31:40.051Z" - }, - { - "id": 10930, - "message": "Tzdata deleting ETS table for version 2016c", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.054Z", - "updated_at": "2017-02-02T17:31:40.054Z" - }, - { - "id": 10931, - "message": "Tzdata deleting ETS table file for version 2016c", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.055Z", - "updated_at": "2017-02-02T17:31:40.055Z" - }, - { - "id": 10932, - "message": "Farmbot is connected to the World Wide Web.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.057Z", - "updated_at": "2017-02-02T17:31:40.057Z" - }, - { - "id": 10933, - "message": "Farmbot is reading configurations.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.058Z", - "updated_at": "2017-02-02T17:31:40.058Z" - }, - { - "id": 10934, - "message": "Farmbot Login", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.059Z", - "updated_at": "2017-02-02T17:31:40.059Z" - }, - { - "id": 10935, - "message": "Farmbot can't log in because i have no token or credentials!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "error" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.060Z", - "updated_at": "2017-02-02T17:31:40.060Z" - }, - { - "id": 10936, - "message": "Farmbot Could not log in! :no_token", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "error" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.061Z", - "updated_at": "2017-02-02T17:31:40.061Z" - }, - { - "id": 10937, - "message": "Farmbot encountered a new local websocket connection.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.062Z", - "updated_at": "2017-02-02T17:31:40.062Z" - }, - { - "id": 10938, - "message": "Farmbot router got credentials", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.063Z", - "updated_at": "2017-02-02T17:31:40.063Z" - }, - { - "id": 10939, - "message": "Farmbot router got config json", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.065Z", - "updated_at": "2017-02-02T17:31:40.065Z" - }, - { - "id": 10940, - "message": "Farmbot Got some new credentials.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.066Z", - "updated_at": "2017-02-02T17:31:40.066Z" - }, - { - "id": 10941, - "message": "Farmbot is replacing %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"we dont even check this\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false} with %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"America/Los_Angeles\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false}", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.068Z", - "updated_at": "2017-02-02T17:31:40.068Z" - }, - { - "id": 10942, - "message": "Farmbot router got credentials", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.069Z", - "updated_at": "2017-02-02T17:31:40.069Z" - }, - { - "id": 10943, - "message": "Farmbot Got some new credentials.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.071Z", - "updated_at": "2017-02-02T17:31:40.071Z" - }, - { - "id": 10944, - "message": "Farmbot router got config json", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.073Z", - "updated_at": "2017-02-02T17:31:40.073Z" - }, - { - "id": 10945, - "message": "Farmbot is replacing %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"America/Los_Angeles\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false} with %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"America/Los_Angeles\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false}", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.075Z", - "updated_at": "2017-02-02T17:31:40.075Z" - }, - { - "id": 10946, - "message": "Farmbot router got credentials", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.077Z", - "updated_at": "2017-02-02T17:31:40.077Z" - }, - { - "id": 10947, - "message": "Farmbot Got some new credentials.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.078Z", - "updated_at": "2017-02-02T17:31:40.078Z" - }, - { - "id": 10948, - "message": "Farmbot router got config json", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.079Z", - "updated_at": "2017-02-02T17:31:40.079Z" - }, - { - "id": 10949, - "message": "Farmbot is replacing %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"America/Los_Angeles\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false} with %{\"authorization\" =\u003e %{\"server\" =\u003e \"http://192.168.29.165:3000\"}, \"configuration\" =\u003e %{\"distance_mm_x\" =\u003e 1500, \"distance_mm_y\" =\u003e 3000, \"distance_mm_z\" =\u003e 800, \"first_party_farmware\" =\u003e false, \"fw_auto_update\" =\u003e false, \"os_auto_update\" =\u003e false, \"steps_per_mm_x\" =\u003e 123, \"steps_per_mm_y\" =\u003e 456, \"steps_per_mm_z\" =\u003e 789, \"timezone\" =\u003e \"America/Los_Angeles\", \"user_env\" =\u003e %{\"DIFFERENT_COOL_VAR\" =\u003e \"String value\", \"SUPER_COOL_VAR\" =\u003e 123}}, \"hardware\" =\u003e %{\"params\" =\u003e %{\"pin_guard_1_active_state\" =\u003e 1, \"pin_guard_4_pin_time_out\" =\u003e 60, \"pin_guard_3_pin_time_out\" =\u003e 60, \"movement_min_spd_y\" =\u003e 50, \"movement_timeout_y\" =\u003e 120, \"pin_guard_1_pin_time_out\" =\u003e 60, \"movement_invert_endpoints_z\" =\u003e 0, \"pin_guard_1_pin_nr\" =\u003e 0, \"movement_invert_endpoints_y\" =\u003e 0, \"pin_guard_2_pin_time_out\" =\u003e 60, \"movement_max_spd_y\" =\u003e 1500, \"movement_home_up_y\" =\u003e 0, \"encoder_missed_steps_decay_z\" =\u003e 10, \"movement_steps_acc_dec_z\" =\u003e 500, \"pin_guard_5_pin_nr\" =\u003e 0, \"movement_invert_motor_z\" =\u003e 0, \"movement_max_spd_x\" =\u003e 1500, \"pin_guard_2_pin_nr\" =\u003e 0, \"encoder_enabled_x\" =\u003e 0, \"pin_guard_2_active_state\" =\u003e 1, \"encoder_missed_steps_decay_y\" =\u003e 10, \"movement_home_up_z\" =\u003e 1, \"pin_guard_3_pin_nr\" =\u003e 0, \"pin_guard_4_active_state\" =\u003e 1, \"movement_steps_acc_dec_y\" =\u003e 500, \"param_version\" =\u003e 1, \"encoder_missed_steps_decay_x\" =\u003e 10, \"movement_timeout_z\" =\u003e 120, \"encoder_missed_steps_max_z\" =\u003e 10, \"movement_min_spd_z\" =\u003e 50, \"encoder_enabled_y\" =\u003e 0, \"movement_home_up_x\" =\u003e 0, \"pin_guard_3_active_state\" =\u003e 1, \"movement_invert_motor_x\" =\u003e 0, \"movement_max_spd_z\" =\u003e 1500, \"movement_steps_acc_dec_x\" =\u003e 499, \"pin_guard_4_pin_nr\" =\u003e 0, \"movement_invert_endpoints_x\" =\u003e 0, \"pin_guard_5_active_state\" =\u003e 1, \"encoder_enabled_z\" =\u003e 0, \"pin_guard_5_time_out\" =\u003e 60, \"movement_min_spd_x\" =\u003e 50, \"encoder_missed_steps_max_y\" =\u003e 10, \"movement_timeout_x\" =\u003e 120, \"encoder_missed_steps_max_x\" =\u003e 10, \"movement_invert_motor_y\" =\u003e 0}}, \"network\" =\u003e false}", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.080Z", - "updated_at": "2017-02-02T17:31:40.080Z" - }, - { - "id": 10950, - "message": "Trying to log in.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.082Z", - "updated_at": "2017-02-02T17:31:40.082Z" - }, - { - "id": 10951, - "message": "Farmbot is trying to log in with credentials.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.084Z", - "updated_at": "2017-02-02T17:31:40.084Z" - }, - { - "id": 10952, - "message": "Farmbot is up and running!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.085Z", - "updated_at": "2017-02-02T17:31:40.085Z" - }, - { - "id": 10953, - "message": "Farmbot is connected to the World Wide Web.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.087Z", - "updated_at": "2017-02-02T17:31:40.087Z" - }, - { - "id": 10954, - "message": "Farmbot is reading configurations.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.088Z", - "updated_at": "2017-02-02T17:31:40.088Z" - }, - { - "id": 10955, - "message": "Farmbot Login", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.090Z", - "updated_at": "2017-02-02T17:31:40.090Z" - }, - { - "id": 10956, - "message": "Farmbot already has a token. Fetching another.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.091Z", - "updated_at": "2017-02-02T17:31:40.091Z" - }, - { - "id": 10957, - "message": "Farmbot needs to restart MQTT", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.093Z", - "updated_at": "2017-02-02T17:31:40.093Z" - }, - { - "id": 10958, - "message": "Farmbot is up and running!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.094Z", - "updated_at": "2017-02-02T17:31:40.094Z" - }, - { - "id": 10959, - "message": "Trying to log in.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.096Z", - "updated_at": "2017-02-02T17:31:40.096Z" - }, - { - "id": 10960, - "message": "Farmbot Is logged in", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.097Z", - "updated_at": "2017-02-02T17:31:40.097Z" - }, - { - "id": 10961, - "message": "Trying to log in.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.099Z", - "updated_at": "2017-02-02T17:31:40.099Z" - }, - { - "id": 10962, - "message": "Farmbot Is logged in", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.100Z", - "updated_at": "2017-02-02T17:31:40.100Z" - }, - { - "id": 10963, - "message": "Farmbot is connected to the World Wide Web.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.102Z", - "updated_at": "2017-02-02T17:31:40.102Z" - }, - { - "id": 10964, - "message": "Farmbot is reading configurations.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.104Z", - "updated_at": "2017-02-02T17:31:40.104Z" - }, - { - "id": 10965, - "message": "Farmbot Login", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.105Z", - "updated_at": "2017-02-02T17:31:40.105Z" - }, - { - "id": 10966, - "message": "Farmbot already has a token. Fetching another.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.107Z", - "updated_at": "2017-02-02T17:31:40.107Z" - }, - { - "id": 10967, - "message": "Farmbot needs to restart MQTT", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.108Z", - "updated_at": "2017-02-02T17:31:40.108Z" - }, - { - "id": 10968, - "message": "Farmbot is up and running!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.109Z", - "updated_at": "2017-02-02T17:31:40.109Z" - }, - { - "id": 10969, - "message": "Farmbot is connected to the World Wide Web.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.111Z", - "updated_at": "2017-02-02T17:31:40.111Z" - }, - { - "id": 10970, - "message": "Farmbot is reading configurations.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.112Z", - "updated_at": "2017-02-02T17:31:40.112Z" - }, - { - "id": 10971, - "message": "Farmbot Login", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.113Z", - "updated_at": "2017-02-02T17:31:40.113Z" - }, - { - "id": 10972, - "message": "Farmbot already has a token. Fetching another.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.115Z", - "updated_at": "2017-02-02T17:31:40.115Z" - }, - { - "id": 10973, - "message": "Farmbot needs to restart MQTT", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.116Z", - "updated_at": "2017-02-02T17:31:40.116Z" - }, - { - "id": 10974, - "message": "Farmbot is up and running!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.118Z", - "updated_at": "2017-02-02T17:31:40.118Z" - }, - { - "id": 10975, - "message": "Farmbot is closing a websocket connection.", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.119Z", - "updated_at": "2017-02-02T17:31:40.119Z" - }, - { - "id": 10976, - "message": "Farmbot is syncing!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.121Z", - "updated_at": "2017-02-02T17:31:40.121Z" - }, - { - "id": 10977, - "message": "Farmbot encountered an error syncing!: :timeout", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "error" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.123Z", - "updated_at": "2017-02-02T17:31:40.123Z" - }, - { - "id": 10978, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.125Z", - "updated_at": "2017-02-02T17:31:40.125Z" - }, - { - "id": 10979, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.126Z", - "updated_at": "2017-02-02T17:31:40.126Z" - }, - { - "id": 10980, - "message": "Getting Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.127Z", - "updated_at": "2017-02-02T17:31:40.127Z" - }, - { - "id": 10981, - "message": "Unpacking Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.128Z", - "updated_at": "2017-02-02T17:31:40.128Z" - }, - { - "id": 10982, - "message": "Installing farmware!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.130Z", - "updated_at": "2017-02-02T17:31:40.130Z" - }, - { - "id": 10983, - "message": "Validating Farmware package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.131Z", - "updated_at": "2017-02-02T17:31:40.131Z" - }, - { - "id": 10984, - "message": "Farmbot is installing Farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.132Z", - "updated_at": "2017-02-02T17:31:40.132Z" - }, - { - "id": 10985, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.134Z", - "updated_at": "2017-02-02T17:31:40.134Z" - }, - { - "id": 10986, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.135Z", - "updated_at": "2017-02-02T17:31:40.135Z" - }, - { - "id": 10987, - "message": "Getting Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.137Z", - "updated_at": "2017-02-02T17:31:40.137Z" - }, - { - "id": 10988, - "message": "Unpacking Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.138Z", - "updated_at": "2017-02-02T17:31:40.138Z" - }, - { - "id": 10989, - "message": "Installing farmware!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.140Z", - "updated_at": "2017-02-02T17:31:40.140Z" - }, - { - "id": 10990, - "message": "Validating Farmware package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.142Z", - "updated_at": "2017-02-02T17:31:40.142Z" - }, - { - "id": 10991, - "message": "Farmbot is installing Farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.143Z", - "updated_at": "2017-02-02T17:31:40.143Z" - }, - { - "id": 10992, - "message": "uninstalling farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "warn" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.144Z", - "updated_at": "2017-02-02T17:31:40.144Z" - }, - { - "id": 10993, - "message": "Getting Farmware Manifest", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.145Z", - "updated_at": "2017-02-02T17:31:40.145Z" - }, - { - "id": 10994, - "message": "Getting Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.146Z", - "updated_at": "2017-02-02T17:31:40.146Z" - }, - { - "id": 10995, - "message": "Unpacking Farmware Package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.147Z", - "updated_at": "2017-02-02T17:31:40.147Z" - }, - { - "id": 10996, - "message": "Installing farmware!", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.148Z", - "updated_at": "2017-02-02T17:31:40.148Z" - }, - { - "id": 10997, - "message": "Validating Farmware package", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.150Z", - "updated_at": "2017-02-02T17:31:40.150Z" - }, - { - "id": 10998, - "message": "Farmbot is installing Farmware: plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.152Z", - "updated_at": "2017-02-02T17:31:40.152Z" - }, - { - "id": 10999, - "message": "Farmbot is registering a farmware as plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.153Z", - "updated_at": "2017-02-02T17:31:40.153Z" - }, - { - "id": 11000, - "message": "Farmbot is starting a farmwares plant-detection", - "meta": { - "x": -1, - "y": -2, - "z": -3, - "type": "info" - }, - "channels": [ - - ], - "device_id": 86, - "created_at": "2017-02-02T17:31:40.155Z", - "updated_at": "2017-02-02T17:31:40.155Z" - } - ], - "images": [{ - "id": 35, - "device_id": 86, - "attachment_processed_at": "2017-02-09T17:43:19.247Z", - "updated_at": "2017-02-09T17:43:19.266Z", - "created_at": "2017-02-09T17:43:16.426Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/035/x640/open-uri20170209-5214-10wd41m?1486662198", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 34, - "device_id": 86, - "attachment_processed_at": "2017-02-02T18:00:12.921Z", - "updated_at": "2017-02-02T18:00:12.934Z", - "created_at": "2017-02-02T18:00:06.072Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/034/x640/open-uri20170202-1127-1hegxgh?1486058412", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 33, - "device_id": 86, - "attachment_processed_at": "2017-02-02T17:57:22.318Z", - "updated_at": "2017-02-02T17:57:22.320Z", - "created_at": "2017-02-02T17:57:13.234Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/033/x640/open-uri20170202-1127-1hz2yyn?1486058242", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 32, - "device_id": 86, - "attachment_processed_at": "2017-02-02T17:57:18.682Z", - "updated_at": "2017-02-02T17:57:18.684Z", - "created_at": "2017-02-02T17:57:12.768Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/032/x640/open-uri20170202-1127-1h5x6vs?1486058238", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 31, - "device_id": 86, - "attachment_processed_at": "2017-02-02T17:57:15.509Z", - "updated_at": "2017-02-02T17:57:15.522Z", - "created_at": "2017-02-02T17:57:12.362Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/031/x640/open-uri20170202-1127-1o3kydm?1486058235", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 30, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:23:06.890Z", - "updated_at": "2017-01-31T16:23:06.902Z", - "created_at": "2017-01-31T16:23:00.977Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/030/x640/open-uri20170131-1127-1oaewom?1485879786", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 29, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:19:40.693Z", - "updated_at": "2017-01-31T16:19:40.704Z", - "created_at": "2017-01-31T16:19:35.592Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/029/x640/open-uri20170131-1127-14d97l1?1485879580", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 28, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:17:41.265Z", - "updated_at": "2017-01-31T16:17:41.278Z", - "created_at": "2017-01-31T16:17:34.905Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/028/x640/open-uri20170131-1127-1l95fct?1485879461", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 27, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:16:22.056Z", - "updated_at": "2017-01-31T16:16:22.068Z", - "created_at": "2017-01-31T16:16:19.095Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/027/x640/open-uri20170131-1127-445fi4?1485879381", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 26, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:16:13.922Z", - "updated_at": "2017-01-31T16:16:13.932Z", - "created_at": "2017-01-31T16:16:08.576Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/026/x640/open-uri20170131-1127-1gob70s?1485879373", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 25, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:15:45.015Z", - "updated_at": "2017-01-31T16:15:45.027Z", - "created_at": "2017-01-31T16:15:43.149Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/025/x640/open-uri20170131-1127-8rafwf?1485879344", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 24, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:15:35.655Z", - "updated_at": "2017-01-31T16:15:35.666Z", - "created_at": "2017-01-31T16:15:32.756Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/024/x640/open-uri20170131-1127-1oggqrk?1485879335", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 23, - "device_id": 86, - "attachment_processed_at": "2017-01-31T16:15:25.370Z", - "updated_at": "2017-01-31T16:15:25.382Z", - "created_at": "2017-01-31T16:15:22.231Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/023/x640/open-uri20170131-1127-131firb?1485879325", - "meta": { - "x": 0, - "y": 0, - "z": 0 - } - }, - { - "id": 22, - "device_id": 86, - "attachment_processed_at": "2017-01-30T16:28:12.503Z", - "updated_at": "2017-01-30T16:28:12.505Z", - "created_at": "2017-01-30T16:27:46.682Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/022/x640/open-uri20170130-1127-1aefkz5?1485793690", - "meta": { - - } - }, - { - "id": 21, - "device_id": 86, - "attachment_processed_at": "2017-01-30T16:28:05.677Z", - "updated_at": "2017-01-30T16:28:05.679Z", - "created_at": "2017-01-30T16:27:46.671Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/021/x640/open-uri20170130-1127-127fbpd?1485793684", - "meta": { - - } - }, - { - "id": 20, - "device_id": 86, - "attachment_processed_at": "2017-01-30T16:27:58.472Z", - "updated_at": "2017-01-30T16:27:58.475Z", - "created_at": "2017-01-30T16:27:46.661Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/020/x640/open-uri20170130-1127-1x6n169?1485793676", - "meta": { - - } - }, - { - "id": 19, - "device_id": 86, - "attachment_processed_at": "2017-01-30T16:27:51.725Z", - "updated_at": "2017-01-30T16:27:51.745Z", - "created_at": "2017-01-30T16:27:46.649Z", - "attachment_url": "https://farmbot-team.storage.googleapis.com/images/attachments/000/000/019/x640/open-uri20170130-1127-1sizfhi?1485793670", - "meta": { - - } - } - ], - "farm_events": [{ - "id": 5, - "start_time": "2015-02-17T15:16:17.000Z", - "end_time": "2099-02-17T18:19:20.000Z", - "next_time": "2017-02-09T17:56:17.000Z", - "repeat": 4, - "time_unit": "minutely", - "executable_id": 33, - "executable_type": "Sequence", - "calendar": [ - "2017-02-08T00:00:17.000Z", - "2017-02-08T00:04:17.000Z", - "2017-02-08T00:08:17.000Z", - "2017-02-08T00:12:17.000Z", - "2017-02-08T00:16:17.000Z", - "2017-02-08T00:20:17.000Z", - "2017-02-08T00:24:17.000Z", - "2017-02-08T00:28:17.000Z", - "2017-02-08T00:32:17.000Z", - "2017-02-08T00:36:17.000Z", - "2017-02-08T00:40:17.000Z", - "2017-02-08T00:44:17.000Z", - "2017-02-08T00:48:17.000Z", - "2017-02-08T00:52:17.000Z", - "2017-02-08T00:56:17.000Z", - "2017-02-08T01:00:17.000Z", - "2017-02-08T01:04:17.000Z", - "2017-02-08T01:08:17.000Z", - "2017-02-08T01:12:17.000Z", - "2017-02-08T01:16:17.000Z", - "2017-02-08T01:20:17.000Z", - "2017-02-08T01:24:17.000Z", - "2017-02-08T01:28:17.000Z", - "2017-02-08T01:32:17.000Z", - "2017-02-08T01:36:17.000Z", - "2017-02-08T01:40:17.000Z", - "2017-02-08T01:44:17.000Z", - "2017-02-08T01:48:17.000Z", - "2017-02-08T01:52:17.000Z", - "2017-02-08T01:56:17.000Z", - "2017-02-08T02:00:17.000Z", - "2017-02-08T02:04:17.000Z", - "2017-02-08T02:08:17.000Z", - "2017-02-08T02:12:17.000Z", - "2017-02-08T02:16:17.000Z", - "2017-02-08T02:20:17.000Z", - "2017-02-08T02:24:17.000Z", - "2017-02-08T02:28:17.000Z", - "2017-02-08T02:32:17.000Z", - "2017-02-08T02:36:17.000Z", - "2017-02-08T02:40:17.000Z", - "2017-02-08T02:44:17.000Z", - "2017-02-08T02:48:17.000Z", - "2017-02-08T02:52:17.000Z", - "2017-02-08T02:56:17.000Z", - "2017-02-08T03:00:17.000Z", - "2017-02-08T03:04:17.000Z", - "2017-02-08T03:08:17.000Z", - "2017-02-08T03:12:17.000Z", - "2017-02-08T03:16:17.000Z", - "2017-02-08T03:20:17.000Z", - "2017-02-08T03:24:17.000Z", - "2017-02-08T03:28:17.000Z", - "2017-02-08T03:32:17.000Z", - "2017-02-08T03:36:17.000Z", - "2017-02-08T03:40:17.000Z", - "2017-02-08T03:44:17.000Z", - "2017-02-08T03:48:17.000Z", - "2017-02-08T03:52:17.000Z", - "2017-02-08T03:56:17.000Z", - "2017-02-08T04:00:17.000Z", - "2017-02-08T04:04:17.000Z", - "2017-02-08T04:08:17.000Z", - "2017-02-08T04:12:17.000Z", - "2017-02-08T04:16:17.000Z", - "2017-02-08T04:20:17.000Z", - "2017-02-08T04:24:17.000Z", - "2017-02-08T04:28:17.000Z", - "2017-02-08T04:32:17.000Z", - "2017-02-08T04:36:17.000Z", - "2017-02-08T04:40:17.000Z", - "2017-02-08T04:44:17.000Z", - "2017-02-08T04:48:17.000Z", - "2017-02-08T04:52:17.000Z", - "2017-02-08T04:56:17.000Z", - "2017-02-08T05:00:17.000Z", - "2017-02-08T05:04:17.000Z", - "2017-02-08T05:08:17.000Z", - "2017-02-08T05:12:17.000Z", - "2017-02-08T05:16:17.000Z", - "2017-02-08T05:20:17.000Z", - "2017-02-08T05:24:17.000Z", - "2017-02-08T05:28:17.000Z", - "2017-02-08T05:32:17.000Z", - "2017-02-08T05:36:17.000Z", - "2017-02-08T05:40:17.000Z", - "2017-02-08T05:44:17.000Z", - "2017-02-08T05:48:17.000Z", - "2017-02-08T05:52:17.000Z", - "2017-02-08T05:56:17.000Z", - "2017-02-08T06:00:17.000Z", - "2017-02-08T06:04:17.000Z", - "2017-02-08T06:08:17.000Z", - "2017-02-08T06:12:17.000Z", - "2017-02-08T06:16:17.000Z", - "2017-02-08T06:20:17.000Z", - "2017-02-08T06:24:17.000Z", - "2017-02-08T06:28:17.000Z", - "2017-02-08T06:32:17.000Z", - "2017-02-08T06:36:17.000Z", - "2017-02-08T06:40:17.000Z", - "2017-02-08T06:44:17.000Z", - "2017-02-08T06:48:17.000Z", - "2017-02-08T06:52:17.000Z", - "2017-02-08T06:56:17.000Z", - "2017-02-08T07:00:17.000Z", - "2017-02-08T07:04:17.000Z", - "2017-02-08T07:08:17.000Z", - "2017-02-08T07:12:17.000Z", - "2017-02-08T07:16:17.000Z", - "2017-02-08T07:20:17.000Z", - "2017-02-08T07:24:17.000Z", - "2017-02-08T07:28:17.000Z", - "2017-02-08T07:32:17.000Z", - "2017-02-08T07:36:17.000Z", - "2017-02-08T07:40:17.000Z", - "2017-02-08T07:44:17.000Z", - "2017-02-08T07:48:17.000Z", - "2017-02-08T07:52:17.000Z", - "2017-02-08T07:56:17.000Z", - "2017-02-08T08:00:17.000Z", - "2017-02-08T08:04:17.000Z", - "2017-02-08T08:08:17.000Z", - "2017-02-08T08:12:17.000Z", - "2017-02-08T08:16:17.000Z", - "2017-02-08T08:20:17.000Z", - "2017-02-08T08:24:17.000Z", - "2017-02-08T08:28:17.000Z", - "2017-02-08T08:32:17.000Z", - "2017-02-08T08:36:17.000Z", - "2017-02-08T08:40:17.000Z", - "2017-02-08T08:44:17.000Z", - "2017-02-08T08:48:17.000Z", - "2017-02-08T08:52:17.000Z", - "2017-02-08T08:56:17.000Z", - "2017-02-08T09:00:17.000Z", - "2017-02-08T09:04:17.000Z", - "2017-02-08T09:08:17.000Z", - "2017-02-08T09:12:17.000Z", - "2017-02-08T09:16:17.000Z", - "2017-02-08T09:20:17.000Z", - "2017-02-08T09:24:17.000Z", - "2017-02-08T09:28:17.000Z", - "2017-02-08T09:32:17.000Z", - "2017-02-08T09:36:17.000Z", - "2017-02-08T09:40:17.000Z", - "2017-02-08T09:44:17.000Z", - "2017-02-08T09:48:17.000Z", - "2017-02-08T09:52:17.000Z", - "2017-02-08T09:56:17.000Z", - "2017-02-08T10:00:17.000Z", - "2017-02-08T10:04:17.000Z", - "2017-02-08T10:08:17.000Z", - "2017-02-08T10:12:17.000Z", - "2017-02-08T10:16:17.000Z", - "2017-02-08T10:20:17.000Z", - "2017-02-08T10:24:17.000Z", - "2017-02-08T10:28:17.000Z", - "2017-02-08T10:32:17.000Z", - "2017-02-08T10:36:17.000Z", - "2017-02-08T10:40:17.000Z", - "2017-02-08T10:44:17.000Z", - "2017-02-08T10:48:17.000Z", - "2017-02-08T10:52:17.000Z", - "2017-02-08T10:56:17.000Z", - "2017-02-08T11:00:17.000Z", - "2017-02-08T11:04:17.000Z", - "2017-02-08T11:08:17.000Z", - "2017-02-08T11:12:17.000Z", - "2017-02-08T11:16:17.000Z", - "2017-02-08T11:20:17.000Z", - "2017-02-08T11:24:17.000Z", - "2017-02-08T11:28:17.000Z", - "2017-02-08T11:32:17.000Z", - "2017-02-08T11:36:17.000Z", - "2017-02-08T11:40:17.000Z", - "2017-02-08T11:44:17.000Z", - "2017-02-08T11:48:17.000Z", - "2017-02-08T11:52:17.000Z", - "2017-02-08T11:56:17.000Z", - "2017-02-08T12:00:17.000Z", - "2017-02-08T12:04:17.000Z", - "2017-02-08T12:08:17.000Z", - "2017-02-08T12:12:17.000Z", - "2017-02-08T12:16:17.000Z", - "2017-02-08T12:20:17.000Z", - "2017-02-08T12:24:17.000Z", - "2017-02-08T12:28:17.000Z", - "2017-02-08T12:32:17.000Z", - "2017-02-08T12:36:17.000Z", - "2017-02-08T12:40:17.000Z", - "2017-02-08T12:44:17.000Z", - "2017-02-08T12:48:17.000Z", - "2017-02-08T12:52:17.000Z", - "2017-02-08T12:56:17.000Z", - "2017-02-08T13:00:17.000Z", - "2017-02-08T13:04:17.000Z", - "2017-02-08T13:08:17.000Z", - "2017-02-08T13:12:17.000Z", - "2017-02-08T13:16:17.000Z", - "2017-02-08T13:20:17.000Z", - "2017-02-08T13:24:17.000Z", - "2017-02-08T13:28:17.000Z", - "2017-02-08T13:32:17.000Z", - "2017-02-08T13:36:17.000Z", - "2017-02-08T13:40:17.000Z", - "2017-02-08T13:44:17.000Z", - "2017-02-08T13:48:17.000Z", - "2017-02-08T13:52:17.000Z", - "2017-02-08T13:56:17.000Z", - "2017-02-08T14:00:17.000Z", - "2017-02-08T14:04:17.000Z", - "2017-02-08T14:08:17.000Z", - "2017-02-08T14:12:17.000Z", - "2017-02-08T14:16:17.000Z", - "2017-02-08T14:20:17.000Z", - "2017-02-08T14:24:17.000Z", - "2017-02-08T14:28:17.000Z", - "2017-02-08T14:32:17.000Z", - "2017-02-08T14:36:17.000Z", - "2017-02-08T14:40:17.000Z", - "2017-02-08T14:44:17.000Z", - "2017-02-08T14:48:17.000Z", - "2017-02-08T14:52:17.000Z", - "2017-02-08T14:56:17.000Z", - "2017-02-08T15:00:17.000Z", - "2017-02-08T15:04:17.000Z", - "2017-02-08T15:08:17.000Z", - "2017-02-08T15:12:17.000Z", - "2017-02-08T15:16:17.000Z", - "2017-02-08T15:20:17.000Z", - "2017-02-08T15:24:17.000Z", - "2017-02-08T15:28:17.000Z", - "2017-02-08T15:32:17.000Z", - "2017-02-08T15:36:17.000Z", - "2017-02-08T15:40:17.000Z", - "2017-02-08T15:44:17.000Z", - "2017-02-08T15:48:17.000Z", - "2017-02-08T15:52:17.000Z", - "2017-02-08T15:56:17.000Z", - "2017-02-08T16:00:17.000Z", - "2017-02-08T16:04:17.000Z", - "2017-02-08T16:08:17.000Z", - "2017-02-08T16:12:17.000Z", - "2017-02-08T16:16:17.000Z", - "2017-02-08T16:20:17.000Z", - "2017-02-08T16:24:17.000Z", - "2017-02-08T16:28:17.000Z", - "2017-02-08T16:32:17.000Z", - "2017-02-08T16:36:17.000Z", - "2017-02-08T16:40:17.000Z", - "2017-02-08T16:44:17.000Z", - "2017-02-08T16:48:17.000Z", - "2017-02-08T16:52:17.000Z", - "2017-02-08T16:56:17.000Z", - "2017-02-08T17:00:17.000Z", - "2017-02-08T17:04:17.000Z", - "2017-02-08T17:08:17.000Z", - "2017-02-08T17:12:17.000Z", - "2017-02-08T17:16:17.000Z", - "2017-02-08T17:20:17.000Z", - "2017-02-08T17:24:17.000Z", - "2017-02-08T17:28:17.000Z", - "2017-02-08T17:32:17.000Z", - "2017-02-08T17:36:17.000Z", - "2017-02-08T17:40:17.000Z", - "2017-02-08T17:44:17.000Z", - "2017-02-08T17:48:17.000Z", - "2017-02-08T17:52:17.000Z", - "2017-02-08T17:56:17.000Z", - "2017-02-08T18:00:17.000Z", - "2017-02-08T18:04:17.000Z", - "2017-02-08T18:08:17.000Z", - "2017-02-08T18:12:17.000Z", - "2017-02-08T18:16:17.000Z", - "2017-02-08T18:20:17.000Z", - "2017-02-08T18:24:17.000Z", - "2017-02-08T18:28:17.000Z", - "2017-02-08T18:32:17.000Z", - "2017-02-08T18:36:17.000Z", - "2017-02-08T18:40:17.000Z", - "2017-02-08T18:44:17.000Z", - "2017-02-08T18:48:17.000Z", - "2017-02-08T18:52:17.000Z", - "2017-02-08T18:56:17.000Z", - "2017-02-08T19:00:17.000Z", - "2017-02-08T19:04:17.000Z", - "2017-02-08T19:08:17.000Z", - "2017-02-08T19:12:17.000Z", - "2017-02-08T19:16:17.000Z", - "2017-02-08T19:20:17.000Z", - "2017-02-08T19:24:17.000Z", - "2017-02-08T19:28:17.000Z", - "2017-02-08T19:32:17.000Z", - "2017-02-08T19:36:17.000Z", - "2017-02-08T19:40:17.000Z", - "2017-02-08T19:44:17.000Z", - "2017-02-08T19:48:17.000Z", - "2017-02-08T19:52:17.000Z", - "2017-02-08T19:56:17.000Z", - "2017-02-08T20:00:17.000Z", - "2017-02-08T20:04:17.000Z", - "2017-02-08T20:08:17.000Z", - "2017-02-08T20:12:17.000Z", - "2017-02-08T20:16:17.000Z", - "2017-02-08T20:20:17.000Z", - "2017-02-08T20:24:17.000Z", - "2017-02-08T20:28:17.000Z", - "2017-02-08T20:32:17.000Z", - "2017-02-08T20:36:17.000Z", - "2017-02-08T20:40:17.000Z", - "2017-02-08T20:44:17.000Z", - "2017-02-08T20:48:17.000Z", - "2017-02-08T20:52:17.000Z", - "2017-02-08T20:56:17.000Z", - "2017-02-08T21:00:17.000Z", - "2017-02-08T21:04:17.000Z", - "2017-02-08T21:08:17.000Z", - "2017-02-08T21:12:17.000Z", - "2017-02-08T21:16:17.000Z", - "2017-02-08T21:20:17.000Z", - "2017-02-08T21:24:17.000Z", - "2017-02-08T21:28:17.000Z", - "2017-02-08T21:32:17.000Z", - "2017-02-08T21:36:17.000Z", - "2017-02-08T21:40:17.000Z", - "2017-02-08T21:44:17.000Z", - "2017-02-08T21:48:17.000Z", - "2017-02-08T21:52:17.000Z", - "2017-02-08T21:56:17.000Z", - "2017-02-08T22:00:17.000Z", - "2017-02-08T22:04:17.000Z", - "2017-02-08T22:08:17.000Z", - "2017-02-08T22:12:17.000Z", - "2017-02-08T22:16:17.000Z", - "2017-02-08T22:20:17.000Z", - "2017-02-08T22:24:17.000Z", - "2017-02-08T22:28:17.000Z", - "2017-02-08T22:32:17.000Z", - "2017-02-08T22:36:17.000Z", - "2017-02-08T22:40:17.000Z", - "2017-02-08T22:44:17.000Z", - "2017-02-08T22:48:17.000Z", - "2017-02-08T22:52:17.000Z", - "2017-02-08T22:56:17.000Z", - "2017-02-08T23:00:17.000Z", - "2017-02-08T23:04:17.000Z", - "2017-02-08T23:08:17.000Z", - "2017-02-08T23:12:17.000Z", - "2017-02-08T23:16:17.000Z", - "2017-02-08T23:20:17.000Z", - "2017-02-08T23:24:17.000Z", - "2017-02-08T23:28:17.000Z", - "2017-02-08T23:32:17.000Z", - "2017-02-08T23:36:17.000Z", - "2017-02-08T23:40:17.000Z", - "2017-02-08T23:44:17.000Z", - "2017-02-08T23:48:17.000Z", - "2017-02-08T23:52:17.000Z", - "2017-02-08T23:56:17.000Z" - ] - }] -}