HTTPMOD - Login an Octoprint

Begonnen von Thomas41587, 12 Januar 2021, 09:45:33

Vorheriges Thema - Nächstes Thema

Thomas41587

Hallo zusammen,

ich versuche mich jetzt seit einiger Zeit daran, über HTTPMOD die API eines Octoprint Plugins anzusprechen. Aber egal wie bekomme ich den Login nicht hin.
Das ist das zugehörige Gerät:
defmod Octoprint_gehaeusetemperatur HTTPMOD http://192.168.1.143/plugin/enclosure/inputs/1 60
attr Octoprint_gehaeusetemperatur userattr sid01Data
attr Octoprint_gehaeusetemperatur reAuthRegex Bitte einloggen
attr Octoprint_gehaeusetemperatur sid01Data login-username=MeinUserName&login-password=MeinSicheresPasswort


Den Quellcode vom Octoprint login habe ich hierfür ebenfalls unter die Lupe genommen:
<form class="form-signin">
            <h2 class="form-signin-heading" data-test-id="login-title">Bitte einloggen</h2>

            <div id="login-error" class="alert alert-error" data-test-id="login-error">Username oder Passwort inkorrekt.</div>
            <div id="login-offline" class="alert alert-error">Der Server ist offline. <a id="login-reconnect" href="javascript:void(0)">Erneut verbinden...</a></div>

            <input type="text" id="login-user" data-test-id="login-username" class="input-block-level" placeholder="Username" autofocus>
            <input type="password" id="login-password" data-test-id="login-password" class="input-block-level" placeholder="Passwort">
            <span class="pull-right"><small><a href="https://faq.octoprint.org/forgotten-password" id="login-forgotpassword" target="_blank" tabindex="-1">Passwort vergessen?</a></small></span>
            <label class="checkbox">
                <input type="checkbox" id="login-remember" data-test-id="login-remember-me"> Login merken
            </label>
            <button class="btn btn-block btn-large btn-primary" id="login-button" data-test-id="login-submit" type="submit">Einloggen</button>
        </form>

Ich habe hier auch schon für das Attribut "sid01Data" alle Möglichkeiten (login-user, login-username, Username sowie die dazugehörigen Teile fürs Passwort) durchprobiert - ohne Erfolg. Das Ergebnis ist immer ein "HTTP/1.1 403 FORBIDDEN".
Wäre super, wenn mir hier jemand auf die Sprünge helfen könnte. Das sind meine ersten Gehversuche mit HTTPMOD. Habe auch einige Themen zu dem Modul durchgelesen (wodurch ich überhaupt erst auf das Attribut "sid01Data" gestoßen bin), allerdings half das nicht sehr viel weiter.

betateilchen

Octoprint kannst Du doch per MQTT anbinden? Das funktionierte bei mir damals zuverlässiger als das HTTPMOD Geraffel.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Thomas41587

OctoPrint an sich spreche ich über das vorhandene OctoPrint Modul an. Das ist kein Problem. Allerdings nutze ich zusätzlich das Enclosure Plugin, welcher mir erlaubt verschiedene Lüfter zu Steuern oder die Gehäusetemperatur zu überwachen. Dieses Enclosure Plugin hat eine API, die man per http ansprechen muss.

amenomade

Mach die Browser Tools auf (idR mit F12), geh auf dem Netzwerk Reiter, und guck die Requests, die gesendet werden.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus