Octoprint: Python Script mit Button ausführen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Ramset, 4. August 2019 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 4. August 2019
    Aloa,

    Ich nutze für meinen 3D Drucker Octoprint und habe eine LED Beleuchtung die ich mit dem Knopf in Octoprint Ein und Ausschalten will. Das Script funktioniert und sonst ist alles bereit.
    Mein Problem:
    Die LED Beleuchtung möchte ich mit einem Knopf schalten und dafür habe ich in der control.jinja2 Datei einen Knopf hinzugefügt über Copy&Paste und versucht mein Python Script damit irgendwie zu Starten.

    Der Button ganz oben soll das script ausführen allerdings habe ich keine Ahnung wie ich das hier machen soll. (Bin kein Programmierer oder sowas)

    Auszug:

    <h1>{{ _('General') }}</h1>
    <div>
    <button class="btn btn-block control-box" data-bind="enable: isOperational() && !isPrinting() && loginState.isUser(), click: function() { "/home/pi/OctoPrint/script/led.py"}) }">{{ _('Licht an /15 Sek') }}</button>
    <button class="btn btn-block control-box" data-bind="enable: isOperational() && !isPrinting() && loginState.isUser(), click: function() { $root.sendCustomCommand({type:'command',command:'M18'}) }">{{ _('Motors off') }}</button>
    <button class="btn btn-block control-box" data-bind="enable: isOperational() && loginState.isUser(), click: function() { $root.sendCustomCommand({type:'command',command:'M106 S255'}) }">{{ _('Fan on') }}</button>
    <button class="btn btn-block control-box" data-bind="enable: isOperational() && loginState.isUser(), click: function() { $root.sendCustomCommand({type:'command',command:'M106 S0'}) }">{{ _('Fan off') }}</button>
    </div>
    </div>

    Ich hoffe ich habe alle wichtigen Infos genannt, falls nicht fragt nur.

    LG
    Ramset
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 4. August 2019
    Den Pfad zum py angeben bringt da glaub nichts... du musst das eher analog machen wie die anderen Buttons:

    $root.sendCustomCommand({type:'command',command:'NAME unter der das Script integriert wird' } )

    Dein Python script könnte also wohl in irgend einer Config ebenfalls ein Kürzel haben? wie zb der FAN als M106 ?

    der zweite wert ist dann entweder S255 für 1 oder S0 für 0 damit wird der Ausgang wo die LED dran hängt gesteuert ebenso wie der FAN vermute ich mal. Du müsstest nur rausfinden unter welchem M123 kürzel sich die Ansteuerung zur LED befindet.

    das ganze ist wohl von octaprint vorgegeben also kein normales javascript.
     
  4. #3 4. August 2019
    Damit das ganze für euch mehr Sinn macht vll noch folgende Info:
    Das Python Script steuert einen GPIO Pin welcher dann für 15 Sekunden geschaltet wird. Dieser PIN schaltet dann ein Relai und das die LED

    Ich in meinem Leichtsinn hätte es eben schön gefunden irgendwie mit dem Knopf das Script ausführen zu können.
    Idealerweise irgendwie in Octoprint integriert wo alle anderen Steuerungen für den 3D Drucker auch drin sind.
    Diese M501 und andere M... sind Steuerkommandos für den Drucker um zb den Lüfter ein/aus oder irgendwelche Bewegungen auszuführen usw.
    Bezüglich Sicherheit: Das Teil ist nicht vom Internet erreichbar (Nur über mich über einen VPN)
     

  5. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Octoprint Python Script
  1. Antworten:
    4
    Aufrufe:
    1.063
  2. Antworten:
    2
    Aufrufe:
    4.037
  3. Antworten:
    7
    Aufrufe:
    2.212
  4. Antworten:
    3
    Aufrufe:
    347
  5. Antworten:
    0
    Aufrufe:
    600