Beiträge von Ingo-FP-Angel

    v1.0.14 bringt folgende Änderungen

    • Auf oberster Ebene im Addon kann man jetzt eine Liste aller Genres öffnen, eins auswählen + dann alle Videos aus diesem Genre browsen + abspielen (von rantan-plan)
    • Nach längerer Zeit der Inaktivität läuft der Login ab und man muss sich wieder neu anmelden. Bei dem Prozess werden jetzt die letzte Bibliothek sowie Username + Password vorbelegt (von rantan-plan)
      • das Passwort wird nur vorbelegt, wenn man das per Editor in die "settings.xml" (analog zum "username" ein "password" ergänzen) einfügt hat, das Addon selbst speichert niemals das Passwort im Klartext in den Settings ab; wer das Risiko eingehen mag, kann das jetzt aber selbst machen
    • Das Erneuern des Access Tokens war bisher zu übereifrig und hat öfter stattgefunden als nötig; das passiert jetzt nur noch dann, wenn das Token tatsächlich abgelaufen ist (als User merkt man davon aber nichts)

    Ich weiß nicht, ob der GitHub User rantan-plan auch hier aktiv ist (möglicherweise Rantanplan-1?!?), aber auch hier nochmal danke für die beiden erstgenannten Features und den Hinweis auf das Problem mit dem Token Refresh.

    Jemand hat einen Pull Request gestellt, um einen Filter nach Genres einzubauen. Beim Testen der Änderungen ist mir aufgefallen, dass bei langer Inaktivität der automatische Token-Refresh in einen Fehler gelaufen ist und man als User nur so eine generische Error Message bekommt.

    Das hab ich in 1.0.13 gefixt, in dem Fall kommt jetzt ein Hinweis, dass man sich bitte nochmal neu einloggen soll.

    Der Genre-Filter kommt dann hoffentlich demnächst.

    Ulr1ch Wo das Log zu finden ist steht hier: Wie aktiviere ich Debug Logging? - Wo finde ich das Kodi.log? - Wie lade ich die Datei ins Forum? -Sammelthread-

    kexplorer Diese Log-Zeilen stammen von Kodi selbst oder Python Paketen, für etwas mehr Kontext wäre es aber gut, auch Output aus meinem Plugin mit zu posten. Dazu ist es wahrscheinlich nötig, das Debug-Log zu aktivieren. Dann sollte ich sehen können, welcher konkrete Aufruf nicht geklappt hat.

    Und mögt Ihr mir vielleicht noch verraten, welche Bib Ihr nutzt und welcher konkrete Film nicht geht? Mag sein, dass alle Bibs und alle Filme betroffen sind, aber wir alle kennen ja Murphys Law und vielleicht picke ich zum Reproduzieren genau die Medien raus, die noch gehen. ;)

    Nachtrag: nur um ein generelles Problem beim Anbieter auszuschließen, über die Webseite lassen sich die Sachen aktuell abspielen?

    Vielleicht ist das nicht die Version, die Kodi braucht.

    Sieht so aus, als gäbe es auch ein "libpcre3-dev", vielleicht hilft das?

    Nachtrag: vielleicht ist es schon das richtige Paket, aber das Build-Skript findet die Dateien aus irgendwelchen Gründen nicht. Vielleicht muss man mit "export PCRE_LIBRARY=..." und "export PCRE_INCLUDE_DIR=..." die Pfade angeben, wo die ".so" bzw. ".h" Dateien aus "libpcre2-dev" hin installiert wurden.

    Die README ist leider nicht so aufgebaut, dass man das einfach so in ein Terminal pasten kann.

    Zum Beispiel folgender Teil: gcc (>= 7) | gcc-7

    Das "(>= 7)" bedeutet, dass das Paket mit Namen "gcc" mindestens die Version 7 haben muss, aber das "(>= 7)" darf man dann nicht eingeben beim Installieren mit apt.

    Ebenso das " | " darf nicht eingegeben werden. Das ist nur eine Kurzschreibweise für "oder" und bedeutet, entweder das Paket "gcc" installieren (wenn das mindestens Version 7 hat) oder "gcc-7" (wenn es das gibt, aber dann ist klar, dass es genau die Version 7 ist; die Paketnamen unterschiedlicher Distributionen müssen halt nicht immer zwingend gleich lauten).

    Also wenn da als Abhängigkeit "gcc (>= 7) | gcc-7" steht, muss man je nach Distribution "sudo apt install gcc" oder "sudo apt install gcc-7" verwenden.

    Dasselbe Spiel muss man dann für alle Einträge auf der Seite machen, wo es Klammern oder das Pipe-Zeichen gibt. Und ich denke, die Kommas müssen auch alle weg.

    Nachtrag: auf https://github.com/xbmc/xbmc/blob…encies-manually steht eine Zeile, die man so komplett rauskopieren kann, das würde ich mal probieren.

    Uni-Bibliotheken nutzen gerne mal Shibboleth (mit Username/Passwort) als Login-Methode oder einen Login basierend auf der IP, die aus dem Uni-Netz kommen muss.

    v1.0.11 unterstützt jetzt zumindest den IP basierte Login.

    Ob ich Shibboleth zukünftig einbauen kann, weiss ich leider nicht. Es sieht mir auf dem ersten Blick recht anders aus als OpenID. Und es würde auf jeden Fall wieder davon abhängen, dass jemand für mich den Netzwerktraffic analysiert/mir zukommen lässt, der einen entsprechenden Zugang besitzt.

    curl: (1) Received HTTP/0.9 when not allowed

    Ok, das sieht insofern "gut" aus, als dass es eine echte Antwort vom Drucker gegeben hat. Die "gefällt" curl mit Standardeinstellungen nur nicht.

    Der Drucker spricht offenbar eine veraltete Version des HTTP Protokoll, das kann man aber explizit mit `--http0.9` erlauben:

    curl.exe --http0.9 --location --request POST 'http://192.168.178.9:8899/command' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode '~M105'

    Die Fehlermeldungen aus der cmd deuten für mich darauf hin, dass die cmd das Kommando anders parst und deshalb nicht mit genau dieser Syntax klar kommt. "URL rejected: Port number was not a decimal number between 0 and 65535" heisst ja, dass es die cmd nicht hinbekommen hat, die "8899" als Portnummer zu erkennen bzw. das "Could not resolve host: application" deutet drauf hin, dass die cmd das 'Content-Type: application/x-www-form-urlencoded' für die URL hält. Damit würde ich mich nicht weiter auseinandersetzen, sondern bei der PowerShell bleiben.

    Wieder was gelernt, dass es eine `curl.exe` auch unter Windows gibt, war mir nicht bewusst. Würde ja bedeuten, die Beispiele, die man so im Netz findet, sollten in der PowerShell auch funktionieren, wenn man `curl` durch `curl.exe` ersetzt, so dass eben nicht der Alias genutzt wird (ich hab verstanden, dass es am Ende mit anderen Tools umgesetzt werden soll; nur fürs Gesamtverständnis).

    Und ja, fhem kenne ich nicht und würde ich mich jetzt auch nicht einarbeiten wollen. ;)

    Mit Firefox würde ich das ganze definitiv nicht ausprobieren, wenn man da was in die URL Zeile packt, wird da ja immer ein GET Request ohne Request Body draus. Nachdem, was ich hier so gelesen habe, braucht es aber POST plus Body. Damit ist FF m.E. raus (ja, man kann natürlich auch per JavaScript und fetch in der Browser Konsole arbeiten, wenn man das will).

    Zur Lösungsfindung fände ich es hilfreich, sich auf einen Weg zu einigen.

    Ich würde denken, folgendes sollte funktionieren:

    curl.exe --location --request POST 'http://192.168.178.9:8899/command' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode '~M105'

    Zumindest sollte es dann sinnvollere Ausgaben geben, weil die Syntax korrekt ist.

    Das schickt dann per POST das Temperatur-Kommando "~M105" an den allgemeinen "command" Endpunkt.

    Wobei ich natürlich nicht sagen und mangels Hardware nicht testen kann, ob "--location" (zum Folgen eventueller Redirects) und das URL-Encoding überhaupt nötig ist, d.h. ob nicht auch schon das hier reicht:

    curl.exe --request POST 'http://192.168.178.9:8899/command' --header 'Content-Type: text/plain' --data '~M105'

    Invoke-WebRequest : Es wurde kein Positionsparameter gefunden, der das Argument "--request" akzeptiert.

    Dieser Fehler kommt daher, dass Du offenbar die PowerShell (unter Windows?) benutzt. Da ist "curl" nur ein Alias auf "Invoke-WebRequest". Und das ist wenig direkt kompatibel zu dem Original "curl".

    Aber für sowas gibt es Konverter, z.B. https://curlconverter.com/powershell-webrequest/ und der spuckt folgendes aus:

    Code
    Invoke-WebRequest -Uri "http://<printer_ip>/command" `
        -Method Post `
        -ContentType "application/x-www-form-urlencoded" `
        -Body "~M105"

    Alternativ kannst Du in der WSL unter Windows mit den echten Linux-Tools arbeiten.

    v1.0.9 nutzt jetzt das Refresh Token, um ein abgelaufenes Access Token zu erneuern.

    Vielleicht finden wir ja durch Beobachtung heraus, wie lange so ein Refresh Token nutzbar ist, und ob es doch noch nötig wird, dass Passwort abzuspeichern. Würde das jetzt erstmal ohne Passwort-Speichern lassen.

    Aleksander: ich bin mir nicht zu 100% sicher, ob das so auch mit der Berliner Bib funktioniert wie gedacht. Gib gerne Feedback.

    Ja, es gibt ein Refresh Token. Es war auch schon eine Funktion vorbereitet, um das zu nutzen. Wurde bisher noch nicht aufgerufen.

    Man sieht dem Refresh Token nur dummerweise nicht an, wie lange das gültig ist bzw. eine bestehende Session damit erneuert werden kann.

    Und bei den Bibliotheken mit externem Login bin ich mir nicht sicher, ob ich den Token Endpoint kenne, der das Refresh Token fressen würde. Und testen/analysieren kann ich das nicht selbst, bei meiner Bib wird das einfachere Login-Verfahren benutzt.

    Ist sicher alles kein Hexenwerk, aber eben auch nicht mal so eben nebenbei gemacht.