|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:$ f& c3 b/ z) T+ ?( y- J7 P
- name: dsm
* C3 K) i P4 Q - platform: ESP8266! @+ h) z# w* K/ T% o; ]& ^
- board: nodemcuv2
) B5 b$ m& m0 U; o* ^# t - ' Z! E) a; W/ i$ z4 e) Y& q* s
- wifi:
( w# m/ X# M. W+ u! W* P - ssid: "xxxxxxxxxx" W6 m8 o. W& a t% \3 Z: g" e
- password: "xxxxxxxxxxx"
1 a2 U" V4 R$ z, w' s' b
! y+ r0 I! G" z t5 g- # Enable fallback hotspot (captive portal) in case wifi connection fails) \( {7 j" x) o- T
- ap:8 W& c7 s1 n, X
- ssid: "nas66.com"2 J, t5 s) k- l6 S u
- password: "nas66.com"
6 S0 a4 P+ b) o4 ?& S+ u: { - ; C2 h2 J, N D) o- M% {! S
- captive_portal:
$ E0 P7 N/ x' n4 r7 v- c4 V2 |
9 e# ~3 ^# N% k, X: g# Z- # Enable logging
' p- q( Y- `6 |. j7 ?- D - logger:
" w: V6 F" m' X) a" D
7 a5 O' j, P8 p: B* m2 h- # Enable Home Assistant API" i O) g! \4 [/ X1 ~
- api:
- [# ~% p, r, P+ | R: e( d - 5 C+ Q+ B- V+ A$ \* {" |9 D
- i2c:7 b# S* Z: b; g2 Z& w
- sda: D2
& p' Y; C' g2 G" J# w - scl: D4
2 u% Y; b2 Z! ^" h# k! J - ; C1 r& T+ l9 o' S9 m
- image:
! x, o: j! N. m4 T5 ` - - file: "logo.png"2 l' _$ I% V) y8 \
- id: my_image
1 Q8 _0 C2 J/ ^* ~( @5 j9 }5 _$ X - resize: 128x64
( X5 {; a5 i/ m( Q$ H( C2 C8 H - . n! s7 p, T; Q. X7 ^ P
- time:
* C2 s8 W/ c9 s# K" I0 B; G - - platform: sntp
4 P# N; Y9 U+ P1 S- R - id: sntp_time4 T( k1 b+ A! _# `/ n5 F
- timezone: Asia/Shanghai
9 X# P$ W, m& N, z - 6 ?$ |3 @ `2 V; K
- display:0 j/ m. \- ?& X9 [0 X2 \8 y! r
- - platform: ssd1306_i2c
W% h6 t. `$ a j - model: "SSD1306 128x64"0 o. v, Z4 D1 P
- id: "ssd1306"9 c4 D% `% A& L3 C. w2 P1 K6 j# Z
- reset_pin: D02 U$ G; j7 q5 L6 I! n: h# f( B
- address: 0x3C0 ]; G) o- S$ d$ ~' W1 ~) u
- rotation: 180
- F/ T6 m* _3 p8 ^/ o; N - brightness: 30%
5 Z/ X1 ?0 m0 T( _ - $ n) ^$ p: G* ~, \
- pages:
9 c3 H' ]9 f. C* F5 v - # - id: page1
' A; S1 [; I( r2 ? - # lambda: |-
% Q; g' c2 E4 [0 [. ?5 w/ F) { - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
( |- X5 I8 H2 S6 Q) R" Q% B9 U - 2 W/ [- Y' Y1 K: i
- - id: page16 a. L! T5 z# l1 T0 h Y( c* }
- lambda: |-
* A) v& B3 R3 n5 s, Y - it.print(47, 0, id(font2), "Info");
) p. u- ~! j9 P- k - it.line(0, 22, 128, 22);# `! p; B! p* F. k' m
- it.line(0, 23, 128, 23);
; e+ \- L( ~7 Z, c+ P - it.line(0, 24, 128, 24);
1 e3 N o0 W, c+ }8 A! H; n - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
% @9 C$ J, R( J# f4 q: ^, O ` - , M; T* |; z, Q. a" c
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
( O) K- [$ }, ^+ V - 9 M+ {- I* g( P1 R! O
- # it.rectangle(0, 0, 128, 64);
% x% ~- y4 U0 r- n" G - - id: page22 M' k% @- v C j
- lambda: |-; m! r$ x o3 s
- it.print(0, 0, id(font2), "Network Speed");5 D6 Y, K( K% A0 S4 X
- it.line(0, 22, 128, 22);- \8 {- |' X. J& h( i7 L
- it.line(0, 23, 128, 23);" {) K, W- ~/ t. p! }
- it.line(0, 24, 128, 24);7 h) {& Z) ]1 M6 |/ E
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);
; S3 W" j/ y6 J D - it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);) d& F1 [( d4 ?; S, k: e; R2 L
- - id: page3) @( s/ f( A' R
- lambda: |-
, Q' j" I6 U/ t" R' \ - it.print(24, 0, id(font2), "Disk State ");
/ Y( ~) P7 }2 ^ - it.line(0, 22, 128, 22);7 A( d0 M! A+ Z4 k$ O% |
- it.line(0, 23, 128, 23);7 W6 ?5 i! o2 u% ?; [- h, p3 S1 i
- it.line(0, 24, 128, 24);
3 |- @4 A% F Y$ q! m - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
. o1 i2 b `% s! m - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
7 Y( ]- v1 @# l - ! P; k: b& G! `+ ?+ V& J# F( B
- # - id: page31 j& ^- Y0 [; E O. F
- # lambda: |-% I. x' r& k9 g! A) j! N4 h, B
- # it.print(0, 10, id(font3), "WOW!!!");/ v$ u) e+ I$ S; V$ |
- # - id: page4
9 c& f# \( ?6 O C, l - # lambda: |-: W$ _4 V; J; `- j) u4 s; `
- # it.print(0, 10, id(font3), "Fantastic!!");. ^% ]% [8 Z; ^( l" o2 o$ ~
- # - id: page5
( Z* R- B3 g6 R4 T) u - # lambda: |-. |/ q3 }) {2 \) M: u2 A3 ?% n- j
- # it.image(0, 0, id(my_image));
' {7 }# {1 j% B) f8 H7 ?4 D7 d1 p3 w - - id: showtime' O( _: G# d: _/ F6 J
- lambda: |-
: G: B/ U/ b X - it.print(40, 0, id(font2), "Clock");
! r& r2 v: }0 N; Y - it.line(0, 22, 128, 22);- o3 {' N) \7 Y% J- g2 e
- it.line(0, 23, 128, 23);
" h; h, g/ G' N6 r/ r0 R, ?# D5 K - it.line(0, 24, 128, 24);
/ P# ~% \ C# a/ X1 K& Q G- @, z d - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
5 u9 l/ z9 [* G ?$ e+ ] - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now()); + Y# N) U; u: p
6 n- d( e) o l
' Y/ F% K! |& f9 c) Z, C- ota:- x' }. ^6 m8 `: ]- J% I
, z" Y% C' D8 P& R ~. d K- sensor:
1 T5 z$ L1 g6 h1 ?0 v0 z$ t1 s. u - - platform: homeassistant, M: K( I' G* h
- name: "dsm load"
. A: y, B. z: b - id: "cpu"0 L+ |/ t2 [* {0 f( T0 Y
- entity_id: sensor.synology_dsm_cpu_load_total! T9 z* D" P% w! Y1 u
( G$ A( V+ k2 I6 R; U0 @- - platform: homeassistant, s1 a6 `/ c @! u, H
- name: "dsm down"8 _5 u- Z- a9 D( E- q
- id: "down"
2 y0 v ~# E& ^( D - entity_id: sensor.synology_dsm_network_down1 n, G9 R9 T4 O0 d
- 4 y/ T, j2 S J6 @8 K
- - platform: homeassistant7 |! [8 q) |) N3 E) Z
- name: "dsm up"2 m4 E* k0 T5 N6 @- |
- id: "up"6 D2 Q4 y9 o, |2 R0 ~ Y
- entity_id: sensor.synology_dsm_network_up
) n: n0 Y9 z N% @0 D) {4 C) d - ! }& ]) V, ]8 r+ O8 X9 F
- - platform: homeassistant
B% H% \+ ?- ?- q; Y' v c - name: "memory total"
, M3 ?; g" B$ I6 ] - id: "memorytotal"
6 v# n, ]( g4 g; |% `1 D3 g3 g - entity_id: sensor.synology_dsm_memory_size
0 x$ H3 ~6 G6 R2 U% ] - ) x2 b7 k6 j- _* z
- - platform: homeassistant
% U) f/ n3 J8 |7 q6 Y2 d - name: "memory usage"1 z% l' i y% O% d. o! A: ?7 w
- id: "memoryavailable"
7 e( T- i y/ g; \+ E8 a$ a - entity_id: sensor.synology_dsm_memory_available_real
0 U; b4 D. Q/ |
4 z; u( C8 b" \0 J' |/ I- - platform: homeassistant
! O- g" d; w6 | - name: "memory usage"
( Y! Z: @& d+ g" v - id: "memoryusage"- F. K4 A0 o: G! V, u
- entity_id: sensor.synology_dsm_memory_usage_real
5 |7 O1 c4 w; d8 z b. g2 B' t. C
- T( t- j; @, d) k6 P
# @) N, |; |. S6 t4 k- - name: "memoryused"
) j( K7 M% q! r) b" v - id: "memoryused"7 Q d2 v% W8 I& Q9 o+ a4 T( N1 P
- platform: "template"
2 j# n1 d# `/ E1 M) u* } - lambda: |-6 y5 a+ h( I/ A! A; d
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;. ?- [9 Z9 J, o% O' H5 {! Z
- update_interval: 30s
" }8 F+ T: V" p5 s( T
2 P; g8 F; e1 ?& W- - platform: homeassistant
# o5 ^( P4 ~5 v1 O+ m8 { - name: "sdatemperature"
( o" P- n1 D7 i2 \2 z( D0 ~ - id: "sdatemp"+ {& d$ w- a! A( X- ?
- entity_id: sensor.synology_dsm_temperature_sda 2 ?2 E. g; Z# [5 w o
- - }( l4 M) S1 P! D
- 1 s& d9 j$ u' g' p6 l! s; o
- text_sensor:2 y+ F0 U$ |6 Q [+ p- a8 }; D1 Z
- - platform: homeassistant: s4 T% n9 i+ R7 R1 M) L" q% H# U
- name: "sda total"
8 w# d C' O; C U - id: "sdatotal"
: E0 E8 g1 h1 v$ n4 Y - entity_id: sensor.synology_dsm_total_size_volume_1
+ F2 @) ]" ]- Q: W1 b8 I& q- N - - platform: homeassistant
( b& i8 q; `7 \8 u$ q& _* n! A - name: "sda usage"
. E" f- o1 k8 q: N9 Q& F - id: "sdausage"
% |+ d4 F. @/ C4 [) Y. ~0 k r* | - entity_id: sensor.synology_dsm_used_space_volume_1
0 S- ] c/ l; q+ @$ i9 w' X - * c& G* B* D% s. E7 {
- binary_sensor:
m+ ^2 c& o# Q - - platform: homeassistant
; j' ~, O9 C2 Q/ L+ H) M - name: "sec"8 N* U: {! m, e8 v4 R$ u
- id: "sec"
% n8 s& ?. ~. }8 S, m - entity_id: input_boolean.sec_office e, ?2 W, s5 T6 }) U5 N
. [, d9 Z( X( f5 f1 @" n1 }- interval:: X0 s7 h& q! v$ {! a/ R
- - interval: 10s0 q$ v* \$ y8 M1 u5 U. t
- then:
# @ {9 e }- i - - display.page.show_next: ssd1306
' B6 G) B( v% J, P# R% n - #- component.update: my_display
- E/ Q, ]/ s7 o, q P# B! u - font:
$ j. H+ O! o, a' i; w" Q - - file: 'arial.ttf'5 F! ^8 Q1 c3 I- V) V
- id: font1' U3 f* _, b9 L3 j' S, s" T
- size: 15( k) m( b/ p! ]
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"- G/ E& N9 G- n8 l0 P
- - file: 'arial.ttf'+ G! [. j# Z# T! [" r3 Y
- id: font2
7 H' \3 }9 o# i4 N3 E0 T8 Z L8 U - size: 189 \' W( \3 K0 g) a. R4 Z4 H
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"3 J, m9 B; i/ |
- \6 ]% E' z3 F/ u7 w5 m" ^% n) s- ' ?% M& ?6 }% g6 Z! I# R8 g
- - file: 'arial.ttf'! y7 p- Y6 H# b W9 r, x
- id: font3% [; B5 I! B" X/ P4 D
- size: 23
& d8 m6 M) |! y# ?- w$ O0 ^ - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑8 f" n! I/ b4 O* M( ?
0 O1 D' e$ i% k! L) s% u
& g% A7 \/ M0 P( u; b |
|