|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
) b1 g# D* z5 |3 |8 t+ I% ~ - name: dsm/ Z! o) V# O6 T1 a
- platform: ESP8266. f( x9 O4 ^1 N0 r% S/ j% a
- board: nodemcuv2( K: O& D9 j4 a, s' O& N+ S+ c
- ) H! n6 x" F4 E# d a
- wifi:4 n1 d/ Q! p1 C% ^$ @8 G3 q
- ssid: "xxxxxxxxxx"
: k& E; k3 b4 o- | - password: "xxxxxxxxxxx"
5 f# l9 ^" R6 X3 Z* Y4 |
* { A$ |# b+ j. h1 o1 D. T- # Enable fallback hotspot (captive portal) in case wifi connection fails
9 p( W! X6 u. H5 y$ p: N - ap:8 [& [3 S2 l5 k, m) F6 s
- ssid: "nas66.com"
4 `8 F& H) O- l2 h6 b. } - password: "nas66.com"
+ c# y2 l# t: e1 B, @0 V3 C- M - . T, S! J, ?( y( Z) {0 l# E
- captive_portal:6 T7 \& y& m. w. r. d# k
9 M" Y0 K' I$ W) [% V6 ]- # Enable logging- H O4 A( c+ Q
- logger:
) n1 {# A& x5 Q
9 Y# G. i4 b* @. Z; D- # Enable Home Assistant API
, g ^) ~4 d. n6 M- k - api:- ?( e& w; l1 }, L0 U
1 P8 v% s2 Z. ~" n; H3 v- i2c:
6 T3 [9 F2 ]1 j: E- g - sda: D24 P! B5 B, {5 u6 @. D9 J1 D: e% ?4 T
- scl: D4! I! }3 X" H7 {
5 g5 _# r: r4 O6 ?7 I) |9 ^& E- image:
, u$ c9 Z& l4 }$ c - - file: "logo.png"
; ~) F7 B4 S* Z- [0 P/ ?1 u% F - id: my_image; y0 i" ~/ o: |/ J5 y/ n
- resize: 128x64- m! j/ n4 ] ~4 O) G! Y: V( X
* ^$ c+ V! c0 o4 w, E* w; u2 {% w- time:$ F3 \0 @& t) G H
- - platform: sntp
6 |/ d | H: J; Y: X1 C8 x J - id: sntp_time6 R" A( I$ }8 r5 T# d- { f
- timezone: Asia/Shanghai) {8 r3 @3 x4 H. ]" {3 `0 V6 ~
- y5 v' H1 r7 E) L7 v+ o- display:& K/ {: {8 D( k; x. [* [+ i) ~
- - platform: ssd1306_i2c
5 a- ?0 b/ G7 x B - model: "SSD1306 128x64"
2 x- O5 h& D9 I6 j3 m+ n# Z - id: "ssd1306"5 A! o4 M0 ]) U
- reset_pin: D0
3 c7 B8 m w( ~ - address: 0x3C/ z" d9 W5 k" ~" g9 x
- rotation: 180
; r" Q6 W# X$ r* H. a r - brightness: 30%1 l3 }- d% ^9 C5 z$ ?3 S! K
3 _7 D& d7 ~" Q/ `/ `- pages:
" V n; {0 M6 t5 E8 F. U1 c b. _! h - # - id: page1; C4 _5 {( k! v8 l5 f: d
- # lambda: |-
0 o! R- }0 o% y( W, J - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
6 U1 d; P5 G" e3 v3 s8 T/ ~
: Q2 v5 R, q. ?! J7 ]/ }% T- - id: page1
& T: b( F- `7 p. L6 W1 q, `% d0 D - lambda: |-
8 p: K& M: I/ ]5 T y - it.print(47, 0, id(font2), "Info");
! p3 u& m, U. o: K - it.line(0, 22, 128, 22);8 ~: U, u4 ~2 p) Y* ?9 w) C
- it.line(0, 23, 128, 23);( P8 K$ G; k8 I, a( P
- it.line(0, 24, 128, 24);$ l2 F+ X- T# t. j
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);- f, t- W8 {3 r7 z
- 9 g; d6 @! @8 r' c3 K2 R
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
; p; j/ i% U2 Z* U - . `# U* Z: C/ v4 ?5 ?) I/ {4 u9 t
- # it.rectangle(0, 0, 128, 64);
. E# I2 Y _: g" p - - id: page2* b! Z0 k. K% R2 s& x. r8 {: t
- lambda: |-
) L( P4 V+ t; v* P9 E - it.print(0, 0, id(font2), "Network Speed");* E: U/ j/ b8 d. x& B8 `& N$ N
- it.line(0, 22, 128, 22);
0 W; z9 X( ~5 S* ? - it.line(0, 23, 128, 23);
& R- N% c- x. [3 l+ K - it.line(0, 24, 128, 24);) s7 _, }' ?6 e) A5 _* x
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
1 u! M3 |# b, v5 y - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
' r J$ Y P4 h! P - - id: page3
. k+ Y4 ]* k# G$ e. v# c! R; p- v - lambda: |-* M' g& e# J# J( ? M1 e# e
- it.print(24, 0, id(font2), "Disk State ");
+ J3 C3 y- @3 k; }' j2 t - it.line(0, 22, 128, 22);; _. u0 ]7 L, I- }8 ]! V$ o3 z
- it.line(0, 23, 128, 23);6 q2 Y3 w9 f R1 h& d
- it.line(0, 24, 128, 24);
' j4 B; d& i6 Y1 a - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
8 n6 a* g" @6 ?* H: W' ~ - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);) m, w! [" Z8 _$ \
# q3 f2 j# Q% ]2 @! ?4 v6 U- # - id: page3
8 }# a, q) b. z Z7 }5 A - # lambda: |-
* V* p& \( j# t& ^( |/ B/ i - # it.print(0, 10, id(font3), "WOW!!!");
5 u% w) G3 X5 ]5 b( o5 Q8 z7 I# M - # - id: page4( O$ _& }( k1 l3 u% s$ p
- # lambda: |-
0 e U) [ w+ w- b& j7 N( T - # it.print(0, 10, id(font3), "Fantastic!!");
& I% V+ \! H7 S+ S - # - id: page5
! p; s3 { K& Y& n) @+ F - # lambda: |-
' z* @9 W5 `% H0 z - # it.image(0, 0, id(my_image));
+ d# d0 @% M5 A! u - - id: showtime
+ a* p- l$ B& p2 k) F% }3 C - lambda: |-% z4 x, o0 i" Y
- it.print(40, 0, id(font2), "Clock");2 N9 H& b: I6 i% h
- it.line(0, 22, 128, 22);
% U& E* o6 }/ a/ i7 ? - it.line(0, 23, 128, 23);8 k3 Q3 w8 d, w g1 i M( e
- it.line(0, 24, 128, 24);
/ A. Q+ z' h" E - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
. G' W" m! P& _) _8 o' s+ i - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
- c! s5 U3 N3 ]6 g/ |2 ]0 H: T - 9 g! x% m' i2 `# }* s! f! t
- + } E& b) `8 p8 \) a. ?* y
- ota:7 ^" I! Y& V; F0 y
& X# r5 f+ z. Q- sensor:
6 z5 B. K0 B! \" Q& g6 ]$ J$ n - - platform: homeassistant
1 ]$ r" K/ E8 l9 g+ v - name: "dsm load"
9 I5 c, Z N3 l0 p9 m' B: y r - id: "cpu"3 w# Q3 k/ L, M& A% ]0 \
- entity_id: sensor.synology_dsm_cpu_load_total
- ]& a. i. p* s5 L6 v0 R. Q1 k - : b) [7 o5 a4 o* K
- - platform: homeassistant$ B( t; C6 e. i" ~% M
- name: "dsm down"
2 a6 s8 s( N" E - id: "down"
2 n2 m8 v+ o+ J2 x8 N! m - entity_id: sensor.synology_dsm_network_down, \0 x* Y7 X, z: v. E/ ^
- ' `" m# M8 ?. u; @( ?' e
- - platform: homeassistant
$ R: u& I L6 W! j; L - name: "dsm up"
9 j" Z/ d4 Z$ u5 ^4 h - id: "up". @' h) D; }- f# A
- entity_id: sensor.synology_dsm_network_up
9 q0 W! X0 x/ J$ @ - , D* d4 a3 Y) F* @: N
- - platform: homeassistant6 n9 ~+ X. w2 k
- name: "memory total"
2 h( ?# F {( K5 i" F' v - id: "memorytotal"
' _% Q: f7 I) ] - entity_id: sensor.synology_dsm_memory_size* S; I, c. A; u: w
- % {0 k& n5 L$ Y8 ?0 o5 q, W: G
- - platform: homeassistant
) y$ G6 b9 U4 }0 l- W% n* q' u0 J, v - name: "memory usage"& e/ u7 m4 T$ K7 l6 O2 [$ ?& p
- id: "memoryavailable"9 ~% {% }0 G7 ~" v- }# M* S
- entity_id: sensor.synology_dsm_memory_available_real
$ M! f3 ~* u1 j* F- a - 6 |: Z. f2 ~2 A5 X0 ?
- - platform: homeassistant5 P+ ^+ Q7 A$ t) Z
- name: "memory usage", n' a* Q7 k. X' t* F$ ?0 t
- id: "memoryusage"
6 C% m! L, Y+ a! e) z - entity_id: sensor.synology_dsm_memory_usage_real& n& {% t# d1 ]2 h/ F# s
- ; P" |' w& M. \0 c
4 m! _5 ~' b- Y- - name: "memoryused"
; [8 s- u( }& h: U' p - id: "memoryused"
7 D6 X- }8 v5 o$ Q" @ - platform: "template"6 n9 I" ~+ g6 z; ]1 r9 n# w
- lambda: |-
1 z! x6 d6 k) O4 \- a& G - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;
! v7 [' r K$ V6 Y, g. \ - update_interval: 30s
5 U2 h0 a9 h0 i - ; X9 ^' a# `9 {! }
- - platform: homeassistant) [/ m& E2 u% e3 G1 H4 P3 E |
- name: "sdatemperature"
- T9 W- E5 u9 C* B4 w. ~ - id: "sdatemp"
) f7 M) h& M/ f! }9 @, g7 S - entity_id: sensor.synology_dsm_temperature_sda / a" k% q$ A+ }+ ~) ^1 I7 ]
- 8 y6 g" R' q, @ ?/ k- q+ `" R- R
: C/ M% r5 M* T/ I; w& s- text_sensor:- t* |& B8 c4 t' j+ g" v: U& J
- - platform: homeassistant* j, _ E# Y" @- `9 M1 V
- name: "sda total"
/ g4 n J- W3 ~7 x! q - id: "sdatotal"& L+ l4 J2 B0 l. r6 M
- entity_id: sensor.synology_dsm_total_size_volume_1$ h, ~- S8 a( I- T( _$ q
- - platform: homeassistant; J' l6 U9 s8 r; G6 a8 @
- name: "sda usage"5 u8 [2 X4 f& y# y
- id: "sdausage"
- y# ?4 F# a0 P7 V. H7 ?4 ~ - entity_id: sensor.synology_dsm_used_space_volume_1
5 L& D8 @' ~% x, I
3 e% w+ w# t @0 s6 E3 X# V; d( a- binary_sensor:4 T7 q; i2 ]$ B0 U( N) x$ i
- - platform: homeassistant
6 q9 B6 O; a! K0 X8 l, q - name: "sec"
D T# y) q& O( n1 C0 Q6 ^ - id: "sec"9 }! k6 ?/ x; l% D& j/ i
- entity_id: input_boolean.sec_office
7 g, p. U( |& {/ X3 P" t - 5 t7 B, S* z/ k' I6 \6 ?) a6 C
- interval:+ O: |" } Z+ y
- - interval: 10s
( ]& a, H. M5 \7 h. R; o' z - then:; K4 R1 t3 S( r& O( p7 U% u \
- - display.page.show_next: ssd1306- \/ [. e/ _! ^, g6 l
- #- component.update: my_display
9 b# [/ O$ _6 M, E: K% o - font:# b' M8 x4 H- M6 o" U- D' H
- - file: 'arial.ttf'
1 C' i. j6 ~0 r7 t. F. r - id: font1' \4 S5 L% _5 h
- size: 15
6 g3 r! g6 v2 ~: J7 N - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
& Q, ~7 c; r. A" ]! O - - file: 'arial.ttf'2 W( l0 i) _3 Z0 U5 V* C
- id: font2: f( J- O, K% e* G% k0 C2 Y
- size: 186 ]6 r5 q3 k3 r' |$ H
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
" L7 q8 T1 w* K2 M* j* y" V - 4 V* o0 @, Y) w) e) A. z
- ) e; s" [) Q. F5 y" N
- - file: 'arial.ttf', Z" _# _! |2 V1 n% w3 G8 s
- id: font3) ~. T% m, Q9 ?7 p, y
- size: 23
0 _7 A( G1 `% f8 R6 Q" \$ i. W ]5 V - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
% o' T& @! X" z# e$ C4 `4 g7 X. |4 c2 w5 n- ^9 A
?6 e: C& v8 O M1 Z/ N
|
|