├── BastelPlan0_ESP8266_Rs485_Modul.png ├── BastelPlan3000_Soyosource_Controller_by_BavarianSuperGuy.png ├── HTB1z3heQpXXXXb_aXXXq6xXFXXXz.jpg ├── LICENSE ├── README.md ├── Soyosource.png ├── Soyosource_ohne_display.png ├── Webseite SOYOSOURCE Controller.png ├── espflasher ├── FlashESP8266.exe ├── blank_1MB_4MB.zip ├── esptool.exe └── firmware_v1.0.3.3.bin ├── rs485.png └── rs485_2 .png /BastelPlan0_ESP8266_Rs485_Modul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/BastelPlan0_ESP8266_Rs485_Modul.png -------------------------------------------------------------------------------- /BastelPlan3000_Soyosource_Controller_by_BavarianSuperGuy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/BastelPlan3000_Soyosource_Controller_by_BavarianSuperGuy.png -------------------------------------------------------------------------------- /HTB1z3heQpXXXXb_aXXXq6xXFXXXz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/HTB1z3heQpXXXXb_aXXXq6xXFXXXz.jpg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Klaus Lichtnecker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Soyosource Controller by BavarianSuperGuy 2 | Explain: SUN1200BSG BluePill <- Codename for SolarAtomicBomb 3 | 4 | Was nett wäre, Vergesst bitte nicht meinen Kanal zu abonnieren und zu liken ;-) ... wann disliken gut wär, dann das auch :-)) 5 | 6 | https://www.youtube.com/c/BavarianSuperGuy 7 | 8 | Falls Ihr mich unterstützen wollt, Spenden sind herzlich willkommen und würde mich sehr freuen :-) 9 | Hier bitte - https://paypal.me/BSGuy 10 | 11 | Soyo Film-> https://youtu.be/TAW5yowh12U 12 | 13 | Video zu 14 | v1.0.2.5 15 | Mehrere Soyo 16 | mit einem ESP -> https://youtu.be/sVKFAbERqqg 17 | 18 | 19 | 20 | 21 | Ich übernehme keine Haftung für Schäden, die aufgrund der Nutzung 22 | der Software entstehen oder entstanden sind. 23 | Jeder ist für sein tun selber verantwortlich. 24 | Mir sind keine Probleme bekannt. 25 | 26 | Vorab zum ESP8266 ein Hinweis! 27 | zu 100% Lauffähig ist die hier eingestellte Software mit einem ESP12 Modul! 28 | Dieses ESP12 Modul gibt es als e,f oder s Variante. 29 | Diese haben immer ein Abschirmblech verbaut und haben 4MByte(32Mbit) Ram! 30 | In der Regel haben D1 minis oder NodeMcu Platinen das ESP12 Modul verbaut! 31 | Diese funktionieren in der Regel auch gut aber die usbserial programmiereinrichtung 32 | die mit auf der platine zum ESP12 Modul verbaut wird , ist teils oer meist störanfällig! 33 | Diese z.B. ch340 verbauten IC sind mit dem rx/tx des esp8266 im ESP12 Modul verbunden. 34 | Die Entkopplung von RX/TX ist den D1/Node Platinen Herstellern nicht immer gelungen! 35 | 36 | 37 | 38 | GANZ UNTEN IST DAS ANSCHLUSSSCHEMA (Bastelplan3000) 39 | 40 | 3 Dinge sind wichtig für die Umsetzung dieses Projekts: 41 | - 3,3V 42 | - Guter Wlan Empfang(Keine Leerzeichen in der SSID vom Router) 43 | - Readme vollstandig lesen, dann nochmal 44 | wann readme gelesen wurde und ihr daraufhin gemerkt habt 45 | aufgrund der Methode die beschrieben wird , 46 | der wlan empfang ist schlecht und lässt sich nicht ändern 47 | 48 | ... https://www.google.com/search?q=esp8266+antennenhack 49 | 50 | ich kann keinen besseren Empfang programmiern! 51 | und der esp kann auch nix anderes machen 52 | wann er ständig versucht sich ins Wlan einzuloggen 53 | 54 | 55 | Internet Explorer wird nicht unterstützt!(die kochen wieder eigenes Sueppchen bei Slider funktion) 56 | 57 | Soyosource Controller by BavarianSuperGuy 58 | Soyosource Controller by BavarianSuperGuy 59 | 60 | 61 | 62 | # EspSoyosourceController mit Webseite 63 | Der Esp8266 ist über ein Rs485 Modul mit dem Soyosource 1200 Solar/Batterie Wechselrichter verbunden und kann diesem die Leistungswerte senden die er im Stromnetz ausgleichen/einspeisen soll. 64 | ManualMode: Der Leistungswert kann auf der Esp Webseite eingegeben und gesendet werden. 65 | AutoMode: Der Esp empfängt über Mqtt Topic oder WebInterface den LeistungsWert (z.B. der Wert einer Messeinrichtung über die 3 Phasen) 66 | der gewünschten zu regelnden Leistung und regelt den Soyosource automatisch. 67 | 68 | Kurzum die Firmware die es hier zum Download gibt, ersetzt den Limiter. 69 | 70 | Die Firmware(firmware_vX.X.X.X.bin") ist im Verzeichnis espflasher. 71 | Diese kann unkompliziert auf einen 4Mbyte Esp mit dem im Verzeichnis enhaltenen 72 | Tool "FlashESP8266.exe" geflasht werden. 73 | Dieses Tool FlashESP8266.exe ist nicht von mir , aber hat schon hevorragende Dienste geleistet. 74 | Es kann natürlich auch z.B. das Tasmotizer Firmware flash Tool zum aufspielen benutzt werden. 75 | (Tasmotizer: Erase Checkbox nicht vergessen vor dem ersten flashen anzuhaken) 76 | 77 | Soyosource Controller by BavarianSuperGuy 78 | 79 | Was kann der ESP8266 Soyosource Controller : 80 | 81 | - annähernd Nulleinspeisung 82 | 83 | Grundlegend ist FAKT: wann der SOYO Wechselrichter keine Signale über Rs485 gesendet bekommt hört er auf einzuspeisen(Safety)! 84 | 85 | - Der Esp nimmt die Leistung die er Regeln soll über Mqtt und Webschnittstelle auf. 86 | - Zu übergebenes Zahlenformat 200 oder 200.00 87 | - Der ESP nimmt die Leistung an und übergibt Sie dem Soyo , danach ist eine 3Sekunden Pause 88 | - Erst dann wird der zuletzt empfangene Leistungswert dem Soyo übergeben dann wieder 3 sekunden Pause... 89 | - Damit geschieht eine saubere einpendelung gegen ~0watt Verbrauch bzw. er regelt sich in einen vorgegebenen Toleranzbereich ein. 90 | - In der ESP Web Seite(Ipaddresse des Esp im Browser eingeben) kann man per Button die Einspeisung beenden(Notaus), schicke explizit 0watt an SOYO , geht schneller als zu warten bis er selbst beendet da er anschliessend auch keine Signale mehr bekommt. 91 | - In der Web Seite kann man per Button die maximale Einspeiseleistung eingestellt werden(MaxPower) 92 | - Die blinkende Überschrift in der Webseite ist ein Alive zeichen , solange die Überschrift "ESP Herzschlag" blinkt , ist alles gut 93 | 94 | - Wann der Soyosource einspeisst , blinkt die DCZeile in der Esp Webseite 95 | ACHTUNG : seit einiger Zeit gibt es Geräte , die keine Status Daten über rs485 auf gewohntem Weg zurückgeben 96 | Hier blinkt die DC Zeile nicht und es wird auch nichts angezeigt in dieser Zeile 97 | aber die Regelung der Null-Einspeisung funktioniert trotzdem! 98 | 99 | - Derzeit pendelt der Esp sich im Toleranz Bereich -20 |0| +5 Watt ein , geplant ist die Toleranzwerte einzustellen zu können wann jemand gar keine -watts(Einspeisung ins Netz) sehen will. 100 | - Anzeige der Wlan Signalstärke in der Webseite, je näher an 0 desto besser ist das Signal, z.B. 75 is grenzwertig OK 101 | (RSSI wird nicht aktualisiert, für aktuellen Wert, F5 im Browser drücken) 102 | - Doppelreset implementierung um wieder ins Configportal im eigenen Esp AP zu kommen 103 | - ElegantOta Implementierung für FirmwareUpdates 104 | (Für UPDATE: Wann der ESP in Betriebsart Httpclient eingestellt ist , vor update auf eine ruhige zone einstellen z.B. statisch Mqtt 105 | nach Update dann wieder zurückstellen und Übernehmen) 106 | - Betriebs Modi's: 107 | Auto HttpInterface 108 | Auto Mqtt 109 | Auto HttpClient(Shelly3M) mit Angabe ShellyIpAddresse greift auf die api "http://xxx.xxx.xxx.xxx/emeter/0 -2" zu 110 | bzw. jenachdem welche Phasen (L1-L3) ausgewählt wurden 111 | Static HttpInterface und WebGui 112 | Auto Subscribe L1L2L3 Mqtt(wann man schon ein smartmeter mqtt publish Topic hat, kann man das hier eintragen) 113 | - Alle Interface's funktionieren weiterhin , jedoch wird der Wert nur von der ausgewählten Betriebsart und dessen Interface ausgewertet 114 | - ########## Deaktiviert ########## 115 | - NULL Punkt Einstellung - wann keine "reine" ~null~ einspeisung gewünscht kann bis zu 116 | - ########## Deaktiviert ########## 117 | - 150watt verbrauch stehengelassen werden 118 | - Update 19.10.2021 13:41 NULL Punkt Einstellung hat noch nen Denkfehler drin (in Std Einstellung funktioniert alles wie gewohnt) 119 | - Update 19.10.2021 15:11 Denkfehler mit 1 Bier in Version 1.0.1.7 behoben 120 | - Update 18.3.2022 v1.0.25 SollwertTeiler hinzugefügt , es können nun mehrere Soyos parallel an ein rs485 Modul angeschlossen werden und muss mit Soyo Button unter Sollwert Teiler eingestellt und gespeichert werden(SAVE Controller). Damit wird die and den ESP übergebene Leistung zu gleichen teilen an die angeschlossenen Soyos verteilt . 121 | - Wann mehr als 1 Soyo eingestellt wird, ist die DC Zeile(blinkt im regelbetrieb) stillgelegt, dies wird mit "S>1" (Soyo grösser 1) in den werten dargestellt. 122 | - Update 29.04.2022 v1.0.2.7 neue Betriebsart "Auto JsonHtpClient" , Liest den Verbrauchswert von einem Json aus ,mit eingabefeldern, da gibst du an: 123 | 1. Http Get Url : http://192.168.2.237/cm?cmnd=status+10 (z.B. Tasmota SML Reader) 124 | 2. Json Value Path : StatusSNS.SML.DJ_TPWRCURR (Die Json Objekte müssen in der schreibweise mit punkt getrennt werden) 125 | ##### 126 | Die JSON Objekte stammen aus diesem JSON das aus Tasmota SML von einem Zähler Lesekopf generiert wird ! 127 | {"StatusSNS":{"Time":"2022-04-28T14:01:19","SML":{"DJ_TPWRIN":1972.69,"DJ_TPWROUT":96.98,"DJ_TPWRCURR":2357.00,"Meter_number":"0901454d4800009c86bf"},"ESP32":{"Temperature":53.3},"Verbrauch Tag":"2.98","Verbrauch Monat":"146.13","Verbrauch Jahr":"1972.69","Einspeisung Tag":"0.14","Zählerstand 0:00Uhr":"1969.71","Zählerstand Monatsanfang":"1826.56","Zählerstand Jahrenanfang":"0.00","Kosten dieses Jahr":"567.42","TempUnit":"C"}} 128 | ##### 129 | 130 | - Update 29.04.2023 1.0.3.3 Shelly3em Pro Unterstütung 131 | nach Schriftzug "Auto HttpClient(Shelly3EM) Pro" die checkbox aktivieren und Save klicken! 132 | Falls man die Ip Adresse nicht auf statisch im Router fixiert hat, 133 | wird nach diesem Update ne neue Ip geben 134 | 135 | 136 | - That's the one: uniGalaktische Version 137 | 138 | Wann in den blauen Bereichen was geändert wird muss es mit "Save Controller" übernommen werden. 139 | - Ein Restart nach Save Controller ist nur bei Betriebsart änderung erforderlich, schadet aber generell, daß zu tun, nix! 140 | - ... 141 | 142 | 143 | 144 | 145 | RS485 ttl Adapter (2 verschiedene getestet) 146 | - rs485 adapter A an A von Soyo anschliessen und B an B 147 | 148 | Soyosource Controller by BavarianSuperGuy 149 | - Beim "DI DE RE RO" Rs485 Modul 150 | werden die mittleren Rs485 Pins "DE RE" auf einen Pin gebrückt an Esp GPIO0 angeschlossen. 151 | Dann Rs485 "DI" auf Esp TX und Rs485 "RO" auf Esp RX 152 | 153 | Soyosource Controller by BavarianSuperGuy 154 | - Beim RX TX Rs485 Modul 155 | wird der Rs485 TX mit Esp TX verbunden und Rs485 RX mit Esp RX verbunden , also nicht kreuzen! 156 | 157 | !Vcc ist bei beiden Modulen 3.3volt! 158 | 159 | Keinen USB/TTL Adapter als 3,3v Poduktiv Stromquelle verwenden, für erstflashen is es OK! 160 | 161 | ESP: 162 | 163 | EINRICHTUNG############################################################################################## 164 | - 0.Bei Nutzung von Mqtt: Mqtt.fx Client öffnen mit Broker verbinden und Topic : 'Soyosource/#' abonnieren 165 | - 0.1 Es kommt nach Schritt 8. ein Info Publish vom Esp mit der IP adresse. 166 | - 0.2 Man kann die Ip Adresse nat. auch auf dem herkömmlichen Weg herausfinden 167 | - 1.Firmware auf den gelöschten Esp8266 flashen 168 | - 2.Esp Neustart 169 | - 3.Im Wlan nach SOYO_... suchen 170 | - 4.Wlan mit Passwort 12345678 verbinden 171 | - 5.Es öffnet sich automatisch Browser Fenster mit 192.168.4.1 172 | - 6.Unter Configuration 173 | - 6.1 Wifi auswählen oder eingeben und Passwort eingeben 174 | - 6.2 Mqtt kann derzeit nur ohne ssl und seit Version 1.0.1.1 mit Benutzer/Passwort benutzt werden 175 | - 7.Speichern mit dem Button ganz unten 176 | - 8.Esp Neustart 177 | - 9.Ipadresse in Mqtt Client oder Router ausfindig machen 178 | EINRICHTUNG############################################################################################# 179 | 180 | INBETRIEBNAHME########################################################################################## 181 | - 1.Ipaddresse im browser aufrufen 182 | - 2.L1L2L3 Topic von geöffneter Webseite in deinen iobroker/nodered ... übernehmen 183 | ODER wann Nutzung von Mqtt aus ist : 184 | - 3.IPADRESS:80/L1L2L3Auto?Value=200.66 185 | - 3.1 IPADRESS durch die ip vom ESP ersetzen, 200.66 stellt den kummulierten Wert deiner 2/3 phasen da 186 | - 4 Bei Shelly3em Betriebsart , dei Betriebsart im blauen Bereich auswählen und die IpAdresse vom Shelly angeben 187 | anschliessend auf Übernehmen klicken 188 | INBETRIEBNAHME########################################################################################## 189 | 190 | CONFIGPORTAL############################################################################################ 191 | Um im Nachhinein wieder ins Configportal zu kommen um die Wlan und Mqtt Daten zu ändern muss der 192 | - Pin RST vom ESP innerhalb 10sekunden 2X auf GND getippt werden 193 | - Anwendungsbispiel: Taster 2mal hintereinander drücken 194 | Daraufhin startet der ESP neu ins Configportal(EINRICHTUNG Punkt 3) , dort trägt man dann alle Daten neu ein, die fehlen 195 | und klickt auf Save (Button ganz unten) 196 | CONFIGPORTAL############################################################################################ 197 | 198 | Tip: 199 | - nur leistungsdaten über L1L2L3 (egal welches Interface) senden 200 | wann sich was geändert hat ! Der esp ansich schickt schon jede sekunde den zuletzt angenommenen Wert. 201 | 202 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 203 | 204 | Allgemeiner Hinweis : als L1L2L3 Wert wird ein numerischer Wert wie z.B. 200.66 205 | oder -200.66 erwartet (Dezimaltrenner ist punkt) und muss immer den reelen/aktuellen Verbrauch darstellen! 206 | z.B. L1L2L3 = L1(100)+L2(200)+L3(-300) =0 207 | 208 | 0 wird übergeben! 209 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 210 | 211 | - 1.Mqtt L1L2L3 Publish Setting : Qos0 (fire & forget) 212 | - 2.Wenn WebInterface L1L2L3Auto?Value=200.66... genutzt wird dann schon alle sekunden senden 213 | 214 | ######################################################################## 215 | 216 | END HINWEIS(NICHT nur die harten, kommen in den Garten) : 217 | 218 | Wann du von L1 L2 oder L3 nichts wissen willst oder sowieso GENERAL die Schnauze voll hast 219 | - Kauf dir nen shelly3em 220 | - Bau ihn oder lass ihn fachmännisch im HAK einbauen 221 | - In der Esp Web Gui wählst du shelly client 222 | - In der Esp Web Gui gibst du die IP Adresse vom shelly3em ein 223 | - In der Esp Web Gui drückst du noch auf übernehmen und restart 224 | 225 | und schon wirds wieder RUHIG im DachstÜbchen! :-) 226 | Zeit fürs Bier gewonnen! 227 | 228 | ###################################################################+#### 229 | 230 | 231 | Soyosource Controller by BavarianSuperGuy 232 | -------------------------------------------------------------------------------- /Soyosource.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/Soyosource.png -------------------------------------------------------------------------------- /Soyosource_ohne_display.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/Soyosource_ohne_display.png -------------------------------------------------------------------------------- /Webseite SOYOSOURCE Controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/Webseite SOYOSOURCE Controller.png -------------------------------------------------------------------------------- /espflasher/FlashESP8266.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/espflasher/FlashESP8266.exe -------------------------------------------------------------------------------- /espflasher/blank_1MB_4MB.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/espflasher/blank_1MB_4MB.zip -------------------------------------------------------------------------------- /espflasher/esptool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/espflasher/esptool.exe -------------------------------------------------------------------------------- /espflasher/firmware_v1.0.3.3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/espflasher/firmware_v1.0.3.3.bin -------------------------------------------------------------------------------- /rs485.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/rs485.png -------------------------------------------------------------------------------- /rs485_2 .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KlausLi/Esp-Soyosource-Controller/cf09092a5f9976b9f37f2d3ea031c27d0456d408/rs485_2 .png --------------------------------------------------------------------------------