|
|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:, T$ Q( o. Z) h7 l9 n. x
- name: dsm7 G0 a. B+ Q" e% [
- platform: ESP8266
/ [4 P6 {" W+ O) l' i$ k4 H - board: nodemcuv28 g3 @+ ~5 e. \$ u1 o1 C
- - ]# U# l2 U# y- b( Q$ `; v! J$ V
- wifi:* P# X$ w8 Y7 w. n
- ssid: "xxxxxxxxxx"
4 b9 R5 @0 M: c4 @ - password: "xxxxxxxxxxx"
6 t+ X$ G+ _# e
* S, }( [' u% k: t( X; B# U- # Enable fallback hotspot (captive portal) in case wifi connection fails7 a0 o: Q% \4 ]6 |2 X0 V% R3 w
- ap:
$ r$ O L4 o2 u4 q - ssid: "nas66.com"3 Z* x5 |! O" a" t( S! S
- password: "nas66.com"
- J t: e0 E; ` X U/ L9 p - 8 k3 n J# Q) k$ h
- captive_portal:4 M! z2 h6 {* o+ Q
- ; g: o! J6 [9 D# H5 A6 @
- # Enable logging. H0 T, I0 u' q5 I' O
- logger:
+ P/ I( o) S) a6 U - 7 s @0 f, d2 r: K e# V- \1 {; p" A
- # Enable Home Assistant API
/ @! p9 N8 ~) T1 p) f; W3 v - api:
1 _) V# s. _4 {" y% c4 Y - 7 c: S1 M- V, X) [
- i2c:8 R7 L3 R; \" {+ C/ W
- sda: D2
4 l' L0 ?/ l0 R2 i - scl: D40 N1 V! ~, ?' B' }3 x1 s
- ! L5 G5 N: J. L6 {! o/ j7 f
- image: D9 y( H8 ^5 P! ~3 ~( f: o n( N
- - file: "logo.png"
* {8 o: x8 y2 G0 l6 o( r) f8 t# c - id: my_image
! {( P( H% t; k% E - resize: 128x64$ N. o+ i0 v* _
- 8 E- D& m8 a5 R7 F2 |/ M
- time:. U8 ^% }) Z- P
- - platform: sntp: I4 B* o% a$ m
- id: sntp_time
4 G; \# Q: c7 x- {4 M7 j8 E - timezone: Asia/Shanghai- i7 t+ J* x3 b
4 Y( e8 ], m9 j/ w/ P- display:
& W' p8 y7 i* S& S - - platform: ssd1306_i2c
$ P; P2 K0 S: _, M - model: "SSD1306 128x64"- ?$ b5 R3 N7 v0 ?
- id: "ssd1306"
3 b. {# e* W/ P. ^. h - reset_pin: D04 S7 F! l5 a& {; O3 N
- address: 0x3C' J% f% y6 x. t& o3 ?
- rotation: 180- g$ y8 o6 u/ i( r2 z
- brightness: 30%
. i2 @/ k! F* I( V G5 O
9 o* f7 j3 C' a6 N3 z- pages:
7 d: b* k8 j% C. q - # - id: page1$ `2 `+ E5 A8 ~9 l0 l; G3 ]
- # lambda: |-# ]- \5 P7 ~' t6 P# Q v
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
6 G, W) G, s8 Z; ^2 U( B& H9 b
+ Y# R& E8 N+ N9 R. i1 J. w- - id: page1
8 ~# Y* F; T4 R1 f) @ - lambda: |-
( b5 n* z" g v+ P& u - it.print(47, 0, id(font2), "Info");
( i8 z! P7 p7 }9 W; x! A- V+ P - it.line(0, 22, 128, 22);
. q6 ?- y9 u9 i) z& n" ~1 m - it.line(0, 23, 128, 23);. f7 |& q! E( Z4 I
- it.line(0, 24, 128, 24);
5 c8 C5 [' g8 e% a5 j' c/ h6 R8 b- M - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);5 u: l6 h4 i7 e2 Y) o' O/ @
. i+ j4 ]! i) J" F- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);* f/ v. W* D# A
-
( V3 u4 B& W: L$ C - # it.rectangle(0, 0, 128, 64);/ S7 w9 [" J4 _1 ~
- - id: page2
; R' Q4 d/ S1 k/ ]7 {% S - lambda: |-3 o5 R L0 n0 i( b5 F
- it.print(0, 0, id(font2), "Network Speed");3 E) V7 Y9 p( w' d( ^' ^& F
- it.line(0, 22, 128, 22);, x* J3 {1 |3 A: S
- it.line(0, 23, 128, 23);
1 `9 Z# g P: m5 z# T. ?/ y4 ? - it.line(0, 24, 128, 24);+ @6 u9 F) ]0 o, R3 {- ?7 M; J! X" U
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
5 a( c- I9 w# b* _! B - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
+ g! R0 D* M: b7 G% J( y# X' J - - id: page3
5 n J9 H2 A) j9 Q8 C# w) m - lambda: |-, F; D* K4 e8 M# r0 R" O1 h
- it.print(24, 0, id(font2), "Disk State ");
" `" ^1 c/ }2 P* e - it.line(0, 22, 128, 22);; u( @. |* h# c. t. C2 F
- it.line(0, 23, 128, 23);
l+ O" O. D9 m* X3 ^1 \ - it.line(0, 24, 128, 24);6 d6 a- P7 ^8 a$ K6 X3 x( |' |/ n
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());6 w* }. k& o8 b; |* H& G# k
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
* w7 U; u; l0 n) f4 m7 }, J6 w
8 Z' }% |+ Y, w* D" ~- # - id: page3$ f$ g L4 }1 W, N
- # lambda: |-
! |# G$ G) Q5 q - # it.print(0, 10, id(font3), "WOW!!!");
/ n. _1 q0 |. t - # - id: page4% l1 w9 B! e+ X n3 x' X- d
- # lambda: |-- Q7 V. A: r7 e; {: y% u
- # it.print(0, 10, id(font3), "Fantastic!!");; p( {7 W4 f; ?0 ?& w }
- # - id: page5
+ a; b* K) |0 T7 C5 O1 ~! W& X - # lambda: |-) H8 Z/ N6 k9 L1 G4 K$ X( d9 n
- # it.image(0, 0, id(my_image));
, u8 Q: o. i; G% P, N - - id: showtime5 {3 \ p. p- r* |+ R+ x
- lambda: |-
2 P+ ~. f" i0 Y; r - it.print(40, 0, id(font2), "Clock");
7 X h! L! j+ w - it.line(0, 22, 128, 22);
8 S2 Z4 H5 ~' k* K - it.line(0, 23, 128, 23);
8 @$ z) `; z. R5 e& ]6 M8 t( Y5 h - it.line(0, 24, 128, 24);
; n% u! w# e) u5 y: a - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());. k) {) W5 g6 t4 o, `8 S
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); / B2 L y+ k1 p% m
- ' h8 a& L4 a8 ^
- % g( H5 ~; X* ?% z* A
- ota:( A5 E" F# I( x
- , Q/ b d7 R; T2 _8 U% k
- sensor:8 S% M5 n, u5 a7 ~2 E2 f: Q
- - platform: homeassistant
2 @- F$ j3 w9 a: x4 H5 ?7 C0 E! u( y, \ - name: "dsm load"6 u2 I- L( m! R6 O2 B
- id: "cpu"
1 M0 \' ^3 C3 u. j f - entity_id: sensor.synology_dsm_cpu_load_total
8 X9 ?1 l4 b$ o" d" `- ]& T - ' Y5 ^% C2 V: k2 i/ A# ]0 N: B
- - platform: homeassistant
j2 t# p# }; Z( S; ~" X - name: "dsm down"8 r( U% N+ P- I' L6 L, d4 v; }1 D- V
- id: "down"4 X' |" K1 b7 X$ R1 t" {$ I
- entity_id: sensor.synology_dsm_network_down9 a, U3 t' K0 k6 o% c% y# u# D# t5 a
- 5 |" F6 p' q3 \4 B* z6 b
- - platform: homeassistant( D" C0 z; N( c, c5 ]' |8 `) D0 `
- name: "dsm up"
' e& f+ l# }, N - id: "up"
7 K0 | I/ U7 t5 a5 p5 t0 U - entity_id: sensor.synology_dsm_network_up9 e; S% q2 H- i! k0 v
- " i9 f# L6 y. r3 p5 A Q5 j
- - platform: homeassistant
) {: p. Y4 ^- Q+ L. f - name: "memory total"' M& l/ I1 p5 O7 L6 Q8 _4 s* I0 B
- id: "memorytotal"
$ k- O7 a$ W- }2 `/ H. k5 P - entity_id: sensor.synology_dsm_memory_size
) Y- I1 X: j% ~/ s, G3 g/ N - , X- p$ v7 j1 P" Y; `( A9 o
- - platform: homeassistant S- s% C4 u, H# O4 w4 m
- name: "memory usage"1 f) m5 p( F# A, F
- id: "memoryavailable"
( w% G/ k6 P! I, c% t! i) T - entity_id: sensor.synology_dsm_memory_available_real
" C1 @& s' S8 I, j, Z
6 \" Q' ~6 Z7 [7 L# ~8 N- - platform: homeassistant9 j2 }' } \) g& h: s" X. g
- name: "memory usage"( x& J# q" U) e' x' @: {
- id: "memoryusage"$ o+ q. K( r! D" h4 l9 F* F4 r
- entity_id: sensor.synology_dsm_memory_usage_real
& ]3 p/ ?% @) G) X8 p* r; w' Z - + r+ b( v- D6 a: {
+ \* W/ s4 ?; C- p- - name: "memoryused"
3 }6 @8 O4 y+ P& i v* O6 N - id: "memoryused"
: H: |" T) B4 t! _2 @2 \* P+ f& I3 P - platform: "template"
1 P0 R d; v; U6 |1 e$ s3 S - lambda: |-
: Z& {) I' d1 V& G - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;" z% t% t) P- `6 `1 K
- update_interval: 30s' `6 p8 ^9 v% }
, t1 v% G/ U2 l8 q& U5 g$ v- - platform: homeassistant% u& f) j" e0 ?
- name: "sdatemperature"& @6 |$ v3 V0 ~
- id: "sdatemp". ], ~3 S0 R; F; E+ b* u
- entity_id: sensor.synology_dsm_temperature_sda 5 F( N! M+ Y7 c6 o: }
- U/ X9 g2 X* C0 X# h. t
, Q' t* E, Z9 ?& n- text_sensor:
% U; T% ?7 Z% R( K2 E1 ` - - platform: homeassistant2 J3 N* X) S7 ~
- name: "sda total"
; w& j) d* g- [ c - id: "sdatotal"
& X# e, b' j0 d, n) g& R" S# e1 N8 k - entity_id: sensor.synology_dsm_total_size_volume_1
1 Q ? `" v" w* C( _# W - - platform: homeassistant4 O7 H$ n# _! [* f8 S; }
- name: "sda usage"6 [, P& Y: n3 P3 z
- id: "sdausage"' a) I9 l7 x1 ]5 n: [- \
- entity_id: sensor.synology_dsm_used_space_volume_1
! ` B# C, A+ ?* m. g: `5 I
5 ?. y6 W2 b( N, c4 r. k- binary_sensor:7 g$ C, q- r k9 B- M2 y
- - platform: homeassistant7 u8 g: k$ _/ j4 y' v. Q, M5 D
- name: "sec"
5 @7 D( V2 ?8 `" n - id: "sec"& H+ U- p: ]4 @& a
- entity_id: input_boolean.sec_office, b. z! S$ a7 E* _" Y9 I# ?% u1 v8 S4 v
2 `: U( p O; e" |. x) }# |8 T- interval:
f( u+ h3 {6 L6 x# f: f - - interval: 10s+ n0 }% M0 q" H
- then:9 A& k/ J2 E3 F& ~% w: A
- - display.page.show_next: ssd1306! u: K; W l5 n3 M5 f5 ]! C
- #- component.update: my_display
+ \1 a0 S! ^. [* {( T! ]: H - font:
- d+ }) ~3 O) B! N - - file: 'arial.ttf'- d4 Q9 [# q# T/ D- M) S+ p
- id: font1
' K3 \9 `, b0 r+ u% U - size: 15
. Q8 {; I7 i; U M3 a8 C5 R - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"0 C. k4 D: y$ y* q/ I" D* ^% X
- - file: 'arial.ttf'
, \6 K9 e* c4 g8 E+ i$ r - id: font2
7 W3 Q' R7 B& ]/ l - size: 187 K' s. {3 G* ?
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"0 J: P0 f/ z. w" _6 w' ]7 g
- G6 W$ d9 p, E/ Z8 \: P
# \3 K. }7 A. i2 m( i% |8 f- - file: 'arial.ttf'
y0 M) f" y7 Y( l/ Y7 s - id: font3
2 T8 s9 ^5 h0 q! w( }; Q" q - size: 231 j, F- `4 t6 c0 C' z U2 c
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
: ^6 F% N w6 ~& P3 d
# g& x/ x1 a9 j1 u& W) y7 P
* H2 N: ?+ r" ]* S# _ |
|