Skip to content

Commit 101d08a

Browse files
committed
update docs
1 parent 50738cb commit 101d08a

File tree

1 file changed

+48
-10
lines changed

1 file changed

+48
-10
lines changed

README.md

Lines changed: 48 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ This plugin reads chamber temperature from a WirelessTag API and displays it in
88
- Fetches temperature data from WirelessTag API endpoints
99
- Works independently of printer connection status
1010
- Real-time temperature updates via WebSocket
11-
- Configurable polling interval (10-300 seconds)
11+
- Configurable polling interval (10-300 seconds) with immediate effect on change
1212
- Support for custom XML temperature paths
1313
- Clean separation of UUID and base URL configuration
14+
- Persistent temperature history across page refreshes (clears on server restart)
15+
- Server-side history storage with automatic 24-hour cleanup
1416

1517
### Temperature Display
1618
- **Navbar Display**: Shows current chamber temperature in the top bar with thermometer icon
@@ -19,10 +21,12 @@ This plugin reads chamber temperature from a WirelessTag API and displays it in
1921
### Chamber Temperature Tab Features
2022
- **Interactive Temperature Chart**
2123
- Real-time updating graph with orange theme
24+
- Adaptive Y-axis scaling for better visualization (no fixed zero baseline)
2225
- Hover tooltips showing exact time and temperature
2326
- Auto-scrolling option to follow latest data
2427
- Time range controls (10 min to 24 hours)
2528
- Stores up to 24 hours of temperature history
29+
- History persists across page refreshes
2630

2731
- **Statistics Dashboard**
2832
- Large current temperature display
@@ -66,12 +70,11 @@ pip install -e .
6670

6771
1. **Build the distribution package**:
6872
```bash
69-
python setup.py sdist bdist_wheel
73+
python setup.py sdist
7074
```
7175

72-
This creates two files in the `dist/` directory:
76+
This creates a distribution file in the `dist/` directory:
7377
- `OctoPrint-ExternalTempReader-1.0.0.tar.gz` - Source distribution
74-
- `OctoPrint_ExternalTempReader-1.0.0-py2.py3-none-any.whl` - Wheel distribution
7578

7679
2. **Clean build artifacts** (optional):
7780
```bash
@@ -99,16 +102,16 @@ pip install dist/OctoPrint-ExternalTempReader-1.0.0.tar.gz
99102
1. Build the plugin as described above
100103
2. In OctoPrint, go to Settings → Plugin Manager
101104
3. Click "Get More..." → "...from an uploaded file"
102-
4. Select the `.tar.gz` or `.whl` file from `dist/`
105+
4. Select the `.tar.gz` file from `dist/`
103106
5. Click Install
104107

105108
## Configuration
106109

107110
1. Navigate to OctoPrint Settings → External Temp Reader
108111
2. Configure the following settings:
109-
- **WirelessTag UUID**: Your sensor's UUID (e.g., `5136d0e3-e226-43b2-b9a1-f843a0220f63`)
112+
- **WirelessTag UUID**: Your sensor's UUID (e.g., `111aaab3-e991-43c7-b9a1-f999b0999f99`)
110113
- **API Base URL**: Usually the default is fine (`https://my.wirelesstag.net/ethLogShared.asmx/GetLatestTemperatureRawDataByUUID`)
111-
- **Polling Interval**: How often to fetch temperature (10-300 seconds, default 60)
114+
- **Polling Interval**: How often to fetch temperature (10-300 seconds, default 60) - changes take effect immediately
112115
- **XML Temperature Path**: Leave default for WirelessTag API
113116

114117
### Getting Your WirelessTag UUID
@@ -124,9 +127,12 @@ pip install dist/OctoPrint-ExternalTempReader-1.0.0.tar.gz
124127
The plugin:
125128
1. Polls the WirelessTag API at the configured interval
126129
2. Parses the XML response to extract temperature in Celsius
127-
3. Sends temperature updates to the frontend via WebSocket
128-
4. Displays the chamber temperature in the navbar (top bar)
129-
5. Works independently of printer connection status
130+
3. Stores temperature history on the server (up to 24 hours)
131+
4. Sends temperature updates to the frontend via WebSocket
132+
5. Displays the chamber temperature in the navbar (top bar)
133+
6. Works independently of printer connection status
134+
7. Loads historical data when the page is refreshed
135+
8. Automatically applies setting changes without requiring restart
130136

131137
## Where Temperature is Displayed
132138

@@ -178,6 +184,38 @@ The plugin:
178184
- Clear browser cache if chart container is missing
179185
- Ensure JavaScript is enabled in your browser
180186

187+
## Recent Improvements
188+
189+
### Version 1.0.0 Features
190+
- **Persistent History**: Temperature history now persists across page refreshes (stored server-side)
191+
- **Adaptive Chart Scaling**: Y-axis automatically adjusts to show relevant temperature range
192+
- **Dynamic Settings**: Polling interval changes take effect immediately without restart
193+
- **Improved Tooltips**: Chart tooltips properly display time and temperature on hover
194+
- **API Endpoint**: Added REST API endpoint for fetching temperature history
195+
- **Automatic Cleanup**: Old temperature data (>24 hours) is automatically removed
196+
197+
## Plugin API
198+
199+
The plugin provides a REST API endpoint for accessing temperature data:
200+
201+
### GET `/api/plugin/external_temp_reader`
202+
203+
Returns the current temperature and historical data.
204+
205+
**Response:**
206+
```json
207+
{
208+
"history": [
209+
{"time": 1725650400000, "temperature": 22.5},
210+
{"time": 1725650460000, "temperature": 22.6}
211+
],
212+
"current_temp": 22.6
213+
}
214+
```
215+
216+
- `history`: Array of temperature readings with timestamps (milliseconds since epoch)
217+
- `current_temp`: Most recent temperature reading in Celsius
218+
181219
## API Response Format
182220

183221
The plugin expects XML responses in this format from WirelessTag:

0 commit comments

Comments
 (0)