Das ist ein Odoo Modul für die Verwaltung von Maschinen, Einweisungen für Nutzer in einer offenen Werkstatt / Fablab
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! |
||
|---|---|---|
| .devcontainer | ||
| .gitea/workflows | ||
| .vscode | ||
| aspl_equipment_qrcode_generator | ||
| FEATURE_REQUEST | ||
| log | ||
| open_workshop_base | ||
| open_workshop_dokuwiki | ||
| open_workshop_employee_imagegenerator | ||
| open_workshop_mqtt | ||
| open_workshop_pos | ||
| open_workshop_pos_customer_display | ||
| open_workshop_report | ||
| .gitignore | ||
| open_workshop.code-workspace | ||
| README.md | ||
| todo.md | ||
Abhängigkeiten von maintenance erklären.