Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

[Plugin] dvbapiNET v2.3 - Oscam dvbapi Plugin für DVBViewer/MDAPI mit Web-UI, MQTT, Home Assistant

dvbapiNET v2.3
Oscam dvbapi Plugin für DVBViewer & MDAPI




Hallo Community,

ich möchte euch dvbapiNET vorstellen — ein erweitertes .NET-Plugin, das die Oscam dvbapi-Schnittstelle in DVBViewer und MDAPI-kompatible Anwendungen einbindet.

Das Plugin baut auf der ursprünglichen Arbeit von t5b6_de auf und wurde in den Versionen 2.0 bis 2.3 deutlich erweitert. Im Mittelpunkt stehen Stabilität, Sichtbarkeit (Monitoring) und Integrationen (Web-UI, MQTT, Home Assistant).

🔑 Kernfunktionen

  • Echtzeit-DVB-Entschlüsselung über Oscam (TCP dvbapi-Protokoll)
  • Kompatibel mit DVBViewer (natives Plugin) und MDAPI (ProgDVB, etc.)
  • Automatische Wiederverbindung mit exponentiellem Backoff (1s → 32s)
  • 30s Heartbeat zur Erkennung von Verbindungsabbrüchen
  • Befehls-Queue, die nach Reconnect automatisch abgespielt wird

🆕 v2.0 — UI & Monitoring

  • Integriertes Menü Plugins → dvbapiNet in DVBViewer (Klick = Konfiguration)
  • Tabbed Konfigurations-Dialog: Konfiguration / Status & Aktionen / Debug / Über
  • Eingebettete Web-Oberfläche auf Port 8080 (TcpListener, kein URL ACL nötig)
  • Auto-aktualisierte Status-Seite mit Entschlüsselungs-Statistiken
  • Historie der letzten 100 ECMs (CAID, PID, Latenz, Reader, Protokoll)
  • Auto-Discovery von Oscam-Servern im lokalen Subnetz
  • Failover für mehrere Oscam-Server (Prioritätsliste, automatischer Wechsel)
  • Windows Tray-Icon mit Schnellmenü und nativen Toast-Benachrichtigungen
  • Optional HTTP Basic Auth auf dem Web-Interface
  • Webhooks (POST JSON) bei Events
  • 1-Klick Diagnose — generiert ZIP mit Log + maskierter Config + Snapshot
  • GitHub Auto-Updater: prüft beim Start auf neue Releases

✨ v2.1 — Polish & Ops

  • Dark Mode für den Konfigurations-Dialog
  • CSV-Export der ECM-Historie (Dialog-Button +
    Code:
    /api/ecm/export.csv
    Endpoint)
  • Automatische Log-Rotation bei 5 MB (3 rotierte Dateien)
  • GitHub Actions CI mit Build-Badge

🚀 v2.2 — Performance & Telemetrie

  • CW-Cache (opt-in) für schnelleres Umschalten — kürzlich empfangene Control Words pro SID werden beim Retune sofort an den neuen Descrambler übergeben, ohne auf eine neue ECM-Antwort zu warten. Aktivierbar via Dialog oder
    Code:
    [cache] cw=1
    in der INI.
  • Channel-Heatmap — Top 10 der meistgesehenen Kanäle nach Sehzeit
  • Per-CAID ECM-Zähler — Übersicht welche CAIDs aktiv genutzt werden

📡 v2.3 — Integration & Qualität

  • MQTT-Publisher — eigene minimale MQTT 3.1.1 Implementierung, keine NuGet-Abhängigkeit. Veröffentlicht den Plugin-Status alle 10 Sekunden mit Last-Will-Testament für Availability.
  • Home Assistant Auto-Discovery — erstellt automatisch 6 Sensoren (Verbindung, Kanal getunt, Service-ID, ECM-Latenz, CW-Zähler, ECM-Zähler) unter einem Gerät "dvbapiNET" in HA.
  • xUnit Test-Projekt für ReconnectionStrategy und CwCache (13/13 Tests grün, lauffähig mit
    Code:
    dotnet test
    )




📥 Download

Aktuelle DLL und alle Releases auf GitHub:


🛠️ Installation

  1. DVBViewer schließen
  2. Code:
    dvbapiNet.dll
    nach
    Code:
    C:\Program Files (x86)\DVBViewer\Plugins\
    kopieren
  3. DVBViewer starten
  4. Menü Plugins → dvbapiNet öffnen und den Oscam-Server konfigurieren

⚙️ Konfiguration

Konfigurationsdatei:
Code:
%ProgramData%\dvbapiNET\dvbapiNET.ini

Minimal-Beispiel mit allen wichtigen Sektionen:

Code:
[dvbapi]
server=127.0.0.1
port=633
; Optional: Komma-separierte Failover-Server
servers=192.168.1.10:633,192.168.1.11:633

[web]
port=8080
; Leer lassen für kein Basic Auth
user=
password=

[cache]
; CW-Cache für schnelleres Umschalten (experimentell aber sicher)
cw=1

[mqtt]
enabled=1
host=192.168.1.10
port=1883
user=mqtt_user
password=mqtt_pass
ha_discovery=1

[ui]
tray=1
dark=0

[update]
check=1
owner=prof-abdo
repo=dvbapiNET

🌐 Web-Interface

Nach dem Start ist die Status-Seite unter erreichbar — Auto-Refresh alle 5 Sekunden.

Verfügbare JSON-Endpoints (Auszug):

  • Code:
    /api/status
    — Verbindungsstatus, getunter Kanal, SID, PID
  • Code:
    /api/decrypt/stats
    — CW/ECM-Zähler, Latenz, Cache-Statistik
  • Code:
    /api/ecm/recent
    — die letzten 100 ECMs
  • Code:
    /api/ecm/latency-history
    — Minutenbasierte Latenz (60 Min)
  • Code:
    /api/heatmap/channels
    — Top-Kanäle nach Sehzeit
  • Code:
    /api/heatmap/caid
    — ECM-Anzahl pro CAID
  • Code:
    /api/discovery/scan
    — Subnetz-Scan nach Oscam-Servern
  • Code:
    /api/ecm/export.csv
    — Komplette ECM-Historie als CSV
  • Code:
    /api/reconnect
    — Erzwingt eine Reconnect

📜 Source-Code & Lizenz

Source-Code, Issue-Tracker und alle Releases auf GitHub:



Lizenz: GPL-3.0

Pull Requests, Bug Reports und Feedback sind sehr willkommen!

🙏 Credits

Basierend auf der ursprünglichen Arbeit von t5b6_de und der dvbapiNET-Community.




Roadmap v2.4:
  • Mehrsprachige UI (DE / EN / FR) über zentrale Message-Enums
  • Weitere Tests für DecryptionMonitor und OscamDiscovery
  • Polish und Bug-Fixes basierend auf Community-Feedback

Über Feedback, Tests auf unterschiedlichen Setups (DVBViewer-Versionen, MDAPI-Hosts wie ProgDVB) und Verbesserungsvorschläge freue ich mich sehr.

Viele Grüße,
prof-abdo
Code:
 

Anhänge

Sie müssen registriert sein, um die Liste der Anhänge zu sehen
Zuletzt bearbeitet:
Zurück
Oben
📱
Forum App auf dein Handy
Schneller. Push-Benachrichtigungen. Offline-fähig.
Öffnen