PV-Anlage - SMA Wechselrichter und Batterie an homee simulieren [hih]

Hast du die Probleme weiterhin?
Bei mir hat es geholfen, den Modbus aus und wieder einzuschalten und mehrere Male meinen Router neu zu starten. Hört sich komisch an, aber seit dem funktioniert es einwandfrei.

@medicus07
ich weiß nicht genau seit wann, aber im unteren Teil des Diagramms unter Verläufe habe ich statt Uhrzeiten merkwürdige Zahlen stehen.
Ist das ein Bug in homee oder liegt das an deinem Flow?

Hmmm… sieht bei mir wie eh und je aus… normale Uhrzeiten (iOS App).

Vielleicht liegt es an der Android App?

hmmm das kann natürlich sein, dass das mal wieder das Problem ist…
Hat das vielleicht ein anderer Android Nutzer auch?

@Steffen könnt ihr das prüfen?

Hallo,

ich habe einen Fronius Wechselrichter und mir den Flow selbst zusammengebastelt.
In der Android-App hab ich im Verlauf auch diese Zahlen.

Dürfte also an der App liegen.

Hallo, habe eine evtl. blöde Frage: wir bekommen eine PV-Anlage, allerdings wird der WR nicht ohne Weiteres in node red, iobroker, usw. zu integrieren sein.
Jetzt habe ich gesehen, daß es von Fronius einen Stromzähler Smart Meter gibt. Wäre dies auch eine Möglichkeit an Daten zu kommen?
Würde dann ggf. noch eine Aeotec-Zange für die Pufferbatterie mit einbauen…

Möglichkeiten an die Daten zu kommen sind folgende:

  • Modbus Schnittstelle am WR/ Smartester (Registereinträge)
  • API WR/ Smartmeter
  • Plugin ioBroker, NodeRed
  • Aeotec-Zangen

Der WR hat eine LAN-Schnittstelle für die Fernwartung. Darüber laufen auch „Daten“. Genaueres kenne ich noch nicht, auch nicht, ob es eine API gibt; denke nicht.
Plugins habe ich schon mal keine finden können.
Evtl. kann man Daten aus dem Webinterface „abgreifen“.

Das mit der Aeotec-Zange fände ich charmant, aber dann habe ich wohl das Problem, daß die Batterien aussen vor sind, da hier ja noch als Gleichstrom vor dem WR gespeichert wird. Die Leitung zum WR hat also keine 230 V zum Messen…
Bliebe nur WR an Zähler und am Zähler den Verbrauch und die Einspeisung ins Netz.
Soweit richtig?

Evtl. habe ich doch Glück:

Kleines Update zu iOS 14 und Widgets mit Scriptable…

Läuft auch mit VPN on demand.

2 „Gefällt mir“

Würdest du das script -> Scriptable sharen? :smile: )

1 „Gefällt mir“

Gerne:

das Sciptable File (Dateiendung umbenennen pdf in js):
SMA.pdf (1,9 KB)

Das Hintergrundbild:

Das Hintergrundbild liegt bei mir lokal auf der Diskstation, da die Werte der PV-Anlage über NodeRed auch lokal vorliegen, macht das nichts. Der Zugriff für die Aktualisierung des Widget läuft über VPN on-demand.
Das Hintergrundbild kann natürlich auf einem Picture Hoster abgelegt werden.

Der Flow in NodeRed ist folgender…

[{"id":"615177a.98f6908","type":"http response","z":"c9962df.09d63d","name":"","statusCode":"","headers":{"content-type":"application/json"},"x":1650,"y":700,"wires":[]},{"id":"a31a9ca0.99b5f","type":"http in","z":"c9962df.09d63d","name":"","url":"homee1","method":"get","upload":false,"swaggerDoc":"","x":1310,"y":700,"wires":[["db43b251.bbc1"]]},{"id":"db43b251.bbc1","type":"function","z":"c9962df.09d63d","name":"pv data","func":"//PV-Produktion -> PowerPV (NodeID: 1914)\n//Hausverrauch -> PowerLoad (NodeID: 1910)\n//Einspeisung -> PowerInputGrid (NodeID: 1909)\n//Netzbezug -> PowerOutputGrid (NodeID: 1908)\n//Batterieladung -> EnergyStorageLevel (NodeID: 1913)\n//Tagesproduktion -> TotalEnergyProduction (NodeID: 1916)\n//Tageshausverbrauch -> TotalEnergyLoad (NodeID: 1915)\n//Tageseinspeisung -> TotalEnergyInputGrid (NodeID: 1918)\n//Tagesnetzbezug -> TotalEnergyOutputGrid (NodeID: 1917)\n\nconst attributes = global.get(\"homee.attributes\")\nvar PowerPV =  attributes.find(attribute => attribute.id === 1914)\nvar PowerLoad = attributes.find(attribute => attribute.id === 1910)\nvar PowerInputGrid = attributes.find(attribute => attribute.id === 1909)\nvar PowerOutputGrid =  attributes.find(attribute => attribute.id === 1908)\nvar EnergyStorageLevel = attributes.find(attribute => attribute.id === 1913)\nvar TotalEnergyProduction = attributes.find(attribute => attribute.id === 1916)\nvar TotalEnergyLoad =  attributes.find(attribute => attribute.id === 1915)\nvar TotalEnergyInputGrid = attributes.find(attribute => attribute.id === 1918)\nvar TotalEnergyOutputGrid = attributes.find(attribute => attribute.id === 1917)\n\nmsg.payload = {\n    \"PowerPV\":String(PowerPV.current_value),\n    \"PowerLoad\":String(PowerLoad.current_value),\n    \"PowerInputGrid\":String(PowerInputGrid.current_value),\n    \"PowerOutputGrid\":String(PowerOutputGrid.current_value),\n    \"EnergyStorageLevel\":String(EnergyStorageLevel.current_value),\n    \"TotalEnergyProduction\":String((Math.round(100 * TotalEnergyProduction.current_value))/100),\n    \"TotalEnergyLoad\":String((Math.round(100 * TotalEnergyLoad.current_value))/100),\n    \"TotalEnergyInputGrid\":String((Math.round(100 * TotalEnergyInputGrid.current_value))/100),\n    \"TotalEnergyOutputGrid\":String((Math.round(100 * TotalEnergyOutputGrid.current_value))/100)\n};\nreturn msg\n\n//(Math.round(100 * msg.payload.attribute.current_value))/100","outputs":1,"noerr":0,"x":1500,"y":700,"wires":[["615177a.98f6908","954976e.c294308"]]},{"id":"954976e.c294308","type":"debug","z":"c9962df.09d63d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1630,"y":760,"wires":[]}]

Bei Fragen ruhig melden!

VG
Michael

2 „Gefällt mir“

Moin zusammen,

nach anfänglichen Schwierigkeiten, lief das Ganze sehr gut bei mir.
Nun habe ich seit einigen Wochen eine FritzBox anstelle eine Speedports.
Seit dem Wechsel bekomme ich aber keine Verbindung mehr zum Wechselrichter (SMA Sunny Tripower 8000TL-10) hin.
Habe ihn schon mehrfach für mehrere Minuten stromlos gemacht, keine Änderung. In der FritzBox wird er mit einer korrekten IP-Adresse angezeigt.
Diese habe ich dann über Bluetooth (weil ich ja anders nicht auf den WR drauf komme) im WR eingetragen. Keine Änderung.
Habe Neustart am WR durchgeführt nachdem ich den Modbus deaktiviert hatte. Danach nochmal mit entsprechender Aktivierung. Leider auch ohne Wirkung.
So wie es aktuelle läuft bekomme ich natürlich vollkommen falsche Werte in Node Red übermittelt und der ganze Rattenschwanz danach funktioniert auch nicht.
Hat jemand einen Tipp für mich?

Vielen Dank im voraus.

Welche NR Version hast du? Ich hatte eine funktionierende Schnittstelle zw. dem Pie und meiner Heizung via Modbus, auf einmal weg, kein Mux, keine Daten mehr, …

Letztens habe ich den NR und alles andere auf die neueste Version hochgezogen und siehe da die Modbus Schnittstelle schickte wieder die Daten.

-> Meine Empfehlung, zieh alle deine Versionen hoch, NR, NodeJS,…

ok danke, das teste ich mal

Leider bringt auch das keine Besserung.
Allerdings sehe ich nach dem Neustart gerade im log vom iobroker folgendes…


node-red.0	2021-04-06 22:49:31.929	error	(913) 6 Apr 22:49:31 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:30.927	error	(913) 6 Apr 22:49:30 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:29.925	error	(913) 6 Apr 22:49:29 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:28.921	error	(913) 6 Apr 22:49:28 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:27.918	error	(913) 6 Apr 22:49:27 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:26.916	error	(913) 6 Apr 22:49:26 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502
node-red.0	2021-04-06 22:49:25.913	error	(913) 6 Apr 22:49:25 - [error] [modbustcp-server:STP] socket error: Error: connect ECONNREFUSED 192.168.178.52:502

kann damit jemand was anfangen? Die angegebene IP Adresse ist der WR…

Ich bin in der Thematik NR über iObroker nicht so drin…

Würde versuchen, den Modbus-tcp node mal zu löschen und neu anzulegen.

auch das scheint nicht zu klappen.
Aber ich kann noch nicht einmal über die IP Adresse eingegeben im Browser auf den WR zugreifen. Bin mir aber nicht sicher, ob das generell möglich ist.
Kann das jemand der einen ähnlichen hat evtl mal testen?

Hallo zusammen,
viele Stunden sind nun vergangen zwischen der Anschaffung des Homee und der Installation meines SMA Sunnyboy 3.6 Wechselrichters.
Etliche Tutorials, Foren und Lernvideos haben mich dazu gebracht die Anbindung meines SMA Wechselrichters zu einem virtuellen Homee zu ermöglichen.
Nun komme ich jedoch an meine Grenzen.
Meine Anlage ist sehr einfach. Entweder ich produziere Energie oder nicht. Keine Energiezange für den Netzbezug, keine Batterie für die Speicherung, keine Messungen welche Geräte wieviel Leistung beziehen.

Meine Anforderung ist, dass ich in Homme die aktuelle PV Leistung und deren Verlauf/ Gesamtertrag pro Tag/Woche/Monat/Jahr sehen kann.
Meine Poolpumpe würde ich dann via aktueller PV Leistung on/off schalten (in Homee).

Ich habe die (für mich) komplexen Nodes Stück für Stück entfernt erhalte jedoch immer noch nicht die korrekte Darstellung:

Aktuelle PV „Produktion“ - Gut
Verläufe - keine Anzeige
„Produzierte Energie“ - falsch (65´000KW in zwei Monaten???)

Könnte sich einer der Pros hier vielleicht meiner annehmen und den Node so anpassen das meine Anzeige korrekt ist?
Vielen Dank für die Hilfe und/oder Ratschläge.

[{"id":"5bd17cc5.29bbe4","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"dd943c93.c4c28","type":"inject","z":"5bd17cc5.29bbe4","name":"Abfrage STP","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"1800","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"[{\"name\":\"PV-Erzeugung\",\"topic\":\"PV-Erzeugung\",\"dataType\":\"FC3\",\"address\":30775,\"quantity\":2,\"interval\":15000,\"ieeeType\":\"off\",\"ieeeBE\":true},{\"name\":\"Tagesertrag\",\"topic\":\"Tagesertrag\",\"dataType\":\"FC3\",\"address\":30537,\"quantity\":2,\"interval\":15000,\"ieeeType\":\"off\",\"ieeeBE\":true}]","payloadType":"json","x":580,"y":540,"wires":[["99781e07.6b0e18"]]},{"id":"99781e07.6b0e18","type":"modbustcp-read","z":"5bd17cc5.29bbe4","name":"STP","topic":"","dataType":"HoldingRegister","adr":"30775","quantity":"2","rate":"0","rateUnit":"s","server":"38eec1f5.1e71ee","ieeeType":"off","ieeeBE":"true","x":750,"y":540,"wires":[["409043d4.fef3b4"]]},{"id":"409043d4.fef3b4","type":"switch","z":"5bd17cc5.29bbe4","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"PV-Erzeugung","vt":"str"},{"t":"eq","v":"Tagesertrag","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":890,"y":540,"wires":[["3dc47e3d.b264b2"],["fdb7f655.96663"]]},{"id":"3dc47e3d.b264b2","type":"function","z":"5bd17cc5.29bbe4","name":"Filter","func":"return{payload:msg.payload[1]}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1030,"y":520,"wires":[["d776f2ca.c39548"]]},{"id":"fdb7f655.96663","type":"function","z":"5bd17cc5.29bbe4","name":"Filter","func":"return{payload:msg.payload[1]}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1030,"y":560,"wires":[["436f9c0f.23f40c"]]},{"id":"436f9c0f.23f40c","type":"function","z":"5bd17cc5.29bbe4","name":"Wert  an EM","func":"var wert = msg.payload\n\nnode.send({payload:{\"attribute\":{\"id\":730,\"value\":Number(msg.payload)}}})\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1190,"y":560,"wires":[["62fd475e.78ef"]]},{"id":"d776f2ca.c39548","type":"function","z":"5bd17cc5.29bbe4","name":"Wert  an EM","func":"var wert = msg.payload\n\nnode.send({payload:{\"attribute\":{\"id\":728,\"value\":msg.payload}}})\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1190,"y":520,"wires":[["62fd475e.78ef"]]},{"id":"62fd475e.78ef","type":"homeeDevice","z":"5bd17cc5.29bbe4","virtual-homee":"","name":"hEM","nodeId":"720","showNodeId":false,"profile":"38","icon":"default","attributes":[{"instance":0,"minimum":0,"maximum":10000,"current_value":0,"target_value":0,"last_value":0,"unit":"text","step_value":1,"editable":0,"type":84,"state":1,"last_changed":1572785482,"changed_by":1,"changed_by_id":0,"based_on":1,"data":"HM0000422","id":720,"node_id":720},{"instance":0,"minimum":0,"maximum":10000,"current_value":0,"target_value":0,"last_value":0,"unit":"text","step_value":1,"editable":0,"type":45,"state":1,"last_changed":1572785482,"changed_by":1,"changed_by_id":0,"based_on":1,"data":"11.4.11","id":721,"node_id":720},{"instance":0,"minimum":0,"maximum":50000,"current_value":1180,"target_value":1180,"last_value":1240,"unit":"W","step_value":100,"editable":0,"type":266,"state":1,"last_changed":1572785663,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","id":728,"node_id":720},{"instance":0,"minimum":0,"maximum":9999999,"current_value":0,"target_value":0,"last_value":0,"unit":"kWh","step_value":1,"editable":0,"type":275,"state":1,"last_changed":1572785482,"changed_by":1,"changed_by_id":0,"based_on":4,"data":"","id":730,"node_id":720}],"statusTemplate":"","x":1370,"y":540,"wires":[[]]},{"id":"38eec1f5.1e71ee","type":"modbustcp-server","name":"STP","host":"192.168.0.81","port":"502","unit_id":"3","reconnecttimeout":"1"}]

Cipolla

Hi, könntest du mal an den Modbus node (STP) einen debug node anhängen und mal die Ausgabe posten… da scheint etwas mit den eingehenden Daten nicht zu passen.

Hi Medicus07, Danke für die Unterstützung :slight_smile:

Hier der output:

14.4.2021, 19:50:53node: 8b0f5cd9.307018PV-Erzeugung : msg.payload : array[2]

[ 0, 10 ]

14.4.2021, 19:50:53node: 8b0f5cd9.307018Tagesertrag : msg.payload : array[2]

[ 65535, 65535 ]

14.4.2021, 19:51:09node: 8b0f5cd9.307018PV-Erzeugung : msg.payload : array[2]

[ 0, 10 ]

14.4.2021, 19:51:10node: 8b0f5cd9.307018Tagesertrag : msg.payload : array[2]

[ 65535, 65535 ]