Skip to content

Commit

Permalink
Dev
Browse files Browse the repository at this point in the history
  • Loading branch information
mathieucarbou committed May 30, 2024
1 parent 8c076fc commit 9c4d20c
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 46 deletions.
4 changes: 2 additions & 2 deletions data/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,13 @@ <h1>YaSolR Configuration</h1>
o1_ab_enable: ["Enable Output 1 automatic bypass based on temperature, days and hours", "switch"],
o1_ad_enable: ["Enable Output 1 automatic routing based on grid power", "switch"],
o1_ds18_enable: ["Enable Output 1 temperature (DS18 sensor is connected)", "switch"],
o1_enable: ["Enable Output 1 (dimmer is connected)", "switch"],
o1_dim_enable: ["Enable Output 1 (dimmer is connected)", "switch"],
o1_pzem_enable: ["Enable Output 1 PZEM (PZEM is connected)", "switch"],
o1_relay_enable: ["Enable Output 1 Bypass Relay (relay is connected)", "switch"],
o2_ab_enable: ["Enable Output 2 automatic bypass based on temperature, days and hours", "switch"],
o2_ad_enable: ["Enable Output 2 automatic routing based on grid power", "switch"],
o2_ds18_enable: ["Enable Output 2 temperature (DS18 sensor is connected)", "switch"],
o2_enable: ["Enable Output 2 (dimmer is connected)", "switch"],
o2_dim_enable: ["Enable Output 2 (dimmer is connected)", "switch"],
o2_pzem_enable: ["Enable Output 2 PZEM (PZEM is connected)", "switch"],
o2_relay_enable: ["Enable Output 2 Bypass Relay (relay is connected)", "switch"],
relay1_enable: ["Enable Relay 1", "switch"],
Expand Down
10 changes: 5 additions & 5 deletions include/YaSolRDefines.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@
#define KEY_ENABLE_MQTT "mqtt_enable"
#define KEY_ENABLE_OUTPUT1_AUTO_BYPASS "o1_ab_enable"
#define KEY_ENABLE_OUTPUT1_AUTO_DIMMER "o1_ad_enable"
#define KEY_ENABLE_OUTPUT1 "o1_enable"
#define KEY_ENABLE_OUTPUT1_DIMMER "o1_dim_enable"
#define KEY_ENABLE_OUTPUT1_DS18 "o1_ds18_enable"
#define KEY_ENABLE_OUTPUT1_PZEM "o1_pzem_enable"
#define KEY_ENABLE_OUTPUT1_RELAY "o1_relay_enable"
#define KEY_ENABLE_OUTPUT2_AUTO_BYPASS "o2_ab_enable"
#define KEY_ENABLE_OUTPUT2_AUTO_DIMMER "o2_ad_enable"
#define KEY_ENABLE_OUTPUT2 "o2_enable"
#define KEY_ENABLE_OUTPUT2_DIMMER "o2_dim_enable"
#define KEY_ENABLE_OUTPUT2_DS18 "o2_ds18_enable"
#define KEY_ENABLE_OUTPUT2_PZEM "o2_pzem_enable"
#define KEY_ENABLE_OUTPUT2_RELAY "o2_relay_enable"
Expand Down Expand Up @@ -112,10 +112,10 @@
#define YASOLR_MQTT_WILL_TOPIC "/status"
#define YASOLR_PZEM_ADDRESS_OUTPUT1 0x01
#define YASOLR_PZEM_ADDRESS_OUTPUT2 0x02
#define YASOLR_RELAY_TYPE_NC "NC"
#define YASOLR_RELAY_TYPE_NO "NO"
#define YASOLR_RELAY_TYPE_NC "NC"
#define YASOLR_RELAY_TYPE_NO "NO"
#define YASOLR_SERIAL_BAUDRATE 115200
#define YASOLR_WEEK_DAYS "sun,mon,tue,wed,thu,fri,sat"
#define YASOLR_WEEK_DAYS "sun,mon,tue,wed,thu,fri,sat"

// pinout

Expand Down
28 changes: 17 additions & 11 deletions include/YaSolRWebsite.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,10 @@ namespace YaSolR {
Tab _output1Tab = Tab(&dashboard, "\u2600 Output 1");
Card _output1State = Card(&dashboard, STATUS_CARD, "Status", DASH_STATUS_IDLE);
Card _output1DS18 = Card(&dashboard, TEMPERATURE_CARD, "Temperature", "°C");
Card _output1DimmerSlider = Card(&dashboard, SLIDER_CARD, "Dimmer Manual Control", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output1DimmerSlider = Card(&dashboard, SLIDER_CARD, "Dimmer Level Manual Control", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output1DimmerSliderRO = Card(&dashboard, PROGRESS_CARD, "Dimmer Level", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output1Bypass = Card(&dashboard, BUTTON_CARD, "Bypass Manual Control");
Card _output1BypassRO = Card(&dashboard, STATUS_CARD, "Bypass");
Card _output1Power = Card(&dashboard, ENERGY_CARD, "Power", "W");
Card _output1ApparentPower = Card(&dashboard, ENERGY_CARD, "Apparent Power", "VA");
Card _output1PowerFactor = Card(&dashboard, ENERGY_CARD, "Power Factor");
Expand All @@ -109,8 +111,10 @@ namespace YaSolR {
Tab _output2Tab = Tab(&dashboard, "\u2600 Output 2");
Card _output2State = Card(&dashboard, STATUS_CARD, "Status", DASH_STATUS_IDLE);
Card _output2DS18 = Card(&dashboard, TEMPERATURE_CARD, "Temperature", "°C");
Card _output2DimmerSlider = Card(&dashboard, SLIDER_CARD, "Dimmer Manual Control", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output2DimmerSlider = Card(&dashboard, SLIDER_CARD, "Dimmer Level Manual Control", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output2DimmerSliderRO = Card(&dashboard, PROGRESS_CARD, "Dimmer Level", "", 0, YASOLR_DIMMER_MAX_LEVEL, 1);
Card _output2Bypass = Card(&dashboard, BUTTON_CARD, "Bypass Manual Control");
Card _output2BypassRO = Card(&dashboard, STATUS_CARD, "Bypass");
Card _output2Power = Card(&dashboard, ENERGY_CARD, "Power", "W");
Card _output2ApparentPower = Card(&dashboard, ENERGY_CARD, "Apparent Power", "VA");
Card _output2PowerFactor = Card(&dashboard, ENERGY_CARD, "Power Factor");
Expand All @@ -129,18 +133,20 @@ namespace YaSolR {
Card _output2AutoStoptTemp = Card(&dashboard, TEXT_INPUT_CARD, "Bypass Stop Temperature");

Tab _relaysTab = Tab(&dashboard, "\u2600 Relays");
Card _relay1Switch = Card(&dashboard, BUTTON_CARD, "Relay 1 Manual Control");
Card _relay1Load = Card(&dashboard, TEXT_INPUT_CARD, "Relay 1 Automatic Control: Connected Load (Watts)");
Card _relay2Switch = Card(&dashboard, BUTTON_CARD, "Relay 2 Manual Control");
Card _relay1Switch = Card(&dashboard, BUTTON_CARD, "Relay 1 Manual Control");
Card _relay1SwitchRO = Card(&dashboard, STATUS_CARD, "Relay 1");
Card _relay2Load = Card(&dashboard, TEXT_INPUT_CARD, "Relay 1 Automatic Control: Connected Load (Watts)");
Card _relay2Switch = Card(&dashboard, BUTTON_CARD, "Relay 2 Manual Control");
Card _relay2SwitchRO = Card(&dashboard, STATUS_CARD, "Relay 2");

Tab _managementTab = Tab(&dashboard, "\u2764 Management");
Card _configBackup = Card(&dashboard, LINK_CARD, "Configuration Backup");
Card _configRestore = Card(&dashboard, FILE_UPLOAD_CARD, "Configuration Restore", ".txt");
Card _otaLink = Card(&dashboard, LINK_CARD, "OTA Firmware Update");
Card _restart = Card(&dashboard, PUSH_BUTTON_CARD, "Restart");
Card _output1Reset = Card(&dashboard, PUSH_BUTTON_CARD, "Energy Reset (only Output 1)");
Card _output2Reset = Card(&dashboard, PUSH_BUTTON_CARD, "Energy Reset (only Output 2)");
Card _energyResetO1 = Card(&dashboard, PUSH_BUTTON_CARD, "Energy Reset (only Output 1)");
Card _energyResetO2 = Card(&dashboard, PUSH_BUTTON_CARD, "Energy Reset (only Output 2)");
Card _energyReset = Card(&dashboard, PUSH_BUTTON_CARD, "Energy Reset");
Card _reset = Card(&dashboard, PUSH_BUTTON_CARD, "Factory Reset");
Card _debugMode = Card(&dashboard, BUTTON_CARD, "Debug");
Expand Down Expand Up @@ -246,15 +252,15 @@ namespace YaSolR {
Card _zcd = Card(&dashboard, BUTTON_CARD, "Zero-Cross Detection");

Tab _hardwareConfigTab = Tab(&dashboard, "\u2699 Hardware (config)");
Card _gridFreq = Card(&dashboard, DROPDOWN_CARD, "Grid Frequency");
Card _displayType = Card(&dashboard, DROPDOWN_CARD, "Display Type");
Card _displayRotation = Card(&dashboard, DROPDOWN_CARD, "Display Rotation");
Card _relay1Type = Card(&dashboard, DROPDOWN_CARD, "Relay 1 Type");
Card _output1RelayType = Card(&dashboard, DROPDOWN_CARD, "Output 1 Bypass Relay Type");
Card _output1PZEMSync = Card(&dashboard, PUSH_BUTTON_CARD, "Output 1 PZEM Pairing");
Card _relay2Type = Card(&dashboard, DROPDOWN_CARD, "Relay 2 Type");
Card _output2RelayType = Card(&dashboard, DROPDOWN_CARD, "Output 2 Bypass Relay Type");
Card _output2PZEMSync = Card(&dashboard, PUSH_BUTTON_CARD, "Output 2 PZEM Pairing");
Card _relay1Type = Card(&dashboard, DROPDOWN_CARD, "Relay 1 Type");
Card _relay2Type = Card(&dashboard, DROPDOWN_CARD, "Relay 2 Type");
Card _gridFreq = Card(&dashboard, DROPDOWN_CARD, "Grid Frequency");
Card _displayType = Card(&dashboard, DROPDOWN_CARD, "Display Type");
Card _displayRotation = Card(&dashboard, DROPDOWN_CARD, "Display Rotation");

Tab _mqttConfigTab = Tab(&dashboard, "\u2728 MQTT");
Card _mqttServer = Card(&dashboard, TEXT_INPUT_CARD, "Server");
Expand Down
2 changes: 1 addition & 1 deletion lib/MycilaRouter/MycilaRouterOutput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ bool Mycila::RouterOutput::tryDimmerLevel(uint8_t level) {
}

Mycila::RouterOutputState Mycila::RouterOutput::getState() const {
if (!_dimmer->isEnabled())
if (!_dimmer->isEnabled() && !_relay->isEnabled())
return RouterOutputState::OUTPUT_DISABLED;
if (_dimmer->getLevel() > 0)
return RouterOutputState::OUTPUT_ROUTING;
Expand Down
Loading

0 comments on commit 9c4d20c

Please sign in to comment.