Commit Graph

127 Commits (27456d977a145356b81b0c59e585a24bdc537b82)

Author SHA1 Message Date
connor rigby c03e62bdfe Add "really fast blink" for syncing led 2019-09-17 12:22:36 -07:00
connor rigby ad65c7eec3 Attempt to quiet annoying amqp logs 2019-09-16 13:29:40 -07:00
Connor Rigby 21ca8969a6
Remove sensor_readings from auto sync 2019-09-13 16:03:34 -07:00
Connor Rigby 3398deba2d
Add error logs to celeryscript execution and schedule 2019-09-13 16:03:34 -07:00
Connor Rigby a3e8b094ca
Fix CeleryScript channel reconnects **even more** 2019-09-13 16:03:33 -07:00
Connor Rigby 5776c0592d
Fix CeleryScript channel not reconnecting even more 2019-09-13 16:03:33 -07:00
Connor Rigby 40523670e1
Reconnect to CeleryScript channel in the case of error
This was left out when we refactored this channel to
use `mox`
2019-09-13 16:03:33 -07:00
Connor Rigby cd9d45cddc
Add new task to drop the plaintext password from the sdcard 2019-09-13 16:03:33 -07:00
Connor Rigby 973b622aef
Update VintageNet and Muontrap 2019-09-13 16:03:32 -07:00
Connor Rigby 5373849f51
Update dependencies
* `elixir_make`
* `muontrap`
* `vintage_net`
* `busybox`
* `mdns_lite`
* `nerves_hub`
* `plug`
2019-09-13 16:03:32 -07:00
Connor Rigby 209ded96cb
Add Lua helpers for updating and getting resources 2019-09-13 16:03:32 -07:00
Connor Rigby a242cce830
Add new log type for assertion logs 2019-09-13 16:03:32 -07:00
Connor Rigby b173b70675
Fix PATCH HTTP requests for singular resources 2019-09-13 16:03:31 -07:00
Connor Rigby 61d63afb17
Fix typo AMPQ -> AMQP 2019-09-13 16:03:31 -07:00
Connor Rigby 86843c4553
Make FirstPartyFarmware syncable 2019-09-13 16:03:31 -07:00
connor rigby 21eef22c55
Fix DirtyWorker doing patch requests 2019-09-13 16:03:31 -07:00
Gabriel Burnworth 9a3fadcd80
fix image upload bug 2019-09-13 16:03:30 -07:00
connor rigby 82042f98df
Clean up error message for uploading images 2019-09-13 16:03:30 -07:00
connor rigby 5610f2e9e3
Fix typo in PingPong channel reconnect message 2019-09-13 16:03:30 -07:00
Connor Rigby a6f365b4c0
Implement public_key worker 2019-09-13 16:03:30 -07:00
Connor Rigby c35b81decb
Add new table public_keys
This will be to load new ssh keys onto a device to allow
remote console for debugging over a network
2019-09-13 16:03:30 -07:00
connor rigby 302ddd3bf0
Fix race condition in AMQP connecting to PingPong channel 2019-09-13 16:03:30 -07:00
connor rigby 3a5666429a
Allow Direct-Upload of images 2019-09-13 16:03:29 -07:00
connor rigby 7b19b73e6f
Revert "Allow direct-upload"
This reverts commit 462681d5da.
2019-09-13 16:03:29 -07:00
Connor Rigby 01c3723877
Fix LEDs and Pinbindings working intermitently
The Internal pullups need to be disabled for the
FarmBot gpio hat to work properly
2019-09-13 16:03:29 -07:00
connor rigby e199cb8a90
Add LED handler for green (sync status) 2019-09-13 16:03:29 -07:00
connor rigby 7fa252e9d7
Add LED handler for blue (connection status) 2019-09-13 16:03:29 -07:00
connor rigby bb804fd510
Allow direct-upload
Tesla HTTP client is formatting the formdata wrong for some reason
so just shell out to hackney
2019-09-13 16:03:29 -07:00
connor rigby 830f6894d8
Add a background timer to do an HTTP for the consistency checker 2019-09-13 16:03:29 -07:00
connor rigby 373a0b2faf
Fix ImageUploader automatic upload
* Serialize DateTime as an iso string for bot_state filesystem
* Set user-agent for uploading images
* Check for more types of images other than jpeg
2019-09-13 16:03:27 -07:00
connor rigby 8b2ac2935e
Create images directory when starting image_uploader 2019-09-13 16:03:27 -07:00
gabrielburnworth ab1b8bbda5
add farmware execution rpc debug logs
Fix AMQP and network disconnects causing limbo state
2019-09-13 16:03:27 -07:00
Connor Rigby de78091f6d
Add device side log filter for bad words
This prevents the frontend from crashing on bad words
2019-09-13 16:03:26 -07:00
Connor Rigby 1900bdba57
Allow firmware to be open/flashed infinity times
* add `infinity` as an option for `fbos_config_worker` and
`firmware_open_task`
* reenable uevent montior flashing/opening firmware
2019-09-13 16:03:26 -07:00
Connor Rigby 5d54795d11
Fix updating a regimen remotely not updating locally
If a user updated a regimen (started or not by a FarmEvent) it would
take two changes to actually dispatch the change since Regimens
update their own `updated_at` without `put`ing it to the API
2019-09-13 16:03:26 -07:00
Connor Rigby 3d9be8d902
Silence repeating firmware open log 2019-09-13 16:03:26 -07:00
Connor Rigby 91ccd93ef0
Re-enable API client UserAgent header 2019-09-13 16:03:26 -07:00
connor rigby 767ef5279d
Silence PingPong channel connection log 2019-09-13 16:03:26 -07:00
connor rigby 712256a1a3
Implement task for opening the firmware
Adds a new flag for `firmware_needs_open` and a task that polls that
value with a bit of state to open the firmware tty
2019-09-13 16:03:25 -07:00
Connor Rigby ce51edeb99
Revert Alert/Enigma system
* Revert 9cc461b512
* Revert 7309a19fe7
* Revert 7fd82d3a58
* Revert 890ddfbd86
* Revert 839ce3e470
* Revert 68cc8e6471
* Revert 3991a2c516
* Revert db8da31018
2019-09-13 16:03:25 -07:00
Connor Rigby a160d6a41b
Fix factory_resetting the arduino-firmware
* Adds `api_migrated` field to FirmwareConfig
* Changes `factory_reset()` syscall to be `factory_reset(package)`
2019-09-13 16:03:25 -07:00
connor rigby d2239d76c3
Try add log channels more aggressively 2019-09-13 16:03:24 -07:00
Connor Rigby 47d024e561
Stabilize AMQP connect and disconnects
* AMQP wasn't disconnected properly, which was causing bots to appear to
be offline because the connection was broken, but not closed.
2019-09-13 16:03:24 -07:00
Connor Rigby 60b075cf88
Normalize asset commans
Many clauses were not getting hit depending on if
`update/3` was called with a Module or a "String".
This normalizes everything early.
2019-09-13 16:03:23 -07:00
Connor Rigby e7ea334ab2
Change Preloading and Caching to use the same system as auto_sync
* preloader and reconciler no longer use a transaction
   * This will prevent rolling back a failed sync, but allows farmbot to
   continue operating if a sync does fail
* usage of the preloader updated to reflect this
2019-09-13 16:03:23 -07:00
Connor Rigby e6b29ea559
Refactor CeleryScript execution
* FarmEvents now schedule all events up front
  * Executions are stored in the database
* Regimens now schedule all items up front
  * Executions are stored in the database
* fix Deleting a FarmEvent with a running RegimenInstance
* `execute`int and `schedule`ing a CeleryScript are not separate things
* Everywhere `scheduling` and `executing` CeleryScript updated to use
the new API
2019-09-13 16:03:23 -07:00
Connor Rigby 890aac46db
Add asset commands for syncing SensorValues
* New Asset.Command for SensorValue
* new/update/delete for SensorValue
2019-09-13 16:03:22 -07:00
Rick Carlino 1730bf8c29
Configurable EXUNIT_TIMEOUT 2019-09-13 16:03:22 -07:00
Connor Rigby d5215b6608
Handle unknown auto_sync messages
Adds a blacklist of known asset types that FarmBot can
handle and sync/cache. This is important for when new assets are added or
assets are dispatched for the frontend to consume.
2019-09-13 16:03:22 -07:00
Connor Rigby eefdbfc883
Further refactor Preloader to allow for error recovery
Previous system would crash the calling processes with a `MatchError`
instead of returning an error. The end result after this commit is
still the same - the auto_sync channel will attempt a resync
every 5 seconds. The log messages/user experience should just
be better now.
2019-09-13 16:03:22 -07:00