From 76738e5961a87612d92c0f20ad63124570b485a8 Mon Sep 17 00:00:00 2001 From: viewit Date: Tue, 2 Jun 2026 13:59:53 +0200 Subject: [PATCH] release: v0.9.19 --- README.de.md | 49 ++++++++++++++++++++++++++++++++++++++----------- README.es.md | 45 ++++++++++++++++++++++++++++++++++++--------- README.md | 45 ++++++++++++++++++++++++++++++++++++--------- 3 files changed, 110 insertions(+), 29 deletions(-) diff --git a/README.de.md b/README.de.md index adb8e7a..e6931e4 100644 --- a/README.de.md +++ b/README.de.md @@ -8,6 +8,11 @@ Eine Moonraker-kompatible Bridge, die direkt mit dem Drucker spricht. +🧪 Ein Community-Bericht auf Reddit deutet darauf hin, dass die Bridge auch +mit dem **Kobra S1** und **Kobra S1 Max** funktioniert — die Protokolle wirken +kompatibel, beides ist aber weder offiziell getestet noch unterstützt. +Feedback willkommen. + 🇬🇧 English version · 🇪🇸 Versión española
@@ -32,12 +37,17 @@ Eine Moonraker-kompatible Bridge, die direkt mit dem Drucker spricht. |---|---| | 🖨️ | **Druckersteuerung** — Start, Pause, Resume, Abbruch, Temperaturen, Druckgeschwindigkeit | | 📊 | **Live-Status** — Temperatur, Fortschritt, Layer, Restzeit, Kamera-Stream | -| 🎨 | **AMS / Multicolor** — Filament-Slots, Per-Kanal-Remapping, MMU-Emulation für OrcaSlicer Filament-Sync | +| 🎨 | **AMS / Multicolor** — Slots mit **Profil-Picker pro Slot** (eigene Marke aus OrcaSlicer-Profilen pro Slot zuweisen); Bridge schreibt Material und Farbe ans Drucker-Display zurück | +| 📦 | **Eigene OrcaSlicer-Profile importieren** — ZIP aus `~/.config/OrcaSlicer/user//filament/` in die Bridge ziehen; tauchen im Slot-Dropdown unter ★ Eigene Profile auf | +| 📷 | **Obico-Integration (experimentell)** — Time-Lapse und WebRTC-Livestream gegen einen selbst gehosteten [Obico-Server](https://github.com/TheSpaghettiDetective/obico-server) via moonraker-obico | +| 📐 | **H.264-Direkt-Stream + Z-Höhe** — sparsamer Kamera-Pfad für Obico, aktuelle Z aus der Layer-Höhe abgeleitet (Mm-Progress-Widget) | | 🗂️ | **GCode-Browser** — hochgeladene Dateien mit Thumbnail, Druckhistorie, Suche & Filter | | 🧩 | **Multi-Printer** — mehrere Drucker in **einer** Bridge-Instanz, Umschalten per Dropdown | | ➕ | **Drucker hinzufügen per Klick** — nur die IP eingeben, Zugangsdaten werden automatisch importiert | +| 🔁 | **Robuster MQTT-Reconnect** — Bridge überlebt nächtlichen Drucker-Reboot ohne manuellen Neustart | +| 🌐 | **Mehrsprachiges UI** — DE / EN / ES / 中文, Browser-Sprache automatisch erkannt | | 🔄 | **Self-Update** — neue Versionen direkt im Browser installieren | -| 🌐 | **OrcaSlicer** — volles Moonraker-Protokoll (HTTP + WebSocket), DE/EN UI | +| 🧠 | **OrcaSlicer** — volles Moonraker-Protokoll (HTTP + WebSocket); für korrekten Vendor-Match pro Slot den [OrcaSlicer-KX-Build](#-empfohlener-slicer) nutzen | --- @@ -103,18 +113,28 @@ Drucker → Verbindungstyp **Moonraker** → Host: `http://BRIDGE-IP:7125` ## 🎨 Empfohlener Slicer -Für die beste Erfahrung mit der KX-Bridge bieten wir einen **gepatchten -OrcaSlicer-Build**, der drei offene SoftFever/OrcaSlicer-PRs bündelt: das -Anycubic-Kobra-X-Druckerprofil, einen Multicolor-G-Code-Fix und — am wichtigsten -— einen Moonraker/Happy-Hare-Filament-Sync-Fix, der die AMS-Slot-Positionen auch -bei einem leeren Slot in der Mitte korrekt beibehält. +Für sauberen AMS-Filament-Sync gibt es einen **gepatchten OrcaSlicer-Build**: → **[OrcaSlicer-KX Releases](https://gitea.it-drui.de/viewit/OrcaSlicer-KX/releases/latest)** (Linux AppImage + Windows ZIP) -Standard-OrcaSlicer funktioniert auch; der gepatchte Build verbessert -hauptsächlich das AMS-Handling. Es ist ein Build von -[OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); der Quellcode -ist über die verlinkten PRs verfügbar. +**Upstream-PRs im KX-Build:** + +- **[PR #13372](https://github.com/SoftFever/OrcaSlicer/pull/13372)** — Moonraker / Happy-Hare AMS-Sync-Fix (Slot-Positionen bleiben auch bei leerem Slot in der Mitte korrekt) +- **[PR #13719](https://github.com/SoftFever/OrcaSlicer/pull/13719)** — Vendor- + Name-Matching für Moonraker (liest `name` + `vendor_name` pro Slot und matched gegen deine Filament-Presets), von [@LordGuenni](https://github.com/LordGuenni) +- **[PR #13315](https://github.com/SoftFever/OrcaSlicer/pull/13315)** — Eindeutige `filament_id` für User-Presets (neu erstellte eigene Profile bekommen eine frische ID statt das `OGFL99` vom Generic-Parent zu erben), von [@mrnoisytiger](https://github.com/mrnoisytiger) + +**Plus vier KX-eigene Verbesserungen on top:** + +- Bridge-Filament-Hint (`tray_info_idx` + Vendor) respektieren +- Vendor-Match auch wenn das gewählte Base-Preset **nicht is_compatible** mit dem aktiven Drucker ist (so matchen Profile aus anderen Drucker-Setups trotzdem über die Marke) +- Vendor-Match wenn `tray_info_idx` gesetzt ist, das Preset aber inkompatibel +- Zwei-Pass-Suche: erst kompatible Presets, dann alle sichtbaren + +**Warum das zusammen wichtig ist:** ohne #13719 landen die AMS-Slots in OrcaSlicer alle auf `Generic PLA` / `Generic PETG`, obwohl die Bridge die konkrete Marke schon mitsendet (`name + vendor_name + gate_filament_name`). Mit dem KX-Build matched OrcaSlicer deine echten User-Presets — auch die, die du via [Eigene OrcaSlicer-Profile importieren](#-features) in die Bridge gezogen hast. + +Stock-Upstream-OrcaSlicer funktioniert für Slicing und Drucken weiterhin — nur das Per-Slot-Vendor-Matching beim AMS-Sync fällt dann weg. Material und Farbe pro Slot kannst du auch ohne den KX-Build über die Bridge ans Drucker-Display schreiben (das läuft über MQTT, nicht über den Slicer). + +OrcaSlicer-KX ist ein Build von [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); der Quellcode der Upstream-PRs ist auf GitHub, die KX-spezifischen Patches im OrcaSlicer-KX-Repo. --- @@ -123,6 +143,13 @@ ist über die verlinkten PRs verfügbar. - **[Home-Assistant-Integration](https://github.com/gangoke/kobrax-lan-hass-component)** von [@gangoke](https://github.com/gangoke) — bindet Sensoren, Drucksteuerung, Licht, Kamera und das GCode-Vorschaubild als native Home-Assistant-Entitäten ein. +- **[Obico (selbst gehostet)](https://github.com/TheSpaghettiDetective/obico-server)** — + die Bridge bietet eine Moonraker-kompatible API, die + [moonraker-obico](https://github.com/TheSpaghettiDetective/moonraker-obico) + akzeptiert; damit hast du Time-Lapse und WebRTC-Live-Stream gegen deinen + eigenen Obico-Server. Die KI-Spaghetti-Erkennung ist beim Kobra X + experimentell — der Top-Down-Kamerawinkel weicht von dem ab, auf den + das Modell trainiert wurde. > Dies sind **Community-Projekte**, die nicht von KX-Bridge betreut oder > supportet werden. Bei Fragen oder Problemen bitte das verlinkte Repository nutzen. diff --git a/README.es.md b/README.es.md index 026f861..68c812f 100644 --- a/README.es.md +++ b/README.es.md @@ -8,6 +8,10 @@ Un puente compatible con Moonraker que se comunica directamente con la impresora. +🧪 Un usuario en Reddit ha reportado que el puente también funciona con la +**Kobra S1** y la **Kobra S1 Max** — los protocolos parecen compatibles, pero +ninguna está oficialmente probada ni soportada. Se agradece el feedback. + 🇬🇧 English version · 🇩🇪 Deutsche Version
@@ -32,12 +36,17 @@ Un puente compatible con Moonraker que se comunica directamente con la impresora |---|---| | 🖨️ | **Control de impresora** — iniciar, pausar, reanudar, cancelar, temperaturas, velocidad de impresión | | 📊 | **Estado en tiempo real** — temperatura, progreso, capas, tiempo restante, transmisión de cámara | -| 🎨 | **AMS / multicolor** — ranuras de filamento, reasignación por canal, emulación MMU para sincronización de filamento en OrcaSlicer | +| 🎨 | **AMS / multicolor** — ranuras con **selector de perfil por ranura** (asigna tu propia marca de los perfiles de OrcaSlicer a cada ranura); el puente escribe material y color al display de la impresora | +| 📦 | **Importa tus propios perfiles de OrcaSlicer** — arrastra un ZIP de `~/.config/OrcaSlicer/user//filament/` al puente; aparecen en el desplegable de la ranura bajo ★ Perfiles propios | +| 📷 | **Integración con Obico (experimental)** — Time-Lapse y stream en vivo WebRTC contra un [servidor Obico](https://github.com/TheSpaghettiDetective/obico-server) autoalojado vía moonraker-obico | +| 📐 | **Stream H.264 directo + altura Z** — ruta de cámara de bajo consumo de CPU para Obico, Z actual derivada de la altura de capa (widget de progreso) | | 🗂️ | **Explorador de GCode** — archivos subidos con vistas previas, historial de impresión, búsqueda y filtros | | 🧩 | **Multi-impresora** — múltiples impresoras en **una** instancia del puente, cambia mediante un menú desplegable | | ➕ | **Añade una impresora con un clic** — solo introduce la IP, las credenciales se importan automáticamente | +| 🔁 | **Reconexión MQTT robusta** — el puente sobrevive a reinicios nocturnos de la impresora sin reinicio manual | +| 🌐 | **Interfaz multilingüe** — DE / EN / ES / 中文, detecta automáticamente el idioma del navegador | | 🔄 | **Actualización automática** — instala nuevas versiones directamente desde el navegador | -| 🌐 | **OrcaSlicer** — protocolo Moonraker completo (HTTP + WebSocket), interfaz EN/ES | +| 🧠 | **OrcaSlicer** — protocolo Moonraker completo (HTTP + WebSocket); usa el [build OrcaSlicer-KX](#-slicer-recomendado) para emparejamiento correcto de vendor por ranura | --- @@ -103,16 +112,28 @@ Impresora → Tipo de conexión **Moonraker** → Host: `http://IP-DEL-PUENTE:71 ## 🎨 Slicer recomendado -Para la mejor experiencia con KX-Bridge ofrecemos una **versión modificada de OrcaSlicer** que -incluye tres PRs abiertos de SoftFever/OrcaSlicer: el perfil de la impresora Anycubic Kobra -X, una corrección de GCode multicolor y — lo más importante — una corrección de sincronización de -filamento Moonraker/Happy-Hare que mantiene las posiciones de las ranuras AMS intactas incluso con una ranura vacía. +Para una sincronización de filamento AMS correcta ofrecemos una **versión modificada de OrcaSlicer**: → **[Lanzamientos de OrcaSlicer-KX](https://gitea.it-drui.de/viewit/OrcaSlicer-KX/releases/latest)** (Linux AppImage + Windows ZIP) -OrcaSlicer estándar también funciona; la versión modificada mejora principalmente el manejo de AMS. -Es una versión basada en [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); -el código fuente está disponible a través de los PRs enlazados. +**PRs upstream incluidos en el build KX:** + +- **[PR #13372](https://github.com/SoftFever/OrcaSlicer/pull/13372)** — Corrección de sincronización Moonraker / Happy-Hare AMS (las posiciones de las ranuras se mantienen correctas incluso con ranuras vacías) +- **[PR #13719](https://github.com/SoftFever/OrcaSlicer/pull/13719)** — Coincidencia de Vendor + Nombre para Moonraker (lee `name` + `vendor_name` por ranura y los empareja con los presets de filamento del usuario), por [@LordGuenni](https://github.com/LordGuenni) +- **[PR #13315](https://github.com/SoftFever/OrcaSlicer/pull/13315)** — `filament_id` único para presets de usuario (los perfiles nuevos reciben un ID nuevo en vez de heredar `OGFL99` del padre genérico), por [@mrnoisytiger](https://github.com/mrnoisytiger) + +**Más cuatro mejoras específicas de KX encima:** + +- Respetar el hint de filamento del puente (`tray_info_idx` + vendor) +- Coincidencia por vendor incluso cuando el preset base no es **is_compatible** con la impresora activa (así un perfil copiado de otra máquina sigue coincidiendo por vendor) +- Coincidencia por vendor cuando `tray_info_idx` está definido pero su preset es incompatible +- Búsqueda de dos pasadas: primero presets compatibles, luego todos los visibles + +**Por qué importa:** sin #13719 todas las ranuras AMS caen en `Generic PLA` / `Generic PETG` aunque el puente ya envíe la marca concreta (`name + vendor_name + gate_filament_name`). Con el build KX, OrcaSlicer coincide con tus presets de usuario reales — incluyendo los perfiles que importaste al puente vía [Importa tus propios perfiles de OrcaSlicer](#-características). + +OrcaSlicer upstream también funciona para rebanar e imprimir — solo pierdes la coincidencia de vendor por ranura en la sincronización AMS. El material y color por ranura se pueden empujar puente → impresora con cualquier slicer (eso va por MQTT, no por el slicer). + +OrcaSlicer-KX es un build de [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); el código fuente de cada PR upstream está en GitHub, los parches específicos de KX en el repo OrcaSlicer-KX. --- @@ -121,6 +142,12 @@ el código fuente está disponible a través de los PRs enlazados. - **[Integración con Home Assistant](https://github.com/gangoke/kobrax-lan-hass-component)** por [@gangoke](https://github.com/gangoke) — expone sensores, controles de impresión, luz, cámara y la vista previa del GCode como entidades nativas de Home Assistant. +- **[Obico (autoalojado)](https://github.com/TheSpaghettiDetective/obico-server)** — + el puente expone una API compatible con Moonraker que + [moonraker-obico](https://github.com/TheSpaghettiDetective/moonraker-obico) + acepta, así obtienes Time-Lapse y streaming en vivo WebRTC contra tu propio + servidor Obico. La detección de fallos por IA es experimental en la Kobra X + (el ángulo cenital de la cámara difiere del que el modelo fue entrenado). > Estos son **proyectos de la comunidad**, no mantenidos ni soportados por KX-Bridge. > Para preguntas o problemas, utiliza el repositorio enlazado. diff --git a/README.md b/README.md index c8173eb..7bf3199 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ A Moonraker-compatible bridge that talks directly to the printer. +🧪 A community report on Reddit suggests the bridge also works with the +**Kobra S1** and **Kobra S1 Max** — protocols look compatible, but neither is +officially tested or supported. Feedback welcome. + 🇩🇪 Deutsche Version · 🇪🇸 Versión española
@@ -32,12 +36,17 @@ A Moonraker-compatible bridge that talks directly to the printer. |---|---| | 🖨️ | **Printer control** — start, pause, resume, cancel, temperatures, print speed | | 📊 | **Live status** — temperature, progress, layers, remaining time, camera stream | -| 🎨 | **AMS / multicolor** — filament slots, per-channel remapping, MMU emulation for OrcaSlicer filament sync | +| 🎨 | **AMS / multicolor** — slots with per-slot **profile picker** (assign your own brand from OrcaSlicer profiles per slot); bridge writes material & colour back to the printer display | +| 📦 | **Import your own OrcaSlicer profiles** — drag a ZIP from `~/.config/OrcaSlicer/user//filament/` into the bridge; they show up in the slot dropdown under ★ Own profiles | +| 📷 | **Obico integration (experimental)** — Time-Lapse and WebRTC live stream against a self-hosted [Obico server](https://github.com/TheSpaghettiDetective/obico-server) via moonraker-obico | +| 📐 | **Direct H.264 stream + Z-height** — low-CPU camera path for Obico, current Z derived from layer-height for the print-progress widget | | 🗂️ | **GCode browser** — uploaded files with thumbnails, print history, search & filter | | 🧩 | **Multi-printer** — multiple printers in **one** bridge instance, switch via dropdown | | ➕ | **Add a printer with one click** — just enter the IP, credentials are imported automatically | +| 🔁 | **Robust MQTT reconnect** — bridge survives overnight printer reboots without manual restart | +| 🌐 | **Multi-language UI** — DE / EN / ES / 中文, auto-detect browser locale | | 🔄 | **Self-update** — install new versions directly in the browser | -| 🌐 | **OrcaSlicer** — full Moonraker protocol (HTTP + WebSocket), EN/DE UI | +| 🧠 | **OrcaSlicer** — full Moonraker protocol (HTTP + WebSocket); pair with the [OrcaSlicer-KX build](#-recommended-slicer) for proper per-slot vendor matching | --- @@ -103,16 +112,28 @@ Printer → Connection type **Moonraker** → Host: `http://BRIDGE-IP:7125` ## 🎨 Recommended Slicer -For the best KX-Bridge experience we offer a **patched OrcaSlicer build** that -bundles three open SoftFever/OrcaSlicer PRs: the Anycubic Kobra X printer -profile, a multicolor G-code fix and — most importantly — a Moonraker/Happy-Hare -filament-sync fix that keeps AMS slot positions intact even with an empty slot. +For proper AMS filament-sync we ship a **patched OrcaSlicer build**: → **[OrcaSlicer-KX releases](https://gitea.it-drui.de/viewit/OrcaSlicer-KX/releases/latest)** (Linux AppImage + Windows ZIP) -Standard OrcaSlicer also works; the patched build mainly improves AMS handling. -It's a build of [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); -source is available via the linked PRs. +**Upstream PRs bundled in the KX build:** + +- **[PR #13372](https://github.com/SoftFever/OrcaSlicer/pull/13372)** — Moonraker / Happy-Hare AMS sync fix (slot positions stay correct even with empty slots) +- **[PR #13719](https://github.com/SoftFever/OrcaSlicer/pull/13719)** — Vendor + Name matching for Moonraker (reads `name` + `vendor_name` per slot and matches against the user's filament presets), by [@LordGuenni](https://github.com/LordGuenni) +- **[PR #13315](https://github.com/SoftFever/OrcaSlicer/pull/13315)** — Unique `filament_id` for user presets (so newly created custom profiles get a fresh ID instead of inheriting `OGFL99` from the generic parent), by [@mrnoisytiger](https://github.com/mrnoisytiger) + +**Plus four KX-specific matching improvements on top:** + +- Respect the bridge filament hint (`tray_info_idx` + vendor) +- Vendor match also when the chosen base preset is **not is_compatible** with the active printer (so a profile copied from a different machine still matches by vendor) +- Vendor match when `tray_info_idx` is set but its preset is incompatible +- Two-pass lookup: first compatible presets, then all visible ones + +**Why this matters:** without #13719 the AMS slots in OrcaSlicer all fall back to `Generic PLA` / `Generic PETG` even though the bridge already sends the concrete brand (`name + vendor_name + gate_filament_name`). With the KX build OrcaSlicer matches your actual user presets — including profiles you imported into the bridge via the [Import your own OrcaSlicer profiles](#-features) flow. + +Stock upstream OrcaSlicer still works for slicing and printing — you just lose the per-slot brand matching on AMS sync. Slot material + colour can still be pushed bridge → printer either way (that goes over MQTT, not via the slicer). + +OrcaSlicer-KX is a build of [OrcaSlicer](https://github.com/SoftFever/OrcaSlicer) (AGPL-3.0); source for each upstream PR is on GitHub, KX-specific patches live in the OrcaSlicer-KX repo. --- @@ -121,6 +142,12 @@ source is available via the linked PRs. - **[Home Assistant integration](https://github.com/gangoke/kobrax-lan-hass-component)** by [@gangoke](https://github.com/gangoke) — exposes sensors, print controls, light, camera and the GCode thumbnail as native Home Assistant entities. +- **[Obico (self-hosted)](https://github.com/TheSpaghettiDetective/obico-server)** — + the bridge exposes a Moonraker-compatible surface that + [moonraker-obico](https://github.com/TheSpaghettiDetective/moonraker-obico) + accepts, so you get Time-Lapse and WebRTC live streaming against your own + Obico server. The AI failure-detection side is experimental on the Kobra X + (top-down camera angle differs from what the model was trained on). > These are **community projects**, not maintained or supported by KX-Bridge. > For questions or issues, please use the linked repository.