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. Einsteigerfragen
  4. Payload von Timestamp in Node Red weitergeben, wenn

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

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

Payload von Timestamp in Node Red weitergeben, wenn

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
28 Beiträge 2 Kommentatoren 3.3k 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
    #8

    Wie gesagt, Du kannst das auch nach Deiner Methode machen, wenn Du lieber programmierst - ich hab Dir ja gesagt, wie Du die Timestamps auseinanderhalten kannst.

    So falls Du es als aber anders machen willst, dann schau Dir doch mal diesen Thread an - da hab ich gerade so was ähnliches gemacht: https://forum.iobroker.net/post/1146168

    Folgende Fragen stellen sich mir, wenn Du von vorn beginnen willst:

    Alle 15s soll der aktuelle Leistungswert meines Shelly 3EM und der aktuell gesetzte Leistungswert Wechselrichter (per MQTT) ausgelesen werden

    Pollen finde ich in der Regel die ineffizienteste Methode - da hier ein System belastet wird, egal ob sich ein Wert geändert hat oder nicht. Ich bin deshalb ein Freund davon, dass man das Gerät triggern lassen soll - also den Shelly 3EM. Sollte dieser seltener als 15s neu triggern - dann entlastest Du Dein System, da sich der Wert ja nicht geändert hat, triggert der Shelly häufiger und würde Dein System überlasten, so kannst Du mit einer delay Node die zusätzlichen Nachrichten einfach ignorieren und die Nachrichtenrate begrenzen, wie in dem verlinkten Thread gezeigt .

    nun soll der gesetzte Leistungswert WR vom Leistungswert Shelly subtrahiert werden. Ist das Ergebnis positiv soll der Wechselrichter um die Differenz zum gesetzten Leistungswert erhöht werden (bis zum einstellbaren MaxWert = 600W). Ist das Ergebnis negativ, dann soll der WR um die Differenz herunter getaktet werden. Ist die Differenz kleiner 20W soll keine WR Änderung greifen

    Den von Dir wie auc immer gesetzten Leitsungswert speicherst Du nun in einer Flowvariablen. Den kannst Du wenn der Shelly triggert dann subtrahieren und mittels eine switch Node filtern oder verzeweigen.

    Mit Inject-Nodes kannst Du sicherlich pollen - wenn die erste Methode nicht geht oder einfach den Flow mit eigenen Werten triggern um zu schauen, ob das gemacht wird, was Du willst. Debug Node kannst Du immer verwenden, um zu sehen bis zu welcher Node alles in Ordnung ist. Du kannst die ja auch temperär deaktivieren.
    Change Node sind die mächtigsten Nodes, da du damit die payloads veränderst und mit JSONATA eine sehr mächtige Bibliothek hast. Nur falls das nicht ausreicht, kannst Du mit function NOdes - Javascript programmieren. In der Regel ist JSONATA aber mehr als ausreichend und auch wenn man da Übung braucht - sparst Du Dir eine Menge Codeschreiberei.
    HIer ein Link über das try Fenster kann man den Code gleich ausprobieren: https://docs.jsonata.org/overview

    Diese Bibliothek erreichst Du über das J in diversen NOdes über die Selektion des Datentyps.

    5f702d50-dc41-4867-8352-ec2eccebe93c-image.png

    Wie gesagt lass uns klein anfangen:

    1. Willst Du wirklich pollen oder kann der Shelly sich selbst melden?
    2. Setze den Leistungswert über ein Dashboard oder auch über ein selbsterstelltes mqtt topic?

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

    D 1 Antwort Letzte Antwort
    0
    • mickymM mickym

      Wie gesagt, Du kannst das auch nach Deiner Methode machen, wenn Du lieber programmierst - ich hab Dir ja gesagt, wie Du die Timestamps auseinanderhalten kannst.

      So falls Du es als aber anders machen willst, dann schau Dir doch mal diesen Thread an - da hab ich gerade so was ähnliches gemacht: https://forum.iobroker.net/post/1146168

      Folgende Fragen stellen sich mir, wenn Du von vorn beginnen willst:

      Alle 15s soll der aktuelle Leistungswert meines Shelly 3EM und der aktuell gesetzte Leistungswert Wechselrichter (per MQTT) ausgelesen werden

      Pollen finde ich in der Regel die ineffizienteste Methode - da hier ein System belastet wird, egal ob sich ein Wert geändert hat oder nicht. Ich bin deshalb ein Freund davon, dass man das Gerät triggern lassen soll - also den Shelly 3EM. Sollte dieser seltener als 15s neu triggern - dann entlastest Du Dein System, da sich der Wert ja nicht geändert hat, triggert der Shelly häufiger und würde Dein System überlasten, so kannst Du mit einer delay Node die zusätzlichen Nachrichten einfach ignorieren und die Nachrichtenrate begrenzen, wie in dem verlinkten Thread gezeigt .

      nun soll der gesetzte Leistungswert WR vom Leistungswert Shelly subtrahiert werden. Ist das Ergebnis positiv soll der Wechselrichter um die Differenz zum gesetzten Leistungswert erhöht werden (bis zum einstellbaren MaxWert = 600W). Ist das Ergebnis negativ, dann soll der WR um die Differenz herunter getaktet werden. Ist die Differenz kleiner 20W soll keine WR Änderung greifen

      Den von Dir wie auc immer gesetzten Leitsungswert speicherst Du nun in einer Flowvariablen. Den kannst Du wenn der Shelly triggert dann subtrahieren und mittels eine switch Node filtern oder verzeweigen.

      Mit Inject-Nodes kannst Du sicherlich pollen - wenn die erste Methode nicht geht oder einfach den Flow mit eigenen Werten triggern um zu schauen, ob das gemacht wird, was Du willst. Debug Node kannst Du immer verwenden, um zu sehen bis zu welcher Node alles in Ordnung ist. Du kannst die ja auch temperär deaktivieren.
      Change Node sind die mächtigsten Nodes, da du damit die payloads veränderst und mit JSONATA eine sehr mächtige Bibliothek hast. Nur falls das nicht ausreicht, kannst Du mit function NOdes - Javascript programmieren. In der Regel ist JSONATA aber mehr als ausreichend und auch wenn man da Übung braucht - sparst Du Dir eine Menge Codeschreiberei.
      HIer ein Link über das try Fenster kann man den Code gleich ausprobieren: https://docs.jsonata.org/overview

      Diese Bibliothek erreichst Du über das J in diversen NOdes über die Selektion des Datentyps.

      5f702d50-dc41-4867-8352-ec2eccebe93c-image.png

      Wie gesagt lass uns klein anfangen:

      1. Willst Du wirklich pollen oder kann der Shelly sich selbst melden?
      2. Setze den Leistungswert über ein Dashboard oder auch über ein selbsterstelltes mqtt topic?
      D Offline
      D Offline
      DerKlotz
      schrieb am zuletzt editiert von DerKlotz
      #9

      @mickym Moin,
      habe herausgefunden, dass

      1. der Shelly bei jedem Change sendet... also gerne auch 2x innerhalb einer Sekunde.
      2. der Leistungswert kann über ein MQTT topic ausgelesen werden

      Lassen wir also den Shelly triggern und ich setze ein Delay dazwischen. Das hat schon mal geklappt.

      "Den von Dir wie auc immer gesetzten Leitsungswert speicherst Du nun in einer Flowvariablen. Den kannst Du wenn der Shelly triggert dann subtrahieren und mittels eine switch Node filtern oder verzeweigen."
      Welche Node nutze ich dazu? Brauche einen Anstoß. Habe mir eben JSONATA angesehen... für heute zuviel für mich. Werde jetzt mal den Kopf abschalten.

      Danke so weit

      P.S.: hier meine Anfänge

      [{"id":"0a2aa4f87f5956e4","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"30fd91557c3ad1cf","type":"debug","z":"0a2aa4f87f5956e4","name":"debug 47","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":60,"wires":[]},{"id":"d6ce58048ac7cd9f","type":"mqtt out","z":"0a2aa4f87f5956e4","name":"WR Leistung setzen","topic":"hms800/xxxxxxx/cmd/limit_persistent_absolute","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d0d69da0d3c24301","x":800,"y":200,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/xxxxxxx/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":120,"y":160,"wires":[[]]},{"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":false,"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":110,"y":60,"wires":[["f25c860fb81cefcd"]]},{"id":"f25c860fb81cefcd","type":"delay","z":"0a2aa4f87f5956e4","name":"Alle 10s","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":280,"y":60,"wires":[[]]},{"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":"6d6a06a0.fdabd8","type":"server","name":"Home Assistant","addon":true}]
      
      mickymM 1 Antwort Letzte Antwort
      0
      • D DerKlotz

        @mickym Moin,
        habe herausgefunden, dass

        1. der Shelly bei jedem Change sendet... also gerne auch 2x innerhalb einer Sekunde.
        2. der Leistungswert kann über ein MQTT topic ausgelesen werden

        Lassen wir also den Shelly triggern und ich setze ein Delay dazwischen. Das hat schon mal geklappt.

        "Den von Dir wie auc immer gesetzten Leitsungswert speicherst Du nun in einer Flowvariablen. Den kannst Du wenn der Shelly triggert dann subtrahieren und mittels eine switch Node filtern oder verzeweigen."
        Welche Node nutze ich dazu? Brauche einen Anstoß. Habe mir eben JSONATA angesehen... für heute zuviel für mich. Werde jetzt mal den Kopf abschalten.

        Danke so weit

        P.S.: hier meine Anfänge

        [{"id":"0a2aa4f87f5956e4","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"30fd91557c3ad1cf","type":"debug","z":"0a2aa4f87f5956e4","name":"debug 47","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":60,"wires":[]},{"id":"d6ce58048ac7cd9f","type":"mqtt out","z":"0a2aa4f87f5956e4","name":"WR Leistung setzen","topic":"hms800/xxxxxxx/cmd/limit_persistent_absolute","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d0d69da0d3c24301","x":800,"y":200,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/xxxxxxx/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":120,"y":160,"wires":[[]]},{"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":false,"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":110,"y":60,"wires":[["f25c860fb81cefcd"]]},{"id":"f25c860fb81cefcd","type":"delay","z":"0a2aa4f87f5956e4","name":"Alle 10s","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":280,"y":60,"wires":[[]]},{"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":"6d6a06a0.fdabd8","type":"server","name":"Home Assistant","addon":true}]
        
        mickymM Online
        mickymM Online
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #10

        Na das ist doch schon mal ein Anfang. Da ich die Node nicht habe mit der Du Deinen Shelly ausliest - behelfe ich mir mal mit einer Inject Node.

        Bei der Delay Node musst Du nicht nur die Nachrichtenrate begrenzen, sondern auch alle Zwischennachrichten löschen, sonst platzt die Node - oder Du hast plötzlich Speicherschwund. ;)

        e2d162cf-72e6-45e8-b80a-eb34e2fac2dc-image.png

        Ich versuche nun mal das umzusetzen:

        nun soll der gesetzte Leistungswert WR vom Leistungswert Shelly subtrahiert werden. Ist das Ergebnis positiv soll der Wechselrichter um die Differenz zum gesetzten Leistungswert erhöht werden (bis zum einstellbaren MaxWert = 600W). Ist das Ergebnis negativ, dann soll der WR um die Differenz herunter getaktet werden. Ist die Differenz kleiner 20W soll keine WR Änderung greifen.

        Ich kenne mich mit der Regelung fachlich nicht aus - aber hab mal versucht - das in etwa nach Deinem Text umzusetzen - aber vielleicht musst Du die Parameter anders setzen - aber für Dich zum Nachvollziehen sollte es gehen:

        ad2b9429-0d50-44c9-ab50-f07b6687738b-image.png

        Hier zum Import:

        [{"id":"30fd91557c3ad1cf","type":"debug","z":"0a2aa4f87f5956e4","name":" Leistungswert WR vom Leistungswert Shelly subtrahiert ","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":850,"y":240,"wires":[]},{"id":"d6ce58048ac7cd9f","type":"mqtt out","z":"0a2aa4f87f5956e4","name":"WR Leistung setzen","topic":"hms800/xxxxxxx/cmd/limit_persistent_absolute","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d0d69da0d3c24301","x":1260,"y":380,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/xxxxxxx/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":280,"y":40,"wires":[["700ad65a80712a81"]]},{"id":"f25c860fb81cefcd","type":"delay","z":"0a2aa4f87f5956e4","name":"Alle 10s","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":300,"y":300,"wires":[["5b65c71b22e6d9a0"]]},{"id":"3dfb5574e0a45da7","type":"inject","z":"0a2aa4f87f5956e4","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Shelly","payload":"2000","payloadType":"num","x":150,"y":300,"wires":[["f25c860fb81cefcd"]]},{"id":"eb19d4b6b25f5c4d","type":"inject","z":"0a2aa4f87f5956e4","name":"Leistungs setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":260,"y":100,"wires":[["700ad65a80712a81"]]},{"id":"700ad65a80712a81","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"leistung","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":100,"wires":[["fd9d579d05a98a0f"]]},{"id":"5b65c71b22e6d9a0","type":"change","z":"0a2aa4f87f5956e4","name":"Shelly - Leistung","rules":[{"t":"set","p":"leistung","pt":"msg","to":"leistung","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload - leistung","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":300,"wires":[["30fd91557c3ad1cf","fd09e1ffd4a2b028"]]},{"id":"fd9d579d05a98a0f","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":100,"wires":[]},{"id":"fd09e1ffd4a2b028","type":"switch","z":"0a2aa4f87f5956e4","name":"Überprüfung Differenz","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"0","vt":"num"},{"t":"lt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":720,"y":320,"wires":[["1054d22cd499f807"],["1c3c169bafcbadb0"]]},{"id":"1054d22cd499f807","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erhöht","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"limit","pt":"msg","to":"limit","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload > limit ? limit : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":300,"wires":[["5e26fca5d51b7022"]]},{"id":"473aeb42a17ca2ad","type":"inject","z":"0a2aa4f87f5956e4","name":"Limit setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"600","payloadType":"num","x":270,"y":160,"wires":[["0bd3a322dfdb068b"]]},{"id":"0bd3a322dfdb068b","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"limit","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":160,"wires":[["e454758d976f07d0"]]},{"id":"e454758d976f07d0","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":160,"wires":[]},{"id":"5e26fca5d51b7022","type":"debug","z":"0a2aa4f87f5956e4","name":"Regelung","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1220,"y":320,"wires":[]},{"id":"1c3c169bafcbadb0","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erniedrigt","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"payload < 20 ? 20 : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":340,"wires":[["5e26fca5d51b7022"]]},{"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":""}]
        

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

        D 2 Antworten Letzte Antwort
        0
        • mickymM mickym

          Na das ist doch schon mal ein Anfang. Da ich die Node nicht habe mit der Du Deinen Shelly ausliest - behelfe ich mir mal mit einer Inject Node.

          Bei der Delay Node musst Du nicht nur die Nachrichtenrate begrenzen, sondern auch alle Zwischennachrichten löschen, sonst platzt die Node - oder Du hast plötzlich Speicherschwund. ;)

          e2d162cf-72e6-45e8-b80a-eb34e2fac2dc-image.png

          Ich versuche nun mal das umzusetzen:

          nun soll der gesetzte Leistungswert WR vom Leistungswert Shelly subtrahiert werden. Ist das Ergebnis positiv soll der Wechselrichter um die Differenz zum gesetzten Leistungswert erhöht werden (bis zum einstellbaren MaxWert = 600W). Ist das Ergebnis negativ, dann soll der WR um die Differenz herunter getaktet werden. Ist die Differenz kleiner 20W soll keine WR Änderung greifen.

          Ich kenne mich mit der Regelung fachlich nicht aus - aber hab mal versucht - das in etwa nach Deinem Text umzusetzen - aber vielleicht musst Du die Parameter anders setzen - aber für Dich zum Nachvollziehen sollte es gehen:

          ad2b9429-0d50-44c9-ab50-f07b6687738b-image.png

          Hier zum Import:

          [{"id":"30fd91557c3ad1cf","type":"debug","z":"0a2aa4f87f5956e4","name":" Leistungswert WR vom Leistungswert Shelly subtrahiert ","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":850,"y":240,"wires":[]},{"id":"d6ce58048ac7cd9f","type":"mqtt out","z":"0a2aa4f87f5956e4","name":"WR Leistung setzen","topic":"hms800/xxxxxxx/cmd/limit_persistent_absolute","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d0d69da0d3c24301","x":1260,"y":380,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/xxxxxxx/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":280,"y":40,"wires":[["700ad65a80712a81"]]},{"id":"f25c860fb81cefcd","type":"delay","z":"0a2aa4f87f5956e4","name":"Alle 10s","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":300,"y":300,"wires":[["5b65c71b22e6d9a0"]]},{"id":"3dfb5574e0a45da7","type":"inject","z":"0a2aa4f87f5956e4","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Shelly","payload":"2000","payloadType":"num","x":150,"y":300,"wires":[["f25c860fb81cefcd"]]},{"id":"eb19d4b6b25f5c4d","type":"inject","z":"0a2aa4f87f5956e4","name":"Leistungs setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":260,"y":100,"wires":[["700ad65a80712a81"]]},{"id":"700ad65a80712a81","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"leistung","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":100,"wires":[["fd9d579d05a98a0f"]]},{"id":"5b65c71b22e6d9a0","type":"change","z":"0a2aa4f87f5956e4","name":"Shelly - Leistung","rules":[{"t":"set","p":"leistung","pt":"msg","to":"leistung","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload - leistung","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":300,"wires":[["30fd91557c3ad1cf","fd09e1ffd4a2b028"]]},{"id":"fd9d579d05a98a0f","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":100,"wires":[]},{"id":"fd09e1ffd4a2b028","type":"switch","z":"0a2aa4f87f5956e4","name":"Überprüfung Differenz","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"0","vt":"num"},{"t":"lt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":720,"y":320,"wires":[["1054d22cd499f807"],["1c3c169bafcbadb0"]]},{"id":"1054d22cd499f807","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erhöht","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"limit","pt":"msg","to":"limit","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload > limit ? limit : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":300,"wires":[["5e26fca5d51b7022"]]},{"id":"473aeb42a17ca2ad","type":"inject","z":"0a2aa4f87f5956e4","name":"Limit setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"600","payloadType":"num","x":270,"y":160,"wires":[["0bd3a322dfdb068b"]]},{"id":"0bd3a322dfdb068b","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"limit","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":160,"wires":[["e454758d976f07d0"]]},{"id":"e454758d976f07d0","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":160,"wires":[]},{"id":"5e26fca5d51b7022","type":"debug","z":"0a2aa4f87f5956e4","name":"Regelung","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1220,"y":320,"wires":[]},{"id":"1c3c169bafcbadb0","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erniedrigt","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"payload < 20 ? 20 : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":340,"wires":[["5e26fca5d51b7022"]]},{"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":""}]
          

          D Offline
          D Offline
          DerKlotz
          schrieb am zuletzt editiert von
          #11

          @mickym Moin,
          du bist echt Hammer. Werde mir jetzt etwas Zeit zum Verstehen nehmen und dann sicher mit Fragen kommen, ob ich das so richtig verstanden gabe.

          Danke nochmal

          1 Antwort Letzte Antwort
          0
          • mickymM mickym

            Na das ist doch schon mal ein Anfang. Da ich die Node nicht habe mit der Du Deinen Shelly ausliest - behelfe ich mir mal mit einer Inject Node.

            Bei der Delay Node musst Du nicht nur die Nachrichtenrate begrenzen, sondern auch alle Zwischennachrichten löschen, sonst platzt die Node - oder Du hast plötzlich Speicherschwund. ;)

            e2d162cf-72e6-45e8-b80a-eb34e2fac2dc-image.png

            Ich versuche nun mal das umzusetzen:

            nun soll der gesetzte Leistungswert WR vom Leistungswert Shelly subtrahiert werden. Ist das Ergebnis positiv soll der Wechselrichter um die Differenz zum gesetzten Leistungswert erhöht werden (bis zum einstellbaren MaxWert = 600W). Ist das Ergebnis negativ, dann soll der WR um die Differenz herunter getaktet werden. Ist die Differenz kleiner 20W soll keine WR Änderung greifen.

            Ich kenne mich mit der Regelung fachlich nicht aus - aber hab mal versucht - das in etwa nach Deinem Text umzusetzen - aber vielleicht musst Du die Parameter anders setzen - aber für Dich zum Nachvollziehen sollte es gehen:

            ad2b9429-0d50-44c9-ab50-f07b6687738b-image.png

            Hier zum Import:

            [{"id":"30fd91557c3ad1cf","type":"debug","z":"0a2aa4f87f5956e4","name":" Leistungswert WR vom Leistungswert Shelly subtrahiert ","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":850,"y":240,"wires":[]},{"id":"d6ce58048ac7cd9f","type":"mqtt out","z":"0a2aa4f87f5956e4","name":"WR Leistung setzen","topic":"hms800/xxxxxxx/cmd/limit_persistent_absolute","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d0d69da0d3c24301","x":1260,"y":380,"wires":[]},{"id":"6df252da2441f7af","type":"mqtt in","z":"0a2aa4f87f5956e4","name":"WR Leistung einlesen","topic":"hms800/xxxxxxx/status/limit_absolute","qos":"2","datatype":"auto-detect","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":280,"y":40,"wires":[["700ad65a80712a81"]]},{"id":"f25c860fb81cefcd","type":"delay","z":"0a2aa4f87f5956e4","name":"Alle 10s","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":300,"y":300,"wires":[["5b65c71b22e6d9a0"]]},{"id":"3dfb5574e0a45da7","type":"inject","z":"0a2aa4f87f5956e4","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"Shelly","payload":"2000","payloadType":"num","x":150,"y":300,"wires":[["f25c860fb81cefcd"]]},{"id":"eb19d4b6b25f5c4d","type":"inject","z":"0a2aa4f87f5956e4","name":"Leistungs setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":260,"y":100,"wires":[["700ad65a80712a81"]]},{"id":"700ad65a80712a81","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"leistung","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":100,"wires":[["fd9d579d05a98a0f"]]},{"id":"5b65c71b22e6d9a0","type":"change","z":"0a2aa4f87f5956e4","name":"Shelly - Leistung","rules":[{"t":"set","p":"leistung","pt":"msg","to":"leistung","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload - leistung","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":300,"wires":[["30fd91557c3ad1cf","fd09e1ffd4a2b028"]]},{"id":"fd9d579d05a98a0f","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":100,"wires":[]},{"id":"fd09e1ffd4a2b028","type":"switch","z":"0a2aa4f87f5956e4","name":"Überprüfung Differenz","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"0","vt":"num"},{"t":"lt","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":720,"y":320,"wires":[["1054d22cd499f807"],["1c3c169bafcbadb0"]]},{"id":"1054d22cd499f807","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erhöht","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"limit","pt":"msg","to":"limit","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload > limit ? limit : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":300,"wires":[["5e26fca5d51b7022"]]},{"id":"473aeb42a17ca2ad","type":"inject","z":"0a2aa4f87f5956e4","name":"Limit setzen","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"600","payloadType":"num","x":270,"y":160,"wires":[["0bd3a322dfdb068b"]]},{"id":"0bd3a322dfdb068b","type":"change","z":"0a2aa4f87f5956e4","name":"","rules":[{"t":"set","p":"limit","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":160,"wires":[["e454758d976f07d0"]]},{"id":"e454758d976f07d0","type":"debug","z":"0a2aa4f87f5956e4","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":750,"y":160,"wires":[]},{"id":"5e26fca5d51b7022","type":"debug","z":"0a2aa4f87f5956e4","name":"Regelung","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1220,"y":320,"wires":[]},{"id":"1c3c169bafcbadb0","type":"change","z":"0a2aa4f87f5956e4","name":"Leistungswert erniedrigt","rules":[{"t":"set","p":"payload","pt":"msg","to":"leistung + payload","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"payload < 20 ? 20 : payload","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":340,"wires":[["5e26fca5d51b7022"]]},{"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":""}]
            

            D Offline
            D Offline
            DerKlotz
            schrieb am zuletzt editiert von DerKlotz
            #12

            @mickym
            Moin,
            habe mich mit dem Code beschäftigt und möchte den erweitern. Ich würde gerne das Wechselrichterlimit erst erhöhen, wenn die gesamte PV Leistung für z.B. eine Minute größer= 1000 ist. Komme nicht weiter...

            Danke und bis Mitte nächster Woche

            [{"id":"5fe3fafc3c23805b","type":"server-state-changed","z":"6577016f01b55dc5","name":"MPPT 150 PV Leistung","server":"6d6a06a0.fdabd8","version":5,"outputs":1,"exposeAsEntityConfig":"","entityId":"sensor.victron150_panel_power","entityIdType":"exact","outputInitially":false,"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":120,"y":120,"wires":[["d773489bd7c13317"]]},{"id":"d773489bd7c13317","type":"change","z":"6577016f01b55dc5","name":"Gesamte PV Leistung","rules":[{"t":"set","p":"mppt100","pt":"msg","to":"mppt100","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"payload + mppt100","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":120,"wires":[["fd266835897b7237"]]},{"id":"fd266835897b7237","type":"switch","z":"6577016f01b55dc5","name":"WR Limit ","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"1000","vt":"str"},{"t":"lt","v":"1000","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":120,"y":300,"wires":[["b11a339ba591a48d"],["38c4fae285b02601"]]},{"id":"38c4fae285b02601","type":"change","z":"6577016f01b55dc5","name":"WR Limit 600","rules":[{"t":"set","p":"payload","pt":"msg","to":"600","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":320,"wires":[["562bcb0ea54d0de5"]]},{"id":"b11a339ba591a48d","type":"change","z":"6577016f01b55dc5","name":"WR Limit 800","rules":[{"t":"set","p":"payload","pt":"msg","to":"800","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":260,"wires":[["562bcb0ea54d0de5"]]},{"id":"562bcb0ea54d0de5","type":"change","z":"6577016f01b55dc5","name":"","rules":[{"t":"set","p":"limit","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":320,"wires":[["7d926f82cd595d51"]]},{"id":"7d926f82cd595d51","type":"debug","z":"6577016f01b55dc5","name":"aktuelles Leistungslimit","active":true,"tosidebar":false,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":790,"y":320,"wires":[]},{"id":"3c42a6c16cc8f788","type":"inject","z":"6577016f01b55dc5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"50","payloadType":"num","x":90,"y":20,"wires":[["3cd6a15f0d041841"]]},{"id":"3e4a0c469b44c933","type":"server-state-changed","z":"6577016f01b55dc5","name":"MPPT 100 PV Leistung","server":"6d6a06a0.fdabd8","version":5,"outputs":1,"exposeAsEntityConfig":"","entityId":"sensor.victron100_panel_voltage","entityIdType":"exact","outputInitially":false,"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":120,"y":60,"wires":[["3cd6a15f0d041841"]]},{"id":"3cd6a15f0d041841","type":"change","z":"6577016f01b55dc5","name":"PV Leistung MPPT 100","rules":[{"t":"set","p":"mppt100","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":60,"wires":[[]]},{"id":"6d6a06a0.fdabd8","type":"server","name":"Home Assistant","addon":true}]
            
            1 Antwort Letzte Antwort
            0
            • mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #13

              @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":[]}]

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

              D 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @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 Offline
                D Offline
                DerKlotz
                schrieb am zuletzt editiert von
                #14

                @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?

                mickymM 1 Antwort Letzte Antwort
                0
                • D DerKlotz

                  @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?

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

                  @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

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

                  D 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @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 Offline
                    D Offline
                    DerKlotz
                    schrieb am zuletzt editiert von DerKlotz
                    #16

                    @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}]
                    
                    mickymM 1 Antwort Letzte Antwort
                    0
                    • D 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}]
                      
                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #17

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

                      e52c7641-96c5-4e80-bbf0-07bb13f64bd7-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.

                      D 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

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

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

                        D Offline
                        D Offline
                        DerKlotz
                        schrieb am zuletzt editiert von
                        #18

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

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • D DerKlotz

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

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

                          @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.

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

                          D 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @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 Offline
                            D Offline
                            DerKlotz
                            schrieb am zuletzt editiert von DerKlotz
                            #20

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

                            mickymM 1 Antwort Letzte Antwort
                            0
                            • D DerKlotz

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

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

                              @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.

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

                              D 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @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 Offline
                                D Offline
                                DerKlotz
                                schrieb am zuletzt editiert von
                                #22

                                @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...

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • D DerKlotz

                                  @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...

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

                                  @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.

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

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @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 Offline
                                    D Offline
                                    DerKlotz
                                    schrieb am zuletzt editiert von DerKlotz
                                    #24

                                    @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!

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • D 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!

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

                                      @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": []
                                         }
                                      ]
                                      

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

                                      D 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @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 Offline
                                        D Offline
                                        DerKlotz
                                        schrieb am zuletzt editiert von
                                        #26

                                        @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

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • D DerKlotz

                                          @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

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

                                          @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

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          476

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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