Example layouts: Look what I built ! #37
Replies: 63 comments 121 replies
-
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
anybody have and examples of what a jsonl file and a Home Assistant config file using gpios (switch) should look like. |
Beta Was this translation helpful? Give feedback.
-
Door/window sensor state
HA config
|
Beta Was this translation helpful? Give feedback.
-
Thanks to the open source community and in this case to the open HASP group. I was able to create a nice controller without spending weeks/months writing code made this project possible. pages.jsonl{"comment":"------------------Displays on all pages - show nav buttons at bottom - time & temp at top"}
{"page":0,"id":10,"obj":"btn","action":"prev","x":0,"y":450,"w":105,"h":30,"bg_color":"#2C3E50","text":"\uE141","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":0,"id":11,"obj":"btn","action":"back","x":106,"y":450,"w":105,"h":30,"bg_color":"#2C3E50","text":"\uE2DC","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":16}
{"page":0,"id":12,"obj":"btn","action":"next","x":212,"y":450,"w":105,"h":30,"bg_color":"#2C3E50","text":"\uE142","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":0,"id":4,"obj":"label","x":5,"y":5,"h":30,"w":70,"text":"00.0°C","align":2,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":0,"id":6,"obj":"label","x":260,"y":5,"h":30,"w":62,"text":"00:00","align":0,"bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":0,"id":1,"obj":"label","x":115,"y":5,"w":110,"h":30,"text":"ASM Tech","value_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"comment":"cycle through only configured pages"}
{"page":1,"id":0,"prev":4}
{"page":4,"id":0,"next":1}
{"comment":"------------------Page 1 - Light control, slider - This was only a test"}
{"page":1,"id":2,"obj":"btn","x":10,"y":40,"w":105,"h":90,"toggle":true,"text":"\uE335","text_font":32,"mode":"break","align":1}
{"page":1,"id":5,"obj":"slider","x":20,"y":190,"h":15,"w":300,"min":0,"max":100}
{"comment":"------------------Page 2 - Media control"}
{"page":2,"id":1,"obj":"label","x":1,"y":40,"w":320,"h":30,"text":"Media Player","value_font":16,"align":"center","bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":2,"id":10,"obj":"btn","comment":"action-power","x":115,"y":85,"w":80,"h":50,"bg_color":"#2C3E50","toggle":false,"text":"\uE425","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":12,"obj":"btn","comment":"skip-previous","x":10,"y":150,"w":80,"h":70,"bg_color":"#2C3E50","toggle":false,"text":"\uE4AE","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":14,"obj":"btn","comment":"pause","x":115,"y":150,"w":80,"h":70,"bg_color":"#2C3E50","toggle":false,"text":"\uE3E4","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":18,"obj":"btn","comment":"skip-next","x":220,"y":150,"w":80,"h":70,"bg_color":"#2C3E50","toggle":false,"text":"\uE4AD","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":20,"obj":"btn","comment":"stop","x":70,"y":240,"w":60,"h":50,"bg_color":"#2C3E50","toggle":false,"text":"\uE4DB","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":22,"obj":"btn","comment":"mute","toggle":false,"x":190,"y":240,"w":60,"h":50,"bg_color":"#2C3E50","toggle":false,"text":"\uE75F","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":2,"id":5,"obj":"slider","x":20,"y":310,"h":15,"w":300,"min":0,"max":100}
{"page":2,"id":8,"obj":"label","x":12,"y":340,"w":140,"h":30,"text":"Volume","value_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"comment":"------------------Page 3 - Work Lights"}
{"page":3,"id":1,"obj":"label","x":1,"y":50,"w":320,"h":30,"text":"Bench Work Lites","value_font":16,"align":"center","bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":3,"id":3,"obj":"btn","action":"power","x":130,"y":90,"w":50,"h":40,"bg_color":"#2C3E50","text":"\uE425","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":3,"id":5,"obj":"slider","x":20,"y":150,"h":15,"w":280,"min":1,"max":255}
{"page":3,"id":6,"obj":"label","x":90,"y":168,"w":245,"h":30,"text":"Work desk Upper","value_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":3,"id":8,"obj":"btn","action":"power","x":130,"y":205,"w":50,"h":40,"bg_color":"#2C3E50","text":"\uE425","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":3,"id":10,"obj":"slider","x":20,"y":265,"h":15,"w":280,"min":1,"max":255}
{"page":3,"id":14,"obj":"label","x":90,"y":280,"w":175,"h":30,"text":"Work desk Lower","value_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":3,"id":16,"obj":"btn","action":"power","x":130,"y":327,"w":50,"h":40,"bg_color":"#2C3E50","text":"\uE425","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":24}
{"page":3,"id":18,"obj":"slider","x":20,"y":385,"h":15,"w":280,"min":1,"max":255}
{"page":3,"id":22,"obj":"label","x":60,"y":405,"w":210,"h":30,"text":"Computer desk Lower","value_font":16,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"comment":"------------------Page 4 - Mood Lights"}
{"page":4,"id":1,"obj":"label","x":1,"y":27,"w":320,"h":30,"text":"Bench Mood Lites","value_font":16,"align":"center","bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":4,"id":4,"obj":"btn","x":10,"y":117,"w":50,"h":30,"radius":10,"toggle":false}
{"Page":4,"id":6,"obj":"cpicker","x":85,"y":57,"w":155,"h":155}
{"page":4,"id":8,"obj":"slider","x":275,"y":50,"h":165,"w":15,"min":1,"max":255}
{"page":4,"id":10,"obj":"label","x":34,"y":218,"w":245,"h":30,"text":"CompDesk","value_font":16,"align":"center","bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0}
{"page":4,"id":14,"obj":"btn","x":10,"y":330,"w":50,"h":30,"radius":10,"toggle":false}
{"Page":4,"id":16,"obj":"cpicker","x":85,"y":254,"w":155,"h":155}
{"page":4,"id":18,"obj":"slider","x":275,"y":255,"h":175,"w":15,"min":1,"max":255}
{"page":4,"id":20,"obj":"label","x":34,"y":415,"w":245,"h":30,"text":"WorkDesk","value_font":16,"align":"center","bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0} |
Beta Was this translation helpful? Give feedback.
-
Hi.
Thanks. Spent more time tweaking the objects on the screen, then modifying
the example code.
I did not write any code.
Just used the examples from the openHASP pages on github. I just replaced
the entities in the examples with the entities that I wanted to control
that are in my Home Assistant.
…On Fri, 13 Aug 2021 at 15:30, rlust ***@***.***> wrote:
Would you be able to share your automation code for this? Looks Great!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#37 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APA3HLUS7VI6FPRMCKCUE5DT4VXGNANCNFSM4VQLCQDQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>
.
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Playing with openhasp + homeassistant pages.jsonl Open
hassio configuration Open
Corel draw used for test and postioning |
Beta Was this translation helpful? Give feedback.
-
Well, it took like F O R E V E R , but here's my take on a Sonos speaker group plate 🙂 Config is done for a wt32-sc01 device with 320x480 resolution screen. Link for more detailed documentation, as well as all needed config files here If you're into HA templates, then knock yourself out and have a go at 'ironing out' my attempts to make these as effective as possible |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Thanks to everyone who are contributing their designs. It really helped me going and creating something of my own. I wanted to share back my work, which is based on the Mushroom lovelace cards. All the code is available in this repo. |
Beta Was this translation helpful? Give feedback.
-
The blinds control panel. A window of rectangles is drawn and the length of the curtain corresponds to the percentage of opening. {"page":0,"id":1,"obj":"btn","action":"prev","x":0,"y":420,"w":105,"h":60,"bg_color":"#2C3E50","text":"\uE141","text_color":"#FFFFFF","radius":0,"border_side":0,"text_font":32} {"page":3,"id":1,"obj":"obj","x":0,"y":0,"w":320,"h":480,"radius":0,"bg_color":"black","click":0,"border_opa":100} {"page":3,"id":5,"obj":"label","x":65,"y":5,"h":30,"w":220,"text":"Roll-1","text_color":"gray","align":1,"bg_color":"#2C3E50"}
|
Beta Was this translation helpful? Give feedback.
-
Hello all! I made a page for the WLED, you can adjust brightness, color, intensity, speed and reverse your strip if needed. On the top left (under time) I added power consumption in mA Here is the code for configuration.yaml:
and here is the pages code: {"page":7,"id":35,"obj":"img","src":"L:/circl.png","auto_size":0,"w":320} {"page":7,"id":103,"obj":"switch","x":32,"y":95,"w":60,"h":20,"radius":15} Customize as you want. I use WT-32-SC01 and the screen resolution is 320x480. UI Theme is "material dark". WLED entity name in this page is "light.keittiotiskiallas", rename those for your entity. Please fix your page numbers and IDs to fit your pages and configuration.yaml. If you don't want your strip turn off when slider goes down, change the id:106 min value to 1. Remove/change background image, id35, if you dont want to use images on your OpenHASP. Thank you so much for the OpenHASP! I just love it, easy to flash and use, just perfect for my needs! |
Beta Was this translation helpful? Give feedback.
-
WLED control: I adjusted the pages code to fit the 2.4" Lolin screen {"page":1,"id":109,"obj":"btn","x":0,"y":0,"w":240,"h":20,"text":"WLED Demo","bg_color":"#80","align":2,"text_color":"#FFFFFF","radius":0,"border_side":0} {"page":1,"id":103,"obj":"switch","x":12,"y":49,"w":60,"h":20,"radius":15} |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Using a 7" Elecrow screen Still working on Page 4 |
Beta Was this translation helpful? Give feedback.
-
Keeping an eye on my printer... |
Beta Was this translation helpful? Give feedback.
-
Display is a Sunton ESP32-8048S050C Everything is controlled by Openhab. Link to github |
Beta Was this translation helpful? Give feedback.
-
Since I'm not a very skilled user and I'm a bit lazy, I made a helper program to adapt existing pages to a different resolution. This also helps in the positioning of elements when editing new pages. I hope you find it useful. |
Beta Was this translation helpful? Give feedback.
-
Some modern design with background blur. Still WIP as I need to add more pages(eg. thermostat, forecast). {"id":0,"bg_color":"#111"}
{"page":1,"id":0,"bg_color":"#111"}
{"page":2,"id":0,"bg_color":"#111"}
{"page":3,"id":0,"bg_color":"#111"}
// FRONT PAGE
{"page":1,"id":8,"obj":"img","src":"L:/bg1d.png","w":480, "h":480}
{"page":1,"id":1,"obj":"label","x":27,"y":114,"w":328,"h":173,"text":"--:--", "text_font": 148}
{"page":1,"id":2,"obj":"label","x":31,"y":32,"w":48,"h":48,"text":"\uE596", "text_font": 48}
{"page":1,"id":3,"obj":"label","x":85,"y":44,"w":62,"h":38,"text":"--°C", "text_font": 32}
{"page":1,"id":4,"obj":"label","x":31,"y":83,"w":330,"h":28,"text":"--", "text_font": 24}
{"page":1,"id":5,"obj":"label","x":378,"y":54,"w":24,"h":28,"text":"\uE6A1", "text_font": 24}
{"page":1,"id":6,"obj":"label","x":405,"y":54,"w":47,"h":28,"text":"--°C", "text_font": 24}
{"page":1,"id":7,"obj":"label","x":412,"y":76,"w":39,"h":28,"text":"--%", "text_font": 24}
{"page":1,"id":12,"obj":"label","x":54,"y":339,"w":50,"h":50,"text":"\uE456", "text_font": 48}
{"page":1,"id":13,"obj":"label","x":54,"y":402,"w":70,"h":28,"text":"Scenes", "text_font": 24}
{"page":1,"id":11,"obj":"obj","x":16,"y":311,"w":216,"h":144,"radius":15,"click":true,"border_side":0,"bg_color":"#1c1c1c","action":"p2","opacity":0}
{"page":1,"id":22,"obj":"label","x":274,"y":339,"w":50,"h":50,"text":"\uE335", "text_font": 48}
{"page":1,"id":23,"obj":"label","x":274,"y":402,"w":70,"h":40,"text":"Lights", "text_font": 24}
{"page":1,"id":21,"obj":"obj","x":248,"y":311,"w":216,"h":144,"radius":15,"click":true,"border_side":0,"bg_color":"#1c1c1c","action":"p3","opacity":0}
// SCENES PAGE
{"page":2,"id":1,"obj":"img","src":"L:/bg2d.png","w":480, "h":480}
// AppBar
{"page":2,"id":3,"obj":"label","x":0,"y":8,"w":480,"h":40,"text":"Scenes", "text_font": 32,"align":"center"}
{"page":2,"id":4,"obj":"label","x":8,"y":4,"w":32,"h":48,"text":"\uE141", "text_font": 48}
{"page":2,"id":5,"obj":"obj","x":0,"y":0,"w":64,"h":64,"click":true,"action":"back", "opacity":0}
{"page":2,"id":10,"obj":"obj","x":16,"y":90,"w":216,"h":90,"click":true,"opacity":0}
{"page":2,"id":20,"obj":"obj","x":16,"y":217,"w":216,"h":90,"click":true,"opacity":0}
{"page":2,"id":30,"obj":"obj","x":16,"y":344,"w":216,"h":90,"click":true,"opacity":0}
{"page":2,"id":40,"obj":"obj","x":248,"y":90,"w":216,"h":90,"click":true,"opacity":0}
{"page":2,"id":50,"obj":"obj","x":248,"y":217,"w":216,"h":90,"click":true,"opacity":0}
{"page":2,"id":60,"obj":"obj","x":248,"y":344,"w":216,"h":90,"click":true,"opacity":0}
// LIGHTS PAGE
{"page":3,"id":1,"obj":"img","src":"L:/bg3d.png","w":480, "h":480}
// AppBar
{"page":3,"id":3,"obj":"label","x":0,"y":8,"w":480,"h":40,"text":"Lights", "text_font": 32,"align":"center"}
{"page":3,"id":4,"obj":"label","x":8,"y":4,"w":32,"h":48,"text":"\uE141", "text_font": 48}
{"page":3,"id":5,"obj":"obj","x":0,"y":0,"w":64,"h":64,"click":true,"action":"back", "opacity":0}
// light 1
{"page":3,"id":10,"obj":"slider","x":24,"y":80,"w":432,"h":60,"value":50, "min":1, "max":255,"bg_opa00":20, "bg_opa20":0, "bg_color10":"#FAAC1B","bg_color00":"#1c1c1c"}
{"page":3,"id":11,"obj":"obj","x":32,"y":88,"w":44,"h":44,"radius":22,"border_side":0,"bg_color":"#181c18"}
{"page":3,"id":12,"obj":"label","x":32,"y":94,"w":44,"h":44,"text":"\uE335", "text_font": 24,"align":"center","click":0,"text_color":"#747474"}
{"page":3,"id":13,"obj":"label","x":92,"y":94,"w":300,"h":60,"text":"Food Lamp", "text_font": 24,"click":0}
// light 2
{"page":3,"id":20,"obj":"slider","x":24,"y":156,"w":432,"h":60,"value":50, "min":1, "max":255,"bg_opa00":20, "bg_opa20":0,"bg_color10":"#FAAC1B","bg_color00":"#1c1c1c"}
{"page":3,"id":21,"obj":"obj","x":32,"y":164,"w":44,"h":44,"radius":22,"border_side":0,"bg_color":"#181c18"}
{"page":3,"id":22,"obj":"label","x":32,"y":170,"w":44,"h":44,"text":"\uE335", "text_font": 24,"align":"center","click":0,"text_color":"#747474"}
{"page":3,"id":23,"obj":"label","x":92,"y":170,"w":300,"h":60,"text":"U-Lamp", "text_font": 24,"click":0}
// light 3
{"page":3,"id":30,"obj":"slider","x":24,"y":232,"w":432,"h":60,"value":50, "min":1, "max":255,"bg_opa00":20, "bg_opa20":0,"bg_color10":"#FAAC1B","bg_color00":"#1c1c1c"}
{"page":3,"id":31,"obj":"obj","x":32,"y":240,"w":44,"h":44,"radius":22,"border_side":0,"bg_color":"#181c18"}
{"page":3,"id":32,"obj":"label","x":32,"y":246,"w":44,"h":44,"text":"\uE335", "text_font": 24,"align":"center","click":0,"text_color":"#747474"}
{"page":3,"id":33,"obj":"label","x":92,"y":246,"w":300,"h":60,"text":"TV Lamp", "text_font": 24,"click":0}
// light 4
{"page":3,"id":40,"obj":"slider","x":24,"y":308,"w":432,"h":60,"value":50, "min":1, "max":255,"bg_opa00":20, "bg_opa20":0,"bg_color10":"#FAAC1B","bg_color00":"#1c1c1c"}
{"page":3,"id":41,"obj":"obj","x":32,"y":316,"w":44,"h":44,"radius":22,"border_side":0,"bg_color":"#181c18"}
{"page":3,"id":42,"obj":"label","x":32,"y":322,"w":44,"h":44,"text":"\uE335", "text_font": 24,"align":"center","click":0,"text_color":"#747474"}
{"page":3,"id":43,"obj":"label","x":92,"y":322,"w":300,"h":60,"text":"Kitchen", "text_font": 24,"click":0}
{"page":1,"id":0,"prev":3}
{"page":3,"id":0,"next":1}
openhasp:
plate1:
objects:
- obj: "p1b1" # time
properties:
"text": '{{ now().strftime("%H:%M") }}'
- obj: "p1b4" # date
properties:
"text": '{{ now().strftime("%A %d %b") }}'
- obj: "p1b6" # room temperature
properties:
"text": '{{ int(states("sensor.tempkuchnia_temperature")) }}°C'
- obj: "p1b7" # room humidity
properties:
"text": '{{ states("sensor.tempkuchnia_humidity") }}%'
- obj: "p1b3" # outside temperature
properties:
"text": '{{ int(state_attr("weather.forecast_dom", "temperature")) }}°C'
- obj: "p1b2" # forecast icon
properties:
"text": >-
{% set icons = {"cloudy":"\uE590", "fog":"\uE591", "hail":"\uE592", "lightning":"\uE593", "clear-night":"\uE594", "partlycloudy":"\uE595", "pouring":"\uE596", "rainy":"\uE597", "snowy":"\uE598", "sunny":"\uE599", "windy":"\uE59D", "windy-variant":"\uE59E", "lightning-rainy":"\uE67E", "snowy-rainy":"\uE67F", "exceptional":"\uE957"} %}
{{ icons[states("weather.forecast_dom")] | default("\uE957") }}
- obj: "p3b10" # Light brightness 1
properties:
"val": "{{state_attr('light.lampastol', 'brightness') if state_attr('light.lampastol', 'brightness') != None else 0 }}"
event:
"changed":
- service: light.turn_on
data:
entity_id: light.lampastol
brightness: "{{ val }}"
"up":
- service: light.turn_on
data:
entity_id: light.lampastol
brightness: "{{ val }}"
- obj: "p3b11" # Light button
properties:
"bg_color": "{{ '#181c18' if states('light.lampastol') == 'on' else '#262626' }}"
event:
"up":
- service: light.toggle
data:
entity_id: light.lampastol
- obj: "p3b12" # Light bulb icon
properties:
"text_color": "{{ '#FAAC1B' if states('light.lampastol') == 'on' else '#747474' }}"
...
- obj: "p2b10" # Scene button 1 - Cooking
event:
"up":
- service: scene.turn_on
target:
entity_id: scene.gotowanie
... |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Sunton 800x480 screenDesign meant for use in living room, idea is to have a quickly available Home Assistant dashboard with only the control elements I need there. The design's a mix of what I have in my HA dashboards and ideas from other posters in this thread. Especially thank you @8bitmcu for the pop-up code and the tag-usage examples. TV pageButtons to start some Home Assistant scripts For the custom icons I used Fontforge to add some svg's to the Ubuntu font, then uploaded the modified font. Heating pageLive temperatures + pop-up to set desired temperature jsonl of the panelShow code
Home Assistant's configuration.yamlShow codeA input_number helper for the thermostat popup. Each time a thermostat poup is opened, the value of this helper is set to the current target temperature of the selected room.
A script inside 'script: ' section of your
The 'openhasp: ' section of your Note how on objects "p0b10", "p0b35" and "p0b37" an openhasp command to draw new jsonl lines is fired when these elements (arc slider and -+ buttons) are used. This is to immediately update the displayed target temperature. If you omit this there will be a delay until mqtt picks up the changed state.
|
Beta Was this translation helpful? Give feedback.
-
Seeed studio SenseCap Indicator. (480 x 480) I wanted a simple "smart thermostat" style screen to replace an old mechanical thermostat. Plate JSONL{"comment":"Designer Config","page_size":"large_square","plate_name":"openhasp"}
{"page":0,"comment":"Page 0"}
{"obj":"btn","id":1,"x":450,"y":1,"w":30,"h":40,"text_font":"2","text":"\uE5A9","text_color":"gray","bg_opa":0,"border_width":0}
{"page":1,"comment":"Page 1","bg_color":"#000000"}
{"id":1,"obj":"arc","x":0,"y":0,"w":480,"h":480,"angle":286,"radius":2,"line_width":30,"line_width10":30,"line_color10":"#fe8f58","bg_color":"#000000","bg_color20":"#4b4b4b","border_color":"#000000","border_width":2,"border_width20":5,"min":150,"max":250,"pad_top":29,"pad_right":29,"pad_left":29,"pad_bottom":29,"pad_top20":1.5,"pad_right20":1.5,"pad_left20":1.5,"pad_bottom20":1.5,"adjustable":true,"start_angle":128,"end_angle":54}
{"id":3,"obj":"label","x":200,"y":280,"w":100,"h":60,"text":"00.0","text_font":56,"text_color":"#4cb050"}
{"id":6,"obj":"label","x":160,"y":180,"w":160,"h":100,"text":"00.0","text_font":90,"text_color":"#fe8f58"}
{"id":7,"obj":"label","x":160,"y":160,"w":160,"h":20,"align":"center","text":"Set Temp","text_font":18,"text_color":"#fe8f58"}
{"id":8,"obj":"label","x":180,"y":340,"w":140,"h":20,"align":"center","text":"Actual Temp","text_font":16,"text_color":"#4cb050"}
{"id":12,"obj":"btn","x":200,"y":400,"w":80,"h":40,"toggle":true,"radius":20,"bg_color":"#a9a9a9","border_color":"#838994","text_font":"2","text":"\uE238","text_color":"#ffffff"}
{"id":33,"obj":"btn","action":"next","x":420,"y":440,"w":60,"h":40,"radius":20,"bg_color":"#a9a9a9","border_color":"#838994","text_font":"2","text":"\uE6B5","text_color":"#ffffff"}
{"id":35,"obj":"label","x":320,"y":200,"w":60,"h":80,"align":"center","text":"+","text_font":65,"text_color":"#d81b43"}
{"id":37,"obj":"label","x":100,"y":200,"w":60,"h":80,"align":"center","text":"-","text_font":65,"text_color":"#1f87e8"}
{"page":2,"comment":"Page 2","bg_color":"#000000"}
{"id":26,"obj":"btn","x":100,"y":40,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Window Lamp","text_font":28,"text_color":"#ffffff"}
{"id":27,"obj":"btn","x":100,"y":100,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Sideboard Lamp","text_font":28}
{"id":28,"obj":"btn","x":100,"y":160,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Piano Lamp","text_font":28}
{"id":29,"obj":"btn","x":100,"y":220,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Fire","text_font":28}
{"id":30,"obj":"btn","x":100,"y":280,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Rainbow Lamp","text_font":28}
{"id":31,"obj":"btn","x":100,"y":340,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Hall Lamp","text_font":28}
{"id":32,"obj":"btn","x":100,"y":400,"w":280,"h":40,"toggle":true,"radius":20,"border_color":"##838994","text":"Conservatory Lamp","text_font":28}
{"id":34,"obj":"btn","action":"prev","x":0,"y":440,"w":60,"h":40,"radius":20,"bg_color":"#a9a9a9","border_color":"#838994","text_font":"2","text":"\uE238","text_color":"#ffffff"}
Home Assistant configuration fileplate: # replace climate.heating with your climate entity
objects:
- obj: "p1b3" # temperature label
properties:
"text": '{{ states("sensor.your_sensor_temperature") }}°C'
- obj: "p1b1" # arc slider
properties:
"val": >
{% if state_attr('climate.heating','temperature') is not none %}
{{ state_attr('climate.heating','temperature') | int * 10 }}
{%- endif %}
"min": >
{% if state_attr('climate.heating','min_temp') is not none %}
{{ state_attr('climate.heating','min_temp') | int * 10 }}
{%- endif %}
"max": >
{% if state_attr('climate.heating','max_temp') is not none %}
{{ state_attr('climate.heating','max_temp') | int * 10 }}
{%- endif %}
"opacity": "{{ 60 if (is_state('climate.heating','unavailable') or is_state('climate.heating','unknown')) else 255 }}"
"click": "{{ 'false' if (is_state('climate.heating','unavailable') or is_state('climate.heating','unknown')) else 'true' }}"
"line_color1": >
{% if is_state('switch.yourswitch', 'on') %}
{{ "#fe8f58" }}
{%-elif is_state('switch.yourswitch', 'off') %}
{{ "#4b4b4b" }}
{%-else %}
{% endif %}
event:
"changed":
- service: climate.set_temperature
target:
entity_id: climate.heating
data:
temperature: "{{ val | int / 10 }}"
"up":
- service: climate.set_temperature
target:
entity_id: climate.heating
data:
temperature: "{{ val | int / 10 }}"
- obj: "p1b6" # label target temp
properties:
"text": >
{% if state_attr('climate.heating','temperature') is not none %}
{{ state_attr('climate.heating','temperature') }}
{%- endif %}
"opacity": "{{ 60 if (is_state('climate.heating','unavailable') or is_state('climate.heating','unknown')) else 255 }}"
- obj: "p1b12" # Heating on/off switch
properties:
"val": "{{ 0 if (is_state('climate.heating', 'off') or is_state('climate.heating', 'unavailable')) else 1 }}"
"click": "{{ 'false' if (is_state('climate.heating','unavailable') or is_state('climate.heating','unknown')) else 'true' }}"
"opacity": "{{ 60 if (is_state('climate.heating','unavailable') or is_state('climate.heating','unknown')) else 255 }}"
event:
"down":
- service_template: >
{% if val == 0 -%}
climate.turn_on
{% else -%}
climate.turn_off
{% endif -%}
entity_id: "climate.heating"
- obj: "p2b26" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.yourlight"
- obj: "p2b27" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.yourlight"
- obj: "p2b28" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.yourlight"
- obj: "p2b29" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "light.led_lights"
- obj: "p2b30" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.sonoff_1000f66a95"
- obj: "p2b31" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.sonoff_100073b5f0"
- obj: "p2b32" # light-switch toggle button
properties:
"val": '{{ 1 if states("switch.yourlight") == "on" else 0 }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.yourlight"
- obj: "p0b1"
properties:
"text_color": "{% if -30 <= state_attr('openhasp.plate1','rssi') |int %}green{% elif -31 > state_attr('openhasp.plate1','rssi') |int >= -50 %}orange{% elif -51 > state_attr('openhasp.plate1','rssi') |int >= -80 %}tomato{% else %}red{% endif %}"
- obj: "p1b35" # plus button for temp
event:
"down":
- service: climate.set_temperature
target:
entity_id: climate.heating
data:
temperature: "{{ state_attr('climate.heating','temperature') + state_attr('climate.heating','target_temp_step') | float(default=1)}}"
- obj: "p1b37" # minus button for temp
event:
"down":
- service: climate.set_temperature
target:
entity_id: climate.heating
data:
temperature: "{{ state_attr('climate.heating','temperature') - state_attr('climate.heating','target_temp_step') | float(default=1)}}" |
Beta Was this translation helpful? Give feedback.
-
Sunton 7" 800x480 (With Home Assistant)Yes... I went overboard with my energy management.
pages.jsonl{"comment":"---- Config ---- ","page_size":"xlarge_landscape","project_name":"MediumPanel"}
{"page":1, "swipe":1, "comment":"----------- page 1 ------- ", "bg_color": "#000000"}
{"id":1,"obj":"obj","x":0,"y":0,"w":800,"h":45,"border_color":"#848a94","border_width":1,"radius":5, "bg_color": "#333333"}
{"id":10,"obj":"label","x":20,"y":0,"w":90,"h":50,"parentid":1,"text":"0:0","text_font":32}
{"id":11,"obj":"label","x":140,"y":0,"w":400,"h":50,"parentid":1,"text":"Booting...","text_font":32}
{"id":12,"obj":"label","x":450,"y":0,"w":340,"h":50,"parentid":1,"text":"\ue50F 0.0°C","text_font":32, "align": "right"}
{"id":2,"obj":"obj","x":0,"y":55,"w":390,"h":95,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":20,"obj":"label","x":20,"y":5,"w":70, "h":95,"parentid":2,"text":"\uF40B", "text_font":72}
{"id":21,"obj":"label","x":110,"y":5,"w":110,"h":40,"parentid":2,"text":"#FFFFFF Power:","text_font":24}
{"id":22,"obj":"label","x":110,"y":30,"w":110,"h":40,"parentid":2,"text":"#00FFFF Consumed: ","text_font":24}
{"id":23,"obj":"label","x":110,"y":55,"w":110,"h":40,"parentid":2,"text":"#EE82EE Returned:","text_font":24}
{"id":24,"obj":"label","x":240,"y":5,"w":110,"h":40,"parentid":2,"text":"0 W","text_font":24, "align": "right"}
{"id":25,"obj":"label","x":240,"y":30,"w":110,"h":40,"parentid":2,"text":"#00FFFF 0.0 kWh","text_font":24, "align": "right"}
{"id":26,"obj":"label","x":240,"y":55,"w":110,"h":40,"parentid":2,"text":"#EE82EE 0.0 kWh","text_font":24, "align": "right"}
{"id":3,"obj":"obj","x":0,"y":160,"w":390,"h":95,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":30,"obj":"label","x":20,"y":5,"w":70, "h":95,"parentid":3,"text":"\uE5A8", "text_font":72}
{"id":31,"obj":"label","x":110,"y":5,"w":110,"h":40,"parentid":3,"text":"#FFD700 Power: ","text_font":24}
{"id":32,"obj":"label","x":110,"y":30,"w":110,"h":40,"parentid":3,"text":"#FFD700 Generated:","text_font":24}
{"id":33,"obj":"label","x":110,"y":55,"w":110,"h":40,"parentid":3,"text":"#FFFFFF Remaining:","text_font":24}
{"id":34,"obj":"label","x":240,"y":5,"w":110,"h":40,"parentid":3,"text":"#FFD700 0 W","text_font":24, "align": "right"}
{"id":35,"obj":"label","x":240,"y":30,"w":110,"h":40,"parentid":3,"text":"#FFD700 0 kWh","text_font":24, "align": "right"}
{"id":36,"obj":"label","x":240,"y":55,"w":110,"h":40,"parentid":3,"text":"#FFFFFF 0 kWh","text_font":24, "align": "right"}
{"id":4,"obj":"obj","x":0,"y":265,"w":390,"h":95,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":40,"obj":"label","x":20,"y":5,"w":70, "h":95, "parentid":4,"text":"\uF2A3", "text_font":72}
{"id":41,"obj":"label","x":110,"y":5,"w":110,"h":40,"parentid":4,"text":"#008080 Power:","text_font":24}
{"id":42,"obj":"label","x":110,"y":30,"w":110,"h":40,"parentid":4,"text":"Charge:","text_font":24}
{"id":45,"obj":"label","x":110,"y":55,"w":200,"h":40,"parentid":4,"text":"Please wait...","text_font":24}
{"id":43,"obj":"label","x":240,"y":5,"w":110,"h":40,"parentid":4,"text":"#008080 0 W","text_font":24, "align": "right"}
{"id":44,"obj":"label","x":240,"y":30,"w":110,"h":40,"parentid":4,"text":"0%","text_font":24, "align": "right"}
{"id":5,"obj":"obj","x":0,"y":370,"w":390,"h":110,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":50,"obj":"label","x":20,"y":10, "w":70, "h":110 ,"parentid":5,"text":"\uE5F1", "text_font":72}
{"id":51,"obj":"label","x":110,"y":0, "w":110,"h":40,"parentid":5,"text":"Power:","text_font":24}
{"id":52,"obj":"label","x":110,"y":25,"w":110,"h":40,"parentid":5,"text":"Remaining:","text_font":24}
{"id":53,"obj":"label","x":110,"y":50,"w":75,"h":40,"parentid":5,"text":"Charge:","text_font":24}
{"id":58,"obj":"label","x":110,"y":75,"w":230,"h":40,"parentid":5,"text":"Idle","text_font":24, "align": "left"}
{"id":55,"obj":"label","x":240,"y":0, "w":110,"h":40,"parentid":5,"text":"0 W","text_font":24, "align": "right"}
{"id":56,"obj":"label","x":240,"y":25,"w":110,"h":40,"parentid":5,"text":"0 kWh","text_font":24, "align": "right"}
{"id":57,"obj":"label","x":200,"y":50,"w":150,"h":40,"parentid":5,"text":"0%","text_font":24, "align": "right"}
{"id":6,"obj":"obj","x":420,"y":55,"w":380,"h":60,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":60,"obj":"btn","x":10,"y":10,"w":170,"h":40,"parentid":6,"border_color":"#848a94","border_width":1,"radius":5,"text":"Airco","text_font":24}
{"id":61,"obj":"btn","x":200,"y":10,"w":40,"h":40,"parentid":6,"border_color":"#848a94","border_width":1,"radius":5,"text":"-","text_font":24}
{"id":62,"obj":"btn","x":320,"y":10,"w":40,"h":40,"parentid":6,"border_color":"#848a94","border_width":1,"radius":5,"text":"+","text_font":24}
{"id":63,"obj":"label","x":250,"y":10,"w":60,"h":40,"parentid":6,"text":"0°C","text_font":24, "align": "center"}
{"id":7,"obj":"obj","x":420,"y":125,"w":380,"h":355,"border_color":"#848a94","border_width":1,"radius":10, "bg_color": "#333333"}
{"id":70,"obj":"label","x":20,"y":10,"w":110,"h":40,"parentid":7,"text":"Badkamer:","text_font":24}
{"id":75,"obj":"btn", "x":150,"y":10,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":76,"obj":"btn", "x":210,"y":10,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE438","text_font":24}
{"id":77,"obj":"label","x":270,"y":10,"w":80,"h":40,"parentid":7,"text":"0°C","text_font":24, "align": "right"}
{"id":71,"obj":"label","x":20,"y":55,"w":110,"h":40,"parentid":7,"text":"Robin:","text_font":24}
{"id":78,"obj":"btn", "x":150,"y":55,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":79,"obj":"btn", "x":210,"y":55,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE438","text_font":24}
{"id":80,"obj":"label","x":270,"y":55,"w":80,"h":40,"parentid":7,"text":"0°C","text_font":24, "align": "right"}
{"id":72,"obj":"label","x":20,"y":100,"w":110,"h":40,"parentid":7,"text":"Wout:","text_font":24}
{"id":81,"obj":"btn", "x":150,"y":100,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":82,"obj":"btn", "x":210,"y":100,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE438","text_font":24}
{"id":83,"obj":"label","x":270,"y":100,"w":80,"h":40,"parentid":7,"text":"0°C","text_font":24, "align": "right"}
{"id":73,"obj":"label","x":20,"y":145,"w":110,"h":40,"parentid":7,"text":"Linne:","text_font":24}
{"id":84,"obj":"btn", "x":150,"y":145,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":85,"obj":"btn", "x":210,"y":145,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE438","text_font":24}
{"id":86,"obj":"label","x":270,"y":145,"w":80,"h":40,"parentid":7,"text":"0°C","text_font":24, "align": "right"}
{"id":74,"obj":"label","x":20,"y":190,"w":110,"h":40,"parentid":7,"text":"Janne:","text_font":24}
{"id":87,"obj":"btn", "x":150,"y":190,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":88,"obj":"btn", "x":210,"y":190,"w":50,"h":40,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE438","text_font":24}
{"id":89,"obj":"label","x":270,"y":190,"w":80,"h":40,"parentid":7,"text":"0°C","text_font":24, "align": "right"}
{"id":90,"obj":"label","x":0,"y":235,"w":120,"h":40,"parentid":7,"text":"Eetkamer","text_font":24, "align": "center"}
{"id":91,"obj":"btn", "x":30,"y":280,"w":60,"h":60,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":92,"obj":"label","x":130,"y":235,"w":120,"h":40,"parentid":7,"text":"Living","text_font":24, "align": "center"}
{"id":93,"obj":"btn", "x":160,"y":280,"w":60,"h":60,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24}
{"id":94,"obj":"label","x":260,"y":235,"w":120,"h":40,"parentid":7,"text":"Bureau","text_font":24, "align": "center"}
{"id":95,"obj":"btn", "x":290,"y":280,"w":60,"h":60,"parentid":7,"border_color":"#848a94","border_width":1,"radius":5,"text":"#FFD700 \uE6E8","text_font":24} |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
pages.jsonl{"page":0,"id":1,"obj":"label","x":415,"y":0,"h":30,"w":62,"text":"00:00","align":"right","bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":0,"id":2,"obj":"label","x":5,"y":0,"h":30,"w":175,"text":"0000.00.00","align":"left","bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"page":0,"id":3,"obj":"label","x":180,"y":5,"h":30,"w":30,"text_font":"2","text":"\uE5A9","text_color":"gray","bg_opa":0,"border_width":0}
{"page":0,"id":5,"obj":"obj","swipe":1,"x":0,"y":0,"h":40,"w":480,"opacity":0,"comment":"swipe-area-at-top"}
{"page":1,"comment":"----------- page 1 ------- "}
{"id":200,"obj":"img","src":"L:/back6.png","w":480, "h":320}
{"id":1,"obj":"btn","x":0,"y":0,"w":480,"h":40,"text":"","value_font":24,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"bg_opa":0,"comment":"top_bar"}
{"id":2,"obj":"btn","x":15,"y":65,"w":140,"h":45,"toggle":false,"text":"--°C","value_font":48,"text_font":36,"mode":"break","align":1,"text_color":"#FFFFFF","bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":0,"comment":"temperatura dach"}
{"id":20,"obj":"label","x":15,"y":40,"h":20,"w":140,"text":"Południe","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":3,"obj":"btn","x":170,"y":65,"w":140,"h":45,"toggle":false,"text":"--°C","value_font":48,"text_font":36,"mode":"break","align":1,"text_color":"#FFFFFF","bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":0,"comment":"temperatura południe"}
{"id":21,"obj":"label","x":170,"y":40,"h":20,"w":140,"text":"Dach","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":4,"obj":"btn","x":15,"y":120,"w":140,"h":90,"toggle":false,"text":"--","text_font":"48","mode":"break","align":1,"border_width":0,"bg_opa":150,"comment":"brama"}
{"id":5,"obj":"btn","x":170,"y":120,"w":140,"h":90,"toggle":false,"text":"--","text_font":48,"mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":150,"comment":"all_lights"}
{"id":6,"obj":"btn","x":15,"y":220,"w":140,"h":90,"toggle":false,"text":"\uE81B","text_font":"48","mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray", "pad_top":40, "pad_inner":40, "margin_top":40,"border_width":0,"bg_opa":150,"comment":"furtka"}
{"id":8,"obj":"label","x":15,"y":222,"h":20,"w":140,"text":"Furtka","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":7,"obj":"btn","x":170,"y":220,"w":140,"h":90,"toggle":false,"text":"--","text_font":48,"mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":150,"comment":"światła_front"}
{"id":9,"obj":"label","x":170,"y":222,"h":20,"w":140,"text":"Front","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":10,"obj":"btn","x":325,"y":50,"w":140,"h":60,"toggle":false,"text":"--","value_font":48,"text_font":48,"mode":"break","align":1,"text_color":"#FFFFFF","bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":0, "comment":"pogoda"}
{"id":11,"obj":"btn","action":"next","x":325,"y":120,"w":140,"h":90,"toggle":false,"text":"--","text_font":"material48","mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":150,"comment":"taras"}
{"id":12,"obj":"btn","x":325,"y":220,"w":140,"h":90,"toggle":false,"text":"--","text_font":48,"mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":150,"comment":"alarm"}
{"id":13,"obj":"label","x":325,"y":122,"h":20,"w":140,"text":"Taras","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":14,"obj":"label","x":170,"y":122,"h":20,"w":140,"text":"All Lights","align":"center","text_color":"#FFFFFF","text_font":16}
{"page":2,"comment":"----------- page 2 ------- "}
{"id":200,"obj":"img","src":"L:/back6.png","w":480, "h":320}
{"id":1,"obj":"btn","action":"prev","x":5,"y":255,"w":130,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE141","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":2,"obj":"btn","action":"next","x":365,"y":255,"w":110,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE142","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":3,"obj":"btn","action":"back","x":140,"y":255,"w":220,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE2DC","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":10,"obj":"btn","x":0,"y":0,"w":480,"h":40,"text":"","value_font":24,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"bg_opa":0,"comment":"top_bar"}
{"id":4,"obj":"slider","x":25,"y":45,"w":350,"h":55,"enabled":true,"min":0,"max":100,"text":"Dach","border_width":0,"bg_opa00":220, "bg_opa20":0, "bg_color10":"#FAAC1B","bg_color00":"#1c1c1c", "bg_grad_color10":"#FAAC1B", "border_width10":0, "border_width20":0, "radius":25, "radius10":25, "radius20":25}
{"id":5,"obj":"btn","x":15,"y":150,"w":100,"h":50,"radius":10,"bg_color":"#6e6e6e","enabled":true,"border_color":"black","border_width":1,"text":"Pergola","text_color":"white"}
{"id":6,"obj":"switch","x":15,"y":105,"w":100,"h":40,"radius":20,"bg_color":"#6e6e6e","enabled":true,"border_color":"black","border_width":1}
{"id":7,"obj":"btn","x":120,"y":150,"w":95,"h":50,"radius":10,"bg_color":"#6e6e6e","enabled":true,"border_color":"black","border_width":1,"text":"Półki","text_color":"white"}
{"id":8,"obj":"switch","x":120,"y":105,"w":95,"h":40,"radius":20,"bg_color":"#6e6e6e","enabled":true,"border_color":"black","border_width":1}
{"id":9,"obj":"slider","x":415,"y":60,"w":55,"h":170,"enabled":true,"min":0,"max":100,"border_width":0,"bg_opa00":220, "bg_opa20":0, "bg_color10":"#FAAC1B","bg_color00":"#1c1c1c", "bg_grad_color10":"#FAAC1B", "border_width10":0, "border_width20":0, "radius":25, "radius10":25}
{"id":11,"obj":"btn","x":220,"y":105,"w":90,"h":95,"radius":10,"text_font":72,"bg_color":"#Gray","mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray"}
{"id":12,"obj":"btn","x":315,"y":105,"w":90,"h":95,"radius":10,"text":"-","text_font":72,"bg_color":"#Gray","mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray"}
{"page":3,"comment":"----------- page 3 ------- "}
{"id":200,"obj":"img","src":"L:/back6.png","w":480, "h":320}
{"id":1,"obj":"btn","action":"prev","x":5,"y":255,"w":130,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE141","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":2,"obj":"btn","action":"next","x":365,"y":255,"w":110,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE142","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":3,"obj":"btn","action":"back","x":140,"y":255,"w":220,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE2DC","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":4,"obj":"btn","x":0,"y":0,"w":480,"h":40,"text":"","value_font":24,"bg_color":"#2C3E50","text_color":"#FFFFFF","radius":0,"border_side":0,"bg_opa":0,"comment":"top_bar"}
{"id":5,"obj":"label","x":280,"y":5,"h":30,"w":120,"text":"\uE4C3 : --%","text_color":"gray","bg_opa":0,"border_width":0, "bg_color":"#2C3E50","text_color":"#FFFFFF"}
{"id":8,"obj":"label","x":15,"y":182,"h":20,"w":140,"text":"Nowy Swiat","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":9,"obj":"label","x":170,"y":182,"h":20,"w":140,"text":"357","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":11,"obj":"btn","x":325,"y":60,"w":65,"h":90,"toggle":false,"text":"\uE580","text_font":48,"mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":0}
{"id":19,"obj":"btn","x":400,"y":60,"w":65,"h":90,"toggle":false,"text":"\uE57E","text_font":48,"mode":"break","align":1,"bg_color":"Gray","bg_grad_color":"Gray","border_width":0,"bg_opa":0}
{"id":15,"obj":"label","x":325,"y":182,"h":20,"w":140,"text":"Baobab","align":"center","text_color":"#FFFFFF","text_font":16}
{"id":16,"obj":"img","src":"L:/new_off.bin","x":15,"y":160}
{"id":17,"obj":"img","src":"L:/357_off.bin","x":170,"y":160}
{"id":18,"obj":"img","src":"L:/baobab_off.bin","x":325,"y":160}
{"page":4,"comment":"----------- page 4 ------- "}
{"id":200,"obj":"img","src":"L:/back6.png","w":480, "h":320}
{"id":1,"obj":"btn","action":"prev","x":5,"y":255,"w":130,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE141","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":2,"obj":"btn","action":"next","x":365,"y":255,"w":110,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE142","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":3,"obj":"btn","action":"back","x":140,"y":255,"w":220,"h":60,"radius":10,"bg_color":"#6e6e6eff","enabled":true,"border_color":"black","border_width":1,"text":"\uE2DC","text_color":"white","text_font":48,"border_width":0,"bg_opa":0}
{"id":4,"obj":"label","x":15,"y":50,"h":40,"w":180,"text":"Woda główny:","align":"right","text_color":"#FFFFFF","text_font":32}
{"id":5,"obj":"label","x":15,"y":100,"h":40,"w":180,"text":"Woda ogród:","align":"right","text_color":"#FFFFFF","text_font":32}
{"id":6,"obj":"label","x":220,"y":50,"h":40,"w":180,"text":"----","align":"left","text_color":"#FFFFFF","text_font":32}
{"id":7,"obj":"label","x":220,"y":100,"h":40,"w":180,"text":"----","align":"left","text_color":"#FFFFFF","text_font":32} configuration.yamlhasp1:
objects:
- obj: "p0b1" # time label on all pages
properties:
"text": '{{ states("sensor.time") }}'
- obj: "p0b2" # date label on all pages
properties:
"text": >
{% set input = as_datetime(states('sensor.date')) %}
{% set months = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"] %}
{{ input.strftime('%d ') + months[input.strftime('%m') | int - 1] }}
- obj: "p0b3"
properties:
"text_color": "{% if -30 <= state_attr('openhasp.hasp_1','rssi') |int(0) %}green{% elif -31 > state_attr('openhasp.hasp_1','rssi') |int(0) >= -50 %}orange{% elif -51 > state_attr('openhasp.hasp_1','rssi') |int(0) >= -80 %}tomato{% else %}red{% endif %}"
- obj: "p1b2" # Temperatura południe
properties:
"text": '{% if states("sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2") != "unknown" and states("sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2") != "unavailable" %}{{ states("sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2") | round(1) }}°C{% else %}--{% endif %}'
"bg_color": "{% if states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 0 %}blue{% elif 0 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 4 %}Aqua{% elif 4 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 15 %}Khaki{% elif 15 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 25 %}green{% elif 25 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 30 %}yellow{% else %}red{% endif %}"
"bg_grad_color": "{% if states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 0 %}blue{% elif 0 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 4 %}Aqua{% elif 4 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 15 %}Khaki{% elif 15 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 25 %}green{% elif 25 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 30 %}yellow{% else %}red{% endif %}"
# "text_color": "{% if states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 0 %}#FFFFFF{% elif 0 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 4 %}#000000{% elif 4 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 15 %}#000000{% elif 15 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 25 %}#FFFFFF{% elif 25 < states('sensor.qubino_goap_zmnhbdx_flush_2_relays_temperature_2') |int(0) <= 30 %}#000000{% else %}#FFFFFF{% endif %}"
- obj: "p1b3" # Temperatura stacja pogodowa
properties:
"text": '{% if states("sensor.outdoor_temperature") != "unknown" and states("sensor.outdoor_temperature") != "unavailable" %}{{ states("sensor.outdoor_temperature") | round(1) }}°C{% else %}--{% endif %}'
"bg_color": "{% if states('sensor.outdoor_temperature') |int(0) <= 0 %}blue{% elif 0 < states('sensor.outdoor_temperature') |int(0) <= 4 %}Aqua{% elif 4 < states('sensor.outdoor_temperature') |int(0) <= 15 %}Khaki{% elif 15 < states('sensor.outdoor_temperature') |int(0) <= 25 %}green{% elif 25 < states('sensor.outdoor_temperature') |int(0) <= 30 %}yellow{% else %}red{% endif %}"
"bg_grad_color": "{% if states('sensor.outdoor_temperature') |int(0) <= 0 %}blue{% elif 0 < states('sensor.outdoor_temperature') |int(0) <= 4 %}Aqua{% elif 4 < states('sensor.outdoor_temperature') |int(0) <= 15 %}Khaki{% elif 15 < states('sensor.outdoor_temperature') |int(0) <= 25 %}green{% elif 25 < states('sensor.outdoor_temperature') |int(0) <= 30 %}yellow{% else %}red{% endif %}"
# "text_color": "{% if states('sensor.outdoor_temperature') |int(0) <= 0 %}#FFFFFF{% elif 0 < states('sensor.outdoor_temperature') |int(0) <= 4 %}#000000{% elif 4 < states('sensor.outdoor_temperature') |int(0) <= 15 %}#000000{% elif 15 < states('sensor.outdoor_temperature') |int(0) <= 25 %}#FFFFFF{% elif 25 < states('sensor.outdoor_temperature') |int(0) <= 30 %}#000000{% else %}#FFFFFF{% endif %}"
- obj: "p1b4" # Brama
properties:
"val": '{{ 1 if states("cover.brama") == "closed" else 0 }}'
"text": '{{ "\uF2D3" if is_state("cover.brama", "closed") else "\uF2D4" | e }}'
# "text": '{{ "\uF0299" if is_state("cover.brama", "closed") else "\uF116A" | e }}'
# "text": '{{ "\uF12D3" if is_state("cover.brama", "closed") else "\uF12D4" | e }}'
"bg_color": '{{ "Red" if is_state("cover.brama", "open") else "Green" | e }}'
"bg_grad_color": '{{ "Red" if is_state("cover.brama", "open") else "Green" | e }}'
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"up":
- service: homeassistant.toggle
entity_id: "cover.brama"
- obj: "p1b5" # Wszystkie światła
properties:
"val": '{{ 1 if states("group.all_lights") == "on" else 0 }}'
"text": '{{ "\uE6E8" if is_state("group.all_lights", "on") else "\uE335" | e }}'
"bg_color": '{{ "Gray" if is_state("group.all_lights", "off") else "Green" | e }}'
"bg_grad_color": '{{ "Gray" if is_state("group.all_lights", "off") else "Green" | e }}'
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.all_lights"
# - obj: "p1b6" # Światła - drzewa
# properties:
# "val": '{{ 1 if states("switch.qubino_goap_zmnhbdx_flush_2_relays_switch_2") == "on" else 0 }}'
# "text": '{{ "\uE406" if is_state("switch.qubino_goap_zmnhbdx_flush_2_relays_switch_2", "on") else "\uE406" | e }}'
# "bg_color": '{{ "Gray" if is_state("switch.qubino_goap_zmnhbdx_flush_2_relays_switch_2", "off") else "Green" | e }}'
# "bg_grad_color": '{{ "Gray" if is_state("switch.qubino_goap_zmnhbdx_flush_2_relays_switch_2", "off") else "Green" | e }}'
# "enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
# event:
# "up":
# - service: homeassistant.toggle
# entity_id: "switch.qubino_goap_zmnhbdx_flush_2_relays_switch_2"
- obj: "p1b6" # Furtka
properties:
"val": '{{ 1 if states("switch.gate_switch_2") == "on" else 0 }}'
"text": '{{ "\uE81B" if is_state("switch.gate_switch_2", "off") else "\uE81C" | e }}'
"bg_color": '{{ "Green" if is_state("switch.gate_switch_2", "off") else "Red" | e }}'
# "bg_color": '{{ "white" if is_state("switch.gate_switch_2", "off") else "white" | e }}'
"bg_grad_color": '{{ "Green" if is_state("switch.gate_switch_2", "off") else "Red" | e }}'
# "bg_grad_color": '{{ "white" if is_state("switch.gate_switch_2", "off") else "white" | e }}'
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"down":
- service: button.press
entity_id: "button.gate_furtka"
- obj: "p1b7" # Światła - ogród front
properties:
"val": '{{ 1 if states("switch.outdoor_front_lights") == "on" else 0 }}'
"text": '{{ "\uE8DD" if is_state("switch.outdoor_front_lights", "on") else "\uE8DD" | e }}'
"bg_color": '{{ "Gray" if is_state("switch.outdoor_front_lights", "off") else "Green" | e }}'
"bg_grad_color": '{{ "Gray" if is_state("switch.outdoor_front_lights", "off") else "Green" | e }}'
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.outdoor_front_lights"
- obj: "p1b10" # Pogoda ikona
properties:
"text": "{% if states('weather.home') == 'clear_night' %}\uE594{% elif states('weather.home') == 'cloudy' %}\uE590{% elif states('weather.home') == 'fog' %}\uE591{% elif states('weather.home') == 'lightning_rainy' %}\uE67E{% elif states('weather.home') == 'partlycloudy' %}\uE595{% elif states('weather.home') == 'pouring' %}\uE596{% elif states('weather.home') == 'rainy' %}\uE597{% elif states('weather.home') == 'snowy' %}\uE598{% elif states('weather.home') == 'snowy_rainy' %}\uE67F{% else %}\uE599{% endif %}"
- obj: "p1b11" # Światła - taras
properties:
"val": '{{ 1 if states("switch.taras_lights") == "on" else 0 }}'
"text": '{{ "\uEA47" if is_state("switch.taras_lights", "on") else "\uEA47" | e }}'
"bg_color": '{{ "Gray" if is_state("switch.taras_lights", "off") else "Green" | e }}'
"bg_grad_color": '{{ "Gray" if is_state("switch.taras_lights", "off") else "Green" | e }}'
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.taras_lights"
- obj: "p1b12" # Stan alarmu
properties:
"text": "{% if states('switch.alarm_armed') == 'off' %}\uEFC6{% else %}\uE33E{% endif %}"
"text_color": "{% if states('group.allpersons') == 'home' %}White{% elif states('switch.alarm_armed') == 'off' %}Green{% else %}Red{% endif %}"
"bg_color": "{% if states('group.allpersons') == 'not_home' %}Gray{% elif states('switch.alarm_armed') == 'off' %}Green{% else %}Red{% endif %}"
"bg_grad_color": "{% if states('group.allpersons') == 'not_home' %}Gray{% elif states('switch.alarm_armed') == 'off' %}Green{% else %}Red{% endif %}"
"enabled": "{{ false if states('input_boolean.hasp1_locked') == 'on' else true }}"
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.alarm_armed"
- obj: "p2b4" # Cover: refleksola
properties:
"val": >
{% if (state_attr('cover.taras_dach','current_position') != none and states('cover.taras_refleksola') not in ['unavailable', 'unknown']) %}
{{ state_attr('cover.taras_dach','current_position') | int(default=100) }}
{%-endif %}
event:
"up":
- service: cover.set_cover_position
data:
position: "{{ val | int }}"
target:
entity_id: cover.taras_dach
- obj: "p2b9" # Cover: refleksola
properties:
"val": >
{% if (state_attr('cover.taras_refleksola','current_position') != none and states('cover.taras_refleksola') not in ['unavailable', 'unknown']) %}
{{ state_attr('cover.taras_refleksola','current_position') | int(default=100) }}
{%-endif %}
event:
"up":
- service: cover.set_cover_position
data:
position: "{{ val | int }}"
target:
entity_id: cover.taras_refleksola
- obj: "p2b5" # Pergola Switch
properties:
"val": '{{ 1 if is_state("light.taras_gora", "on") else 0 }}'
# "text": '{{ "\uE6E8" if is_state("light.taras_gora", "on") else "\uE335" | e }}'
event:
"down":
- service: homeassistant.toggle
entity_id: "light.taras_gora"
- obj: "p2b6" # Pergola Switch
properties:
"val": '{{ 1 if is_state("light.taras_gora", "on") else 0 }}'
# "text": '{{ "\uE6E8" if is_state("light.taras_gora", "on") else "\uE335" | e }}'
event:
"down":
- service: homeassistant.toggle
entity_id: "light.taras_gora"
- obj: "p2b7" # Półki Switch
properties:
"val": '{{ 1 if is_state("light.taras_channel_2", "on") else 0 }}'
# "text": '{{ "\uE6E8" if is_state("light.taras_channel_2", "on") else "\uE335" | e }}'
event:
"down":
- service: homeassistant.toggle
entity_id: "light.taras_channel_2"
- obj: "p2b8" # Półki Switch
properties:
"val": '{{ 1 if is_state("light.taras_channel_2", "on") else 0 }}'
# "text": '{{ "\uE6E8" if is_state("light.taras_channel_2", "on") else "\uE335" | e }}'
event:
"down":
- service: homeassistant.toggle
entity_id: "light.taras_channel_2"
- obj: "p2b11" # Rain sensor Aquara
properties:
"text": '{{ "\uE597" if is_state("binary_sensor.water_leak_1_water_leak", "on") else "\uE599" | e }}'
"bg_color": '{{ "Red" if is_state("binary_sensor.water_leak_1_water_leak", "on") else "Green" | e }}'
"bg_grad_color": '{{ "Red" if is_state("binary_sensor.water_leak_1_water_leak", "on") else "Green" | e }}'
- obj: "p3b11" # Volume Down
event:
"down":
- service: media_player.volume_down
entity_id: "media_player.taras"
- obj: "p3b19" # Volume Up
event:
"down":
- service: media_player.volume_up
entity_id: "media_player.taras"
- obj: "p3b5" # Volume Level
properties:
"text": '{{ "\uE4C3 "+"--%" if (state_attr("media_player.taras", "volume_level") == none) else "\uE4C3 " + (state_attr("media_player.taras", "volume_level") * 100) | int(0) | string +"%" }}'
- obj: "p3b16" # Image: Radio Nowy Świat
properties:
"src": '{{ "L:/new.bin" if is_state("switch.nowyswiat_taras", "on") else "L:/new_off.bin" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.nowyswiat_taras"
- obj: "p3b7" # Radio 357
properties:
"val": '{{ 1 if states("switch.radio357_taras") == "on" else 0 }}'
"text": '{{ "\uE4C3" if is_state("switch.radio357_taras", "on") else "\uE4C3" | e }}'
"bg_color": '{{ "Gray" if is_state("switch.radio357_taras", "off") else "Green" | e }}'
"bg_grad_color": '{{ "Gray" if is_state("switch.radio357_taras", "off") else "Green" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.radio357_taras"
- obj: "p3b17" # Image: Radio 357
properties:
"src": '{{ "L:/357.bin" if is_state("switch.radio357_taras", "on") else "L:/357_off.bin" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.radio357_taras"
- obj: "p3b12" # Radio Baobab
properties:
"val": '{{ 1 if states("switch.baobab_taras") == "on" else 0 }}'
"text": '{{ "\uE4C3" if is_state("switch.baobab_taras", "on") else "\uE4C3" | e }}'
"bg_color": '{{ "Gray" if is_state("switch.baobab_taras", "off") else "Green" | e }}'
"bg_grad_color": '{{ "Gray" if is_state("switch.baobab_taras", "off") else "Green" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.baobab_taras"
- obj: "p3b18" # Image: Radio Baobab
properties:
"src": '{{ "L:/baobab.bin" if is_state("switch.baobab_taras", "on") else "L:/baobab_off.bin" | e }}'
event:
"up":
- service: homeassistant.toggle
entity_id: "switch.baobab_taras"
- obj: "p4b6" # Woda główny
properties:
"text": '{{ states("sensor.water_total") | round(0) | string + " m³" }} '
- obj: "p4b7" # Woda ogród
properties:
"text": '{{ states("sensor.water_garden_total") | round(0) | string + " m³" }}'
|
Beta Was this translation helpful? Give feedback.
-
guition esp32 s3 4848s040only just discovered openHASP and started playing around with it, but already love what it can do on a £20 device and will have to get more of them. |
Beta Was this translation helpful? Give feedback.
-
Still early days in my learning of openHASP but I love tinkering at the pixel level. UPDATE : New screenshot, decided to get rid of AI generated weather commentary and replace with 3 day forecast. Spent ages pixel pushing screenshots in photoshop to get everything nicely lined up. Needed to add a template sensor to extract the required values from the weather forecast. configuration.yaml.txt |
Beta Was this translation helpful? Give feedback.
-
Quite simple, but very effective guition I installed near the entry door to our camper. Provides controls for all lights, fans, TVs, etc. Additionally, it provides status in the top right corner for propane tanks, water tanks, battery charge/status and shore power availability. The status icons will turn yellow then red based on remaining fuel/fluid/battery. The battery icon also changes depending on SOC - charging/discharging and percent charged. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Showcase your favorite layouts built with openHASP!
Put your JSONL code in a block like this:
Put your YAMLcode in a block like this:
It will show up as expandable sections:
pages.jsonl
{Your JSONL code goes here...}
configuration.yaml
{Your YAML code goes here...}
Beta Was this translation helpful? Give feedback.
All reactions