@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
@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
@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 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?
Muss mich für heute verabschieden... Danke!
@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
Vergiss die Werte von eben, da waren einige bei, die zwischen den Rechenzyklen waren. So um 40 springt der auf jeden Fall.
@mickym
Aktuell mal geschaut...
folgende Werte konnte ich sehen
46
2
55
81
13
-31
@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}]
@djmarc75
Verdammt... voll daneben
Moin,
bis jetzt habe ich mein Homeassistant wie folgt erfolgreich betrieben. Raspi per LAN an Fritzbox, OpenDTU, Hoymiles Wechselrichter und ESP (für Victronladeregler) über Repeater. Ich möchte nun den Repeater entfallen lassen und habe über Hass.io Access Point den Raspi als Access Point eingerichtet und die 3 WLAN Geräte erfolgreich ins das "Raspi Netz" eingebunden.
Mein bisheriges Netz war 192.168.10.xx, Subnet 255.255.255.0, das Raspi Netz lautet 192.168.20.xx, Subnet 255.255.255.0.
Leider werden die WLAN Geräte in HA nicht erkannt. Benötige einen Tipp/eine Anleitung, wie ich das Problem behebe. Danke schon mal
@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?