'Security Cam Overlay Addon' Reloaded

  • Habs, jetzt erst gesehen. Hatte nen kleinen Kurzurlaub eingeschoben. ;)

    Ich hatte vorher noch den Pull Request von b-jesch "gemerged", der den notwenidgen Patch enthielt.

  • Hallo, wollte nur sagen ich verwende auch das script und funktioniert super :D

    Paar punkte wären noch cool :

    1. Die duration sollte man auch im JSONRPC Call übergeben können
    2. width und height sollte man auch im JSONRPC Call übergeben können (wenn nicht dann sollte das default verwendet werden)
    3. es sollten mehr Streams als 4 hinterlegt werden können (oder optional die url im JSONRPC Call übergeben, dann hätte ich einen Stream, wo ich jede Kamera verwenden kann)
  • Hi eben gesehen und für Top befunden ! Danke!

    Kann mich vielleicht einer noch hiermit unterstützen :
    Ich möchte gerne das Addon einfach via jsonRPC oder http befehl starten lassen- hab aber leider etwas Startschwierigkeiten

    Hintergrund - möchte von Homematic Script, FHEM oder ioBroker einfach das Addon einblenden lassen wenn jemand zb die klingel betätigt
    Es sollten alle 4 Kameras angezeigt werden, also nicht nur ein bestimmter stream.

  • Ich möchte gerne das Addon einfach via jsonRPC oder http befehl starten lassen- hab aber leider etwas Startschwierigkeiten


    Der Aufruf aus einem Skript kann z.B. wie folgt aussehen:

    Code
    curl -X POST -H 'Content-Type: application/json' -i http://192.168.178.12:8080/jsonrpc --data '{ "jsonrpc": "2.0", "method": "Addons.ExecuteAddon", "params": { "wait": false, "addonid": "script.securitycam", "params": { "streamid": "1"} }, "id": 0 }'

    Die IP Adresse 192.168.178.12 muss natürlich durch die IP-Adresse des eigenen kodi-Hosts ersetzt werden.

    Es sollten alle 4 Kameras angezeigt werden, also nicht nur ein bestimmter stream.

    Evtl. lässt sich ein Aufruf aller konfigurierten, aktiven Streams durch Setzen der streamid -1 implementieren. Das schau ich mir mal an.

    Edit: Das geht schon mit dem aktuellen Code. "streamid": "-1" oder den ganzen inneren "params": {...} Block weglassen, dann werden alle aktiven, konfigurierten streams angezeigt.

    Paar punkte wären noch cool :

    1. Die duration sollte man auch im JSONRPC Call übergeben können
    2. width und height sollte man auch im JSONRPC Call übergeben können (wenn nicht dann sollte das default verwendet werden)
    3. es sollten mehr Streams als 4 hinterlegt werden können (oder optional die url im JSONRPC Call übergeben, dann hätte ich einen Stream, wo ich jede Kamera verwenden kann)

    Hmm, das stell sich etwas komplexer dar. Im Moment sehe ich noch nicht den Vorteil, die duration, width und height Parameter im JSONRPC Call zu übergeben. Aus meiner Sicht sollten dafür immer die in kodi gesetzten Addon-Einstellungen verwendet werden.

    Mehr als 4 Streams darzustellen dürfte aus Platzgründen schwierig werden. Evtl. könnte man mehr Streams konfigurierbar machen, wovon aber nur max. 4 aktiv sein können. In JSONRPC Call kann man ja auch nicht aktive Stream-IDs angeben.

    4 Mal editiert, zuletzt von Paulemann (12. Oktober 2020 um 23:30)

  • Ein Leckerli für sn00py ;)

    Ich hab eben die Version 1.4.2 auf github hochgeladen. Damit lassen sich zusätzlich zu "streamid" auch noch "url", "user", "password", "width", "height" und "duration" als Parameter im jsonrpc call setzen.

    Bin zwar immer nich nicht vom Nutzen überzeugt, aber die Änderungen waren relativ einfach durchzuführen. Hab es selber noch nicht mit allen Parametern getestet, daher bitte ich um Feedback hier im Thread.

    Falls es gefällt, aktualisiere ich zeitnah auch die Version im kodinerds Repo.

    Update:

    Beim Einspielen der Änderungen in den Master Branch habe ich versehentlich den bereits für Python 3 angepassten Code verwendet und dabei einige Änderungen aus 1.4.1 zurückgesetzt. Da das Addon mit dem für Python 3 angepassten Code bei mir mit Leia seit Monaten stabil läuft und scheinbar auch unter Matrix funktioniert, lass ich den Code so in Master und hab die überschriebenen Änderungen in der Version 1.4.3 wieder nachgetragen. Zum Testen also bitte den aktuellen Code verwenden (Link oben führt eh zum aktuellen master.zip).

    Einmal editiert, zuletzt von Paulemann (13. Oktober 2020 um 23:23)

  • Super danke werde ich heute noch testen :D

    und mit den mehr als 4 Kameras hatte ich eh wie von dir geschrieben gemeint, das ich mehr streams hinterlegen kann, abrer das ist mit url und co nun hinfällig :D

    [eidt] funktioniert danke :D

  • [eidt] funktioniert danke :D

    Prima, danke für die Rückmeldung. Dann werde ich die neue Version in Kürze auch ins kodinerds Repo stellen.

    Einmal editiert, zuletzt von Paulemann (21. Oktober 2020 um 22:58) aus folgendem Grund: Update: Ist seit heute (21.10.) mit Version 1.5.0 im kodinerds Repo

  • Ich hab heute eine spezielle Variante des Addons, "script.securitycam.hd", im Nerdsrepo abgelegt.

    Das ist jetzt kein Ableger für HD-Cams, sondern hiermit ist die Anzeige von max. neun parallelen Camera Feeds möglich. Die Anordnung der Feeds erfolgt entweder in einem vordefinierten Raster oder es lassen sich pro Kamera individuelle Koordinaten für die Positionierung auf dem Bildschirm festlegen. Die Anzeige erfolgt auf einem schwarzen Hintergrund (also nicht mehr transparent) auf einem Koordinatenraster von 1280x720 Bildpunkten.

    Das Addon ist aus einer konkreten Benutzeranfrage entstanden. Evtl. finden es aber auch andere Nutzer interessant.

    Bei der Arbeit an dem Addon sind mir noch ein paar Unschönheiten am "script.securitycam" aufgefallen, weshalb es im Repo auch davon eine aktualisierte Version gibt.

  • Hallo @Paulemann,

    many thanks für Deine Arbeit an dem Addon. Ich bin gerade dabei, mich "freiwillig" auf den Umstieg auf Kodi 19 vorzubereiten, ehe mir das Auto-Update meiner Android-TV-Systeme irgendwann über Nacht meine ganzen Kodi-Installationen zerschießt. Immerhin sind wir jetzt schon bei den RCs und alsbald wird wohl eine final im Playstore landen. Leider sind bislang noch längst nicht alle Addons für Kodi 19 umgesetzt und viele werden es wohl auch gar nicht mehr, wie z.B. der von mir favorisierte Skin Titan MOD. However, jedenfalls bin ich sehr froh, dass Du eine Version für das Security Cam Overlay erstellt hast. Allerdings funktioniert es bei mir nicht. Ich habe die Version aus dem Python3-Branch geladen, aber zunächst lies sie sich gar nicht installieren. Ich habe dann bemerkt, dass dort in der addon.xml noch "<import version="2.26.0" addon="xbmc.python"/>" steht. Ich hab dann daraus "<import version="3.0.0" addon="xbmc.python"/>" gemacht und damit ließ es sich dann installieren. Aber es läuft trotzdem noch nicht. Kann es sein, dass Du um Python3-Branch aktuell die Python2-Version stehen hast? Was muss ich sonst noch anpassen, oder kannst Du nochmals eine funktionsfähige Python3-Version hochladen?

  • Hallo Fantasticn,

    der Python3 Branch war eigentlich nur ein Testbranch, um den Code generell mit Python 3 kompatibel zu machen. Der fertige Code ist mittlerweile in den Masterbranch gemergt, den Du auch über das kodinerds repo runterladen kannst.

    Leider habe ich selber noch kein Kodi 19 System zum Testen (und tue mich auch schwer damit, es zu installieren, da ich darin bisher keine große Veresserung entdecken kann).
    Mangels anderer Rückmeldungen, war ich bisher davon ausgegangen, dass das Addon nach den Anpassungen auf Python 3 auch unter Kodi 19 läuft. Anscheinend sind aber weitere Anpassungen nötig, wie - gem. Deinem Post - in der addon.xml. Welche Fehlermeldung erhältst Du im [definition=9,2]kodi.[definition='1','0']log[/definition][/definition], wenn du das Addon startest? Evtl. läßt sich das Problem eingrenzen oder identifizieren, wenn Du die Fehlermeldung hier postest.

    Edit: Wie ich gerade lese, ist tatsächlich die Zeile "<import version="3.0.0" addon="xbmc.python"/>" in der addon.xml eine Voraussetzung, dass das Addon unter Kodi 19 geladen wird. D.h. selbst wenn der Code prinzipiell unter Python 2 (Kodi 18) und Python 3 (Kodi 19) läuft, müsste man trotzdem zwei Versionen des Addons pflegen, die sich nur in der addon.xml unterscheiden. Es gibt aber wohl einen Workaround, nämlich die entsprechende Zeile ganz aus der addon.xml zu entfernen. Damit wäre das Addon dann unverändert unter Kodi 18 wie unter Kodi 19 lauffähig. Dieser Workaround oder eben die Anpassung der jeweiligen Python Version müsste aktuell noch manuell angewendet werden. Sobald klar ist, welche weiteren Probleme unter Kodi 19 das Starten des Addons verhindern, werde ich den Code auch mit der angepassten addon.xml aktualsieren.

    3 Mal editiert, zuletzt von Paulemann (1. Februar 2021 um 12:30)

  • @Paulemann: Den Loglevel 'LOGNOTICE' gibt es nicht mehr, ändere den mal auf 'LOGINFO'. Wenn Du zudem mit Pfaden arbeitest, dann ist die Methode 'translatePath' von xbmc nach xbmcvfs gewandert.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • @Paulemann: Den Loglevel 'LOGNOTICE' gibt es nicht mehr, ändere den mal auf 'LOGINFO'. Wenn Du zudem mit Pfaden arbeitest, dann ist die Methode 'translatePath' von xbmc nach xbmcvfs gewandert.

    @BJ1: Vielen Dank für die schnelle Info und Hilfe. Da haben sich die Kodi-Entwickler aber diesmal ganz was tolles ausgedacht ;)

    Gut, die Änderungen sind so gesehen nicht wirklich sooo dramatisch, aber deswegen nun immer 2 Versionen eines Addons pflegen zu müssen ist doch ein Aufwand, den vermutlich nicht jeder auf sich nimmt. Ich schau mal, ob ich das irgendwie mit try ... except so abbilden kann, dass ich den Code nicht in 2 Varianten aufteilen muss.

  • Du musst trotzdem die addon.xml für die Python-Abhängigkeiten in zwei Versionen vorhalten und damit auch zwei Addons anbieten:

    • einmal Python 2.26.0 bis Leia
    • dann Python 3.0.0 ab Matrix

    In den Skripten selbst kann man per sys.version_info.major < 3  auf Leia und kleiner testen und die notwendigen Symbole gleich selbst definieren:

    Code
    import sys
    if sys.version_info.major < 3:
        INFO = xbmc.LOGNOTICE
        ...
    else:
        INFO = xbmc.LOGINFO


    Auch der Rest der Anpassungen kann man dann in den If-Else entsprechend unterbringen.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Ich hab auf github einen neuen Branch "matrix" angelegt. Dort sind die Änderungen, so wie @BJ1 vorgeschlagen implementiert. Die Zeile mit "xbmc.python" habe ich aus der addon.xml entfernt. Neue Version ist 1.6.0

    Bei mir lädt und läuft das Aden damit weiterhin unter Leia. Meine Bitte wäre, dass das jemand unter Matrix testet. Sollte es keine weiteren Probleme mit dem Code geben, werde ich das entsprechend in den Master Branch mergen.

  • Bei mir läuft es unter Kodi 19.0 RC1 "Matrix" nun einwandfrei...

    Freut mich zu hören und danke für's Testen. Ich werde dann den Code evtl. noch etwas aufräumen und in den Master Branch mergen.

    Du musst trotzdem die addon.xml für die Python-Abhängigkeiten in zwei Versionen vorhalten und damit auch zwei Addons anbieten:

    • einmal Python 2.26.0 bis Leia
    • dann Python 3.0.0 ab Matrix

    Das ist für mich der springende Punkt. Mit der addon.xml OHNE den Eintrag für xbmc.python scheint das Addon sowohl unter Leia wie Marix zu laufen. Solange die Entwickler das zulassen, würde ich es ehrlich lieber bei einer universellen Version mit diesem Workaround belassen, als nur deswegen 2 Addon Versionen zu pflegen. Problematisch ist das - nach meinem Verständnis - nur im kodinerds Repo, wo dieser Eintrag für die Zuordnung zu den Kodi Versionen genutzt wird.

  • Problematisch ist das - nach meinem Verständnis - nur im kodinerds Repo, wo dieser Eintrag für die Zuordnung zu den Kodi Versionen genutzt wird.

    Was passiert denn beim hochladen ins Nerdsrepo? Dort sollte doch - wenn die Angabe xbmc.python nicht vorhanden ist - das Addon zu Jarvis zugeordnet werden. Ob dann das Addon auch tatsächlich im Addon-Manager in Leia und Matrix angezeigt wird, steht freilich unter einem anderen Stern. Installationen aus einem Zip sind übrigens von Updates im Repo ausgenommen - die werden gepinnt. ,Auch das ist bei Matrix neu.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Was passiert denn beim hochladen ins Nerdsrepo?

    Hab ich noch nicht ausprobiert. Mach ich, sobald ich den Code gemergt habe.

    Ob dann das Addon auch tatsächlich im Addon-Manager in Leia und Matrix angezeigt wird, steht freilich unter einem anderen Stern

    Auch das schau ich mir (für Leia) noch genauer an.Vielleicht kann @fantasticn schon was zu Matrix sagen.

    Installationen aus einem Zip sind übrigens von Updates im Repo ausgenommen - die werden gepinnt. ,Auch das ist bei Matrix neu.

    Was bedeutet "gepinnnt"? Wie gesagt, ich hab mich noch nicht wirklich viel mit Matrix beschäftigt.

  • Was bedeutet "gepinnnt"?

    Der Versionsstand wird "eingefroren" oder "festgenagelt" (das heißt gepinnt), auch wenn in einem Repo mittlerweile eine höhere Version des Addons liegen sollte. Es kann über diesen Weg nicht geupdated werden.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!