OctoPrint 3D und Homematic

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: OctoPrint 3D und Homematic

Beitrag von Fonzo » 05.01.2019, 10:21

Arthy hat geschrieben:
04.01.2019, 23:23
ich steuere meinen 3D Drucker auch über Octoprint und würde gerne ein paar Sachen am liebsten auch in der Visualisierung über Neo realisieren. Man könnte hier den Fortschritt, Zeit bis Ende usw. schön in die eigene Visu einbinden. Hier müsste man aber irgendwie die entsprechenden Werte in die CCU reinholen. Wie könnte man es realisieren? Hat das vielleicht schon jemand gemacht?
z.B. bei NEO mit IP-Symcon und NEO Plugin IP-Symcon und Auslesen der Werte des OctoPrint. Alternativ schreibst Du Dir analog etwas für die CCU.

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Re: OctoPrint 3D und Homematic

Beitrag von Arthy » 05.01.2019, 10:47

Hallo,

Dankeschön für die Antwort. Symcon habe ich leider nicht und leider auch absolut keine Idee, wie ich das sonst mit der CCU umsetzten könnte. Also falls jemand da irgendwelche Ideen hat immer her damit. Leider bin ich da ein ziemlicher Newbie.

Gruß
Arthy

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: OctoPrint 3D und Homematic

Beitrag von chka » 05.01.2019, 11:01

verstehe nicht wieso es immer der Hinweis auf ipsim sein muss!

@Arthy kannst du mal bitte den browser Inhalt zukommen lassen wenn du die api aufrufst:

http://*URL*:5000/api/job?apikey=*API-Code*

ich habe leider keinen laufenden 3d Drucker mehr
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Benutzeravatar
stan23
Beiträge: 2030
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 576 Mal
Danksagung erhalten: 335 Mal
Kontaktdaten:

Re: OctoPrint 3D und Homematic

Beitrag von stan23 » 05.01.2019, 14:05

Hi,
ich spiele gerade nebenbei mit OctoPrint und habe das schnell getestet.
Auf Port 5000 ist nix, aber auf Port 80:

Code: Alles auswählen

{
    "job": {
        "averagePrintTime": null,
        "estimatedPrintTime": null,
        "filament": null,
        "file": {
            "date": 1546692355,
            "display": "Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "name": "Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "origin": "local",
            "path": "Tronxy_Parts/Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "size": 661061
        },
        "lastPrintTime": null,
        "user": "dummy"
    },
    "progress": {
        "completion": 91.83585175951993,
        "filepos": 607091,
        "printTime": 1038,
        "printTimeLeft": 121,
        "printTimeLeftOrigin": "estimate"
    },
    "state": "Printing"
}
Und nach Fertigstellung:

Code: Alles auswählen

{
    "job": {
        "averagePrintTime": 1121.5881252288818,
        "estimatedPrintTime": 537.8634935465143,
        "filament": {
            "tool0": {
                "length": 764.2405100000005,
                "volume": 1.775729582177155
            }
        },
        "file": {
            "date": 1546692355,
            "display": "Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "name": "Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "origin": "local",
            "path": "Tronxy_Parts/Bed_Leveling_Adjustment_Nut_P802E_1mult.gcode",
            "size": 661061
        },
        "lastPrintTime": 1121.5881252288818,
        "user": "dummy"
    },
    "progress": {
        "completion": 100.0,
        "filepos": 661061,
        "printTime": 1122,
        "printTimeLeft": 0,
        "printTimeLeftOrigin": null
    },
    "state": "Operational"
}
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: OctoPrint 3D und Homematic

Beitrag von chka » 05.01.2019, 14:35

Ungetestet, es muss noch zusätzlich die Systemvariable octoprint_printTimeLeft und octoprint_printTime angelegt werden.
Ich denke das die Werte von printTime/Left in ms sind und noch umgerechnet werden müssen
load tclrega.so

# Aufruf und Erstellung der Datei
# ===============================
puts "Abfrage der Daten:"
set url 192.168.178.25
set api 2DE83FAD0F1D4018B48346804F02C7F5

set joburl http://$url:5000/api/job?apikey=$api

puts "Job"
exec /usr/bin/wget -q -O /usr/local/addons/octoprint/job.html $joburl


set f [open "/usr/local/addons/octoprint/job.html"]
set input [read $f]
close $f


# Werte aus Datei auslesen
# ========================
puts "Lese Were aus"
regexp {\"state\": \"(.*?)\"} $input dummy state
regexp {\"completion\": (.*?)\,} $input dummy completion
regexp {\"printTime\": (.*?)\,} $input dummy printTime
regexp {\"printTimeLeft\": (.*?)\,} $input dummy printTimeLeft

set rega_cmd ""
append rega_cmd "var w0 = dom.GetObject('octoprint_status');"
append rega_cmd "w0.State('$state');"
append rega_cmd "var w1 = dom.GetObject('octoprint_completion');"
append rega_cmd "w1.State('$completion');"
append rega_cmd "var w2 = dom.GetObject('octoprint_printTime');"
append rega_cmd "w2.State('$printTime');"
append rega_cmd "var w3 = dom.GetObject('octoprint_printTimeLeft');"
append rega_cmd "w3.State('$printTimeLeft');"

rega_script $rega_cmd
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Re: OctoPrint 3D und Homematic

Beitrag von Arthy » 06.01.2019, 02:00

Hallo Leute,

bin das Wochenende leider nicht da und konnte erst jetzt sehen, dass neue Benachrichtigungen vorhanden sind. Finde ich echt super, die Vorschläge. Wusste gar nicht, dass man bei Octoprint auch die Sachen über wahrscheinlich json Datei erhält. Genial. Chka, du hast jetzt eben aus dem Ärmel ein Script geschüttelt - Respekt! Hilf mir bitte, wie ich ihn einsetzten muss. Normalerweise müsste ich doch jetzt entsprechende Systemvariablen vom Typ Zahl anlegen sowie ein Skript in bestimmten Abständen immer durchlaufen lassen, oder?
Vielen Dank nochmal

Gruß
Arthy

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: OctoPrint 3D und Homematic

Beitrag von chka » 06.01.2019, 09:47

du musst die zwei aus dem Start Post und die 2 neuen anlernen,
danach das script auf die CCU mittels sftp legen am besten in diesen Ordner: /usr/local/addons/octoprint/
dem Ordner volle rechte geben
mittels cuxd das script ausführen: viewtopic.php?f=31&t=28443#p352667
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Re: OctoPrint 3D und Homematic

Beitrag von Arthy » 15.02.2019, 00:44

Hallo chka,

wollte nur nochmal Danke sagen für die Hilfe. Habe es genauso umgesetzt und aktualisiere es mittels CUxD Timers alle 60 Sekunden, wenn der Drucker an ist. Nur eine kleine aber wichtige Anmerkung: man muss in deinem Skript unbedingt den Port 80 auswählen anstatt den 5000er. Ansonsten läuft alles ohne Probleme. Eine Frage hätte ich noch, wie schon von dir vermutet sind die Zeiten in Sekunden. Kannst du mir vielleicht erklären, was ich bei deinem Skript anpassen müsste um die Zeit evtl. in XX h YY min darstellen könnte? Wäre super.
Danke

Gruß
Arthy

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Re: OctoPrint 3D und Homematic

Beitrag von Arthy » 20.02.2019, 20:23

Hallo chka,

könntest du mir helfen wie ich in dem tcl Skript die printTime und printTimeLeft direkt in hh:mm:ss Format an die Systemvariablen übergeben kann. Normalerweise könnte man das mit den beiden unteren Zeilen in einem zusätzlichen Programm auf der CCU umsetzen. Kann man es direkt in dem TCL Skript realisieren?

Code: Alles auswählen

dom.GetObject (ID_SYSTEM_VARIABLES).Get ("octoprint_endTimeTest").State ((localtime+Laufzeit).Format ("%H:%M:%S") );
dom.GetObject (ID_SYSTEM_VARIABLES).Get ("octoprint_printTimeLeftTest").State ((Laufzeit.ToTime () -3600).Format ("%H:%M:%S") );
Wäre echt super.

Vielen Dank
Arthy

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: OctoPrint 3D und Homematic

Beitrag von chka » 20.02.2019, 20:25

probiere es aus, ich bin kein tcl Spezialist, ersetze einfach die passende teil und versuche es aus.
wie ich oben geschrieben habe, läuft bei mir kein octopi mehr
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“