|
|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:; C- h) T9 b! T2 N8 j$ n
- name: dsm
( E% E! u6 T' u3 q) o# Q) B - platform: ESP8266 j# i* D6 O& G& s; s- [0 o( q
- board: nodemcuv2/ ]1 L% e4 p% Q. k7 h
( |/ R. d/ l6 `# D- wifi:! L2 ]! q. [2 ?8 t0 n* H
- ssid: "xxxxxxxxxx"/ ]; X% C( l* x" f; v
- password: "xxxxxxxxxxx"# h& m: Y. a3 L$ V
- : W1 I; H: T7 S
- # Enable fallback hotspot (captive portal) in case wifi connection fails
: F( V: Z0 x' Q - ap:) ^, [- ^/ v/ S: ~6 @" f# d7 J1 B
- ssid: "nas66.com"
/ S4 D3 C: I! s& G - password: "nas66.com"
+ e: Y4 @% M$ K7 Q - 4 T0 b! M! C2 H- t- w% ?5 e& v- f `
- captive_portal:, C0 M( X2 V8 |% p% y/ Q. J9 u2 p
- # b V# Y# z7 e) ~/ C: ^: L- |* U
- # Enable logging
~ I5 m- Y% h2 z5 U# V. k2 k! ~ - logger:1 d: s7 ]- M; k E- u5 [* m- h/ M7 G9 y$ E
- 5 c- d. F/ d. j: N4 E" [% ?: U
- # Enable Home Assistant API
- }2 E/ ~! P6 c1 k" ] - api:
8 n7 D+ Z! k0 ?+ x) P! T5 t - % B @3 c8 @+ W7 o8 N2 s: r
- i2c:
; q2 R0 @: T/ `' B2 a- I& }" ^ - sda: D2
" ~% [0 {( o4 W: F6 ?5 ^2 k - scl: D4
8 k# K2 q: b S* {! t
7 C8 d7 I; O2 ^- image:6 q0 x- `! v1 J* s J( t( B/ v k
- - file: "logo.png"
7 p) |4 l K J1 i1 Q - id: my_image
$ {9 x4 C+ @/ x2 b+ ^ - resize: 128x64
+ R- ]9 l1 z" ~
, K0 u a5 k: K: ^! H, N+ B- time:
! Z/ d+ o! R" D) e; s4 W) P$ i - - platform: sntp; J1 z: S: \, n, x3 R
- id: sntp_time; a' L u" p+ G1 h
- timezone: Asia/Shanghai
9 R& W& ~+ d/ i, S% z
: z: l$ Q5 e( ^- display:
# S& e0 f" q& p2 W* P3 t - - platform: ssd1306_i2c' b9 N9 O- K* q/ ?9 M8 z: T
- model: "SSD1306 128x64"' \5 R3 U, _; P# ^8 H5 r' F# J2 u& M
- id: "ssd1306"
: ~1 `, {" h9 | - reset_pin: D0 U' g/ ~; N1 K* g
- address: 0x3C/ ^2 }$ Y$ h4 {) J* @, v
- rotation: 180$ [- ~2 G S) y# k4 s
- brightness: 30%
) F! L9 s, l: G9 Q" E& N - ~( h% u% U- y" L* w! d
- pages:% f$ a: u) F8 G7 R) F, i% N
- # - id: page1
8 D# h4 y/ Z# n - # lambda: |-4 c L8 c$ Y4 ] b1 U1 b5 _
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
9 O2 ^! O: \: p3 n% | - 3 a9 C; X+ K- k% F4 i2 u
- - id: page17 k1 W- `, ~: a0 V( X5 I
- lambda: |-0 |9 s' f: j' V) s
- it.print(47, 0, id(font2), "Info");" [4 M; H+ u! b/ ?. f
- it.line(0, 22, 128, 22);
! j& U" u3 \2 ` - it.line(0, 23, 128, 23);/ \" Z* P# ~! K
- it.line(0, 24, 128, 24);
, a. x$ |& Q; Y) S: t5 N - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);2 h0 v) T6 g# N i
: J1 [4 C) x8 p" w* l- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);/ j" E( K @/ e |4 r
- ; N, a4 r$ p* C C/ n' e4 I' ?
- # it.rectangle(0, 0, 128, 64);8 S2 O+ s6 ?0 A1 s) y8 T8 u
- - id: page23 j5 | r0 G' C& g( k: h" r3 h
- lambda: |-
) A$ K5 G( W" X0 i6 S* T - it.print(0, 0, id(font2), "Network Speed");: \. I' K0 ~8 X. H2 { M
- it.line(0, 22, 128, 22);1 t% I8 m+ ]8 N( F/ _; d+ i
- it.line(0, 23, 128, 23);
" e" f( C% J% O U% V - it.line(0, 24, 128, 24);! L2 |4 F/ T* F: c8 c: c
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
5 C' _1 |/ c9 a# U - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
" a% V3 u2 V) ~) K4 `7 {- X - - id: page3* e1 q0 z- u3 S. D& c* |
- lambda: |-* W( E- Z' d& [- M7 A7 c* Q0 Y
- it.print(24, 0, id(font2), "Disk State ");
: {: g9 L- S* P, b2 p4 q" p% [. z s6 | - it.line(0, 22, 128, 22);; @! d6 `. X3 F, R
- it.line(0, 23, 128, 23);0 n7 z7 ~5 e$ c$ R% B ?9 z
- it.line(0, 24, 128, 24);8 F4 ?/ r F( {+ w
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str()); y7 P, H+ J. C
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);* c w; v# Q# v% [- F) n( r
; e9 f: b* C) I: |# h7 x F- t( W- # - id: page3. y* j* u; q: t4 o" B# U
- # lambda: |-* K4 C, Q. T3 ?5 g" j7 j0 K$ A+ f
- # it.print(0, 10, id(font3), "WOW!!!");- t0 r" a# Y' ^( d# D+ R
- # - id: page4
( J4 W6 I5 @+ A% a; D1 A - # lambda: |-. ~. Y( {9 P3 `
- # it.print(0, 10, id(font3), "Fantastic!!");* f/ m* e" t3 e/ [1 ~8 q
- # - id: page5; i' o. A0 t v5 V* V' D6 L; _: n
- # lambda: |-- _) o2 _9 V% X, a; p8 N" d
- # it.image(0, 0, id(my_image));
) Y& O: ^+ [ m: y6 q - - id: showtime, T1 j% _9 o- t9 T+ B! F7 h
- lambda: |-$ p: b2 h7 ?% }' M; s1 y, W7 ~
- it.print(40, 0, id(font2), "Clock");! p' N. |! g) S6 z- s) t4 j
- it.line(0, 22, 128, 22);
1 s* Z( F$ s% t% a: t8 P$ s# L2 P - it.line(0, 23, 128, 23);6 M) [( |* G e6 X+ E' i( }
- it.line(0, 24, 128, 24);
$ B. i' v2 e! [ - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
8 K- V: \7 n, [4 j - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
, [8 `* J+ j- v4 B2 h6 {$ A
" Z- W+ o `- D4 @+ _3 |0 v0 p; B% }- 9 k0 c+ a! h* A
- ota:" P% q0 s. M, N5 G4 Q1 v: n' \
- ) G& e4 w* C5 f5 ?' W8 L( Y/ ^
- sensor:
- m) j& z- H7 E ^5 O - - platform: homeassistant
8 t0 E2 C% J. ?9 r; ^$ L6 ]3 D - name: "dsm load"
6 b" f. j5 i; L2 ? - id: "cpu"- g( R) t# ]& B0 ~+ [; X, Y
- entity_id: sensor.synology_dsm_cpu_load_total
1 x1 E" Y9 a1 U: q6 H
" x8 X5 M2 Z7 b3 j [; ^/ j [- - platform: homeassistant5 ^- D& y- a) g* P
- name: "dsm down"
! ?- G% c; \0 V) m/ X! p0 P - id: "down"2 I1 E% k% h* Z( y: z% B% t" y
- entity_id: sensor.synology_dsm_network_down
1 ~1 E6 M" u% H! R- C2 n - 8 f) c) C9 `2 [
- - platform: homeassistant
6 T+ q- P5 A" g2 F8 ] - name: "dsm up"/ f+ w5 \. @$ F) c1 F
- id: "up"; i! U' j9 d' t
- entity_id: sensor.synology_dsm_network_up' O0 h' P {" J# T; I! f" ]4 w
& s( v( \- ], e5 A6 P) J8 m- - platform: homeassistant
* G3 w3 C7 n w; H - name: "memory total") l, {8 h F1 G
- id: "memorytotal"
$ ]& Z; s0 e" j - entity_id: sensor.synology_dsm_memory_size% x x5 z( x- \* N, r
- 7 Q) s. B' x1 \% o
- - platform: homeassistant
! r) r$ o" V* k! j5 h4 p6 _ - name: "memory usage"; ^) K3 v& b3 l* C- q5 l
- id: "memoryavailable"
" y) g# Y/ g+ A. M! z, q - entity_id: sensor.synology_dsm_memory_available_real: G' M3 v ~2 U
V5 r. Q" A: P! T- - platform: homeassistant
I5 L4 _0 W& p0 I - name: "memory usage". |" f+ @2 Y# C, v1 s# l7 _; k
- id: "memoryusage"
& t$ N* D" [" `( j6 m" Y2 h - entity_id: sensor.synology_dsm_memory_usage_real6 w0 f9 j' k2 G: m$ q) A
6 A# D9 n( Q" Y6 J- 4 `% |3 M( n% G( o# i7 r, y' U
- - name: "memoryused", Q# D: N; D# P4 f7 M
- id: "memoryused"
; {5 o w! X7 v( { - platform: "template"8 Q- b4 U7 Q6 z0 `0 p
- lambda: |-
* K7 v1 \1 G: {& c) j+ Q- Y - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;. n4 W8 a% L4 S5 z. W
- update_interval: 30s
, S1 Y( t2 {5 x- p8 k4 a
8 A. B! i' \5 F' i- - platform: homeassistant; z3 [$ N/ P |- R, G- g
- name: "sdatemperature"6 V! n& s/ q6 E V+ Z7 Z/ o
- id: "sdatemp"
6 I4 O0 s o2 T7 {4 r$ H1 k - entity_id: sensor.synology_dsm_temperature_sda ' D p: H" A4 n! H0 u( a
- # t5 d* k1 A3 ?+ H* j
- 6 ~6 S9 N, s, ^3 ~, D( ?
- text_sensor:
9 z% \8 h. {2 g2 q - - platform: homeassistant0 [3 b z! C$ j. o' R
- name: "sda total"% {; V5 W0 N, }7 z% @4 ?- y/ o
- id: "sdatotal"
/ s& Q+ P) |1 E - entity_id: sensor.synology_dsm_total_size_volume_1/ L" U2 r( r5 [ N* e9 Y. ~. Y3 R
- - platform: homeassistant" M/ ?/ w+ }4 K' [% U
- name: "sda usage"2 t1 E$ J# e' G1 ]- D
- id: "sdausage"
, `3 i9 s% ?6 r7 ^/ Q1 U - entity_id: sensor.synology_dsm_used_space_volume_1 ' Y# m: B; Z; p! I- V1 @8 Z
- " Z p9 h6 |! o& B& |! A
- binary_sensor:
3 ?1 C( F' \! R - - platform: homeassistant/ X. Y9 K$ }: F; H4 ] `
- name: "sec"4 M9 d, A Q" P/ g2 r% ~
- id: "sec"
) l' |: z# r4 t+ K" I( Y - entity_id: input_boolean.sec_office0 |6 ^( S$ A' i- K
: K8 L' f1 g% K- interval:
/ q3 m' C/ r k V3 T7 u9 p" U - - interval: 10s4 K) \. _ b( X4 Z* e3 C! |& C
- then: v: _% X: d' U- Y- s! I) F; Z& Y
- - display.page.show_next: ssd1306
' t6 j6 v! Q7 B9 Q& L - #- component.update: my_display, J- e# P' l1 B0 O2 A
- font:
, k/ P) P; `2 O J# p - - file: 'arial.ttf'' ], d6 b1 b4 _4 F7 h, a8 ^: Q
- id: font1
& M+ l/ z) d: O - size: 15
& M. ]" ^" z; [3 M" b) m - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
3 L% ^% n+ c8 D% K8 q - - file: 'arial.ttf'; x7 @/ o1 r* Y, y3 Z! t
- id: font2' M7 q {9 {3 M+ H0 \+ C
- size: 18. C# w8 o% u. ^- Z( K4 t3 t0 p
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
+ I5 _2 b3 w; W) I* P; y2 Y4 `
5 N+ E, A% ^) A u
; \: V W; t6 J$ g* c4 I- - file: 'arial.ttf'
; `; G R: r. `( @5 N* q1 J - id: font3" j5 b; V G& r: ^8 g; D; E
- size: 23
* W9 T7 `# H+ J9 L# Q) _, m5 E - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
' {/ d; F: T: B- Q8 j: e2 U8 N) Z
3 V: u6 I4 a; m2 c# I5 M* v
3 f( q, W% m" m! j( V O+ {2 u L7 f |
|