Autor Thema: Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper  (Gelesen 2981 mal)

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Ich habe meinen 3D-Drucker kürzlich "geklippert"  und Octoprint durch Mainsail und Moonraker ersetzt.
Bisher hatte ich ihn über das OctoPrint-Modul an FHEM angebunden und konnte so den Status in FHEM sehen.
Jetzt überlege ich, wie ich das mit Mainsail und Moonraker mache und sehe zwei Möglichkeiten:

1. Moonraker stellt ja einen MQTT-Client zur Verfügung, über den ich das machen könnte. Ich habe eh einige MQTT-Devices laufen.
2. Moonraker hat eine umfangreiche HTTP API, die ich mit HTTPMOD nutzen könnte.

Gibt es schon irgendwelche Erfahrungen zu diesem Thema?
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline erotikbaer

  • Full Member
  • ***
  • Beiträge: 210
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #1 am: 11 Februar 2022, 18:09:46 »
Hi,
ich bin auch gerade auf der Suche wie ich den Klipper Status zu Fhem oder noch besser direkt per pushover an meine clients bekomme.
Hast du irgendeinen Weg gefunden?

Gruß Christian

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #2 am: 11 Februar 2022, 18:15:12 »
Zitat
Hast du irgendeinen Weg gefunden?
Ich habe es mit MQTT gemacht. So sieht der Eintrag in der moonraker.conf aus:
[mqtt]
address: XXX.XXX.XXX.XXX
port: 1883
username: XXXXXX
password: XXXXX
mqtt_protocol: v3.1.1
enable_moonraker_api: True
status_objects:
    webhooks
    extruder=temperature
    heater_bed=temperature
    fan=speed
default_qos: 0
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline erotikbaer

  • Full Member
  • ***
  • Beiträge: 210
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #3 am: 11 Februar 2022, 18:25:16 »
ok super, danke dir.
hast du eine idee wie man den druckfortschritt in prozent bekommen könnte? und im idealfall noch den dateinamen der gcode?

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #4 am: 11 Februar 2022, 18:29:56 »
Hier müsste es drinstehen:

https://moonraker.readthedocs.io/en/latest/printer_objects/

Einfach noch zusätzlich im Abschnitt "status_objects:" einfügen.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline erotikbaer

  • Full Member
  • ***
  • Beiträge: 210
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #5 am: 11 Februar 2022, 18:31:07 »
danke dir, habs gerade hinbekommen :)

Offline pula

  • Sr. Member
  • ****
  • Beiträge: 854
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #6 am: 25 März 2022, 14:22:44 »
Hi!
bin auch grade von octoprint auf fluidd umgestiegen.
könntet ihr so nett sein und hier den mqtt-abschnitt der moonraker.conf teilen?
ich würde gerne von den print_stats gerne nur ausgewählte objekte per mqtt senden, bin aber wegen der notation unsicher.
ist auch blöd zum testen, weil dazu ein druck gestartet werden muss ;-)
danke im voraus und cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #7 am: 25 März 2022, 14:30:25 »
So sieht meine aus:
[mqtt]
address: XXX.XXX.XXX.XXX
port: 1883
username: XXXXXX
password: XXXXXX
mqtt_protocol: v3.1.1
enable_moonraker_api: True
status_objects:
    webhooks
    extruder=temperature
    heater_bed=temperature
    fan=speed
default_qos: 0
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline pula

  • Sr. Member
  • ****
  • Beiträge: 854
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #8 am: 25 März 2022, 14:43:34 »
@JWRU:
Danke! Die ist ziemlich straight forward :-)
Aber genau die Temperaturen möchte ich nicht drin haben, weil sie mir den mosquitto vollspammen...
Ich hätte es so probiert, tut aber nicht (und in der moonraker.log seh ich dazu auch nix):
instance_name: fluidd
status_objects:
    webhooks
    print_stats=state
    print_stats=filename
    print_stats=total_duration
    print_stats=print_duration
    print_stats=message

Ich vermute, daß die Notation nicht richtig ist, aber wissen tu ich es noch nicht...
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #9 am: 25 März 2022, 14:50:09 »
Zitat
Aber genau die Temperaturen möchte ich nicht drin haben, weil sie mir den mosquitto vollspammen...
Dafür habe ich im FHEM-Device "event-min-interval" gesetzt.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline pula

  • Sr. Member
  • ****
  • Beiträge: 854
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #10 am: 25 März 2022, 14:53:04 »
Dafür habe ich im FHEM-Device "event-min-interval" gesetzt.
Gute Idee! Der mosquitto selber wird aber dabei trotzdem zugespammt :-(
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

Offline JWRu

  • Full Member
  • ***
  • Beiträge: 426
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #11 am: 31 März 2022, 09:26:09 »
Zitat
Ich hätte es so probiert, tut aber nicht (und in der moonraker.log seh ich dazu auch nix):
"print_stats" funktioniert nur, wenn eine [virtual_sdcard] in der Klipper printer.cfg definiert ist und von dieser auch gedruckt wird.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon-Sensoren; TFA-Sensoren; Steuerung Viessmann-Heizung; Arduinos für Strom-, Wasser-, Gaszähler, Rauchmelder und FI-Schutzschalter

Offline rspecht

  • Jr. Member
  • **
  • Beiträge: 69
Antw:Anbindung 3D-Drucker an FHEM mit Mainsail/Moonraker/Klipper
« Antwort #12 am: 22 August 2022, 13:12:31 »
Hallo Zusammen,

damit mir mein Mosquito nicht zugespamt wird habe ich nun die API von Moonraker genutzt. Hier als Info:
defmod JSON_3DDrucker1_Stats1 JsonMod http://ip1.2.3.4/printer/objects/query?webhooks&print_stats&heater_bed&temperature_sensor%20chamber&extruder=target,temperature,power
attr JSON_3DDrucker1_Stats1 interval * * * * *
attr JSON_3DDrucker1_Stats1 readingList complete()
attr JSON_3DDrucker1_Stats1 room 3D Drucker
attr JSON_3DDrucker1_Stats1 stateFormat result.status.heater_bed.temperature °C, result.status.temperature_sensor_chamber.temperature °C, result.status.print_stats.state

Ach und als Webcmd kann man auch GCodes, Macros usw. senden:
http://ip1.2.3.4/printer/gcode/script?script=M109%20S250

Mehr Infos mit: /printer/objects/list

Viel Spaß damit :)



Tante Edit:
Hier noch das Device zum Steuern der Makros:
defmod HTTPMOD_3DDrucker1_Ctrl1 HTTPMOD none 0
attr HTTPMOD_3DDrucker1_Ctrl1 room 3D Drucker
attr HTTPMOD_3DDrucker1_Ctrl1 set01Name Change_ABS
attr HTTPMOD_3DDrucker1_Ctrl1 set01NoArg 1
attr HTTPMOD_3DDrucker1_Ctrl1 set01URL http://ip1.2.3.4/printer/gcode/script?script=CHANGE_ABS
attr HTTPMOD_3DDrucker1_Ctrl1 set02Name Change_PLA
attr HTTPMOD_3DDrucker1_Ctrl1 set02NoArg 1
attr HTTPMOD_3DDrucker1_Ctrl1 set02URL http://ip1.2.3.4/printer/gcode/script?script=CHANGE_PLA
attr HTTPMOD_3DDrucker1_Ctrl1 set03Name Preheat_Bed
attr HTTPMOD_3DDrucker1_Ctrl1 set03NoArg 1
attr HTTPMOD_3DDrucker1_Ctrl1 set03URL http://ip1.2.3.4/printer/gcode/script?script=PREHEAT_BED
attr HTTPMOD_3DDrucker1_Ctrl1 webCmd Change_ABS:Change_PLA:Preheat_Bed
« Letzte Änderung: 23 August 2022, 16:16:17 von rspecht »
Informativ Informativ x 1 Liste anzeigen