|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
/ M/ y- a# z J - name: dsm
% ~. T: e. V8 H - platform: ESP8266, s1 ]' C! U, t8 @) W# r# c
- board: nodemcuv2
+ i3 U2 |6 a3 R+ G5 c3 A# n+ s
- d0 Y" S8 y8 x. N$ y- wifi:/ y- p ]( `$ t/ n3 D5 ]
- ssid: "xxxxxxxxxx"& ]( T' o2 k0 I% }4 d
- password: "xxxxxxxxxxx"* X4 P" q$ K% V
- # h) v9 y. ~7 H8 e3 x z
- # Enable fallback hotspot (captive portal) in case wifi connection fails
# H' m* t' O8 l) E2 V - ap:5 p$ Y& |7 {7 f8 A. u4 c
- ssid: "nas66.com". y1 V2 K& v$ Z
- password: "nas66.com") x; Q5 V! ?' U6 E
- " {% n; ?3 |5 K7 z
- captive_portal:3 F7 o2 l, m6 C* ^7 U7 e. J4 q
[5 f$ q+ y8 h- # Enable logging
4 J$ O9 I `$ k2 y - logger:& a# V5 S- ~( H/ _( m9 F
+ p# ?- l3 `2 A. W* D# Z6 [- # Enable Home Assistant API
- J, \' d9 X* h- K0 d( p - api:
! G( Q+ m6 |; V Z& H R
$ F7 I) `) X6 R- Z2 ?- i2c:4 F. U2 X& S2 g/ z- E& O
- sda: D2
- g. F1 t& I$ {0 a" ]# D - scl: D47 C1 T8 v- f7 Y/ S
- " I# }7 I: Q( E- D* M
- image:
& G# |3 n* H7 S+ |+ U2 _ - - file: "logo.png"* {, I% w/ ^5 o% v' \
- id: my_image
, z7 O. u+ F* U1 u( c - resize: 128x64
- Y9 u, f# N7 q2 Z) M; j) ` - / G/ z$ G8 }; u" T0 W6 ^
- time:
b: N+ ~ T4 K+ K7 F* t7 x0 F - - platform: sntp# ]" X* X5 A9 ^
- id: sntp_time
3 v) t) ^/ E) ~# ?* `( l - timezone: Asia/Shanghai
3 g8 K: ^1 a7 k4 |. V$ {$ c
" ?5 h: o: {) `1 d- display:. ~- V: T. R8 `8 W, I
- - platform: ssd1306_i2c4 F: J* b) x* R b
- model: "SSD1306 128x64"
! S3 Q. k: w& \- F, s4 b) O8 C - id: "ssd1306"
! B$ J: l; G2 ]- z& w - reset_pin: D0
( @! X& y& ` a* y - address: 0x3C8 b; s4 `5 |1 T3 r0 E4 p* m
- rotation: 180
( Y- y* D- h1 h8 i& F6 p G - brightness: 30%
7 B8 U7 \- |" R - 2 k, P8 E2 x' F. n3 f. Y& c
- pages: @; H9 P1 A8 z, K! B+ G1 y
- # - id: page1- S, E r: H2 r" M; N. m
- # lambda: |-- x( V+ I+ `6 O7 V4 O- p
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");3 @$ I# j2 _4 q; _/ D: W
- ( ~9 g8 t* p* M8 d A
- - id: page1
( Y3 n# ]: |4 r - lambda: |-
0 S1 X' t: `4 k$ e* l! T) g/ H$ s - it.print(47, 0, id(font2), "Info");
, e" v! w' W% S2 n - it.line(0, 22, 128, 22);
9 f% k3 g; A1 J& ]$ c2 s( h - it.line(0, 23, 128, 23);* z: {" u h0 O$ b% ^
- it.line(0, 24, 128, 24);
& ^9 T% [ K0 e" g4 d$ f h- s - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
7 M- l/ v. d7 ]# Q3 r4 Z+ ]9 W8 t
% h/ q4 d$ `" R$ D+ E5 T8 m/ M- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
' i+ m) r" |# N* J. Z' Y( ~ - 3 T6 J: f4 @4 m! s8 x. ]
- # it.rectangle(0, 0, 128, 64);# L4 F* M6 g5 |! B; F& [$ ~6 m
- - id: page25 b- K1 Q* ]! @1 u* h% w
- lambda: |-
F/ ` t K. x2 I- ]' h- D* s - it.print(0, 0, id(font2), "Network Speed");
" t' E4 Q0 ]% s# b& @& @ - it.line(0, 22, 128, 22);
+ [8 ?6 x% i! ]; d2 @7 N - it.line(0, 23, 128, 23);0 Z2 C; ~" M2 i. D z X
- it.line(0, 24, 128, 24);
- s' d3 S* y N% `+ f+ l* v; w& [ - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
9 R9 O# o- U$ G; u - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);$ R n6 K6 w1 l2 L. W
- - id: page3
/ M: T' h! }+ d) @- f5 Q# \ - lambda: |-! a" V0 [' M2 ?. I1 {/ x- U5 S
- it.print(24, 0, id(font2), "Disk State ");
% w/ \6 ^, c1 k- ~ - it.line(0, 22, 128, 22); D7 b% l' {3 Z3 |% p" p2 H
- it.line(0, 23, 128, 23);
. {: j2 M. B0 A3 y - it.line(0, 24, 128, 24);9 [& T* y8 u z4 ^/ q) u r0 M
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());* @2 Q- E- |1 ^; C( b3 F: V
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
0 N* r# D8 h9 H+ L% A - * q6 r) w! a" p7 C( N4 k) j2 F
- # - id: page37 s& e) V6 O, l) T s$ O( v
- # lambda: |-
) l8 c6 N! k# W' K. Z7 a& D - # it.print(0, 10, id(font3), "WOW!!!");1 g# L: H: Q) A M3 H. C3 Y8 y) e
- # - id: page43 j3 h6 o8 v2 V7 Q4 H: P. ^7 O
- # lambda: |-" x2 |' E/ F; k6 e
- # it.print(0, 10, id(font3), "Fantastic!!"); ^: j* A j6 }- y' V: X
- # - id: page5
, [6 U8 F A! ^' f% j- i i* \- w - # lambda: |-- R" n1 h! V, Q. v- s9 P# g( W7 J
- # it.image(0, 0, id(my_image));, ^ y+ j$ t5 I* q, W& j6 M
- - id: showtime+ R n' N* k& u/ H
- lambda: |- Q! b. q' s0 C. ~ p
- it.print(40, 0, id(font2), "Clock");4 W6 ?- n6 F6 T6 R0 ]$ k
- it.line(0, 22, 128, 22);
4 u' {# v1 P9 N- n( z - it.line(0, 23, 128, 23);5 R) b) E) n3 f. i
- it.line(0, 24, 128, 24);$ ?* U5 L6 n- @3 J; S/ g
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
1 W, U3 k Q- D: C: { - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
6 p) a* l8 b8 ~: V - / A( X+ v! t! } U/ G
- 0 E/ T: y8 R' R5 p B/ ?: ~! ^# H
- ota:( v; Q4 b# D1 c6 g- Q; c$ h
, R/ o k1 u1 x+ N2 d- c- sensor:
. L3 Z$ O7 @' _) x7 ~1 N" k0 u# X - - platform: homeassistant
* h! f' u8 L& q" s9 U* Y, y6 t$ e L# S - name: "dsm load"7 x' }9 F8 b$ p) M- `1 o
- id: "cpu"( q' V5 n$ T' @% [ A6 L8 P
- entity_id: sensor.synology_dsm_cpu_load_total
- S9 t/ \( B& T9 J$ l8 t
/ s5 o. C0 N( Y/ R& P# C- - platform: homeassistant
H3 `: d4 X7 w/ G9 W+ ]0 k; T2 R - name: "dsm down"2 `* F3 t8 C5 X+ Z9 b
- id: "down"0 x6 u6 b7 |1 x7 I+ e7 L4 b
- entity_id: sensor.synology_dsm_network_down
Y s* h. S% B! i4 L6 i' c6 i - 1 E1 v/ r6 M w: [' g" s! m7 G
- - platform: homeassistant
" D+ }$ Z4 I; k3 q& j. x6 g& ~ - name: "dsm up"4 w, [ l0 _+ y! F* v1 I ]
- id: "up"
+ m1 T! H. F/ F- e - entity_id: sensor.synology_dsm_network_up, X, z1 L% l* U# [ s1 z
% w+ r5 D( N6 _, e ~- - platform: homeassistant
9 S1 f4 L0 I I - name: "memory total"
/ \+ q% J5 ^' `7 F" t! |& v - id: "memorytotal" m0 s6 d4 `3 t7 x1 {4 J; M. f
- entity_id: sensor.synology_dsm_memory_size
8 ?. q9 e6 W1 @% R
( p, p+ L) u0 B- - platform: homeassistant
S1 t" V; o/ q+ X( e" v% Q# t - name: "memory usage"( _4 J$ d7 C1 }( K' K5 P
- id: "memoryavailable"
' ]. C8 ?/ X6 q - entity_id: sensor.synology_dsm_memory_available_real
) r" c6 X; ]( z( d0 P - 8 I. {% X9 l h h4 T$ g/ @
- - platform: homeassistant
z- R8 A8 s* K' X. X3 i$ \ - name: "memory usage"' h- ~* ]5 c* ]) ?. J2 P6 d
- id: "memoryusage" L9 I3 |5 X" a) i2 p3 w) o, M6 B
- entity_id: sensor.synology_dsm_memory_usage_real
8 R d: f# e r
' b$ |1 O* U4 r/ M
( H: T3 d/ o4 j4 U- - name: "memoryused"* K0 h7 J1 f0 n( \1 u
- id: "memoryused"
% V# x! i8 {7 `4 k5 a! C - platform: "template"
4 h+ A* j4 ~$ O0 L( g - lambda: |-
8 l! T% ]+ m8 _8 h - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;( F; \7 G1 Z8 c" U9 |
- update_interval: 30s
1 o; b. s# `8 S( O" }4 i& R" |" l - 2 t2 ]- O5 O% w9 p+ c$ ?
- - platform: homeassistant! n0 q1 G; J5 i. I: b5 E7 p
- name: "sdatemperature"! v' J8 b: D& D% V. Y& a( S
- id: "sdatemp": s& C# B1 h3 M
- entity_id: sensor.synology_dsm_temperature_sda 3 f( s: a6 ]% b5 Y. ?; t
( F- g, C5 x9 k1 f1 u- ( n( G; y0 Z$ x4 _3 d
- text_sensor:3 s* `0 B. |5 P5 L/ |- N* }
- - platform: homeassistant/ _( ]/ e: o/ [2 b: Z
- name: "sda total"/ V0 ], j5 m$ c0 H' l
- id: "sdatotal"9 _& E* v2 v- z6 u5 c7 {
- entity_id: sensor.synology_dsm_total_size_volume_1
8 q6 ~7 s% ^8 D6 Z/ S% ?- _ - - platform: homeassistant
) F4 _& A+ t, o- M- L - name: "sda usage" v( y0 k7 W1 H; {: Z3 e
- id: "sdausage"6 ~; M) W7 w: H R
- entity_id: sensor.synology_dsm_used_space_volume_1
. D2 [! p+ C" O6 C( b0 b - 6 V+ u' O) R6 g; r' _9 G
- binary_sensor:
- k8 S" {4 @4 v" G& Q - - platform: homeassistant
( n3 M6 k' v* D - name: "sec": F p0 b- _2 }. M
- id: "sec"$ ~( n1 z, q+ o3 Y& L9 N! x
- entity_id: input_boolean.sec_office" A) I7 ?4 L- f* @9 A
- b7 S4 r# Q6 v3 ~( s: Q# r
- interval:
3 ?" h' p. {, }) ?" V - - interval: 10s g( h6 `5 }- B; g D! N% Q5 P
- then:8 z) S! T/ z$ u2 u( z4 g
- - display.page.show_next: ssd1306
9 ]* C: r- j; p h. C - #- component.update: my_display
e9 z: D& Z' S2 o" T: F+ _ - font:4 c+ S1 g! p: A9 Q* F7 T( ^
- - file: 'arial.ttf'4 W+ Z5 `* a3 w% b$ o
- id: font10 c7 A. [& |* I3 C8 V
- size: 15
% V+ W# L$ @2 w - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
9 o8 j- ^- c4 f5 m# @ {7 z - - file: 'arial.ttf'
, _5 ?$ t" h: L! j* O& v; A9 A% ` - id: font29 h/ d7 p# l. T: Z
- size: 18
; o b, }$ u M - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
3 W v! C/ g- f( L
- _% D* q8 i' Q$ B3 x U' x- 2 l4 W* f+ y/ Z4 d: `- i7 x" ]! u2 q
- - file: 'arial.ttf'8 A& v' }5 _/ z( J. P8 M; e
- id: font3
% v6 K+ {8 q5 B - size: 23
/ Y$ S H. J% z# j8 S - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑/ t# C+ L/ z) ]( Z5 j
, w3 A, G* f1 z; C, X4 C- _1 v: O0 c2 t/ X8 K3 i5 x# j8 T
|
|