Skip to content

Commit 9f1074d

Browse files
feat: Creality live integration — WebSocket polling on port 9999
Real-time display of nozzle/bed/box temps, print job state (idle / printing / finished), progress bar, layer counter, elapsed + remaining time, and CFS material slots. WebRTC camera iframe when webrtcSupport=1. WS request log with pause/clear/expand. Online badge in grid + side-card with 30 s ping cache. Protocol verified live on Ender-3 V4.
1 parent 9a2fed6 commit 9f1074d

4 files changed

Lines changed: 596 additions & 5 deletions

File tree

‎DEVLOG.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,38 @@ Mis à jour en fin de chaque session Claude.
55

66
---
77

8+
## 2026-05-09 — v1.4.15
9+
10+
### Demandes
11+
- Intégration Creality dans le panel 3D printers (live WebSocket port 9999)
12+
- Affichage temps réel : températures nozzle/bed/box, état impression, progression, couches, durée
13+
- CFS : grille de slots couleur si `cfsConnect=1` et `materialBoxs` présent
14+
- Caméra WebRTC (iframe, même pattern que Snapmaker) si `webrtcSupport=1`
15+
- Log des requêtes WS (même UI pause/clear/expand que Snapmaker/FlashForge)
16+
- Badge Online/Offline dans la grille et le side panel (ping WS léger 30 s TTL)
17+
18+
### Fichiers modifiés
19+
| Fichier | Nature de la modification |
20+
|---------|--------------------------|
21+
| `renderer/inventory.js` | Section Creality (~300 lignes) : `_creConns`, `creKey`, `creIsOnline`, `crePingPrinter`, `creRefreshOnlineUI`, `renderCreOnlineBadge`, `creConnect`, `creOpenSocket`, `creScheduleReconnect`, `creDisconnect`, `creMergeStatus`, `creNotifyChange`, `renderCrealityLiveInner`, `creLogPush`, `renderCreLogInner` ; wiring dans `renderPrintersView`, `openPrinterDetail`, `closePrinterDetail`, `renderPrinterDetail` |
22+
| `renderer/CODEMAP.md` | Entrée Creality dans bird's-eye + cookbook |
23+
| `package.json` | version `1.4.14` → `1.4.15` |
24+
| `DEVLOG.md` | Ce fichier |
25+
26+
### Notes techniques
27+
- **Protocole Creality** : WebSocket `ws://$ip:9999`, request/response (pas push) — on envoie `{"method":"get","params":{"boxsInfo":1,...}}` et on re-poll toutes les 2 s
28+
- **Probe live** : Ender-3 V4 à 192.168.40.106 répond en 7 845 octets JSON plat (tous les champs en root) — vérifié via socket Python
29+
- **`state`** : 0=idle, 1=printing, 2=finished — mappé vers les clés i18n `snapState_*` existantes
30+
- **Températures** : champs string dans le proto (`"25.880000"`) → `parseFloat()` systématique
31+
- **CFS** : `cfsConnect: 0` sur Ender-3 V4 mono-extrudeur → grille absente ; activée si `cfsConnect: 1` + `materialBoxs[]` non vide
32+
- **Caméra** : `webrtcSupport: 1` détecté sur l'Ender-3 V4 → iframe `http://$ip/webcam/webrtc` (identique Snapmaker/Crowsnest)
33+
- **Thumbnail** : `http://$ip/downloads/original/current_print_image.png` (chemin fixe Creality pendant/après impression)
34+
- **Helpers réutilisés** : `snapFmtDuration`, `snapFmtTempPair`, `SNAP_ICON_NOZZLE/BED/CLOCK`, `snapTextColor`, classes CSS `.snap-*`
35+
- **Ping** : WS léger (open → marquer online → close immédiatement), 30 s TTL, même pattern que Snapmaker HTTP ping
36+
- **Log buttons** : Pause/Clear/row-expand câblés dans le bloc `snapDelegated` de `renderPrinterDetail`
37+
38+
---
39+
840
## 2026-05-08 — v1.4.14
941

1042
### Demandes

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tigertag-inventory",
3-
"version": "1.4.14",
3+
"version": "1.4.15",
44
"description": "Tiger Studio Manager — desktop app",
55
"main": "main.js",
66
"engines": {

‎renderer/CODEMAP.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ L4284-5072 App-level UI (resize, debug, settings, language, friends, …)
2121
L5073-5532 Storage / scales / 3D printers (subscribe + render printers grid)
2222
L5533-7216 Snapmaker Live integration (Moonraker WebSocket)
2323
L7288-8345 FlashForge Live integration (HTTP polling + filament edit)
24-
L8347-… Add-printer flow (mDNS → port-scan → Add by IP → manual probe)
24+
L… Creality Live integration (WebSocket polling port 9999)
25+
L… Add-printer flow (mDNS → port-scan → Add by IP → manual probe)
2526
… Storage view (rack rendering, drag-drop, masonry, rack-edit modal)
2627
… Friend view (friend's inventory in main interface)
2728
… Display-name setup + Friends system (requests, accept, blacklist)
@@ -306,6 +307,8 @@ Most common navigation tasks → start here:
306307
| Touch the FlashForge HTTP polling | `ffgConnect` L7390, `ffgPollOnce` L7460, `ffgMergeStatus` L7515 |
307308
| Touch the FlashForge live block UI | `renderFlashforgeLiveInner` L7700 |
308309
| Touch the FlashForge filament edit sheet | `openFlashforgeFilamentEdit` L7900, Apply at `$("ffgFilEditSave")` L8060 |
310+
| Touch the Creality WS layer | `creConnect`, `creMergeStatus` |
311+
| Touch the Creality live block UI | `renderCrealityLiveInner` |
309312
| Touch the bottom-sheet filament edit | `openSnapFilamentEdit` L5971, color grid L6244 |
310313
| Touch the Add-printer scan flow | mDNS L8030, port-scan L8131, one-click add L8241 |
311314
| Touch the Add by IP widget | L8634 |

0 commit comments

Comments
 (0)