1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
| binary_sensor:
- id: !extend base_j2_btn_left
on_click:
- display.page.show_previous: display_j2_main
- component.update: display_j2_main
- display.page.show_previous: display_j3_Left
- component.update: display_j3_Left
- display.page.show_previous: display_j3_Right
- component.update: display_j3_Right
- id: !extend base_j2_btn_right
on_click:
- display.page.show_next: display_j2_main
- component.update: display_j2_main
- display.page.show_next: display_j3_Left
- component.update: display_j3_Left
- display.page.show_next: display_j3_Right
- component.update: display_j3_Right
display:
- id: !extend display_j2_main
update_interval: 30s
pages:
- id: page1
lambda: |-
//>>> make a border arround the display
it.filled_rectangle( 0, 0, 320, 3, id(red));
it.filled_rectangle( 0, 0, 3, 240, id(red));
it.filled_rectangle( 0, 237, 320, 3, id(red));
//it.filled_rectangle( 0, 206, 320, 3, id(red));
it.filled_rectangle(317, 0, 3, 240, id(red));
//
//>>> prev/next icons next to butotns
it.image(0, 208, id(icon_prev_page), ImageAlign::TOP_LEFT, id(orange));
it.image(320, 208, id(icon_next_page), ImageAlign::TOP_RIGHT, id(orange));
//
//>>> temperature inside:
it.image(36, 15, id(icon_temp_inside), ImageAlign::TOP_CENTER, id(orange));
it.printf(36, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(inside_temperature).state);
//
//>>> vertical line:
it.filled_rectangle(70, 0, 3, 115, id(red));
//
//>>> print time and date
it.strftime(160, 5, id(font_clock), TextAlign::TOP_CENTER, "%H:%M", id(datetime).now());
it.strftime(160, 80, id(font_date), TextAlign::TOP_CENTER, "%d-%m-%Y", id(datetime).now());
//
//>>> vertical line:
it.filled_rectangle(250, 0, 3, 115, id(red));
//
//>>> outside temperature
it.image(285, 15, id(icon_temp_outside), ImageAlign::TOP_CENTER, id(orange));
it.printf(285, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(outside_temperature).state);
//
//>>> horizontal line:
it.filled_rectangle(0, 115, 320, 3, id(red));
it.print(100, 160, id(font_arial20), "This is page 1!");
- id: page2
lambda: |-
//>>> make a border arround the display
it.filled_rectangle( 0, 0, 320, 3, id(red));
it.filled_rectangle( 0, 0, 3, 240, id(red));
it.filled_rectangle( 0, 237, 320, 3, id(red));
//it.filled_rectangle( 0, 206, 320, 3, id(red));
it.filled_rectangle(317, 0, 3, 240, id(red));
//
//>>> prev/next icons next to butotns
it.image(0, 208, id(icon_prev_page), ImageAlign::TOP_LEFT, id(orange));
it.image(320, 208, id(icon_next_page), ImageAlign::TOP_RIGHT, id(orange));
//
//>>> temperature inside:
it.image(36, 15, id(icon_temp_inside), ImageAlign::TOP_CENTER, id(orange));
it.printf(36, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(inside_temperature).state);
//
//>>> vertical line:
it.filled_rectangle(70, 0, 3, 115, id(red));
//
//>>> print time and date
it.strftime(160, 5, id(font_clock), TextAlign::TOP_CENTER, "%H:%M", id(datetime).now());
it.strftime(160, 80, id(font_date), TextAlign::TOP_CENTER, "%d-%m-%Y", id(datetime).now());
//
//>>> vertical line:
it.filled_rectangle(250, 0, 3, 115, id(red));
//
//>>> outside temperature
it.image(285, 15, id(icon_temp_outside), ImageAlign::TOP_CENTER, id(orange));
it.printf(285, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(outside_temperature).state);
//
//>>> horizontal line:
it.filled_rectangle(0, 115, 320, 3, id(red));
it.print(100, 160, id(font_arial20), "This is page 2!");
- id: page3
lambda: |-
//>>> make a border arround the display
it.filled_rectangle( 0, 0, 320, 3, id(red));
it.filled_rectangle( 0, 0, 3, 240, id(red));
it.filled_rectangle( 0, 237, 320, 3, id(red));
//it.filled_rectangle( 0, 206, 320, 3, id(red));
it.filled_rectangle(317, 0, 3, 240, id(red));
//
//>>> prev/next icons next to butotns
it.image(0, 208, id(icon_prev_page), ImageAlign::TOP_LEFT, id(orange));
it.image(320, 208, id(icon_next_page), ImageAlign::TOP_RIGHT, id(orange));
//
//>>> temperature inside:
it.image(36, 15, id(icon_temp_inside), ImageAlign::TOP_CENTER, id(orange));
it.printf(36, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(inside_temperature).state);
//
//>>> vertical line:
it.filled_rectangle(70, 0, 3, 115, id(red));
//
//>>> print time and date
it.strftime(160, 5, id(font_clock), TextAlign::TOP_CENTER, "%H:%M", id(datetime).now());
it.strftime(160, 80, id(font_date), TextAlign::TOP_CENTER, "%d-%m-%Y", id(datetime).now());
//
//>>> vertical line:
it.filled_rectangle(250, 0, 3, 115, id(red));
//
//>>> outside temperature
it.image(285, 15, id(icon_temp_outside), ImageAlign::TOP_CENTER, id(orange));
it.printf(285, 85, id(font_arial20), id(white), TextAlign::BASELINE_CENTER , "%.1f°", id(outside_temperature).state);
//
//>>> horizontal line:
it.filled_rectangle(0, 115, 320, 3, id(red));
it.print(100, 160, id(font_arial20), "This is page 3!");
- id: !extend display_j3_Left
update_interval: never
pages:
- id: j3_l_page1
lambda: |-
it.image(80, 0, id(lightbulb), ImageAlign::TOP_CENTER, id(red));
- id: j3_l_page2
lambda: |-
it.image(80, 0, id(alert), ImageAlign::TOP_CENTER, id(orange));
- id: j3_l_page3
lambda: |-
it.image(80, 0, id(icon_temp_inside), ImageAlign::TOP_CENTER, id(white));
- id: !extend display_j3_Right
update_interval: never
pages:
- id: j3_r_page1
lambda: |-
it.image(80, 0, id(alert), ImageAlign::TOP_CENTER, id(red));
- id: j3_r_page2
lambda: |-
it.image(80, 0, id(lightbulb), ImageAlign::TOP_CENTER, id(orange));
- id: j3_r_page3
lambda: |-
it.image(80, 0, id(icon_temp_outside), ImageAlign::TOP_CENTER, id(white)); |