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.
Files changed (4) hide show
  1. package/README.md +24 -20
  2. package/package.json +121 -119
  3. package/src/cli.js +0 -0
  4. package/src/main.js +430 -875
package/README.md CHANGED
@@ -1,35 +1,35 @@
1
1
 
2
2
  # Smartplant by *PIGEONPOSSE*
3
3
 
4
- [![HEADER](https://github.com/pigeonposse/.github/blob/main/docs/banner-smartplant.png?raw=true)](https://github.com/pigeonposse)
5
-
4
+ [![HEADER](https://github.com/pigeonposse/smartplant/blob/main/docs/banner.png?raw=true)](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
- > [!WARNING]
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
- - ๐Ÿค– **Integrated Artificial Intelligence:** Optimizes the care of each plant.
19
- - ๐Ÿ“Š **Real-Time Monitoring:** Collects humidity, light, and temperature with sensors.
20
- - ๐Ÿ”” **Customized Alerts:** Notifications for out-of-range conditions.
21
- - ๐Ÿ’ฌ **Multilingual Support:** English, Espaรฑol, Franรงais, Deutsch, Italiano, Portuguรชs, Nederlands, ะ ัƒััะบะธะน, ไธญๆ–‡, ๆ—ฅๆœฌ่ชž.
22
- - ๐ŸŽ› **Easy Setup:** Intuitive process for Raspberry Pi or Arduino.
23
- - ๐Ÿ“ˆ **Data History:** Environmental trend analysis.
24
- - ๐Ÿ”ฎ **Critical Condition Prediction:** Prevents significant changes in plant health.
25
- - ๐ŸŒ **Open-source:** MIT licensed, available for public use and contributions.
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
- #### Humidity:
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
- #### Light:
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
- #### Temperature:
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
- "name": "smartplant",
3
- "version": "0.1.7",
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
- "publishConfig": {
32
- "access": "public",
33
- "registry": "https://registry.npmjs.org/"
34
- },
35
- "homepage": "https://github.com/pigeonposse/smartplant",
36
- "repository": {
37
- "type": "git",
38
- "url": "https://github.com/pigeonposse/smartplant"
39
- },
40
- "funding": {
41
- "type": "individual",
42
- "url": "https://pigeonposse.com/?popup=donate"
43
- },
44
- "bugs": {
45
- "url": "https://github.com/pigeonposse/smartplant/issues",
46
- "email": "dev@pigeonposse.com"
47
- },
48
- "license": "GPL-3.0",
49
- "devDependencies": {
50
- "@backan/builder": "0.0.16",
51
- "@changesets/changelog-github": "0.5.0",
52
- "@changesets/cli": "2.27.8",
53
- "@commitlint/cli": "19.5.0",
54
- "@pigeon-posse/eslint-config": "1.0.1",
55
- "@rsbuild/core": "^1.0.6",
56
- "@typescript-eslint/eslint-plugin": "8.2.0",
57
- "@typescript-eslint/parser": "8.2.0",
58
- "commitizen": "4.3.0",
59
- "commitlint-config-gitmoji": "2.3.1",
60
- "cz-customizable": "7.2.1",
61
- "cz-emoji": "1.3.2-canary.2",
62
- "eslint": "8.57.0",
63
- "eslint-plugin-align-assignments": "1.1.2",
64
- "eslint-plugin-align-import": "1.0.0",
65
- "eslint-plugin-canonical": "5.0.0",
66
- "eslint-plugin-html": "7.1.0",
67
- "eslint-plugin-import": "2.29.1",
68
- "eslint-plugin-jsdoc": "46.10.1",
69
- "eslint-plugin-json": "3.1.0",
70
- "eslint-plugin-jsonc": "2.13.0",
71
- "eslint-plugin-markdownlint": "0.5.0",
72
- "eslint-plugin-package-json": "0.12.2",
73
- "eslint-plugin-promise": "6.1.1",
74
- "eslint-plugin-yaml": "0.5.0",
75
- "git-cz": "4.9.0",
76
- "typescript": "5.6.2",
77
- "vite": "5.4.4"
78
- },
79
- "commitlint": {
80
- "extends": [
81
- "gitmoji"
82
- ],
83
- "rules": {
84
- "header-max-length": [
85
- 0,
86
- "always",
87
- 100
88
- ]
89
- }
90
- },
91
- "config": {
92
- "commitizen": {
93
- "path": "./node_modules/cz-customizable"
94
- },
95
- "cz-customizable": {
96
- "config": ".dev/cz-config.cjs"
97
- }
98
- },
99
- "extra": {
100
- "scopes": [
101
- {
102
- "name": "lib"
103
- },
104
- {
105
- "name": "env"
106
- },
107
- {
108
- "name": "all"
109
- }
110
- ]
111
- },
112
- "scripts": {
113
- "dev": "node src/cli.js",
114
- "build": "pnpm run --sequential \"/build:.*/\"",
115
- "build:bins": "rsbuild build -c .dev/build-lib.mjs && node .dev/build-bin.mjs",
116
- "update-version": "changeset && changeset version",
117
- "push": "git add . && cz && git push -f origin $@",
118
- "push:main": "pnpm push main"
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