|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:
% R/ V) ^( P6 P5 F - name: dsm
) D y0 \# u9 r5 H7 a - platform: ESP8266
/ }0 H$ f; O! ^0 `& k - board: nodemcuv24 B4 ?; v7 d* s8 k6 c+ H
- 0 F- ~3 ^8 J% K( d1 F# O% m D7 S
- wifi:
6 S9 p. S/ }6 p- L - ssid: "xxxxxxxxxx"4 p' p* Q9 `5 G
- password: "xxxxxxxxxxx"8 J% W% p0 R3 g$ D
- ' T z, z( n2 k% E
- # Enable fallback hotspot (captive portal) in case wifi connection fails
( w H% R* I! X) B - ap:
8 k) t) M7 ~$ Z - ssid: "nas66.com"! g* P1 F P9 q) X% d+ T X
- password: "nas66.com". H$ r2 U' i, e& d& ]" W- k
- 3 G3 z2 {+ ]/ r2 e
- captive_portal:0 Q+ u- M5 P7 X0 p- z: e) Q/ u
- . y1 @ W- {. k0 X
- # Enable logging5 d1 a' l S8 s" u% [- P
- logger:
. N( b% p3 C1 t+ H( R
; r$ S. ^6 M' d2 T1 m1 @/ n. S4 ~4 W- # Enable Home Assistant API
/ H4 v/ L; D! V - api:" z4 t) H- T" u- M1 j
- , \' M. h( b4 C, n
- i2c:4 W9 F- P" F5 a k
- sda: D2
) s* P% F0 P1 Y4 J' x( i - scl: D4% A$ i% g0 X+ v% M- l
) y# k' M: B% N/ z4 ~: B- @- image:
3 l1 H, o& K/ g- `4 ~! n - - file: "logo.png"
& e3 ^5 [% P' Q' }- ^- W6 [ - id: my_image
: X: {5 ~1 W, P - resize: 128x64
6 ?9 M: Y. a2 F$ u7 ~* a+ l; f - % n# y0 I: A1 A3 s1 G" l0 Z
- time:
5 o- f% T0 e; Z! w+ R5 k1 c - - platform: sntp* ?8 J+ u: N/ Z
- id: sntp_time( b% F/ w6 H( {" ~7 @+ e/ H6 G
- timezone: Asia/Shanghai
( L$ P k3 L- b, U0 q3 V# m
O1 f3 J8 {/ }2 ^5 n- display:% e' `- _) t6 E
- - platform: ssd1306_i2c# }7 z* c A, U% g5 m4 ]8 ]
- model: "SSD1306 128x64"
+ \2 a& M0 @, G D- u - id: "ssd1306"* Q; {# h: T+ {. k% j% F+ s e
- reset_pin: D0% G0 v: W, f2 o: l7 J
- address: 0x3C$ ?3 {; X# m' q1 ?8 x
- rotation: 1806 ?& p& k5 P8 W2 a7 I. T
- brightness: 30%" [2 Q; S# [+ a/ s" C
7 W( T( B6 j' m6 M$ K& l0 U, f5 D- pages:1 Y6 Q5 _. z8 N6 t# J
- # - id: page10 e" Z3 T4 |" B" _+ H. `
- # lambda: |-8 K/ d7 r( L5 J9 u# f/ ]
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
7 e& v3 w: A; Y4 n1 n - & g7 R" R! t# } Y; f
- - id: page1
, c# ^* |% J) L1 W7 _! y0 V - lambda: |-
! H7 L# t# q5 I( x! ] - it.print(47, 0, id(font2), "Info");0 ~8 i8 u- C& F* S/ _4 P5 i
- it.line(0, 22, 128, 22);
- K+ E0 G, ^. }& t - it.line(0, 23, 128, 23);) X0 I5 @2 Q6 i5 @* W1 P
- it.line(0, 24, 128, 24);
; s3 Q ~$ j% D1 J - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);- l9 h$ @1 C# l6 l
# ^ {, B, V e5 h1 b4 l- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
" k9 \# @0 n3 a3 b& Y, A* } - ; ?5 B% O$ W( A! B! b
- # it.rectangle(0, 0, 128, 64);. K9 {7 @8 ~4 n/ b, B8 u
- - id: page2, h! r7 M$ @* X* P
- lambda: |-0 c2 b6 d- i# N
- it.print(0, 0, id(font2), "Network Speed");8 Q2 Y; b' Z! b) \( Y, u0 a0 Q% t
- it.line(0, 22, 128, 22);! Y1 T3 d) ^3 Q- o
- it.line(0, 23, 128, 23);) w* A1 o, {9 e, n+ O$ I
- it.line(0, 24, 128, 24);
- C/ s' c% c; Q7 s% L, B - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
5 |# c# ^9 `9 ?: Y - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);# c, m: n/ T% n. {0 V* g
- - id: page3
& E- c6 B8 g0 C+ S' J, _ - lambda: |-
/ p; ?4 U2 H l8 c - it.print(24, 0, id(font2), "Disk State ");
6 p" b p/ [+ L0 M8 u+ V3 h - it.line(0, 22, 128, 22);% G; _3 \* {6 S- s9 P; _5 C6 k& n
- it.line(0, 23, 128, 23);6 P" R. I6 s1 V
- it.line(0, 24, 128, 24);
" m6 _9 a J* ^ - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
- r7 Q! c" _* f6 g% r& E - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
1 T7 l& `& j7 { {' f5 F4 H
) m K$ L& U. y" f- # - id: page3
1 i! H2 \% [. ~9 o* G$ [1 z P - # lambda: |-4 Q# @/ G+ K- m; x! }
- # it.print(0, 10, id(font3), "WOW!!!");9 Y% x( E: O' n* G; D7 J$ v1 S
- # - id: page4
" y a# a4 z# { - # lambda: |-: X! n1 t- W& c- y
- # it.print(0, 10, id(font3), "Fantastic!!");% D E! d! \6 z8 h8 T# G J' V; Y
- # - id: page55 A$ A& f- P3 n& c. r {% s0 F0 }* I
- # lambda: |-
) n: g. U. @' m7 F3 ~ - # it.image(0, 0, id(my_image));
, y; m& w4 ~' Q1 [" H; n; \+ L/ R - - id: showtime/ l! K, C8 C" a% e: |% n
- lambda: |-4 ?) R: D' |7 \. x0 F2 }+ B
- it.print(40, 0, id(font2), "Clock");8 o- n" V% ^* h3 Q; m2 n3 ]
- it.line(0, 22, 128, 22);5 Q" U* k7 x5 G7 h; U: w
- it.line(0, 23, 128, 23); V1 j3 `9 u8 x) i( m+ M# k
- it.line(0, 24, 128, 24);
6 n# \$ Z, m. v1 L7 l8 e: G8 ^9 i - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());- c( X" W# C% U" D a- @# ~
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
* u8 M- y) Y1 _- \3 E/ S" i - & I1 O K" ^- {5 [ Q9 ]
: f; L% d' ]) e' W1 l% K- ota:5 S" T9 I6 _2 {6 p4 d5 V
" A' H# m3 N: x0 H& F- sensor:. B- @ h3 t, U
- - platform: homeassistant
) I3 a1 T! j8 M. o3 X J - name: "dsm load"
# C- g O& P6 w( c# \) A - id: "cpu"- `3 A- g: _% } g, s0 @
- entity_id: sensor.synology_dsm_cpu_load_total6 \/ t& Z* m3 P/ u9 K7 ~7 I
" O, z" @! ?$ @! _9 G- - platform: homeassistant8 M% V6 `- g( C
- name: "dsm down"
0 P- h% C! Q; Q% ~ - id: "down"9 U- M. D, g# d7 B# b5 w
- entity_id: sensor.synology_dsm_network_down
- U' B+ V& ?2 x4 R! O+ y9 w9 e - # M( U; Y6 J& i6 l% u$ \" I
- - platform: homeassistant
) L) J# Q+ |# q- I! F& t - name: "dsm up"
1 x5 }/ Y4 D1 [- M6 [ - id: "up"" ~# m, O/ D3 C$ u; f, E
- entity_id: sensor.synology_dsm_network_up8 |1 N! R" {# L
8 n4 _: z: z# k$ `$ k- - platform: homeassistant& R1 N. E9 n; H* G2 n" Z) N
- name: "memory total"$ c( |: U7 R3 q. u2 T& J
- id: "memorytotal"
9 t: _% _4 a; C) o3 b# J - entity_id: sensor.synology_dsm_memory_size
" k! m9 o3 b3 y. B: s+ V
/ p% a8 K; b: w! r* K6 y- - platform: homeassistant( X& W/ N- [3 |
- name: "memory usage"
0 m8 F( R7 X3 T5 ^! { - id: "memoryavailable"
3 y. O) d# Y/ }. |$ n - entity_id: sensor.synology_dsm_memory_available_real
' Q8 n2 [- @* [& }8 B7 F; z
4 x& A. f0 o8 U1 J6 d, J# K0 i- - platform: homeassistant. H/ A2 b9 L4 N! B# J
- name: "memory usage"
& A1 R3 @3 W; I* z$ ]9 t. d, h - id: "memoryusage"
4 {# t* j% D9 T9 t% o; f, I; M - entity_id: sensor.synology_dsm_memory_usage_real
3 K! D# y- S% v, @7 L, v' c
1 d+ b& L" l/ G/ F
7 ~ v6 `$ }% B0 v- - name: "memoryused") Q, w- i) F- F8 s! w# k/ w! `. y; A
- id: "memoryused"
. _* d$ n8 T* L9 @9 f/ y: L& S - platform: "template"+ J0 W; j4 m, r9 t7 a
- lambda: |-- W9 X7 `' U0 o1 [5 M
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;' _1 K4 d B: N0 i9 z6 q9 g+ A" `
- update_interval: 30s4 b4 y& L1 m' j! R/ X
" P# g0 @# M9 u1 K" T }1 m6 I- - platform: homeassistant& z+ e# b, s* N0 P% N U6 @
- name: "sdatemperature"9 b% v" H# M' T( T8 p
- id: "sdatemp"! d& ]. m' B1 c% N
- entity_id: sensor.synology_dsm_temperature_sda
! b( ~' `. ]2 }$ t
4 C7 }3 J3 v* U! F& V. q- O
# {/ b. R9 I2 O2 w- text_sensor:5 K: F0 ]! n' q% G
- - platform: homeassistant
3 z8 g5 L! ?* _7 l! e6 f7 v - name: "sda total"" [8 ~ U0 H- G& ^, Z9 J
- id: "sdatotal"
) i( i) h& b8 s - entity_id: sensor.synology_dsm_total_size_volume_1
- P5 e2 t: r" S* B; S+ X - - platform: homeassistant
' x# c7 ]4 S9 [+ V: r - name: "sda usage": P" v8 t6 i1 i1 v) G! K
- id: "sdausage"
8 Z" J3 j5 I6 Q$ @ d/ l - entity_id: sensor.synology_dsm_used_space_volume_1 8 h7 p! R0 ]2 Q& R+ q
; B7 {$ u0 m2 x5 K7 N# P- P" V7 D6 Q- binary_sensor:! q K% W- Q8 u R% l: A
- - platform: homeassistant
! x* I6 B' X) G - name: "sec"4 e! m0 L# I5 Y( P4 X
- id: "sec"5 H0 z4 _9 O" [8 ~, e! A
- entity_id: input_boolean.sec_office
6 H# M4 {. B, w9 \/ X; [- k - 8 z* R5 s( G X' H5 _/ w# d7 ~
- interval:5 ~: @4 x' Z$ R1 r `' r9 R2 H
- - interval: 10s
( S$ V- G9 I" w3 k5 Z1 Y9 b% B - then:
# O. v8 i! h j. { - - display.page.show_next: ssd1306
8 n2 u) Y/ V6 I* l g - #- component.update: my_display' a9 [' H5 v! {& t5 O _
- font:+ ~3 C, ^2 t3 E
- - file: 'arial.ttf'
3 u# u, N# S1 i. |4 w. d( S' C - id: font1
; s/ n/ M/ u! }1 M% k - size: 152 g7 h( ]3 D6 ]$ `+ ]( D; V
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
4 |3 x/ K4 T. A: k5 ~4 ?; n) G) s - - file: 'arial.ttf'$ I" _, W+ F/ R
- id: font28 d' F( g$ [7 ]" L
- size: 18- t7 i+ p3 a+ f* y! G+ U8 Z
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
6 F+ f1 `& M M
) u7 Q4 f6 U* k% }. \- # u5 d6 m1 g9 n7 X
- - file: 'arial.ttf': J5 y- W$ x2 |) t) h
- id: font3$ U; ]% @7 `2 c% r
- size: 236 E! R3 Q+ O# a- w
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑5 N- v/ S; a7 e4 j' \* G/ O
2 {/ C, L) t1 j- P E
9 s, q! B7 _9 b5 |6 A2 I
|
|