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

  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.2k

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

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

Bambu lab 3d Drucker MQTT Integration

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
121 Beiträge 9 Kommentatoren 28.0k 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.
  • 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 Online
      mickymM Online
      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 Online
                          mickymM Online
                          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
                                        • B baeri

                                          Hallo zusammen,

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

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

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

                                          DutchmanD Online
                                          DutchmanD Online
                                          Dutchman
                                          Developer Most Active Administrators
                                          schrieb am zuletzt editiert von Dutchman
                                          #117

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

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

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

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

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

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

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

                                          Hier zum adapter: ioBroker.bambulab

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

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          516

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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