|
|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:/ J0 W6 n: u" k% C6 Y
- name: dsm
5 j2 q) O2 Q4 a0 R! r - platform: ESP8266
5 P+ B B9 W1 A* g' n$ b1 q2 t - board: nodemcuv2+ N+ G, N0 X6 z$ w( [$ \+ G
4 l: o* |5 G, `6 M* y$ I6 |: }- wifi:
7 d3 u8 z5 @" J* `6 I- i4 [! E, } - ssid: "xxxxxxxxxx"5 ~- X( {/ X3 U- B% |
- password: "xxxxxxxxxxx"5 V7 W% E% J+ y2 M
# q3 K% d6 h- g- # Enable fallback hotspot (captive portal) in case wifi connection fails
- C! O& J* S3 E - ap:
6 c! m3 f$ s+ }+ H7 L7 b# w - ssid: "nas66.com"
( _# k' E! t! }% a% ], W+ Y - password: "nas66.com"$ _0 e9 ?, ~& A- U! Q' V- w2 D) K- W
- - a2 S( ]2 W7 g3 s
- captive_portal:
& H7 E; @& H0 n! `' g6 k
2 R' ~5 n% z7 j; E, ]- # Enable logging
4 c+ Q! W! `3 Q$ b* L) N - logger:
9 e+ W: x( N" J% X( s/ _7 S
- `9 N' F7 ]9 H- # Enable Home Assistant API
& k9 ?# b y3 n/ C3 x - api:
& `. ^/ r" q9 ]: B2 _" X- M
# _* e( I2 N4 d1 s- i2c:
7 ^) N5 U! U) t' v9 B - sda: D2
! \+ \% B) D0 u& [ - scl: D4
2 H2 d" y) c) W! N& a6 Y. }/ M9 D& P
+ o$ N6 K- W0 W/ d- image:) E+ E) G4 d' ~
- - file: "logo.png"7 [! _ a* ]0 c: o4 I
- id: my_image9 p V8 S' }3 g4 ^; Q
- resize: 128x64# {, Q0 E# I0 c, [! ]% \4 ]
( A; \3 N4 [ s7 l- E W- time:
/ q7 x" h/ Z" ~( P9 U' a( U$ i - - platform: sntp
, W/ y) _, a& n8 | - id: sntp_time9 T& f/ ]+ \4 R. b/ l
- timezone: Asia/Shanghai
5 ?$ I) K% H. l! i) |& \ N
- H$ b; S+ T% | h- display:
' K/ W$ Q8 W# O& q; d/ P - - platform: ssd1306_i2c1 R' U2 n' u: c1 f1 L+ G: A
- model: "SSD1306 128x64"' P6 f- x3 H+ {% e3 E5 i! a
- id: "ssd1306"% W! a' P/ E+ d/ v. I
- reset_pin: D0( c6 _. e) @! @; T3 p
- address: 0x3C$ P9 p! T" U+ B# U
- rotation: 180' O' h, E5 i4 j; a1 ^9 E& K
- brightness: 30%5 o* m: B2 {. E) |4 x7 i7 ?9 e
- $ P+ E7 [; ^. |- @. H9 c
- pages:
" g {' W! R% a5 k5 c2 T; q( A- i7 m - # - id: page1
8 _0 Y8 j1 ]# o' f - # lambda: |-( A8 i0 y1 J3 w$ [& N
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
" J8 g$ j$ l" {! k6 |
0 R2 S/ V+ T2 Y' Z0 S- - id: page1+ h, v* P6 H% u% c* l
- lambda: |-
& x. x& _( u( j! l* _ - it.print(47, 0, id(font2), "Info");$ |$ E. G( n- X1 P7 b$ _ F
- it.line(0, 22, 128, 22);
5 k% p; G9 |' O0 R* _8 R$ b- ]- y - it.line(0, 23, 128, 23);
/ K/ D4 x5 Z3 d* m - it.line(0, 24, 128, 24);( M6 a" c5 P" {0 S
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
; E0 i, }+ w- a
( A, @1 }$ ^7 b- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
, _5 b9 ~7 U2 ?3 M" z3 V -
, d$ o4 d* m! S. X - # it.rectangle(0, 0, 128, 64); M& n. I/ [0 o k& g: ^
- - id: page2$ J* l- S0 _5 _' y. t# V8 z
- lambda: |-
# k& h- J( V1 j3 W - it.print(0, 0, id(font2), "Network Speed");
8 Z2 Y) E, m1 x: o( h6 Y! r( t - it.line(0, 22, 128, 22);
& G5 r0 W4 r7 d4 l: o - it.line(0, 23, 128, 23);5 t0 u D9 o/ d- b
- it.line(0, 24, 128, 24);0 K& O+ C* i5 q+ i! h
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);: u( X. f$ R8 A* e+ Z7 S$ k
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);. f2 A. r3 e# {5 V. S. _
- - id: page3
9 q0 o- p# G5 l4 Y1 S/ P - lambda: |-
) O% o. y, W4 [, U - it.print(24, 0, id(font2), "Disk State ");
) m- t, J9 w/ Y7 R# S - it.line(0, 22, 128, 22);" v# }. q0 @) P/ Y5 g$ L
- it.line(0, 23, 128, 23);8 w$ v! X$ h; q: R% l% p7 ~! f8 T
- it.line(0, 24, 128, 24);
1 r, j& A# V0 P7 F - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());" q- u0 O# b+ o% G U/ c# [9 u
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
% I: @& P; g+ f: s$ x+ u% ? - % J. ]/ m- [/ ?5 d. b9 e( U L
- # - id: page3
* p) Z, ?# L3 v: S# i+ {7 j - # lambda: |-
% W# q* `- {) E1 h - # it.print(0, 10, id(font3), "WOW!!!");
0 m* S" O) d+ P/ O7 @ - # - id: page4: d' A+ V0 w: e% [
- # lambda: |-
9 v k; U4 s% A' U7 y7 _7 f - # it.print(0, 10, id(font3), "Fantastic!!");. I# m L$ b: P
- # - id: page5
( ~1 n( o+ A) d$ E) v1 N$ e - # lambda: |-
6 P3 \5 ^" I9 m: |& Z+ u5 f% A - # it.image(0, 0, id(my_image));
+ b5 \6 G7 W) O4 t - - id: showtime: y9 V* {* Z( n, ?; Q/ o! X I7 K* Z
- lambda: |-6 q3 P, l# B% |/ g& J
- it.print(40, 0, id(font2), "Clock");
) A3 ?% e: T% C' s& F1 u - it.line(0, 22, 128, 22);! k* R% ?' R! ]; _4 j8 z% q
- it.line(0, 23, 128, 23);
; m+ [+ i- |" ?+ E - it.line(0, 24, 128, 24);# {1 N2 S" y2 Z
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
' t1 F+ O" ]0 | - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); 1 v% q8 B) | R! x; o
- ! ]0 V+ g2 Z+ d1 x8 b
& M$ C! B9 P$ r+ t. x; ~- ota:9 b6 A& w' W6 m$ j3 q
- * H2 M6 \ V' e5 e( ?, G0 w2 R
- sensor:" m; }5 y7 @5 ]; I6 m9 r8 Y
- - platform: homeassistant& s. J2 I; `! A( z/ z& F
- name: "dsm load"/ E# U1 l7 X9 l9 ]
- id: "cpu"
! ?( D4 Q" | [/ J: i- _- n- r$ O - entity_id: sensor.synology_dsm_cpu_load_total- ^$ f/ w# }2 g% d
) T2 X3 D: T3 f- - platform: homeassistant
! m( r$ x# `9 \- J1 K1 P y" p - name: "dsm down"6 w: c/ ~/ ]/ O; z/ N0 z
- id: "down"7 _# `: s6 \3 F
- entity_id: sensor.synology_dsm_network_down
7 J6 ~8 l, V5 x8 _- X* ?" w
3 f$ K1 C$ G+ C- - platform: homeassistant
; d4 F6 ~/ a2 ?/ c; F' q s! w - name: "dsm up"
7 X2 X- m& o' ^2 r - id: "up"7 \; H- I* l/ t( ^4 L/ c4 ]
- entity_id: sensor.synology_dsm_network_up
) |1 t* Y* P X4 v - , S* n. G) i3 w) ^: Y# ~* F* {
- - platform: homeassistant9 o: ?* s. d% Z0 d& W8 s! s
- name: "memory total": \9 n+ m( f# S. h
- id: "memorytotal"
0 c( V# i+ h' m& y5 Y- j - entity_id: sensor.synology_dsm_memory_size8 S- c& U K9 T, z3 e. |
- 3 Y- t. N# A1 G1 l/ Z
- - platform: homeassistant) F0 Y% O4 {5 V8 {' D& B+ Y
- name: "memory usage"
, J' e8 w W$ e+ {) i* r$ R" p' K - id: "memoryavailable"- [% B! b& L7 | H8 }, i
- entity_id: sensor.synology_dsm_memory_available_real0 [+ i; M8 V! G- b
- 9 c" O; r9 f# a$ u* [7 \
- - platform: homeassistant% S( ^4 a9 d1 ], ]# V
- name: "memory usage"
6 B# O$ q' s8 S+ G - id: "memoryusage"% I, p: U# F; j! w1 M& z
- entity_id: sensor.synology_dsm_memory_usage_real
+ n1 {4 w) z7 e U5 I, b - # [8 ]5 U* C$ \. T. ^
/ Y- ~5 Q0 z% ]4 R0 ~! \6 I& L- r- - name: "memoryused" P2 j# v( [3 m. c% t$ a- }* I0 U
- id: "memoryused"
. q- _5 I1 H# f8 q& ?( ~5 h" f - platform: "template"/ A! r4 t& Q4 \, ~0 Z* z
- lambda: |-
/ w5 e8 M! T" b { M2 p - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;7 n5 L* k+ i+ t; \
- update_interval: 30s: a7 H G/ i! s
- ( D$ }6 |2 s: Q% {6 R/ g
- - platform: homeassistant# n& e, a( J) X7 z2 Y
- name: "sdatemperature"
0 e1 Y5 Y9 v6 \1 r - id: "sdatemp"' M! {5 w: P) m" T/ |2 b4 b. e
- entity_id: sensor.synology_dsm_temperature_sda
" S( d4 {6 ]- A3 J# Z1 P
; `' B2 Z' }. Y" }. i' x- p6 ]: |- ( p# a0 ]; H8 x4 V1 Z2 p
- text_sensor:
& d5 E z- _$ o - - platform: homeassistant
7 s% S, |* b' B/ m% Y2 L - name: "sda total"1 }: j9 P6 x+ c8 A% f: d# S/ @
- id: "sdatotal"
; W" E; b& C6 { t$ c - entity_id: sensor.synology_dsm_total_size_volume_1# ^/ ]# P, p1 a; ~
- - platform: homeassistant
/ [/ T0 u2 t9 u& @ - name: "sda usage"6 f3 \0 {$ T- P5 @# \. C' V# g
- id: "sdausage"
9 a1 d9 f- P; W# N, L - entity_id: sensor.synology_dsm_used_space_volume_1 - _8 Q a/ q2 z- F' k
7 z7 L. Y( v) I& v6 a- binary_sensor:
5 I- [6 R& V* A( @# H - - platform: homeassistant
' i! q: F# b: \ U% s8 {/ z - name: "sec"* J* b) \5 ~( H( d
- id: "sec"# f# C& r0 \5 j7 M! k
- entity_id: input_boolean.sec_office+ \: r$ y4 W4 e5 D8 S8 }
) O8 q/ y! b4 O' V5 X8 L- interval:* L" h- j w# U# A$ F
- - interval: 10s0 E) ]. z) I! X& }$ \: X# Z
- then:
# {; c% y+ K, h. h% u/ \ - - display.page.show_next: ssd1306$ I, ?; x8 O$ t) {
- #- component.update: my_display
( Y4 p, M$ h+ B8 B2 G - font:0 I* d% V7 E; d
- - file: 'arial.ttf'
0 b+ l3 j2 M+ d7 x1 k - id: font1) q6 y, M, K+ Z4 G7 w
- size: 15/ E* u" a$ L; I" @# W2 O
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"' I( N: a T+ m& @5 e
- - file: 'arial.ttf'* J- Y' Z" j2 h( V4 i4 s" v J' d
- id: font2
% T& I$ j7 K: a p7 [ - size: 18+ r" _8 R: O# y" i, x. a
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"% _/ H1 ]# o! Z0 h* V5 y. G
- $ E) K1 t+ L4 U9 K, H: s$ R
$ P/ B; K# \7 _ H: A' R& Z- - file: 'arial.ttf'" J/ ?. ^* }% n8 O$ _' c
- id: font31 v$ ^- i/ m W% U
- size: 23( z; }* u+ e: U- v O
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
" O0 `& W2 ]- d! O2 ], t$ r' M
4 y- `+ A( s& P; K. N9 M% K1 J
|
|