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

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

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Bambu lab 3d Drucker MQTT Integration

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
121 Beiträge 9 Kommentatoren 28.8k 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 das hatte ich fälschlicherweise geändert :D , aber ist wieder rückgängig gemacht.

    Ihr seid die geilsten! Es läuft :)

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

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #96

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

    @mickym

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

    Ihr seid die geilsten! Es läuft :)

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

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

    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.

    D 1 Antwort Letzte Antwort
    0
    • mickymM mickym

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

      @mickym

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

      Ihr seid die geilsten! Es läuft :)

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

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

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

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

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

      D mickymM 2 Antworten Letzte Antwort
      0
      • D dadonali

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

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

        D Online
        D Online
        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 Online
                        D Online
                        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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          516

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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