|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:
8 a( n+ h" U3 r - name: dsm8 q+ h% z y. h& k/ }, {% b& x- H0 m
- platform: ESP8266% V9 r& c, H, ` z, ` O- |" g# z
- board: nodemcuv2
3 N' q# u% J: Q [0 `8 f
0 R0 d& R7 Z# r8 S% G5 }8 K6 r- wifi:! {: \" ^# z9 [* B' F2 k' P8 p
- ssid: "xxxxxxxxxx"0 f, Q/ c6 J- t% Z4 }
- password: "xxxxxxxxxxx"/ X6 k1 g6 a& n
! E. U$ V- R. r! i& R! E( Y- # Enable fallback hotspot (captive portal) in case wifi connection fails
. K# O1 r8 o X9 g - ap:5 h9 f; w! c+ A+ ?' F" m+ I
- ssid: "nas66.com"
5 D6 |4 ^5 w! l: p! B- l - password: "nas66.com"3 N0 g$ W2 }1 T4 L. X2 Q# O
5 o9 a( ]( N/ R. a; ~- captive_portal:
+ D: K6 e u) s8 w Z, Y/ w - 2 Z, P: W @3 b* M
- # Enable logging
# [6 I4 H9 Y3 _% _# B* l: l5 x - logger:
6 x+ j: h" e7 ]5 ?
9 j# q; s- W/ z( A2 F" |; f8 U. D- # Enable Home Assistant API
$ C; @" L0 C" I: I8 `- q* c - api:& i/ I9 O! P% k$ y
- 6 ~0 D& Z1 V% T, B# f. l& F
- i2c:
& B. O8 n! C9 @2 n: K, k - sda: D2% c1 l$ ^0 n0 N$ t) y' j; [' S0 d, r
- scl: D4
7 _( X4 L! F) N7 k, @
; r, k* n- Q3 [- image:
7 Y9 e7 R% ~0 [1 H - - file: "logo.png"7 f, R7 X. C/ m4 b ?6 e( J m
- id: my_image& h: i L% O. R& H( l- o5 o6 K- }
- resize: 128x64
3 r- ~8 l& q6 n9 k/ h$ @ - ( w/ O+ f& ]4 U3 U. {5 c8 S8 y
- time:. o4 I( g. f. l% A, D: l
- - platform: sntp
" V( f: Z) C1 X1 k ` - id: sntp_time' k. u/ {& ?" b- _
- timezone: Asia/Shanghai9 Y x# }% h$ I+ n2 K( A
- " w6 b8 R+ w6 b. s
- display:) b9 E% h( n; V9 q- F w3 [6 h" \2 E
- - platform: ssd1306_i2c4 n0 {. I/ z4 t. n5 Q
- model: "SSD1306 128x64"1 R' K5 s! D! s
- id: "ssd1306"
/ n% C7 S" ?1 B3 g - reset_pin: D05 M) H' w/ z# I8 W
- address: 0x3C' p2 w; j7 L2 {, E6 e
- rotation: 180+ Q2 K) B6 c* F1 f
- brightness: 30%
- Y' y8 s/ I5 ]8 P3 P
, K a% `7 t7 B- pages:$ i+ v. G. N/ K$ j# V
- # - id: page13 k# |: q, m) c/ n6 F
- # lambda: |-& ~7 u2 J" w! e9 C
- # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
; j0 l3 A, J3 ]6 x# a' C) g
; N% E; d3 n! [1 _/ w8 S6 U9 b- - id: page1: a; h7 z# ^' v+ c( X: d4 {
- lambda: |-
( ^# D9 u" P- @9 w - it.print(47, 0, id(font2), "Info");
' N% o% s4 R& l! b$ G/ b - it.line(0, 22, 128, 22);
+ q+ g# z5 T8 l4 ^0 ^ - it.line(0, 23, 128, 23);
$ n) g c& d% X - it.line(0, 24, 128, 24);! f- E7 N- q" c6 P8 B
- it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
j4 E. ?$ \. F% m4 A, _& n" ^ - 5 l+ Q+ f. l4 q1 Z
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);$ v5 C2 o- F- ~$ N
- / R" C6 G0 t2 d, t& h6 J1 M4 n
- # it.rectangle(0, 0, 128, 64);
. g; \/ E' d2 R! G: A' K: O/ e - - id: page2
3 O: w$ n& |; u' k. R# o - lambda: |-
: x1 j% ?$ e) _0 s, X" `( ? - it.print(0, 0, id(font2), "Network Speed");- R9 l3 r3 U9 z
- it.line(0, 22, 128, 22);+ H8 c1 u2 u- m: s2 Z L5 A
- it.line(0, 23, 128, 23);
$ x1 _: ]( ?% e: [' }2 d - it.line(0, 24, 128, 24);
3 b* u, Y$ Z& z2 w4 J/ G - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);6 b4 `+ [- I* V T, k( H7 T
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
0 w, R5 v7 a; q9 J$ o/ r9 R - - id: page3: ?$ g2 e( h; K2 @
- lambda: |-
; a6 w9 m; w$ Q7 c* i0 C7 w: t - it.print(24, 0, id(font2), "Disk State ");7 W5 l W$ R0 `* I
- it.line(0, 22, 128, 22);
, I& F) b3 N- J4 d, [6 g - it.line(0, 23, 128, 23);
- `) H2 V8 F$ d5 `3 ^3 m - it.line(0, 24, 128, 24);
z" `' u `# `, _& L1 Y+ i8 P5 V2 b - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());7 V9 a' D/ m! e/ N/ a1 r0 L
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
2 Z% R7 n! P# q8 d! M/ L3 n: v
! n# I- d; n# C" u# J- # - id: page34 {, H- l5 g1 m' p- R
- # lambda: |-
6 n, I6 Y* W2 ]' b" }$ v - # it.print(0, 10, id(font3), "WOW!!!");; ?( v8 }- I( g' J1 G3 Y2 o
- # - id: page4* `7 c+ O) z0 E4 ]! @- E
- # lambda: |-
6 ^( r* n$ K: B8 D0 Q' H$ C& _+ p - # it.print(0, 10, id(font3), "Fantastic!!"); k$ f: ]7 v+ H- g0 D
- # - id: page5
5 Y! o/ m) W' q+ ^) ~+ d - # lambda: |-
/ d0 B7 d) J1 e, c# F( h( l( S/ d2 \) ^ - # it.image(0, 0, id(my_image));
( Q, X# b+ c% `9 q j: d7 k - - id: showtime* [) ^9 K4 [0 n! i% Z
- lambda: |- m- r5 @% }- P& f, k
- it.print(40, 0, id(font2), "Clock");
" a: o7 j+ ]2 R - it.line(0, 22, 128, 22);5 B# e/ f9 T4 O7 O$ e5 d
- it.line(0, 23, 128, 23);
4 S; i( I \) w9 T% } [) q0 F- l - it.line(0, 24, 128, 24);
+ B- a: J' x1 O, o s! G) ^/ z - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());$ y$ Z/ Q% }/ p$ o+ I% n
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
: r% b6 n: d: M: y
' K1 T h2 B; d8 Q, z6 ]+ S5 _- 0 k/ T! u* I0 l& q( ~! C
- ota:
* R& O0 D, s) b( P `( i5 T" @4 i. n - 0 _! o( }( p1 Y2 D
- sensor:
7 e: _$ a9 v! g# S/ z2 b1 j - - platform: homeassistant
, q9 [- B+ [1 J; Y/ y: Y. e1 v - name: "dsm load"
5 u3 i# n% [9 K+ ~; V4 i( x g, J# D - id: "cpu") P7 R' B9 X6 s/ h( d% G( R# V
- entity_id: sensor.synology_dsm_cpu_load_total
9 D O: P, c" ]5 E. _& v1 v
, @3 E w' y# F3 A- - platform: homeassistant
' r9 |/ j7 P* L4 y) S; ^$ `6 K - name: "dsm down"
! G- M% ?9 f4 M$ c - id: "down"5 \7 `8 S' c E5 M& }8 E* _
- entity_id: sensor.synology_dsm_network_down
% m7 m5 r1 p: [, p
/ Z- I: I% H) R2 x* {- - platform: homeassistant7 Z% E: d3 d: N5 F& A! B* U
- name: "dsm up"
- i! @. V6 _0 h0 k& G - id: "up"
" }0 {+ f- s4 T. h& D1 S - entity_id: sensor.synology_dsm_network_up
; L" @; n( c% w' Z) n - 3 @+ @9 A% M% K
- - platform: homeassistant6 m1 c0 O: ?/ ]0 v* J
- name: "memory total"" @ r- o9 x$ \% p7 G4 {% C
- id: "memorytotal"0 P# Q: c5 D/ N( h" V0 {1 C! K# K
- entity_id: sensor.synology_dsm_memory_size
* Y x, |+ I7 r! z' k2 o1 @# a
+ K& ], O/ Z/ e: F- - platform: homeassistant
( |& E( c! b: O+ m9 b# j5 e* _ - name: "memory usage"
6 x) ^- K( X0 O - id: "memoryavailable"- a1 F5 Y( v+ Z5 Z# D8 v ^
- entity_id: sensor.synology_dsm_memory_available_real
6 p9 q, F1 I' y g; p - * a- x& J/ E1 I/ B: z: A$ e
- - platform: homeassistant
' w2 e! h, M6 P. z1 |% z - name: "memory usage"
2 c9 H; Z w+ j- K - id: "memoryusage"
( K" B5 w g8 @# d - entity_id: sensor.synology_dsm_memory_usage_real
" i- m! y! E* W
8 r/ K5 N% ]( ?2 }9 u$ O1 M! v! M
( U A: p+ ]2 V8 w* ]0 D- - name: "memoryused"
- f6 v- n- s. d - id: "memoryused"+ B& t5 k# J9 |, c
- platform: "template"2 ?$ }2 Y; \+ f! ^" B) Z2 l
- lambda: |-
: d! h/ C+ y; k4 R, s* Z% G/ t - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;! X( B, `( K$ ]0 [0 i
- update_interval: 30s
( _+ N5 A7 [. i! c - - x/ e& Z: N- @1 Q
- - platform: homeassistant" Y3 e; c! \6 E# I( h
- name: "sdatemperature" m* A3 M9 ~/ k7 V# ?/ R
- id: "sdatemp"1 [) l, E0 _1 \7 a
- entity_id: sensor.synology_dsm_temperature_sda : |. E( |$ @$ h( b. @5 q( M w5 Y- ?
9 a9 G' ~5 ~$ s# v
2 f/ u' ?7 o4 e+ i! {0 \- text_sensor:
( w' S+ C) n. f5 i% H7 ?: F - - platform: homeassistant. f0 d/ `0 I: R0 S% a2 a* d7 J
- name: "sda total"* ` m2 g4 K% i# k, X
- id: "sdatotal"3 ~; ^ w; C% J) A6 k- u4 @- G, V
- entity_id: sensor.synology_dsm_total_size_volume_13 f; n' t* ^: v7 }9 l# T, q
- - platform: homeassistant: l3 w6 b/ P7 a. }, h5 s
- name: "sda usage"
& L5 C3 K: k+ f9 g+ r& C - id: "sdausage" M: X' P# |3 V% n
- entity_id: sensor.synology_dsm_used_space_volume_1 1 @+ O+ E( H& ~ Z9 B
4 H% a* l2 \6 h5 g- binary_sensor:0 w$ Y A" g+ m5 N
- - platform: homeassistant
8 K& ^+ c" X$ r - name: "sec"
! L- X) W2 Z! ?4 L% p - id: "sec"
0 f( q' [7 u& ^4 I: e; n - entity_id: input_boolean.sec_office
: T8 }6 h) j) H! T1 m1 L4 ]( e
/ ^. ]1 k1 i0 \0 R% @ j- interval:
8 c) e5 ` E- x - - interval: 10s& r) k8 x7 ^9 Z6 J3 m r
- then:( [* p% D8 @; h% F T. u
- - display.page.show_next: ssd1306
# r$ W6 ]% I, X5 z5 F2 I( a/ Y - #- component.update: my_display# K/ P. Y2 u$ e- z8 b9 l' P7 v: E
- font:
_3 n( G6 w, P X( Z6 A5 _7 q - - file: 'arial.ttf'
- L8 q0 T4 e/ k% M- w, f% y - id: font1
$ w6 E% S7 g7 k/ X: v* L - size: 15
/ [ S+ S# s1 L& M: M - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"- @, N8 x1 N. v3 w5 ~- w0 a
- - file: 'arial.ttf'
- K) a! t5 p, V* A+ k - id: font2
, _# l6 t9 s. x - size: 187 b( m+ E6 n; x( o; Y- Z
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
3 U. t% ]0 P$ A4 m - $ e' A5 C5 C2 U/ C* P" G, Z. B
9 {5 _( B" H. c4 H6 ]- - file: 'arial.ttf'
- N7 `/ K* J+ l0 d8 R - id: font3* L# _7 d# r; a/ @4 a, G4 R
- size: 23
+ h2 o- W) g4 ^5 m - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑) B" O8 c+ E; v+ U
& ~" F( X& N+ S( g3 u: f# ]4 B+ r$ C5 u% s% q# F1 I" v& T
|
|