Das ist ein Odoo Modul für die Verwaltung von Maschinen, Einweisungen für Nutzer in einer offenen Werkstatt / Fablab
Go to file
matthias.lotz c55b0e59d2 feat(odoo): IoT Bridge Phase 2 - Odoo REST API
Phase 2.1 - Models:
- ows.iot.event Model für Event-Logging
  - event_uid (unique constraint) für Duplikat-Prävention
  - event_type (session_started/updated/stopped/timeout/heartbeat)
  - payload_json mit auto-extraction (power_w, state)
  - Auto-Linking zu mqtt.device und mqtt.session
  - Processing-Status tracking
- mqtt.device erweitert mit device_id (External ID für API)
- Existing mqtt.session bereits perfekt strukturiert

Phase 2.2 - REST API Controller:
- GET /ows/iot/config
  - Returns aktive Devices mit session_config als JSON
  - Public auth (später API-Key optional)
- POST /ows/iot/event
  - JSON-RPC Format (Odoo type='json')
  - Schema-Validation (required: event_uid, event_type, device_id, timestamp)
  - Duplikat-Check: 409 Conflict für idempotency
  - Auto-Processing: Session create/update/complete
  - Response codes: 201/409/400/500

Phase 2.3 - Bridge OdooClient:
- Echte REST API Implementation
  - get_config(): GET /ows/iot/config
  - send_event(): POST /ows/iot/event (JSON-RPC)
  - Duplicate handling (409 = success)
  - HTTP Session mit requests library
- config.py: OdooConfig mit base_url, database, username, api_key
- main.py: Conditional OdooClient/MockOdooClient based on use_mock

Testing Guide:
- PHASE2_TESTING.md mit kompletter Anleitung
- Manuelle API Tests (curl examples)
- Integration Test Steps (Odoo + Mosquitto + Bridge)
- Success Criteria Checklist

Bereit für Phase 2.4 Integration Testing!
2026-02-05 16:43:26 +01:00
.devcontainer FIX: pos: wenn auf - gedrückt wird um eine Order zu entfernen, wurde nicht 2025-10-25 14:10:25 +02:00
.gitea/workflows .gitea/workflows/odoo-restore-open_workshop_install.yaml aktualisiert 2025-04-23 21:46:02 +02:00
.vscode FIX: pos: wenn auf - gedrückt wird um eine Order zu entfernen, wurde nicht 2025-10-25 14:10:25 +02:00
aspl_equipment_qrcode_generator feat(aspl_equipment_qrcode_generator): Fix QR-code generation and PDF rendering 2025-12-11 21:53:21 +01:00
FEATURE_REQUEST feat(mqtt): Implement M0-M3 - MQTT IoT Bridge with Session Detection 2026-01-22 19:59:17 +01:00
log working merge with open_workshop 17.0. Missing Traings view in Machine Backend. No POS Machine sidebar. 2025-06-28 15:31:59 +02:00
open_workshop_base fix: POS-Funktionalität in open_workshop_pos verschoben + Workarounds 2026-01-28 18:55:55 +01:00
open_workshop_dokuwiki feat: Wiki-Links in Tree View als klickbare Namen anzeigen 2026-01-19 20:57:43 +01:00
open_workshop_employee_imagegenerator Update custom widget 2026-01-13 17:53:31 +01:00
open_workshop_mqtt feat(odoo): IoT Bridge Phase 2 - Odoo REST API 2026-02-05 16:43:26 +01:00
open_workshop_pos fix: POS-Funktionalität in open_workshop_pos verschoben + Workarounds 2026-01-28 18:55:55 +01:00
open_workshop_pos_customer_display Umstellung: Employee Image Generator speichert nur Foto, Customer Display baut Badge dynamisch 2026-01-12 19:10:43 +01:00
open_workshop_report Integration Plan für automatisierte DokuWiki-Report-Generierung 2025-12-26 23:47:24 +01:00
.gitignore fix: MQTT topic matching + UI button fixes 2026-01-28 22:08:59 +01:00
open_workshop.code-workspace FIX: pos: wenn auf - gedrückt wird um eine Order zu entfernen, wurde nicht 2025-10-25 14:10:25 +02:00
README.md fix: open_workshop_base Installation-Fehler behoben 2026-01-27 22:29:14 +01:00
todo.md working merge with open_workshop 17.0. Missing Traings view in Machine Backend. No POS Machine sidebar. 2025-06-28 15:31:59 +02:00

Abhängigkeiten von maintenance erklären.