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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. MAX! Cube Blockly Abwesenheit

NEWS

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

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

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

MAX! Cube Blockly Abwesenheit

MAX! Cube Blockly Abwesenheit

Scheduled Pinned Locked Moved Blockly
867 Posts 4 Posters 192.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Marko1974M Marko1974

    @mickym said in MAX! Cube Blockly Abwesenheit:

    @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

    Man könnte ja mal probieren alle Blocklys die ich habe probieren in Node red nachzubauen. Die sind nicht gross.
    Aber dieses Heizungsding ist einfach zu gewaltig. Da muss man sich schon sehr gut auskennen.
    Das ist so als ob ich Englisch lerne und Du kommst nicht mit Peter, Paul and Mary sondern direkt mit Romeo und Julia um die Ecke.
    Einfach too much auf einmal.

    Nun ich bin ja noch lange nicht durch - wir stehen ja nun vor den Heizungen - kann ich das einfach mal durch erklären - ich WERDE DIR heute nämlich definitiv keinen neuen Flow schreiben.

    Na das sollst Du ja auch nicht! Um Gottes Willen.

    Du musst ja auch nicht alles verstehen - aber vielleicht nimmst DU Dir diese Erklärung halt mehr als einmal vor und gehst das halt durch. Du siehst ja dass meine Postings ja auch einen ziemlichen Zeitaufwand für mich darstellen und diese Mühe mache ich mir nur, wenn ich auch nur den Hauch einer Chance sehe, dass sie morgen nicht wieder vergessen sind.

    Ja das verstehe ich und das werde ich auch tun.

    Eine Frage noch: Warum machst Du das?
    Also denkst Du doch bestimmt bei mir gibts noch eine Chance, dass ich das demnächst hinbekomme? 😉

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    wrote on last edited by mickym
    #632

    @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

    Eine Frage noch: Warum machst Du das?
    Also denkst Du doch bestimmt bei mir gibts noch eine Chance, dass ich das demnächst hinbekomme?

    Ich werde Dir den ganzen Flow erklären auch wenn es mich noch einen Tag kostet. 😉

    Warum ich das mache - nun Du sollst als erstes mal erkennen, welche Genialität hinter NodeRed steckt. 😉 - aber das nur am Rande.
    Ja ich gebe Dir eine Chance, aber so gerne ich helfe - wenn Du mal anschaust wievielen anderen ich geholfen habe, mache ich das nur, wenn die Leute es dann auch nutzen können. Wenn es Dir nur darum geht Lösungen - egal ob für die Miele Waschmaschine - oder Deine Shellies geht - oder eben Deiner Heizung geht - solltest Du in der Lage sein, so was selbst zu basteln.

    Neben dem Tool - solltest Du aber auch einfach Ideen bekommen, wie man diese Dinge anpackt.

    Was NodeRed so aussergewöhnlich macht - dass Du über diese Nodes und Kabel den Funktionsablauf siehst und Du wirst egal welches Problem Dir immer auch in der Hausautomation begegnet immer wie folgt vorgehen:

    1. Links - du startes wie beim Lesen: die Trigger (Input Nodes, Iobroker IN Nodes, Alexa Nodes - was auch immer).
    2. Mitte: Dann verarbeitest Du diese Informationen
    3. Rechts: Du gibst Ergebnisse aus - an Datenpunkte in Deine Visualisierung, in Dateien, in Datenbanken, in Telegram, in was weiß ich.

    Ich will das Du es verstehst und dann auch nicht mehr solche Vorschläge machst, ob Du mit Inject Nodes setpoints ausliest , was Du vorher vorgeschlagen hast.

    Bitte ändere die Objekte der beiden Change Nodes noch in dem Du die korrespondierenden Thermostate in das JSON Objekt definierst und dann schau Dir an, was ich damit machen um effizient Deine telegram Ausgabe zu realisieren. Wenn Du auch wenn es komplex scheint - wird es Dir einfacher werden, wenn Du das Prinzip verstanden hast.

    Und warum ich das mache - Du sollst nicht hilflos sein - und es wird vielleicht nicht so viele Leute geben - auch nicht hier an Board die überhaupt bereits sind den Flow nachzuvollziehen. Du siehst ja - der Flow musste ja von mir auch ein paar Mal angepasst werden bis er so lief, wer es jetzt tut.

    Und ich möchte, dass Du selbstständig mit solchen Dingen umgehen kannst. Wir sind hier ein Forum, wo man sich gegenseitig hilft. Aber ich bin kein Implementierer und mach das auch nicht berufstätig und wenn Du hier bist, willst Du es ja auch selbst machen. Ansonsten kannst DU einen Hausautomatisierer beauftragen, da drückst Du dann ein paar Scheine ab und bei jeder Änderung darfst Du den wieder holen und er steckt sich weitere Scheine in die Tasche - und das wollen wir doch alle hier nicht. Wir wollen die Dinge doch selbst in die Hand nehmen, oder???

    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 Reply Last reply
    0
    • Marko1974M Offline
      Marko1974M Offline
      Marko1974
      wrote on last edited by
      #633

      @mickym said in MAX! Cube Blockly Abwesenheit:

      @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

      Eine Frage noch: Warum machst Du das?
      Also denkst Du doch bestimmt bei mir gibts noch eine Chance, dass ich das demnächst hinbekomme?

      Ich werde Dir den ganzen Flow erklären auch wenn es mich noch einen Tag kostet. 😉

      Warum ich das mache - nun Du sollst als erstes mal erkennen, welche Genialität hinter NodeRed steckt. 😉 - aber das nur am Rande.
      Ja ich gebe Dir eine Chance, aber so gerne ich helfe - wenn Du mal anschaust wievielen anderen ich geholfen habe, mache ich das nur, wenn die Leute es dann auch nutzen können. Wenn es Dir nur darum geht Lösungen - egal ob für die Miele Waschmaschine - oder Deine Shellies geht - oder eben Deiner Heizung geht - solltest Du in der Lage sein, so was selbst zu basteln.

      Neben dem Tool - solltest Du aber auch einfach Ideen bekommen, wie man diese Dinge anpackt.

      Was NodeRed so aussergewöhnlich macht - dass Du über diese Nodes und Kabel den Funktionsablauf siehst und Du wirst egal welches Problem Dir immer auch in der Hausautomation begegnet immer wie folgt vorgehen:

      1. Links - du startes wie beim Lesen: die Trigger (Input Nodes, Iobroker IN Nodes, Alexa Nodes - was auch immer).
      2. Mitte: Dann verarbeitest Du diese Informationen
      3. Rechts: Du gibst Ergebnisse aus - an Datenpunkte in Deine Visualisierung, in Dateien, in Datenbanken, in Telegram, in was weiß ich.

      Ich will das Du es verstehst und dann auch nicht mehr solche Vorschläge machst, ob Du mit Inject Nodes setpoints ausliest , was Du vorher vorgeschlagen hast.

      Bitte ändere die Objekte der beiden Change Nodes noch in dem Du die korrespondierenden Thermostate in das JSON Objekt definierst und dann schau Dir an, was ich damit machen um effizient Deine telegram Ausgabe zu realisieren. Wenn Du auch wenn es komplex scheint - wird es Dir einfacher werden, wenn Du das Prinzip verstanden hast.

      Und warum ich das mache - Du sollst nicht hilflos sein - und es wird vielleicht nicht so viele Leute geben - auch nicht hier an Board die überhaupt bereits sind den Flow nachzuvollziehen. Du siehst ja - der Flow musste ja von mir auch ein paar Mal angepasst werden bis er so lief, wer es jetzt tut.

      Und ich möchte, dass Du selbstständig mit solchen Dingen umgehen kannst. Wir sind hier ein Forum, wo man sich gegenseitig hilft. Aber ich bin kein Implementierer und mach das auch nicht berufstätig und wenn Du hier bist, willst Du es ja auch selbst machen. Ansonsten kannst DU einen Hausautomatisierer beauftragen, da drückst Du dann ein paar Scheine ab und bei jeder Änderung darfst Du den wieder holen und er steckt sich weitere Scheine in die Tasche - und das wollen wir doch alle hier nicht. Wir wollen die Dinge doch selbst in die Hand nehmen, oder???

      Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
      Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.

      Waschmaschine....ein ganz schlechtes Thema

      mickymM 1 Reply Last reply
      0
      • Marko1974M Marko1974

        @mickym said in MAX! Cube Blockly Abwesenheit:

        @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

        Eine Frage noch: Warum machst Du das?
        Also denkst Du doch bestimmt bei mir gibts noch eine Chance, dass ich das demnächst hinbekomme?

        Ich werde Dir den ganzen Flow erklären auch wenn es mich noch einen Tag kostet. 😉

        Warum ich das mache - nun Du sollst als erstes mal erkennen, welche Genialität hinter NodeRed steckt. 😉 - aber das nur am Rande.
        Ja ich gebe Dir eine Chance, aber so gerne ich helfe - wenn Du mal anschaust wievielen anderen ich geholfen habe, mache ich das nur, wenn die Leute es dann auch nutzen können. Wenn es Dir nur darum geht Lösungen - egal ob für die Miele Waschmaschine - oder Deine Shellies geht - oder eben Deiner Heizung geht - solltest Du in der Lage sein, so was selbst zu basteln.

        Neben dem Tool - solltest Du aber auch einfach Ideen bekommen, wie man diese Dinge anpackt.

        Was NodeRed so aussergewöhnlich macht - dass Du über diese Nodes und Kabel den Funktionsablauf siehst und Du wirst egal welches Problem Dir immer auch in der Hausautomation begegnet immer wie folgt vorgehen:

        1. Links - du startes wie beim Lesen: die Trigger (Input Nodes, Iobroker IN Nodes, Alexa Nodes - was auch immer).
        2. Mitte: Dann verarbeitest Du diese Informationen
        3. Rechts: Du gibst Ergebnisse aus - an Datenpunkte in Deine Visualisierung, in Dateien, in Datenbanken, in Telegram, in was weiß ich.

        Ich will das Du es verstehst und dann auch nicht mehr solche Vorschläge machst, ob Du mit Inject Nodes setpoints ausliest , was Du vorher vorgeschlagen hast.

        Bitte ändere die Objekte der beiden Change Nodes noch in dem Du die korrespondierenden Thermostate in das JSON Objekt definierst und dann schau Dir an, was ich damit machen um effizient Deine telegram Ausgabe zu realisieren. Wenn Du auch wenn es komplex scheint - wird es Dir einfacher werden, wenn Du das Prinzip verstanden hast.

        Und warum ich das mache - Du sollst nicht hilflos sein - und es wird vielleicht nicht so viele Leute geben - auch nicht hier an Board die überhaupt bereits sind den Flow nachzuvollziehen. Du siehst ja - der Flow musste ja von mir auch ein paar Mal angepasst werden bis er so lief, wer es jetzt tut.

        Und ich möchte, dass Du selbstständig mit solchen Dingen umgehen kannst. Wir sind hier ein Forum, wo man sich gegenseitig hilft. Aber ich bin kein Implementierer und mach das auch nicht berufstätig und wenn Du hier bist, willst Du es ja auch selbst machen. Ansonsten kannst DU einen Hausautomatisierer beauftragen, da drückst Du dann ein paar Scheine ab und bei jeder Änderung darfst Du den wieder holen und er steckt sich weitere Scheine in die Tasche - und das wollen wir doch alle hier nicht. Wir wollen die Dinge doch selbst in die Hand nehmen, oder???

        Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
        Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.

        Waschmaschine....ein ganz schlechtes Thema

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        wrote on last edited by
        #634

        @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

        Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
        Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.
        Waschmaschine....ein ganz schlechtes Thema

        Vielleicht machen wir es bei den nächsten Flows - der Telegrammausgabe so, dass ich Dir sage, wie man es implementiert - ggf. auch mit Screenshots - aber ich exportiere keine Flows mehr, sondern schau mir nur an, was Du gemacht hast.

        Also bitte ergänze bitte die beiden Objekte aus den beiden Change Nodes mit den zugehörigen Thermostaten und stelle mir hier die JSON Strings zur Verfügung - das wäre mal ein guter Anfang.

        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.

        Marko1974M 1 Reply Last reply
        0
        • mickymM mickym

          @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

          Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
          Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.
          Waschmaschine....ein ganz schlechtes Thema

          Vielleicht machen wir es bei den nächsten Flows - der Telegrammausgabe so, dass ich Dir sage, wie man es implementiert - ggf. auch mit Screenshots - aber ich exportiere keine Flows mehr, sondern schau mir nur an, was Du gemacht hast.

          Also bitte ergänze bitte die beiden Objekte aus den beiden Change Nodes mit den zugehörigen Thermostaten und stelle mir hier die JSON Strings zur Verfügung - das wäre mal ein guter Anfang.

          Marko1974M Offline
          Marko1974M Offline
          Marko1974
          wrote on last edited by Marko1974
          #635

          @mickym said in MAX! Cube Blockly Abwesenheit:

          @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

          Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
          Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.
          Waschmaschine....ein ganz schlechtes Thema

          Vielleicht machen wir es bei den nächsten Flows - der Telegrammausgabe so, dass ich Dir sage, wie man es implementiert - ggf. auch mit Screenshots - aber ich exportiere keine Flows mehr, sondern schau mir nur an, was Du gemacht hast.

          Also bitte ergänze bitte die beiden Objekte aus den beiden Change Nodes mit den zugehörigen Thermostaten und stelle mir hier die JSON Strings zur Verfügung - das wäre mal ein guter Anfang.

          Ich mache das morgen....jetzt ist wieder Bettzeit.
          Bin schon wieder arg drüber.

          mickymM 1 Reply Last reply
          0
          • Marko1974M Marko1974

            @mickym said in MAX! Cube Blockly Abwesenheit:

            @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

            Wenn ich das nicht hätte selbst machen wollen, wäre ich nicht jeden und jeden Tag dran es zu perfektionieren.
            Dann hätte ich mir auch homekit fertige Dinge kaufen können und hätte keinen Stress. Die Möglichkeiten sind immens und so schön individualisierbar.
            Waschmaschine....ein ganz schlechtes Thema

            Vielleicht machen wir es bei den nächsten Flows - der Telegrammausgabe so, dass ich Dir sage, wie man es implementiert - ggf. auch mit Screenshots - aber ich exportiere keine Flows mehr, sondern schau mir nur an, was Du gemacht hast.

            Also bitte ergänze bitte die beiden Objekte aus den beiden Change Nodes mit den zugehörigen Thermostaten und stelle mir hier die JSON Strings zur Verfügung - das wäre mal ein guter Anfang.

            Ich mache das morgen....jetzt ist wieder Bettzeit.
            Bin schon wieder arg drüber.

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #636

            @marko1974 Ok dann schlaf gut - ich werde versuchen den restlichen Flow zu erläutern. Bin auch morgen abend erst so wieder zwischen 21 und 22 Uhr wieder da. 😉 Ansonsten am Nachmittag falls was 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.

            Marko1974M mickymM 2 Replies Last reply
            0
            • mickymM mickym

              @marko1974 Ok dann schlaf gut - ich werde versuchen den restlichen Flow zu erläutern. Bin auch morgen abend erst so wieder zwischen 21 und 22 Uhr wieder da. 😉 Ansonsten am Nachmittag falls was ist.

              Marko1974M Offline
              Marko1974M Offline
              Marko1974
              wrote on last edited by
              #637

              @mickym said in MAX! Cube Blockly Abwesenheit:

              @marko1974 Ok dann schlaf gut - ich werde versuchen den restlichen Flow zu erläutern. Bin auch morgen abend erst so wieder zwischen 21 und 22 Uhr wieder da. 😉 Ansonsten am Nachmittag falls was ist.

              😍

              1 Reply Last reply
              0
              • mickymM mickym

                @marko1974 Ok dann schlaf gut - ich werde versuchen den restlichen Flow zu erläutern. Bin auch morgen abend erst so wieder zwischen 21 und 22 Uhr wieder da. 😉 Ansonsten am Nachmittag falls was ist.

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                wrote on last edited by mickym
                #638

                @mickym

                @marko1974 So also die Heizung Switch Node verteilt die Nachrichten auf die einzelnen Heizungen, in dem

                71a2adb5-10ec-478c-a378-9ea01b1eea36-image.png

                die room Eigenschaft des msg. Objektes analysieren.

                In den einzelnen Heizungen switch Nodes wird nun der aktuelle Modus analysiert:

                274133f5-9be4-41e2-bfc4-f516dc3309f3-image.png

                Je nachdem was für ein Modus aktiv ist wird das Nachrichtenobjekt an die verschiedenen Ausgänge geleitet und ausser der AUTO Modus Node. Dieser AUTO Mode hat zu den manuellen Modi 2 zustätzliche Aufgaben:

                1. Die Temperatur soll nach einem Zeitschema geändert werden
                2. Der Auto-Mode soll aktiv übernehmen, auch wenn aus einem anderen Mode nach AUTO gewechselt wurde.

                Punkt 2 hat gestern nicht funktioniert, da die AUTO Node (also die Subflow Node) überhaupt nicht mitbekommen hat, wenn wieder auf AUTO gewechselt wurde. Das erste Mal hat der AUTO Node funktioniert, dann wurde auf OFF umgestellt, hat auch funktioniert dann wieder auf AUTO zurückgestellt und es kam nichts mehr raus. 😞 - Nun war mir zwar klar warum, aber am Anfang war die Lösung, wie die AUTO Node den Modewechsel mitbekommt trotzdem nicht so einfach.
                Im Prinzip hätte AUTO erst wieder übernommen, wenn eine neue Zeitperiode aktiv wird. Sprich wenn man von OFF auf AUTO gewechselt hat und die aktuelle Zeitperiode von 9-22 Uhr anhält, wäre nach Anwesenheit von OFF auf AUTO erst um 22 Uhr wieder ein Wechsel stattgefunden. Da am Anfang nur jede Node, die Nachrichten empfing für dessen Mode sie bestimmt war hat die AUTO Node nie mitbekommen, dass zwischenzeitlich ein anderen Mode eingestellt war und deshalb kein Temperatur verschickt, weil sich ja nichts geändert hat und generell ja nur Änderungen verschickt werden.

                Stellt man hingegen einen der anderen 3 Modes ein - ist das weniger tragisch. Hier wird nur dann weitergeleitet, wenn sich eine andere Temperatur ergibt. Wenn aber HEAT und ECO beispielsweise die gleiche Temperatur aufweist ist das egal, weil nichts geschickt werden muss, weil wenn nichts gesendet wird es auch egal ist, wenn sich der Modus geändert hat - in beiden Fällen wird nichts gesendet. Es wird also keine Temperatur verschickt, wenn sich diese durch den Modus nicht ändert. Also wenn man den Modus von HEAT auf ECO und umgekehrt wechselt und beide auf die gleiche Temperatur eingestellt sind, wird keine Nachricht an den setpoint des Thermostats verschickt.

                Die Auto Node hat aber nicht die unterschiedliche Temperatur als Kriterium für das Versenden von Nachrichten, sondern nur ein Wechsel der Zeitperiode.

                Deswegen stand ich gestern vor der Herausforderung, wie ich es bewerkstellige, dass die AUTO Nodes ein Wechsel des Modus mitbekommen. Da das aber in einem Subflow ist - funktioniert das auch mit den Kontextvariablen nicht so einfach. Nach einer Stunde hatte ich dann den Geistesblitz erst mal alle Nachrichten - nicht nur die mit der Eigenschaft mode=AUTO an die Subflow Node also an die AUTO Node weiterzureichen.
                Das heisst auch alle Nachrichten im mode=HEAT,ECO oder OFF gehen auch an die AUTO node. Deswegen wird beim ersten Ausgang der Heizungsnode einfach nur gepüft, ob das Nachrichtenobjekt nicht leer ist und das trifft ja auf alle Nachrichten zu. (Vorher stand eben für den ersten Ausgang für den mode = AUTO drin analog zu den anderen Modi).

                d6fcb57d-2b05-4bef-9be6-1bca178df198-image.png

                So nun schauen wir erst mal die Subflows - also die AUTO Nodes an - und war erst mal im Hinblick auf die Behandlung des Moduswechsels.

                Hier nochmal in der Subflow in ganzer Ansicht:

                67468164-7178-4101-87e1-13ee391435f6-image.png

                Wichtig sind die beiden switch Nodes - die als Filter dienen und die parallel angeordnet sind und somit wie bei einem Schaltplan (deswegen wieder eine Stärke dieses Tools) auch grafisch einer ODER Verknüpfung gleich zu setzen ist.

                Die payload wird über die Temperatur gesetzt - ansonsten bleibt das originale Nachrichten aber erhalten. 🙂 🙂 und das ist in diesem Fall genial .

                Eine rbe Node scheidet auf, weil hier nur auf Werteänderung der payload geprüft wird.

                Schauen wir uns also als nächstes das Nachrichtenobjekt an, dass aus so einer Temperaturnode herauskommt, die ja wie folgt definiert ist:

                Sie definiert ein payload Objekt mit der zur jeweiligen Periode zugrhörigen Temperatur:

                2c35c705-c8f1-4969-b082-be6ae68cdeff-image.png

                WIchtig ist also - wie das Nachrichtenobjekt der Temperatur-Nodes aussieht:

                143cdd7b-6149-4d6e-a091-31bfbc164049-image.png

                8a4e53c6-0e73-46df-9b1d-7fafa7d5ae98-image.png

                Unten sieht man das payload object, die als Zahl die aktuelle Periode enthält.

                Ursprünglich war also nur die switch Node da - die geprüft hat, ob sich die Periode geändert hat, das hätte auch eine rbe Node gekonnt. Nun musste ich einen Umgehungsweg finde, wie trotzdem eine Nachricht weitergeleitet wenn sich der modus geändert hat.

                Deshalb werden 2 unterschiedliche Bereiche des Nachrichtenobjektes untersucht und das konnte mit 2 parallel geschalteten Switch Node erreicht werden, die auf Werteänderung einmal der Periode

                6699cfdd-b713-430c-82ec-01bc060f2af5-image.png

                und einmal des modes prüfen:

                1cde09a2-2971-441a-bc6b-e75cb6fa8dd5-image.png

                Wird eine der beiden Bedingungen erfüllt - wird nun die Nachricht weitergeleitet. Nun da ja alle Nachrichten dort ankommen, werden nun ja auch Nachrichten durchgelassen, die beim Moduswechsel zwischen 2 anderen mode's
                erfolgen (also ECO und OFF). Um diese Nachrichten nicht durchzulassen, werden diese dann am Ende ausgefiltert, sodass die AUTO Nodes nichts ausspuken:

                bb76de01-0ce2-4321-b163-1e64d0d98c0f-image.png

                7039cdcb-0712-428c-a81d-79bdb164d481-image.png

                Dieses Mal muss die 2. switch Node in Serie geschaltet werden - um eine UND Verknüpfung zu implementieren. Es muss also ein Moduswechsel stattgefunden haben und die mode Eigenschaft AUTO aufweisen, damit der untere Weg die Nachricht durchlässt.

                So zum Schluss noch eine kurze Erklärung der restlichen Nodes damit die Nachricht bzw. das msg.Objekt an der richtigen Temperaturnode ausggeben wird - hier gibts ein paar Tricks - die ich selbst erst mal rausgefunden habe, um den Flow einigermaßen übersichtlich zu halten:

                Als erstes wird ein neues payload Objekt generiert und zwar mit einer sehr mächtigen JSONATA Funktion:
                Die erste Change Node erzeugt folgendes payload Objekt der aktuellen Uhrzeit und des aktuellen Wochentags - wenn ein Nachricht in die AUTO Node kommt.

                7734d1d4-bb54-4cbe-bf52-9a5c5da01088-image.png b203b43e-da6e-4f18-9cdf-d1944abf1af0-image.png

                Die Change Node ist wie folgt aufgebaut:

                131f40ae-0094-45c9-9c57-8f88d476ec07-image.png

                Über die beiden unteren Regel werden 2 Datumsobjekte des aktuellen Zeitpunkts generiert und im ersten Objekt der Wochentag extrahiert mit dem Format "dddd" und der payload Eigenschaft weekday zugewiesen und mit dem Format "HH:mm" der payload Eigenschaft time zugewiesen.

                Wenn man in der Change Mode bei dem JSONATA auf die 3 Punkte klickt - dann kann man den Befehl editieren und sieht auch die ganzen JSONATA Funktionien, die hier genutzt werden können:

                In diesem Fall ist die Beschreibung der $moment Funktion eher spärlich:

                0575154f-1f26-4cc7-b070-6f4fd6b4a23c-image.png

                Hier eine Webseite - welche Funktionen die Moment Library beschreibt:

                https://momentjs.com/docs/#/displaying/format/
                Hier die verwendeten Formate kurz hervorgehoben:

                8aeb8e0b-27f5-45d9-8885-46056aa3fd3c-image.png

                So nun noch die nächste switch Node - um mal zu zeigen, wie man reguläre Ausdrücke in switch Nodes auch anders nutzen kann. 😉

                Anstelle von 7 Ausgängen für jeden Wochentag und Verkabelung mit einem Zeitschema - kann man auch nur die Anzahl der benötigten Ausdrücke definieren und regEX nutzen indem man einfach die zu match (enden) Wörter mit ODER verknüpft:

                3a44fe27-a2dd-4bee-9e65-d50d6854d9ae-image.png

                die richtige Temperatur mit dem richtige Ausgang wird über die folgende Switch Node gesetzt wobei hier String Vergleiche aber mit Bereichen sehr einfach implementiert werden können:

                b5a23ebc-26ad-4f75-a2d7-0df8e61bc0e6-image.png

                So wir nähern uns dem Ende. 😉

                Bei den anderen Modi wird die Temperatur einfach auf die eingelesenen Werte oder einen konstanten Wert für OFF gesetzt:

                OFF wird einfach auf einen konstanten Zahlenwert, also auf 4.5 gesetzt:

                0b64557d-b60f-4ee3-b9d8-622d4bad58cb-image.png

                Bei eingelesenen Werten wird die payload auf die eingelesenen Werte und somit auf die im Nachrichtenobjekt mitgeführten Eigenschaften ausserhalb des payload Objektes gesetzt:

                392c3e47-f092-4041-bfb8-03f8c7a185ac-image.png

                So nun der Ausgänge des Hauptflows je Heizung:

                78beac16-922c-4975-aa72-76138e3b3429-image.png

                Aus allen 4 Nodes kommt also ein Zahlenwert raus, der die Temperatur darstellt, der für den setpoint des DP des MAXCube Adapters geschickt werden soll. Allerdings nur wenn die Temperatur verändert ist, sonst würde alle Minute ein Temperaturwert für jedes Thermostat geschickt und spätesten nach 10 Minuten ist der DutyCycle vor - deswegen oberste Prio bei diesem Flow war - nur wirklich notwendige Nachrichten zu verschicken.

                Die rbe Node lässt grundsätzlich nur veränderte Werte durch und enthält den letzten gesetzten Temperaturwert.
                Wie oben schon erwähnt, wenn zwischen den manuellen Modi gewechselt wird und die Temperatur nicht geändert wird muss auch kein Nachricht gesendet wird.

                Setzt man also die ECO Temperatur im Datenpunkt unter userdata auf 4,5°C und wechselt zwischen ECO und OFF - wird keine Nachricht gesendet usw. .

                Die AUTO Node hat zum einen Bypass - da ja der Zeitplan weiter aktiv bleiben muss. Wenn man die Temperatur des AUTO Nodes nur in die rbe Node fließen lassen wurde, dann würde das auch beim Wechsel der Periode geblockt, wenn die nächste Temperaturänderung der letzten Temperatur eines AUTO Modus übereinstimmt. Sprich war der letzte manuelle Modus als HEAT 22°C und die aktuelle Periode im AUTO Modus ist auch 22°C würde keine Nachricht weiter geleitet.

                Wir wollten ja, dass wenn man mit ALEXA einen neue Temperatur setzen als 24°C, dass das AUTO Programm weiter aktiv wird und wir nicht den manuellen Modus ausschalten müssen, da der MAX Cube Adapter immer auf den manuellen Modus umschaltet, sobald eine Temperatur gesetzt wird. Dies ist und war ja der Hauptgrund warum wir den ganzen Aufwand betreiben - weil es nicht gewünscht war, dass man aktiv wieder vom manuellen Modus wieder in den AUTO Modus schalten muss.
                Da ALEXA ja direkt den setpoint des Thermostates setzt, soll ja bei nächsten Wechsel der Zeitperiode die Temperatur des AUTO Plans aktiv sein und das geht nur, wenn die AUTO Node senden kann, egal welchen Wert die letzte Temperatur eines manuellen Modus war.

                So das war die Begründung warum ein Kabel aus der AUTO Node die rbe Node umgeht. Warum muss man trotzdem die AUTO Node mit der rbe Node verbinden?

                In der rbe steht ja immer ein Temperaturwert und der muss sich ändern, um die Nachricht weiterzuleiten. Wenn man die Nachricht aus der AUTO Node einfach direkt weiterschickt - war ja im ursprünglichen Flow so und die rbe die gesetzte Temperatur des AUTO Nodes nicht mitbekommt, dann passiert folgendes.
                Es wird auf Modus OFF gesetzt, rbe Node enthält 4.5°C - Nachricht wird geschickt, weil die rbe Node ja noch nicht initialisiert war und es noch keinen Vorgängerwert gibt. Nun wird auf AUTO umgeschaltet - es wird direkt 17°C an den setpoint des Thermostats geschickt. Nun schaltet man wieder auf OFF. Es wird keine Nachricht geschickt, da dort ja immer noch 4,5°C steht. Also wird die rbe Node auch mit der Temperatur der AUTO Nodes versorgt. Damit wird beim Zurückschalten auf OFF die NAchricht wieder weitergeleitet, weil nun in der rbe Node ja die 17°C der Auto Node stehen und die 4,5°C ja nun wieder eine Wertänderung darstellt.

                So und nun die Entprell-Node - eine Trigger Node - die genialste Node im gesamten NodeRed System - weil die für so viele Anwendungsfälle verwendet werden kann.
                Nun in diesem Fall werden ja aus dem AutoNode ein NAchrichtenobjekt beim Wechsel in den AUTO Mode einmal in die rbe Node geschickt und einmal direkt an die Verzögerungsnode. Es würden also 2 mal die gleichen Nachrichten mit der gleichen Temperatur geschickt. Das kann man zwar eigentlich vernachlässigen, aber um halt sicherzustellen, dass nur eine Nachricht verschickt wird - prüft man einfach, dass wenn innerhalb eines bestimmten Zeitraums nur 1 Nachricht verschickt wird.

                Deshalb ist die Trigger Node (also die Entprellen Node) wie folgt konfiguriert.

                3a8d7295-9697-431c-9139-10b77269db67-image.png

                So als erstes kommt die Nachricht von der AUTO Node direkt in die Trigger Node und kurz darauf von der rbe Node. Die trigger Node wartet also 1 Sekunde und innerhalb dieser Sekunde 2 Nachrichten reinkommen, wird nur die letzte Nachricht geschickt.

                Eigentlich ist das ein unnötige Verzögerung. Im Prinzip kann man die Trigger Node umgekehrt konfigurieren:

                442f9283-3205-438f-b935-f33c6f825da7-image.png

                In diesem Fall wird die Nachricht aus der AUTO Node sofort und ohne Zeitverzögerung weitergeleitet. Die Nachricht der rbe Node die innerhalb einer Sekunde kommt, wird weggeschmissen. Das Intervall wird ausgedehnt wenn immer weitere Nachrichten kommen - das heißt jedes Dauerfeuer wird unterbrochen.

                Zum Schluss werden alle Nachrichten mit einer halben Sekunde Verzögerung verschickt. Da die Heizungen ja parallel arbeiten - laufen die also in einer Node zusammen und werden dort in einer Queue gespeichert und dann mit gebremster Geschwindigkeit weitergeleitet.

                So nun habe ich den Flow erklärt. Ich habe versucht sowohl die Funktion der Nodes zu erklären, aber auch die Logik, die in dem Flow steckt. Wichtig dafür ist aber wirklich, dass man sich voll auf diese Logik konzentriert, wenn sich da ablenken lässt - dann gibt es zuviele Logikfehler. Ich hoffe das wurde deutlich in dem ich versucht habe diverse Szenarien logisch in dem Flow durchzuspielen.

                So nun habe ich fertig. 😅 😅 😅 😅

                Und nochmal ein Tipp - wenn ich mir Eure Waschmaschinen- Blocklies anschaue. Überleg Dir mal wieviel Komfort so eine TriggerNode oder eine Aggregator Node für Dich bieten würde. 😉 Lies Dir mal die Hilfe zu diesen Nodes durch.

                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 Reply Last reply
                0
                • Marko1974M Marko1974

                  Hallo zusammen,

                  ich bin jetzt ewig schon dabei alle Dinge in ioBroker umzusetzen.
                  Ich hatte immer sehr viele zusammengewürfelte Systeme und ioBroker funktioniert immer noch am besten.
                  Verzweiflung herrscht immer noch mit der Abwesenheit.

                  Ich habe den maxcube Adapter nicht installiert, da ich die alten eq3 Thermostate mit dem MaxCube am besten immer noch über Homebridge steuern konnte.
                  Ich hab die Homebridge in Homekit drin und dort eigentlich eine Abwesenheit der Iphones konfiguriert.
                  Als Steuerzentrale habe ich ein Pad, welches immer komplett am Strom sein muss, damit die Verbindung gesichert ist. Das lief auch immer zuverlaessig.
                  Wenn eine Person ankommt gehen die Heizungen an.
                  Sind 2 Personen weg, sind die Heizungen aus.

                  Wollte nun mal probieren diese Anwesenheitssteuerung in ioBroker umzusetzen.
                  Es scheitert ja schon daran, dass ich weder den MaxCube Adapter laufen habe. Noch die Homebridge in ioBroker.
                  Homebridge läuft separat und der Adapter halt in der Homebridge.
                  Ich kann die Geräte jedoch über den Alexa Adapter ansteuern - da werden sie angezeigt.

                  Hier kann man dann nur die Temperatur ändern. Leider nicht die Einstellung AUTO/MANUAL/OFF

                  Ich habe nun mal anfänglich ein Blockly zusammengezimmert - meine Frage ist: kann das so funktionieren? Die Anwesenheit kommt aus Homekit und könnte zusätzlich noch mit fritzbox presence als 2. Abwesenheitsobjekt getriggert werden.

                  Die Heizungen würden dann nach 5 min Pause die Temperatur 4,5 bekommen. Dies entspräche AUS. Das Thermostat bleibt allerdings auf AUTO stehen. Heisst, dass die Heizung bei der nächsten Schaltung über die gespeicherten Profile in MAXCube wieder den geplanten Wert bekommen, selbst wenn man weg ist.

                  1. Könnte man das irgendwie umgehen? z.b. Dass vielleicht jede 20 Min der Wert nochmal gesendet wird, wenn Anwesenheit=false?

                  2. funktioniert das Blockly so wie es ist oder habe ich etwas falsch gemacht?

                  Ja ich könnte alles in iobroker mit MaxCube Adapter umfrickeln.
                  Jedoch werde ich dann wieder Tage brauchen, dies in Homekit über yakha einzubinden und Zeitgleich soll ja auch nach alexa exposed werden. Da ich die Cloud nicht habe, da es für meine Eltern ist und für mich eher ein Hobby mag ich da nicht investieren und habe bezüglich des exposen nach Alexa node-red genommen. Jedoch noch nicht für die Thermostate..... ich will erstmal gucken ob das hier zufriedenstellend laufen kann.

                  Für Hilfe immer dankbar! 😉

                  heizung2.jpg

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  wrote on last edited by
                  #639

                  @marko1974 Nach dem Du ja beim Thema Waschmaschine schon wieder mit Blocklies unterwegs bist, scheinen Dich ja meine Tipps am Ende meiner Flow Beschreibung weniger zu interessieren.

                  Um Dir die Möglichkeiten der Split Node auch in Zusammenhang mit einer JOIN Node zu demonstrieren - habe ich im folgendem Flow mal ein paar Beispiele zusammen gefasst:

                  [
                     {
                         "id": "c8872a87.997ae8",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "All OFF -JS Objekt(JSON)",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "{\"Kinderzimmer\":{\"mode\":\"OFF\"},\"Schlafzimmer\":{\"mode\":\"OFF\"},\"Wohnzimmer\":{\"mode\":\"OFF\"},\"Flur\":{\"mode\":\"OFF\"},\"Küche\":{\"mode\":\"OFF\"},\"Badezimmer\":{\"mode\":\"OFF\"}}",
                         "payloadType": "json",
                         "x": 990,
                         "y": 780,
                         "wires": [
                             [
                                 "f3062735.80d058",
                                 "125e1468.8fbd0c",
                                 "4d20e55f.3e7b0c"
                             ]
                         ]
                     },
                     {
                         "id": "3c719b28.ea0e14",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "Array",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                         "payloadType": "json",
                         "x": 1050,
                         "y": 860,
                         "wires": [
                             [
                                 "f3062735.80d058",
                                 "125e1468.8fbd0c",
                                 "4d20e55f.3e7b0c"
                             ]
                         ]
                     },
                     {
                         "id": "f7725813.8a2f28",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "JS Objekt (JSON)",
                         "props": [
                             {
                                 "p": "heizung",
                                 "v": "{\"name\":\"Schlafzimmerthermo xyz\",\"mode\":\"AUTO\",\"setpointtemperature\":20}",
                                 "vt": "json"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payloadType": "str",
                         "x": 1010,
                         "y": 720,
                         "wires": [
                             [
                                 "f3062735.80d058",
                                 "125e1468.8fbd0c",
                                 "4d20e55f.3e7b0c"
                             ]
                         ]
                     },
                     {
                         "id": "f3062735.80d058",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Originaler Input",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "true",
                         "targetType": "full",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1260,
                         "y": 760,
                         "wires": []
                     },
                     {
                         "id": "b9decd2d.f55e",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "string - also Text",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "Die Heizung im Kinderzimmer ist auf 17°C eingestellt - Die Heizung im Wohnzimmer ist auf 22°C eingestellt - Die Heizung im Schlafzimmer ist auf 17°C eingestellt - Im Flur wir nie geheizt - In der Küche ist es immer warm",
                         "payloadType": "str",
                         "x": 1020,
                         "y": 920,
                         "wires": [
                             [
                                 "f3062735.80d058",
                                 "125e1468.8fbd0c",
                                 "4d20e55f.3e7b0c"
                             ]
                         ]
                     },
                     {
                         "id": "7d86d57b.46709c",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Aufgeteilter Input ",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "true",
                         "targetType": "full",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1450,
                         "y": 940,
                         "wires": []
                     },
                     {
                         "id": "125e1468.8fbd0c",
                         "type": "split",
                         "z": "f51578d8.868868",
                         "name": "",
                         "splt": "- ",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 1240,
                         "y": 1020,
                         "wires": [
                             [
                                 "7d86d57b.46709c",
                                 "44a7b809.4203c8",
                                 "32b92a90.0878d6"
                             ]
                         ]
                     },
                     {
                         "id": "44a7b809.4203c8",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Aufgeteilter Input ",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1450,
                         "y": 980,
                         "wires": []
                     },
                     {
                         "id": "4d20e55f.3e7b0c",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Originaler Input",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1260,
                         "y": 800,
                         "wires": []
                     },
                     {
                         "id": "32b92a90.0878d6",
                         "type": "join",
                         "z": "f51578d8.868868",
                         "name": "",
                         "mode": "auto",
                         "build": "string",
                         "property": "payload",
                         "propertyType": "msg",
                         "key": "topic",
                         "joiner": "\\n",
                         "joinerType": "str",
                         "accumulate": "false",
                         "timeout": "",
                         "count": "",
                         "reduceRight": false,
                         "x": 1410,
                         "y": 1060,
                         "wires": [
                             [
                                 "353ca7c0.fc6f78",
                                 "a394b548.7ee2d8"
                             ]
                         ]
                     },
                     {
                         "id": "353ca7c0.fc6f78",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Wieder zusammengesetzer Input ",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "true",
                         "targetType": "full",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1660,
                         "y": 1060,
                         "wires": []
                     },
                     {
                         "id": "a394b548.7ee2d8",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Wieder zusammengesetzer Input ",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1660,
                         "y": 1100,
                         "wires": []
                     },
                     {
                         "id": "42a3c2d7.6305ac",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "Array",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                         "payloadType": "json",
                         "x": 1030,
                         "y": 1240,
                         "wires": [
                             [
                                 "135a2676.aa76fa"
                             ]
                         ]
                     },
                     {
                         "id": "135a2676.aa76fa",
                         "type": "split",
                         "z": "f51578d8.868868",
                         "name": "",
                         "splt": "- ",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 1170,
                         "y": 1240,
                         "wires": [
                             [
                                 "855a4de2.cdf7a",
                                 "686ea273.c66dac"
                             ]
                         ]
                     },
                     {
                         "id": "686ea273.c66dac",
                         "type": "join",
                         "z": "f51578d8.868868",
                         "name": "",
                         "mode": "reduce",
                         "build": "string",
                         "property": "payload",
                         "propertyType": "msg",
                         "key": "topic",
                         "joiner": "\\n",
                         "joinerType": "str",
                         "accumulate": false,
                         "timeout": "",
                         "count": "",
                         "reduceRight": false,
                         "reduceExp": "$A & payload & \" - \"",
                         "reduceInit": "",
                         "reduceInitType": "str",
                         "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                         "x": 1470,
                         "y": 1240,
                         "wires": [
                             [
                                 "18140ac7.295275"
                             ]
                         ]
                     },
                     {
                         "id": "18140ac7.295275",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Wieder zusammengesetzer Input ",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1700,
                         "y": 1240,
                         "wires": []
                     },
                     {
                         "id": "855a4de2.cdf7a",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Aufgeteilter Input ",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1350,
                         "y": 1180,
                         "wires": []
                     },
                     {
                         "id": "f4ba6b18.c94338",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "false",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 830,
                         "y": 1040,
                         "wires": []
                     },
                     {
                         "id": "aeeb109c.d84fe",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "Array",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[1,2,3]",
                         "payloadType": "json",
                         "x": 1010,
                         "y": 1580,
                         "wires": [
                             [
                                 "8c6e0a94.c66b58"
                             ]
                         ]
                     },
                     {
                         "id": "8c6e0a94.c66b58",
                         "type": "split",
                         "z": "f51578d8.868868",
                         "name": "",
                         "splt": "- ",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 1150,
                         "y": 1580,
                         "wires": [
                             [
                                 "7550a747.916db8",
                                 "f29be1a0.4b39b"
                             ]
                         ]
                     },
                     {
                         "id": "f29be1a0.4b39b",
                         "type": "join",
                         "z": "f51578d8.868868",
                         "name": "",
                         "mode": "reduce",
                         "build": "string",
                         "property": "payload",
                         "propertyType": "msg",
                         "key": "topic",
                         "joiner": "\\n",
                         "joinerType": "str",
                         "accumulate": false,
                         "timeout": "",
                         "count": "",
                         "reduceRight": false,
                         "reduceExp": "$A + payload",
                         "reduceInit": "0",
                         "reduceInitType": "num",
                         "reduceFixup": "",
                         "x": 1450,
                         "y": 1580,
                         "wires": [
                             [
                                 "244872b6.57050e"
                             ]
                         ]
                     },
                     {
                         "id": "244872b6.57050e",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Wieder zusammengesetzer Input ",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1680,
                         "y": 1580,
                         "wires": []
                     },
                     {
                         "id": "7550a747.916db8",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Aufgeteilter Input ",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1330,
                         "y": 1520,
                         "wires": []
                     },
                     {
                         "id": "d236e710.7db608",
                         "type": "inject",
                         "z": "f51578d8.868868",
                         "name": "Array",
                         "props": [
                             {
                                 "p": "payload"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                         "payloadType": "json",
                         "x": 1010,
                         "y": 1400,
                         "wires": [
                             [
                                 "f3df0c37.b2496"
                             ]
                         ]
                     },
                     {
                         "id": "f3df0c37.b2496",
                         "type": "split",
                         "z": "f51578d8.868868",
                         "name": "",
                         "splt": "- ",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "",
                         "x": 1150,
                         "y": 1400,
                         "wires": [
                             [
                                 "8d977bbd.932998",
                                 "46f88853.8d5f18"
                             ]
                         ]
                     },
                     {
                         "id": "ca8a83d6.fc65f",
                         "type": "join",
                         "z": "f51578d8.868868",
                         "name": "",
                         "mode": "auto",
                         "build": "string",
                         "property": "payload",
                         "propertyType": "msg",
                         "key": "topic",
                         "joiner": "\\n",
                         "joinerType": "str",
                         "accumulate": false,
                         "timeout": "",
                         "count": "",
                         "reduceRight": false,
                         "reduceExp": "$A & payload & \" - \"",
                         "reduceInit": "",
                         "reduceInitType": "str",
                         "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                         "x": 1450,
                         "y": 1400,
                         "wires": [
                             [
                                 "998db142.16b6c"
                             ]
                         ]
                     },
                     {
                         "id": "998db142.16b6c",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Wieder zusammengesetzer Input ",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1680,
                         "y": 1400,
                         "wires": []
                     },
                     {
                         "id": "8d977bbd.932998",
                         "type": "debug",
                         "z": "f51578d8.868868",
                         "name": "Aufgeteilter Input ",
                         "active": false,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 1330,
                         "y": 1340,
                         "wires": []
                     },
                     {
                         "id": "46f88853.8d5f18",
                         "type": "change",
                         "z": "f51578d8.868868",
                         "name": "translate",
                         "rules": [
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Montag",
                                 "fromt": "str",
                                 "to": "Monday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Dienstag",
                                 "fromt": "str",
                                 "to": "Tuesday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Mittwoch",
                                 "fromt": "str",
                                 "to": "Wednesday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Donnerstag",
                                 "fromt": "str",
                                 "to": "Thursday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Freitag",
                                 "fromt": "str",
                                 "to": "Friday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Samstag",
                                 "fromt": "str",
                                 "to": "Saturday",
                                 "tot": "str"
                             },
                             {
                                 "t": "change",
                                 "p": "payload",
                                 "pt": "msg",
                                 "from": "Sonntag",
                                 "fromt": "str",
                                 "to": "Sunday",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 1300,
                         "y": 1400,
                         "wires": [
                             [
                                 "ca8a83d6.fc65f"
                             ]
                         ]
                     },
                     {
                         "id": "62fa32cf.d5b37c",
                         "type": "comment",
                         "z": "f51578d8.868868",
                         "name": "Lies mich",
                         "info": "Warum das Ganze - erst splitten dann wieder zusammensetzen. Nun damit kann man die einzelnen Werte bearbeiten und wieder zusammensetzen. Jedoch muss Anzahl identisch bleiben - das heißt die parts müssen gleich bleiben",
                         "x": 880,
                         "y": 1320,
                         "wires": []
                     },
                     {
                         "id": "a57f4164.a432",
                         "type": "comment",
                         "z": "f51578d8.868868",
                         "name": "Lies mich",
                         "info": "msg.parts anschauen - die split Node generiert hat:\n\nschau Dir an:\n\nmsg.parts.count\nmsg.parts.index",
                         "x": 1420,
                         "y": 880,
                         "wires": []
                     }
                  ]
                  

                  Ansonsten dann bis später am Abend.

                  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.

                  Marko1974M 1 Reply Last reply
                  0
                  • mickymM mickym

                    @marko1974 Nach dem Du ja beim Thema Waschmaschine schon wieder mit Blocklies unterwegs bist, scheinen Dich ja meine Tipps am Ende meiner Flow Beschreibung weniger zu interessieren.

                    Um Dir die Möglichkeiten der Split Node auch in Zusammenhang mit einer JOIN Node zu demonstrieren - habe ich im folgendem Flow mal ein paar Beispiele zusammen gefasst:

                    [
                       {
                           "id": "c8872a87.997ae8",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "All OFF -JS Objekt(JSON)",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "{\"Kinderzimmer\":{\"mode\":\"OFF\"},\"Schlafzimmer\":{\"mode\":\"OFF\"},\"Wohnzimmer\":{\"mode\":\"OFF\"},\"Flur\":{\"mode\":\"OFF\"},\"Küche\":{\"mode\":\"OFF\"},\"Badezimmer\":{\"mode\":\"OFF\"}}",
                           "payloadType": "json",
                           "x": 990,
                           "y": 780,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "3c719b28.ea0e14",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1050,
                           "y": 860,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "f7725813.8a2f28",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "JS Objekt (JSON)",
                           "props": [
                               {
                                   "p": "heizung",
                                   "v": "{\"name\":\"Schlafzimmerthermo xyz\",\"mode\":\"AUTO\",\"setpointtemperature\":20}",
                                   "vt": "json"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payloadType": "str",
                           "x": 1010,
                           "y": 720,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "f3062735.80d058",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Originaler Input",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1260,
                           "y": 760,
                           "wires": []
                       },
                       {
                           "id": "b9decd2d.f55e",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "string - also Text",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "Die Heizung im Kinderzimmer ist auf 17°C eingestellt - Die Heizung im Wohnzimmer ist auf 22°C eingestellt - Die Heizung im Schlafzimmer ist auf 17°C eingestellt - Im Flur wir nie geheizt - In der Küche ist es immer warm",
                           "payloadType": "str",
                           "x": 1020,
                           "y": 920,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "7d86d57b.46709c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1450,
                           "y": 940,
                           "wires": []
                       },
                       {
                           "id": "125e1468.8fbd0c",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1240,
                           "y": 1020,
                           "wires": [
                               [
                                   "7d86d57b.46709c",
                                   "44a7b809.4203c8",
                                   "32b92a90.0878d6"
                               ]
                           ]
                       },
                       {
                           "id": "44a7b809.4203c8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1450,
                           "y": 980,
                           "wires": []
                       },
                       {
                           "id": "4d20e55f.3e7b0c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Originaler Input",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1260,
                           "y": 800,
                           "wires": []
                       },
                       {
                           "id": "32b92a90.0878d6",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "auto",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": "false",
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "x": 1410,
                           "y": 1060,
                           "wires": [
                               [
                                   "353ca7c0.fc6f78",
                                   "a394b548.7ee2d8"
                               ]
                           ]
                       },
                       {
                           "id": "353ca7c0.fc6f78",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1660,
                           "y": 1060,
                           "wires": []
                       },
                       {
                           "id": "a394b548.7ee2d8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1660,
                           "y": 1100,
                           "wires": []
                       },
                       {
                           "id": "42a3c2d7.6305ac",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1030,
                           "y": 1240,
                           "wires": [
                               [
                                   "135a2676.aa76fa"
                               ]
                           ]
                       },
                       {
                           "id": "135a2676.aa76fa",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1170,
                           "y": 1240,
                           "wires": [
                               [
                                   "855a4de2.cdf7a",
                                   "686ea273.c66dac"
                               ]
                           ]
                       },
                       {
                           "id": "686ea273.c66dac",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "reduce",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A & payload & \" - \"",
                           "reduceInit": "",
                           "reduceInitType": "str",
                           "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                           "x": 1470,
                           "y": 1240,
                           "wires": [
                               [
                                   "18140ac7.295275"
                               ]
                           ]
                       },
                       {
                           "id": "18140ac7.295275",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1700,
                           "y": 1240,
                           "wires": []
                       },
                       {
                           "id": "855a4de2.cdf7a",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1350,
                           "y": 1180,
                           "wires": []
                       },
                       {
                           "id": "f4ba6b18.c94338",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "false",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 830,
                           "y": 1040,
                           "wires": []
                       },
                       {
                           "id": "aeeb109c.d84fe",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[1,2,3]",
                           "payloadType": "json",
                           "x": 1010,
                           "y": 1580,
                           "wires": [
                               [
                                   "8c6e0a94.c66b58"
                               ]
                           ]
                       },
                       {
                           "id": "8c6e0a94.c66b58",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1150,
                           "y": 1580,
                           "wires": [
                               [
                                   "7550a747.916db8",
                                   "f29be1a0.4b39b"
                               ]
                           ]
                       },
                       {
                           "id": "f29be1a0.4b39b",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "reduce",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A + payload",
                           "reduceInit": "0",
                           "reduceInitType": "num",
                           "reduceFixup": "",
                           "x": 1450,
                           "y": 1580,
                           "wires": [
                               [
                                   "244872b6.57050e"
                               ]
                           ]
                       },
                       {
                           "id": "244872b6.57050e",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1680,
                           "y": 1580,
                           "wires": []
                       },
                       {
                           "id": "7550a747.916db8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1330,
                           "y": 1520,
                           "wires": []
                       },
                       {
                           "id": "d236e710.7db608",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1010,
                           "y": 1400,
                           "wires": [
                               [
                                   "f3df0c37.b2496"
                               ]
                           ]
                       },
                       {
                           "id": "f3df0c37.b2496",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1150,
                           "y": 1400,
                           "wires": [
                               [
                                   "8d977bbd.932998",
                                   "46f88853.8d5f18"
                               ]
                           ]
                       },
                       {
                           "id": "ca8a83d6.fc65f",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "auto",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A & payload & \" - \"",
                           "reduceInit": "",
                           "reduceInitType": "str",
                           "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                           "x": 1450,
                           "y": 1400,
                           "wires": [
                               [
                                   "998db142.16b6c"
                               ]
                           ]
                       },
                       {
                           "id": "998db142.16b6c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1680,
                           "y": 1400,
                           "wires": []
                       },
                       {
                           "id": "8d977bbd.932998",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1330,
                           "y": 1340,
                           "wires": []
                       },
                       {
                           "id": "46f88853.8d5f18",
                           "type": "change",
                           "z": "f51578d8.868868",
                           "name": "translate",
                           "rules": [
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Montag",
                                   "fromt": "str",
                                   "to": "Monday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Dienstag",
                                   "fromt": "str",
                                   "to": "Tuesday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Mittwoch",
                                   "fromt": "str",
                                   "to": "Wednesday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Donnerstag",
                                   "fromt": "str",
                                   "to": "Thursday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Freitag",
                                   "fromt": "str",
                                   "to": "Friday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Samstag",
                                   "fromt": "str",
                                   "to": "Saturday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Sonntag",
                                   "fromt": "str",
                                   "to": "Sunday",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1300,
                           "y": 1400,
                           "wires": [
                               [
                                   "ca8a83d6.fc65f"
                               ]
                           ]
                       },
                       {
                           "id": "62fa32cf.d5b37c",
                           "type": "comment",
                           "z": "f51578d8.868868",
                           "name": "Lies mich",
                           "info": "Warum das Ganze - erst splitten dann wieder zusammensetzen. Nun damit kann man die einzelnen Werte bearbeiten und wieder zusammensetzen. Jedoch muss Anzahl identisch bleiben - das heißt die parts müssen gleich bleiben",
                           "x": 880,
                           "y": 1320,
                           "wires": []
                       },
                       {
                           "id": "a57f4164.a432",
                           "type": "comment",
                           "z": "f51578d8.868868",
                           "name": "Lies mich",
                           "info": "msg.parts anschauen - die split Node generiert hat:\n\nschau Dir an:\n\nmsg.parts.count\nmsg.parts.index",
                           "x": 1420,
                           "y": 880,
                           "wires": []
                       }
                    ]
                    

                    Ansonsten dann bis später am Abend.

                    Marko1974M Offline
                    Marko1974M Offline
                    Marko1974
                    wrote on last edited by
                    #640

                    @mickym said in MAX! Cube Blockly Abwesenheit:

                    @marko1974 Nach dem Du ja beim Thema Waschmaschine schon wieder mit Blocklies unterwegs bist, scheinen Dich ja meine Tipps am Ende meiner Flow Beschreibung weniger zu interessieren.

                    Um Dir die Möglichkeiten der Split Node auch in Zusammenhang mit einer JOIN Node zu demonstrieren - habe ich im folgendem Flow mal ein paar Beispiele zusammen gefasst:

                    [
                       {
                           "id": "c8872a87.997ae8",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "All OFF -JS Objekt(JSON)",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "{\"Kinderzimmer\":{\"mode\":\"OFF\"},\"Schlafzimmer\":{\"mode\":\"OFF\"},\"Wohnzimmer\":{\"mode\":\"OFF\"},\"Flur\":{\"mode\":\"OFF\"},\"Küche\":{\"mode\":\"OFF\"},\"Badezimmer\":{\"mode\":\"OFF\"}}",
                           "payloadType": "json",
                           "x": 990,
                           "y": 780,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "3c719b28.ea0e14",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1050,
                           "y": 860,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "f7725813.8a2f28",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "JS Objekt (JSON)",
                           "props": [
                               {
                                   "p": "heizung",
                                   "v": "{\"name\":\"Schlafzimmerthermo xyz\",\"mode\":\"AUTO\",\"setpointtemperature\":20}",
                                   "vt": "json"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payloadType": "str",
                           "x": 1010,
                           "y": 720,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "f3062735.80d058",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Originaler Input",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1260,
                           "y": 760,
                           "wires": []
                       },
                       {
                           "id": "b9decd2d.f55e",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "string - also Text",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "Die Heizung im Kinderzimmer ist auf 17°C eingestellt - Die Heizung im Wohnzimmer ist auf 22°C eingestellt - Die Heizung im Schlafzimmer ist auf 17°C eingestellt - Im Flur wir nie geheizt - In der Küche ist es immer warm",
                           "payloadType": "str",
                           "x": 1020,
                           "y": 920,
                           "wires": [
                               [
                                   "f3062735.80d058",
                                   "125e1468.8fbd0c",
                                   "4d20e55f.3e7b0c"
                               ]
                           ]
                       },
                       {
                           "id": "7d86d57b.46709c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1450,
                           "y": 940,
                           "wires": []
                       },
                       {
                           "id": "125e1468.8fbd0c",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1240,
                           "y": 1020,
                           "wires": [
                               [
                                   "7d86d57b.46709c",
                                   "44a7b809.4203c8",
                                   "32b92a90.0878d6"
                               ]
                           ]
                       },
                       {
                           "id": "44a7b809.4203c8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1450,
                           "y": 980,
                           "wires": []
                       },
                       {
                           "id": "4d20e55f.3e7b0c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Originaler Input",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1260,
                           "y": 800,
                           "wires": []
                       },
                       {
                           "id": "32b92a90.0878d6",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "auto",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": "false",
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "x": 1410,
                           "y": 1060,
                           "wires": [
                               [
                                   "353ca7c0.fc6f78",
                                   "a394b548.7ee2d8"
                               ]
                           ]
                       },
                       {
                           "id": "353ca7c0.fc6f78",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1660,
                           "y": 1060,
                           "wires": []
                       },
                       {
                           "id": "a394b548.7ee2d8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1660,
                           "y": 1100,
                           "wires": []
                       },
                       {
                           "id": "42a3c2d7.6305ac",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1030,
                           "y": 1240,
                           "wires": [
                               [
                                   "135a2676.aa76fa"
                               ]
                           ]
                       },
                       {
                           "id": "135a2676.aa76fa",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1170,
                           "y": 1240,
                           "wires": [
                               [
                                   "855a4de2.cdf7a",
                                   "686ea273.c66dac"
                               ]
                           ]
                       },
                       {
                           "id": "686ea273.c66dac",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "reduce",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A & payload & \" - \"",
                           "reduceInit": "",
                           "reduceInitType": "str",
                           "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                           "x": 1470,
                           "y": 1240,
                           "wires": [
                               [
                                   "18140ac7.295275"
                               ]
                           ]
                       },
                       {
                           "id": "18140ac7.295275",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1700,
                           "y": 1240,
                           "wires": []
                       },
                       {
                           "id": "855a4de2.cdf7a",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1350,
                           "y": 1180,
                           "wires": []
                       },
                       {
                           "id": "f4ba6b18.c94338",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "false",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 830,
                           "y": 1040,
                           "wires": []
                       },
                       {
                           "id": "aeeb109c.d84fe",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[1,2,3]",
                           "payloadType": "json",
                           "x": 1010,
                           "y": 1580,
                           "wires": [
                               [
                                   "8c6e0a94.c66b58"
                               ]
                           ]
                       },
                       {
                           "id": "8c6e0a94.c66b58",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1150,
                           "y": 1580,
                           "wires": [
                               [
                                   "7550a747.916db8",
                                   "f29be1a0.4b39b"
                               ]
                           ]
                       },
                       {
                           "id": "f29be1a0.4b39b",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "reduce",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A + payload",
                           "reduceInit": "0",
                           "reduceInitType": "num",
                           "reduceFixup": "",
                           "x": 1450,
                           "y": 1580,
                           "wires": [
                               [
                                   "244872b6.57050e"
                               ]
                           ]
                       },
                       {
                           "id": "244872b6.57050e",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1680,
                           "y": 1580,
                           "wires": []
                       },
                       {
                           "id": "7550a747.916db8",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1330,
                           "y": 1520,
                           "wires": []
                       },
                       {
                           "id": "d236e710.7db608",
                           "type": "inject",
                           "z": "f51578d8.868868",
                           "name": "Array",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                           "payloadType": "json",
                           "x": 1010,
                           "y": 1400,
                           "wires": [
                               [
                                   "f3df0c37.b2496"
                               ]
                           ]
                       },
                       {
                           "id": "f3df0c37.b2496",
                           "type": "split",
                           "z": "f51578d8.868868",
                           "name": "",
                           "splt": "- ",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "",
                           "x": 1150,
                           "y": 1400,
                           "wires": [
                               [
                                   "8d977bbd.932998",
                                   "46f88853.8d5f18"
                               ]
                           ]
                       },
                       {
                           "id": "ca8a83d6.fc65f",
                           "type": "join",
                           "z": "f51578d8.868868",
                           "name": "",
                           "mode": "auto",
                           "build": "string",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "",
                           "reduceRight": false,
                           "reduceExp": "$A & payload & \" - \"",
                           "reduceInit": "",
                           "reduceInitType": "str",
                           "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                           "x": 1450,
                           "y": 1400,
                           "wires": [
                               [
                                   "998db142.16b6c"
                               ]
                           ]
                       },
                       {
                           "id": "998db142.16b6c",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Wieder zusammengesetzer Input ",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1680,
                           "y": 1400,
                           "wires": []
                       },
                       {
                           "id": "8d977bbd.932998",
                           "type": "debug",
                           "z": "f51578d8.868868",
                           "name": "Aufgeteilter Input ",
                           "active": false,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 1330,
                           "y": 1340,
                           "wires": []
                       },
                       {
                           "id": "46f88853.8d5f18",
                           "type": "change",
                           "z": "f51578d8.868868",
                           "name": "translate",
                           "rules": [
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Montag",
                                   "fromt": "str",
                                   "to": "Monday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Dienstag",
                                   "fromt": "str",
                                   "to": "Tuesday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Mittwoch",
                                   "fromt": "str",
                                   "to": "Wednesday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Donnerstag",
                                   "fromt": "str",
                                   "to": "Thursday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Freitag",
                                   "fromt": "str",
                                   "to": "Friday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Samstag",
                                   "fromt": "str",
                                   "to": "Saturday",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "payload",
                                   "pt": "msg",
                                   "from": "Sonntag",
                                   "fromt": "str",
                                   "to": "Sunday",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 1300,
                           "y": 1400,
                           "wires": [
                               [
                                   "ca8a83d6.fc65f"
                               ]
                           ]
                       },
                       {
                           "id": "62fa32cf.d5b37c",
                           "type": "comment",
                           "z": "f51578d8.868868",
                           "name": "Lies mich",
                           "info": "Warum das Ganze - erst splitten dann wieder zusammensetzen. Nun damit kann man die einzelnen Werte bearbeiten und wieder zusammensetzen. Jedoch muss Anzahl identisch bleiben - das heißt die parts müssen gleich bleiben",
                           "x": 880,
                           "y": 1320,
                           "wires": []
                       },
                       {
                           "id": "a57f4164.a432",
                           "type": "comment",
                           "z": "f51578d8.868868",
                           "name": "Lies mich",
                           "info": "msg.parts anschauen - die split Node generiert hat:\n\nschau Dir an:\n\nmsg.parts.count\nmsg.parts.index",
                           "x": 1420,
                           "y": 880,
                           "wires": []
                       }
                    ]
                    

                    Ansonsten dann bis später am Abend.

                    Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                    mickymM 1 Reply Last reply
                    0
                    • Marko1974M Marko1974

                      @mickym said in MAX! Cube Blockly Abwesenheit:

                      @marko1974 Nach dem Du ja beim Thema Waschmaschine schon wieder mit Blocklies unterwegs bist, scheinen Dich ja meine Tipps am Ende meiner Flow Beschreibung weniger zu interessieren.

                      Um Dir die Möglichkeiten der Split Node auch in Zusammenhang mit einer JOIN Node zu demonstrieren - habe ich im folgendem Flow mal ein paar Beispiele zusammen gefasst:

                      [
                         {
                             "id": "c8872a87.997ae8",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "All OFF -JS Objekt(JSON)",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "{\"Kinderzimmer\":{\"mode\":\"OFF\"},\"Schlafzimmer\":{\"mode\":\"OFF\"},\"Wohnzimmer\":{\"mode\":\"OFF\"},\"Flur\":{\"mode\":\"OFF\"},\"Küche\":{\"mode\":\"OFF\"},\"Badezimmer\":{\"mode\":\"OFF\"}}",
                             "payloadType": "json",
                             "x": 990,
                             "y": 780,
                             "wires": [
                                 [
                                     "f3062735.80d058",
                                     "125e1468.8fbd0c",
                                     "4d20e55f.3e7b0c"
                                 ]
                             ]
                         },
                         {
                             "id": "3c719b28.ea0e14",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "Array",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                             "payloadType": "json",
                             "x": 1050,
                             "y": 860,
                             "wires": [
                                 [
                                     "f3062735.80d058",
                                     "125e1468.8fbd0c",
                                     "4d20e55f.3e7b0c"
                                 ]
                             ]
                         },
                         {
                             "id": "f7725813.8a2f28",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "JS Objekt (JSON)",
                             "props": [
                                 {
                                     "p": "heizung",
                                     "v": "{\"name\":\"Schlafzimmerthermo xyz\",\"mode\":\"AUTO\",\"setpointtemperature\":20}",
                                     "vt": "json"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payloadType": "str",
                             "x": 1010,
                             "y": 720,
                             "wires": [
                                 [
                                     "f3062735.80d058",
                                     "125e1468.8fbd0c",
                                     "4d20e55f.3e7b0c"
                                 ]
                             ]
                         },
                         {
                             "id": "f3062735.80d058",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Originaler Input",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "true",
                             "targetType": "full",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1260,
                             "y": 760,
                             "wires": []
                         },
                         {
                             "id": "b9decd2d.f55e",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "string - also Text",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "Die Heizung im Kinderzimmer ist auf 17°C eingestellt - Die Heizung im Wohnzimmer ist auf 22°C eingestellt - Die Heizung im Schlafzimmer ist auf 17°C eingestellt - Im Flur wir nie geheizt - In der Küche ist es immer warm",
                             "payloadType": "str",
                             "x": 1020,
                             "y": 920,
                             "wires": [
                                 [
                                     "f3062735.80d058",
                                     "125e1468.8fbd0c",
                                     "4d20e55f.3e7b0c"
                                 ]
                             ]
                         },
                         {
                             "id": "7d86d57b.46709c",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Aufgeteilter Input ",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "true",
                             "targetType": "full",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1450,
                             "y": 940,
                             "wires": []
                         },
                         {
                             "id": "125e1468.8fbd0c",
                             "type": "split",
                             "z": "f51578d8.868868",
                             "name": "",
                             "splt": "- ",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "",
                             "x": 1240,
                             "y": 1020,
                             "wires": [
                                 [
                                     "7d86d57b.46709c",
                                     "44a7b809.4203c8",
                                     "32b92a90.0878d6"
                                 ]
                             ]
                         },
                         {
                             "id": "44a7b809.4203c8",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Aufgeteilter Input ",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1450,
                             "y": 980,
                             "wires": []
                         },
                         {
                             "id": "4d20e55f.3e7b0c",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Originaler Input",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1260,
                             "y": 800,
                             "wires": []
                         },
                         {
                             "id": "32b92a90.0878d6",
                             "type": "join",
                             "z": "f51578d8.868868",
                             "name": "",
                             "mode": "auto",
                             "build": "string",
                             "property": "payload",
                             "propertyType": "msg",
                             "key": "topic",
                             "joiner": "\\n",
                             "joinerType": "str",
                             "accumulate": "false",
                             "timeout": "",
                             "count": "",
                             "reduceRight": false,
                             "x": 1410,
                             "y": 1060,
                             "wires": [
                                 [
                                     "353ca7c0.fc6f78",
                                     "a394b548.7ee2d8"
                                 ]
                             ]
                         },
                         {
                             "id": "353ca7c0.fc6f78",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Wieder zusammengesetzer Input ",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "true",
                             "targetType": "full",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1660,
                             "y": 1060,
                             "wires": []
                         },
                         {
                             "id": "a394b548.7ee2d8",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Wieder zusammengesetzer Input ",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1660,
                             "y": 1100,
                             "wires": []
                         },
                         {
                             "id": "42a3c2d7.6305ac",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "Array",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                             "payloadType": "json",
                             "x": 1030,
                             "y": 1240,
                             "wires": [
                                 [
                                     "135a2676.aa76fa"
                                 ]
                             ]
                         },
                         {
                             "id": "135a2676.aa76fa",
                             "type": "split",
                             "z": "f51578d8.868868",
                             "name": "",
                             "splt": "- ",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "",
                             "x": 1170,
                             "y": 1240,
                             "wires": [
                                 [
                                     "855a4de2.cdf7a",
                                     "686ea273.c66dac"
                                 ]
                             ]
                         },
                         {
                             "id": "686ea273.c66dac",
                             "type": "join",
                             "z": "f51578d8.868868",
                             "name": "",
                             "mode": "reduce",
                             "build": "string",
                             "property": "payload",
                             "propertyType": "msg",
                             "key": "topic",
                             "joiner": "\\n",
                             "joinerType": "str",
                             "accumulate": false,
                             "timeout": "",
                             "count": "",
                             "reduceRight": false,
                             "reduceExp": "$A & payload & \" - \"",
                             "reduceInit": "",
                             "reduceInitType": "str",
                             "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                             "x": 1470,
                             "y": 1240,
                             "wires": [
                                 [
                                     "18140ac7.295275"
                                 ]
                             ]
                         },
                         {
                             "id": "18140ac7.295275",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Wieder zusammengesetzer Input ",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1700,
                             "y": 1240,
                             "wires": []
                         },
                         {
                             "id": "855a4de2.cdf7a",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Aufgeteilter Input ",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1350,
                             "y": 1180,
                             "wires": []
                         },
                         {
                             "id": "f4ba6b18.c94338",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "false",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 830,
                             "y": 1040,
                             "wires": []
                         },
                         {
                             "id": "aeeb109c.d84fe",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "Array",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "[1,2,3]",
                             "payloadType": "json",
                             "x": 1010,
                             "y": 1580,
                             "wires": [
                                 [
                                     "8c6e0a94.c66b58"
                                 ]
                             ]
                         },
                         {
                             "id": "8c6e0a94.c66b58",
                             "type": "split",
                             "z": "f51578d8.868868",
                             "name": "",
                             "splt": "- ",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "",
                             "x": 1150,
                             "y": 1580,
                             "wires": [
                                 [
                                     "7550a747.916db8",
                                     "f29be1a0.4b39b"
                                 ]
                             ]
                         },
                         {
                             "id": "f29be1a0.4b39b",
                             "type": "join",
                             "z": "f51578d8.868868",
                             "name": "",
                             "mode": "reduce",
                             "build": "string",
                             "property": "payload",
                             "propertyType": "msg",
                             "key": "topic",
                             "joiner": "\\n",
                             "joinerType": "str",
                             "accumulate": false,
                             "timeout": "",
                             "count": "",
                             "reduceRight": false,
                             "reduceExp": "$A + payload",
                             "reduceInit": "0",
                             "reduceInitType": "num",
                             "reduceFixup": "",
                             "x": 1450,
                             "y": 1580,
                             "wires": [
                                 [
                                     "244872b6.57050e"
                                 ]
                             ]
                         },
                         {
                             "id": "244872b6.57050e",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Wieder zusammengesetzer Input ",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1680,
                             "y": 1580,
                             "wires": []
                         },
                         {
                             "id": "7550a747.916db8",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Aufgeteilter Input ",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1330,
                             "y": 1520,
                             "wires": []
                         },
                         {
                             "id": "d236e710.7db608",
                             "type": "inject",
                             "z": "f51578d8.868868",
                             "name": "Array",
                             "props": [
                                 {
                                     "p": "payload"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "payload": "[\"Montag\",\"Dienstag\",\"Mittwoch\",\"Donnerstag\",\"Freitag\",\"Samstag\",\"Sonntag\"]",
                             "payloadType": "json",
                             "x": 1010,
                             "y": 1400,
                             "wires": [
                                 [
                                     "f3df0c37.b2496"
                                 ]
                             ]
                         },
                         {
                             "id": "f3df0c37.b2496",
                             "type": "split",
                             "z": "f51578d8.868868",
                             "name": "",
                             "splt": "- ",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "",
                             "x": 1150,
                             "y": 1400,
                             "wires": [
                                 [
                                     "8d977bbd.932998",
                                     "46f88853.8d5f18"
                                 ]
                             ]
                         },
                         {
                             "id": "ca8a83d6.fc65f",
                             "type": "join",
                             "z": "f51578d8.868868",
                             "name": "",
                             "mode": "auto",
                             "build": "string",
                             "property": "payload",
                             "propertyType": "msg",
                             "key": "topic",
                             "joiner": "\\n",
                             "joinerType": "str",
                             "accumulate": false,
                             "timeout": "",
                             "count": "",
                             "reduceRight": false,
                             "reduceExp": "$A & payload & \" - \"",
                             "reduceInit": "",
                             "reduceInitType": "str",
                             "reduceFixup": "$substring($A,0,$length($A)-3)\t",
                             "x": 1450,
                             "y": 1400,
                             "wires": [
                                 [
                                     "998db142.16b6c"
                                 ]
                             ]
                         },
                         {
                             "id": "998db142.16b6c",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Wieder zusammengesetzer Input ",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1680,
                             "y": 1400,
                             "wires": []
                         },
                         {
                             "id": "8d977bbd.932998",
                             "type": "debug",
                             "z": "f51578d8.868868",
                             "name": "Aufgeteilter Input ",
                             "active": false,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1330,
                             "y": 1340,
                             "wires": []
                         },
                         {
                             "id": "46f88853.8d5f18",
                             "type": "change",
                             "z": "f51578d8.868868",
                             "name": "translate",
                             "rules": [
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Montag",
                                     "fromt": "str",
                                     "to": "Monday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Dienstag",
                                     "fromt": "str",
                                     "to": "Tuesday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Mittwoch",
                                     "fromt": "str",
                                     "to": "Wednesday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Donnerstag",
                                     "fromt": "str",
                                     "to": "Thursday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Freitag",
                                     "fromt": "str",
                                     "to": "Friday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Samstag",
                                     "fromt": "str",
                                     "to": "Saturday",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "payload",
                                     "pt": "msg",
                                     "from": "Sonntag",
                                     "fromt": "str",
                                     "to": "Sunday",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 1300,
                             "y": 1400,
                             "wires": [
                                 [
                                     "ca8a83d6.fc65f"
                                 ]
                             ]
                         },
                         {
                             "id": "62fa32cf.d5b37c",
                             "type": "comment",
                             "z": "f51578d8.868868",
                             "name": "Lies mich",
                             "info": "Warum das Ganze - erst splitten dann wieder zusammensetzen. Nun damit kann man die einzelnen Werte bearbeiten und wieder zusammensetzen. Jedoch muss Anzahl identisch bleiben - das heißt die parts müssen gleich bleiben",
                             "x": 880,
                             "y": 1320,
                             "wires": []
                         },
                         {
                             "id": "a57f4164.a432",
                             "type": "comment",
                             "z": "f51578d8.868868",
                             "name": "Lies mich",
                             "info": "msg.parts anschauen - die split Node generiert hat:\n\nschau Dir an:\n\nmsg.parts.count\nmsg.parts.index",
                             "x": 1420,
                             "y": 880,
                             "wires": []
                         }
                      ]
                      

                      Ansonsten dann bis später am Abend.

                      Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      wrote on last edited by
                      #641

                      @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                      Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                      Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                      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.

                      Marko1974M 1 Reply Last reply
                      0
                      • mickymM mickym

                        @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                        Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                        Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                        Marko1974M Offline
                        Marko1974M Offline
                        Marko1974
                        wrote on last edited by
                        #642

                        @mickym said in MAX! Cube Blockly Abwesenheit:

                        @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                        Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                        Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                        Der Eindruck könnte stimmen 😵

                        mickymM 1 Reply Last reply
                        0
                        • Marko1974M Marko1974

                          @mickym said in MAX! Cube Blockly Abwesenheit:

                          @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                          Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                          Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                          Der Eindruck könnte stimmen 😵

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          wrote on last edited by
                          #643

                          @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                          @mickym said in MAX! Cube Blockly Abwesenheit:

                          @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                          Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                          Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                          Der Eindruck könnte stimmen 😵

                          Na nachdem Ausschalten des Knitterschutzes jetzt sicher kein Problem mehr. 😉

                          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.

                          Marko1974M 1 Reply Last reply
                          0
                          • mickymM mickym

                            @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                            @mickym said in MAX! Cube Blockly Abwesenheit:

                            @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                            Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                            Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                            Der Eindruck könnte stimmen 😵

                            Na nachdem Ausschalten des Knitterschutzes jetzt sicher kein Problem mehr. 😉

                            Marko1974M Offline
                            Marko1974M Offline
                            Marko1974
                            wrote on last edited by
                            #644

                            @mickym said in MAX! Cube Blockly Abwesenheit:

                            @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                            @mickym said in MAX! Cube Blockly Abwesenheit:

                            @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                            Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                            Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                            Der Eindruck könnte stimmen 😵

                            Na nachdem Ausschalten des Knitterschutzes jetzt sicher kein Problem mehr. 😉

                            Wäscht gerade zum 4 Mal 🙂

                            Marko1974M 1 Reply Last reply
                            0
                            • Marko1974M Marko1974

                              @mickym said in MAX! Cube Blockly Abwesenheit:

                              @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                              @mickym said in MAX! Cube Blockly Abwesenheit:

                              @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                              Ich hab da halt schon fertige Sachen gehabt und passe die nur an. Was komplett neu machen wollte ich da eigentlich nicht. Das blockly war ja schon fertig.

                              Na wenn es funktioniert ist ja gut - ich hab ja nur den Eindruck - noch nicht so wie gewünscht. 😉

                              Der Eindruck könnte stimmen 😵

                              Na nachdem Ausschalten des Knitterschutzes jetzt sicher kein Problem mehr. 😉

                              Wäscht gerade zum 4 Mal 🙂

                              Marko1974M Offline
                              Marko1974M Offline
                              Marko1974
                              wrote on last edited by
                              #645

                              @mickym
                              habs jetzt hinbekommen

                              1 Reply Last reply
                              0
                              • mickymM mickym

                                @mickym Wohlfühltemperaturen habe ich nun anhand des AutoTemplates verstanden.
                                Wenn Du diese Telegramm Ausgabe mti den setpoint Temperaturen auslesen möchtest - solltest Du diese Info das auszulesende Topic - mit vollständigem Pfad einfügen:

                                Ich würde am Besten fallst Du das mit dem Auslesen der originalen setpoint Temperaturen übernehmen willst - die Objekte um diese Eigenschaft ergänzen. Das würde ich aber dann bei beiden Change Nodes machen.

                                d53d980b-f4fd-4749-8e72-cdfbb5f6563f-image.png

                                Marko1974M Offline
                                Marko1974M Offline
                                Marko1974
                                wrote on last edited by Marko1974
                                #646

                                @mickym said in MAX! Cube Blockly Abwesenheit:

                                @mickym Wohlfühltemperaturen habe ich nun anhand des AutoTemplates verstanden.
                                Wenn Du diese Telegramm Ausgabe mti den setpoint Temperaturen auslesen möchtest - solltest Du diese Info das auszulesende Topic - mit vollständigem Pfad einfügen:

                                Ich würde am Besten fallst Du das mit dem Auslesen der originalen setpoint Temperaturen übernehmen willst - die Objekte um diese Eigenschaft ergänzen. Das würde ich aber dann bei beiden Change Nodes machen.

                                d53d980b-f4fd-4749-8e72-cdfbb5f6563f-image.png

                                Hab die Pfade mal eingetragen:

                                fdf.JPG
                                dsfsdf.JPG

                                irgendwie ist das ja nicht alles....entweder muss ich jetzt auch noch so ne Art Topic haben....oder der Pfad muss doch zumindest das .setpoint am Ende haben?!

                                mickymM 2 Replies Last reply
                                0
                                • Marko1974M Marko1974

                                  @mickym said in MAX! Cube Blockly Abwesenheit:

                                  @mickym Wohlfühltemperaturen habe ich nun anhand des AutoTemplates verstanden.
                                  Wenn Du diese Telegramm Ausgabe mti den setpoint Temperaturen auslesen möchtest - solltest Du diese Info das auszulesende Topic - mit vollständigem Pfad einfügen:

                                  Ich würde am Besten fallst Du das mit dem Auslesen der originalen setpoint Temperaturen übernehmen willst - die Objekte um diese Eigenschaft ergänzen. Das würde ich aber dann bei beiden Change Nodes machen.

                                  d53d980b-f4fd-4749-8e72-cdfbb5f6563f-image.png

                                  Hab die Pfade mal eingetragen:

                                  fdf.JPG
                                  dsfsdf.JPG

                                  irgendwie ist das ja nicht alles....entweder muss ich jetzt auch noch so ne Art Topic haben....oder der Pfad muss doch zumindest das .setpoint am Ende haben?!

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  wrote on last edited by mickym
                                  #647

                                  @marko1974 Ja - aber den setpoint können wir doch an den String anhängen. Mit dem Thermostat Pfad haben wir nun aber schon mal den Basispfad und können damit auch noch andere Punkte als setpoint ansprechen, wenn dafür später Bedarf ist.

                                  Wenn Du mir die beiden JSONs bitte hier in CodeTags zur Verfügung stellst - kann ich die in meinem Testflow nutzen - auch wenn Du jetzt die Nodes alle selbst erstellst.

                                  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.

                                  Marko1974M 1 Reply Last reply
                                  0
                                  • Marko1974M Marko1974

                                    @mickym said in MAX! Cube Blockly Abwesenheit:

                                    @mickym Wohlfühltemperaturen habe ich nun anhand des AutoTemplates verstanden.
                                    Wenn Du diese Telegramm Ausgabe mti den setpoint Temperaturen auslesen möchtest - solltest Du diese Info das auszulesende Topic - mit vollständigem Pfad einfügen:

                                    Ich würde am Besten fallst Du das mit dem Auslesen der originalen setpoint Temperaturen übernehmen willst - die Objekte um diese Eigenschaft ergänzen. Das würde ich aber dann bei beiden Change Nodes machen.

                                    d53d980b-f4fd-4749-8e72-cdfbb5f6563f-image.png

                                    Hab die Pfade mal eingetragen:

                                    fdf.JPG
                                    dsfsdf.JPG

                                    irgendwie ist das ja nicht alles....entweder muss ich jetzt auch noch so ne Art Topic haben....oder der Pfad muss doch zumindest das .setpoint am Ende haben?!

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    wrote on last edited by
                                    #648

                                    @marko1974 sagte in MAX! Cube Blockly Abwesenheit:

                                    irgendwie ist das ja nicht alles....entweder muss ich jetzt auch noch so ne Art Topic haben....oder der Pfad muss doch zumindest das .setpoint am Ende haben?!

                                    Nein das ist noch lange nicht alles - aber nachdem Du anderen Flow und die Split Node verstanden hast, wirst Du den Flow selbst entwicklen und ich gebe Dir die Anleitung dazu.

                                    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 Reply Last reply
                                    0
                                    • mickymM mickym

                                      @marko1974 Ja - aber den setpoint können wir doch an den String anhängen. Mit dem Thermostat Pfad haben wir nun aber schon mal den Basispfad und können damit auch noch andere Punkte als setpoint ansprechen, wenn dafür später Bedarf ist.

                                      Wenn Du mir die beiden JSONs bitte hier in CodeTags zur Verfügung stellst - kann ich die in meinem Testflow nutzen - auch wenn Du jetzt die Nodes alle selbst erstellst.

                                      Marko1974M Offline
                                      Marko1974M Offline
                                      Marko1974
                                      wrote on last edited by
                                      #649

                                      @mickym said in MAX! Cube Blockly Abwesenheit:

                                      @marko1974 Ja - aber den setpoint können wir doch an den String anhängen. Mit dem Thermostat Pfad haben wir nun aber schon mal den Basispfad und können damit auch noch andere Punkte als setpoint ansprechen, wenn dafür später Bedarf ist.

                                      Wenn Du mir die beiden JSONs bitte hier in CodeTags zur Verfügung stellst - kann ich die in meinem Testflow nutzen - auch wenn Du jetzt die Nodes alle selbst erstellst.

                                      für ECO

                                      {
                                          "Kinderzimmer": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dbe6c"
                                          },
                                          "Schlafzimmer": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0b39f5"
                                          },
                                          "Wohnzimmer": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0d1718"
                                          },
                                          "Flur": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dc05e"
                                          },
                                          "Küche": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0df97e"
                                          },
                                          "Badezimmer": {
                                              "mode": "ECO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dfa5c"
                                          }
                                      }
                                      
                                      

                                      für Auto

                                      {
                                          "Kinderzimmer": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dbe6c"
                                          },
                                          "Schlafzimmer": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0b39f5"
                                          },
                                          "Wohnzimmer": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0d1718"
                                          },
                                          "Flur": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dc05e"
                                          },
                                          "Küche": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0df97e"
                                          },
                                          "Badezimmer": {
                                              "mode": "AUTO",
                                              "thermostat": "maxcube.0.devices.thermostat_0dfa5c"
                                          }
                                      }
                                      
                                      mickymM 1 Reply Last reply
                                      0
                                      • Marko1974M Marko1974

                                        @mickym said in MAX! Cube Blockly Abwesenheit:

                                        @marko1974 Ja - aber den setpoint können wir doch an den String anhängen. Mit dem Thermostat Pfad haben wir nun aber schon mal den Basispfad und können damit auch noch andere Punkte als setpoint ansprechen, wenn dafür später Bedarf ist.

                                        Wenn Du mir die beiden JSONs bitte hier in CodeTags zur Verfügung stellst - kann ich die in meinem Testflow nutzen - auch wenn Du jetzt die Nodes alle selbst erstellst.

                                        für ECO

                                        {
                                            "Kinderzimmer": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dbe6c"
                                            },
                                            "Schlafzimmer": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0b39f5"
                                            },
                                            "Wohnzimmer": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0d1718"
                                            },
                                            "Flur": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dc05e"
                                            },
                                            "Küche": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0df97e"
                                            },
                                            "Badezimmer": {
                                                "mode": "ECO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dfa5c"
                                            }
                                        }
                                        
                                        

                                        für Auto

                                        {
                                            "Kinderzimmer": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dbe6c"
                                            },
                                            "Schlafzimmer": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0b39f5"
                                            },
                                            "Wohnzimmer": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0d1718"
                                            },
                                            "Flur": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dc05e"
                                            },
                                            "Küche": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0df97e"
                                            },
                                            "Badezimmer": {
                                                "mode": "AUTO",
                                                "thermostat": "maxcube.0.devices.thermostat_0dfa5c"
                                            }
                                        }
                                        
                                        mickymM Offline
                                        mickymM Offline
                                        mickym
                                        Most Active
                                        wrote on last edited by mickym
                                        #650

                                        @marko1974 OK - dann setzt Du nun eine weitere Change Node hinter die split Node und setzt den topic String so zusammen, dass das topic den vollständigen Pfad zum setpoint Datenpunkt enthält. Am besten immer ein Debug Node mit dem vollständigen Objekt ausgeben lassen.

                                        Der Output der Nachricht für jeden Thermostat muss dann so aussehen, dass im room der Raum und im topic der Pfad zu dem zugrhöhrigenen setpoint des koorespondierenden Thermostats im setpoint zeigt:

                                        b451bd13-8a3b-4a61-98e5-05b1e2b85d3f-image.png

                                        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.

                                        Marko1974M 1 Reply Last reply
                                        0
                                        • mickymM mickym

                                          @marko1974 OK - dann setzt Du nun eine weitere Change Node hinter die split Node und setzt den topic String so zusammen, dass das topic den vollständigen Pfad zum setpoint Datenpunkt enthält. Am besten immer ein Debug Node mit dem vollständigen Objekt ausgeben lassen.

                                          Der Output der Nachricht für jeden Thermostat muss dann so aussehen, dass im room der Raum und im topic der Pfad zu dem zugrhöhrigenen setpoint des koorespondierenden Thermostats im setpoint zeigt:

                                          b451bd13-8a3b-4a61-98e5-05b1e2b85d3f-image.png

                                          Marko1974M Offline
                                          Marko1974M Offline
                                          Marko1974
                                          wrote on last edited by
                                          #651

                                          @mickym said in MAX! Cube Blockly Abwesenheit:

                                          @marko1974 OK - dann setzt Du nun eine weitere Change Node hinter die split Node und setzt den topic String so zusammen, dass das topic den vollständigen Pfad zum setpoint Datenpunkt enthält. Am besten immer ein Debug Node mit dem vollständigen Objekt ausgeben lassen.

                                          Der Output der Nachricht für jeden Thermostat muss dann so aussehen, dass im room der Raum und im topic der Pfad zu dem zugrhöhrigenen setpoint des koorespondierenden Thermostats im setpoint zeigt:

                                          b451bd13-8a3b-4a61-98e5-05b1e2b85d3f-image.png

                                          Verstehe ich nicht. die eine change node bleibt stehen und ich setze ne neue zusammen?

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          321

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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