|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:, i: X" a! ^5 S- i# G8 l( _
- name: dsm
5 _& Y/ e" p& Y& p. \1 [ - platform: ESP8266
( |9 s# Q9 S! S) [) g8 A, i$ {% I - board: nodemcuv2( j& O9 ^/ n; _
- O5 n4 u H5 u- wifi:
V9 E; q" C- U( ? - ssid: "xxxxxxxxxx"
! g/ ?( o: D9 T - password: "xxxxxxxxxxx"
: S Q& F; b; x- [# X4 F
" g0 T# D/ G' k4 ^( e' ~- # Enable fallback hotspot (captive portal) in case wifi connection fails
+ U3 w3 o+ w/ a/ S+ H - ap:% ?; p5 X- @% ^- A
- ssid: "nas66.com"0 m- ]& G4 w7 d+ a9 B
- password: "nas66.com"8 \8 R$ i( S! z' I/ I) i
- 6 F3 T4 [1 n) _
- captive_portal:" g/ S# F3 W" a: x I9 N$ Y4 v
6 N0 t" P+ w& K& V- # Enable logging9 b; I: _. z. Q1 O2 L: B
- logger:3 F$ C6 ?; {3 u4 R& K
0 X) |- t) M. c- # Enable Home Assistant API
5 G6 a+ ~+ J$ |# {7 v - api:
/ D9 X: S4 s- s8 S1 x - ' @/ Z5 \1 B+ Y8 N4 H
- i2c:% N+ V) }' O2 R; C- _
- sda: D2
3 T- l: v! F' y7 |/ Y3 w) p9 R7 ~( d - scl: D4
# g# r- q3 O) ]- h4 |& A f - . n- g0 v6 p. ^
- image:
}3 D z1 [6 I2 ` - - file: "logo.png"
* I9 `; G# T1 W+ ] K# R0 t1 |! x - id: my_image
! }9 Y0 i# j# B0 s. j9 K - resize: 128x647 z" j0 I% z; u0 z- i! i$ V, A
0 P7 ^% A* g3 x& ^/ E. G- time:: H1 {: y) _9 F* S' l& M& a
- - platform: sntp+ R2 Q) L8 ?1 L/ n% u S' _
- id: sntp_time
M/ y+ @& ^( E - timezone: Asia/Shanghai
0 G6 O- i8 T. t8 k) r5 A! z
3 F$ [1 w4 [- G- display:
* t& u0 t$ k- X1 O1 c- v - - platform: ssd1306_i2c
! n( a( v6 H1 `7 U' g- F- f - model: "SSD1306 128x64"
J5 }" h' c* @$ \9 D% K3 C - id: "ssd1306"
`& o" H4 q, r5 H6 H' V. x) G - reset_pin: D0
1 @5 M8 V5 a6 x+ r: ]" Y - address: 0x3C
1 @1 I7 t- I1 k: @& \ - rotation: 180
. X# N% K- i6 B3 | - brightness: 30%
' v7 w% u- ^' X! C) a' L - & C: E4 T, K4 O4 z$ r7 g- J
- pages:+ m- {) [+ `, I% v, I
- # - id: page1
$ e) U% B$ H7 n$ C - # lambda: |-, ^0 ^; p8 w5 Y% ^
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
1 P9 S/ [. W9 h! F3 H0 C5 j1 |0 d9 { - " i L* g `4 U
- - id: page1& w: a8 \% `; Q. \0 K
- lambda: |-
2 a; ?+ J9 a' t - it.print(47, 0, id(font2), "Info");! X: G0 \& O6 J/ x8 w2 R
- it.line(0, 22, 128, 22);
' i0 h+ ~+ a$ I$ v' l - it.line(0, 23, 128, 23);% y8 R& O+ _/ r6 K% ]& X
- it.line(0, 24, 128, 24);
# x8 _7 C5 }2 W& N( @/ u - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
7 a( ~6 i7 V/ u3 B }
; Y; g \. Q# e/ ~- B- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
# [5 j0 P2 G0 p - / y y$ }+ n2 K7 R& G! O
- # it.rectangle(0, 0, 128, 64);
3 K; C# h: f: Z$ F! e- } - - id: page2* W! \2 r3 x1 Q% K q7 s
- lambda: |-
) l2 @3 [6 F9 c$ ~! A/ @ - it.print(0, 0, id(font2), "Network Speed");% B6 o0 @8 Z( c; ]3 T6 h2 r& m
- it.line(0, 22, 128, 22);5 c4 j8 W9 z9 S' \+ Y$ v7 Z! ?
- it.line(0, 23, 128, 23);
$ H* t! \. B/ `! h" J" J+ t - it.line(0, 24, 128, 24);
3 L5 H5 }! P! A4 w( J3 ` - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);- P# @* l+ z% M" }
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);3 n c0 p+ a% q$ M* T) X6 n$ v% e1 L$ I
- - id: page3
|2 q3 Q0 [. q" I. b, O/ h$ _ - lambda: |-+ p$ \3 ?/ @# q
- it.print(24, 0, id(font2), "Disk State ");4 B( B: }* u3 I# |4 @' |0 F) D3 @
- it.line(0, 22, 128, 22);
p/ V ?5 o8 G/ @ - it.line(0, 23, 128, 23);
$ D2 K& Y2 G% U - it.line(0, 24, 128, 24);; a/ A! S; c" d4 V0 {. `5 o0 J
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
' L3 \" Z) z2 L5 s - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);2 a+ o% }, Z* h$ x0 c; @
- ; ~3 D; @4 J0 O3 U
- # - id: page3( p7 e+ u7 r3 ~- n; p) H; v6 U
- # lambda: |-
* ^* }7 k# P: m" q - # it.print(0, 10, id(font3), "WOW!!!");8 c: S) j/ ^/ d4 ?3 j, g6 f' ^
- # - id: page4
/ M+ i6 j6 j7 A7 b- g- z- d5 w$ a - # lambda: |-
; l/ @' t/ L( Y1 O- L - # it.print(0, 10, id(font3), "Fantastic!!"); W! K& l7 I c
- # - id: page5) {2 `$ z9 n( q5 x) `+ J V' H
- # lambda: |-
7 F0 O3 W6 F* I - # it.image(0, 0, id(my_image));$ w) l7 d* C3 q; y
- - id: showtime) C6 U9 Y: ~6 V7 _* g4 `9 P' \
- lambda: |-$ m: V% Y& Q3 ^4 v( x1 P% `
- it.print(40, 0, id(font2), "Clock");. |+ w. ^6 V9 |
- it.line(0, 22, 128, 22);0 N$ S6 N Z: N4 @0 i* L
- it.line(0, 23, 128, 23);$ |; \: H0 B; m2 Z D1 _
- it.line(0, 24, 128, 24);
$ Q( M+ @2 M; y/ Q - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());7 r5 b' K$ L1 n, u3 }3 ]
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); % ~! ?8 E. U) f" {4 r
- 1 ^ l6 Q( J" I4 e4 [9 \4 B
' y0 ?1 H3 F2 {3 B/ n8 x& B' e- ota:
, |$ Z) _/ _$ _+ n( h - $ F6 J8 B) G$ j$ R, P5 R, G: n
- sensor:' D: V0 C. k$ q0 b9 U; ?
- - platform: homeassistant: ^% K/ \( W6 l( V- ~, j4 }# \
- name: "dsm load"7 D) v: [5 x' |9 k0 d' \
- id: "cpu"
5 I0 f: z4 x7 X. a6 T* M7 m3 O6 \ - entity_id: sensor.synology_dsm_cpu_load_total0 y4 L9 P# s- F) F4 r
- 8 ]! H) a' ]# l- J
- - platform: homeassistant4 [4 Q( K5 F2 y: w! \' @7 |
- name: "dsm down" h6 o6 h0 m7 W1 w. F, F& G7 I
- id: "down"# I0 h9 G0 g. @! r6 {6 H
- entity_id: sensor.synology_dsm_network_down
% q# n/ v7 O) s2 a- j3 Y
& ]8 T7 }7 u8 N5 R& D h- - platform: homeassistant
2 m" h/ P( [+ n/ @7 v$ p7 V4 v - name: "dsm up"9 J) [+ f" U9 ?5 y( |
- id: "up"1 E' _3 |3 c; k" G- K3 v
- entity_id: sensor.synology_dsm_network_up1 W4 w- S" {& }; \
- 4 g, c% U4 d% j, m( s9 T' u
- - platform: homeassistant
, t, g0 V; Q) @4 D% E5 f% a5 k - name: "memory total"
- w; K7 z* [$ w+ e4 H( G- ?& B. g3 ]' E - id: "memorytotal": i1 G0 [% T- h( z! ^3 q
- entity_id: sensor.synology_dsm_memory_size! w9 u" W; q5 F) e7 b
+ k3 E* L" A8 ~/ ~& D2 j- - platform: homeassistant
4 c/ r. M) R6 h$ t5 R - name: "memory usage"
5 A1 n% W3 T/ Y7 u: X& v! ]; Y - id: "memoryavailable"
! _4 Q% z) w# |& k$ c: P3 x - entity_id: sensor.synology_dsm_memory_available_real& I3 H( D* m' D, X+ t: v
5 Z$ G2 v7 O9 S& ?0 l- - platform: homeassistant$ a" m! `# w% s4 }/ @
- name: "memory usage"1 p* P3 n7 e* z9 K4 ~
- id: "memoryusage"
6 g; u3 J7 f- e' j - entity_id: sensor.synology_dsm_memory_usage_real$ Z/ Y* ^0 P6 m' ~* }+ `/ p
0 F" @. Z+ a2 p% C; S# z- . c/ N' F* J8 V3 G: w* X- {" {
- - name: "memoryused". X# `' e9 `6 O8 _# R+ T ?
- id: "memoryused"
5 R4 m' @( ^0 G* g" f& n - platform: "template"1 @3 }- d7 j% ~; v, L& [8 M% \
- lambda: |-
2 S7 _0 O& h( }$ W: S - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;% T: y9 w/ _- u0 n G
- update_interval: 30s
4 A! A2 m M; U+ W- L
& g. `# f, H, v e$ O- - platform: homeassistant$ z" L: F: h$ d+ X; G8 @) i
- name: "sdatemperature"
' j: [8 j8 n4 a! B) A* Z4 Z - id: "sdatemp"
7 B. v" w) ^+ D! |& U! g - entity_id: sensor.synology_dsm_temperature_sda ; D0 |- u! M9 A# w2 I
- ; X2 l% Q, U3 ?; H6 Y! u* g4 H
- ( \! G/ p4 N9 G J# S
- text_sensor:$ d* f1 m0 |0 p! i+ z* R
- - platform: homeassistant! e4 m' e! B3 j0 n% E8 }
- name: "sda total"
% k% `2 g/ D4 ] - id: "sdatotal"
- f+ ~% f2 l& D5 \" b1 l" B6 i - entity_id: sensor.synology_dsm_total_size_volume_1* m1 y9 p7 s; k+ w4 I' B
- - platform: homeassistant
( m, {% e, U q' e - name: "sda usage"
7 b% m7 v. d2 C+ W; y, `2 F. T - id: "sdausage"( Z9 d6 @$ }% r5 j1 ^
- entity_id: sensor.synology_dsm_used_space_volume_1
( \+ @6 v* Y* {5 x m
3 ^* p0 h4 U6 R8 o' E4 W- binary_sensor:
3 D/ T- ~; T; J5 l - - platform: homeassistant
5 p5 i9 x& l; r& ` - name: "sec"
( \" D7 i& `/ | - id: "sec"
5 M+ I8 g; ?3 `+ R8 a$ t - entity_id: input_boolean.sec_office3 o2 M' u; b: P6 Q5 |- b
$ B% t1 V0 k" C" k- interval:0 [* N" {: q- z, f+ m( z
- - interval: 10s0 P% D3 c% t+ N/ d
- then:
- K1 Q* q3 E& j2 p4 _7 T$ Y - - display.page.show_next: ssd1306' s E1 d% V* V% v. |
- #- component.update: my_display( O7 H# B5 Q( @7 P- {
- font:4 B! I4 e' e2 ^9 D0 _1 M0 k% R! @3 m
- - file: 'arial.ttf'2 v& z5 d% Q, `' V0 n8 X$ T
- id: font1; H2 v+ v) Y' z
- size: 15' ^8 u' k @, p8 F3 g9 @" X
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"7 Q. Z; b# I; \" d# t
- - file: 'arial.ttf'" B3 Y, n7 B( k! T8 S
- id: font2
, X0 }: \: H$ E. }; a - size: 18
. |% i, H+ ]$ ` - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
6 S3 R5 m( S' \4 T
/ M* |8 T- y1 K# {& U
4 [4 }$ }9 A+ ~7 u- - file: 'arial.ttf'8 z, \3 |, N. I0 p
- id: font3# {6 k5 f6 L" L' d% v% D
- size: 23
! k9 O: v2 \/ O; {; F5 b8 d - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑) b2 V; p o5 X( V, c/ J/ ^+ b
$ H6 m' y' C1 K
0 h7 b* ]; \: b3 C* E6 N" @
|
|