|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:
% e' H- A1 ^% {0 ~0 U. C - name: dsm
`& S* {& w5 m& l/ E: w - platform: ESP8266: \+ ~- t: R, z' j5 D: d
- board: nodemcuv2, W1 x' e2 E- `) G7 j# n2 h$ G
- " \# {9 T+ G1 b/ o9 Y0 ?
- wifi:% z/ L' f2 |4 i) K" J4 p7 i
- ssid: "xxxxxxxxxx"
! C! z7 W4 s0 t) Y+ G - password: "xxxxxxxxxxx"9 @; I& a- R: x! i4 h* _3 G
0 W0 Y9 ~6 `0 w8 Y3 z& j- # Enable fallback hotspot (captive portal) in case wifi connection fails
$ m& U7 S9 w3 v& F* k8 @: [ - ap:1 _8 m0 n8 U- c* p: z4 ]
- ssid: "nas66.com"4 X9 M5 j+ @4 U# ]9 l& f
- password: "nas66.com"; I' [/ c8 ?8 J% L
+ x1 x; a. j& w. i d. h7 _- captive_portal:% P7 a& T1 @7 |4 e5 }8 x9 [/ H+ t0 E
- d# p* k- Z, Z' C- # Enable logging9 \4 L1 ~1 h6 ?; j7 q
- logger:
6 b) v. x2 {& O/ F! J
# U2 v2 ^; P4 a4 Y6 H, r- # Enable Home Assistant API6 s- R# K8 c% |1 Q3 U( q5 ~. D# X
- api:
3 j# Q* j6 G L8 I& h - ! ?+ K: u- m! R$ e1 \+ a" b1 |
- i2c:
% i5 `+ H( i: M3 X7 V- u+ W3 G - sda: D2
7 Z8 Z5 U# }' N4 r - scl: D4/ B! n7 W4 K7 X
7 o1 @/ C* O# q8 a" \8 C- image:4 F1 V8 d7 j& E+ t
- - file: "logo.png"
. Z' H8 m( v7 Z4 x% D5 X - id: my_image; I- w$ w* f' N5 ^: t6 C
- resize: 128x64
! U& w* U4 W; D8 q& V+ r
, g+ J3 L3 m4 }+ L5 P+ _, h( u7 F- time:
" t) ^0 n4 [8 h5 V0 i" c - - platform: sntp2 b6 @, X/ G8 r
- id: sntp_time0 X7 _7 A% K8 Y- t! z$ F) y# G9 M
- timezone: Asia/Shanghai
5 ^& B' s; @+ `$ j |
/ j+ X% o, F2 J- display:
' P8 I9 a2 z: e1 T" @" f. K - - platform: ssd1306_i2c
% f( g" I4 p, X1 Y" Z8 h6 N7 x# R - model: "SSD1306 128x64"" k7 c3 ~0 ]$ g6 x) I( A$ X
- id: "ssd1306"
. G3 H* t( g& ~ I* p0 q5 X - reset_pin: D0
4 G( B& Q" }# |/ K( H1 I1 n3 `! t - address: 0x3C e, d+ I/ _( W* r6 f) t! t
- rotation: 180
. v! ^1 [! m$ x, r6 V - brightness: 30%
" _) Y7 r k" R - 9 m' R6 ^* u# }
- pages:
4 i3 l3 X4 U, _1 x7 a j9 N6 q - # - id: page1
! Z) l; B, B" t% U. X. u+ _ - # lambda: |-
) M# F' X* e5 I7 o - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");" J. M; U4 O+ U5 X9 e6 Y* r0 q; Y) y
- Q5 a+ l- P0 R$ r) L1 R- - id: page1* U2 h3 p% _ W
- lambda: |-
* a+ G" c& m: J" E5 x4 N - it.print(47, 0, id(font2), "Info");
9 q* B1 e) a! @9 c! x - it.line(0, 22, 128, 22);8 W0 X4 c& t- V+ }2 }) c
- it.line(0, 23, 128, 23);
/ T9 h8 Z: c$ Z1 \. A - it.line(0, 24, 128, 24);
, e2 j2 \5 J& J - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);# q% g, ~. V5 R2 u
2 g: L( B, K# `- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
+ _2 n& U- D! h& F3 ? -
& f6 m( q+ R" `7 l3 a - # it.rectangle(0, 0, 128, 64);) k* v8 v5 ~: z6 v {
- - id: page24 Q8 |9 n8 E" o+ T
- lambda: |-
7 R) I% h% H% V9 v/ n) f7 }/ } - it.print(0, 0, id(font2), "Network Speed");% T, h Q/ z1 m; y
- it.line(0, 22, 128, 22);* E M" n1 Q! Z N
- it.line(0, 23, 128, 23);& @. ~/ Y& r8 I( `& E2 Y$ @
- it.line(0, 24, 128, 24);
8 {$ u! F$ V7 z& i' x - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);1 F8 v0 f( a0 z" T" E) O5 s; T
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
?, f8 y P7 J0 F9 @8 f$ s7 g) U - - id: page3* \7 N" Y: Y. \! X( o$ d
- lambda: |-$ ]9 Y, V/ \) R, T
- it.print(24, 0, id(font2), "Disk State ");4 q, j: i; B0 r. F
- it.line(0, 22, 128, 22);
% _9 a' e" c. @% L7 s' i2 R0 g0 l0 G4 K# t - it.line(0, 23, 128, 23);
5 [. r) R% U5 T2 a) K2 j - it.line(0, 24, 128, 24);
' W T4 K4 l+ m' d6 L - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());% _' s# ^, l8 f7 _0 x
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
! C% B: r6 a4 K5 F6 N" N - 8 I$ u9 c- y5 h, r
- # - id: page3
+ z; b# o9 T ^ S: |) Z% m6 T# c$ E - # lambda: |-# ?. _0 M) C3 c% y) ]. p
- # it.print(0, 10, id(font3), "WOW!!!");
* J& o. I5 L- L& s - # - id: page4' Z( R, `9 t W7 o5 O9 ]
- # lambda: |-
' e9 x+ J4 C+ g: \* U% t0 L& j0 n - # it.print(0, 10, id(font3), "Fantastic!!");
( S3 v: E# Z7 a4 p - # - id: page5 @! H& o+ _8 w
- # lambda: |-% n; O( |0 W* h8 b9 u
- # it.image(0, 0, id(my_image));7 B8 w2 q5 e2 m+ V) w3 |
- - id: showtime
1 T: o) ?& ]! a1 Q. h9 Z+ k7 X - lambda: |-5 r9 b) o( a) s1 E
- it.print(40, 0, id(font2), "Clock");/ |8 \2 N; {0 a& V5 h
- it.line(0, 22, 128, 22);
5 c: `$ b% o& v Z- _' @+ _ - it.line(0, 23, 128, 23);
4 K0 D- g3 V( _ - it.line(0, 24, 128, 24);
$ x' E; X9 l6 g+ J2 M9 _ - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
N, D; e7 t5 R# W* _7 O - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
; J$ d8 {. C& }
. h2 F4 n3 d* q' r I9 y- : [( t& C% g" a" Q% J: G2 h
- ota:) i3 g9 Z2 g0 |7 d$ Q( X
- 4 c' n# U9 r% F7 h) H
- sensor:0 [% f2 b. B3 L4 ~
- - platform: homeassistant
2 k% x/ P" K. X* q& H4 o6 i - name: "dsm load"
( A( N3 @3 u0 L* v) R! H2 q - id: "cpu"
3 d# W J. ?% K. ]# n# f - entity_id: sensor.synology_dsm_cpu_load_total
. n# }! q3 p: @1 I$ R3 v+ F
) ?6 X, K. E- @: L! d- - platform: homeassistant- m0 Q ` {) h4 J5 k6 ` c* g
- name: "dsm down"
" M6 l% ]" M% N9 m: B& p D0 g4 y - id: "down"# y% G+ O9 H, T
- entity_id: sensor.synology_dsm_network_down
$ n4 \! V& ~; c' C - 6 X# @' [. T2 M X* _4 s$ [
- - platform: homeassistant
- ~, a0 `5 |. M1 Q$ V) x8 ~ - name: "dsm up"
& J+ U& ?7 o3 ]0 |# F* Z - id: "up") @4 H' |, K) z
- entity_id: sensor.synology_dsm_network_up5 E9 ?: J0 {) J, B. S% U8 z
6 p: v0 h9 _0 Y2 s- - platform: homeassistant/ h/ j4 H- j/ D; ?$ `6 Y
- name: "memory total"7 }$ I8 [7 X4 z
- id: "memorytotal"% F% N; ?. ^7 W3 c* z+ l
- entity_id: sensor.synology_dsm_memory_size
$ o t0 y4 N9 h& e+ V; y
' Q& |" \2 }2 t' y1 Z- - platform: homeassistant
& _7 F2 t" Z, \( e0 q& m - name: "memory usage"
& H5 m5 X5 U- [3 K - id: "memoryavailable"' O( q; o$ e' J, X) d* T. f
- entity_id: sensor.synology_dsm_memory_available_real
5 b( e/ F7 S, M5 l4 \' }
6 E# z4 j/ E2 Y* d$ A- - platform: homeassistant5 Q0 s I! R/ Y$ ~) o
- name: "memory usage"# X3 X# a5 b* i
- id: "memoryusage"
, G. i* f8 K9 \/ C; ? ^2 O - entity_id: sensor.synology_dsm_memory_usage_real
( P0 O6 [; C2 g# D! g - # X, A! c4 d- h2 {( Y
5 a: \1 q. v3 ^5 _- - name: "memoryused"* W/ d8 f0 Z6 q: s! @
- id: "memoryused"
2 k4 ]- Y1 h7 }6 k& m7 y$ L - platform: "template"
! @$ j( `2 G. W, d - lambda: |-
% ?0 U+ b% J( }: m t8 h0 r/ v$ G - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;& e+ @6 @' y r# b3 o* y0 Z! M. w; s
- update_interval: 30s% c! Z; J) }7 {# _2 {; U( |
& o4 m# X* C. G+ y( m- - platform: homeassistant. a( e; r) {9 x6 C2 ? G$ t3 L% w
- name: "sdatemperature"
3 I( l$ `6 Q* N' J+ U, L. L! Z8 g" m - id: "sdatemp"
) E: d% Q* d6 v* w# k$ J - entity_id: sensor.synology_dsm_temperature_sda
& h9 z/ M& P. i( [( R+ \0 k7 Z. q - 3 n: @2 q+ R6 S
( M- a. S- @; ]1 W4 E- text_sensor:
3 t. L6 ~+ W% S' n - - platform: homeassistant( o: w! |3 [! ^: }8 n, ~6 w
- name: "sda total"
' r" @- I; {8 b5 ` - id: "sdatotal"
7 z5 D" G0 i2 P7 ?- [0 s. H$ { - entity_id: sensor.synology_dsm_total_size_volume_1
* N5 c) a3 V# u3 i+ o, X$ e% V* f - - platform: homeassistant$ i7 R8 M* D1 K6 E! P+ p. k
- name: "sda usage"8 @( d9 m1 ?6 Z: j7 c' V
- id: "sdausage"/ C5 J% D0 B' l: p
- entity_id: sensor.synology_dsm_used_space_volume_1
/ V4 D) p; a) m/ T1 S; g
% t% o; } ~" ?- binary_sensor:5 k7 Q' H, T/ J. t4 u
- - platform: homeassistant9 z- U. u5 n+ f" }3 b* W1 Z" N& J
- name: "sec"
8 s- c' ^$ G6 `* \ - id: "sec"
! o! |; |8 }& S! d - entity_id: input_boolean.sec_office6 s$ J D m9 O: M& A
- o; Q0 R7 n0 N- interval:! `( b7 ?8 u7 N6 R' v: T
- - interval: 10s1 s' b& N/ k6 N' H
- then:
8 L$ R# X% j! b% K$ H: x" l* e - - display.page.show_next: ssd1306
2 P/ [3 Q! I+ G - #- component.update: my_display3 ~" F8 j3 r6 Z4 ]
- font:
. }. D" }6 U9 _8 b! |; c6 t - - file: 'arial.ttf'
3 p+ M* T9 I9 Z6 u. P9 i- i' Y - id: font1
) _! A) L. ^, N X) ~) d - size: 15
: l/ v/ ~: F( t - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
* E6 {3 } W9 b K' }( w! V/ V: D' Z5 v - - file: 'arial.ttf'
" U' e4 ]' a' f - id: font2* E5 a2 g6 P; V4 c4 ^8 z
- size: 18
5 U' a' t! I$ x2 n - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
* u4 v9 V' r) o3 R2 h6 L5 f
) i: D4 t- E& ?
! y4 V. m- @" p" P/ P; G1 L- - file: 'arial.ttf'
$ [/ C7 P2 X1 K0 v+ s2 W5 T+ t - id: font3
3 Y5 p: s5 k2 i" Y - size: 23- \- q. O9 J! B9 `
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑0 J3 Q# k ?4 D" G% ^4 d
' f: G" V4 } i2 l7 U: b8 a6 y% s! p9 o
|
|