Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Payload von Timestamp in Node Red weitergeben, wenn

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Payload von Timestamp in Node Red weitergeben, wenn

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active last edited by

      @derklotz sagte in Payload von Timestamp in Node Red weitergeben, wenn:

      wenn die gesamte PV Leistung für z.B. eine Minute größer= 1000 ist

      hier

      79946fa4-f3b2-4a7a-ad74-66e90172d6da-image.png


      [{"id":"7a67ae22ed136350","type":"inject","z":"27d9496bad8ac6c5","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1000","payloadType":"num","x":290,"y":220,"wires":[["cf91ddd6e7ed9050"]]},{"id":"d941f8abe2f4ef78","type":"inject","z":"27d9496bad8ac6c5","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"900","payloadType":"num","x":290,"y":280,"wires":[["cf91ddd6e7ed9050"]]},{"id":"cf91ddd6e7ed9050","type":"switch","z":"27d9496bad8ac6c5","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"1000","vt":"str"},{"t":"lt","v":"1000","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":450,"y":240,"wires":[["4bd4856c8193177d"],["08e27267381bab8f"]]},{"id":"4bd4856c8193177d","type":"change","z":"27d9496bad8ac6c5","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":220,"wires":[["1988f081e7e45569"]]},{"id":"08e27267381bab8f","type":"change","z":"27d9496bad8ac6c5","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":260,"wires":[["1988f081e7e45569"]]},{"id":"1988f081e7e45569","type":"trigger","z":"27d9496bad8ac6c5","name":"","op1":"","op2":"true","op1type":"nul","op2type":"bool","duration":"1","extend":false,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":830,"y":240,"wires":[["7fdca484b75d542b"]]},{"id":"7fdca484b75d542b","type":"debug","z":"27d9496bad8ac6c5","name":"länger als 1 min > 1000","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1070,"y":240,"wires":[]}]

      D 1 Reply Last reply Reply Quote 0
      • D
        DerKlotz @mickym last edited by

        @mickym
        Moin,
        haut super hin, der Rest meiner Steuerung nimmt auch allmählich finale Gestalt an. Danke an dich!

        Etwas offtopic... Habe für die Batteriespannung eine(n) Gauge im Dashboard erstellt. Gibt es die Möglich am äußeren Rand Werte anzeigen zu lassen? Min - Max an den Enden ist klar, aber wie sieht es mit Zwischenwerten aus?

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @DerKlotz last edited by mickym

          @derklotz die aktuellen werte in der gauge werden doch in der mitte angezeigt? ansonsten in der Standardgauge gibts keine skala - auch im neuen Dashboard nicht.

          Das Einzige, was ich Dir als Alternative anbieten kann, sind die Steelseries Widgets - dafür habe ich ja mal einen eigenen Thread gemacht: https://forum.iobroker.net/post/634863

          D 1 Reply Last reply Reply Quote 0
          • D
            DerKlotz @mickym last edited by DerKlotz

            @mickym
            Hallo,
            nach dem Urlaub und weiterem Programmieren, hab ich meine PV Anlage nun zum Laufen gebracht. Das ganze mit den Gauges habe ich nicht hin bekommen... allerdings schaue ich mittlerweile nicht ständig aufs Dashboard, so dass ich die Gauges auch nicht mehr weiter verfolgen möchte.

            Ich habe zur Zeit eine Funktion in meiner Programierung, die ich noch gerne ändern würde, aber keinen Ansatz finde.
            Per MQTT wird alle 20s ein Trigger vom Wechselrichter ausgelöst, der unter anderem die aktuelle Leistung des Shelly ausliest (current state node) und dann die Berechnung für den neuen Wechselrichter Wert durchführt. Nun ist es so, dass die Leistungswerte des Shelly (habe parallel eine event state node für den Shelly an einem Debug) manchmal recht wild hin und her springen und wenn nun gerade der Trigger kommt, dann ist die Berechnung "weit" weg vom Soll. Ich übertreibe jetzt mal und sage der Shelly liefert jede Sekunde einen anderen Wert.
            Meine Idee: Der Shelly feuert über eine event state node so viel er will, dann kommt eine smooth node und erstellt alle 5 Werte einen Mittelwert. Dieser Mittelwert wird mit dem Triggersignal an die Berechnung weitergeführt. Wurden innerhalb der 20s Triggerzeit mehrere Mittelwerte gebildet, so soll nur der letzte zur Berechnung heran gezogen werden... ist es so klar beschrieben???

            Danke

            P.S.: Habe nur die Nodes hier eingestellt, die der Veranschaulichung helfen

            [{"id":"ea4ad0f18e32f4d5","type":"server-state-changed","z":"0a2aa4f87f5956e4","name":"Shelly 3EM","server":"6d6a06a0.fdabd8","version":5,"outputs":1,"exposeAsEntityConfig":"","entityId":"sensor.shellypro3em_34987a471964_total_active_power","entityIdType":"exact","outputInitially":true,"stateType":"num","ifState":"","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":90,"y":40,"wires":[["0d4451c28da95816"]]},{"id":"0d4451c28da95816","type":"smooth","z":"0a2aa4f87f5956e4","name":"","property":"payload","action":"mean","count":"5","round":"0","mult":"single","reduce":true,"x":320,"y":80,"wires":[["5df5e48eaf6c5a06","503598ccfa7b2b44"]]},{"id":"5df5e48eaf6c5a06","type":"debug","z":"0a2aa4f87f5956e4","name":"debug 51","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":800,"y":100,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/114491215971/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":100,"y":220,"wires":[["f83acaa91f44f413","d7d7f106bcbb4013"]]},{"id":"f83acaa91f44f413","type":"change","z":"0a2aa4f87f5956e4","name":"WR Trigger","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":110,"y":160,"wires":[["3d5ee0abe9f74380","e7287f2c54cb5644","1570b4d33454fcb7","589526f7921c6c0d","71a71d3999bcd289","cdaa2d9c336c2ee8","7af26ab867661b30","b7d145577407dba9"]]},{"id":"71a71d3999bcd289","type":"api-current-state","z":"0a2aa4f87f5956e4","name":"Leistung alle Phasen","server":"864f5cad6b0c1ce0","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.shellypro3em_34987a471964_total_active_power","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":440,"y":160,"wires":[["f0b1139468c6c3d2","25ec3c5f853b4e6c"]]},{"id":"25ec3c5f853b4e6c","type":"trigger","z":"0a2aa4f87f5956e4","name":"","op1":"","op2":"","op1type":"nul","op2type":"payl","duration":"10","extend":false,"overrideDelay":false,"units":"ms","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":290,"y":280,"wires":[["7e4f2eb2a91c8cc8"]],"info":"Trigger setzen, weil sonst alle Zustände\r\ngleichzeitig kommen"},{"id":"f0b1139468c6c3d2","type":"ui_chart","z":"0a2aa4f87f5956e4","name":"","group":"65436f194880235a","order":1,"width":0,"height":0,"label":"Netzbezug","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"step","nodata":"","dot":false,"ymin":"-150","ymax":"150","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":830,"y":180,"wires":[[]]},{"id":"7e4f2eb2a91c8cc8","type":"switch","z":"0a2aa4f87f5956e4","name":"Überprüfung Differenz","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"20","vt":"num"},{"t":"lte","v":"-20","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":280,"y":360,"wires":[["59a1b7939f9ed580"],["f39428fb43c1582c"]]},{"id":"6d6a06a0.fdabd8","type":"server","name":"Home Assistant","addon":true},{"id":"d0d69da0d3c24301","type":"mqtt-broker","name":"","broker":"192.168.10.9","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"864f5cad6b0c1ce0","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"5","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":false},{"id":"65436f194880235a","type":"ui_group","name":"Group 2","tab":"84548990a4a4f571","order":2,"disp":true,"width":"6","collapse":false,"className":""},{"id":"84548990a4a4f571","type":"ui_tab","name":"Test","icon":"dashboard","disabled":false,"hidden":false}]
            
            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @DerKlotz last edited by mickym

              @derklotz Warum nimmst Du nicht die Standard filter Node und filterst auf das Nahbereichsband.

              e52c7641-96c5-4e80-bbf0-07bb13f64bd7-image.png

              D 1 Reply Last reply Reply Quote 0
              • D
                DerKlotz @mickym last edited by

                @mickym
                Aktuell mal geschaut...
                folgende Werte konnte ich sehen
                46
                2
                55
                81
                13
                -31

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @DerKlotz last edited by mickym

                  @derklotz Ja wie gesagt, nutze den Nahbandfilter - was ist denn ein gültiger Wert - das ist ja alles sehr gestreut. Die smooth Node bezieht halt alle Wert mit ein. Kannst ja auch nutzen - aber ich weiß nicht, ob das zielführend ist.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    DerKlotz @mickym last edited by DerKlotz

                    @mickym
                    Vergiss die Werte von eben, da waren einige bei, die zwischen den Rechenzyklen waren. So um 40 springt der auf jeden Fall.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @DerKlotz last edited by

                      @derklotz sagte in Payload von Timestamp in Node Red weitergeben, wenn:

                      @mickym
                      Vergiss die Werte von eben, da waren einige bei, die zwischen den Rechenzyklen waren. So um 40 springt der auf jeden Fall.

                      Wie gesagt der Nahbandfilter - ignoriert halt alle Ausreiser, die smooth Node verwendet diese Werte ja mit.

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        DerKlotz @mickym last edited by

                        @mickym Null wäre die beste "Zahl". Ich kann leider nicht sagen, welcher Wert der Richtige ist, da es ja immer leichte Leistungsschwankungen in der Hauselektrik gibt. Dazu kommt ja die eventuelle Ungenauigkeit des Shelly... deswegen war mein Gedanke alle Werte hinzu zu nehmen...

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @DerKlotz last edited by

                          @derklotz Na ja wie gesagt - leichte Leistungsschwankungen kann man mit dem Nahbereichsfilter ja herausfiltern und wenn 0 die beste Zahl ist, dann ist der % Bereich ja gut - da ja je näher an 0 der Prozentbereich ja enger ist ansonsten gehen ja auch absolute Werte - also Änderungen unter 10 oder was weiss ich. Aber ansonsten nimm halt die smooth Node. Wie gesagt das ist eine Logikentscheidung, die nur selbst beantworten kannst. Statt der smooth Node - kannst Du auch die aggregator Node nehmen und dann keine Mittelwert sondern den Median nehmen.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            DerKlotz @mickym last edited by DerKlotz

                            @mickym Wenn ich in einem Rechenzyklus die 0 erreicht habe, dann bedeutet es dass ich kein Strom beziehe noch abgebe. Schaltet jetzt z.B. ein großer Verbraucher zu, dann kann ich ja 1000 entfernt sein und meine Berechnung bekommt das nicht mit, weil mein Wert größer 10% ist oder mache ich einen Denkfehler?20240527_192558.jpg

                            Muss mich für heute verabschieden... Danke!

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @DerKlotz last edited by

                              @derklotz
                              fc532e2a-53af-49ab-b554-7c3a61a3ffe2-image.png

                              Wenn Du es mit dem Eingang vergleichst, dann muss der 2. Wert innerhalb des Nahbandes sein. Teste halt mal mit Inject Nodes.

                              [
                                 {
                                     "id": "e618d0bcb9949b50",
                                     "type": "inject",
                                     "z": "f05041e5.046a7",
                                     "name": "",
                                     "props": [
                                         {
                                             "p": "payload"
                                         },
                                         {
                                             "p": "topic",
                                             "vt": "str"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "0",
                                     "payloadType": "num",
                                     "x": 310,
                                     "y": 5980,
                                     "wires": [
                                         [
                                             "44112f7b939c18b3"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "accbe735447258bd",
                                     "type": "inject",
                                     "z": "f05041e5.046a7",
                                     "name": "",
                                     "props": [
                                         {
                                             "p": "payload"
                                         },
                                         {
                                             "p": "topic",
                                             "vt": "str"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "1000",
                                     "payloadType": "num",
                                     "x": 310,
                                     "y": 6020,
                                     "wires": [
                                         [
                                             "44112f7b939c18b3"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "44112f7b939c18b3",
                                     "type": "rbe",
                                     "z": "f05041e5.046a7",
                                     "name": "",
                                     "func": "narrowband",
                                     "gap": "10%",
                                     "start": "",
                                     "inout": "in",
                                     "septopics": true,
                                     "property": "payload",
                                     "topi": "topic",
                                     "x": 510,
                                     "y": 6000,
                                     "wires": [
                                         [
                                             "e141f28c1b55ac85"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "e141f28c1b55ac85",
                                     "type": "debug",
                                     "z": "f05041e5.046a7",
                                     "name": "debug 1",
                                     "active": true,
                                     "tosidebar": true,
                                     "console": false,
                                     "tostatus": false,
                                     "complete": "false",
                                     "statusVal": "",
                                     "statusType": "auto",
                                     "x": 720,
                                     "y": 6000,
                                     "wires": []
                                 }
                              ]
                              

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                DerKlotz @mickym last edited by

                                @mickym Ok, jetzt habe ich die node erst richtig verstanden... bleibt für mich immer noch die Frage, wie ich nur den aktuellsten Wert alle 20s über meinen Haupttimer abhole. Zur Zeit kann es immer noch passieren, dass viele Werte innerhalb 20s kommen und dementsprechend viele Berechnungen passieren, die ständig die Wechselrichterleistung anpassen. Dat soll nunmal nicht passieren.

                                Muss auch leider schon wieder weg... Danke für die ganze Mühe

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @DerKlotz last edited by mickym

                                  @derklotz sagte in Payload von Timestamp in Node Red weitergeben, wenn:

                                  bleibt für mich immer noch die Frage, wie ich nur den aktuellsten Wert alle 20s über meinen Haupttimer abhole.

                                  Nun entweder trigger die Werte, dann braucht man sie eigentlich nicht abholen oder Du speicherst die alle in eine Flowvariablen und da diese ja immer mit dem aktuellsten Wert überschrieben werden und holst den damit ab.

                                  Wenn Du dauernd unsinnige Berechnungen machst, die Du eh immer verwirfst, dann vergeudest Du ja nur CPU und Resourcen.

                                  Natürlich kannst Du auch die Trigger Node im Block Modus verwenden und diesen Block alle 20 s freigeben. Du hast also eine Menge Möglichkeiten - Du musst nur Deine Fantasie walten lassen.

                                  Man muss halt generell aufpassen, dass wenn schon einiges weggefiltert wird, dass man hier nicht Dinge verschlimmbessert

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    DerKlotz @mickym last edited by

                                    @mickym Moin, der Tipp mit der Flowvariablen hat mir weiter geholfen. Den Ansatz hatte ich zwar vorher schon verfolgt, aber immer irgendwo einen Fehler gemacht. Nun habe ich mich da tief mit beschäftigt und nun läuft es.

                                    GANZ DICKES DANKE

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    890
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    2
                                    28
                                    2047
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo