Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Bambu lab 3d Drucker MQTT Integration

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
121 Beiträge 9 Kommentatoren 28.1k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

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

    @mickym

    Ja das hatte ich fälschlicherweise geändert :D , aber ist wieder rückgängig gemacht.

    Ihr seid die geilsten! Es läuft :)

    Bildschirm­foto 2023-02-14 um 19.00.38.png

    Und ist Node-Red nun genial und warum sträubt sich jeder am Anfang immer so? - Irgendwann wirst Du deine Blocklies auch mit NodeRed machen - wenn Du mal die Genialität dieses Systems durchblickst. ;)

    D Offline
    D Offline
    dadonali
    schrieb am zuletzt editiert von
    #97

    @mickym
    Ja ich hab schon soo viele Blocklies :D das alles umzustellen, da graut es mir vor.

    Aber das Thema werde ich mir wirklich mal genauer ansehen, man kann ja immer nach und nach ändern. Aber fürs Erste hab ich ja Datenpunkte die ich soweit verarbeiten kann.

    D mickymM 2 Antworten Letzte Antwort
    0
    • D dadonali

      @mickym
      Ja ich hab schon soo viele Blocklies :D das alles umzustellen, da graut es mir vor.

      Aber das Thema werde ich mir wirklich mal genauer ansehen, man kann ja immer nach und nach ändern. Aber fürs Erste hab ich ja Datenpunkte die ich soweit verarbeiten kann.

      D Offline
      D Offline
      DarkDevil
      schrieb am zuletzt editiert von
      #98

      @dadonali aktualisieren sich denn deine datenpunkte wenn du den slicer und die App geschlossen hast?

      D 1 Antwort Letzte Antwort
      0
      • D dadonali

        @mickym
        Ja ich hab schon soo viele Blocklies :D das alles umzustellen, da graut es mir vor.

        Aber das Thema werde ich mir wirklich mal genauer ansehen, man kann ja immer nach und nach ändern. Aber fürs Erste hab ich ja Datenpunkte die ich soweit verarbeiten kann.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #99

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

        Aber das Thema werde ich mir wirklich mal genauer ansehen, man kann ja immer nach und nach ändern. Aber fürs Erste hab ich ja Datenpunkte die ich soweit verarbeiten kann.

        Na das geniale am iobroker ist ja - dass er eine Vielzahl von Systemen unter einer Haube vereint. Das heißt Du kannst ja jetzt bei den Datenpunkten von Fall zu Fall entscheiden, was einfacher ist. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • D DarkDevil

          @dadonali aktualisieren sich denn deine datenpunkte wenn du den slicer und die App geschlossen hast?

          D Offline
          D Offline
          dadonali
          schrieb am zuletzt editiert von
          #100

          @darkdevil leider nein :( nur wenn app aufm handy oder aufm pc offen ist

          D 1 Antwort Letzte Antwort
          0
          • D djalexz

            Hallo zusammen,

            da hier immer nur so ein paar Schnipsel von Node-Red drinstehen und es wohl noch einige gibt für die Node-Red ein Buch mit sieben Siegeln ist, hier eine kleine Anleitung zur Installation und Einbindung meines Flows.

            f7825076-70f0-494e-bd66-671c9c80ea88-image.png

            Damit werden alle relevanten Werte des Druckers umgewandelt, sodass diese genutzt werden können.

            Hier kommt der Subflow von @mickym zum Einsatz (nochmals vielen Dank dafür an dieser Stelle).

            Da ich für diese Anleitung eine extra Node-Red Instanz anlegen musste, steht dort natürlich node-red.1.
            Stört euch nicht daran. Bei euch steht node-red.0

            Ich hoffe es hilft dem Ein oder Anderen und ihr könnt damit jetzt euren Bambu "Smart" machen.

            HINWEIS:
            Da ich einen X1C habe, kann ich nur für diesen sprechen.
            Ich kann keinerlei Garantie übernehmen, dass das bei einem P1P ebenfalls läuft.
            Theoretisch sollte es das. Ich kann es halt nur nicht testen.
            Ich gehe hier von der neuesten Firmware des Druckers aus (01.04.00.00 (20230207))
            Mit MQTT TLS Verschlüsselung usw.

            ansonsten muss die MQTT Node anders eingestellt werden (ohne Verschlüsselung).

            Bei mir kommt für das Dashboard Jarvis von @Zefau zum Einsatz.
            Die Datenpunkte dafür sind natürlich Teil dieses Flows.
            Wer das nicht braucht oder etwas Anderes nutzt, muss die Nodes (via Doppelklick) entsprechend anpassen.

            Und Übernahme (Deploy) nicht vergessen 😉

            Jetzt gehts los:

            Installation von Node-Red:


            Node-Red Instanz in ioBroker hinzufügen:

            bcaa382b-3cee-4478-8849-efa340eb6219-image.png

            e6270797-b9d9-4a5b-a402-915fbf47f5b4-image.png

            Haken bei Palletenmanager benutzen und bei Erstellung von Fremd-Objekten zulassen setzen und Speichern:

            28531052-444e-412b-87f4-581dc03ecdf3-image.png

            Darauf achten, dass die Instanz gestartet ist (grünes Symbol) und auf das Fenster Icon klicken:

            3a6a9bc7-6dac-444a-9990-6de0e2df31da-image.png


            Node-Red (die Oberfläche)

            Die Einführung könnt ihr euch gerne anschauen (m.M.n. sehr Sinnvoll) oder das Fenster schließen:

            9254918c-0bd6-4fe8-9922-3a44e67db493-image.png

            Importieren meines Flows:

            eeaf90fd-838d-4926-ad42-323facbd3044-image.png

            Hier der Flow zum Kopieren und Importieren

            [
                {
                    "id": "6e802f1553b18149",
                    "type": "subflow",
                    "name": "JSON or Obj to IOBroker",
                    "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                    "category": "",
                    "in": [
                        {
                            "x": 60,
                            "y": 160,
                            "wires": [
                                {
                                    "id": "554b8c663bcb46c2"
                                }
                            ]
                        }
                    ],
                    "out": [
                        {
                            "x": 2620,
                            "y": 280,
                            "wires": [
                                {
                                    "id": "0962842ebd23e0d7",
                                    "port": 0
                                }
                            ]
                        }
                    ],
                    "env": [
                        {
                            "name": "top",
                            "type": "str",
                            "value": "objRoot"
                        },
                        {
                            "name": "keepTopic",
                            "type": "bool",
                            "value": "false"
                        }
                    ],
                    "meta": {},
                    "color": "#E2D96E",
                    "icon": "node-red/batch.svg"
                },
                {
                    "id": "3e11e8338f694832",
                    "type": "split",
                    "z": "6e802f1553b18149",
                    "name": "split object",
                    "splt": "\\n",
                    "spltType": "str",
                    "arraySplt": 1,
                    "arraySpltType": "len",
                    "stream": false,
                    "addname": "key",
                    "x": 1370,
                    "y": 160,
                    "wires": [
                        [
                            "0562a4249c8b856b"
                        ]
                    ]
                },
                {
                    "id": "0562a4249c8b856b",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "add key to topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "stateName",
                            "pt": "msg",
                            "to": "key",
                            "tot": "msg"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic  & '.' & key",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1560,
                    "y": 160,
                    "wires": [
                        [
                            "ddc90985bef0fafa"
                        ]
                    ]
                },
                {
                    "id": "ddc90985bef0fafa",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 1740,
                    "y": 160,
                    "wires": [
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "1a8c03d866b85b12"
                        ]
                    ]
                },
                {
                    "id": "bfce19b206660fbe",
                    "type": "split",
                    "z": "6e802f1553b18149",
                    "name": "split array",
                    "splt": "\\n",
                    "spltType": "str",
                    "arraySplt": 1,
                    "arraySpltType": "len",
                    "stream": false,
                    "addname": "",
                    "x": 780,
                    "y": 280,
                    "wires": [
                        [
                            "e89927810c6d75ec"
                        ]
                    ]
                },
                {
                    "id": "e89927810c6d75ec",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "add index to topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic  & '.' & parts.index",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 970,
                    "y": 280,
                    "wires": [
                        [
                            "a4d1a5d04564dc77"
                        ]
                    ]
                },
                {
                    "id": "f5d52c6a57d08904",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "finalize msg.topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "'0_userdata.0.' & top",
                            "tot": "jsonata"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "top & '.' & topic",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2170,
                    "y": 240,
                    "wires": [
                        [
                            "0962842ebd23e0d7"
                        ]
                    ]
                },
                {
                    "id": "1a8c03d866b85b12",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is msg.top != null",
                    "property": "top",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "nnull"
                        },
                        {
                            "t": "null"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 1950,
                    "y": 280,
                    "wires": [
                        [
                            "f5d52c6a57d08904"
                        ],
                        [
                            "74c895ce724750de"
                        ]
                    ]
                },
                {
                    "id": "e023fe88445ce43e",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "rules": [
                        {
                            "t": "delete",
                            "p": "topic",
                            "pt": "msg"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 350,
                    "y": 200,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "3649300b4c233b10",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "json",
                            "vt": "json"
                        },
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 4,
                    "x": 600,
                    "y": 160,
                    "wires": [
                        [
                            "fc7913a8524badb7"
                        ],
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "9ac3cc3681e8b6c6"
                        ]
                    ]
                },
                {
                    "id": "1b8480cd2df7ba3f",
                    "type": "comment",
                    "z": "6e802f1553b18149",
                    "name": "Array",
                    "info": "",
                    "x": 600,
                    "y": 280,
                    "wires": []
                },
                {
                    "id": "b3541807672be040",
                    "type": "comment",
                    "z": "6e802f1553b18149",
                    "name": "object",
                    "info": "",
                    "x": 1340,
                    "y": 100,
                    "wires": []
                },
                {
                    "id": "a4d1a5d04564dc77",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 1160,
                    "y": 280,
                    "wires": [
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "a096a93bb82b7a93"
                        ]
                    ]
                },
                {
                    "id": "74c895ce724750de",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "finalize msg.topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "top",
                            "tot": "env"
                        },
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "'0_userdata.0.' & top",
                            "tot": "jsonata"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "top & '.' & topic",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2170,
                    "y": 320,
                    "wires": [
                        [
                            "0962842ebd23e0d7"
                        ]
                    ]
                },
                {
                    "id": "554b8c663bcb46c2",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "property": "keepTopic",
                    "propertyType": "env",
                    "rules": [
                        {
                            "t": "true"
                        },
                        {
                            "t": "false"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 170,
                    "y": 160,
                    "wires": [
                        [
                            "e30ba9f0483285e4"
                        ],
                        [
                            "e023fe88445ce43e"
                        ]
                    ]
                },
                {
                    "id": "e30ba9f0483285e4",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "rules": [
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "/",
                            "fromt": "str",
                            "to": ".",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 350,
                    "y": 120,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "0962842ebd23e0d7",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "translate invalid chars in topic",
                    "rules": [
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "..",
                            "fromt": "str",
                            "to": ".",
                            "tot": "str"
                        },
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "€",
                            "fromt": "str",
                            "to": "EUR",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2430,
                    "y": 280,
                    "wires": [
                        []
                    ]
                },
                {
                    "id": "9ac3cc3681e8b6c6",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "set topic, if empty",
                    "rules": [
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic ? topic : $type(payload)\t",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 950,
                    "y": 200,
                    "wires": [
                        [
                            "a096a93bb82b7a93"
                        ]
                    ]
                },
                {
                    "id": "fc7913a8524badb7",
                    "type": "json",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "property": "payload",
                    "action": "obj",
                    "pretty": false,
                    "x": 750,
                    "y": 100,
                    "wires": [
                        [
                            "d9e7bdd4c48a8aa1"
                        ]
                    ]
                },
                {
                    "id": "d9e7bdd4c48a8aa1",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 900,
                    "y": 100,
                    "wires": [
                        [
                            "1520be42bcc2145e"
                        ],
                        [
                            "1520be42bcc2145e"
                        ],
                        [
                            "9ac3cc3681e8b6c6"
                        ]
                    ]
                },
                {
                    "id": "a096a93bb82b7a93",
                    "type": "junction",
                    "z": "6e802f1553b18149",
                    "x": 1380,
                    "y": 280,
                    "wires": [
                        [
                            "1a8c03d866b85b12"
                        ]
                    ]
                },
                {
                    "id": "1520be42bcc2145e",
                    "type": "junction",
                    "z": "6e802f1553b18149",
                    "x": 480,
                    "y": 20,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "9582121ff81174a6",
                    "type": "tab",
                    "label": "Flow 15",
                    "disabled": false,
                    "info": "",
                    "env": []
                },
                {
                    "id": "c3f9f96853c3f09c",
                    "type": "group",
                    "z": "9582121ff81174a6",
                    "name": "Steuerung Steckdose",
                    "style": {
                        "label": true,
                        "fill": "#7fb7df",
                        "fill-opacity": "0.22",
                        "color": "#000000"
                    },
                    "nodes": [
                        "cd5f62e24a3e846f",
                        "964df5b70be104e6",
                        "ebace1619b2a4e15",
                        "3143caf661f13237",
                        "aeb883c176549af3",
                        "f683e53accbca89f",
                        "cff0b21c459cab43",
                        "64fa2ca669c5a78d",
                        "72cb87b2b06c4f05",
                        "4ce8104a4e434a82",
                        "e0079711246b60b0",
                        "1d943caf9a8bc0f6",
                        "ff01d8a59e17dc93",
                        "c8abbf4d53a09ffe",
                        "c5c06330d2e576f6",
                        "f97a028e21d51bfb",
                        "cac765606601d65c",
                        "ae46dbed7e5925ae",
                        "445ce2a0ad0a534a",
                        "79d8f512af50dd04",
                        "0c5048b46f072d52",
                        "5c0e9eddf913e64d"
                    ],
                    "x": 74,
                    "y": 379,
                    "w": 1352,
                    "h": 482
                },
                {
                    "id": "4380d7035264bead",
                    "type": "group",
                    "z": "9582121ff81174a6",
                    "name": "Online/Offline Anzeige",
                    "style": {
                        "label": true,
                        "color": "#000000",
                        "fill": "#addb7b",
                        "fill-opacity": "0.38"
                    },
                    "nodes": [
                        "d2a5ed4e2b8c8674",
                        "b5c862f5d50c56cb",
                        "2e71b198fe06ccdb",
                        "144c29803a38e2a4",
                        "3a131237a7bdec9d"
                    ],
                    "x": 1074,
                    "y": 79,
                    "w": 412,
                    "h": 242
                },
                {
                    "id": "19ede36faf38f69b",
                    "type": "group",
                    "z": "9582121ff81174a6",
                    "name": "X1C Datenpunkt Umwandlung",
                    "style": {
                        "fill": "#ffff00",
                        "label": true,
                        "fill-opacity": "0.36",
                        "color": "#000000"
                    },
                    "nodes": [
                        "e2852c3101736fc9",
                        "477ecaa1b9913815",
                        "9fadcc36a22ec38b",
                        "44d9370861f0a79a",
                        "33a162f31f850a9e",
                        "f6c8fbdf638c04e8",
                        "ce27f3362985a4d3",
                        "89074ea56277b288",
                        "01c35b9bb3921713",
                        "3eb26b7322587c6b",
                        "21081e6a23dc83a1"
                    ],
                    "x": 14,
                    "y": 39,
                    "w": 1032,
                    "h": 322
                },
                {
                    "id": "e2852c3101736fc9",
                    "type": "subflow:6e802f1553b18149",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "",
                    "env": [
                        {
                            "name": "top",
                            "value": "X1C",
                            "type": "str"
                        }
                    ],
                    "x": 170,
                    "y": 160,
                    "wires": [
                        [
                            "ce27f3362985a4d3"
                        ]
                    ]
                },
                {
                    "id": "477ecaa1b9913815",
                    "type": "mqtt in",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Bambu X1C Bambu_X1C",
                    "topic": "device/DieSeriennummerDeinesDruckers/report",
                    "qos": "2",
                    "datatype": "auto-detect",
                    "broker": "84f61d394ba2ab34",
                    "nl": false,
                    "rap": true,
                    "rh": 0,
                    "inputs": 0,
                    "x": 150,
                    "y": 100,
                    "wires": [
                        [
                            "e2852c3101736fc9"
                        ]
                    ]
                },
                {
                    "id": "9fadcc36a22ec38b",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "schreibe Datenpunkte in ioBroker",
                    "topic": "",
                    "ack": "true",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 880,
                    "y": 200,
                    "wires": []
                },
                {
                    "id": "44d9370861f0a79a",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "heatbreak_fan_speed",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 560,
                    "y": 120,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "33a162f31f850a9e",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Stage Parser",
                    "func": "\nfunction parseAction(actionId) {\n    if(actionId === undefined) {\n        return \"\";\n    }\n    switch (actionId) {\n        case -2:\n            return \"Offline\";\n        case -1:\n            return \"Idle\";\n        case 0:\n            return \"Printing\";  // idle or printing\n        case 1:\n            return \"Auto bed leveling\";\n        case 2:\n            return \"Heatbed preheating\";\n        case 3:\n            return \"Sweeping XY mech mode\";\n        case 4:\n            return \"Changing filament\";\n        case 5:\n            return \"M400 pause\";\n        case 6:\n            return \"Paused due to filament runout\";\n        case 7:\n            return \"Heating hotend\";\n        case 8:\n            return \"Calibrating extrusion\";\n        case 9:\n            return \"Scanning bed surface\";\n        case 10:\n            return \"Inspecting first layer\";\n        case 11:\n            return \"Identifying build plate type\";\n        case 12:\n            return \"Calibrating Micro Lidar\";\n        case 13:\n            return \"Homing toolhead\";\n        case 14:\n            return \"Cleaning nozzle tip\";\n        case 15:\n            return \"Checking extruder temperature\";\n        case 16:\n            return \"Printing was paused by the user\";\n        case 17:\n            return \"Pause of front cover falling\";\n        case 18:\n            return \"Calibrating the micro lidar\";\n        case 19:\n            return \"Calibrating extrusion flow\";\n        case 20:\n            return \"Paused due to nozzle temperature malfunction\";\n        case 21:\n            return \"Paused due to heat bed temperature malfunction\";\n        default:\n            return actionId.toString()\n    }\n}\n\n\n\n    \nvar current_action = parseAction(msg.payload);\n\n\n\n    msg.payload = current_action;\n\n\n\n    return [msg];\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 530,
                    "y": 160,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "f6c8fbdf638c04e8",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Translate X1C Speed Profile",
                    "func": "function parseAction(SpeedProfile) {\n    if (SpeedProfile === undefined) {\n        return \"\";\n    }\n    switch (SpeedProfile) {\n        case 1:\n            return \"Silent\";\n           \n        case 2:\n            return \"Standard\";\n            \n        case 3:\n            return \"Sport\";\n           \n        case 4:\n            return \"Ludicrous\";\n           \n        default:\n            return \"Undefined\";\n          \n\n   \n    }\n\n}\n\n\n\n    var SpeedProfile = parseAction(msg.payload);\n    msg.payload = SpeedProfile;\n\n\n    return [msg];\n\n\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 580,
                    "y": 200,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "ce27f3362985a4d3",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Verteiler",
                    "property": "topic",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.cooling_fan_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.heatbreak_fan_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.stg_cur",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.spd_lvl",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.big_fan1_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.big_fan2_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.mc_remaining_time",
                            "vt": "str"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 8,
                    "x": 360,
                    "y": 140,
                    "wires": [
                        [
                            "89074ea56277b288"
                        ],
                        [
                            "44d9370861f0a79a"
                        ],
                        [
                            "33a162f31f850a9e"
                        ],
                        [
                            "f6c8fbdf638c04e8"
                        ],
                        [
                            "3eb26b7322587c6b"
                        ],
                        [
                            "01c35b9bb3921713"
                        ],
                        [
                            "21081e6a23dc83a1"
                        ],
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ],
                    "outputLabels": [
                        "Cooling Fan Speed",
                        "Heatbreak Fan Speed",
                        "Stage Parser",
                        "Speed Profile",
                        "AUX Fan Speed",
                        "Chamber Fan Speed",
                        "remaining_time",
                        ""
                    ]
                },
                {
                    "id": "89074ea56277b288",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "cooling_fan_speed",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 550,
                    "y": 80,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "01c35b9bb3921713",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "big_fan2_speed (Chamber)",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 580,
                    "y": 280,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "3eb26b7322587c6b",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "big_fan1_speed (AUX)",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 560,
                    "y": 240,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "21081e6a23dc83a1",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "remaining_time",
                    "func": "//var timeleft = 3727; //1h:2m:7s\n//Umrechnung in Stunden, Minuten, Sekunden\n\nvar hour = Math.floor((msg.payload % 3600) / 60);\nvar minute = Math.floor(msg.payload % 60);\n\n//Den String von Stunden, Minuten und Sekunden auf 2 Stellen ändern\nif (hour < 10) {\nhour = \"0\" + hour;\n}\n\nif (minute < 10) {\nminute = \"0\" + minute;\n}\n\n\nmsg.payload = hour + \":\" + minute;\n\n\n\n\nreturn msg;\n\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 540,
                    "y": 320,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "cd5f62e24a3e846f",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "erstelle Jarvis Benachrichtigung",
                    "func": "var jarvisNotify = {};\n//Beispiele\njarvisNotify.title = \"Abschalten nicht möglich\";\njarvisNotify.caption = \"\"; // wird unter dem Titel angezeigt\njarvisNotify.message = '<b>Ich drucke gerade, die Steckdose abzuschalten wäre eine blöde Idee!</b>';\n// Alternative Möglichkeiten\n//jarvisNotify.message= '<img src=\"http://192.168.178.89/download/Weltkarte.jpg\" height=\"auto\" width=\"100%\"></img>'; //Klappt, wird komplett angezeigt\n//jarvisNotify.message= '<iFrame src=\"http://192.168.178.89/download/Weltkarte.jpg\" height=\"auto\" width=\"100%\"></iFrame>'; //Klappt nicht, nur Teil wird angezeigt\n//jarvisNotify.message= getState('0_userdata.0.jarvis.pollenflug.Html').val;\n//jarvisNotify.message= getState('0_userdata.0.Html.HTML').val;\n//jarvisNotify.state = \"unread\";          //Damit bleibt die Benachrichtigung auch nach POPUP ungelesen und wird oben angezeigt mit der Zahl\njarvisNotify.criticality = \"error\";      // error,warning,info,success\njarvisNotify.display = \"popup\";          //drawer,snackbar,popup, none für focusTab\njarvisNotify.timeout = 10000;  //10000ms -> 10 Sekunden\n//jarvisNotify.timeout = 15000;  //5000ms -> 5 Sekunden\n//jarvisNotify.spinner= false; // drehender dreiViertel Kreis\njarvisNotify.progress = true;\njarvisNotify.position = \"top-left\";\njarvisNotify.icon = \"ic:outline-error\"; //mdi Iconify battery-alert-variant-outline\njarvisNotify.iconColor = \"white\";\njarvisNotify.color = \"red\";\njarvisNotify.textColor = \"white\";\nmsg.payload = JSON.stringify(jarvisNotify);\nreturn msg;",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 710,
                    "y": 540,
                    "wires": [
                        [
                            "964df5b70be104e6"
                        ]
                    ]
                },
                {
                    "id": "964df5b70be104e6",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Datenpunkt Jarvis Benachrichtigung",
                    "topic": "jarvis.0.addNotification",
                    "ack": "false",
                    "autoCreate": "false",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1030,
                    "y": 540,
                    "wires": []
                },
                {
                    "id": "ebace1619b2a4e15",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "> oder < als 1",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "gt",
                            "v": "1",
                            "vt": "str"
                        },
                        {
                            "t": "lt",
                            "v": "1",
                            "vt": "str"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 440,
                    "y": 540,
                    "wires": [
                        [
                            "cd5f62e24a3e846f",
                            "72cb87b2b06c4f05"
                        ],
                        [
                            "aeb883c176549af3"
                        ]
                    ],
                    "outputLabels": [
                        "Druck aktiv",
                        "Druck nicht aktiv"
                    ]
                },
                {
                    "id": "3143caf661f13237",
                    "type": "ioBroker get",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "heatbreak_fan_speed",
                    "topic": "0_userdata.0.X1C.print.heatbreak_fan_speed",
                    "attrname": "payload",
                    "payloadType": "value",
                    "errOnInvalidState": "nothing",
                    "x": 220,
                    "y": 540,
                    "wires": [
                        [
                            "ebace1619b2a4e15"
                        ]
                    ]
                },
                {
                    "id": "aeb883c176549af3",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "setze msg.payload auf false",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "false",
                            "tot": "bool"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 700,
                    "y": 580,
                    "wires": [
                        [
                            "4ce8104a4e434a82"
                        ]
                    ]
                },
                {
                    "id": "f683e53accbca89f",
                    "type": "ioBroker in",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Schalter in Dashboard (Steckdose Drucker)",
                    "topic": "0_userdata.0.X1C.Steckdose-Steuerung",
                    "payloadType": "value",
                    "onlyack": "",
                    "func": "all",
                    "gap": "",
                    "fireOnStart": "false",
                    "outFormat": "MQTT",
                    "x": 280,
                    "y": 460,
                    "wires": [
                        [
                            "cff0b21c459cab43"
                        ]
                    ]
                },
                {
                    "id": "cff0b21c459cab43",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "TRUE oder FALSE?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "true"
                        },
                        {
                            "t": "false"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 220,
                    "y": 500,
                    "wires": [
                        [
                            "4ce8104a4e434a82"
                        ],
                        [
                            "3143caf661f13237"
                        ]
                    ]
                },
                {
                    "id": "64fa2ca669c5a78d",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Schalter in Dashboard (Steckdose Drucker)",
                    "topic": "0_userdata.0.X1C.Steckdose-Steuerung",
                    "ack": "false",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "boolean",
                    "readonly": "false",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1090,
                    "y": 480,
                    "wires": []
                },
                {
                    "id": "72cb87b2b06c4f05",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "setze msg.payload auf true",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "true",
                            "tot": "bool"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 700,
                    "y": 460,
                    "wires": [
                        [
                            "64fa2ca669c5a78d"
                        ]
                    ]
                },
                {
                    "id": "b5c862f5d50c56cb",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "FALSE oder nicht?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "false"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 1230,
                    "y": 160,
                    "wires": [
                        [
                            "144c29803a38e2a4"
                        ],
                        [
                            "2e71b198fe06ccdb"
                        ]
                    ]
                },
                {
                    "id": "2e71b198fe06ccdb",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "setze msg.payload auf online",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "online",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1260,
                    "y": 240,
                    "wires": [
                        [
                            "3a131237a7bdec9d"
                        ]
                    ]
                },
                {
                    "id": "144c29803a38e2a4",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "setze msg.payload auf offline",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "offline",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1260,
                    "y": 200,
                    "wires": [
                        [
                            "3a131237a7bdec9d"
                        ]
                    ]
                },
                {
                    "id": "4ce8104a4e434a82",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Datenpunkt Steckdose Drucker An/AUS",
                    "topic": "alias.0.Buero.3D-Drucker.SET",
                    "ack": "false",
                    "autoCreate": "false",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 740,
                    "y": 500,
                    "wires": []
                },
                {
                    "id": "3a131237a7bdec9d",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "Datenpunkt Verbindungsstatus des Druckers",
                    "topic": "0_userdata.0.X1C.Verbindungsstatus",
                    "ack": "false",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "string",
                    "readonly": "false",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1290,
                    "y": 280,
                    "wires": []
                },
                {
                    "id": "e0079711246b60b0",
                    "type": "comment",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Abschalten verhindern, wenn Heatbreak_Fan_Speed über 1 (Düse ist heiß)",
                    "info": "",
                    "x": 380,
                    "y": 420,
                    "wires": []
                },
                {
                    "id": "1d943caf9a8bc0f6",
                    "type": "ioBroker get",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Schalter im Dashboard (Steckdose automatisch abschalten)",
                    "topic": "0_userdata.0.X1C.automatisch_abschalten",
                    "attrname": "payload",
                    "payloadType": "value",
                    "errOnInvalidState": "nothing",
                    "x": 340,
                    "y": 720,
                    "wires": [
                        [
                            "c8abbf4d53a09ffe"
                        ]
                    ]
                },
                {
                    "id": "ff01d8a59e17dc93",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "alle 10 Min. TRUE senden",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "600",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 240,
                    "y": 820,
                    "wires": [
                        [
                            "1d943caf9a8bc0f6"
                        ]
                    ]
                },
                {
                    "id": "c8abbf4d53a09ffe",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "TRUE?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "true"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 1,
                    "x": 180,
                    "y": 760,
                    "wires": [
                        [
                            "c5c06330d2e576f6"
                        ]
                    ]
                },
                {
                    "id": "f97a028e21d51bfb",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "> oder < als 1",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "gt",
                            "v": "1",
                            "vt": "str"
                        },
                        {
                            "t": "lt",
                            "v": "1",
                            "vt": "str"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 560,
                    "y": 760,
                    "wires": [
                        [],
                        [
                            "cac765606601d65c"
                        ]
                    ],
                    "outputLabels": [
                        "Druck aktiv",
                        "Druck nicht aktiv"
                    ]
                },
                {
                    "id": "c5c06330d2e576f6",
                    "type": "ioBroker get",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "heatbreak_fan_speed",
                    "topic": "0_userdata.0.X1C.print.heatbreak_fan_speed",
                    "attrname": "payload",
                    "payloadType": "value",
                    "errOnInvalidState": "nothing",
                    "x": 360,
                    "y": 760,
                    "wires": [
                        [
                            "f97a028e21d51bfb"
                        ]
                    ]
                },
                {
                    "id": "cac765606601d65c",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "setze msg.payload auf false",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "false",
                            "tot": "bool"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 780,
                    "y": 760,
                    "wires": [
                        [
                            "ae46dbed7e5925ae",
                            "445ce2a0ad0a534a",
                            "0c5048b46f072d52"
                        ]
                    ]
                },
                {
                    "id": "ae46dbed7e5925ae",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Datenpunkt Steckdose Drucker An/AUS",
                    "topic": "alias.0.Buero.3D-Drucker.SET",
                    "ack": "false",
                    "autoCreate": "false",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1120,
                    "y": 720,
                    "wires": []
                },
                {
                    "id": "445ce2a0ad0a534a",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Schalter im Dashboard (Steckdose automatisch abschalten)",
                    "topic": "0_userdata.0.X1C.automatisch_abschalten",
                    "ack": "false",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "boolean",
                    "readonly": "false",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1180,
                    "y": 800,
                    "wires": []
                },
                {
                    "id": "79d8f512af50dd04",
                    "type": "comment",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "automatisch Abschalten nach Druck",
                    "info": "",
                    "x": 260,
                    "y": 680,
                    "wires": []
                },
                {
                    "id": "0c5048b46f072d52",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "Schalter in Dashboard (Steckdose Drucker)",
                    "topic": "0_userdata.0.X1C.Steckdose-Steuerung",
                    "ack": "false",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "boolean",
                    "readonly": "false",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1130,
                    "y": 760,
                    "wires": []
                },
                {
                    "id": "5c0e9eddf913e64d",
                    "type": "inject",
                    "z": "9582121ff81174a6",
                    "g": "c3f9f96853c3f09c",
                    "name": "nur zum Testen",
                    "props": [
                        {
                            "p": "payload"
                        }
                    ],
                    "repeat": "",
                    "crontab": "",
                    "once": false,
                    "onceDelay": 0.1,
                    "topic": "",
                    "payload": "true",
                    "payloadType": "bool",
                    "x": 1180,
                    "y": 420,
                    "wires": [
                        [
                            "4ce8104a4e434a82"
                        ]
                    ]
                },
                {
                    "id": "d2a5ed4e2b8c8674",
                    "type": "ping",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "protocol": "IPv4",
                    "mode": "timed",
                    "name": "Ping IP des Druckers",
                    "host": "192.168.0.111",
                    "timer": "60",
                    "inputs": 0,
                    "x": 1200,
                    "y": 120,
                    "wires": [
                        [
                            "b5c862f5d50c56cb"
                        ]
                    ]
                },
                {
                    "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": ""
                }
            ]
            

            a6b8157c-4eab-4adb-8239-61b1a747c063-image.png

            Nun auf den Flow 15 klicken (der Name kann per Doppelklick jederzeit geändert werden:

            954dd30c-67d0-49e0-928d-d030f4446bb6-image.png

            Hier seht ihr nun den Flow in seiner vollen Pracht :-)
            Allerdings haben wir noch einen Fehler, da die Ping Node fehlt:

            3beacdea-ecbc-4327-ac98-8d5796ac8582-image.png

            Um das zu beheben klickt ihr wieder oben rechts auf das Burgermenü und auf Palette verwalten:

            16ebcde0-b624-4a38-b3a2-3c722efc9119-image.png

            Reiter Installation anklicken, Suchbegriff Ping eingeben und beim ersten Eintrag auf Installieren klicken:

            ed75d327-daab-457b-88f9-0758f27bf97f-image.png

            In der Meldung ebenfalls auf Installieren klicken:

            a15378d3-8eaa-49ce-a16b-1effa6761166-image.png

            Das Ganze übernehmen (oben rechts auf Deploy klicken):

            234c3c71-0040-454b-ab8a-17a58d63da07-image.png

            Einstellungen

            Doppelklick auf die MQTT Node um die Einstellungen zu gelangen:

            6c7be134-2bc1-4f41-aa61-ea07cb1a16a0-image.png

            Die Seriennummer deines Druckers eintragen und auf den Reiter Sicherheit klicken:

            f3bc9d1e-8a58-422a-a41e-b1a42c81b9ee-image.png

            Bitte auch https://forum.iobroker.net/post/943312 beachten.


            PS:

            Das soll kein Node-Red Zwang werden.
            Das Ganze klappt garantiert auch mit Blockly und/ oder anderen Scripten.
            Kann ich aber nicht und möchte ich auch nicht.
            Wer Bock auf Node-Red hat, kann diese Anleitung nutzen, wer keinen Bock darauf hat, lässt es halt sein 😉

            PPS:
            Der Fairness halber geht auch ein großer Dank an die Jungs (und Mädels?) aus dem Home Assistant Forum, da dort die initialen Funktionen zum Interprätieren der MQTT Daten des Bambus aufgedröselt wurden.


            https://community.home-assistant.io/t/bambu-lab-x1-x1c-mqtt/489510

            D Offline
            D Offline
            dadonali
            schrieb am zuletzt editiert von
            #101

            Hier nochmal meine Settings und JSON für den P1P ,vielleicht will @djalexz es ja zu seiner Anleitung von oben hinzufügen :) Ich hab diese Steckdose Sache unten drunter erstmal raus gelassen.

            Bin ja auch ein Fan davon dann das Wissen zu teilen wenn es läuft. Natürlich unter Vorbehalt falls der P1P auch bald ein Update erhält und dann die Logins benötigt werden + Port Wechsel

            [
                {
                    "id": "6e802f1553b18149",
                    "type": "subflow",
                    "name": "JSON or Obj to IOBroker",
                    "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                    "category": "",
                    "in": [
                        {
                            "x": 60,
                            "y": 160,
                            "wires": [
                                {
                                    "id": "554b8c663bcb46c2"
                                }
                            ]
                        }
                    ],
                    "out": [
                        {
                            "x": 2620,
                            "y": 280,
                            "wires": [
                                {
                                    "id": "0962842ebd23e0d7",
                                    "port": 0
                                }
                            ]
                        }
                    ],
                    "env": [
                        {
                            "name": "top",
                            "type": "str",
                            "value": "objRoot"
                        },
                        {
                            "name": "keepTopic",
                            "type": "bool",
                            "value": "false"
                        }
                    ],
                    "meta": {},
                    "color": "#E2D96E",
                    "icon": "node-red/batch.svg"
                },
                {
                    "id": "3e11e8338f694832",
                    "type": "split",
                    "z": "6e802f1553b18149",
                    "name": "split object",
                    "splt": "\\n",
                    "spltType": "str",
                    "arraySplt": 1,
                    "arraySpltType": "len",
                    "stream": false,
                    "addname": "key",
                    "x": 1370,
                    "y": 160,
                    "wires": [
                        [
                            "0562a4249c8b856b"
                        ]
                    ]
                },
                {
                    "id": "0562a4249c8b856b",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "add key to topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "stateName",
                            "pt": "msg",
                            "to": "key",
                            "tot": "msg"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic  & '.' & key",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1560,
                    "y": 160,
                    "wires": [
                        [
                            "ddc90985bef0fafa"
                        ]
                    ]
                },
                {
                    "id": "ddc90985bef0fafa",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 1740,
                    "y": 160,
                    "wires": [
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "1a8c03d866b85b12"
                        ]
                    ]
                },
                {
                    "id": "bfce19b206660fbe",
                    "type": "split",
                    "z": "6e802f1553b18149",
                    "name": "split array",
                    "splt": "\\n",
                    "spltType": "str",
                    "arraySplt": 1,
                    "arraySpltType": "len",
                    "stream": false,
                    "addname": "",
                    "x": 780,
                    "y": 280,
                    "wires": [
                        [
                            "e89927810c6d75ec"
                        ]
                    ]
                },
                {
                    "id": "e89927810c6d75ec",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "add index to topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic  & '.' & parts.index",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 970,
                    "y": 280,
                    "wires": [
                        [
                            "a4d1a5d04564dc77"
                        ]
                    ]
                },
                {
                    "id": "f5d52c6a57d08904",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "finalize msg.topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "'0_userdata.0.' & top",
                            "tot": "jsonata"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "top & '.' & topic",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2170,
                    "y": 240,
                    "wires": [
                        [
                            "0962842ebd23e0d7"
                        ]
                    ]
                },
                {
                    "id": "1a8c03d866b85b12",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is msg.top != null",
                    "property": "top",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "nnull"
                        },
                        {
                            "t": "null"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 1950,
                    "y": 280,
                    "wires": [
                        [
                            "f5d52c6a57d08904"
                        ],
                        [
                            "74c895ce724750de"
                        ]
                    ]
                },
                {
                    "id": "e023fe88445ce43e",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "rules": [
                        {
                            "t": "delete",
                            "p": "topic",
                            "pt": "msg"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 350,
                    "y": 200,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "3649300b4c233b10",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "json",
                            "vt": "json"
                        },
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 4,
                    "x": 600,
                    "y": 160,
                    "wires": [
                        [
                            "fc7913a8524badb7"
                        ],
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "9ac3cc3681e8b6c6"
                        ]
                    ]
                },
                {
                    "id": "1b8480cd2df7ba3f",
                    "type": "comment",
                    "z": "6e802f1553b18149",
                    "name": "Array",
                    "info": "",
                    "x": 600,
                    "y": 280,
                    "wires": []
                },
                {
                    "id": "b3541807672be040",
                    "type": "comment",
                    "z": "6e802f1553b18149",
                    "name": "object",
                    "info": "",
                    "x": 1340,
                    "y": 100,
                    "wires": []
                },
                {
                    "id": "a4d1a5d04564dc77",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 1160,
                    "y": 280,
                    "wires": [
                        [
                            "3e11e8338f694832"
                        ],
                        [
                            "bfce19b206660fbe"
                        ],
                        [
                            "a096a93bb82b7a93"
                        ]
                    ]
                },
                {
                    "id": "74c895ce724750de",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "finalize msg.topic",
                    "rules": [
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "top",
                            "tot": "env"
                        },
                        {
                            "t": "set",
                            "p": "top",
                            "pt": "msg",
                            "to": "'0_userdata.0.' & top",
                            "tot": "jsonata"
                        },
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "top & '.' & topic",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2170,
                    "y": 320,
                    "wires": [
                        [
                            "0962842ebd23e0d7"
                        ]
                    ]
                },
                {
                    "id": "554b8c663bcb46c2",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "property": "keepTopic",
                    "propertyType": "env",
                    "rules": [
                        {
                            "t": "true"
                        },
                        {
                            "t": "false"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 170,
                    "y": 160,
                    "wires": [
                        [
                            "e30ba9f0483285e4"
                        ],
                        [
                            "e023fe88445ce43e"
                        ]
                    ]
                },
                {
                    "id": "e30ba9f0483285e4",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "rules": [
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "/",
                            "fromt": "str",
                            "to": ".",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 350,
                    "y": 120,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "0962842ebd23e0d7",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "translate invalid chars in topic",
                    "rules": [
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "..",
                            "fromt": "str",
                            "to": ".",
                            "tot": "str"
                        },
                        {
                            "t": "change",
                            "p": "topic",
                            "pt": "msg",
                            "from": "€",
                            "fromt": "str",
                            "to": "EUR",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 2430,
                    "y": 280,
                    "wires": [
                        []
                    ]
                },
                {
                    "id": "9ac3cc3681e8b6c6",
                    "type": "change",
                    "z": "6e802f1553b18149",
                    "name": "set topic, if empty",
                    "rules": [
                        {
                            "t": "set",
                            "p": "topic",
                            "pt": "msg",
                            "to": "topic ? topic : $type(payload)\t",
                            "tot": "jsonata"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 950,
                    "y": 200,
                    "wires": [
                        [
                            "a096a93bb82b7a93"
                        ]
                    ]
                },
                {
                    "id": "fc7913a8524badb7",
                    "type": "json",
                    "z": "6e802f1553b18149",
                    "name": "",
                    "property": "payload",
                    "action": "obj",
                    "pretty": false,
                    "x": 750,
                    "y": 100,
                    "wires": [
                        [
                            "d9e7bdd4c48a8aa1"
                        ]
                    ]
                },
                {
                    "id": "d9e7bdd4c48a8aa1",
                    "type": "switch",
                    "z": "6e802f1553b18149",
                    "name": "is type?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "istype",
                            "v": "array",
                            "vt": "array"
                        },
                        {
                            "t": "istype",
                            "v": "object",
                            "vt": "object"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 3,
                    "x": 900,
                    "y": 100,
                    "wires": [
                        [
                            "1520be42bcc2145e"
                        ],
                        [
                            "1520be42bcc2145e"
                        ],
                        [
                            "9ac3cc3681e8b6c6"
                        ]
                    ]
                },
                {
                    "id": "a096a93bb82b7a93",
                    "type": "junction",
                    "z": "6e802f1553b18149",
                    "x": 1380,
                    "y": 280,
                    "wires": [
                        [
                            "1a8c03d866b85b12"
                        ]
                    ]
                },
                {
                    "id": "1520be42bcc2145e",
                    "type": "junction",
                    "z": "6e802f1553b18149",
                    "x": 480,
                    "y": 20,
                    "wires": [
                        [
                            "3649300b4c233b10"
                        ]
                    ]
                },
                {
                    "id": "9582121ff81174a6",
                    "type": "tab",
                    "label": "Flow 15",
                    "disabled": false,
                    "info": "",
                    "env": []
                },
                {
                    "id": "4380d7035264bead",
                    "type": "group",
                    "z": "9582121ff81174a6",
                    "name": "Online/Offline Anzeige",
                    "style": {
                        "label": true,
                        "color": "#000000",
                        "fill": "#addb7b",
                        "fill-opacity": "0.38"
                    },
                    "nodes": [
                        "d2a5ed4e2b8c8674",
                        "b5c862f5d50c56cb",
                        "2e71b198fe06ccdb",
                        "144c29803a38e2a4",
                        "3a131237a7bdec9d"
                    ],
                    "x": 1294,
                    "y": 59,
                    "w": 412,
                    "h": 242
                },
                {
                    "id": "19ede36faf38f69b",
                    "type": "group",
                    "z": "9582121ff81174a6",
                    "name": "X1C Datenpunkt Umwandlung",
                    "style": {
                        "fill": "#ffff00",
                        "label": true,
                        "fill-opacity": "0.36",
                        "color": "#000000"
                    },
                    "nodes": [
                        "e2852c3101736fc9",
                        "477ecaa1b9913815",
                        "9fadcc36a22ec38b",
                        "44d9370861f0a79a",
                        "33a162f31f850a9e",
                        "f6c8fbdf638c04e8",
                        "ce27f3362985a4d3",
                        "89074ea56277b288",
                        "01c35b9bb3921713",
                        "3eb26b7322587c6b",
                        "21081e6a23dc83a1"
                    ],
                    "x": 74,
                    "y": 39,
                    "w": 1032,
                    "h": 322
                },
                {
                    "id": "e2852c3101736fc9",
                    "type": "subflow:6e802f1553b18149",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "",
                    "env": [
                        {
                            "name": "top",
                            "value": "P1P",
                            "type": "str"
                        }
                    ],
                    "x": 230,
                    "y": 160,
                    "wires": [
                        [
                            "ce27f3362985a4d3"
                        ]
                    ]
                },
                {
                    "id": "477ecaa1b9913815",
                    "type": "mqtt in",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "P1P",
                    "topic": "device/01S00A2C0501216/report",
                    "qos": "2",
                    "datatype": "auto-detect",
                    "broker": "84f61d394ba2ab34",
                    "nl": false,
                    "rap": true,
                    "rh": 0,
                    "inputs": 0,
                    "x": 150,
                    "y": 100,
                    "wires": [
                        [
                            "e2852c3101736fc9"
                        ]
                    ]
                },
                {
                    "id": "9fadcc36a22ec38b",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "schreibe Datenpunkte in ioBroker",
                    "topic": "",
                    "ack": "true",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "",
                    "readonly": "",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 940,
                    "y": 200,
                    "wires": []
                },
                {
                    "id": "44d9370861f0a79a",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "heatbreak_fan_speed",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 620,
                    "y": 120,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "33a162f31f850a9e",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Stage Parser",
                    "func": "\nfunction parseAction(actionId) {\n    if(actionId === undefined) {\n        return \"\";\n    }\n    switch (actionId) {\n        case -2:\n            return \"Offline\";\n        case -1:\n            return \"Idle\";\n        case 0:\n            return \"Printing\";  // idle or printing\n        case 1:\n            return \"Auto bed leveling\";\n        case 2:\n            return \"Heatbed preheating\";\n        case 3:\n            return \"Sweeping XY mech mode\";\n        case 4:\n            return \"Changing filament\";\n        case 5:\n            return \"M400 pause\";\n        case 6:\n            return \"Paused due to filament runout\";\n        case 7:\n            return \"Heating hotend\";\n        case 8:\n            return \"Calibrating extrusion\";\n        case 9:\n            return \"Scanning bed surface\";\n        case 10:\n            return \"Inspecting first layer\";\n        case 11:\n            return \"Identifying build plate type\";\n        case 12:\n            return \"Calibrating Micro Lidar\";\n        case 13:\n            return \"Homing toolhead\";\n        case 14:\n            return \"Cleaning nozzle tip\";\n        case 15:\n            return \"Checking extruder temperature\";\n        case 16:\n            return \"Printing was paused by the user\";\n        case 17:\n            return \"Pause of front cover falling\";\n        case 18:\n            return \"Calibrating the micro lidar\";\n        case 19:\n            return \"Calibrating extrusion flow\";\n        case 20:\n            return \"Paused due to nozzle temperature malfunction\";\n        case 21:\n            return \"Paused due to heat bed temperature malfunction\";\n        default:\n            return actionId.toString()\n    }\n}\n\n\n\n    \nvar current_action = parseAction(msg.payload);\n\n\n\n    msg.payload = current_action;\n\n\n\n    return [msg];\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 590,
                    "y": 160,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "f6c8fbdf638c04e8",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Translate X1C Speed Profile",
                    "func": "function parseAction(SpeedProfile) {\n    if (SpeedProfile === undefined) {\n        return \"\";\n    }\n    switch (SpeedProfile) {\n        case 1:\n            return \"Silent\";\n           \n        case 2:\n            return \"Standard\";\n            \n        case 3:\n            return \"Sport\";\n           \n        case 4:\n            return \"Ludicrous\";\n           \n        default:\n            return \"Undefined\";\n          \n\n   \n    }\n\n}\n\n\n\n    var SpeedProfile = parseAction(msg.payload);\n    msg.payload = SpeedProfile;\n\n\n    return [msg];\n\n\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 640,
                    "y": 200,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "ce27f3362985a4d3",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "Verteiler",
                    "property": "topic",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.cooling_fan_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.heatbreak_fan_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.stg_cur",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.spd_lvl",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.big_fan1_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.big_fan2_speed",
                            "vt": "str"
                        },
                        {
                            "t": "eq",
                            "v": "0_userdata.0.X1C.print.mc_remaining_time",
                            "vt": "str"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 8,
                    "x": 420,
                    "y": 140,
                    "wires": [
                        [
                            "89074ea56277b288"
                        ],
                        [
                            "44d9370861f0a79a"
                        ],
                        [
                            "33a162f31f850a9e"
                        ],
                        [
                            "f6c8fbdf638c04e8"
                        ],
                        [
                            "3eb26b7322587c6b"
                        ],
                        [
                            "01c35b9bb3921713"
                        ],
                        [
                            "21081e6a23dc83a1"
                        ],
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ],
                    "outputLabels": [
                        "Cooling Fan Speed",
                        "Heatbreak Fan Speed",
                        "Stage Parser",
                        "Speed Profile",
                        "AUX Fan Speed",
                        "Chamber Fan Speed",
                        "remaining_time",
                        ""
                    ]
                },
                {
                    "id": "89074ea56277b288",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "cooling_fan_speed",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 610,
                    "y": 80,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "01c35b9bb3921713",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "big_fan2_speed (Chamber)",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 640,
                    "y": 280,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "3eb26b7322587c6b",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "big_fan1_speed (AUX)",
                    "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 620,
                    "y": 240,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "21081e6a23dc83a1",
                    "type": "function",
                    "z": "9582121ff81174a6",
                    "g": "19ede36faf38f69b",
                    "name": "remaining_time",
                    "func": "//var timeleft = 3727; //1h:2m:7s\n//Umrechnung in Stunden, Minuten, Sekunden\n\nvar hour = Math.floor((msg.payload % 3600) / 60);\nvar minute = Math.floor(msg.payload % 60);\n\n//Den String von Stunden, Minuten und Sekunden auf 2 Stellen ändern\nif (hour < 10) {\nhour = \"0\" + hour;\n}\n\nif (minute < 10) {\nminute = \"0\" + minute;\n}\n\n\nmsg.payload = hour + \":\" + minute;\n\n\n\n\nreturn msg;\n\n",
                    "outputs": 1,
                    "noerr": 0,
                    "initialize": "",
                    "finalize": "",
                    "libs": [],
                    "x": 600,
                    "y": 320,
                    "wires": [
                        [
                            "9fadcc36a22ec38b"
                        ]
                    ]
                },
                {
                    "id": "b5c862f5d50c56cb",
                    "type": "switch",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "FALSE oder nicht?",
                    "property": "payload",
                    "propertyType": "msg",
                    "rules": [
                        {
                            "t": "false"
                        },
                        {
                            "t": "else"
                        }
                    ],
                    "checkall": "true",
                    "repair": false,
                    "outputs": 2,
                    "x": 1450,
                    "y": 140,
                    "wires": [
                        [
                            "144c29803a38e2a4"
                        ],
                        [
                            "2e71b198fe06ccdb"
                        ]
                    ]
                },
                {
                    "id": "2e71b198fe06ccdb",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "setze msg.payload auf online",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "online",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1480,
                    "y": 220,
                    "wires": [
                        [
                            "3a131237a7bdec9d"
                        ]
                    ]
                },
                {
                    "id": "144c29803a38e2a4",
                    "type": "change",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "setze msg.payload auf offline",
                    "rules": [
                        {
                            "t": "set",
                            "p": "payload",
                            "pt": "msg",
                            "to": "offline",
                            "tot": "str"
                        }
                    ],
                    "action": "",
                    "property": "",
                    "from": "",
                    "to": "",
                    "reg": false,
                    "x": 1480,
                    "y": 180,
                    "wires": [
                        [
                            "3a131237a7bdec9d"
                        ]
                    ]
                },
                {
                    "id": "3a131237a7bdec9d",
                    "type": "ioBroker out",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "name": "Datenpunkt Verbindungsstatus des Druckers",
                    "topic": "0_userdata.0.P1P_Status.Verbindungsstatus",
                    "ack": "false",
                    "autoCreate": "true",
                    "stateName": "",
                    "role": "",
                    "payloadType": "string",
                    "readonly": "false",
                    "stateUnit": "",
                    "stateMin": "",
                    "stateMax": "",
                    "x": 1510,
                    "y": 260,
                    "wires": []
                },
                {
                    "id": "d2a5ed4e2b8c8674",
                    "type": "ping",
                    "z": "9582121ff81174a6",
                    "g": "4380d7035264bead",
                    "protocol": "IPv4",
                    "mode": "timed",
                    "name": "Ping IP des Druckers",
                    "host": "192.168.178.200",
                    "timer": "60",
                    "inputs": 0,
                    "x": 1420,
                    "y": 100,
                    "wires": [
                        [
                            "b5c862f5d50c56cb"
                        ]
                    ]
                },
                {
                    "id": "84f61d394ba2ab34",
                    "type": "mqtt-broker",
                    "name": "P1P",
                    "broker": "192.168.178.200",
                    "port": "1883",
                    "tls": "",
                    "clientid": "",
                    "autoConnect": true,
                    "usetls": false,
                    "protocolVersion": "4",
                    "keepalive": "60",
                    "cleansession": true,
                    "birthTopic": "",
                    "birthQos": "0",
                    "birthPayload": "",
                    "birthMsg": {},
                    "closeTopic": "",
                    "closeQos": "0",
                    "closePayload": "",
                    "closeMsg": {},
                    "willTopic": "",
                    "willQos": "0",
                    "willPayload": "",
                    "willMsg": {},
                    "userProps": "",
                    "sessionExpiry": "",
                    "credentials": {}
                }
            ]
            

            Bildschirm­foto 2023-02-14 um 19.16.14.png Bildschirm­foto 2023-02-14 um 19.15.54.png Bildschirm­foto 2023-02-14 um 19.15.30.png Bildschirm­foto 2023-02-14 um 19.15.24.png

            D 1 Antwort Letzte Antwort
            0
            • D dadonali

              Hier nochmal meine Settings und JSON für den P1P ,vielleicht will @djalexz es ja zu seiner Anleitung von oben hinzufügen :) Ich hab diese Steckdose Sache unten drunter erstmal raus gelassen.

              Bin ja auch ein Fan davon dann das Wissen zu teilen wenn es läuft. Natürlich unter Vorbehalt falls der P1P auch bald ein Update erhält und dann die Logins benötigt werden + Port Wechsel

              [
                  {
                      "id": "6e802f1553b18149",
                      "type": "subflow",
                      "name": "JSON or Obj to IOBroker",
                      "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs `msg.top` property isn't defined, the `top` property of the subflow-node is used. \n\nIn the properties of the subflow node a new property `keepTopic` has been added. Default is _false_ to keep the current behaviour. If set to _true_ then the originial topic will be placed between the `top` property of the subflow node and the property of the analyzed JSON object.\n\n**Attention:**\nIf msg.top and top is empty, all msg.topics (msg.topic) will be directly prefixed with 0_userdata.0. . \n\n**Update 13.09.2022:**\nSpaces in topics of objects are no longer replaced with underscores in objects. No differences between all data types.\n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls msg.top nicht definiert wurde, wird der `top`-Wert der Subflow-Node verwendet.\n\nIn den Eigenschaften der Subflow-Node wurde ein neuer Parameter `keepTopic` hinzugefügt. Standardwert ist _false_, um das bisherige Verhalten beizubehalten. Setzt man die Eigenschaft auf _true_, dann wird das originale Topic zwischen der `top` Eigenschaft der Subflow-Node und Eigenschaft des analysierten JSON Objektes eingefügt.\n\n**Achtung:**\nWenn top und msg.top leer ist, werden alle msg.topics (msg.topic) direkt unter dem Präfix 0_userdata.0., angelegt bzw. ausgegeben. \n\n**Update 13.09.2022:**\nLeerzeichen werden in Topics von Objekten nicht mehr durch Unterstriche ersetzt. Es gibt keine Unterschiede mehr zwischen den Datentypen.",
                      "category": "",
                      "in": [
                          {
                              "x": 60,
                              "y": 160,
                              "wires": [
                                  {
                                      "id": "554b8c663bcb46c2"
                                  }
                              ]
                          }
                      ],
                      "out": [
                          {
                              "x": 2620,
                              "y": 280,
                              "wires": [
                                  {
                                      "id": "0962842ebd23e0d7",
                                      "port": 0
                                  }
                              ]
                          }
                      ],
                      "env": [
                          {
                              "name": "top",
                              "type": "str",
                              "value": "objRoot"
                          },
                          {
                              "name": "keepTopic",
                              "type": "bool",
                              "value": "false"
                          }
                      ],
                      "meta": {},
                      "color": "#E2D96E",
                      "icon": "node-red/batch.svg"
                  },
                  {
                      "id": "3e11e8338f694832",
                      "type": "split",
                      "z": "6e802f1553b18149",
                      "name": "split object",
                      "splt": "\\n",
                      "spltType": "str",
                      "arraySplt": 1,
                      "arraySpltType": "len",
                      "stream": false,
                      "addname": "key",
                      "x": 1370,
                      "y": 160,
                      "wires": [
                          [
                              "0562a4249c8b856b"
                          ]
                      ]
                  },
                  {
                      "id": "0562a4249c8b856b",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "add key to topic",
                      "rules": [
                          {
                              "t": "set",
                              "p": "stateName",
                              "pt": "msg",
                              "to": "key",
                              "tot": "msg"
                          },
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "topic  & '.' & key",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1560,
                      "y": 160,
                      "wires": [
                          [
                              "ddc90985bef0fafa"
                          ]
                      ]
                  },
                  {
                      "id": "ddc90985bef0fafa",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "is type?",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "istype",
                              "v": "array",
                              "vt": "array"
                          },
                          {
                              "t": "istype",
                              "v": "object",
                              "vt": "object"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 3,
                      "x": 1740,
                      "y": 160,
                      "wires": [
                          [
                              "bfce19b206660fbe"
                          ],
                          [
                              "3e11e8338f694832"
                          ],
                          [
                              "1a8c03d866b85b12"
                          ]
                      ]
                  },
                  {
                      "id": "bfce19b206660fbe",
                      "type": "split",
                      "z": "6e802f1553b18149",
                      "name": "split array",
                      "splt": "\\n",
                      "spltType": "str",
                      "arraySplt": 1,
                      "arraySpltType": "len",
                      "stream": false,
                      "addname": "",
                      "x": 780,
                      "y": 280,
                      "wires": [
                          [
                              "e89927810c6d75ec"
                          ]
                      ]
                  },
                  {
                      "id": "e89927810c6d75ec",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "add index to topic",
                      "rules": [
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "topic  & '.' & parts.index",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 970,
                      "y": 280,
                      "wires": [
                          [
                              "a4d1a5d04564dc77"
                          ]
                      ]
                  },
                  {
                      "id": "f5d52c6a57d08904",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "finalize msg.topic",
                      "rules": [
                          {
                              "t": "set",
                              "p": "top",
                              "pt": "msg",
                              "to": "'0_userdata.0.' & top",
                              "tot": "jsonata"
                          },
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "top & '.' & topic",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 2170,
                      "y": 240,
                      "wires": [
                          [
                              "0962842ebd23e0d7"
                          ]
                      ]
                  },
                  {
                      "id": "1a8c03d866b85b12",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "is msg.top != null",
                      "property": "top",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "nnull"
                          },
                          {
                              "t": "null"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 2,
                      "x": 1950,
                      "y": 280,
                      "wires": [
                          [
                              "f5d52c6a57d08904"
                          ],
                          [
                              "74c895ce724750de"
                          ]
                      ]
                  },
                  {
                      "id": "e023fe88445ce43e",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "",
                      "rules": [
                          {
                              "t": "delete",
                              "p": "topic",
                              "pt": "msg"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 350,
                      "y": 200,
                      "wires": [
                          [
                              "3649300b4c233b10"
                          ]
                      ]
                  },
                  {
                      "id": "3649300b4c233b10",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "is type?",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "istype",
                              "v": "json",
                              "vt": "json"
                          },
                          {
                              "t": "istype",
                              "v": "array",
                              "vt": "array"
                          },
                          {
                              "t": "istype",
                              "v": "object",
                              "vt": "object"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 4,
                      "x": 600,
                      "y": 160,
                      "wires": [
                          [
                              "fc7913a8524badb7"
                          ],
                          [
                              "bfce19b206660fbe"
                          ],
                          [
                              "3e11e8338f694832"
                          ],
                          [
                              "9ac3cc3681e8b6c6"
                          ]
                      ]
                  },
                  {
                      "id": "1b8480cd2df7ba3f",
                      "type": "comment",
                      "z": "6e802f1553b18149",
                      "name": "Array",
                      "info": "",
                      "x": 600,
                      "y": 280,
                      "wires": []
                  },
                  {
                      "id": "b3541807672be040",
                      "type": "comment",
                      "z": "6e802f1553b18149",
                      "name": "object",
                      "info": "",
                      "x": 1340,
                      "y": 100,
                      "wires": []
                  },
                  {
                      "id": "a4d1a5d04564dc77",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "is type?",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "istype",
                              "v": "object",
                              "vt": "object"
                          },
                          {
                              "t": "istype",
                              "v": "array",
                              "vt": "array"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 3,
                      "x": 1160,
                      "y": 280,
                      "wires": [
                          [
                              "3e11e8338f694832"
                          ],
                          [
                              "bfce19b206660fbe"
                          ],
                          [
                              "a096a93bb82b7a93"
                          ]
                      ]
                  },
                  {
                      "id": "74c895ce724750de",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "finalize msg.topic",
                      "rules": [
                          {
                              "t": "set",
                              "p": "top",
                              "pt": "msg",
                              "to": "top",
                              "tot": "env"
                          },
                          {
                              "t": "set",
                              "p": "top",
                              "pt": "msg",
                              "to": "'0_userdata.0.' & top",
                              "tot": "jsonata"
                          },
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "top & '.' & topic",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 2170,
                      "y": 320,
                      "wires": [
                          [
                              "0962842ebd23e0d7"
                          ]
                      ]
                  },
                  {
                      "id": "554b8c663bcb46c2",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "",
                      "property": "keepTopic",
                      "propertyType": "env",
                      "rules": [
                          {
                              "t": "true"
                          },
                          {
                              "t": "false"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 2,
                      "x": 170,
                      "y": 160,
                      "wires": [
                          [
                              "e30ba9f0483285e4"
                          ],
                          [
                              "e023fe88445ce43e"
                          ]
                      ]
                  },
                  {
                      "id": "e30ba9f0483285e4",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "",
                      "rules": [
                          {
                              "t": "change",
                              "p": "topic",
                              "pt": "msg",
                              "from": "/",
                              "fromt": "str",
                              "to": ".",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 350,
                      "y": 120,
                      "wires": [
                          [
                              "3649300b4c233b10"
                          ]
                      ]
                  },
                  {
                      "id": "0962842ebd23e0d7",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "translate invalid chars in topic",
                      "rules": [
                          {
                              "t": "change",
                              "p": "topic",
                              "pt": "msg",
                              "from": "..",
                              "fromt": "str",
                              "to": ".",
                              "tot": "str"
                          },
                          {
                              "t": "change",
                              "p": "topic",
                              "pt": "msg",
                              "from": "€",
                              "fromt": "str",
                              "to": "EUR",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 2430,
                      "y": 280,
                      "wires": [
                          []
                      ]
                  },
                  {
                      "id": "9ac3cc3681e8b6c6",
                      "type": "change",
                      "z": "6e802f1553b18149",
                      "name": "set topic, if empty",
                      "rules": [
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "topic ? topic : $type(payload)\t",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 950,
                      "y": 200,
                      "wires": [
                          [
                              "a096a93bb82b7a93"
                          ]
                      ]
                  },
                  {
                      "id": "fc7913a8524badb7",
                      "type": "json",
                      "z": "6e802f1553b18149",
                      "name": "",
                      "property": "payload",
                      "action": "obj",
                      "pretty": false,
                      "x": 750,
                      "y": 100,
                      "wires": [
                          [
                              "d9e7bdd4c48a8aa1"
                          ]
                      ]
                  },
                  {
                      "id": "d9e7bdd4c48a8aa1",
                      "type": "switch",
                      "z": "6e802f1553b18149",
                      "name": "is type?",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "istype",
                              "v": "array",
                              "vt": "array"
                          },
                          {
                              "t": "istype",
                              "v": "object",
                              "vt": "object"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 3,
                      "x": 900,
                      "y": 100,
                      "wires": [
                          [
                              "1520be42bcc2145e"
                          ],
                          [
                              "1520be42bcc2145e"
                          ],
                          [
                              "9ac3cc3681e8b6c6"
                          ]
                      ]
                  },
                  {
                      "id": "a096a93bb82b7a93",
                      "type": "junction",
                      "z": "6e802f1553b18149",
                      "x": 1380,
                      "y": 280,
                      "wires": [
                          [
                              "1a8c03d866b85b12"
                          ]
                      ]
                  },
                  {
                      "id": "1520be42bcc2145e",
                      "type": "junction",
                      "z": "6e802f1553b18149",
                      "x": 480,
                      "y": 20,
                      "wires": [
                          [
                              "3649300b4c233b10"
                          ]
                      ]
                  },
                  {
                      "id": "9582121ff81174a6",
                      "type": "tab",
                      "label": "Flow 15",
                      "disabled": false,
                      "info": "",
                      "env": []
                  },
                  {
                      "id": "4380d7035264bead",
                      "type": "group",
                      "z": "9582121ff81174a6",
                      "name": "Online/Offline Anzeige",
                      "style": {
                          "label": true,
                          "color": "#000000",
                          "fill": "#addb7b",
                          "fill-opacity": "0.38"
                      },
                      "nodes": [
                          "d2a5ed4e2b8c8674",
                          "b5c862f5d50c56cb",
                          "2e71b198fe06ccdb",
                          "144c29803a38e2a4",
                          "3a131237a7bdec9d"
                      ],
                      "x": 1294,
                      "y": 59,
                      "w": 412,
                      "h": 242
                  },
                  {
                      "id": "19ede36faf38f69b",
                      "type": "group",
                      "z": "9582121ff81174a6",
                      "name": "X1C Datenpunkt Umwandlung",
                      "style": {
                          "fill": "#ffff00",
                          "label": true,
                          "fill-opacity": "0.36",
                          "color": "#000000"
                      },
                      "nodes": [
                          "e2852c3101736fc9",
                          "477ecaa1b9913815",
                          "9fadcc36a22ec38b",
                          "44d9370861f0a79a",
                          "33a162f31f850a9e",
                          "f6c8fbdf638c04e8",
                          "ce27f3362985a4d3",
                          "89074ea56277b288",
                          "01c35b9bb3921713",
                          "3eb26b7322587c6b",
                          "21081e6a23dc83a1"
                      ],
                      "x": 74,
                      "y": 39,
                      "w": 1032,
                      "h": 322
                  },
                  {
                      "id": "e2852c3101736fc9",
                      "type": "subflow:6e802f1553b18149",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "",
                      "env": [
                          {
                              "name": "top",
                              "value": "P1P",
                              "type": "str"
                          }
                      ],
                      "x": 230,
                      "y": 160,
                      "wires": [
                          [
                              "ce27f3362985a4d3"
                          ]
                      ]
                  },
                  {
                      "id": "477ecaa1b9913815",
                      "type": "mqtt in",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "P1P",
                      "topic": "device/01S00A2C0501216/report",
                      "qos": "2",
                      "datatype": "auto-detect",
                      "broker": "84f61d394ba2ab34",
                      "nl": false,
                      "rap": true,
                      "rh": 0,
                      "inputs": 0,
                      "x": 150,
                      "y": 100,
                      "wires": [
                          [
                              "e2852c3101736fc9"
                          ]
                      ]
                  },
                  {
                      "id": "9fadcc36a22ec38b",
                      "type": "ioBroker out",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "schreibe Datenpunkte in ioBroker",
                      "topic": "",
                      "ack": "true",
                      "autoCreate": "true",
                      "stateName": "",
                      "role": "",
                      "payloadType": "",
                      "readonly": "",
                      "stateUnit": "",
                      "stateMin": "",
                      "stateMax": "",
                      "x": 940,
                      "y": 200,
                      "wires": []
                  },
                  {
                      "id": "44d9370861f0a79a",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "heatbreak_fan_speed",
                      "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 620,
                      "y": 120,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "33a162f31f850a9e",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "Stage Parser",
                      "func": "\nfunction parseAction(actionId) {\n    if(actionId === undefined) {\n        return \"\";\n    }\n    switch (actionId) {\n        case -2:\n            return \"Offline\";\n        case -1:\n            return \"Idle\";\n        case 0:\n            return \"Printing\";  // idle or printing\n        case 1:\n            return \"Auto bed leveling\";\n        case 2:\n            return \"Heatbed preheating\";\n        case 3:\n            return \"Sweeping XY mech mode\";\n        case 4:\n            return \"Changing filament\";\n        case 5:\n            return \"M400 pause\";\n        case 6:\n            return \"Paused due to filament runout\";\n        case 7:\n            return \"Heating hotend\";\n        case 8:\n            return \"Calibrating extrusion\";\n        case 9:\n            return \"Scanning bed surface\";\n        case 10:\n            return \"Inspecting first layer\";\n        case 11:\n            return \"Identifying build plate type\";\n        case 12:\n            return \"Calibrating Micro Lidar\";\n        case 13:\n            return \"Homing toolhead\";\n        case 14:\n            return \"Cleaning nozzle tip\";\n        case 15:\n            return \"Checking extruder temperature\";\n        case 16:\n            return \"Printing was paused by the user\";\n        case 17:\n            return \"Pause of front cover falling\";\n        case 18:\n            return \"Calibrating the micro lidar\";\n        case 19:\n            return \"Calibrating extrusion flow\";\n        case 20:\n            return \"Paused due to nozzle temperature malfunction\";\n        case 21:\n            return \"Paused due to heat bed temperature malfunction\";\n        default:\n            return actionId.toString()\n    }\n}\n\n\n\n    \nvar current_action = parseAction(msg.payload);\n\n\n\n    msg.payload = current_action;\n\n\n\n    return [msg];\n",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 590,
                      "y": 160,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "f6c8fbdf638c04e8",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "Translate X1C Speed Profile",
                      "func": "function parseAction(SpeedProfile) {\n    if (SpeedProfile === undefined) {\n        return \"\";\n    }\n    switch (SpeedProfile) {\n        case 1:\n            return \"Silent\";\n           \n        case 2:\n            return \"Standard\";\n            \n        case 3:\n            return \"Sport\";\n           \n        case 4:\n            return \"Ludicrous\";\n           \n        default:\n            return \"Undefined\";\n          \n\n   \n    }\n\n}\n\n\n\n    var SpeedProfile = parseAction(msg.payload);\n    msg.payload = SpeedProfile;\n\n\n    return [msg];\n\n\n",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 640,
                      "y": 200,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "ce27f3362985a4d3",
                      "type": "switch",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "Verteiler",
                      "property": "topic",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.cooling_fan_speed",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.heatbreak_fan_speed",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.stg_cur",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.spd_lvl",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.big_fan1_speed",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.big_fan2_speed",
                              "vt": "str"
                          },
                          {
                              "t": "eq",
                              "v": "0_userdata.0.X1C.print.mc_remaining_time",
                              "vt": "str"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 8,
                      "x": 420,
                      "y": 140,
                      "wires": [
                          [
                              "89074ea56277b288"
                          ],
                          [
                              "44d9370861f0a79a"
                          ],
                          [
                              "33a162f31f850a9e"
                          ],
                          [
                              "f6c8fbdf638c04e8"
                          ],
                          [
                              "3eb26b7322587c6b"
                          ],
                          [
                              "01c35b9bb3921713"
                          ],
                          [
                              "21081e6a23dc83a1"
                          ],
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ],
                      "outputLabels": [
                          "Cooling Fan Speed",
                          "Heatbreak Fan Speed",
                          "Stage Parser",
                          "Speed Profile",
                          "AUX Fan Speed",
                          "Chamber Fan Speed",
                          "remaining_time",
                          ""
                      ]
                  },
                  {
                      "id": "89074ea56277b288",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "cooling_fan_speed",
                      "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 610,
                      "y": 80,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "01c35b9bb3921713",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "big_fan2_speed (Chamber)",
                      "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 640,
                      "y": 280,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "3eb26b7322587c6b",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "big_fan1_speed (AUX)",
                      "func": "var percentages = {\n    \"0\": 0,\n    \"1\": 10,\n    \"2\": 20,\n    \"4\": 30,\n    \"5\": 40,\n    \"7\": 50,\n    \"9\": 60,\n    \"10\": 70,\n    \"12\": 80,\n    \"13\": 90,\n    \"15\": 100\n}\n\n    msg.payload = percentages[msg.payload]\n\n    return [msg];\n\n\n\n\n//msg.payload.print.big_fan1_speed_pct = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed_pct = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed_pct = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed_pct = percentages[msg.payload.print.cooling_fan_speed]\n\n// Overwrite\n//msg.payload.print.big_fan1_speed = percentages[msg.payload.print.big_fan1_speed]\n//msg.payload.print.big_fan2_speed = percentages[msg.payload.print.big_fan2_speed]\n//msg.payload.print.heatbreak_fan_speed = percentages[msg.payload.print.heatbreak_fan_speed]\n//msg.payload.print.cooling_fan_speed = percentages[msg.payload.print.cooling_fan_speed]\n\n\n//node.send(msg)",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 620,
                      "y": 240,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "21081e6a23dc83a1",
                      "type": "function",
                      "z": "9582121ff81174a6",
                      "g": "19ede36faf38f69b",
                      "name": "remaining_time",
                      "func": "//var timeleft = 3727; //1h:2m:7s\n//Umrechnung in Stunden, Minuten, Sekunden\n\nvar hour = Math.floor((msg.payload % 3600) / 60);\nvar minute = Math.floor(msg.payload % 60);\n\n//Den String von Stunden, Minuten und Sekunden auf 2 Stellen ändern\nif (hour < 10) {\nhour = \"0\" + hour;\n}\n\nif (minute < 10) {\nminute = \"0\" + minute;\n}\n\n\nmsg.payload = hour + \":\" + minute;\n\n\n\n\nreturn msg;\n\n",
                      "outputs": 1,
                      "noerr": 0,
                      "initialize": "",
                      "finalize": "",
                      "libs": [],
                      "x": 600,
                      "y": 320,
                      "wires": [
                          [
                              "9fadcc36a22ec38b"
                          ]
                      ]
                  },
                  {
                      "id": "b5c862f5d50c56cb",
                      "type": "switch",
                      "z": "9582121ff81174a6",
                      "g": "4380d7035264bead",
                      "name": "FALSE oder nicht?",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "false"
                          },
                          {
                              "t": "else"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 2,
                      "x": 1450,
                      "y": 140,
                      "wires": [
                          [
                              "144c29803a38e2a4"
                          ],
                          [
                              "2e71b198fe06ccdb"
                          ]
                      ]
                  },
                  {
                      "id": "2e71b198fe06ccdb",
                      "type": "change",
                      "z": "9582121ff81174a6",
                      "g": "4380d7035264bead",
                      "name": "setze msg.payload auf online",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "online",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1480,
                      "y": 220,
                      "wires": [
                          [
                              "3a131237a7bdec9d"
                          ]
                      ]
                  },
                  {
                      "id": "144c29803a38e2a4",
                      "type": "change",
                      "z": "9582121ff81174a6",
                      "g": "4380d7035264bead",
                      "name": "setze msg.payload auf offline",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "offline",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1480,
                      "y": 180,
                      "wires": [
                          [
                              "3a131237a7bdec9d"
                          ]
                      ]
                  },
                  {
                      "id": "3a131237a7bdec9d",
                      "type": "ioBroker out",
                      "z": "9582121ff81174a6",
                      "g": "4380d7035264bead",
                      "name": "Datenpunkt Verbindungsstatus des Druckers",
                      "topic": "0_userdata.0.P1P_Status.Verbindungsstatus",
                      "ack": "false",
                      "autoCreate": "true",
                      "stateName": "",
                      "role": "",
                      "payloadType": "string",
                      "readonly": "false",
                      "stateUnit": "",
                      "stateMin": "",
                      "stateMax": "",
                      "x": 1510,
                      "y": 260,
                      "wires": []
                  },
                  {
                      "id": "d2a5ed4e2b8c8674",
                      "type": "ping",
                      "z": "9582121ff81174a6",
                      "g": "4380d7035264bead",
                      "protocol": "IPv4",
                      "mode": "timed",
                      "name": "Ping IP des Druckers",
                      "host": "192.168.178.200",
                      "timer": "60",
                      "inputs": 0,
                      "x": 1420,
                      "y": 100,
                      "wires": [
                          [
                              "b5c862f5d50c56cb"
                          ]
                      ]
                  },
                  {
                      "id": "84f61d394ba2ab34",
                      "type": "mqtt-broker",
                      "name": "P1P",
                      "broker": "192.168.178.200",
                      "port": "1883",
                      "tls": "",
                      "clientid": "",
                      "autoConnect": true,
                      "usetls": false,
                      "protocolVersion": "4",
                      "keepalive": "60",
                      "cleansession": true,
                      "birthTopic": "",
                      "birthQos": "0",
                      "birthPayload": "",
                      "birthMsg": {},
                      "closeTopic": "",
                      "closeQos": "0",
                      "closePayload": "",
                      "closeMsg": {},
                      "willTopic": "",
                      "willQos": "0",
                      "willPayload": "",
                      "willMsg": {},
                      "userProps": "",
                      "sessionExpiry": "",
                      "credentials": {}
                  }
              ]
              

              Bildschirm­foto 2023-02-14 um 19.16.14.png Bildschirm­foto 2023-02-14 um 19.15.54.png Bildschirm­foto 2023-02-14 um 19.15.30.png Bildschirm­foto 2023-02-14 um 19.15.24.png

              D Offline
              D Offline
              dadonali
              schrieb am zuletzt editiert von
              #102

              Nicht hübsch, aber fürs Erste praktikabel :)

              Bildschirm­foto 2023-02-14 um 20.00.38.png

              1 Antwort Letzte Antwort
              1
              • D dadonali

                @darkdevil leider nein :( nur wenn app aufm handy oder aufm pc offen ist

                D Offline
                D Offline
                djalexz
                schrieb am zuletzt editiert von
                #103

                @dadonali Echt nicht?
                Kommt dann auch im Node-Red in der Debug Node nichts mehr an, wenn App und PC Software geschlossen sind?

                Das verstehe ich einfach nicht.
                Bei mir muss nur der Drucker an sein und gut ist.
                Es rasen sekündlich Nachrichten durch die Debug Node.

                D 1 Antwort Letzte Antwort
                0
                • D djalexz

                  @dadonali Echt nicht?
                  Kommt dann auch im Node-Red in der Debug Node nichts mehr an, wenn App und PC Software geschlossen sind?

                  Das verstehe ich einfach nicht.
                  Bei mir muss nur der Drucker an sein und gut ist.
                  Es rasen sekündlich Nachrichten durch die Debug Node.

                  D Offline
                  D Offline
                  dadonali
                  schrieb am zuletzt editiert von
                  #104

                  @djalexz Ich revidiere meine Aussage es kommen doch Daten rein :D habs gerade nochmal getestet ohne APP auf dem Macbook und auf dem Handy auf

                  D D 2 Antworten Letzte Antwort
                  0
                  • D dadonali

                    @djalexz Ich revidiere meine Aussage es kommen doch Daten rein :D habs gerade nochmal getestet ohne APP auf dem Macbook und auf dem Handy auf

                    D Offline
                    D Offline
                    djalexz
                    schrieb am zuletzt editiert von
                    #105

                    @dadonali Perfekt.
                    Dann bleibt nur noch die Frage was es bei @DarkDevil für ein Problem gibt.

                    1 Antwort Letzte Antwort
                    0
                    • D dadonali

                      @djalexz Ich revidiere meine Aussage es kommen doch Daten rein :D habs gerade nochmal getestet ohne APP auf dem Macbook und auf dem Handy auf

                      D Offline
                      D Offline
                      DarkDevil
                      schrieb am zuletzt editiert von
                      #106

                      @dadonali in der debug Node oder den datenpunkten?

                      D 1 Antwort Letzte Antwort
                      0
                      • D DarkDevil

                        @dadonali in der debug Node oder den datenpunkten?

                        D Offline
                        D Offline
                        dadonali
                        schrieb am zuletzt editiert von
                        #107

                        @darkdevil bei beidem, im Debug rasselt es durch und in den datenpunkten auch

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          djalexz
                          schrieb am zuletzt editiert von djalexz
                          #108

                          Für alle zur Information:
                          Laut einem anderen Forum ist es wohl so, dass der P1P nicht alle Daten sekündlich über MQTT schickt, wie der X1C es macht.
                          Es gibt einen Request Befehl beim P1P:

                          { “pushing”: { “sequence_id”: “1”, “command”: “pushall” }, “user_id”: “1234567890” }
                          

                          Hier zum Testen und zum Importieren in euer Node-Red:

                          [
                              {
                                  "id": "e4deb3c0f6038918",
                                  "type": "function",
                                  "z": "9582121ff81174a6",
                                  "name": "P1P Push",
                                  "func": "var P1P_Push = {\n    \"pushing\": {\n        \"sequence_id\": \"1\",\n        \"command\": \"pushall\"\n    },\n    \"user_id\": \"1234567890\"\n}\n\nmsg.payload=P1P_Push;\n\nreturn msg;",
                                  "outputs": 1,
                                  "noerr": 0,
                                  "initialize": "",
                                  "finalize": "",
                                  "libs": [],
                                  "x": 480,
                                  "y": 1040,
                                  "wires": [
                                      [
                                          "e042764ca5dc4c86",
                                          "da8e98a7bcfc4791"
                                      ]
                                  ]
                              },
                              {
                                  "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": 250,
                                  "y": 1040,
                                  "wires": [
                                      [
                                          "e4deb3c0f6038918"
                                      ]
                                  ]
                              },
                              {
                                  "id": "e042764ca5dc4c86",
                                  "type": "debug",
                                  "z": "9582121ff81174a6",
                                  "name": "debug 10",
                                  "active": true,
                                  "tosidebar": true,
                                  "console": false,
                                  "tostatus": false,
                                  "complete": "false",
                                  "statusVal": "",
                                  "statusType": "auto",
                                  "x": 760,
                                  "y": 940,
                                  "wires": []
                              },
                              {
                                  "id": "da8e98a7bcfc4791",
                                  "type": "mqtt out",
                                  "z": "9582121ff81174a6",
                                  "name": "bambu-mqtt-out x1c",
                                  "topic": "device/DeineSeriennummer/request",
                                  "qos": "1",
                                  "retain": "false",
                                  "respTopic": "",
                                  "contentType": "",
                                  "userProps": "",
                                  "correl": "",
                                  "expiry": "",
                                  "broker": "84f61d394ba2ab34",
                                  "x": 760,
                                  "y": 1040,
                                  "wires": []
                              },
                              {
                                  "id": "84f61d394ba2ab34",
                                  "type": "mqtt-broker",
                                  "name": "Bambu X1C MQTT Bambu_X1C",
                                  "broker": "192.168.0.111",
                                  "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": "",
                                  "credentials": {}
                              }
                          ]
                          

                          Mit dem Klick auf die Inject Node sollte eine Anfrage an euren P1P gesendet werden.
                          86afdb39-efe0-4b2e-8fe8-5c0e3237e657-image.png
                          Dieser sollte dann mit Werten antworten.

                          Ungetestet da kein P1P vorhanden.

                          1 Antwort Letzte Antwort
                          0
                          • kmxakK kmxak

                            Bambulabs in IOBroker

                            update am besten nun den Adapter verwenden: https://forum.iobroker.net/topic/67178/bambulab-3d-drucker-adapter

                            Nodered:
                            Aktuelle beste Anleitung aus dem Post ist aktuell hier zu finden:
                            https://forum.iobroker.net/post/946651

                            Wenn nicht mehr aktuell bitte PN oder einen neuen Beitrag erstellen.

                            Danke an alle Beteiligten!

                            Alter Post


                            Moin, hat da schon einer mal was gebastelt?

                            Ich bekommt zwar in Nodered die Daten rein aber ich habe keinen Plan wie ich die weiterverarbeiten muss.
                            Und keine Ahnung ob man das in den MQTT Adapter reinbekommt.

                            Vielleicht kann da ja einer von euch helfen.

                            Folgende Infos kann ich zusammentragen:
                            HAM Foreneintrag

                            Hier ein MQTT Datenmitschnitt

                            {
                                "print": {
                                    "ams": {
                                        "ams": [
                                            {
                                                "humidity": "4",
                                                "id": "0",
                                                "temp": "28.2",
                                                "tray": [
                                                    {
                                                        "bed_temp": "0",
                                                        "bed_temp_type": "0",
                                                        "drying_temp": "0",
                                                        "drying_time": "0",
                                                        "id": "0",
                                                        "nozzle_temp_max": "270",
                                                        "nozzle_temp_min": "220",
                                                        "remain": 0,
                                                        "tag_uid": "0000000000000000",
                                                        "tray_color": "000000FF",
                                                        "tray_diameter": "0.00",
                                                        "tray_id_name": "",
                                                        "tray_info_idx": "GFG99",
                                                        "tray_sub_brands": "",
                                                        "tray_type": "PETG",
                                                        "tray_uuid": "00000000000000000000000000000000",
                                                        "tray_weight": "0",
                                                        "xcam_info": "000000000000000000000000"
                                                    },
                                                    {
                                                        "bed_temp": "0",
                                                        "bed_temp_type": "0",
                                                        "drying_temp": "0",
                                                        "drying_time": "0",
                                                        "id": "1",
                                                        "nozzle_temp_max": "270",
                                                        "nozzle_temp_min": "220",
                                                        "remain": 0,
                                                        "tag_uid": "0000000000000000",
                                                        "tray_color": "C0C0C0FF",
                                                        "tray_diameter": "0.00",
                                                        "tray_id_name": "",
                                                        "tray_info_idx": "GFG99",
                                                        "tray_sub_brands": "",
                                                        "tray_type": "PETG",
                                                        "tray_uuid": "00000000000000000000000000000000",
                                                        "tray_weight": "0",
                                                        "xcam_info": "000000000000000000000000"
                                                    },
                                                    {
                                                        "bed_temp": "0",
                                                        "bed_temp_type": "0",
                                                        "drying_temp": "0",
                                                        "drying_time": "0",
                                                        "id": "2",
                                                        "nozzle_temp_max": "270",
                                                        "nozzle_temp_min": "220",
                                                        "remain": 0,
                                                        "tag_uid": "0000000000000000",
                                                        "tray_color": "FFFFFFFF",
                                                        "tray_diameter": "0.00",
                                                        "tray_id_name": "",
                                                        "tray_info_idx": "GFG99",
                                                        "tray_sub_brands": "",
                                                        "tray_type": "PETG",
                                                        "tray_uuid": "00000000000000000000000000000000",
                                                        "tray_weight": "0",
                                                        "xcam_info": "000000000000000000000000"
                                                    },
                                                    {
                                                        "bed_temp": "0",
                                                        "bed_temp_type": "0",
                                                        "drying_temp": "0",
                                                        "drying_time": "0",
                                                        "id": "3",
                                                        "nozzle_temp_max": "270",
                                                        "nozzle_temp_min": "220",
                                                        "remain": 0,
                                                        "tag_uid": "0000000000000000",
                                                        "tray_color": "FF8040FF",
                                                        "tray_diameter": "0.00",
                                                        "tray_id_name": "",
                                                        "tray_info_idx": "GFG99",
                                                        "tray_sub_brands": "",
                                                        "tray_type": "PETG",
                                                        "tray_uuid": "00000000000000000000000000000000",
                                                        "tray_weight": "0",
                                                        "xcam_info": "000000000000000000000000"
                                                    }
                                                ]
                                            }
                                        ],
                                        "ams_exist_bits": "1",
                                        "insert_flag": true,
                                        "power_on_flag": false,
                                        "tray_exist_bits": "f",
                                        "tray_is_bbl_bits": "f",
                                        "tray_now": "0",
                                        "tray_read_done_bits": "f",
                                        "tray_reading_bits": "0",
                                        "tray_tar": "0",
                                        "version": 9
                                    },
                                    "ams_rfid_status": 2,
                                    "ams_status": 768,
                                    "bed_target_temper": 70.0,
                                    "bed_temper": 70.0,
                                    "big_fan1_speed": "0",
                                    "big_fan2_speed": "10",
                                    "chamber_temper": 36.0,
                                    "command": "push_status",
                                    "cooling_fan_speed": "13",
                                    "fail_reason": "0",
                                    "fan_gear": 11665637,
                                    "force_upgrade": false,
                                    "gcode_file": "/data/Metadata/plate_1.gcode",
                                    "gcode_file_prepare_percent": "0",
                                    "gcode_start_time": "1672498467",
                                    "gcode_state": "RUNNING",
                                    "heatbreak_fan_speed": "15",
                                    "hms": [
                                        {
                                            "attr": 201327360,
                                            "code": 196616
                                        }
                                    ],
                                    "home_flag": 367,
                                    "hw_switch_state": 1,
                                    "ipcam": {
                                        "ipcam_dev": "1",
                                        "ipcam_record": "enable",
                                        "resolution": "1080p",
                                        "timelapse": "disable"
                                    },
                                    "lifecycle": "product",
                                    "lights_report": [
                                        {
                                            "mode": "on",
                                            "node": "chamber_light"
                                        },
                                        {
                                            "mode": "flashing",
                                            "node": "work_light"
                                        }
                                    ],
                                    "mc_percent": 56,
                                    "mc_print_error_code": "0",
                                    "mc_print_stage": "2",
                                    "mc_print_sub_stage": 0,
                                    "mc_remaining_time": 35,
                                    "mess_production_state": "active",
                                    "nozzle_target_temper": 250.0,
                                    "nozzle_temper": 250.0,
                                    "online": {
                                        "ahb": false,
                                        "rfid": false
                                    },
                                    "print_error": 0,
                                    "print_gcode_action": 0,
                                    "print_real_action": 0,
                                    "print_type": "cloud",
                                    "profile_id": "918494",
                                    "project_id": "918495",
                                    "sdcard": true,
                                    "sequence_id": "2021",
                                    "spd_lvl": 3,
                                    "spd_mag": 124,
                                    "stg": [
                                        2,
                                        14,
                                        13
                                    ],
                                    "stg_cur": 0,
                                    "subtask_id": "1767345",
                                    "subtask_name": "BambuLab - Temperature Tower - ABS_plate_1",
                                    "task_id": "1767344",
                                    "upgrade_state": {
                                        "ahb_new_version_number": "",
                                        "ams_new_version_number": "",
                                        "consistency_request": false,
                                        "dis_state": 0,
                                        "err_code": 0,
                                        "force_upgrade": false,
                                        "message": "",
                                        "module": "null",
                                        "new_version_state": 2,
                                        "ota_new_version_number": "",
                                        "progress": "0",
                                        "sequence_id": 0,
                                        "status": "IDLE"
                                    },
                                    "upload": {
                                        "file_size": 0,
                                        "finish_size": 0,
                                        "message": "Good",
                                        "oss_url": "",
                                        "progress": 0,
                                        "sequence_id": "0903",
                                        "speed": 0,
                                        "status": "idle",
                                        "task_id": "",
                                        "time_remaining": 0,
                                        "trouble_id": ""
                                    },
                                    "wifi_signal": "-74dBm",
                                    "xcam": {
                                        "allow_skip_parts": false,
                                        "buildplate_marker_detector": true,
                                        "first_layer_inspector": true,
                                        "halt_print_sensitivity": "medium",
                                        "print_halt": true,
                                        "printing_monitor": true,
                                        "spaghetti_detector": true
                                    },
                                    "xcam_status": "32770"
                                }
                            }
                            

                            und der aktuelle Nodered Snipsel

                            [
                                {
                                    "id": "e05db343dc9b5051",
                                    "type": "tab",
                                    "label": "Flow 1",
                                    "disabled": false,
                                    "info": "",
                                    "env": []
                                },
                                {
                                    "id": "f3e241e1991cd4bc",
                                    "type": "mqtt in",
                                    "z": "e05db343dc9b5051",
                                    "name": "X1C",
                                    "topic": "#",
                                    "qos": "2",
                                    "datatype": "auto-detect",
                                    "broker": "b29ff8bd52db703f",
                                    "nl": false,
                                    "rap": true,
                                    "rh": 0,
                                    "inputs": 0,
                                    "x": 430,
                                    "y": 560,
                                    "wires": [
                                        [
                                            "c198f89e1ed78428"
                                        ]
                                    ]
                                },
                                {
                                    "id": "8640b8ff.f82ff8",
                                    "type": "debug",
                                    "z": "e05db343dc9b5051",
                                    "name": "",
                                    "active": true,
                                    "tosidebar": true,
                                    "console": false,
                                    "tostatus": false,
                                    "complete": "payload",
                                    "targetType": "msg",
                                    "statusVal": "",
                                    "statusType": "auto",
                                    "x": 750,
                                    "y": 560,
                                    "wires": []
                                },
                                {
                                    "id": "c198f89e1ed78428",
                                    "type": "json",
                                    "z": "e05db343dc9b5051",
                                    "name": "",
                                    "property": "#",
                                    "action": "",
                                    "pretty": false,
                                    "x": 570,
                                    "y": 560,
                                    "wires": [
                                        [
                                            "38e789d5ee2dc6bb",
                                            "8640b8ff.f82ff8"
                                        ]
                                    ]
                                },
                                {
                                    "id": "38e789d5ee2dc6bb",
                                    "type": "debug",
                                    "z": "e05db343dc9b5051",
                                    "name": "",
                                    "active": true,
                                    "tosidebar": true,
                                    "console": false,
                                    "tostatus": false,
                                    "complete": "payload.print.bed_temper",
                                    "targetType": "msg",
                                    "statusVal": "",
                                    "statusType": "auto",
                                    "x": 810,
                                    "y": 620,
                                    "wires": []
                                },
                                {
                                    "id": "b29ff8bd52db703f",
                                    "type": "mqtt-broker",
                                    "name": "X1C",
                                    "broker": "192.168.2.230",
                                    "port": "1883",
                                    "clientid": "",
                                    "autoConnect": true,
                                    "usetls": false,
                                    "protocolVersion": "4",
                                    "keepalive": "60",
                                    "cleansession": true,
                                    "birthTopic": "",
                                    "birthQos": "0",
                                    "birthPayload": "",
                                    "birthMsg": {},
                                    "closeTopic": "",
                                    "closeQos": "0",
                                    "closePayload": "",
                                    "closeMsg": {},
                                    "willTopic": "",
                                    "willQos": "0",
                                    "willPayload": "",
                                    "willMsg": {},
                                    "userProps": "",
                                    "sessionExpiry": ""
                                }
                            ]
                            

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #109

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

                            https://forum.iobroker.net/topic/61585/bambu-lab-3d-drucker-mqtt-integration/69

                            Diese relativen Links kannst Du nicht verwenden - da je nach Sortierung im Thread ein ganz falscher Eintrag referenziert wird . Falls es um diesen Beitrag geht:

                            c7556d83-1201-457b-84be-cc02dc4a703d-image.png

                            diesen Link verwenden: https://forum.iobroker.net/post/946651

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • B Offline
                              B Offline
                              baeri
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                dadonali
                                schrieb am zuletzt editiert von
                                #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 Antworten Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  djalexz
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von djalexz
                                    #113

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

                                    1 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #114

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

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • X Offline
                                        X Offline
                                        XSDiver
                                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                        0
                                        • D dadonali

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

                                          D Offline
                                          D Offline
                                          djalexz
                                          schrieb am zuletzt editiert von
                                          #116

                                          @dadonali
                                          Moin, ja sollte gehen.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          810

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe