August 27, 20223 yr Author 7 minutes ago, Cory said: That’s a very neat dashboard. Is it available to use? How to get it? I have a Victron / Freedom Won system. @Cory This is custom made for my Sunsynk system, but if you know your way around sensors, modbus, linux nodered then you could probably make it work for just about any system. All opensource, no licenses or fees involved Step 1 - here Step 2 - here Edited August 27, 20223 yr by WannabeSolarSparky
August 27, 20223 yr 36 minutes ago, WannabeSolarSparky said: Thats a win in my books Actually making me reconsider whether the gas geyser for the hairsalon and gas stove top is still necessary.
August 28, 20223 yr Author That warm fuzzy feeling when your geyser is busy heating up and you are only using 50watts from eskom 🤣
September 2, 20223 yr I did a similar thing today for the first time switched off the grid. Then systematically switched on stuff to establish what can and what not and made notes of usage. If I exclude my oven/stove and manage my geyser, can run everything but do need to keep an eye on it and train partner to do same. Was getting 4.5KW PV with very overcast conditions around 11h00. I need to learn how to manage battery, so it does not charge at night from grid after load shedding. What I don't know is if it may not cost more to keep on charging/discharging battery (in reduced life span) then the value of the extra energy generated. Unfortunately electricity is one area I am not very familiar with.
September 3, 20223 yr Author Updated Sunsynk Monitoring Portal 😍 Weather forecast added just so I know whats up the week ahead Added automated Fans and associated monitoring and control. My 2 Old D9 crypto miner have awesome 4 pin 12v high power and flow fans, ideal to use as they can easily be controlled using a simple ESP8266 and some fancy coding to make it all controllable with nodered and pushed through to my local and remote thingsboard portal. I can now keep the Inverter Temps below 55 °C all day long
September 3, 20223 yr Author ESP8266 Nodemcu - 2 x 4 pin 12 volts fans Control With MQTT You can use this in nodered to automate the fans based on any rules you setup, inverter temps, weather, date, whatever you like, #include <ESP8266WiFi.h> #include <PubSubClient.h> #include <FanController.h> #define MQTT_KEEPALIVE 1000 #define SERIAL_BUFFER_SIZE 256 #define SENSOR1_PIN D6 // #define SENSOR2_PIN D7 // #define SENSOR_THRESHOLD 2000 FanController fan1(SENSOR1_PIN, SENSOR_THRESHOLD); // FanController fan2(SENSOR2_PIN, SENSOR_THRESHOLD); // int Fan1PWM = D4; // int Fan2PWM = D5; // // WiFi Settings const char *ssid = "YOURWIFINAME"; // Enter your WiFi name const char *password = "YOURWIFIPASSWORD"; // Enter WiFi password // MQTT Broker Settings const char *mqtt_broker = "YOURMQTTADDRESS"; const char *sendtopic1 = "esp8266SSFan1/fan1Speed"; const char *sendtopic2 = "esp8266SSFan2/fan2Speed"; const char *receivetopic1 = "esp8266SSFan1/fan1Setspeed"; const char *receivetopic2 = "esp8266SSFan2/fan2Setspeed"; const char *mqtt_username = "mqtt_admin"; const char *mqtt_password = "mqtt_YOURPASSWORD"; const int mqtt_port = 1883; WiFiClient espClient; PubSubClient client(espClient); void setup() { // Set software serial baud to 115200; Serial.begin(115200); fan1.begin(); fan2.begin(); pinMode(Fan1PWM, OUTPUT); pinMode(Fan2PWM, OUTPUT); pinMode(SENSOR1_PIN, INPUT); pinMode(SENSOR2_PIN, INPUT); // connecting to a WiFi network WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.println("Connecting to WiFi.."); } Serial.println("Connected to the WiFi network"); //connecting to a mqtt broker client.setKeepAlive( MQTT_KEEPALIVE ); client.setServer(mqtt_broker, mqtt_port); client.setCallback(callback1); client.setCallback(callback2); while (!client.connected()) { String client_id = "esp8266-client-"; client_id += String(WiFi.macAddress()); Serial.printf("The client %s connects to the public mqtt broker\n", client_id.c_str()); if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) { Serial.println("MQTT broker connected"); } else { Serial.print("failed with state "); Serial.print(client.state()); delay(2000); } client.subscribe(receivetopic1); client.subscribe(receivetopic2); } } void callback1(char *receivetopic1, byte *payload, unsigned int length) { Serial.print("Message arrived in topic: "); Serial.println(receivetopic1); Serial.print("Fan 1 Speed:"); payload[length] = '\0'; // Make payload a string by NULL terminating it. int newspeed1 = atoi((char *)payload); Serial.println(newspeed1); analogWrite(Fan1PWM, newspeed1); // Set Fan 2 Speed; // Set Fan 225 Speed Serial.println(); delay (500); } void callback2(char *receivetopic2, byte *payload, unsigned int length) { Serial.print("Message arrived in topic: "); Serial.println(receivetopic2); Serial.print("Fan 2 Speed:"); payload[length] = '\0'; // Make payload a string by NULL terminating it. int newspeed2 = atoi((char *)payload); Serial.println(newspeed2); analogWrite(Fan2PWM, newspeed2); // Set Fan 2 Speed; // Set Fan 225 Speed Serial.println(); delay (500); } void loop() { Serial.print("Current Fan 1 Speed: "); int rpms1 = fan1.getSpeed(); // Send the command to get RPM // Start character conversion routine rpms1 = rpms1; char newChar1[5]; String temp_str1 = String(rpms1); temp_str1.toCharArray(newChar1,5); // End character conversion routine client.publish(sendtopic1, newChar1,5); Serial.print(rpms1); Serial.println("RPM"); Serial.print("Current Fan 2 Speed: "); int rpms2 = fan2.getSpeed(); // Send the command to get RPM // Start character conversion routine rpms2 = rpms2; char newChar2[5]; String temp_str2 = String(rpms2); temp_str2.toCharArray(newChar2,5); // End character conversion routine client.publish(sendtopic2, newChar2,5); Serial.print(rpms2); Serial.println("RPM"); Serial.println("-----------------------"); delay (2000); client.loop(); delay (500); } Edited September 3, 20223 yr by WannabeSolarSparky code typo
September 3, 20223 yr Been watching this from the sidelines for a while, very nice DIY setup and nice clean code, I like! Helping decentralize the financial system while helping decentralize the energy grid, good work! 😁
September 4, 20223 yr Author Added showing the sunsynk firmware on portal homepage too 😀 Edited September 4, 20223 yr by WannabeSolarSparky
September 4, 20223 yr Author OOOooohhhh summer is on it's way and the pv stats are starting to show it 🤩 Edited September 4, 20223 yr by WannabeSolarSparky
September 7, 20223 yr Author Finally figured out how to do live power flow animation with live data stream. Edited September 7, 20223 yr by WannabeSolarSparky
September 7, 20223 yr Author Added charge/discharge , Battery SOC and Voltage readings to the new flow animation page.
September 8, 20223 yr Author Solar Page done and working nicely. 🤩 Next on my list is to get all the battery data onto the batteries page.
September 9, 20223 yr Author This is a quick preview of what the battery pack pages will look like. Pretty much the same as what most bms monitor softwares look like, why re-invent the wheel Now to get all the data populated onto it. Edited September 9, 20223 yr by WannabeSolarSparky Improvement
September 9, 20223 yr Author 56 minutes ago, Antonio de Sa said: @WannabeSolarSparky excellent, but just missing one item --- equalizing---. Good idea, I missed that one. Added Status indicator led's (Charging, Discharging, Equalising)
September 9, 20223 yr @WannabeSolarSparky in my case I can see all 16 cells and see which one are equalizing.
September 9, 20223 yr Author 2 hours ago, Antonio de Sa said: in my case I can see all 16 cells and see which one are equalizing. Yes, I have already programmed that in too, the cells that are equalising will flash blue 😀 Edited September 9, 20223 yr by WannabeSolarSparky
September 10, 20223 yr I have 2 x 2,4kW Li-ion Synapse batteries in parallel and only have the Synapse 5 kW inverter control panel and readout. What battery voltage collates to: SOC 20%, 30%, 40% 80%,90% and 100%. Can someone help please. Thanks.
September 11, 20223 yr Author 15 hours ago, JRW said: I have 2 x 2,4kW Li-ion Synapse batteries in parallel and only have the Synapse 5 kW inverter control panel and readout. What battery voltage collates to: SOC 20%, 30%, 40% 80%,90% and 100% Most Lithium ion type chemistries have fairly flat discharge curves especially between 20% and 90% so you would need to do some sort of amp counting (coulomb counting) to work out the soc to voltages.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.