{"version":20180209,"enums":[{"name":"ALLOWED_AXIS","allowed_values":["x","y","z","all"]},{"name":"ALLOWED_GROUPING","allowed_values":["xyz","x,yz","yz,x","y,xz","xz,y","z,xy","xy,z","x,y,z","x,z,y","y,x,z","y,z,x","z,x,y","z,y,x","xy","x,y","y,x","xz","x,z","z,x","yz","y,z","z,y","x","y","z"]},{"name":"ALLOWED_ROUTE","allowed_values":["high","low","in_order"]},{"name":"ALLOWED_SPECIAL_VALUE","allowed_values":["current_location","safe_height","soil_height"]},{"name":"ALLOWED_CHANNEL_NAMES","allowed_values":["ticker","toast","email","espeak"]},{"name":"ALLOWED_MESSAGE_TYPES","allowed_values":["assertion","busy","debug","error","fun","info","success","warn"]},{"name":"ALLOWED_OPS","allowed_values":["<",">","is","not","is_undefined"]},{"name":"ALLOWED_PACKAGES","allowed_values":["farmbot_os","arduino_firmware"]},{"name":"ALLOWED_PIN_MODES","allowed_values":[0,1]},{"name":"ALLOWED_ASSERTION_TYPES","allowed_values":["abort","recover","abort_recover","continue"]},{"name":"AllowedPinTypes","allowed_values":["Peripheral","Sensor","BoxLed3","BoxLed4"]},{"name":"Color","allowed_values":["blue","green","yellow","orange","purple","pink","gray","red"]},{"name":"DataChangeType","allowed_values":["add","remove","update"]},{"name":"LegalSequenceKind","allowed_values":["_if","assertion","calibrate","change_ownership","check_updates","emergency_lock","emergency_unlock","execute","execute_script","factory_reset","find_home","flash_firmware","home","install_farmware","install_first_party_farmware","lua","move","move_absolute","move_relative","power_off","read_pin","read_status","reboot","remove_farmware","send_message","set_servo_angle","set_user_env","sync","take_photo","toggle_pin","update_farmware","update_resource","wait","write_pin","zero"]},{"name":"lhs","allowed_values":["pin0","pin1","pin2","pin3","pin4","pin5","pin6","pin7","pin8","pin9","pin10","pin11","pin12","pin13","pin14","pin15","pin16","pin17","pin18","pin19","pin20","pin21","pin22","pin23","pin24","pin25","pin26","pin27","pin28","pin29","pin30","pin31","pin32","pin33","pin34","pin35","pin36","pin37","pin38","pin39","pin40","pin41","pin42","pin43","pin44","pin45","pin46","pin47","pin48","pin49","pin50","pin51","pin52","pin53","pin54","pin55","pin56","pin57","pin58","pin59","pin60","pin61","pin62","pin63","pin64","pin65","pin66","pin67","pin68","pin69","x","y","z"]},{"name":"PlantStage","allowed_values":["planned","planted","harvested","sprouted","active","removed","pending"]},{"name":"PointType","allowed_values":["GenericPointer","ToolSlot","Plant","Weed"]},{"name":"resource_type","allowed_values":["Device","Point","Plant","ToolSlot","Weed","GenericPointer","Sequence","Peripheral","Sensor"]},{"name":"LegalArgString","allowed_values":["_else","_then","assertion_type","axis","channel_name","data_value","default_value","label","locals","location","lua","message_type","milliseconds","number","offset","op","pin_id","pin_mode","pin_number","pin_type","point_group_id","pointer_id","pin_value","pointer_type","priority","radius","depth","resource_id","resource_type","resource","rhs","sequence_id","speed_setting","speed","string","url","value","variance","grouping","route","version","x","y","z","lhs","tool_id","package","axis_operand","message"]},{"name":"LegalKindString","allowed_values":["Assertion","If","Calibrate","ChangeOwnership","Channel","CheckUpdates","Coordinate","EmergencyLock","EmergencyUnlock","ExecuteScript","Execute","Explanation","FactoryReset","FindHome","FlashFirmware","Home","Identifier","InstallFarmware","InstallFirstPartyFarmware","InternalEntryPoint","InternalFarmEvent","InternalRegimen","MoveRelative","Nothing","Pair","ParameterApplication","ParameterDeclaration","Point","PowerOff","ReadStatus","Reboot","RemoveFarmware","RpcError","RpcOk","RpcRequest","ScopeDeclaration","SendMessage","Sequence","SetServoAngle","SetUserEnv","Sync","TakePhoto","Text","TogglePin","Tool","UpdateFarmware","VariableDeclaration","Wait","Zero","NamedPin","MoveAbsolute","WritePin","ReadPin","ResourceUpdate","Resource","ResourcePlaceholder","NumberPlaceholder","TextPlaceholder","LocationPlaceholder","UpdateResource","PointGroup","Numeric","Lua","SpecialValue","AxisOverwrite","AxisAddition","SpeedOverwrite","SafeZ","AxisOrder","Random","Move"]}],"values":[{"name":"boolean"},{"name":"float"},{"name":"integer"},{"name":"string"}],"args":[{"name":"_else","allowed_values":[{"tag":"execute","name":"execute"},{"tag":"nothing","name":"nothing"}]},{"name":"_then","allowed_values":[{"tag":"execute","name":"execute"},{"tag":"nothing","name":"nothing"}]},{"name":"assertion_type","allowed_values":[{"tag":"ALLOWED_ASSERTION_TYPES","name":"ALLOWED_ASSERTION_TYPES"}]},{"name":"axis","allowed_values":[{"tag":"ALLOWED_AXIS","name":"ALLOWED_AXIS"}]},{"name":"channel_name","allowed_values":[{"tag":"ALLOWED_CHANNEL_NAMES","name":"ALLOWED_CHANNEL_NAMES"}]},{"name":"data_value","allowed_values":[{"tag":"coordinate","name":"coordinate"},{"tag":"identifier","name":"identifier"},{"tag":"location_placeholder","name":"location_placeholder"},{"tag":"number_placeholder","name":"number_placeholder"},{"tag":"numeric","name":"numeric"},{"tag":"point","name":"point"},{"tag":"resource","name":"resource"},{"tag":"resource_placeholder","name":"resource_placeholder"},{"tag":"text","name":"text"},{"tag":"text_placeholder","name":"text_placeholder"},{"tag":"tool","name":"tool"},{"tag":"point_group","name":"point_group"}]},{"name":"default_value","allowed_values":[{"tag":"coordinate","name":"coordinate"},{"tag":"identifier","name":"identifier"},{"tag":"location_placeholder","name":"location_placeholder"},{"tag":"number_placeholder","name":"number_placeholder"},{"tag":"numeric","name":"numeric"},{"tag":"point","name":"point"},{"tag":"resource","name":"resource"},{"tag":"resource_placeholder","name":"resource_placeholder"},{"tag":"text","name":"text"},{"tag":"text_placeholder","name":"text_placeholder"},{"tag":"tool","name":"tool"}]},{"name":"label","allowed_values":[{"tag":"string","name":"String"}]},{"name":"locals","allowed_values":[{"tag":"scope_declaration","name":"scope_declaration"}]},{"name":"location","allowed_values":[{"tag":"tool","name":"tool"},{"tag":"coordinate","name":"coordinate"},{"tag":"point","name":"point"},{"tag":"identifier","name":"identifier"}]},{"name":"lua","allowed_values":[{"tag":"string","name":"String"}]},{"name":"message_type","allowed_values":[{"tag":"ALLOWED_MESSAGE_TYPES","name":"ALLOWED_MESSAGE_TYPES"}]},{"name":"milliseconds","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"number","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"offset","allowed_values":[{"tag":"coordinate","name":"coordinate"}]},{"name":"op","allowed_values":[{"tag":"ALLOWED_OPS","name":"ALLOWED_OPS"}]},{"name":"pin_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"pin_mode","allowed_values":[{"tag":"ALLOWED_PIN_MODES","name":"ALLOWED_PIN_MODES"}]},{"name":"pin_number","allowed_values":[{"tag":"integer","name":"Integer"},{"tag":"named_pin","name":"named_pin"}]},{"name":"pin_type","allowed_values":[{"tag":"AllowedPinTypes","name":"AllowedPinTypes"}]},{"name":"point_group_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"pointer_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"pin_value","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"pointer_type","allowed_values":[{"tag":"PointType","name":"PointType"}]},{"name":"priority","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"radius","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"depth","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"resource_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"resource_type","allowed_values":[{"tag":"resource_type","name":"resource_type"}]},{"name":"resource","allowed_values":[{"tag":"identifier","name":"identifier"},{"tag":"resource","name":"resource"},{"tag":"point","name":"point"}]},{"name":"rhs","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"sequence_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"speed_setting","allowed_values":[{"tag":"lua","name":"lua"},{"tag":"numeric","name":"numeric"}]},{"name":"speed","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"string","allowed_values":[{"tag":"string","name":"String"}]},{"name":"url","allowed_values":[{"tag":"string","name":"String"}]},{"name":"value","allowed_values":[{"tag":"string","name":"String"},{"tag":"integer","name":"Integer"},{"tag":"boolean","name":"Boolean"}]},{"name":"variance","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"grouping","allowed_values":[{"tag":"ALLOWED_GROUPING","name":"ALLOWED_GROUPING"}]},{"name":"route","allowed_values":[{"tag":"ALLOWED_ROUTE","name":"ALLOWED_ROUTE"}]},{"name":"version","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"x","allowed_values":[{"tag":"integer","name":"Integer"},{"tag":"float","name":"Float"}]},{"name":"y","allowed_values":[{"tag":"integer","name":"Integer"},{"tag":"float","name":"Float"}]},{"name":"z","allowed_values":[{"tag":"integer","name":"Integer"},{"tag":"float","name":"Float"}]},{"name":"lhs","allowed_values":[{"tag":"string","name":"String"},{"tag":"named_pin","name":"named_pin"}]},{"name":"tool_id","allowed_values":[{"tag":"integer","name":"Integer"}]},{"name":"package","allowed_values":[{"tag":"string","name":"String"}]},{"name":"axis_operand","allowed_values":[{"tag":"coordinate","name":"coordinate"},{"tag":"identifier","name":"identifier"},{"tag":"lua","name":"lua"},{"tag":"numeric","name":"numeric"},{"tag":"point","name":"point"},{"tag":"random","name":"random"},{"tag":"special_value","name":"special_value"},{"tag":"tool","name":"tool"}]},{"name":"message","allowed_values":[{"tag":"string","name":"String"}]}],"nodes":[{"allowed_args":["assertion_type","_then","lua"],"allowed_body_types":[],"name":"assertion","tags":["*"],"docs":""},{"allowed_args":["lhs","op","rhs","_then","_else"],"allowed_body_types":["pair"],"name":"_if","tags":["*"],"docs":""},{"allowed_args":["axis"],"allowed_body_types":[],"name":"calibrate","tags":["function","firmware_user"],"docs":""},{"allowed_args":[],"allowed_body_types":["pair"],"name":"change_ownership","tags":["function","network_user","disk_user","cuts_power","api_writer"],"docs":"Not a commonly used node. May be removed without notice."},{"allowed_args":["channel_name"],"allowed_body_types":[],"name":"channel","tags":["data"],"docs":"Specifies a communication path for log messages."},{"allowed_args":["package"],"allowed_body_types":[],"name":"check_updates","tags":["function","network_user","disk_user","cuts_power"],"docs":""},{"allowed_args":["x","y","z"],"allowed_body_types":[],"name":"coordinate","tags":["data","location_like"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"emergency_lock","tags":["function","firmware_user","control_flow"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"emergency_unlock","tags":["function","firmware_user"],"docs":""},{"allowed_args":["label"],"allowed_body_types":["pair"],"name":"execute_script","tags":["*"],"docs":""},{"allowed_args":["sequence_id"],"allowed_body_types":["parameter_application"],"name":"execute","tags":["*"],"docs":""},{"allowed_args":["message"],"allowed_body_types":[],"name":"explanation","tags":["data"],"docs":""},{"allowed_args":["package"],"allowed_body_types":[],"name":"factory_reset","tags":["function","cuts_power"],"docs":""},{"allowed_args":["speed","axis"],"allowed_body_types":[],"name":"find_home","tags":["function","firmware_user"],"docs":""},{"allowed_args":["package"],"allowed_body_types":[],"name":"flash_firmware","tags":["api_writer","disk_user","firmware_user","function","network_user"],"docs":""},{"allowed_args":["speed","axis"],"allowed_body_types":[],"name":"home","tags":["function","firmware_user"],"docs":""},{"allowed_args":["label"],"allowed_body_types":[],"name":"identifier","tags":["data"],"docs":""},{"allowed_args":["url"],"allowed_body_types":[],"name":"install_farmware","tags":["function","network_user","disk_user","api_writer"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"install_first_party_farmware","tags":["function","network_user"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"internal_entry_point","tags":["private"],"docs":""},{"allowed_args":[],"allowed_body_types":["parameter_application"],"name":"internal_farm_event","tags":[],"docs":""},{"allowed_args":[],"allowed_body_types":["parameter_application","parameter_declaration","variable_declaration"],"name":"internal_regimen","tags":[],"docs":""},{"allowed_args":["x","y","z","speed"],"allowed_body_types":[],"name":"move_relative","tags":["firmware_user","function"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"nothing","tags":["data","function"],"docs":""},{"allowed_args":["label","value"],"allowed_body_types":[],"name":"pair","tags":["data"],"docs":""},{"allowed_args":["label","data_value"],"allowed_body_types":[],"name":"parameter_application","tags":["function","control_flow","scope_writer"],"docs":""},{"allowed_args":["label","default_value"],"allowed_body_types":[],"name":"parameter_declaration","tags":["scope_writer"],"docs":""},{"allowed_args":["pointer_type","pointer_id"],"allowed_body_types":[],"name":"point","tags":["location_like","data"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"power_off","tags":["cuts_power","function"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"read_status","tags":["function"],"docs":""},{"allowed_args":["package"],"allowed_body_types":[],"name":"reboot","tags":["cuts_power","function","firmware_user"],"docs":""},{"allowed_args":["package"],"allowed_body_types":[],"name":"remove_farmware","tags":["function"],"docs":""},{"allowed_args":["label"],"allowed_body_types":["explanation"],"name":"rpc_error","tags":["data"],"docs":""},{"allowed_args":["label"],"allowed_body_types":[],"name":"rpc_ok","tags":["data"],"docs":""},{"allowed_args":["label","priority"],"allowed_body_types":["assertion","calibrate","change_ownership","check_updates","emergency_lock","emergency_unlock","execute","execute_script","factory_reset","find_home","flash_firmware","home","install_farmware","install_first_party_farmware","_if","lua","move_absolute","move_relative","move","power_off","read_pin","read_status","reboot","remove_farmware","update_resource","send_message","set_servo_angle","set_user_env","sync","take_photo","toggle_pin","update_farmware","wait","write_pin","zero"],"name":"rpc_request","tags":["*"],"docs":""},{"allowed_args":[],"allowed_body_types":["variable_declaration","parameter_declaration"],"name":"scope_declaration","tags":["scope_writer"],"docs":""},{"allowed_args":["message","message_type"],"allowed_body_types":["channel"],"name":"send_message","tags":["function"],"docs":""},{"allowed_args":["version","locals"],"allowed_body_types":["assertion","calibrate","change_ownership","check_updates","emergency_lock","emergency_unlock","execute","execute_script","factory_reset","find_home","flash_firmware","home","install_farmware","install_first_party_farmware","_if","lua","move_absolute","move_relative","move","power_off","read_pin","read_status","reboot","remove_farmware","update_resource","send_message","set_servo_angle","set_user_env","sync","take_photo","toggle_pin","update_farmware","wait","write_pin","zero"],"name":"sequence","tags":["*"],"docs":""},{"allowed_args":["pin_number","pin_value"],"allowed_body_types":[],"name":"set_servo_angle","tags":["function","firmware_user"],"docs":""},{"allowed_args":[],"allowed_body_types":["pair"],"name":"set_user_env","tags":["function","disk_user"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"sync","tags":["disk_user","network_user","function"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"take_photo","tags":["disk_user","function"],"docs":""},{"allowed_args":["string"],"allowed_body_types":[],"name":"text","tags":[],"docs":""},{"allowed_args":["pin_number"],"allowed_body_types":[],"name":"toggle_pin","tags":["function","firmware_user"],"docs":""},{"allowed_args":["tool_id"],"allowed_body_types":[],"name":"tool","tags":["data","location_like","api_validated"],"docs":""},{"allowed_args":["package"],"allowed_body_types":[],"name":"update_farmware","tags":["function","network_user","api_validated"],"docs":""},{"allowed_args":["label","data_value"],"allowed_body_types":[],"name":"variable_declaration","tags":["scope_writer","function"],"docs":""},{"allowed_args":["milliseconds"],"allowed_body_types":[],"name":"wait","tags":["function"],"docs":""},{"allowed_args":["axis"],"allowed_body_types":[],"name":"zero","tags":["function","firmware_user"],"docs":""},{"allowed_args":["pin_type","pin_id"],"allowed_body_types":[],"name":"named_pin","tags":["api_validated","firmware_user","rpi_user","data","function"],"docs":""},{"allowed_args":["location","speed","offset"],"allowed_body_types":[],"name":"move_absolute","tags":["function","firmware_user"],"docs":""},{"allowed_args":["pin_number","pin_value","pin_mode"],"allowed_body_types":[],"name":"write_pin","tags":["function","firmware_user","rpi_user"],"docs":""},{"allowed_args":["pin_number","label","pin_mode"],"allowed_body_types":[],"name":"read_pin","tags":["function","firmware_user","rpi_user"],"docs":""},{"allowed_args":["resource_type","resource_id","label","value"],"allowed_body_types":[],"name":"resource_update","tags":["function","api_writer","network_user"],"docs":""},{"allowed_args":["resource_type","resource_id"],"allowed_body_types":[],"name":"resource","tags":["network_user"],"docs":""},{"allowed_args":["resource_type"],"allowed_body_types":[],"name":"resource_placeholder","tags":[],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"number_placeholder","tags":[],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"text_placeholder","tags":[],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"location_placeholder","tags":[],"docs":""},{"allowed_args":["resource"],"allowed_body_types":["pair"],"name":"update_resource","tags":["function","api_writer","network_user"],"docs":""},{"allowed_args":["point_group_id"],"allowed_body_types":[],"name":"point_group","tags":["data","list_like"],"docs":""},{"allowed_args":["number"],"allowed_body_types":[],"name":"numeric","tags":["data"],"docs":""},{"allowed_args":["lua"],"allowed_body_types":["pair"],"name":"lua","tags":["*"],"docs":""},{"allowed_args":["label"],"allowed_body_types":[],"name":"special_value","tags":["data"],"docs":""},{"allowed_args":["axis","axis_operand"],"allowed_body_types":[],"name":"axis_overwrite","tags":["data"],"docs":""},{"allowed_args":["axis","axis_operand"],"allowed_body_types":[],"name":"axis_addition","tags":["data"],"docs":""},{"allowed_args":["speed_setting","axis"],"allowed_body_types":[],"name":"speed_overwrite","tags":["data"],"docs":""},{"allowed_args":[],"allowed_body_types":[],"name":"safe_z","tags":["data"],"docs":""},{"allowed_args":["grouping","route"],"allowed_body_types":[],"name":"axis_order","tags":["data"],"docs":""},{"allowed_args":["variance"],"allowed_body_types":[],"name":"random","tags":["data"],"docs":""},{"allowed_args":[],"allowed_body_types":["axis_overwrite","axis_addition","speed_overwrite","axis_order","safe_z"],"name":"move","tags":["function","firmware_user"],"docs":""}]}