Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Bambu lab 3d Drucker MQTT Integration

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Bambu lab 3d Drucker MQTT Integration

Scheduled Pinned Locked Moved Skripten / Logik
121 Posts 9 Posters 30.7k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    baeri
    wrote on last edited by
    #110

    Hallo zusammen,

    danke für die tolle Anleitung von @djalexz !!
    Damit hab ich es sogar geschafft, als absoluter NodeRed DAU den X1C-Status in den ioBroker zu bekommen.

    Ein "Problem" habe ich noch. Der Drucker wird bei mir immer als offline angezeigt. Hat jemand eine Idee, woran das liegen könnte?

    Ich habe auch mal einen Adapter-Request gemacht, vielleicht findet sich ja jemand, der das ganze in einen Adapter adaptieren kann (schöner Satz :D ) - vielleicht hilft ja ein Like von dem ein oder anderen, dass sich jemand findet: https://github.com/ioBroker/AdapterRequests/issues/829

    DutchmanD 1 Reply Last reply
    0
    • D Offline
      D Offline
      dadonali
      wrote on last edited by
      #111

      Mal eine Frage zu diesem Github Eintrag:

      https://github.com/greghesp/ha-bambulab

      Bildschirm­foto 2023-03-27 um 18.30.40.png

      Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.

      Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.

      D DutchmanD 2 Replies Last reply
      0
      • D Offline
        D Offline
        djalexz
        wrote on last edited by djalexz
        #112

        Hallo zusammen,

        ich hab nochmal bisschen was gebastelt.
        Hiermit könnt ihr den Drucker steuern.
        Verwendung auf eigene Gefahr

        20659510-8484-4418-b2f8-ec9d704f4f7e-image.png

        Die MQTT Node muss entsprechend angepasst werden.

        [
            {
                "id": "e4deb3c0f6038918",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Druck stoppen",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"stop\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 460,
                "y": 1000,
                "wires": [
                    [
                        "896709af54cf95f3"
                    ]
                ]
            },
            {
                "id": "d719c311cd5fe8ec",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 210,
                "y": 1000,
                "wires": [
                    [
                        "e4deb3c0f6038918"
                    ]
                ]
            },
            {
                "id": "da8e98a7bcfc4791",
                "type": "mqtt out",
                "z": "9582121ff81174a6",
                "name": "bambu-mqtt-out x1c",
                "topic": "device/Deine-Seriennummer/request",
                "qos": "1",
                "retain": "false",
                "respTopic": "",
                "contentType": "",
                "userProps": "",
                "correl": "",
                "expiry": "",
                "broker": "84f61d394ba2ab34",
                "x": 360,
                "y": 1520,
                "wires": []
            },
            {
                "id": "c23cf05567e62a0d",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Druck pausieren",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"pause\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 460,
                "y": 1080,
                "wires": [
                    [
                        "896709af54cf95f3"
                    ]
                ]
            },
            {
                "id": "698ef4715c618988",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 210,
                "y": 1080,
                "wires": [
                    [
                        "c23cf05567e62a0d"
                    ]
                ]
            },
            {
                "id": "da3ebb8e9395ace1",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Kammerlicht einschalten",
                "func": "var P1P_Push = {\n    \"system\": {\n        \"sequence_id\": \"0\",\n        \"command\": \"ledctrl\",\n        \"led_node\": \"chamber_light\",\n        \"led_mode\": \"on\",\n        \"led_on_time\": 500,\n        \"led_off_time\": 500,\n        \"loop_times\": 0,\n        \"interval_time\": 0\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1150,
                "y": 1000,
                "wires": [
                    [
                        "1bde76ee31c86b7b"
                    ]
                ]
            },
            {
                "id": "9d65a19652402ab5",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1000,
                "wires": [
                    [
                        "da3ebb8e9395ace1"
                    ]
                ]
            },
            {
                "id": "1f169dd6fc7f6387",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Kammerlicht ausschalten",
                "func": "var P1P_Push = \n{\"system\": { \"sequence_id\": \"0\",\n    \"command\": \"ledctrl\",\n    \"led_node\": \"chamber_light\",\n    \"led_mode\": \"off\",\n    \"led_on_time\": 500,\n    \"led_off_time\": 500,\n    \"loop_times\": 0,\n    \"interval_time\": 0\n    }  }\n\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1150,
                "y": 1060,
                "wires": [
                    [
                        "1bde76ee31c86b7b"
                    ]
                ]
            },
            {
                "id": "02dfb1cf089be4e9",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1060,
                "wires": [
                    [
                        "1f169dd6fc7f6387"
                    ]
                ]
            },
            {
                "id": "6b016ea02facbdd4",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Druck fortsetzen",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"resume\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 460,
                "y": 1040,
                "wires": [
                    [
                        "896709af54cf95f3"
                    ]
                ]
            },
            {
                "id": "b1cee73a8525cbd6",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 210,
                "y": 1040,
                "wires": [
                    [
                        "6b016ea02facbdd4"
                    ]
                ]
            },
            {
                "id": "4644dad9484e5ebd",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Geschwindigkeitsmodus",
                "func": "var P1P_Push = { \"print\": \n{ \"sequence_id\": \"0\",\n \"command\": \"print_speed\",\n  \"param\": msg.payload } }\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 490,
                "y": 1200,
                "wires": [
                    [
                        "896709af54cf95f3"
                    ]
                ]
            },
            {
                "id": "6f7b98709d756f1f",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "Leise",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "1",
                "payloadType": "str",
                "x": 210,
                "y": 1140,
                "wires": [
                    [
                        "4644dad9484e5ebd"
                    ]
                ]
            },
            {
                "id": "5f530bccf798a5a0",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "Homing",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"G28 \\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20086\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 440,
                "y": 1340,
                "wires": [
                    [
                        "896709af54cf95f3"
                    ]
                ]
            },
            {
                "id": "170ca7b1e2747db8",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 210,
                "y": 1340,
                "wires": [
                    [
                        "5f530bccf798a5a0"
                    ]
                ]
            },
            {
                "id": "70adf86313f86654",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "x10 (Druckkopf nach rechts)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 X10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1160,
                "y": 1160,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "015cd820c30ac3c1",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1160,
                "wires": [
                    [
                        "70adf86313f86654"
                    ]
                ]
            },
            {
                "id": "3c2d33e74b34ba3a",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "x-10 (Druckkopf nach links)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 X-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1160,
                "y": 1220,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "0741e0b4170ed242",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1220,
                "wires": [
                    [
                        "3c2d33e74b34ba3a"
                    ]
                ]
            },
            {
                "id": "4896f4921f935873",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "y10 (Druckkopf nach hinten)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Y10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1160,
                "y": 1320,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "e0894718eaf714d6",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1320,
                "wires": [
                    [
                        "4896f4921f935873"
                    ]
                ]
            },
            {
                "id": "8d19b57b1b50a939",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "y-10 (Druckkopf nach vorne)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Y-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1160,
                "y": 1380,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "ec7ef6667698c77b",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1380,
                "wires": [
                    [
                        "8d19b57b1b50a939"
                    ]
                ]
            },
            {
                "id": "5666441b74594399",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "z10 (Druckbett nach unten)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Z10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1160,
                "y": 1480,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "19077e4a51bf2443",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1480,
                "wires": [
                    [
                        "5666441b74594399"
                    ]
                ]
            },
            {
                "id": "2e3395031ac16968",
                "type": "function",
                "z": "9582121ff81174a6",
                "name": "z-10 z10 (Druckbett nach oben)",
                "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Z-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                "outputs": 1,
                "noerr": 0,
                "initialize": "",
                "finalize": "",
                "libs": [],
                "x": 1170,
                "y": 1540,
                "wires": [
                    [
                        "f0a3aa20cb7b1ec7"
                    ]
                ]
            },
            {
                "id": "68696ed4c9c24eef",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "True",
                "props": [
                    {
                        "p": "payload"
                    },
                    {
                        "p": "topic",
                        "vt": "str"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "true",
                "payloadType": "bool",
                "x": 870,
                "y": 1540,
                "wires": [
                    [
                        "2e3395031ac16968"
                    ]
                ]
            },
            {
                "id": "22d040578162e373",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "Standard",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "2",
                "payloadType": "str",
                "x": 220,
                "y": 1180,
                "wires": [
                    [
                        "4644dad9484e5ebd"
                    ]
                ]
            },
            {
                "id": "6143cca7c358a854",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "Sport",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "3",
                "payloadType": "str",
                "x": 210,
                "y": 1220,
                "wires": [
                    [
                        "4644dad9484e5ebd"
                    ]
                ]
            },
            {
                "id": "e8e4bbd46511a0ea",
                "type": "inject",
                "z": "9582121ff81174a6",
                "name": "Verrückt",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "4",
                "payloadType": "str",
                "x": 220,
                "y": 1260,
                "wires": [
                    [
                        "4644dad9484e5ebd"
                    ]
                ]
            },
            {
                "id": "896709af54cf95f3",
                "type": "link out",
                "z": "9582121ff81174a6",
                "name": "link out 1",
                "mode": "link",
                "links": [
                    "d7996921de135b61"
                ],
                "x": 685,
                "y": 1100,
                "wires": []
            },
            {
                "id": "f0a3aa20cb7b1ec7",
                "type": "link out",
                "z": "9582121ff81174a6",
                "name": "link out 2",
                "mode": "link",
                "links": [
                    "d7996921de135b61"
                ],
                "x": 1365,
                "y": 1380,
                "wires": []
            },
            {
                "id": "d7996921de135b61",
                "type": "link in",
                "z": "9582121ff81174a6",
                "name": "link in 1",
                "links": [
                    "f0a3aa20cb7b1ec7",
                    "896709af54cf95f3",
                    "1bde76ee31c86b7b",
                    "d1dbc9388bfe6774"
                ],
                "x": 175,
                "y": 1520,
                "wires": [
                    [
                        "da8e98a7bcfc4791"
                    ]
                ]
            },
            {
                "id": "1bde76ee31c86b7b",
                "type": "link out",
                "z": "9582121ff81174a6",
                "name": "link out 3",
                "mode": "link",
                "links": [
                    "d7996921de135b61"
                ],
                "x": 1335,
                "y": 1080,
                "wires": []
            },
            {
                "id": "84f61d394ba2ab34",
                "type": "mqtt-broker",
                "name": "Bambu X1C MQTT Bambu_X1C",
                "broker": "IP-Deines-Druckers",
                "port": "8883",
                "tls": "",
                "clientid": "",
                "autoConnect": true,
                "usetls": true,
                "protocolVersion": "4",
                "keepalive": "60",
                "cleansession": true,
                "birthTopic": "",
                "birthQos": "0",
                "birthPayload": "",
                "birthMsg": {},
                "closeTopic": "",
                "closeQos": "0",
                "closePayload": "",
                "closeMsg": {},
                "willTopic": "",
                "willQos": "0",
                "willPayload": "",
                "willMsg": {},
                "userProps": "",
                "sessionExpiry": ""
            }
        ]
        


        Das ist natürlich nur ein Beispiel-Flow wie es gehen kann.
        Es geht ja hauptsächlich um die Befehle.
        Damit könnt ihr dann weiterbasteln :-)

        LG Alex

        D 1 Reply Last reply
        0
        • D dadonali

          Mal eine Frage zu diesem Github Eintrag:

          https://github.com/greghesp/ha-bambulab

          Bildschirm­foto 2023-03-27 um 18.30.40.png

          Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.

          Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.

          D Offline
          D Offline
          djalexz
          wrote on last edited by djalexz
          #113

          @dadonali
          Sollte was für dich sein :-)

          1 Reply Last reply
          0
          • D djalexz

            Hallo zusammen,

            ich hab nochmal bisschen was gebastelt.
            Hiermit könnt ihr den Drucker steuern.
            Verwendung auf eigene Gefahr

            20659510-8484-4418-b2f8-ec9d704f4f7e-image.png

            Die MQTT Node muss entsprechend angepasst werden.

            [
                {
                    "id": "e4deb3c0f6038918",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Druck stoppen",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"stop\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 460,
                    "y": 1000,
                    "wires": [
                        [
                            "896709af54cf95f3"
                        ]
                    ]
                },
                {
                    "id": "d719c311cd5fe8ec",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 210,
                    "y": 1000,
                    "wires": [
                        [
                            "e4deb3c0f6038918"
                        ]
                    ]
                },
                {
                    "id": "da8e98a7bcfc4791",
                    "type": "mqtt out",
                    "z": "9582121ff81174a6",
                    "name": "bambu-mqtt-out x1c",
                    "topic": "device/Deine-Seriennummer/request",
                    "qos": "1",
                    "retain": "false",
                    "respTopic": "",
                    "contentType": "",
                    "userProps": "",
                    "correl": "",
                    "expiry": "",
                    "broker": "84f61d394ba2ab34",
                    "x": 360,
                    "y": 1520,
                    "wires": []
                },
                {
                    "id": "c23cf05567e62a0d",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Druck pausieren",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"pause\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 460,
                    "y": 1080,
                    "wires": [
                        [
                            "896709af54cf95f3"
                        ]
                    ]
                },
                {
                    "id": "698ef4715c618988",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 210,
                    "y": 1080,
                    "wires": [
                        [
                            "c23cf05567e62a0d"
                        ]
                    ]
                },
                {
                    "id": "da3ebb8e9395ace1",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Kammerlicht einschalten",
                    "func": "var P1P_Push = {\n    \"system\": {\n        \"sequence_id\": \"0\",\n        \"command\": \"ledctrl\",\n        \"led_node\": \"chamber_light\",\n        \"led_mode\": \"on\",\n        \"led_on_time\": 500,\n        \"led_off_time\": 500,\n        \"loop_times\": 0,\n        \"interval_time\": 0\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1150,
                    "y": 1000,
                    "wires": [
                        [
                            "1bde76ee31c86b7b"
                        ]
                    ]
                },
                {
                    "id": "9d65a19652402ab5",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1000,
                    "wires": [
                        [
                            "da3ebb8e9395ace1"
                        ]
                    ]
                },
                {
                    "id": "1f169dd6fc7f6387",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Kammerlicht ausschalten",
                    "func": "var P1P_Push = \n{\"system\": { \"sequence_id\": \"0\",\n    \"command\": \"ledctrl\",\n    \"led_node\": \"chamber_light\",\n    \"led_mode\": \"off\",\n    \"led_on_time\": 500,\n    \"led_off_time\": 500,\n    \"loop_times\": 0,\n    \"interval_time\": 0\n    }  }\n\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1150,
                    "y": 1060,
                    "wires": [
                        [
                            "1bde76ee31c86b7b"
                        ]
                    ]
                },
                {
                    "id": "02dfb1cf089be4e9",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1060,
                    "wires": [
                        [
                            "1f169dd6fc7f6387"
                        ]
                    ]
                },
                {
                    "id": "6b016ea02facbdd4",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Druck fortsetzen",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"resume\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 460,
                    "y": 1040,
                    "wires": [
                        [
                            "896709af54cf95f3"
                        ]
                    ]
                },
                {
                    "id": "b1cee73a8525cbd6",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 210,
                    "y": 1040,
                    "wires": [
                        [
                            "6b016ea02facbdd4"
                        ]
                    ]
                },
                {
                    "id": "4644dad9484e5ebd",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Geschwindigkeitsmodus",
                    "func": "var P1P_Push = { \"print\": \n{ \"sequence_id\": \"0\",\n \"command\": \"print_speed\",\n  \"param\": msg.payload } }\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 490,
                    "y": 1200,
                    "wires": [
                        [
                            "896709af54cf95f3"
                        ]
                    ]
                },
                {
                    "id": "6f7b98709d756f1f",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "Leise",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "1",
                    "payloadType": "str",
                    "x": 210,
                    "y": 1140,
                    "wires": [
                        [
                            "4644dad9484e5ebd"
                        ]
                    ]
                },
                {
                    "id": "5f530bccf798a5a0",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "Homing",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"G28 \\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20086\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 440,
                    "y": 1340,
                    "wires": [
                        [
                            "896709af54cf95f3"
                        ]
                    ]
                },
                {
                    "id": "170ca7b1e2747db8",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 210,
                    "y": 1340,
                    "wires": [
                        [
                            "5f530bccf798a5a0"
                        ]
                    ]
                },
                {
                    "id": "70adf86313f86654",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "x10 (Druckkopf nach rechts)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 X10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1160,
                    "y": 1160,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "015cd820c30ac3c1",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1160,
                    "wires": [
                        [
                            "70adf86313f86654"
                        ]
                    ]
                },
                {
                    "id": "3c2d33e74b34ba3a",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "x-10 (Druckkopf nach links)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 X-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1160,
                    "y": 1220,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "0741e0b4170ed242",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1220,
                    "wires": [
                        [
                            "3c2d33e74b34ba3a"
                        ]
                    ]
                },
                {
                    "id": "4896f4921f935873",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "y10 (Druckkopf nach hinten)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Y10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1160,
                    "y": 1320,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "e0894718eaf714d6",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1320,
                    "wires": [
                        [
                            "4896f4921f935873"
                        ]
                    ]
                },
                {
                    "id": "8d19b57b1b50a939",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "y-10 (Druckkopf nach vorne)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Y-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1160,
                    "y": 1380,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "ec7ef6667698c77b",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1380,
                    "wires": [
                        [
                            "8d19b57b1b50a939"
                        ]
                    ]
                },
                {
                    "id": "5666441b74594399",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "z10 (Druckbett nach unten)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Z10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1160,
                    "y": 1480,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "19077e4a51bf2443",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1480,
                    "wires": [
                        [
                            "5666441b74594399"
                        ]
                    ]
                },
                {
                    "id": "2e3395031ac16968",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "name": "z-10 z10 (Druckbett nach oben)",
                    "func": "var P1P_Push = {\n    \"print\": {\n        \"command\": \"gcode_line\",\n        \"param\": \"M211 S \\nM211 X1 Y1 Z1\\nM1002 push_ref_mode\\nG91 \\nG1 Z-10,0 F3000\\nM1002 pop_ref_mode\\nM211 R\\n\",\n        \"reason\": \"SUCCESS\",\n        \"result\": \"SUCCESS\",\n        \"sequence_id\": \"20014\",\n        \"user_id\": \"1767420324\"\n    }\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 1170,
                    "y": 1540,
                    "wires": [
                        [
                            "f0a3aa20cb7b1ec7"
                        ]
                    ]
                },
                {
                    "id": "68696ed4c9c24eef",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "True",
                    "props": [
                        {
                            "p": "payload"
                        },
                        {
                            "p": "topic",
                            "vt": "str"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 870,
                    "y": 1540,
                    "wires": [
                        [
                            "2e3395031ac16968"
                        ]
                    ]
                },
                {
                    "id": "22d040578162e373",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "Standard",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "2",
                    "payloadType": "str",
                    "x": 220,
                    "y": 1180,
                    "wires": [
                        [
                            "4644dad9484e5ebd"
                        ]
                    ]
                },
                {
                    "id": "6143cca7c358a854",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "Sport",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "3",
                    "payloadType": "str",
                    "x": 210,
                    "y": 1220,
                    "wires": [
                        [
                            "4644dad9484e5ebd"
                        ]
                    ]
                },
                {
                    "id": "e8e4bbd46511a0ea",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "name": "Verrückt",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "4",
                    "payloadType": "str",
                    "x": 220,
                    "y": 1260,
                    "wires": [
                        [
                            "4644dad9484e5ebd"
                        ]
                    ]
                },
                {
                    "id": "896709af54cf95f3",
                    "type": "link out",
                    "z": "9582121ff81174a6",
                    "name": "link out 1",
                    "mode": "link",
                    "links": [
                        "d7996921de135b61"
                    ],
                    "x": 685,
                    "y": 1100,
                    "wires": []
                },
                {
                    "id": "f0a3aa20cb7b1ec7",
                    "type": "link out",
                    "z": "9582121ff81174a6",
                    "name": "link out 2",
                    "mode": "link",
                    "links": [
                        "d7996921de135b61"
                    ],
                    "x": 1365,
                    "y": 1380,
                    "wires": []
                },
                {
                    "id": "d7996921de135b61",
                    "type": "link in",
                    "z": "9582121ff81174a6",
                    "name": "link in 1",
                    "links": [
                        "f0a3aa20cb7b1ec7",
                        "896709af54cf95f3",
                        "1bde76ee31c86b7b",
                        "d1dbc9388bfe6774"
                    ],
                    "x": 175,
                    "y": 1520,
                    "wires": [
                        [
                            "da8e98a7bcfc4791"
                        ]
                    ]
                },
                {
                    "id": "1bde76ee31c86b7b",
                    "type": "link out",
                    "z": "9582121ff81174a6",
                    "name": "link out 3",
                    "mode": "link",
                    "links": [
                        "d7996921de135b61"
                    ],
                    "x": 1335,
                    "y": 1080,
                    "wires": []
                },
                {
                    "id": "84f61d394ba2ab34",
                    "type": "mqtt-broker",
                    "name": "Bambu X1C MQTT Bambu_X1C",
                    "broker": "IP-Deines-Druckers",
                    "port": "8883",
                    "tls": "",
                    "clientid": "",
                    "autoConnect": true,
                    "usetls": true,
                    "protocolVersion": "4",
                    "keepalive": "60",
                    "cleansession": true,
                    "birthTopic": "",
                    "birthQos": "0",
                    "birthPayload": "",
                    "birthMsg": {},
                    "closeTopic": "",
                    "closeQos": "0",
                    "closePayload": "",
                    "closeMsg": {},
                    "willTopic": "",
                    "willQos": "0",
                    "willPayload": "",
                    "willMsg": {},
                    "userProps": "",
                    "sessionExpiry": ""
                }
            ]
            


            Das ist natürlich nur ein Beispiel-Flow wie es gehen kann.
            Es geht ja hauptsächlich um die Befehle.
            Damit könnt ihr dann weiterbasteln :-)

            LG Alex

            D Offline
            D Offline
            dadonali
            wrote on last edited by
            #114

            @djalexz
            Kann ich den flow von dir dann einfach hinzufügen?

            D 1 Reply Last reply
            0
            • X Offline
              X Offline
              XSDiver
              wrote on last edited by XSDiver
              #115

              Hallo zusammen,

              geht auch alles über den MQTT Adapter ohne Node Red,
              der liest euch eine JSON aus dem Drucker aus und legt die unter MQTT in einem Datenpunkt ab:

              sieht dann ungefähr so aus:

              {
                  "print": {
                      "ams": {
                          "ams": [
                              {
                                  "humidity": "4",
                                  "id": "0",
                                  "temp": "30.9",
                                  "tray": [
                                      {
                                          "bed_temp": "0",
                                          "bed_temp_type": "2",
                                          "cols": [
                                              "FFC600FF"
                                          ],
                                          "drying_temp": "55",
                                          "drying_time": "8",
                                          "id": "0",
                                          "nozzle_temp_max": "240",
                                          "nozzle_temp_min": "200",
                                          "remain": 0,
                                          "tag_uid": "DDDE769400000100",
                                          "tray_color": "FFC600FF",
                                          "tray_diameter": "1.75",
                                          "tray_id_name": "A05-Y4",
                                          "tray_info_idx": "GFA05",
                                          "tray_sub_brands": "PLA Silk",
                                          "tray_type": "PLA",
                                          "tray_uuid": "325DA7506BCE447B9F34D1CDC94658DA",
                                          "tray_weight": "1000",
                                          "xcam_info": "A438803EE803E8033333333F"
                                      }, //... weiter AMS Slots
                                  ]
                              }
                          ],
                          "ams_exist_bits": "1",
                          "insert_flag": true,
                          "power_on_flag": false,
                          "tray_exist_bits": "f",
                          "tray_is_bbl_bits": "f",
                          "tray_now": "255",
                          "tray_pre": "255",
                          "tray_read_done_bits": "f",
                          "tray_reading_bits": "0",
                          "tray_tar": "255",
                          "version": 5
                      },
                      "ams_rfid_status": 0,
                      "ams_status": 0,
                      "aux_part_fan": true,
                      "bed_target_temper": 0.0,
                      "bed_temper": 37.0,
                      "big_fan1_speed": "0",
                      "big_fan2_speed": "0",
                      "chamber_temper": 35.0,
                      "command": "push_status",
                      "cooling_fan_speed": "0",
                      "fail_reason": "0",
                      "fan_gear": 0,
                      "filam_bak": [],
                      "force_upgrade": false,
                      "gcode_file": "Name des DruckFiles",
                      "gcode_file_prepare_percent": "100",
                      "gcode_start_time": "1687977739",
                      "gcode_state": "FINISH",
                      "heatbreak_fan_speed": "0",
                      "hms": [],
                      "home_flag": 16648,
                      "hw_switch_state": 0,
                      "ipcam": {
                          "ipcam_dev": "1",
                          "ipcam_record": "enable",
                          "resolution": "1080p",
                          "timelapse": "disable"
                      },
                      "layer_num": 360,
                      "lifecycle": "product",
                      "lights_report": [
                          {
                              "mode": "on",
                              "node": "chamber_light"
                          },
                          {
                              "mode": "flashing",
                              "node": "work_light"
                          }
                      ],
                      "maintain": 3,
                      "mc_percent": 100,
                      "mc_print_error_code": "0",
                      "mc_print_stage": "1",
                      "mc_print_sub_stage": 0,
                      "mc_remaining_time": 0,
                      "mess_production_state": "active",
                      "nozzle_diameter": "0.4",
                      "nozzle_target_temper": 0.0,
                      "nozzle_temper": 39.0,
                      "online": {
                          "ahb": false,
                          "rfid": false,
                          "version": 9
                      },
                      "print_error": 0,
                      "print_gcode_action": 255,
                    ...
              }
              

              Ich hab mir dann die Datenpunkte die ich gebrauchen kann manuell angelegt:

              und dann mit einem Blockly ausgelesen und in den Datenpunkt geschrieben.

              • z. B. Nozzle - Temp:

              Nozzle_Temp.JPG

              setState("0_userdata.0.X1C.Temp_Nozzle"/*Temp_Nozzle*/, parseFloat((await jsonataExpression((function () { try {return JSON.parse(getState("mqtt.0.device.00M09A340700121.report").val);} catch(e) {return {};}})(),'print.nozzle_temper'))), true);
              

              Hier ein noch angefangenes VIS Beispiel:

              Screenshot 2023-07-01 131344.png

              Mit Bindings lassen sich auch die Farben im AMS auslesen,
              die einzelnen Lüfter Geschwindigkeiten und einiges mehr...

              Vielleicht interessiert das ja jemanden.

              Wenn man sich z.B. im MQTT Adapter einen Datenpunkt: "Request" anlegt:

              Screenshot 2023-07-31 081114.png

              kann man auch Befehle schicken:

              {
                "print": {
                  "command": "gcode_line",
                  "param": "M960 S5 P1",
                  "sequence_id": "0"
                }
              }
              

              mit diesem gCode schaltet man das ToolHead Logo ein. Funktioniert auch wärend des Drucks.

              1 Reply Last reply
              0
              • D dadonali

                @djalexz
                Kann ich den flow von dir dann einfach hinzufügen?

                D Offline
                D Offline
                djalexz
                wrote on last edited by
                #116

                @dadonali
                Moin, ja sollte gehen.

                1 Reply Last reply
                0
                • B baeri

                  Hallo zusammen,

                  danke für die tolle Anleitung von @djalexz !!
                  Damit hab ich es sogar geschafft, als absoluter NodeRed DAU den X1C-Status in den ioBroker zu bekommen.

                  Ein "Problem" habe ich noch. Der Drucker wird bei mir immer als offline angezeigt. Hat jemand eine Idee, woran das liegen könnte?

                  Ich habe auch mal einen Adapter-Request gemacht, vielleicht findet sich ja jemand, der das ganze in einen Adapter adaptieren kann (schöner Satz :D ) - vielleicht hilft ja ein Like von dem ein oder anderen, dass sich jemand findet: https://github.com/ioBroker/AdapterRequests/issues/829

                  DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  wrote on last edited by Dutchman
                  #117

                  @baeri sagte in Bambu lab 3d Drucker MQTT Integration:

                  Ich habe auch mal einen Adapter-Request gemacht, vielleicht findet sich ja jemand, der das ganze in einen Adapter adaptieren kann (schöner Satz :D ) - vielleicht hilft ja ein Like von dem ein oder anderen, dass sich jemand findet: https://github.com/ioBroker/AdapterRequests/issues/829

                  Habe es nun als DAU tatsächlich mit der NodeRed Instanz hinbekommen.
                  Ein Adapter wäre natürlich schöner, vielleicht findet sich ja jemand, der Anhand dieses NodeRed Ablaufs einen Adapter bauen kann?

                  Da ich auch einen Bambulab X1 habe konnte ich das hier nicht liegen lassen, mit dank an den Informationen hier im forum habe ich einen adapter erstellt der alle Daten per MQTT Verbindung live bekommt. Man muss nur in den Einstellungen die IP Adresse, token und serial hinterlegen

                  Schalten werden ich im laufe des tages/morgen implementieren, soweit mir bekannt kann man aber nur start/stop/resume und die Lampe schalten

                  Wen jemand die anderen MQTT befehle zum steuern kennt gerne her damit dan ergänze ich das.

                  Der adapter ist in einem beta status, die erste version kann über git und NPM installiert werden.
                  Wen alles einigermassen läuft mache ich einen PR zur aufnähme in den admin

                  Hier zum adapter: ioBroker.bambulab

                  wunensche, Anregungen etc gerne als git issue. Möchte diese post hier auch nicht damit sprengen eventuell doch noch einen tester thread erstellen.

                  Beim starten des adapters (v0.1.0) kommen noch warnings das Definitionen fehlen, die arbeite ich noch nach. Ist im Grunde nicht wichtig aber sorgt dafür das grad Celsius use richtig dargestellt wird

                  1 Reply Last reply
                  1
                  • D dadonali

                    Mal eine Frage zu diesem Github Eintrag:

                    https://github.com/greghesp/ha-bambulab

                    Bildschirm­foto 2023-03-27 um 18.30.40.png

                    Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.

                    Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.

                    DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    wrote on last edited by
                    #118

                    @dadonali sagte in Bambu lab 3d Drucker MQTT Integration:

                    Mal eine Frage zu diesem Github Eintrag:

                    https://github.com/greghesp/ha-bambulab

                    Bildschirm­foto 2023-03-27 um 18.30.40.png

                    Hat sich hier schon mal mit dem Thema Buttons beschäftigt? Wenn ich das richtig verstehe sollten zumindest Start, Pause und Cancel realisierbar sein? Das wäre natürlich nice wenn man zumindest den Druck übers VIS im iobroker abbrechen könnte ohne immer das scheiß Bambu Studio öffnen zu müssen.

                    Allerdings finde ich nicht wirklich was in meinen Datenpunkten, welche mir NodeRed auswirft.

                    das wird in der 0.1.1 versions meines adapters funktionieren, start/stop/resume und schalten der Lampe

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      DarkDevil
                      wrote on last edited by
                      #119

                      Super, dass es nun einen Adapter gibt :)

                      Funktioniert die Kommunikation denn nur, wenn der Drucker im "LAN only" Mode konfiguriert ist?

                      DutchmanD 1 Reply Last reply
                      0
                      • D DarkDevil

                        Super, dass es nun einen Adapter gibt :)

                        Funktioniert die Kommunikation denn nur, wenn der Drucker im "LAN only" Mode konfiguriert ist?

                        DutchmanD Offline
                        DutchmanD Offline
                        Dutchman
                        Developer Most Active Administrators
                        wrote on last edited by Dutchman
                        #120

                        @darkdevil sagte in Bambu lab 3d Drucker MQTT Integration:

                        Super, dass es nun einen Adapter gibt :)

                        Funktioniert die Kommunikation denn nur, wenn der Drucker im "LAN only" Mode konfiguriert ist?

                        nope geht in beiden Varianten, LAN only modus bedeutet das man die cloud ausschaltet es geht sowohl mit als ohne cloud da der adapter sich local verbindet :)
                        PS: in der jetzigen version auf git ist auch das steuern der lampe, start/stop/resume implementiert
                        sobald ich die states fertig habe kommt eine versions 0.2.0

                        1 Reply Last reply
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          wrote on last edited by Dutchman
                          #121

                          da der adapter stabiel läuft und ich es auch, mit ein wenig Hilfe, geschafft habe die Steuerung der lampen, des Lüfter und custom g-code zu implantieren habe ich dazu ein neuen thread erstellt.

                          Ich würde mich sehr über tester und feedback freuen !

                          https://forum.iobroker.net/topic/67178/bambulab-3d-drucker-adapter?_=1690472648517

                          1 Reply Last reply
                          1
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          554

                          Online

                          32.7k

                          Users

                          82.4k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe