|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
* d* Z7 e( Y0 N9 L6 k - name: dsm
6 c F x/ r& ?2 _ - platform: ESP82665 s8 z |0 ]/ P* Y6 f5 Q
- board: nodemcuv2
" e- t4 y6 ^; S) Y# V' D" G1 J5 I
. h# o, r p3 g2 z! V; T/ N- wifi:. o6 Y x& X/ c( }5 e- {( a9 K
- ssid: "xxxxxxxxxx"
4 ]/ u# i* x% @& {( p9 f+ A# E; l - password: "xxxxxxxxxxx". ?$ A( ?: L9 i+ p
- 7 I6 [7 M0 M, ^$ P
- # Enable fallback hotspot (captive portal) in case wifi connection fails
2 j- F# s1 N7 o+ }$ p1 A - ap:/ P6 ?5 z$ P6 ~$ {6 J
- ssid: "nas66.com"2 r: D$ R2 ^. D/ R/ ?2 V
- password: "nas66.com"
9 c1 _2 B' ?9 y9 f; W% g - 7 c9 Z- q/ U( c _3 \5 o- Y3 g# r
- captive_portal:
2 `5 l, n' ]7 \2 Q7 t- ~
9 Z G4 `6 k2 P( f; G- # Enable logging
7 L9 G# F: y; f/ y - logger:
: A- v& l9 R4 i
+ c1 F7 p. _8 V+ O- # Enable Home Assistant API1 F9 H/ @3 b- A" l3 i
- api:
$ t4 J1 @- K$ x
, G, x1 A8 d( G; A( k2 \0 p' h) W- i2c:
5 w+ _7 C9 U- i2 S1 l - sda: D2
. s2 ]! H3 F, l- U - scl: D4
& w1 d1 W8 }4 G3 P. n1 [6 C1 E
4 X/ f7 _9 e c+ t z- image:
( o4 C" Y$ V; J! h9 e - - file: "logo.png"
3 r& i$ ? W( | Q7 r7 I q; y$ @$ Q - id: my_image1 o3 s; ~: u; Q
- resize: 128x646 I5 E2 m6 ?6 r7 m' _9 |0 f' Z
, z3 J3 s ?# Z% d3 D) X- time:0 z+ l8 [% u, k* h
- - platform: sntp
& Q' {; ?9 b- [ - id: sntp_time3 _# ~9 o9 E9 }) J2 y" S* @% v! P! m
- timezone: Asia/Shanghai6 Y+ W# M* ~& w) j$ [4 q6 R8 H9 [
. H' _. B9 D8 N6 q5 ~- display:# F& {$ g% R1 V1 \- h
- - platform: ssd1306_i2c8 z b( y' P7 v! s
- model: "SSD1306 128x64"
& y9 B2 L* E! O& M0 x( L - id: "ssd1306"
/ A' ]- [( f: ?2 I9 G1 z - reset_pin: D0
& P" @. f8 _* K- ]7 f$ |3 I - address: 0x3C* x# ~- [6 D, F) E0 N6 S2 e
- rotation: 180( T2 N" B h2 W4 F- _, S3 c
- brightness: 30%
* f+ X3 Q$ O: F - $ G& {1 J7 h* ?0 p
- pages:, b: p. n9 E& W, ^; r
- # - id: page18 _+ j$ w+ v1 R+ m! C
- # lambda: |- W* I! H' G+ c0 T/ K% q
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
6 } e1 G$ E, p( M - * ]; X# H$ N& j) d7 a* p2 Y% R8 K
- - id: page1
9 W D' a9 l* I o& f - lambda: |-
9 l7 U* r0 Z; D: H* |* d - it.print(47, 0, id(font2), "Info");
8 j9 [$ n: w) E - it.line(0, 22, 128, 22);6 s7 ]! i8 w1 R0 Y" E J0 z {
- it.line(0, 23, 128, 23);6 j4 z0 z: {' I. l
- it.line(0, 24, 128, 24);# p; h- e: E- c7 r2 Q! Y" ]
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);+ S. Q$ [3 X. I$ Y4 R% G+ _
" t. A( o. H0 ^0 L/ F- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
8 _, a$ b( _! H0 l' ?: M% m -
) b5 e8 W1 W6 ~, ^: }) ]) R$ b5 D - # it.rectangle(0, 0, 128, 64);6 o$ }. M. e \
- - id: page2
l; N7 Y) j& x9 l/ c - lambda: |-
. d3 n$ ?# I4 E) H3 V) ~ - it.print(0, 0, id(font2), "Network Speed");
1 N z$ J4 ~9 l2 \; R- Y8 t - it.line(0, 22, 128, 22);
1 T4 O- z& ]7 a+ Q - it.line(0, 23, 128, 23);
% G0 b7 c3 W( @9 K, l - it.line(0, 24, 128, 24);
' n' S9 Q- d: w6 t3 q6 A) ]. b - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
% S) f/ s. y/ \( l' b5 A - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
$ i1 q* |* B3 l1 w) {# _5 E - - id: page3) V6 |' p/ @$ C, @% ?
- lambda: |-9 T1 M9 g4 A8 a0 H3 S
- it.print(24, 0, id(font2), "Disk State ");- H9 J% T4 M2 m, |
- it.line(0, 22, 128, 22);
4 @. K( k* }; X* } - it.line(0, 23, 128, 23);
" D0 s* c6 h, U+ u1 \4 i/ s. O - it.line(0, 24, 128, 24);
& [6 i5 p$ S. a* ]# m' O+ s( F - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
5 W' D8 Q& t( f! A! t - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
: v7 ]0 _2 y) ^: t- p" ], h7 m& j3 N - 4 o |! R8 m- X% a* S- j
- # - id: page35 Z/ s* i. r& U% ^# z
- # lambda: |-5 P, s ?0 b3 W6 @) s
- # it.print(0, 10, id(font3), "WOW!!!");
( J1 u% s' D( J% C' @0 w - # - id: page4: `6 N' ]! y( p/ i$ _: x: ?
- # lambda: |-5 I& A. u) W }; y9 B( Y0 Y
- # it.print(0, 10, id(font3), "Fantastic!!");
( P+ H: E* k, N4 C - # - id: page56 c7 d( h7 _ @" g4 U" p/ q, r
- # lambda: |-
6 B; K+ h# p, l- a# D- @) ]- C - # it.image(0, 0, id(my_image));
* J3 ^$ G, o+ q S; S& n - - id: showtime
) b: t3 I0 z( O1 z/ c - lambda: |-% x9 \7 \9 c* r
- it.print(40, 0, id(font2), "Clock");
$ ]8 w6 G4 [' E; g% [4 ` - it.line(0, 22, 128, 22);: N) s) h7 I0 B8 v" _
- it.line(0, 23, 128, 23);& M3 s9 A" |4 k9 ]. r% _
- it.line(0, 24, 128, 24);6 I+ Q {! k* q2 c( W; ^6 t3 z. O
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
& C7 Y: M5 C9 v: \+ b; c/ _ - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); 8 r5 j0 r0 j# V
& T' \: V6 I9 M3 ~
: i: w8 M& g c1 B8 @" `- ota:# @( U) r. ?( O" t
- # c/ T2 h$ e! {3 H% I1 c/ i
- sensor:
8 z3 Q m$ t4 B3 {* X7 p- R/ ~* i - - platform: homeassistant
4 H- X s. v! `- X6 W( D, K - name: "dsm load"
+ ~1 R6 L% s4 i- p - id: "cpu"- m1 l% {9 x l! _
- entity_id: sensor.synology_dsm_cpu_load_total2 u# m( R9 |/ Q0 S: p, X
- ) n: Q% |& T& A. v0 ?9 B$ L) b
- - platform: homeassistant0 Y/ b; W$ m# Q
- name: "dsm down") p9 F, |4 E K4 m' ]1 N+ ^
- id: "down"
( X( R; c6 [: c' q- M - entity_id: sensor.synology_dsm_network_down2 c9 i9 J) m+ I* c" Q) A
4 D* ?( I' Z9 W1 |- C7 u3 A- - platform: homeassistant
( w, ?$ x8 ?( F - name: "dsm up"
& X/ [# C% y$ E$ I% t# ~, `2 T' y- x0 H - id: "up", x4 Y5 Z/ _; T# p5 y& @) W: c
- entity_id: sensor.synology_dsm_network_up
# t# [- A/ O# X' D" Q$ ^" F
% ^* l* ]( V& Z! C- - platform: homeassistant
; r( j% f( i# q$ z; O$ r2 N' D - name: "memory total"
+ ?6 B* H6 P2 W( z+ H - id: "memorytotal" {$ ^1 a# ?& T$ T! F1 D
- entity_id: sensor.synology_dsm_memory_size
& d. {+ n! K6 c+ _& |
3 ^- ~" m0 w: n# g" @- - platform: homeassistant
% R8 o' \2 T, b" b; G - name: "memory usage"
: R9 h4 E6 `6 p& @, k - id: "memoryavailable"7 q! W' i7 Q0 g6 k+ v
- entity_id: sensor.synology_dsm_memory_available_real) K' z, E$ D, d2 }% E6 e
j- q* D* d6 W/ n7 `% o- - platform: homeassistant
5 D; M3 j2 K2 L+ O6 t4 `% G - name: "memory usage"" t/ @- }8 X7 C3 H8 ^" H& e; R2 @% A7 i
- id: "memoryusage"
7 E0 I6 h1 J: J - entity_id: sensor.synology_dsm_memory_usage_real- g% ^$ g) i' \$ k' C* |8 N
; v: F4 d% ?" y$ D# x
" u( q$ _) r. C- - name: "memoryused"
* y$ ^6 z% s, P3 B+ z7 Y - id: "memoryused"
. ]- t! M# N9 Q - platform: "template"
8 Q& \/ X1 |& |8 U S" ` - lambda: |-
7 e! w Q) n) ?; M; n - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;
1 R3 ~- p) L; T# v0 D3 } - update_interval: 30s
/ q6 K A% O1 I* h" U6 h" g - & W8 J9 L# G) ?9 P, [; ]7 o- G4 Q
- - platform: homeassistant
: k! V J& X/ n1 f. E ]$ M - name: "sdatemperature", G2 ?/ Q7 ?( ? g; F$ Z9 E
- id: "sdatemp"
' h; S d) O+ A* ?1 q0 x& N - entity_id: sensor.synology_dsm_temperature_sda # K, \. _( }+ O7 }) Z6 a
- l/ B3 E; y# o0 L- 0 k$ p/ f1 k0 k. r! z
- text_sensor:$ m$ ]1 v$ z* @' D- ]" f4 d
- - platform: homeassistant
: U1 u1 i3 d# k- r6 K9 | - name: "sda total"+ d* b& J" ]) r9 l9 h
- id: "sdatotal"" W2 k& ^$ @7 Q
- entity_id: sensor.synology_dsm_total_size_volume_17 j8 C5 L- l/ \6 V' [- Q, K
- - platform: homeassistant
8 Z) a! |0 \) w$ {$ f: e - name: "sda usage"9 l$ R3 m4 m& R' H+ r# R( [
- id: "sdausage"
M0 \: M5 p# `1 Z* o+ l - entity_id: sensor.synology_dsm_used_space_volume_1
% m! h% {' y: F; H8 i O6 N - - o* `& R0 t& R
- binary_sensor:! P) m& U7 T. J, q$ M: J1 `9 e. s
- - platform: homeassistant4 H8 N0 E. B+ f2 B8 C9 L5 u
- name: "sec"
0 o! E" u; L- s' W3 h8 B - id: "sec"
6 o1 ^) @% A- s' `' H( U - entity_id: input_boolean.sec_office3 u+ e4 n3 }9 }: T6 f; c$ N
& A N/ C9 X! C; q) s$ Q) S5 y- interval:
1 ^) i; |: I4 b - - interval: 10s5 J: U6 R% C2 J2 J! r) _
- then:
! ^ N; l2 P8 M a - - display.page.show_next: ssd1306
/ N4 ^6 r' ?. l - #- component.update: my_display
6 K5 d% B2 X! Q3 C* e& U: M1 e1 t - font:
]6 |0 A ]1 v2 P0 n - - file: 'arial.ttf', n+ Z6 l! W; I1 [# m- M
- id: font11 V. A8 _2 H+ Z% Y/ J. K
- size: 15+ z2 k; @7 ~7 P. w5 {! n& I
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz", w2 [" ?/ c1 Y) p9 `
- - file: 'arial.ttf'
) h$ x- S" b! l - id: font2
7 a2 {5 N: L9 S$ R - size: 18
8 n: A( N# b6 F - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
1 V6 _& `5 d9 W
9 c+ c$ t) m- P4 G
( V. F2 q _, \. F. P- - file: 'arial.ttf'
9 F8 A! ~, a6 K7 z- M& u - id: font3
( r* G6 E& `1 X5 Z - size: 23+ E/ I2 Q' \9 j
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑0 a1 ~/ h7 m9 a2 P2 k
: |; @' f5 Z: Q- Z( f! C0 {8 v* Q) B! C' F
|
|