smartplant 0.1.7 โ 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -20
- package/package.json +121 -119
- package/src/cli.js +0 -0
- package/src/main.js +430 -875
package/README.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
|
|
2
2
|
# Smartplant by *PIGEONPOSSE*
|
|
3
3
|
|
|
4
|
-
[](https://github.com/pigeonposse)
|
|
6
5
|
|
|
7
6
|
**Smartplant** is a library designed to simplify plant care through *the integration of advanced artificial intelligence models*. This technology not only researches detailed information about each type of plant but also determines the optimal conditions for their care, thereby maximizing their growth and health. Thanks to this functionality, users can efficiently monitor and manage the environment of their plants *using sensors that measure humidity, light, and temperature*.
|
|
8
7
|
|
|
9
8
|
The core idea behind SmartPlant is to *pave the way for advancements in plant care technology*. It serves as a foundation for developing more sophisticated solutions and experimenting with innovative devices that meet the needs of plants. By leveraging this library, developers can contribute to the evolution of the smart plant care ecosystem.
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
> Currently in phase `Beta`
|
|
13
|
-
|
|
14
|
-
## AI and the future intertwine: connect with your environment.
|
|
10
|
+
## AI and the future intertwine: connect with your environment
|
|
15
11
|
|
|
16
12
|
## Features
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
### ๐ง Multi-Model AI Engine
|
|
15
|
+
The heart of **SmartPlant** now supports the world's most powerful LLMs to analyze your plant's health:
|
|
16
|
+
|
|
17
|
+
* **Cloud Power:** OpenAI (GPT-4), xAI (Grok), Anthropic (Claude), and Google (Gemini).
|
|
18
|
+
* **Privacy First:** Full support for **Ollama** to run models locally.
|
|
19
|
+
* **Smart Optimization:** AI-driven care routines tailored to each specific species.
|
|
20
|
+
|
|
21
|
+
### ๐ Hardware & Monitoring
|
|
22
|
+
* ๐ **Real-Time Monitoring:** High-precision tracking of humidity, light, and temperature.
|
|
23
|
+
* ๐ **Customized Alerts:** Immediate notifications for critical environmental changes.
|
|
24
|
+
* ๐ **Data History:** Trend analysis to visualize your plant's growth over time.
|
|
25
|
+
* ๐ฎ **Predictive Health:** AI forecasting to prevent stress before it happens.
|
|
26
26
|
|
|
27
27
|
## Installation
|
|
28
28
|
|
|
29
29
|
To install the library, use npm:
|
|
30
30
|
|
|
31
|
-
```
|
|
32
|
-
npm install smartplant
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g smartplant
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
# Benefits of the emojis system
|
|
@@ -40,18 +40,21 @@ This approach with emojis provides a simplified and visually attractive user exp
|
|
|
40
40
|
|
|
41
41
|
To make the plant monitoring more intuitive and visually accessible, we have implemented an emojis system that represents different levels of each critical parameter: moisture, light and temperature.Each emoji offers a rapid representation of the current status of the parameter, which facilitates interpretation without analyzing specific numbers.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
### Humidity
|
|
44
|
+
|
|
44
45
|
- ๐ **Very dry:** Indicates that moisture is below the recommended minimum range.The plant is at risk of dehydration.
|
|
45
46
|
- ๐ฟ **Ideal:** Moisture is within the ideal range, which means that the plant is in optimal conditions.
|
|
46
47
|
- ๐ง **Slightly wet:** Indicates that moisture is slightly above the ideal range, but it is not yet worrisome.
|
|
47
48
|
- ๐ **Very humid:** Moisture is above the maximum allowed range, which could lead to saturation and problems such as waterlogging.
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
### Light
|
|
51
|
+
|
|
50
52
|
- ๐ **Very little light:** points out that the plant receives less light than necessary, which could affect its growth.
|
|
51
53
|
- ๐ฅ **Ideal:** The plant receives the amount of light adequate for healthy development.
|
|
52
54
|
- ๐ **Too much light:** Light exposure is excessive, which can cause burns or stress in the plant.
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
### Temperature
|
|
57
|
+
|
|
55
58
|
- ๐ง **Very cold:** The temperature is below the minimum range, which can slow down or damage the plant.
|
|
56
59
|
- ๐ก๏ธ **Ideal:** The temperature is in the optimal range for the growth and development of the plant.
|
|
57
60
|
- ๐ฅ **Very hot:** The temperature exceeds the maximum range, which could cause overheating and dehydration.
|
|
@@ -60,7 +63,8 @@ To make the plant monitoring more intuitive and visually accessible, we have imp
|
|
|
60
63
|
|
|
61
64
|
In addition to the specific parameters, we have designed a system of general happiness for the plant, which is represented with caritas emojis.This system provides a global vision of the state of the plant, based on a combination of its levels of humidity, light and temperature.
|
|
62
65
|
|
|
63
|
-
#### Happiness scale
|
|
66
|
+
#### Happiness scale
|
|
67
|
+
|
|
64
68
|
- ๐คฉ **Very happy:** The plant is in ideal conditions in all key parameters.This is the optimal state.
|
|
65
69
|
- ๐ **Happy:** The plant is in good condition, although there could be slight deviations in some parameters.
|
|
66
70
|
- ๐ **Acceptable:** The plant is in acceptable conditions, but is far from ideal.Small adjustments may be required.
|
package/package.json
CHANGED
|
@@ -1,120 +1,122 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
2
|
+
"name": "smartplant",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A library for managing plant care with alerts and multi-language support.",
|
|
5
|
+
"main": "src/main.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"smartplant": "src/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@serialport/parser-readline": "12.0.0",
|
|
12
|
+
"chalk": "5.3.0",
|
|
13
|
+
"enquirer": "2.4.1",
|
|
14
|
+
"serialport": "12.0.0"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"plant",
|
|
18
|
+
"care",
|
|
19
|
+
"alerts",
|
|
20
|
+
"multi-language",
|
|
21
|
+
"smart",
|
|
22
|
+
"AI",
|
|
23
|
+
"intelligence",
|
|
24
|
+
"npm",
|
|
25
|
+
"library"
|
|
26
|
+
],
|
|
27
|
+
"author": "Alejo Malia <alejomalia@gmail.com>",
|
|
28
|
+
"files": [
|
|
29
|
+
"./src"
|
|
30
|
+
],
|
|
31
|
+
"packageManager": "pnpm@9.7.0",
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public",
|
|
34
|
+
"registry": "https://registry.npmjs.org/"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://github.com/pigeonposse/smartplant",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/pigeonposse/smartplant"
|
|
40
|
+
},
|
|
41
|
+
"funding": {
|
|
42
|
+
"type": "individual",
|
|
43
|
+
"url": "https://pigeonposse.com/?popup=donate"
|
|
44
|
+
},
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/pigeonposse/smartplant/issues",
|
|
47
|
+
"email": "dev@pigeonposse.com"
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"dev": "node src/cli.js",
|
|
51
|
+
"build": "pnpm run --sequential \"/build:.*/\"",
|
|
52
|
+
"build:bins": "rsbuild build -c .dev/build-lib.mjs && node .dev/build-bin.mjs",
|
|
53
|
+
"update-version": "changeset && changeset version",
|
|
54
|
+
"push": "git add . && cz && git push -f origin $@",
|
|
55
|
+
"push:main": "pnpm push main",
|
|
56
|
+
"start": "node src/main.js"
|
|
57
|
+
},
|
|
58
|
+
"license": "GPL-3.0",
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@backan/builder": "0.0.16",
|
|
61
|
+
"@changesets/changelog-github": "0.5.0",
|
|
62
|
+
"@changesets/cli": "2.27.8",
|
|
63
|
+
"@commitlint/cli": "19.5.0",
|
|
64
|
+
"@pigeon-posse/eslint-config": "1.0.1",
|
|
65
|
+
"@rsbuild/core": "^1.0.6",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "8.2.0",
|
|
67
|
+
"@typescript-eslint/parser": "8.2.0",
|
|
68
|
+
"commitizen": "4.3.0",
|
|
69
|
+
"commitlint-config-gitmoji": "2.3.1",
|
|
70
|
+
"cz-customizable": "7.2.1",
|
|
71
|
+
"cz-emoji": "1.3.2-canary.2",
|
|
72
|
+
"eslint": "8.57.0",
|
|
73
|
+
"eslint-plugin-align-assignments": "1.1.2",
|
|
74
|
+
"eslint-plugin-align-import": "1.0.0",
|
|
75
|
+
"eslint-plugin-canonical": "5.0.0",
|
|
76
|
+
"eslint-plugin-html": "7.1.0",
|
|
77
|
+
"eslint-plugin-import": "2.29.1",
|
|
78
|
+
"eslint-plugin-jsdoc": "46.10.1",
|
|
79
|
+
"eslint-plugin-json": "3.1.0",
|
|
80
|
+
"eslint-plugin-jsonc": "2.13.0",
|
|
81
|
+
"eslint-plugin-markdownlint": "0.5.0",
|
|
82
|
+
"eslint-plugin-package-json": "0.12.2",
|
|
83
|
+
"eslint-plugin-promise": "6.1.1",
|
|
84
|
+
"eslint-plugin-yaml": "0.5.0",
|
|
85
|
+
"git-cz": "4.9.0",
|
|
86
|
+
"typescript": "5.6.2",
|
|
87
|
+
"vite": "5.4.4"
|
|
88
|
+
},
|
|
89
|
+
"commitlint": {
|
|
90
|
+
"extends": [
|
|
91
|
+
"gitmoji"
|
|
92
|
+
],
|
|
93
|
+
"rules": {
|
|
94
|
+
"header-max-length": [
|
|
95
|
+
0,
|
|
96
|
+
"always",
|
|
97
|
+
100
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"config": {
|
|
102
|
+
"commitizen": {
|
|
103
|
+
"path": "./node_modules/cz-customizable"
|
|
104
|
+
},
|
|
105
|
+
"cz-customizable": {
|
|
106
|
+
"config": ".dev/cz-config.cjs"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"extra": {
|
|
110
|
+
"scopes": [
|
|
111
|
+
{
|
|
112
|
+
"name": "lib"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "env"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "all"
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
}
|
package/src/cli.js
CHANGED
|
File without changes
|