FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Thomas41587 am 12 Januar 2021, 09:45:33

Titel: HTTPMOD - Login an Octoprint
Beitrag von: Thomas41587 am 12 Januar 2021, 09:45:33
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.
Titel: Antw:HTTPMOD - Login an Octoprint
Beitrag von: betateilchen am 12 Januar 2021, 10:03:54
Octoprint kannst Du doch per MQTT anbinden? Das funktionierte bei mir damals zuverlässiger als das HTTPMOD Geraffel.
Titel: Antw:HTTPMOD - Login an Octoprint
Beitrag von: Thomas41587 am 12 Januar 2021, 10:15:51
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.
Titel: Antw:HTTPMOD - Login an Octoprint
Beitrag von: amenomade am 12 Januar 2021, 22:42:17
Mach die Browser Tools auf (idR mit F12), geh auf dem Netzwerk Reiter, und guck die Requests, die gesendet werden.