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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. shelly Status zur Fallunterscheidung nutzen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    920

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

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

shelly Status zur Fallunterscheidung nutzen

Geplant Angeheftet Gesperrt Verschoben Node-Red
38 Beiträge 2 Kommentatoren 1.7k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #20

    Desweiteren wenn Du schon function NOde nimmst, dann musst Du darauf achten, dass Du alle Fälle berücksichtigst:

    541b615d-da0d-4e97-8cf4-c598f741007e-image.png

    Mit so vielen unterschiedlichen Parametern, ein, aus, und Summe sind da glaub 12 Fälle. Was machst Du denn wenn summe < ein ist - dann passiert gar nichts.

    Mit node.warn kannst Du überprüfen, ob was gesetzt ist.

    cf6e881f-469d-4812-8596-a65d39e0bbca-image.png

    Du siehst es ist alles undefined - ja wenn kein Fall eintritt - ist es empty weil wir gesetzt haben oder undefined.

    Auch so was ist Käse:

    c3b8c98a-8b62-4fc2-bf28-e541a6fadfae-image.png

    1. Definierst Du ein Objekt im luftleeren Raum - wenn das ausgegeben werden soll, dann musst Du ein msg Objekt definieren.
      364a0ded-1136-4de7-9d7a-352ba7e420c0-image.png

    Dein Objekt kommt nie und nimmer an.

    1. Du musst doch IMMER - wenn Du alles AUSGIBST auch alle Ausgaben definieren oder Du setzt diese auf null. Korrigiere ich noch. Aber Du musst auch den 2. Ausgang definieren - entweder für alles oder in jedem Ast.

    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.

    R 2 Antworten Letzte Antwort
    0
    • mickymM mickym

      Desweiteren wenn Du schon function NOde nimmst, dann musst Du darauf achten, dass Du alle Fälle berücksichtigst:

      541b615d-da0d-4e97-8cf4-c598f741007e-image.png

      Mit so vielen unterschiedlichen Parametern, ein, aus, und Summe sind da glaub 12 Fälle. Was machst Du denn wenn summe < ein ist - dann passiert gar nichts.

      Mit node.warn kannst Du überprüfen, ob was gesetzt ist.

      cf6e881f-469d-4812-8596-a65d39e0bbca-image.png

      Du siehst es ist alles undefined - ja wenn kein Fall eintritt - ist es empty weil wir gesetzt haben oder undefined.

      Auch so was ist Käse:

      c3b8c98a-8b62-4fc2-bf28-e541a6fadfae-image.png

      1. Definierst Du ein Objekt im luftleeren Raum - wenn das ausgegeben werden soll, dann musst Du ein msg Objekt definieren.
        364a0ded-1136-4de7-9d7a-352ba7e420c0-image.png

      Dein Objekt kommt nie und nimmer an.

      1. Du musst doch IMMER - wenn Du alles AUSGIBST auch alle Ausgaben definieren oder Du setzt diese auf null. Korrigiere ich noch. Aber Du musst auch den 2. Ausgang definieren - entweder für alles oder in jedem Ast.
      R Offline
      R Offline
      Rudi 3
      schrieb am zuletzt editiert von
      #21

      Node warn kannte ich noch nicht. Nützliches Ding. Bezüglich der Fälle kommen in der Praxis nicht so viele vor. Wichtig ist mir, das ich die Relais gestuft schalten kann. Etwas tricky ist, das sich der PV-Überschuss in dem Moment kleiner wird, in dem man den Heizstab zuschalten. Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

      mickymM 2 Antworten Letzte Antwort
      0
      • R Rudi 3

        Node warn kannte ich noch nicht. Nützliches Ding. Bezüglich der Fälle kommen in der Praxis nicht so viele vor. Wichtig ist mir, das ich die Relais gestuft schalten kann. Etwas tricky ist, das sich der PV-Überschuss in dem Moment kleiner wird, in dem man den Heizstab zuschalten. Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

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

        @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

        Node warn kannte ich noch nicht. Nützliches Ding. Bezüglich der Fälle kommen in der Praxis nicht so viele vor. Wichtig ist mir, das ich die Relais gestuft schalten kann. Etwas tricky ist, das sich der PV-Überschuss in dem Moment kleiner wird, in dem man den Heizstab zuschalten. Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

        Gut - also eigentlich will ich nun nicht die ganze function Node umschreiben - es gäbe noch 1000 Dinge zu sagen - wollen wir ohne weiter machen?

        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.

        R 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          Desweiteren wenn Du schon function NOde nimmst, dann musst Du darauf achten, dass Du alle Fälle berücksichtigst:

          541b615d-da0d-4e97-8cf4-c598f741007e-image.png

          Mit so vielen unterschiedlichen Parametern, ein, aus, und Summe sind da glaub 12 Fälle. Was machst Du denn wenn summe < ein ist - dann passiert gar nichts.

          Mit node.warn kannst Du überprüfen, ob was gesetzt ist.

          cf6e881f-469d-4812-8596-a65d39e0bbca-image.png

          Du siehst es ist alles undefined - ja wenn kein Fall eintritt - ist es empty weil wir gesetzt haben oder undefined.

          Auch so was ist Käse:

          c3b8c98a-8b62-4fc2-bf28-e541a6fadfae-image.png

          1. Definierst Du ein Objekt im luftleeren Raum - wenn das ausgegeben werden soll, dann musst Du ein msg Objekt definieren.
            364a0ded-1136-4de7-9d7a-352ba7e420c0-image.png

          Dein Objekt kommt nie und nimmer an.

          1. Du musst doch IMMER - wenn Du alles AUSGIBST auch alle Ausgaben definieren oder Du setzt diese auf null. Korrigiere ich noch. Aber Du musst auch den 2. Ausgang definieren - entweder für alles oder in jedem Ast.
          R Offline
          R Offline
          Rudi 3
          schrieb am zuletzt editiert von
          #23

          Da kommt doch einiges zusammen, das ich erstmal durcharbeiten muss.... Da wird das Wochenende wohl etwas knapp.

          mickymM 1 Antwort Letzte Antwort
          0
          • R Rudi 3

            Da kommt doch einiges zusammen, das ich erstmal durcharbeiten muss.... Da wird das Wochenende wohl etwas knapp.

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

            @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

            Da kommt doch einiges zusammen, das ich erstmal durcharbeiten muss.... Da wird das Wochenende wohl etwas knapp.

            Also ohne function Node?

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

            1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

              Node warn kannte ich noch nicht. Nützliches Ding. Bezüglich der Fälle kommen in der Praxis nicht so viele vor. Wichtig ist mir, das ich die Relais gestuft schalten kann. Etwas tricky ist, das sich der PV-Überschuss in dem Moment kleiner wird, in dem man den Heizstab zuschalten. Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

              Gut - also eigentlich will ich nun nicht die ganze function Node umschreiben - es gäbe noch 1000 Dinge zu sagen - wollen wir ohne weiter machen?

              R Offline
              R Offline
              Rudi 3
              schrieb am zuletzt editiert von
              #25

              @mickym dann versuchen wir es lieber ohne function node. Das hebe ich mir für später auf.

              mickymM 1 Antwort Letzte Antwort
              0
              • R Rudi 3

                @mickym dann versuchen wir es lieber ohne function node. Das hebe ich mir für später auf.

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

                @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

                @mickym dann versuchen wir es lieber ohne function node. Das hebe ich mir für später auf.

                Ja und nochmal - wenn Du programmierst machst Du dir soviel kaputt - deswegen nur wenn es gar nicht anders geht.

                Als erstes werden wir - da wir ja keine function Node mehr benutzen - Deine ganzen Parameter im flow Kontext speichern.

                Man kann mit einer Inject Node - die beim Start ausgeführt wird - alle Parameter auch mit 0 initialisieren.
                e1d61512-683d-4a79-b81f-67e05cbee532-image.png

                Trigger wird ja der Shelly sein. ;)

                Da das Setzen der parameter unabhängig von den Shellies ist holen wir uns nun den ganzen FlowKontext rein. Ich ändere das oben nochmal in den ich nicht 3 einzelne Werte nehmen, sondern ein Objekt dann ist das einfacher. Ich nenne das Objekt mal EnergieManagement.

                Das Ganze sieht dann so aus:

                602d33bc-e545-4033-9b26-3f9ed5588294-image.png

                Wenn der Shelly dann triggert, dann lesen wir das ganze Objekt EnergieManagement in unser Nachrichtenobjekt ein.

                2036d469-106d-4382-8f8b-286ecd4c86b1-image.png

                Wir haben dazu in das Nachrichtenobjekt eine eigene Eigenschaft EnergieManagement aufgenommen und haben das nun überall in unserem Nachrichtenobjekt jederzeitverfügbar - zusammen mit der Shelly payload.

                bfd95d73-ebf9-4e77-96ab-1b903324d8dd-image.png

                So nun versuche ich mich an Deine Logik von der function Node zu orientieren - wobei

                b4dc9f55-8619-4be7-8b46-898a83f171e1-image.png

                sowas Käse ist (relais1 = relais[0].ison und wird ja auf true überprüft.

                Sowas ist auch UNLOGISCH:

                6ccc8e9f-144b-45ab-9e9f-810fdd5c0ab1-image.png

                Das sind haargenau die gleichen Bedingungen und werden beide ausgeführt - im Code wird also der grüne Bereich NIE eintreten, weil er durch den roten Code überschrieben wird. Das ist auch überflüssig - da ja theoretisch das Relais 1 schon eingeschaltet 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.

                R 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

                  @mickym dann versuchen wir es lieber ohne function node. Das hebe ich mir für später auf.

                  Ja und nochmal - wenn Du programmierst machst Du dir soviel kaputt - deswegen nur wenn es gar nicht anders geht.

                  Als erstes werden wir - da wir ja keine function Node mehr benutzen - Deine ganzen Parameter im flow Kontext speichern.

                  Man kann mit einer Inject Node - die beim Start ausgeführt wird - alle Parameter auch mit 0 initialisieren.
                  e1d61512-683d-4a79-b81f-67e05cbee532-image.png

                  Trigger wird ja der Shelly sein. ;)

                  Da das Setzen der parameter unabhängig von den Shellies ist holen wir uns nun den ganzen FlowKontext rein. Ich ändere das oben nochmal in den ich nicht 3 einzelne Werte nehmen, sondern ein Objekt dann ist das einfacher. Ich nenne das Objekt mal EnergieManagement.

                  Das Ganze sieht dann so aus:

                  602d33bc-e545-4033-9b26-3f9ed5588294-image.png

                  Wenn der Shelly dann triggert, dann lesen wir das ganze Objekt EnergieManagement in unser Nachrichtenobjekt ein.

                  2036d469-106d-4382-8f8b-286ecd4c86b1-image.png

                  Wir haben dazu in das Nachrichtenobjekt eine eigene Eigenschaft EnergieManagement aufgenommen und haben das nun überall in unserem Nachrichtenobjekt jederzeitverfügbar - zusammen mit der Shelly payload.

                  bfd95d73-ebf9-4e77-96ab-1b903324d8dd-image.png

                  So nun versuche ich mich an Deine Logik von der function Node zu orientieren - wobei

                  b4dc9f55-8619-4be7-8b46-898a83f171e1-image.png

                  sowas Käse ist (relais1 = relais[0].ison und wird ja auf true überprüft.

                  Sowas ist auch UNLOGISCH:

                  6ccc8e9f-144b-45ab-9e9f-810fdd5c0ab1-image.png

                  Das sind haargenau die gleichen Bedingungen und werden beide ausgeführt - im Code wird also der grüne Bereich NIE eintreten, weil er durch den roten Code überschrieben wird. Das ist auch überflüssig - da ja theoretisch das Relais 1 schon eingeschaltet ist.

                  R Offline
                  R Offline
                  Rudi 3
                  schrieb am zuletzt editiert von
                  #27

                  @mickym stimmt, im Code ist's falsch im Kommentar steht drin wie es sein soll. muss ich beim rumprobieren ver... haben.

                  1 Antwort Letzte Antwort
                  0
                  • R Rudi 3

                    Node warn kannte ich noch nicht. Nützliches Ding. Bezüglich der Fälle kommen in der Praxis nicht so viele vor. Wichtig ist mir, das ich die Relais gestuft schalten kann. Etwas tricky ist, das sich der PV-Überschuss in dem Moment kleiner wird, in dem man den Heizstab zuschalten. Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

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

                    @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

                    Ich muss also später noch eine Hystere dazunehmen, sonst schwingt das ganze Werk wild.

                    Die Hysterese hast Du ja in dem Du eine Ein- und Ausschwelle hast.

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

                    1 Antwort Letzte Antwort
                    0
                    • mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #29

                      An Deiner Stelle versteh ich auch nicht, warum du die Summe mit einem Slider setzt - macht es nicht Sinn, dass die Summe automatisch festgelegt wird - z.Bsp. durch den oberen Teil.

                      435dabf8-141b-4f7a-95ac-da4d40ad39ef-image.png

                      Musst Du aber wissen.

                      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.

                      R 2 Antworten Letzte Antwort
                      0
                      • mickymM mickym

                        An Deiner Stelle versteh ich auch nicht, warum du die Summe mit einem Slider setzt - macht es nicht Sinn, dass die Summe automatisch festgelegt wird - z.Bsp. durch den oberen Teil.

                        435dabf8-141b-4f7a-95ac-da4d40ad39ef-image.png

                        Musst Du aber wissen.

                        R Offline
                        R Offline
                        Rudi 3
                        schrieb am zuletzt editiert von
                        #30

                        @mickym Der Slider ist nur zu Testzwecken drin. Die für die Relaisschaltung relevante Summe kommt aus dem ersten Teil des Flows.

                        R 1 Antwort Letzte Antwort
                        0
                        • R Rudi 3

                          @mickym Der Slider ist nur zu Testzwecken drin. Die für die Relaisschaltung relevante Summe kommt aus dem ersten Teil des Flows.

                          R Offline
                          R Offline
                          Rudi 3
                          schrieb am zuletzt editiert von
                          #31

                          @rudi-3 also abgezweigt von der Gesamtleistung. Wie ich schon sagte, der Flow ist durch die vielen Versuche leider ziemlich zerpflückt.

                          R 1 Antwort Letzte Antwort
                          0
                          • R Rudi 3

                            @rudi-3 also abgezweigt von der Gesamtleistung. Wie ich schon sagte, der Flow ist durch die vielen Versuche leider ziemlich zerpflückt.

                            R Offline
                            R Offline
                            Rudi 3
                            schrieb am zuletzt editiert von
                            #32

                            @rudi-3 Wenn ich das Konzept richtig verstanden habe, müsste man die Summe von oben in das Objekt "Energiemanagement" aufnehmen?

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              An Deiner Stelle versteh ich auch nicht, warum du die Summe mit einem Slider setzt - macht es nicht Sinn, dass die Summe automatisch festgelegt wird - z.Bsp. durch den oberen Teil.

                              435dabf8-141b-4f7a-95ac-da4d40ad39ef-image.png

                              Musst Du aber wissen.

                              R Offline
                              R Offline
                              Rudi 3
                              schrieb am zuletzt editiert von
                              #33

                              @mickym Sorry habe zwischendurch für eventuelle Mitleser meine Gedanken zur Hysterese zusammengefasst. Stimmt, das ist die halbe Miete. In der Praxis wird allerdings folgendes passieren: Wir erreichen z.B. 1000W Überschuss. Der Heizstab schaltet ein (700W). Dann liegt der Überschuss nur noch bei 300W. Dementsprechend groß muss die Hystere sein bzw. wird unnötig Strom verschenkt. Zudem soll der Heizstab nicht unnötig oft schalten. Daher möchte ich zum Schluss eine Verzögerung einbauen, die z.B. nur alle paar Minuten ein Schaltsignal an die Relais gibt. Dabei muss man natürlich abwägen, das hier kurzzeitig teurer Netzstrom ins Warmwasser geht.

                              mickymM 2 Antworten Letzte Antwort
                              0
                              • R Rudi 3

                                @mickym Sorry habe zwischendurch für eventuelle Mitleser meine Gedanken zur Hysterese zusammengefasst. Stimmt, das ist die halbe Miete. In der Praxis wird allerdings folgendes passieren: Wir erreichen z.B. 1000W Überschuss. Der Heizstab schaltet ein (700W). Dann liegt der Überschuss nur noch bei 300W. Dementsprechend groß muss die Hystere sein bzw. wird unnötig Strom verschenkt. Zudem soll der Heizstab nicht unnötig oft schalten. Daher möchte ich zum Schluss eine Verzögerung einbauen, die z.B. nur alle paar Minuten ein Schaltsignal an die Relais gibt. Dabei muss man natürlich abwägen, das hier kurzzeitig teurer Netzstrom ins Warmwasser geht.

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

                                @rudi-3 Na mit der Ein und Ausschaltschwelle hast Du eine Hysterese - wenn Du Angst hast, dass das zeitlich beides zu häufig ausgelöst wird kannst Du die Nachrichtenrate begrenzen.

                                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.

                                R 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @rudi-3 Na mit der Ein und Ausschaltschwelle hast Du eine Hysterese - wenn Du Angst hast, dass das zeitlich beides zu häufig ausgelöst wird kannst Du die Nachrichtenrate begrenzen.

                                  R Offline
                                  R Offline
                                  Rudi 3
                                  schrieb am zuletzt editiert von
                                  #35

                                  @mickym Meine Idee war, einfach die polling rate von den shellys zu nutzen. Die delay-node wollte nicht nutzen und nur an einer Stelle "bremsen".

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • R Rudi 3

                                    @mickym Meine Idee war, einfach die polling rate von den shellys zu nutzen. Die delay-node wollte nicht nutzen und nur an einer Stelle "bremsen".

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

                                    @rudi-3 Na musst Du sehen - hier der Flow ist fertig und nun kannst Du selbst einfach über Debug Nodes schauen, wie die Logik verläuft und musst auch keine unwahrscheinlichen Fälle berücksichtigen:

                                    a131fd74-28bd-4308-a254-370ca778f507-image.png

                                    [
                                       {
                                           "id": "63c4ad536edd32b7",
                                           "type": "group",
                                           "z": "a3ff42d9e3f31af7",
                                           "style": {
                                               "stroke": "#999999",
                                               "stroke-opacity": "1",
                                               "fill": "none",
                                               "fill-opacity": "1",
                                               "label": true,
                                               "label-position": "nw",
                                               "color": "#a4a4a4"
                                           },
                                           "nodes": [
                                               "f994a4e33531a8c5",
                                               "8673242f12284d52",
                                               "27eecf831db301d2",
                                               "bd2d29a18401d1c5",
                                               "f5b7161642107f77",
                                               "0a64877c69c15599",
                                               "b4cd49fa76bc511c",
                                               "860c69c409434a60",
                                               "3345c9a98a678993",
                                               "1d495447e96a3a24",
                                               "d208c8c4552eed40",
                                               "b4802b321ce23e92",
                                               "cfef92ce1099aabc",
                                               "68dcc9282e6f1562",
                                               "4352e22b6fb056a1",
                                               "1f6db3ae891ae6f9",
                                               "4ade18cbedf1f800",
                                               "e19cacdcf99fdc0f",
                                               "08ed4a797b81c710",
                                               "0fce39dffa24add3",
                                               "1066884b98e7ebf3",
                                               "ad8d7bae4667baf5"
                                           ],
                                           "x": 14,
                                           "y": 919,
                                           "w": 1952,
                                           "h": 262
                                       },
                                       {
                                           "id": "f994a4e33531a8c5",
                                           "type": "inject",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Shelly Input",
                                           "props": [
                                               {
                                                   "p": "status",
                                                   "v": "{\"wifi_sta\":{\"connected\":true,\"ssid\":\"Kellerfritz\",\"ip\":\"192.168.2.196\",\"rssi\":-46},\"cloud\":{\"enabled\":false,\"connected\":false},\"mqtt\":{\"connected\":false},\"time\":\"15:16\",\"serial\":1,\"has_update\":true,\"mac\":\"10521C06EE47\",\"relays\":[{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true},{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true}],\"rollers\":[{\"state\":\"stop\",\"power\":0,\"is_valid\":true,\"safety_switch\":false,\"overtemperature\":false,\"stop_reason\":\"normal\",\"last_direction\":\"stop\",\"current_pos\":101,\"calibrating\":false,\"positioning\":true}],\"meters\":[{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0},{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0}],\"inputs\":[{\"input\":0},{\"input\":0}],\"temperature\":56.18,\"overtemperature\":false,\"tmp\":{\"tC\":56.18,\"tF\":133.12,\"is_valid\":\"true\"},\"update\":{\"status\":\"pending\",\"has_update\":true,\"new_version\":\"20230503-095750/v1.13.0-g9aed950\",\"old_version\":\"20191217-074901/1047-long-id-for-shelly-devices@ab2bdce7\"},\"ram_total\":49480,\"ram_free\":37016,\"fs_size\":233681,\"fs_free\":157628,\"voltage\":235.06,\"uptime\":6684}",
                                                   "vt": "json"
                                               },
                                               {
                                                   "p": "payload"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "payload": "{\"relays\":[{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true},{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true}],\"rollers\":[{\"state\":\"stop\",\"power\":0,\"is_valid\":true,\"safety_switch\":false,\"overtemperature\":false,\"stop_reason\":\"normal\",\"last_direction\":\"stop\",\"current_pos\":101,\"calibrating\":false,\"positioning\":true}],\"meters\":[{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0},{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0}],\"inputs\":[{\"input\":0},{\"input\":0}],\"tmp\":{\"tC\":56.18,\"tF\":133.12,\"is_valid\":\"true\"}}",
                                           "payloadType": "json",
                                           "x": 130,
                                           "y": 1020,
                                           "wires": [
                                               [
                                                   "8673242f12284d52",
                                                   "4ade18cbedf1f800",
                                                   "1f6db3ae891ae6f9",
                                                   "e19cacdcf99fdc0f"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "8673242f12284d52",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "EnergieManagement",
                                                   "pt": "msg",
                                                   "to": "EnergieManagement",
                                                   "tot": "flow"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 370,
                                           "y": 1020,
                                           "wires": [
                                               [
                                                   "b4cd49fa76bc511c"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "27eecf831db301d2",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Status Relais 1",
                                           "property": "payload.relays[0].ison",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               },
                                               {
                                                   "t": "false"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 940,
                                           "y": 1000,
                                           "wires": [
                                               [
                                                   "860c69c409434a60"
                                               ],
                                               [
                                                   "bd2d29a18401d1c5"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "bd2d29a18401d1c5",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Summe > Einschwelle ?",
                                           "property": "EnergieManagement.Summe > EnergieManagement.Einschwelle ",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1190,
                                           "y": 1020,
                                           "wires": [
                                               [
                                                   "f5b7161642107f77"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "f5b7161642107f77",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Relais 1 einschalten",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "{\"relay\":0,\"on\":true}",
                                                   "tot": "json"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1440,
                                           "y": 1020,
                                           "wires": [
                                               [
                                                   "ad8d7bae4667baf5"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "0a64877c69c15599",
                                           "type": "debug",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Shelly command Relais1",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1810,
                                           "y": 980,
                                           "wires": []
                                       },
                                       {
                                           "id": "b4cd49fa76bc511c",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Check valide Ein und Ausschwelle",
                                           "property": " EnergieManagement.Einschwelle > EnergieManagement.Ausschwelle",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 680,
                                           "y": 1020,
                                           "wires": [
                                               [
                                                   "27eecf831db301d2",
                                                   "cfef92ce1099aabc"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "860c69c409434a60",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Summe > Einschwelle ?",
                                           "property": "EnergieManagement.Summe > EnergieManagement.Einschwelle ",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1190,
                                           "y": 980,
                                           "wires": [
                                               [
                                                   "3345c9a98a678993"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "3345c9a98a678993",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Relais 2 einschalten",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "{\"relay\":1,\"on\":true}",
                                                   "tot": "json"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1440,
                                           "y": 980,
                                           "wires": [
                                               [
                                                   "1066884b98e7ebf3"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1d495447e96a3a24",
                                           "type": "debug",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Shelly command Relais2",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1810,
                                           "y": 1100,
                                           "wires": []
                                       },
                                       {
                                           "id": "d208c8c4552eed40",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Summe < Ausschwelle ?",
                                           "property": "EnergieManagement.Summe < EnergieManagement.Ausschwelle ",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1190,
                                           "y": 1060,
                                           "wires": [
                                               [
                                                   "b4802b321ce23e92"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "b4802b321ce23e92",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Relais 1 ausschalten",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "{\"relay\":0,\"on\":false}",
                                                   "tot": "json"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1440,
                                           "y": 1060,
                                           "wires": [
                                               [
                                                   "ad8d7bae4667baf5"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "cfef92ce1099aabc",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Status Relais 2",
                                           "property": "payload.relays[1].ison",
                                           "propertyType": "msg",
                                           "rules": [
                                               {
                                                   "t": "false"
                                               },
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 2,
                                           "x": 940,
                                           "y": 1080,
                                           "wires": [
                                               [
                                                   "d208c8c4552eed40"
                                               ],
                                               [
                                                   "68dcc9282e6f1562"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "68dcc9282e6f1562",
                                           "type": "switch",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Summe < Ausschwelle ?",
                                           "property": "EnergieManagement.Summe < EnergieManagement.Ausschwelle ",
                                           "propertyType": "jsonata",
                                           "rules": [
                                               {
                                                   "t": "true"
                                               }
                                           ],
                                           "checkall": "true",
                                           "repair": false,
                                           "outputs": 1,
                                           "x": 1190,
                                           "y": 1100,
                                           "wires": [
                                               [
                                                   "4352e22b6fb056a1"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4352e22b6fb056a1",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "Relais 2 ausschalten",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "{\"relay\":1,\"on\":false}",
                                                   "tot": "json"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 1440,
                                           "y": 1100,
                                           "wires": [
                                               [
                                                   "1066884b98e7ebf3"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1f6db3ae891ae6f9",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "setze LED1",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.relays[0].ison",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 330,
                                           "y": 1100,
                                           "wires": [
                                               [
                                                   "08ed4a797b81c710"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4ade18cbedf1f800",
                                           "type": "debug",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "ShellyInput",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 350,
                                           "y": 960,
                                           "wires": []
                                       },
                                       {
                                           "id": "e19cacdcf99fdc0f",
                                           "type": "change",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "setze LED2",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.relays[0].ison",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 330,
                                           "y": 1140,
                                           "wires": [
                                               [
                                                   "0fce39dffa24add3"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "08ed4a797b81c710",
                                           "type": "debug",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "LED1",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 490,
                                           "y": 1100,
                                           "wires": []
                                       },
                                       {
                                           "id": "0fce39dffa24add3",
                                           "type": "debug",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "name": "LED2",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 490,
                                           "y": 1140,
                                           "wires": []
                                       },
                                       {
                                           "id": "1066884b98e7ebf3",
                                           "type": "junction",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "x": 1660,
                                           "y": 1040,
                                           "wires": [
                                               [
                                                   "1d495447e96a3a24"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "ad8d7bae4667baf5",
                                           "type": "junction",
                                           "z": "a3ff42d9e3f31af7",
                                           "g": "63c4ad536edd32b7",
                                           "x": 1600,
                                           "y": 1040,
                                           "wires": [
                                               [
                                                   "0a64877c69c15599"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    Hier der Import. Viel Spaß! ;)

                                    Und das ohne Code - (wenn man mal von < oder > absieht. ;) )

                                    Ich würde an Deiner Stelle auch mit der Inject Node - die Szenarien simulieren - das macht mehr Sinn - als den Realbetrieb abzuwarten - dafür brauchst Du auch nicht das Dashboard.

                                    Du kannst einfach das Objekt verändern und dann mit Inject Now - mit dem veränderten Objekt testen:

                                    db2f0a21-776d-4ad9-ad86-d118398accb6-image.png

                                    Wenn Du die Debug NOdes anständig benennst - erkennst Du so auch - ob die Relays richtig geschaltet werden. In dem Beispiel wird also simuliert, wie erst Relay1 und dann Relay2 einschaltet.

                                    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.

                                    R 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @rudi-3 Na musst Du sehen - hier der Flow ist fertig und nun kannst Du selbst einfach über Debug Nodes schauen, wie die Logik verläuft und musst auch keine unwahrscheinlichen Fälle berücksichtigen:

                                      a131fd74-28bd-4308-a254-370ca778f507-image.png

                                      [
                                         {
                                             "id": "63c4ad536edd32b7",
                                             "type": "group",
                                             "z": "a3ff42d9e3f31af7",
                                             "style": {
                                                 "stroke": "#999999",
                                                 "stroke-opacity": "1",
                                                 "fill": "none",
                                                 "fill-opacity": "1",
                                                 "label": true,
                                                 "label-position": "nw",
                                                 "color": "#a4a4a4"
                                             },
                                             "nodes": [
                                                 "f994a4e33531a8c5",
                                                 "8673242f12284d52",
                                                 "27eecf831db301d2",
                                                 "bd2d29a18401d1c5",
                                                 "f5b7161642107f77",
                                                 "0a64877c69c15599",
                                                 "b4cd49fa76bc511c",
                                                 "860c69c409434a60",
                                                 "3345c9a98a678993",
                                                 "1d495447e96a3a24",
                                                 "d208c8c4552eed40",
                                                 "b4802b321ce23e92",
                                                 "cfef92ce1099aabc",
                                                 "68dcc9282e6f1562",
                                                 "4352e22b6fb056a1",
                                                 "1f6db3ae891ae6f9",
                                                 "4ade18cbedf1f800",
                                                 "e19cacdcf99fdc0f",
                                                 "08ed4a797b81c710",
                                                 "0fce39dffa24add3",
                                                 "1066884b98e7ebf3",
                                                 "ad8d7bae4667baf5"
                                             ],
                                             "x": 14,
                                             "y": 919,
                                             "w": 1952,
                                             "h": 262
                                         },
                                         {
                                             "id": "f994a4e33531a8c5",
                                             "type": "inject",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Shelly Input",
                                             "props": [
                                                 {
                                                     "p": "status",
                                                     "v": "{\"wifi_sta\":{\"connected\":true,\"ssid\":\"Kellerfritz\",\"ip\":\"192.168.2.196\",\"rssi\":-46},\"cloud\":{\"enabled\":false,\"connected\":false},\"mqtt\":{\"connected\":false},\"time\":\"15:16\",\"serial\":1,\"has_update\":true,\"mac\":\"10521C06EE47\",\"relays\":[{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true},{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true}],\"rollers\":[{\"state\":\"stop\",\"power\":0,\"is_valid\":true,\"safety_switch\":false,\"overtemperature\":false,\"stop_reason\":\"normal\",\"last_direction\":\"stop\",\"current_pos\":101,\"calibrating\":false,\"positioning\":true}],\"meters\":[{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0},{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0}],\"inputs\":[{\"input\":0},{\"input\":0}],\"temperature\":56.18,\"overtemperature\":false,\"tmp\":{\"tC\":56.18,\"tF\":133.12,\"is_valid\":\"true\"},\"update\":{\"status\":\"pending\",\"has_update\":true,\"new_version\":\"20230503-095750/v1.13.0-g9aed950\",\"old_version\":\"20191217-074901/1047-long-id-for-shelly-devices@ab2bdce7\"},\"ram_total\":49480,\"ram_free\":37016,\"fs_size\":233681,\"fs_free\":157628,\"voltage\":235.06,\"uptime\":6684}",
                                                     "vt": "json"
                                                 },
                                                 {
                                                     "p": "payload"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "{\"relays\":[{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true},{\"ison\":false,\"has_timer\":false,\"overpower\":false,\"overtemperature\":false,\"is_valid\":true}],\"rollers\":[{\"state\":\"stop\",\"power\":0,\"is_valid\":true,\"safety_switch\":false,\"overtemperature\":false,\"stop_reason\":\"normal\",\"last_direction\":\"stop\",\"current_pos\":101,\"calibrating\":false,\"positioning\":true}],\"meters\":[{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0},{\"power\":0,\"is_valid\":true,\"timestamp\":1689347786,\"counters\":[0,0,0],\"total\":0}],\"inputs\":[{\"input\":0},{\"input\":0}],\"tmp\":{\"tC\":56.18,\"tF\":133.12,\"is_valid\":\"true\"}}",
                                             "payloadType": "json",
                                             "x": 130,
                                             "y": 1020,
                                             "wires": [
                                                 [
                                                     "8673242f12284d52",
                                                     "4ade18cbedf1f800",
                                                     "1f6db3ae891ae6f9",
                                                     "e19cacdcf99fdc0f"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "8673242f12284d52",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "EnergieManagement",
                                                     "pt": "msg",
                                                     "to": "EnergieManagement",
                                                     "tot": "flow"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 370,
                                             "y": 1020,
                                             "wires": [
                                                 [
                                                     "b4cd49fa76bc511c"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "27eecf831db301d2",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Status Relais 1",
                                             "property": "payload.relays[0].ison",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 },
                                                 {
                                                     "t": "false"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 940,
                                             "y": 1000,
                                             "wires": [
                                                 [
                                                     "860c69c409434a60"
                                                 ],
                                                 [
                                                     "bd2d29a18401d1c5"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "bd2d29a18401d1c5",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Summe > Einschwelle ?",
                                             "property": "EnergieManagement.Summe > EnergieManagement.Einschwelle ",
                                             "propertyType": "jsonata",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 1190,
                                             "y": 1020,
                                             "wires": [
                                                 [
                                                     "f5b7161642107f77"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "f5b7161642107f77",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Relais 1 einschalten",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "{\"relay\":0,\"on\":true}",
                                                     "tot": "json"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1440,
                                             "y": 1020,
                                             "wires": [
                                                 [
                                                     "ad8d7bae4667baf5"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "0a64877c69c15599",
                                             "type": "debug",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Shelly command Relais1",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1810,
                                             "y": 980,
                                             "wires": []
                                         },
                                         {
                                             "id": "b4cd49fa76bc511c",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Check valide Ein und Ausschwelle",
                                             "property": " EnergieManagement.Einschwelle > EnergieManagement.Ausschwelle",
                                             "propertyType": "jsonata",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 680,
                                             "y": 1020,
                                             "wires": [
                                                 [
                                                     "27eecf831db301d2",
                                                     "cfef92ce1099aabc"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "860c69c409434a60",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Summe > Einschwelle ?",
                                             "property": "EnergieManagement.Summe > EnergieManagement.Einschwelle ",
                                             "propertyType": "jsonata",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 1190,
                                             "y": 980,
                                             "wires": [
                                                 [
                                                     "3345c9a98a678993"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "3345c9a98a678993",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Relais 2 einschalten",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "{\"relay\":1,\"on\":true}",
                                                     "tot": "json"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1440,
                                             "y": 980,
                                             "wires": [
                                                 [
                                                     "1066884b98e7ebf3"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1d495447e96a3a24",
                                             "type": "debug",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Shelly command Relais2",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1810,
                                             "y": 1100,
                                             "wires": []
                                         },
                                         {
                                             "id": "d208c8c4552eed40",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Summe < Ausschwelle ?",
                                             "property": "EnergieManagement.Summe < EnergieManagement.Ausschwelle ",
                                             "propertyType": "jsonata",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 1190,
                                             "y": 1060,
                                             "wires": [
                                                 [
                                                     "b4802b321ce23e92"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "b4802b321ce23e92",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Relais 1 ausschalten",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "{\"relay\":0,\"on\":false}",
                                                     "tot": "json"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1440,
                                             "y": 1060,
                                             "wires": [
                                                 [
                                                     "ad8d7bae4667baf5"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "cfef92ce1099aabc",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Status Relais 2",
                                             "property": "payload.relays[1].ison",
                                             "propertyType": "msg",
                                             "rules": [
                                                 {
                                                     "t": "false"
                                                 },
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 2,
                                             "x": 940,
                                             "y": 1080,
                                             "wires": [
                                                 [
                                                     "d208c8c4552eed40"
                                                 ],
                                                 [
                                                     "68dcc9282e6f1562"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "68dcc9282e6f1562",
                                             "type": "switch",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Summe < Ausschwelle ?",
                                             "property": "EnergieManagement.Summe < EnergieManagement.Ausschwelle ",
                                             "propertyType": "jsonata",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 1190,
                                             "y": 1100,
                                             "wires": [
                                                 [
                                                     "4352e22b6fb056a1"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "4352e22b6fb056a1",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "Relais 2 ausschalten",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "{\"relay\":1,\"on\":false}",
                                                     "tot": "json"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 1440,
                                             "y": 1100,
                                             "wires": [
                                                 [
                                                     "1066884b98e7ebf3"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "1f6db3ae891ae6f9",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "setze LED1",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "payload.relays[0].ison",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 330,
                                             "y": 1100,
                                             "wires": [
                                                 [
                                                     "08ed4a797b81c710"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "4ade18cbedf1f800",
                                             "type": "debug",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "ShellyInput",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "true",
                                             "targetType": "full",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 350,
                                             "y": 960,
                                             "wires": []
                                         },
                                         {
                                             "id": "e19cacdcf99fdc0f",
                                             "type": "change",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "setze LED2",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "payload.relays[0].ison",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 330,
                                             "y": 1140,
                                             "wires": [
                                                 [
                                                     "0fce39dffa24add3"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "08ed4a797b81c710",
                                             "type": "debug",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "LED1",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 490,
                                             "y": 1100,
                                             "wires": []
                                         },
                                         {
                                             "id": "0fce39dffa24add3",
                                             "type": "debug",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "name": "LED2",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 490,
                                             "y": 1140,
                                             "wires": []
                                         },
                                         {
                                             "id": "1066884b98e7ebf3",
                                             "type": "junction",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "x": 1660,
                                             "y": 1040,
                                             "wires": [
                                                 [
                                                     "1d495447e96a3a24"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "ad8d7bae4667baf5",
                                             "type": "junction",
                                             "z": "a3ff42d9e3f31af7",
                                             "g": "63c4ad536edd32b7",
                                             "x": 1600,
                                             "y": 1040,
                                             "wires": [
                                                 [
                                                     "0a64877c69c15599"
                                                 ]
                                             ]
                                         }
                                      ]
                                      

                                      Hier der Import. Viel Spaß! ;)

                                      Und das ohne Code - (wenn man mal von < oder > absieht. ;) )

                                      Ich würde an Deiner Stelle auch mit der Inject Node - die Szenarien simulieren - das macht mehr Sinn - als den Realbetrieb abzuwarten - dafür brauchst Du auch nicht das Dashboard.

                                      Du kannst einfach das Objekt verändern und dann mit Inject Now - mit dem veränderten Objekt testen:

                                      db2f0a21-776d-4ad9-ad86-d118398accb6-image.png

                                      Wenn Du die Debug NOdes anständig benennst - erkennst Du so auch - ob die Relays richtig geschaltet werden. In dem Beispiel wird also simuliert, wie erst Relay1 und dann Relay2 einschaltet.

                                      R Offline
                                      R Offline
                                      Rudi 3
                                      schrieb am zuletzt editiert von
                                      #37

                                      @mickym Cooler Tip, das werde ich versuchen. Bisher haben bei mir viele Beispielflows mit inject-nodes funktioniert und mit den shellys dann nicht mehr. Daher habe ich hier ein Provisorium auf dem Tisch liegen..
                                      Ich hatte mir zwar extra ein Node-Red Buch gekauft, aber die größte Lernkurve hatte ich heute Nachmittag, auch wenn ich noch nicht alles nachvollzogen habe. Da wird mir am Sonntag bestimmt nicht langweilig. Vielen Dank nochmals für Deine ausführlichen Erklärungen, damit kann man gut arbeiten. Vor allem sind sie auch für andere hilfesuchende eine gute Informationsquelle.
                                      Übrigens ist es heute auf den Tag genau 20 Jahre her, das ich mit Forumshilfe ein größeres Bastelprojekt hinbekommen habe. Daher möchte ich mich speziell bei Dir und im Allgemeinen bei Allen bedanken, die ihr Wissen im Internet teilen.
                                      Rudi

                                      1 Antwort Letzte Antwort
                                      1
                                      • R Rudi 3

                                        @mickym Sorry habe zwischendurch für eventuelle Mitleser meine Gedanken zur Hysterese zusammengefasst. Stimmt, das ist die halbe Miete. In der Praxis wird allerdings folgendes passieren: Wir erreichen z.B. 1000W Überschuss. Der Heizstab schaltet ein (700W). Dann liegt der Überschuss nur noch bei 300W. Dementsprechend groß muss die Hystere sein bzw. wird unnötig Strom verschenkt. Zudem soll der Heizstab nicht unnötig oft schalten. Daher möchte ich zum Schluss eine Verzögerung einbauen, die z.B. nur alle paar Minuten ein Schaltsignal an die Relais gibt. Dabei muss man natürlich abwägen, das hier kurzzeitig teurer Netzstrom ins Warmwasser geht.

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

                                        @rudi-3 sagte in shelly Status zur Fallunterscheidung nutzen:

                                        Zudem soll der Heizstab nicht unnötig oft schalten. Daher möchte ich zum Schluss eine Verzögerung einbauen, die z.B. nur alle paar Minuten ein Schaltsignal an die Relais gibt.

                                        Wie gesagt von der Pollerei und festen Zeiten halte ich gar nichts - so was löst man besser mit einer Trigger Node. Ich mach das dann meist so - dass am Anfang nichts gesendet wird und wenn Deine Karenzzeit vergangen ist - erst geschaltet wird.

                                        Diese Node ist so was von genial und auch wieder ohne Code.

                                        9290cc4f-3712-4050-a61c-205d59fae374-image.png

                                        Du achtest darauf, dass nur veränderte Nachrichten durchkommen - dass kann man mit einer filter Node machen.

                                        e58edcae-78aa-4e49-94e7-4eb70b9b7ce8-image.png

                                        Mit jeder neuen Nachricht (also wenn ping pong gespielt wird) - wird die Nachricht 1 Minute lang in der trigger Node zurückgehalten. Jede neue Nachricht verzögert wieder um 1 Minute. Damit ist das ganze nicht starr.

                                        Erst nach Ablauf der Minute ohne eine veränderte Nachricht wird die letzte, aktuellste Nachricht durchgelassen.

                                        Da die Shelly Node ja permanent sendest - kannst Du die Trigger Node auch umgekehrt konfigurieren, dann kommt das Signal sofort durch - ist aber dann für die Minute gesperrt/blockiert, um neue Nachrichten weiterzuleiten.

                                        c80db4dc-afc8-4833-b13b-fe8e6e772b3f-image.png

                                        Wie gesagt eine geniale Node, wie ich finde. ;)

                                        fb08710b-cac4-4737-9ee2-3f82df93691a-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.

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


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        778

                                        Online

                                        32.5k

                                        Benutzer

                                        81.6k

                                        Themen

                                        1.3m

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

                                        • Du hast noch kein Konto? Registrieren

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