7LPdWcaW / Growtracker Android
Programming Languages
Labels
Projects that are alternatives of or similar to Growtracker Android
GrowTracker
Welcome to grow tracker. This is a utility app designed for gardening and tracking various parameters of your grow.
Latest Nightly Build (Experimental!)
Latest APK: (SHA256) 501786b7350eceb7b894a5745c06c378f1d2f2e6f4bf659ee2576b3dfaca5732 v2.6.1
Get it on F-Droid with automatic updates
You can follow development, post questions, or grow logs in the Subreddit
Installation
The app requires no permissions except for external storage (for caching plant data and images) which you can see here in order for users to maintain anonymity, and a minimum Android version of 4.2
and above
How to install from APK
- Follow this guide to enable unknown sources
- Download the APK from here
- Click on downloaded app and install
Updating
You can either elect to update manually, or get notified on releases by installing the Update plugin
For updates, do not uninstall first, you will lose your existing plant data. Always back up your data!
Screenshots
About the app
The app was designed with data in mind. All data is easily accessible via the app's files folder in Android/data/me.anon.grow/files/
. You will need a file explorer to browse this folder, or alternatively, you can back your data up via the app settings which will create copies in backups/GrowTracker/
The structure is very simple, and consists of a few different objects.
Note: date timestamps are all unix timestamps from 1/1/1970 in milliseconds. All objects in arrays are in date order, where index 0 is the oldest and index (size - 1) is the newest.
Plant object
-
plantDate
in milliseconds -
images
is an array of file paths. Image file names are the taken date as unix timestamp in milliseconds
{
"id": <String>,
"actions": [<Action>],
"images": [<String>],
"name": <String>,
"strain": <String>,
"clone": <Boolean>,
"medium": <Medium>,
"mediumDetails": <String>,
"plantDate": 1234567890
}
Medium (ENUM)
One of,
SOIL
, HYDRO
, COCO
, AERO
Actions
All actions have the following 3 properties
{
"type": <String>,
"date": 1234567890,
"notes": <String>,
}
Only the following actions are currently supports
Action object (type = Water)
- Temperature measured in ºC
- Amount measured in ml
- Date is milliseconds
- Notes as string
Water action for waterings
{
"additives": [<Additive>],
"ph": <Double>,
"tds": <Tds>,
"runoff": <Double>,
"amount": <Double>,
"date": 1234567890,
"type": "Water",
"temp": <Double>,
"notes": <String>
}
Additive object
- Amount is measured in ml
Object for nutrient dosages
{
"description": <String>,
"amount": <Double>
}
Tds object
Object for measuring conductivity or PPM
{
"amount": <Double>,
"type": <TdsUnit>
}
Tds Unit (ENUM)
One of,
PPM500
, PPM700
, EC
Action object (type = Action)
- Date in milliseconds
Action object for recording plant actions such as trimming, transplanting.
{
"action": <Action>,
"date": 1234567890,
"type": "Action",
"notes": <String>
}
Action (ENUM)
One of,
FIM
, FLUSH
, FOLIAR_FEED
, LST
, LOLLIPOP
, PESTICIDE_APPLICATION
, TOP
, TRANSPLANTED
, TRIM
, TUCK
Stage change (type = StageChange)
- Date in milliseconds
Action object for recording a change in plant stage.
{
"newStage": <PlantStage>,
"date": 1234567890,
"type": "StageChange",
"notes": <String>
}
PlantStage (ENUM)
One of,
PLANTED
, GERMINATION
, SEEDLING
, CUTTING
, VEGETATION
, FLOWER
, DRYING
, CURING
, HARVESTED
Note action (type = Note)
- Date in milliseconds
{
"notes": <String>,
"date": 1234567890,
"type": "Note"
}
Garden object
The garden object is similar to the plant object, and accepts Action
types, but is software-restricted to the following
{
"id": <String>,
"name": <String>,
"plantIds": [<String>],
"actions": [<Action>]
}
Temperature change action (type = TemperatureChange)
- Temperature measured in ºC
- Date in milliseconds
{
"temp": <Double>,
"notes": <String>,
"date": 1234567890,
"type": "TemperatureChange"
}
Humidity change action (type = HumidityChange)
- Date in milliseconds
{
"humidity": <Double>,
"notes": <String>,
"date": 1234567890,
"type": "HumidityChange"
}
Light schedule change action (type = LightingChange)
-
on
time formatHH:mm
-
off
time formatHH:mm
- Date in milliseconds
{
"on": <String>,
"off": <String>,
"notes": <String>,
"date": 1234567890,
"type": "LightingChange"
}
Encryption
Note that this is not a guaranteed form of protection from law enforcement agencies.
Encryption in the app uses basic AES for encryption using a provided passphrase. If the passphrase is less than 128 bits (16 UTF-8 chars), it will be padded with 0x0
bytes. You can view the key generator method here
You can decrypt your files using your passphrase either by writing a script that uses AES decryption, or an online tool such as Online-Domain-Tools.
Translators
Translations provided by;
- Alex (Noxmiles) - de
- Basti B (Weltenesche) - de
- Heimen Stoffels (Vistaus) - nl
- EmmanuelMess - es
- Maxtille - fr
- Patrick B (EukalyptusX) - de
- Sascha Zenglein (szenglein) - de
- Vexatos - de
- W Q (williq) - de
- 9YbQiuEohUu1 - ru/uk
See more about translating GrowTracker
License
Copyright 2014-2019 7LPdWcaW
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.