|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:# o4 }' e- D1 C# [ b
- name: dsm
4 y3 T1 O: l! h - platform: ESP82661 t/ ]3 ]+ D, B( `; n
- board: nodemcuv2! ~& }$ k: P( P0 Z- l" z5 ^
- 7 k7 A) E. P) F) G O
- wifi:
7 X) u$ K8 j" b* m; Y - ssid: "xxxxxxxxxx"
9 w, w' h* s* r - password: "xxxxxxxxxxx"
$ ~' d; \" h" _4 p - 6 p* ~3 |. a }0 Q. O
- # Enable fallback hotspot (captive portal) in case wifi connection fails( k0 B. Z& Z& J+ H
- ap:7 ^+ ]( z* o6 j7 o; z
- ssid: "nas66.com"
( x& |- T8 e. w+ e - password: "nas66.com"$ F& A; U3 l* |) b+ N
- * L* c, P: v7 h5 G; U
- captive_portal:7 A, n% X( P/ Y. ?5 X6 Q
4 G9 a4 |: @* O3 |- # Enable logging
4 J8 L; r$ e! m# u. T% P) `5 J - logger:* a3 t7 l( U5 f' G" D0 y4 u4 K
$ z, e! h+ h# @) f. ~- # Enable Home Assistant API
+ \+ N' z, O$ h. K! ] - api:
; z7 S( Y8 t5 @3 l' V9 u - 1 p3 H# Q$ V* H" F; V
- i2c:
+ U8 o$ l/ C1 I3 L; E: z. M* i: W - sda: D2. ~+ d! i+ K# ^
- scl: D4, U1 \/ A& B) }" j$ z& [. `7 C/ q1 z
, n0 Q' s+ R( o: y. Z$ V0 b3 m9 ]- image:, T2 B, L6 U$ I3 Y( J f
- - file: "logo.png"
, {: ~5 a2 e/ @% n& ?) { - id: my_image
2 D/ [+ W* n4 J1 e - resize: 128x64
0 e" ^. @, R# l5 |2 H, V
' G, C# V* g' U- time:
: x0 k% d' f+ ?5 D6 X - - platform: sntp
M' W6 I- m, R0 _ - id: sntp_time
! i- y# {9 r: A0 j/ U - timezone: Asia/Shanghai; `* I/ ^7 B* m6 [( A
$ f$ Q7 p) s" N b3 Z0 m- display:
1 C& g4 S+ L x: M& h p* V - - platform: ssd1306_i2c
0 p4 t" p# Z ` - model: "SSD1306 128x64"3 \, R% q# q+ C- T
- id: "ssd1306"
8 a% A+ s" L; E* v2 w9 o( ~ - reset_pin: D0' s6 Z5 p Q4 Q# `) A4 H
- address: 0x3C/ v9 F" \0 i9 D# l& n
- rotation: 180' d. b" C( |' W
- brightness: 30%3 o R0 ~6 D7 }) W
% `) ]! w8 w& D2 m; f2 I5 l4 ?+ n8 j- pages:6 ^1 }) J7 ]6 z
- # - id: page1
+ O3 e- _$ W( E: s( R - # lambda: |-7 [+ u, a/ s h
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
& I% y1 ?2 J R- S4 g - : O h T7 Y) z" o& L, ^
- - id: page1
6 G' g# M. y! q4 J9 v. \; u& D! X - lambda: |-( L/ x- O! l6 W8 l* Y5 x
- it.print(47, 0, id(font2), "Info");
K9 S3 h- z2 n5 Q! g7 \( N - it.line(0, 22, 128, 22);/ h d$ @/ `- M* N( s% V
- it.line(0, 23, 128, 23);9 J. f: }0 G) k% R, @
- it.line(0, 24, 128, 24);7 n: f+ e$ i* K0 m( @$ {
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);: t! s* ~. Q6 B5 ?0 D
- 4 W) s# c/ v2 a" z; a- |, q- L: ]
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);7 J k# L y2 J8 B% T
- ' q/ |" S1 Z7 n3 n% F
- # it.rectangle(0, 0, 128, 64);9 o3 o6 V: ]& @' M( y9 O+ u
- - id: page2
4 Z- X! e B4 Z7 i* q0 J7 l5 ] ] - lambda: |-
( i: F/ ` {" R' v+ E - it.print(0, 0, id(font2), "Network Speed");
5 t0 {% b7 w# F' M8 j+ c - it.line(0, 22, 128, 22);& k M, j+ \ F% g2 @! e
- it.line(0, 23, 128, 23);
% l9 X2 y( v7 B; B" U - it.line(0, 24, 128, 24);
( I8 W" ~& [9 _; S' t* x - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);& C. b4 ]3 N& J
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
6 {8 |4 p G" E. c' z; \' c - - id: page3
. m2 U1 I( v7 y# g% D6 U" b3 B - lambda: |-# s- t. J4 w/ O$ Y
- it.print(24, 0, id(font2), "Disk State ");8 Z6 a2 _' X+ `& j2 b9 F* R
- it.line(0, 22, 128, 22);& Z/ b/ L5 E# N+ K9 C
- it.line(0, 23, 128, 23);; O* p6 U* {- `4 X
- it.line(0, 24, 128, 24);3 }) x- ?8 r9 W5 C
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
/ z) @* v* I9 ]+ b2 G5 e/ X - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);1 n' B) c' u+ ? @
2 c8 o2 _$ `5 e- # - id: page3
* `( o5 z4 u$ m, G5 J) U. X) z) F - # lambda: |-
5 r0 A: Z/ q0 p9 k: c6 ]5 o - # it.print(0, 10, id(font3), "WOW!!!");7 U/ y: w, b9 N) \! g9 P
- # - id: page4 f, G$ ~7 r- b l$ {
- # lambda: |-
, C5 C v6 i9 |. W6 ^ - # it.print(0, 10, id(font3), "Fantastic!!");
' K [) R8 d% [. j! f) b - # - id: page5
, v$ x$ I2 |/ p$ B d4 H - # lambda: |-* h9 Y" P& `; Q/ @$ s
- # it.image(0, 0, id(my_image));
4 G2 y: }1 c m! x - - id: showtime
; y8 r2 ~! n- B$ q5 L) d( k0 K - lambda: |-' D3 K; y3 n$ F
- it.print(40, 0, id(font2), "Clock");* t2 Y2 J$ L( l
- it.line(0, 22, 128, 22);
F* q! M7 [2 r$ G# V! e5 C - it.line(0, 23, 128, 23);/ I& O! Q2 \0 Q6 z( d
- it.line(0, 24, 128, 24);0 Z4 K9 o! B- \* S
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
& e( |) e# f8 B1 d+ n: V - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); 6 G! d5 u/ E. R( ^/ u! N% W
- * N" P0 T+ v1 t* i
- E& a; h! X2 E+ I2 ?. y! d- ota:5 x& K( d5 z6 Z
4 W5 [9 ]- p4 M, D, Y1 K9 p- sensor:
6 O( ]% u" f4 Q0 j% J2 h& C - - platform: homeassistant% {# l' S6 Q4 {) {( ]
- name: "dsm load"
5 B# t6 t; d6 O) ]1 H - id: "cpu"
% a( A: K7 Y6 {: @3 c - entity_id: sensor.synology_dsm_cpu_load_total
% E! P4 ?/ z% ]9 d$ h
& S0 {& o( c5 ?! K$ H- - platform: homeassistant
G8 a0 \( Y, C6 c1 c - name: "dsm down"& R$ \4 _) K% j, U# Y) x2 p
- id: "down"
& Q8 p$ }) V) |2 { - entity_id: sensor.synology_dsm_network_down
" n( B$ D/ o& a8 P4 ]5 v$ E9 g
5 n* u4 m; g- q! Q7 J- - platform: homeassistant6 f3 d2 K4 R( h; o7 M
- name: "dsm up": h# S! C! C8 R. N5 k! M- Y
- id: "up"
. S9 ^7 @& {1 n5 n# S - entity_id: sensor.synology_dsm_network_up
( n4 d) a. {, M) L& a3 z - # g* K0 |+ z |- y
- - platform: homeassistant
1 t) r& X" A) v8 G3 y - name: "memory total"
' {# a v8 \2 G* q - id: "memorytotal"* `0 x* J4 j& d# c
- entity_id: sensor.synology_dsm_memory_size
* y; u U% S& P% ]+ f - . K3 G5 X8 B, X: s) L& |
- - platform: homeassistant
1 ]) w3 k6 v* r# g8 Z - name: "memory usage", T2 Y# n- b( `) M0 J
- id: "memoryavailable"" u5 ]& L9 q/ g7 X& I
- entity_id: sensor.synology_dsm_memory_available_real
+ W" V3 @# q' [# _, o
0 p9 J: F8 X3 f5 Q$ R6 P- ^8 O1 s- - platform: homeassistant# { m" k5 _' E
- name: "memory usage"
' n$ J: j/ j$ } - id: "memoryusage"7 j! A3 c8 R# d' R6 }& @
- entity_id: sensor.synology_dsm_memory_usage_real. J9 g x7 @! N1 ~
9 w! Z2 a; u; f# I7 y) @ X
+ Z% P( @* r+ |1 S- - name: "memoryused"$ W3 t+ k% p0 m9 F1 d. v% U
- id: "memoryused"2 |; R6 H2 J' ]+ Q, z- V, |) h+ q
- platform: "template") G1 s# e( k# f' C7 n! @( w3 r
- lambda: |-! Z7 Z$ k2 q! \$ a- ?) S" Q( Z
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;+ b) W, U- T4 @( M6 F
- update_interval: 30s
& z! M! U0 ~5 H - ' i2 p+ z; P% i% {, u
- - platform: homeassistant- z9 |0 R- h, U- ?* M
- name: "sdatemperature"
5 M: h8 j7 F5 K7 M- } - id: "sdatemp". \3 J+ v# H$ q# u: K+ X
- entity_id: sensor.synology_dsm_temperature_sda - O# t0 R# O4 g& |7 e) F" S
- 6 P5 ]+ E0 e2 y) f
/ J+ R0 ?8 o4 ~( r0 s" S- text_sensor:
5 C& q6 ~7 T$ D- d3 T - - platform: homeassistant* r. R- h8 r. P) Q9 Z
- name: "sda total"
; v0 F5 @ H2 N E4 ^ - id: "sdatotal"$ N# T9 J6 I5 ~7 J
- entity_id: sensor.synology_dsm_total_size_volume_1: b; }% c! f2 @
- - platform: homeassistant
* P/ m+ `6 I8 Q' U9 E" t& R* j - name: "sda usage") q' U" Q2 m2 Q
- id: "sdausage"
# \+ S$ A1 W7 ]: n" |2 W$ x' J3 V3 E - entity_id: sensor.synology_dsm_used_space_volume_1
' L) f8 L1 ^9 }5 i
4 R6 L! h% s1 b7 Y( A( `1 I6 N- binary_sensor:; F; F$ _4 P8 B7 {
- - platform: homeassistant
; M: z$ x* `; x/ d' B - name: "sec" \! [) a- c0 V7 }$ R7 @1 x, n
- id: "sec"
) s4 C, v) K! F8 g - entity_id: input_boolean.sec_office. Y* |% ~ ]" D3 M3 S
- 8 J0 ?/ k7 x/ L) X9 g1 q# }
- interval:
8 T8 I" w6 r: \( m) o - - interval: 10s/ p- w# n, i5 y# v' K- X
- then:
: `* D* h; C2 k* E, v) K - - display.page.show_next: ssd1306
0 m& t: W5 B! Z - #- component.update: my_display
% a# o% w. n9 Q" q- T5 W - font:
! j0 ~8 Q! [: L+ z8 ~ - - file: 'arial.ttf') n+ _, |4 T. p$ \
- id: font1% m9 L+ [: Z$ t2 D/ ~! ~
- size: 15; Q4 `- A! |) X8 G0 |. A
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
9 R; Z3 ~' q2 H0 Q" `; u - - file: 'arial.ttf'
8 N, w: x# \; g" M$ l - id: font25 O) [- h2 H) b, k/ t
- size: 18
/ b$ K: y1 l( L1 G( h! n$ c0 \ V. i0 c - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
# m% ^) C+ P( Z/ W
- h5 I! X/ r- e, b: Q/ }: b: v: u- ; n( w# L; w$ e+ [$ H
- - file: 'arial.ttf'- F+ }; }- T% Y! o6 X
- id: font35 P9 K$ M& `* ^1 e. O5 I: a
- size: 23
, m8 h. Z5 D' ]3 ?( Z - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
" r% r& ?5 q2 N& i3 H7 r
. W& E6 _2 \: v& ?2 p+ ~! V1 |8 A9 A2 D: J& d- ?
|
|