What is YaS☀️lR ?
YaS☀️lR is an Arduino / ESP32 firmware for Solar Routers, compatible with most of existing and easy to source hardware components.
If you already have a Solar Router at home based on ESP32, built by yourself or someone else, there is a good chance that YaS☀️lR will be compatible.
What YaS☀️lR is not?
YaS☀️lR is not a product and is not packaged with any hardware. YaS☀️lR is only the software layer that will run on the Solar Router of your choice that you will have to build (or already have).
YaS☀️lR Vision
YaSolR is built with this vision in mind:
-
OpenSource: anybody can help and participate in the project
-
Good development practices, PlatformIO project with versioning, CI, issue management, etc. This is big project and not a simple Arduino project (.ino file)
-
Hardware compatibility: supports several phase control systems like Random SSR, Robodyn, many ESP32 boards with WiFi and Ethernet
-
Flexible: it is made in a way that you can only pick the components you need depending on the features you want to activate
-
Easy to use: The firmware should be easy to install and use
-
Harmonic Regulations: The firmware gives the user the ability to monitor and limit the router in order to stay below the levels of harmonic regulations
-
110/230V 50/60Hz: the dimmer implementation and proposed hardware all support both frequencies and voltages
-
Statistics, API, Home Automation: Web API, MQTT API, Home Assistant auto-discovery, etc. The router exposes a lot of statistics and information through MQTT and REST API and provides a very good integration with Home Assistant or other home automation systems.
YaS☀️lR Features
🚧 means In Progress
2 Routing Outputs
A routing output is connected to a resistive load and controls its power. Each output is composed of:
-
A Dimmer - required - to control the power sent to the load. Example of supported dimmers:
Robodyn 24A Robodyn 40A Random SSR Zero-Cross SSR Phase Control
Phase Control
Phase Control
Burst Fire Control
Burst Fire Control
Burst Fire Control
Burst Fire Control
-
A Bypass Relay - optional - to force a heating at full power and bypass the dimmer, because keeping a dimmer
on
generates heat. If not installed, the dimmer will be used instead and will be set to 0-100% to simulate the relay. Example of supported relays:Electromagnetic Relay Zero-Cross SSR Random SSR
-
A Temperature Sensor - optional - to monitor the temperature of the water tanker and trigger automatic heating based on temperature thresholds. Supported sensor:
DS18B20
-
A Measurement device - optional - to monitor the power sent to the load. Supported measurement devices:
PZEM-004T V3 JSY-MK-194T can precisely monitor each output independently can monitor the global routed power (sum of the two outputs) and grid power with its 2 clamps
Each output supports the following features:
Automatic Bypass
: Automatically force a heating as needed based on days, hours, temperature rangeAutomatic Dimmer
: Automatically send the grid excess to the resistive load through the dimmer (or manually control the dimmer yourself if disabled)Dimmer Limit
: Set a limit to the dimmer to avoid routing too much powerAuto calibration
: Detect and measure the resistive load to provide more accurate routing and statisticsRemote output
(🚧): Remotely control the router output (dimmer + relay + sensor), in case you need the router control to stay at a place and outputs to be setup remotelyStatistics
: Harmonic information, power factor, energy, routed power, etcIndependent / Sequential Outputs
(🚧): Outputs are sequential by default (second output activated once first one at 100%). Independent outputs are also supported to set them at50%/50%
or25%/75%
for example
2 Relays for additional loads
Relays can be uses to commute (on/off) a load based on a threshold. Features for each relay:
NO / NC
relay typeRelay Threshold
: Set a power threshold to automatically switch the relay on/off based on the virtual excessRemote relay
(🚧): Remotely control relays
Grid Power Measurement
Measuring the grid power is essential to know how much power is available to route. The measurement device needs to support 2-way measurement: positive power when importing, negative power when exporting.
Supported measurement devices:
JSY-MK-194T
: accurate, will also store energy dataRemote JSY-MK-194T
(🚧): Read the measurement from a JSY board remotelyMQTT
: Read the excess power remotely from a remote MQTT topic, for example from a Shelly EM, Home Assistant, Jeedom, etc. This is less accurate but still works and facilitate the building of a router
Thanks to power measurement, the router also provides these features:
Virtual Excess
: Expose the virtual excess (MQTT, REST API, web) which is composed of the current excess plus the routing powerEV Charger Compatibility
(i.e OpenEVSE): Don’t prevent an EV charge to start (router can have lower priority than an EV box to consume available production excess)
Note that the JSY-MK-194T
has 2 channels, so it can be used both to measure the grid power but also to measure the total routed power of the router (2 outputs combined).
It cannot be used though to independently measure each router output.
Home Automation Systems
The router exposes a lot of statistics and information through MQTT and REST API and provides a very good integration with Home Assistant or other home automation systems. The router can be completely controlled remotely through a Home Automation System.
REST API
: extensive REST API supportMQTT
: extensive MQTT API (withTLS
support)- Home Assistant Integration: Activate Home Assistant Auto Discovery to automatically create a YaS☀️lR device in Home Assistant with all the sensors
Monitoring and Management
Manual Override
: Override anything remotely (MQTT, REST, Website)Statistics
: Harmonic information, power factor, energy, routed power, grid power, grid frequency and voltage, etcCharts
(🚧): Live charts displayed for some important metricsRestart
,Factory Reset
,Config Backup & Restore
,Debug Logging
Live Activation
: every router component can be activated and configured live without restartHealth Status
: configuration mistakes are detected as much as possible and issues displayed when a component was found to not properly work.Pinout Map
: 2 pinout maps show the view of configured pins and activated pins, to report issues, duplications or invalid pins.Web console
: View ESP logs live from a Web interfaceWeb OTA Firmware Update
: Update firmware through the Web interfaceStuck relay detection
(🚧): If the relay is associated to some known load, the application will try to detect and warn about a stuck relay.Temperature Sensor
: for router box heat monitoring (Supported type:DS18B20
)Push Button
: Add a push button to restart, reset, activate bypassLEDs & Buzzer
: Add LEDs and Buzzer for visual and sound alertsDisplay
Add I2C OLED Display (SSD1307
,SH1106
,SH1107
)
Networking features
Ethernet & Wifi
: ESP32 boards with Ethernet and WiFi are supported (see Compatible ESP32 Boards)Captive Portal
a captive portal is started first time to help you connect the routerAccess Point Mode
: router can work in AP mode without WiFi and InternetAdmin Password
: to protect the website, API and Access PointNTP
support to synchronize time and date with Internet. If not activated, it is still possible to manually sync with your browser.DNS & mDNS
: Discover the device on the network through mDNS (Bonjour) or DNS
Pro features
The Pro version is based on ESP-DASH Pro and ElegantOTA Pro, and provides a better Web interface from which the router can be completely configured and managed. The Free version is based on ESP-DASH OSS and is just showing the overview page. The configuration can still be done online through a “Debug Configuration” page.
Configuration Pages
: Configure components directly on websiteHealth Page
: Show status and potential issues with componentsManagement Page
: Manage router configuration (backup and restore) and reset, restarts, updatePinout Pages
: Show pinout mapping and potential issuesHelp and Support
: Help and support will be done through a private space accessible by persons who bought the pro version
Alternatives and Inspirations
This project was inspired by the following awesome projects:
- Routeur Solaire Apper (Cyril P.)
- Routeur Solaire offgrid Réseautonome (SeByDocKy)
- Routeur Solaire MK2 PV Router (Robin Emley)
- Routeur Solaire Mk2 PV Router (Frédéric M.)
- Routeur Solaire Tignous (Tignous)
- Routeur Solaire MaxPV (Jetblack31)
- Routeur solaire “Le Profes’Solaire” (Anthony G.)
- Routeur solaire “Le Profes’Solaire” (Adapation from Benoit C.)
- Routeur solaire Multi-Sources Multi-Modes et Modulaire (André - F1ATB)
- Routeur solaire ESP Home (Remy)