Master Lock per GPIO an/abschalten

  • Hallo,

    ich bin echt am verzweifeln! Komme bei meinem Vorhaben auf keinen grünen Zweig.
    Mir fehlt einfach der Ansatz...daher konsoltiere ich euch jetzt mal um rat!

    Folgede Ausgangssituation:
    Odroid C1 mit Android Betriebssystem. Darauf ist Kodi installiert.
    Um unwissende leute, die alles verstellen davon abzuhalten, rumzupfuschen möchte ich die Master-Sperre aktivieren. Soweit so gut.
    Allerdings möchte ich mittels eines GPIO, an dem ein Schlüsselschalter hängt die Sperre umgehen, damit ich nicht jedesmal das Passswort eingeben muss...

    Meine erste idee war es, mittels eines Skriptes einfach die Datei "profiles.xml" zu löschen bzw. im Umkehrschluss eben zu erstellen.
    Darauf hat mich der Wikieintrag: http://kodi.wiki/view/Settings/System#Locked_out.3F gebracht. Hier wird beschrieben, dass man sie löschen oder bearbeiten kann...

    Allerdings kann ich bei meinem System einfach keine "profiles.xml" finden! Daher läuft der Ansatz ins leere!
    Eine andere idee, wo ich da Eingreifen könnte habe ich nicht. Dafür kenne ich mich mit dem Programm zu wenig aus....


    Habt ihr evtl. eine Idee oder habt das schon selbst umgesetzt?


    Vielen Dank!
    Gruß Danie

  • Meine erste idee war es, mittels eines Skriptes einfach die Datei "profiles.xml" zu löschen bzw. im Umkehrschluss eben zu erstellen.

    Ich habe mal die Erfahrung gemacht, das Kodi solche Konfigurationsdateien (wie zB auch die guisettings.xml) nur einmal beim Start ausliest und dann die Daten für die laufende Instanz im Zwischenspeicher hält. Eine Änderung des Inhalts oder die Löschung der Datei wird also nicht ohne Neustart registriert. Ich denke das ist auch bei der profiles.xml der Fall.

    An deiner Stelle würde ich vlt den Ansatz verfolgen, das Masterlock-Setting mit Python über die Json Api mit der Methode Settings.SetSettingValue und der id "masterlock.lockcode" zu de-/aktivieren.

  • Hmm
    also ich blege immer die guisettings.xml mit Datei geschützt. Dann hat niemand Schreibrechte.
    Man kann alles Umstellen und nutzen aber nächsten mal ist alles wieder so wie man es zuvor gelockt hatte.

    Das sperren und entsperren mach ich dann mit einem Applescript. Das könnte man zb auch über die Favoriten starten

    Kinder sei dank ;)

  • Hmm
    also ich blege immer die guisettings.xml mit Datei geschützt. Dann hat niemand Schreibrechte.
    Man kann alles Umstellen und nutzen aber nächsten mal ist alles wieder so wie man es zuvor gelockt hatte.

    Das sperren und entsperren mach ich dann mit einem Applescript. Das könnte man zb auch über die Favoriten starten

    Kinder sei dank ;)


    Hallo.
    Danke erstmal für die Antworten.

    Homeserver:
    wie meinst du das genau? Hast du das etwa schon am laufen? Verstehe nicht so recht, was du sagen möchtest ?(
    Kannst du mir das vielleicht nochmal genauer erklären?
    Scheint ja nach einem Ansatz zu klingen, der tatsächlich schon in der Praxis funktioniert! :)


    Gruß

  • Hi Danie

    es gibt mehrere Dateien im userdata folder von Kodi die für die eingestellen Settings zuständig sind.
    [definition='2','1']advancedsettings[/definition] guisettings profiles favorites um ein paar Beispiele der xml Dateien zu nennen.

    Sobald du deine Kodi komplett fertig eingestellt hast und nicht mehr möchtest das jemand deine Settings "dauerhaft" verändert kannst du die oben genannten Dateien schützen.

    Im Windows ganz einfach. Klick auf die Datei mit rechter Maustaste - Eigenschaften - unter Attribute den Haken für Schreibgeschützt rein setzten.

    Somit kannst du im Kodi alles verstellen und benutzten jedoch können die Änderungen nicht mehr gespeichert werden. DH beim nächsten Kodi start ist alles wieder so wie du es zuvor eingestellt hast.

    Ist jetzt klar was ich meine?
    Und ja bei mir funktioniert das alles sehr gut.

    Ciao ciao

  • Hallo,

    ja, jetzt mach es für mich Sinn! :D

    Aber leider ist das nicht wirklich das, wonach ich suche. Aber eine clevere Lösung!
    Ich will vorwiegend verhindern, dass jemand generell Zugriff auf das Kodi hat (musikwiedergabe/playlisten ändern usw....also wirklich garkeinen Zugriff!)
    Also aus dem Screensaver heraus direkt den Mastercode abfragen. Fehlversuche von mir aus unendlich, damit der jenige was zu spielen hat :)

    Ist der Schlüsselschalter eben betätigt, soll Kodi direkt auf die Home-Oberfläche springen, ohne den Mastercode abzufragen!
    Ist er es nicht, kein Zugang....

    Kann ich hier evtl. direkt über die androidfläche etwas machen?

    Fände ich persönlich sogar besser!

    Gruß Danie

  • Es gibt ein Addon, um schnell(er) zwischen Profilen zu wechseln.
    Nur füllt das auch nicht automatisch das notwendige Passwort aus.

    Interessantes Thema, aber mir fällt da leider auch nichts ein. Man könnte SPMC und Kodi nebeneinander installieren.
    Mit Stellung 0 dann SPMC starten und mit Stellung 1 dann Kodi, während SPMC beendet wird.
    Ist aber alles doppelte Arbeit - und evtl kommen die sich auch in die Quere.

  • Hmm
    jetzt verstehe ich besser.
    Also ich würde mir überlegen über eine Script das Programm Kodi an sich als Prozess einzufrieren und mit einem zweiten das Einfrieren aufzuheben.

    Somit das ganze mehr über das Betriebssystem zu lösen.

    Nur ein Gedanke nebenbei.
    Ciao

  • Hallo,

    es sollte halt optisch etwas ansprechend sein...
    Und wenn der Schlüssel einmal nicht vorhanden ist, möchte ich über Eingabe des Mastercodes dennoch Zugriff erlagen.


    Gibt es im Android auf dem Odroid auch etwas in der Art, wie es bei Handy gibt? Also die Sperre?
    Ich stell mir das Android irgendwie vor, wie beim Handy.

    Also Knopf zum "Bildschirm abschalten" -> erneuter druck schaltet Display wieder ein -> Android fragt nach Entsperrcode -> man kann rumwerkeln....nach x-Sekunden ohne Eingabe soll er dann automatisch wieder in den "sleep" gehen...
    Ist das mit dem Android für den Odroid möglich?

    Fals das nämlich ginge, könnte ich einen Atmega nutzen, der mittels der V-USB-Lib abhängig von der Stellung des Schlüsselschalters eine Tastatur emuliert und eben automatisch die "ziffernfolge" sendet...

    Momentan nutze ich die V-USB-Lib eh schon, um mittels eines Tasters z.B einen Tastendruck von "p" auf der tastatur zu simmuliern
    Dies lässt die Wiedergabe in Kodi dann pausieren...

    Ich bräuchte dann nurnoch einen GPIO am Odroid, der mir den Zustand des Displays ausgibt.
    Also Display "wird aufgeweckt" und Schlüsselschalter ist geschlossen -> "sende" ich sofort die Ziffernfolge für den Code.
    Ist der Schalter offen, unternehme ich eben nix.

    optisch könnt ich das in sofern steuern, dass ich das Backlight des Displays über den Atmega erst (verzögert) einschalte, wenn Android schon auf der Hauptoberfläche ist...
    Wäre ja egal....
    Ist das möglich mit Android für den Odroid oder denke ich bei Android einfach zusehr an Handys?!?


    Hoffe ich habe es einigermaßen verständlich erklären können!
    Gruß Danie

  • Hallo,

    hat keiner mehr einen Tipp?
    Ich hab nochmal etwas gesucht, allerdings weiß ich nicht, wie es mit der umsetzbarkeit aussieht.

    Und zwar könnte ich Monkeyrunner verwenden. Mit dem kann man Android quasi fernsteuern. Sämtliche Events ua. Touch, Pause usw. können so emuliert werden. Ist ursprünlich eigentlich für den automatiseten Softwaretest gedacht.

    Das ganze läuft über die USB Schnittstelle (Device) und die Android debug brdige (ADB).
    Im normalfall kann man per PC die jeweiligen Befehle senden.
    Das wird in meiner Anwendung aber leider nicht gehen.

    Gibt es eine Möglichkeit, über einen Mikrcocontroller die ADB zu bedienen und Monkeyrunner die Keyevents ausfürhren zu lassen?

    Über diese Seite bin ich auf die Idee gekommen:
    http://hannes-schurig.de/16/11/2012/loc…unner/#comments

    Vielen Dank!
    Gruß

Jetzt mitmachen!

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