|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
' M+ b* \/ z ?8 K - name: dsm
8 T" W M8 ]/ _9 O7 P* s - platform: ESP8266/ ^& Y0 O# l7 `$ M4 T
- board: nodemcuv2; q1 A' @- B; t2 _
0 k5 \3 ^' S$ V3 |8 F$ y- wifi:" g {! z- a2 a$ l9 G! T1 g
- ssid: "xxxxxxxxxx"1 K; C6 I8 y* `) O. B
- password: "xxxxxxxxxxx"2 `7 I7 _1 ^7 d
- $ m# B/ R4 V2 O3 K" h8 l" M1 v5 [8 X1 u) T
- # Enable fallback hotspot (captive portal) in case wifi connection fails
# R. A0 @2 z4 z; a - ap:% R7 L: d2 C& X2 Z0 m
- ssid: "nas66.com"
2 r* U' e/ i' S% U9 N - password: "nas66.com"
3 V( ~, G& e5 _! O3 A+ s - 7 o2 \8 ^& \- L) p5 O; E4 T; \( K
- captive_portal:' k3 T) Y. W5 U4 m4 V4 Z* S
8 @& V2 }1 e8 } z( d- # Enable logging
* U5 a) n& `' Y8 }4 e4 i9 G% |' B, { - logger:
" W8 L& }, t3 {! m - + q& d/ G8 _$ W. S. O
- # Enable Home Assistant API
0 s6 z( m- h9 M3 h" u7 G - api:
) w- t. f) c& n8 v# D5 e) o3 Q/ M
+ _( x& \8 x, l* v8 p- i2c:8 B: B) B6 N- S( G1 W
- sda: D2) B, ]( }" e# L9 p7 r
- scl: D4
/ Z9 ]' `8 @8 T# B2 q$ ?- M9 s - % E% R. k5 P9 V
- image:& k3 D& b' f9 w9 J
- - file: "logo.png"0 V8 T3 p+ W. ^
- id: my_image" h) w$ U% F* E: t% Y' h7 z2 f
- resize: 128x64* }# b5 F7 e9 L3 e
- : L, ]3 l* Z1 l/ F2 J# r' I
- time: Q0 k# ^2 F/ A6 | I; J- N
- - platform: sntp
- Z) Z0 [6 g, c( j5 ?/ s3 z! e - id: sntp_time0 E* c0 z" o" W9 _
- timezone: Asia/Shanghai4 B4 J4 B* |2 I0 {/ K
! X. U. H9 W" |# f- display:
* M3 p. C+ }- @2 q, v, z4 h - - platform: ssd1306_i2c
0 o- `" H7 P4 [4 } - model: "SSD1306 128x64"
7 Y- X! m# v) J/ Z! a" t - id: "ssd1306". u. n; o& A- E! O" n
- reset_pin: D06 b# q Y" b! }7 F* M' [* j( U
- address: 0x3C9 ]+ ]" E1 I- Q! [
- rotation: 180$ _, _+ C& d+ X
- brightness: 30%( H! x( u4 [+ Q* Q
5 N- O u. t3 g1 A- pages:! M' f; L& {2 @' Y: c1 Z' ~
- # - id: page1' v7 P% S2 G" E0 M0 b5 W( U, \
- # lambda: |-
$ d* H2 u' d# q, w" @- A - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");8 B: w. X4 L4 ?1 N
4 w3 _% n3 `0 T7 g- - id: page1
8 I+ F! ~5 V4 x6 s0 }0 Q. I - lambda: |-
" T" P0 n4 v1 z+ j - it.print(47, 0, id(font2), "Info");
5 u6 k* b: D# r/ c4 f: r2 G( M - it.line(0, 22, 128, 22);# n6 f! d! r" f% {0 S5 \
- it.line(0, 23, 128, 23);
5 E/ ~( v1 F1 W U2 h! d# V - it.line(0, 24, 128, 24);
; j: W2 w8 H4 i" U3 @, ?9 \ - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
% r9 n, @' a+ P! K% o+ Q; V - $ b0 _ K: k- O+ n% ?
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);# a/ q/ f' `9 o9 ~& x5 D5 y
-
. o9 u) x% p; X6 J$ o, \- Z - # it.rectangle(0, 0, 128, 64);
. h: w7 @( O. o+ J5 i) B - - id: page2- z# ^, {* L) l; B
- lambda: |-
7 {, i! E9 z( }/ C* r6 d8 {- r - it.print(0, 0, id(font2), "Network Speed");
+ Y) \$ R1 s1 X0 P8 X6 R, P. m - it.line(0, 22, 128, 22);
/ E" h( s8 L, @# U+ t - it.line(0, 23, 128, 23);
) k5 D# z2 V' y# z - it.line(0, 24, 128, 24);6 \) W0 G& i# o$ c1 K
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);' o: n3 q; T, \2 X- P4 v
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
# k) m8 g( o- l% @1 O0 p - - id: page3
9 F/ P# [2 A8 E& P# v. W! @ - lambda: |-
6 u& c; `' x' }: S1 J. I. e& J. [ - it.print(24, 0, id(font2), "Disk State ");
! P( y- r. Q# ?6 B - it.line(0, 22, 128, 22);# {" T1 ?: U$ K! x2 v, {1 x# J
- it.line(0, 23, 128, 23);
g) Y% L$ d: o/ X N- {, O; Z# i - it.line(0, 24, 128, 24);( x- e1 r; a }* n' O1 C. }& x2 K
- it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());2 z1 {2 n4 M5 M/ q7 `) K
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
+ K% i. Z; d, Z/ i% N
" `; y# N0 C/ N- # - id: page36 t+ y9 P4 z# \
- # lambda: |-
6 k0 ^2 ~3 k: i* x( f1 A2 Y - # it.print(0, 10, id(font3), "WOW!!!");
) A% r2 r5 @1 T: A) H x1 X. B - # - id: page4
3 l0 J9 k. m* ^0 k - # lambda: |-
' K, M C* o# X" m) c* L - # it.print(0, 10, id(font3), "Fantastic!!");! A3 t- S* F `
- # - id: page5
" B7 F# R3 }1 ?4 ?4 o - # lambda: |-
! _9 Q; V& a9 N* o- \5 i8 I9 L% ? - # it.image(0, 0, id(my_image));
! ^9 k) }- m% z* S1 Y" v - - id: showtime$ O7 _! C5 f% d7 ]
- lambda: |-
/ c+ T! Q% t# r' @ - it.print(40, 0, id(font2), "Clock");
* R& J# U* `- R+ l, S% }3 t% S - it.line(0, 22, 128, 22);
( i1 R' J# `. n7 C; e - it.line(0, 23, 128, 23);
/ I4 X; a' k n - it.line(0, 24, 128, 24);
! m& A0 U& A" U- f* G8 W - it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());0 o, a- h p2 P
- it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
7 E% B5 g' t8 e/ m - : t9 R* R9 S n7 v4 M9 v
) Q8 P+ V- X2 c" I4 h( g- ota:
. D. r3 H" A5 j* E' m- l* ?$ ]
0 I9 v L$ ]- O! W8 `- sensor:
5 T9 c4 Z; m5 B) Z [ - - platform: homeassistant) v0 V" }. [# {
- name: "dsm load"" K+ a& F1 }8 x: c
- id: "cpu"3 |9 O7 v! Z0 s: N6 N" w9 \
- entity_id: sensor.synology_dsm_cpu_load_total }6 r# z8 o& i
2 G$ a; Q( a; E1 |# s- - platform: homeassistant) d4 G* U0 F3 p' y8 z+ \
- name: "dsm down"$ H f# D( |8 n* a @, `3 k
- id: "down"/ S- v5 R( V# W; b* E- w! g+ \ Q$ h
- entity_id: sensor.synology_dsm_network_down
% ?5 \: T, o" Q2 z6 f# F' X - ; ]* [3 D- K3 r( l' O, ^9 J9 `# G2 D
- - platform: homeassistant* [( s4 g2 O+ C2 Z S0 u
- name: "dsm up"/ U+ P- x: ^( |( W' l9 J. ^ a
- id: "up"' q: n5 |$ ^+ C4 f
- entity_id: sensor.synology_dsm_network_up
# h1 N0 @7 _) a" j, J1 I; o
+ `; h9 x; B0 R i8 g/ [3 r- - platform: homeassistant9 ]5 q( w% N N* X6 K
- name: "memory total". Y0 {% I+ c. Z1 F" a- ^
- id: "memorytotal"
0 |. L" K+ k4 r - entity_id: sensor.synology_dsm_memory_size
0 g4 G, N# [4 X2 c( s8 [
8 O2 {! I& [2 Y, ?- - platform: homeassistant
! G: }: H4 `) I2 _7 c2 c- Y - name: "memory usage"- ]; v+ Z+ I$ A$ D W! |# g
- id: "memoryavailable", Y+ _- f' j4 J3 u
- entity_id: sensor.synology_dsm_memory_available_real+ L4 d) b" t" o% l
7 ^1 c8 Y& j: I* R c* D- - platform: homeassistant: {2 y. P& h- G3 u
- name: "memory usage"0 e( Z6 Z% V$ W' Y$ W
- id: "memoryusage"% ]2 p0 i* f" B9 Y; B, f0 n" q
- entity_id: sensor.synology_dsm_memory_usage_real
) H9 V# c& d& j8 P
* M" Y) N; N4 ^5 Q; o
" h/ i& V" i/ M& P3 I3 T" d- - name: "memoryused"
4 c5 w4 v0 ^( A0 e* }2 z* K4 q2 h - id: "memoryused"- I; F. D1 O2 Q+ l* `, N
- platform: "template"* L* c5 V3 P# \
- lambda: |-# f9 ]5 Q" o: X8 m/ A+ R% t5 X
- return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;* u5 K# Q4 T- Z; z; ?
- update_interval: 30s# @$ M* \) {9 M+ x( J1 l) S( U
) j% }* ~+ E. A' _' |4 |# `$ n! g- - platform: homeassistant
5 T- F2 j) H6 | }+ S) b/ m - name: "sdatemperature"
( c, Q9 r- f( W% [9 i5 b - id: "sdatemp"9 B3 _% x, L4 o9 v5 h5 \
- entity_id: sensor.synology_dsm_temperature_sda
: s) k) Y E8 E& V2 }+ d
; d h% H( O; ], R- 4 \( f* K! }2 t" `
- text_sensor:' l# N! h) Q8 g
- - platform: homeassistant
; V' g6 L( ]* { - name: "sda total"
3 U2 h" m: } v- @0 k6 | - id: "sdatotal"
/ v2 l* [) h9 ?% o) u- K# ? - entity_id: sensor.synology_dsm_total_size_volume_1, H6 P: w* ]/ F4 h% I/ R$ {; |4 E! m
- - platform: homeassistant; r7 y/ f- Y. n, ?& {5 D
- name: "sda usage"
& V( j- r1 R$ G( I0 q - id: "sdausage"- w. F; I7 g- q- Y# y$ z4 C
- entity_id: sensor.synology_dsm_used_space_volume_1
1 R8 D- v P9 ~7 O: w0 _ - ' k9 a: ? F) |
- binary_sensor:
+ v* p) w+ @: I& \( m" \ - - platform: homeassistant
4 z0 l8 J+ J: K3 m - name: "sec"
5 V0 l- ^/ N6 y3 _ - id: "sec"# s8 Y, l* y, Y3 ^* n( \
- entity_id: input_boolean.sec_office
+ m! X- O+ B& @- v- I
$ I/ R, o! t8 k. `" s4 P* q/ i$ X- interval:1 ^' |6 j8 D* a9 ^% |0 [4 ~. J" X, ^6 n
- - interval: 10s) e8 d6 w' |( G( k1 ?
- then:8 [6 r8 g/ b. Z' F1 }6 z$ m
- - display.page.show_next: ssd1306
% \+ i5 D. U) ]: u0 [( A - #- component.update: my_display
2 e- ]3 _; Q% y7 W - font:
, j1 U }) @8 W8 G - - file: 'arial.ttf'
+ Z, G! ?6 `! [ {5 I - id: font1
% W' d* H K3 A0 g: W# a/ p - size: 15. R. ?- V( B+ y; S1 ]
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"1 m! t8 q; x- A& v9 ?1 l% g' _ p
- - file: 'arial.ttf'
]3 @, q& b; Y9 ^ - id: font2
) a+ Y y' I# q' \/ E' { - size: 18
4 ]! Z: t2 c, D& X! k7 P: c - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz") u7 B- G2 S& @; m
3 R* k+ K% [" ?, q& m2 m/ d- % F1 c" U# T2 ]1 a6 V3 @
- - file: 'arial.ttf'
; d F, M- J4 E - id: font3# l) n! W6 n# O1 J
- size: 23- S! @+ P* V: t Q8 D
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑* V% w. v7 W5 s0 E4 Y+ ~9 S
+ D+ p% M, s7 r- U4 h! |- ^+ H1 V& ~* R- P: n
|
|