diff --git a/Somfy.cpp b/Somfy.cpp index 0afb4d8..cd045e3 100644 --- a/Somfy.cpp +++ b/Somfy.cpp @@ -2137,8 +2137,16 @@ bool SomfyShade::fromJSON(JsonObject &obj) { if(obj["shadeType"].is()) { if(strncmp(obj["shadeType"].as(), "roller", 7) == 0) this->shadeType = shade_types::roller; - else if(strncmp(obj["shadeType"].as(), "drapery", 8) == 0) - this->shadeType = shade_types::drapery; + else if(strncmp(obj["shadeType"].as(), "ldrapery", 9) == 0) + this->shadeType = shade_types::ldrapery; + else if(strncmp(obj["shadeType"].as(), "rdrapery", 9) == 0) + this->shadeType = shade_types::rdrapery; + else if(strncmp(obj["shadeType"].as(), "cdrapery", 9) == 0) + this->shadeType = shade_types::cdrapery; + else if(strncmp(obj["shadeType"].as(), "garage1", 7) == 0) + this->shadeType = shade_types::garage1; + else if(strncmp(obj["shadeType"].as(), "garage3", 7) == 0) + this->shadeType = shade_types::garage3; else if(strncmp(obj["shadeType"].as(), "blind", 5) == 0) this->shadeType = shade_types::blind; else if(strncmp(obj["shadeType"].as(), "awning", 7) == 0) diff --git a/Somfy.h b/Somfy.h index 5e87954..d5e8dec 100644 --- a/Somfy.h +++ b/Somfy.h @@ -52,12 +52,13 @@ enum class group_types : byte { enum class shade_types : byte { roller = 0x00, blind = 0x01, - drapery = 0x02, + ldrapery = 0x02, awning = 0x03, shutter = 0x04, garage1 = 0x05, - garage3 = 0x06 - + garage3 = 0x06, + rdrapery = 0x07, + cdrapery = 0x08 }; enum class tilt_types : byte { none = 0x00, diff --git a/SomfyController.ino.esp32.bin b/SomfyController.ino.esp32.bin index 4558cb1..39984f8 100644 Binary files a/SomfyController.ino.esp32.bin and b/SomfyController.ino.esp32.bin differ diff --git a/SomfyController.littlefs.bin b/SomfyController.littlefs.bin index 7eee504..db83d88 100644 Binary files a/SomfyController.littlefs.bin and b/SomfyController.littlefs.bin differ diff --git a/data/icons.css b/data/icons.css index de5022a..36727d4 100644 --- a/data/icons.css +++ b/data/icons.css @@ -610,6 +610,69 @@ i.icss-window-shade { background-size: 0.05em 0.05em; background-color: rgba(71, 212, 255, 0); } +i.icss-ldrapery { + width: 1.1em; + height: .9em; + background-color: transparent; + border: .05em solid transparent; + border-width: 0 .1em; + box-shadow: inset 0 0 0 .01em, inset 0 .01em 0 .07em, 0 .07em 0; + margin: .1em 0 .07em; +} + + i.icss-ldrapery:before { + width: 1.1em; + height: .2em; + border-bottom: .1em solid transparent; + box-shadow: inset 0 1em, 0 0em 0 -.1em; + top: -.05em; + left: -.09em; + } + + i.icss-ldrapery:after { + width: var(--shade-position, 0%); + height: calc(100% - .05em); + left: 0em; + top: 0.025em; + border-bottom: solid 0.025em gray; + border-right:solid 0.025em gray; + background-image: repeating-conic-gradient(var(--shade-color, currentColor) 0% 25%, rgba(71, 212, 255, 0) 0% 50%); + background-position: 0 0, 100% 100%; + background-size: 0.05em 0.05em; + background-color: rgba(71, 212, 255, 0); + } +i.icss-rdrapery { + width: 1.1em; + height: .9em; + background-color: transparent; + border: .05em solid transparent; + border-width: 0 .1em; + box-shadow: inset 0 0 0 .01em, inset 0 .01em 0 .07em, 0 .07em 0; + margin: .1em 0 .07em; +} + + i.icss-rdrapery:before { + width: 1.1em; + height: .2em; + border-bottom: .1em solid transparent; + box-shadow: inset 0 1em, 0 0em 0 -.1em; + top: -.05em; + left: -.09em; + } + + i.icss-rdrapery:after { + width: var(--shade-position, 0%); + height: calc(100% - .05em); + left: calc(100% - var(--shade-position)); + top: 0.025em; + border-bottom: solid 0.025em gray; + border-left: solid 0.025em gray; + background-image: repeating-conic-gradient(var(--shade-color, currentColor) 0% 25%, rgba(71, 212, 255, 0) 0% 50%); + background-position: 0 0, 100% 100%; + background-size: 0.05em 0.05em; + background-color: rgba(71, 212, 255, 0); + } + i.icss-shutter { width: 1.1em; height: .75em; @@ -816,6 +879,7 @@ i.icss-awning { background-color: transparent; border-width: 0 0; margin: .2em 0 .07em; + left:0.1em; } i.icss-awning:before { @@ -1025,7 +1089,7 @@ div.indicator-wind { clip-path: polygon(48% 18%, 0% 95%, 110% 92%); background:yellow; top:30%; - left:13px; + left:.8em; } div.indicator-sun { color: darkorange; diff --git a/data/index.html b/data/index.html index 622ccfe..1a8cd7f 100644 --- a/data/index.html +++ b/data/index.html @@ -276,8 +276,8 @@