NEWS
SMA Wechselrichter
-
sorry, doch noch mal eine Frage:
Wie komme ich nun in ioBroker auf meine 8001 ??? `
Auch das funktioniert bei mir Problemlos…. wenn der WR auch wirklich aktiv ist:
-
Das gibt's doch nicht! Hier mal ein Screenshot mit exakt den selben Daten:
Links die alte Version funktioniert, Rechts die neue nicht. Spuckt mir sogar ein falsches Register aus. An was das nun nur liegen kann? Evtl. irgend welche TCP Settings???
Mit ioBroker komme ich auch nicht weiter.
6077_modbuggy.jpg -
Zeig mal ein Screenshot von den Connection Settings des Simulators 0.2.3 und den Einstellungen des Modbus Adapters.
Ist der WR schon "wach"?
-
Hallo zusammen…
In meinem letzten Beitrag habe ich ja die Frage in den Raum gestellt, was wohl mit den history Aufzeichnungen passiert, wenn der Wechselrichter sich abschaltet und diese Phantasiewerte im IOBroker anzeigt.
` > Hierzu habe ich aber die Frage an euch, wie ihr das gelöst habt, dass nach Abschaltung der Wechselrichter nicht diese Phantasiewerte aufgezeichnet werden?Ich habe die Befürchtung, dass dadurch das gesamte Plot Nachts nur Chaos anzeigen wird… `
Leider ist genau das eingetroffen und verzerrt absolut die Aufzeichnungswerte
history.L1.PNG
Hat denn hier jemand eine Lösung parat, bzw. das bei sich selbst gelöst?
Schöne Grüße
Jochen `
Gibts dadzu immer noch keine praktikable Lösung ?
Wäre toll wenn wir das auch noch in den Griff bekommen würden … `
Ich rechne die über ein einfaches Blockly um bzw. stelle den Value auf "0" wenn er ins negative rutscht und benutze den Datenpunkt für die Aufzeichnung.
Kannst du vielleicht 2 von den 3 gleichen Posts löschen !
-
Hier die Einstellungen! Der Wechselrichter läuft und produziert schon ganz gut…
6077_modbuggy2.jpg
6077_modmaster.jpg -
Mach mal den haken bei "Aliases" benutzen raus…
So wirklich mein Posts gelesen und Screenshots angeguckt hast du scheinbar doch nicht
Scan Rate steht bei mir auf default... keine Ahnung was und warum du da alles änderst.
Weiterhin Viel Erfolg beim neu erfinden des Rads.
-
Ok läuft! Sorry das mit dem "Alias" habe ich wohl übersehen! Also nicht böse sein! Danke trotzdem für deine Hilfe! Aber manchmal sieht man vor lauter Bäumen den Wald nicht mehr!
-
Schön das es jetzt läuft!
-
Ich rechne die über ein einfaches Blockly um bzw. stelle den Value auf "0" wenn er ins negative rutscht und benutze den Datenpunkt für die Aufzeichnung. `
Hallo wendy2702,
hast du da einmal ein Blockly Beispiel für mich?
Schöne Grüße
Jochen
-
Hier für meine Leistung. Kann natürlich sein das es auch einfacher/anders geht aber so funktioniert es für mich.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="controls_if" id="pEdg8L|_2wfYKM;Rj1F[" x="13" y="-138"><value name="IF0"><block type="logic_compare" id="ve_IO@?a.NH#!K6lN})H"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="TT2|XzE?cX=Yjx3I~Ow0"><field name="ATTR">val</field>
<field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value>
<value name="B"><block type="math_number" id="t^z^92g=Pn8B[=x,VmPb"><field name="NUM">0</field></block></value></block></value>
<statement name="DO0"><block type="update" id="Wq4l-jClESAENIfLeu0A"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.PV_Anlage.PVLeistung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="math_number" id="Qn]36t+jv%=@C]y|^Qvu"><field name="NUM">0</field></block></value></block></statement>
<next><block type="on_ext" id="T;-)_93^_CNk]zc+*i?l"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="*!^cdo:#]/##i8spF)b="><field name="oid">modbus.0.inputRegisters.30775_PVLeistung</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id=".}+H/b5qr#e}V#j_X=}4"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="6:l9GI-Hw9;yihdsPUyC"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="M)@JQTnKz8Ho%dEp,7Q~"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="wcpgAmpQ5uZ_l5(?mNOq"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="update" id="?.Ww%r(xZs+o%/T3ycEZ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="get_value" id="pgY3;iduTqZgSldqSi]|"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="6/fvm-#3-/,r/~Lmdu)-"><field name="OP">LT</field> <value name="A"><block type="get_value" id="FFgd*E==nz0L{D~::s:k"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="78_UF%EsZ.YM6c5HP9%v"><field name="NUM">0</field></block></value></block></value> <statement name="DO1"><block type="update" id="gFDt@;i.`fV[r+v/Cei6"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="W@dellLrOQAqxuiM}Ple"><field name="NUM">0</field></block></value></block></statement></block></statement></block></next></block></xml>
-
Schön das es jetzt läuft! `
Danke nochmal! Hier ein paar Screenshots! Läuft einwandfrei!!!
6077_iobroker1.jpg
6077_iobroker2.jpg -
Hier für meine Leistung. Kann natürlich sein das es auch einfacher/anders geht aber so funktioniert es für mich.
Blockly_PV_leistung.jpg
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="controls_if" id="pEdg8L|_2wfYKM;Rj1F[" x="13" y="-138"><value name="IF0"><block type="logic_compare" id="ve_IO@?a.NH#!K6lN})H"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="TT2|XzE?cX=Yjx3I~Ow0"><field name="ATTR">val</field>
<field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value>
<value name="B"><block type="math_number" id="t^z^92g=Pn8B[=x,VmPb"><field name="NUM">0</field></block></value></block></value>
<statement name="DO0"><block type="update" id="Wq4l-jClESAENIfLeu0A"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.PV_Anlage.PVLeistung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="math_number" id="Qn]36t+jv%=@C]y|^Qvu"><field name="NUM">0</field></block></value></block></statement>
<next><block type="on_ext" id="T;-)_93^_CNk]zc+*i?l"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="*!^cdo:#]/##i8spF)b="><field name="oid">modbus.0.inputRegisters.30775_PVLeistung</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id=".}+H/b5qr#e}V#j_X=}4"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="6:l9GI-Hw9;yihdsPUyC"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="M)@JQTnKz8Ho%dEp,7Q~"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="wcpgAmpQ5uZ_l5(?mNOq"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="update" id="?.Ww%r(xZs+o%/T3ycEZ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="get_value" id="pgY3;iduTqZgSldqSi]|"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="6/fvm-#3-/,r/~Lmdu)-"><field name="OP">LT</field> <value name="A"><block type="get_value" id="FFgd*E==nz0L{D~::s:k"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="78_UF%EsZ.YM6c5HP9%v"><field name="NUM">0</field></block></value></block></value> <statement name="DO1"><block type="update" id="gFDt@;i.`fV[r+v/Cei6"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="W@dellLrOQAqxuiM}Ple"><field name="NUM">0</field></block></value></block></statement></block></statement></block></next></block></xml>
```` `
Hi wendy,
vielen Dank für den Tipp mit dem Skript. Super Lösung.
Ich hab das auch gleich noch für die Eingangsspannung erstellt:
LG Gerald
-
Hier für meine Leistung. Kann natürlich sein das es auch einfacher/anders geht aber so funktioniert es für mich.
Blockly_PV_leistung.jpg
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="controls_if" id="pEdg8L|_2wfYKM;Rj1F[" x="13" y="-138"><value name="IF0"><block type="logic_compare" id="ve_IO@?a.NH#!K6lN})H"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="TT2|XzE?cX=Yjx3I~Ow0"><field name="ATTR">val</field>
<field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value>
<value name="B"><block type="math_number" id="t^z^92g=Pn8B[=x,VmPb"><field name="NUM">0</field></block></value></block></value>
<statement name="DO0"><block type="update" id="Wq4l-jClESAENIfLeu0A"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.PV_Anlage.PVLeistung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="math_number" id="Qn]36t+jv%=@C]y|^Qvu"><field name="NUM">0</field></block></value></block></statement>
<next><block type="on_ext" id="T;-)_93^_CNk]zc+*i?l"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="*!^cdo:#]/##i8spF)b="><field name="oid">modbus.0.inputRegisters.30775_PVLeistung</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id=".}+H/b5qr#e}V#j_X=}4"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="6:l9GI-Hw9;yihdsPUyC"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="M)@JQTnKz8Ho%dEp,7Q~"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="wcpgAmpQ5uZ_l5(?mNOq"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="update" id="?.Ww%r(xZs+o%/T3ycEZ"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="get_value" id="pgY3;iduTqZgSldqSi]|"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="6/fvm-#3-/,r/~Lmdu)-"><field name="OP">LT</field> <value name="A"><block type="get_value" id="FFgd*E==nz0L{D~::s:k"><field name="ATTR">val</field> <field name="OID">modbus.0.inputRegisters.30775_PVLeistung</field></block></value> <value name="B"><block type="math_number" id="78_UF%EsZ.YM6c5HP9%v"><field name="NUM">0</field></block></value></block></value> <statement name="DO1"><block type="update" id="gFDt@;i.`fV[r+v/Cei6"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.PV_Anlage.PVLeistung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="W@dellLrOQAqxuiM}Ple"><field name="NUM">0</field></block></value></block></statement></block></statement></block></next></block></xml>
```` `
Ich benutze dieses Script, welches auch sehr gut funktioniert:
on({id: "modbus.0.inputRegisters.30777_Power_L1", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("javascript.0.PV_Anlage.Werte.PVLeistung", (getState("modbus.0.inputRegisters.30777_Power_L1").val), true); });
Damit greife ich natürlich in VIS oder Flot nicht mehr auf das Modbusregister zu, sondern auf die Javascript Variable.
Gruß
Volker
-
Ich habe 2 Wechselrichter die mit dem Sunny-Beam (nicht die Bluetooth, sondern die alte Funkversion) verbunden sind.
Könnte man den Sunny-Beam auslesen und die Daten im ioBroker verwenden? Evtl. auch über USB?
-
kannst du mal sagen welche WR genau das sind?
Dann kann man mal schauen was die für ein Protokoll sprechen.
Aber verstehe ich das richtig das die per Funk mit dem Sunny Beam kommunizieren? Sorry das ich nachfrage aber ich kenne das Teil nicht.
EDIT: gerade mal die Anleitung Sunny Beam Funk überflogen. Etwas fertiges um den Sunny Beam auszulesen habe ich hier noch nicht gesehen.
EDIT1: hat der WR einen Seriellen Anschluß? dann vielleicht so –> viewtopic.php?f=20&t=5911&hilit=sunny&start=20
Kannst auch mal fragen ob er weitergekommen ist: viewtopic.php?f=8&t=11033&hilit=sunny
-
Hallo zusammen,
Echt super eure Erläuterungen. Bin absoluter neuling in Sachen Raspberry, JavaScript und iobroker und habe dank eurer vielen Posts schnell zurecht gefunden.
Habe fast alles eingebunden STP9000 / SB1.5 / SI6.0 / SHM2.0
Aber zu meinen vielen Edimax SP-2101w funksteckdosen habe ich nicht wirklich etwas gefunden wie ich sie visualisiert bekomme.
Hat da jemand Erfahrung oder vielleicht schon eine Lösung mit passendem Skript?
@Marcolotti echt super Visualisierung würdest du sie mir eventuell bereit stellen, lerne an Beispielen schneller
Mit freundlichen Grüßen
-
Hallo zusammen,
ersteinmal vorweg eine tolle Arbeit, die ihr hier geleistet habt. Sehr schönes Projekt.
Bin derzeit noch in er Einarbeitsungsphase des ioBrokers. Es macht sher viel spaß, ist aber alles auch nicht Out of the Box
EInen Anfang habe ich schonmal gemacht, aber ein paar Werte bekomme ich noch nicht so wirklich raus. Vielleicht könnt ihr mit dabei helfen.
vorhandenes Equipment:
Sunny Home Manager 2.0
zwangsläufig Sunny Portal
SMA SunnyBoy 3.0
SMA SunnyBoy 5.0
Ich möchte im ersten Schritt in meinem ioBroker eigentlich nur dieselben Werte haben wie im Sunny Portal:
Mein aktueller Stand:
ioBroker samt Adapter Läuft. Durch die Bezeichnungen bin ich noch nicht wirklich durchgestiegen, aber zwei habe ich schonmal gefunden:
Netzeinspeisung
Netzbezug
Nun fehlt mir noch als Livewert die PV Erzeugung (von meinen zwei Wechselrichter zusammen) und der aktuelle Gesamtverbrauch.
Diesen finde ich in meiner Übersicht leider nicht:
Könnt ihr mir helfen wie ich an diese Werte komme?
Besten Dank und schöne Grüße
Kevin
-
Hi,
also die PV Erzeugung erhalten die meisten per Modbus aus den WRs und der Gesamtverbrauch wird errechnet.
Ob der Homemanager 2.0 die Daten liefert kann ich nicht sagen da ich das Teil nicht habe.
-
Ja, PV-Erzeugung kommt aus dem/den WR, Einspeisung Überschuss bzw. Netzbezug vom SHM. Die Differenz ist Dein Verbrauch.
Musst also rechnen: Verbrauch = Netzbezug - Einspeisung + Erzeugung WR1 + Erzeugung WR2
-
Vielen Dank für die schnellen Antworten.
Also der Reihe nach muss ich demnach jetzt folgendes machen?
1. ModBus Adapter im ioBroker installieren und mit meinem Wechselrichter verbinden? Mein Wechselrichter hat Netzwerk und demnach brauche ich dort nur die IP Adresse eintragen um die zu Verbinden?
2. Wenn ich die Werte dann über den ModBus von den Wechselrichter habe, muss ich mir mittels Blocky eine Rechnung schreiben, der die Werte errechnet?
Danke Euch und Grüße
Kevin