|
|
楼主 |
发表于 2020-6-25 12:34:33
|
显示全部楼层
- esphome:: v4 @, F |0 E0 n
- name: dsm5 Z* f- S# [# j* m$ w- F% D) M
- platform: ESP8266; [5 v; h/ U1 H. E- _! {( }
- board: nodemcuv2' ]# }% _7 u# `4 z0 y& W; l& v
. z7 N" P7 Y$ x7 i& }3 n1 U- wifi:' b* g. c; v" M9 H
- ssid: "xxxxxxxxxx"* B. c6 k9 a2 I& F7 p4 }3 b
- password: "xxxxxxxxxxx"
8 z; W7 k1 F9 v6 l" c3 W - $ L: E2 ]- U$ e) ]! V, g
- # Enable fallback hotspot (captive portal) in case wifi connection fails, p4 _! b/ ?) o8 s. Q
- ap:
9 L) s7 _ \4 \' f+ \2 O6 O - ssid: "nas66.com"
4 N& ^3 h+ S+ ?, p% { - password: "nas66.com": o7 b" J5 P9 ]* t. T
+ A! `* b! d, }( B0 n9 d- captive_portal:
J0 U( i0 ` c: z- ]! W+ m
5 v6 j# K' V0 w* G% o- # Enable logging1 L, h5 ^) c: v: Q+ {) U+ _
- logger:- i$ g7 b7 V- E9 ^: D
( z; H3 P) m$ e9 K( }- # Enable Home Assistant API
/ L) a+ M, I+ j$ ~ - api:
q! u$ x% {1 j1 w' p - $ `# |& P! d# r" Y2 h
- i2c:! {% [* w+ c1 G @
- sda: D2' Y3 |, m" M8 G
- scl: D4- m" Z7 e. U2 j/ Q7 f2 ?
+ b o: Z6 ~. C$ P2 D) S: d) d7 I- image:
- @6 r# |- o. k0 o; i$ h" G: y$ o - - file: "logo.png"- Q& g- ]; q; L# G: |( F3 f) x6 U
- id: my_image! z& H9 A2 U3 k
- resize: 128x64# M5 H. ?$ \' ^- Z
$ d! n1 {8 A# Q9 D5 h0 E- time:
) P7 t6 X2 V' k) H1 y# c - - platform: sntp
) ~) t$ i& d& N7 i - id: sntp_time
: g1 V: h1 c/ m9 e- j - timezone: Asia/Shanghai
, [' k# s6 N, c" I8 m/ F2 W# y - ~3 {3 b: T# g g. I1 l1 Y3 Z6 |) E$ U
- display:
! s' `, m Q n2 x( K% G - - platform: ssd1306_i2c
# X/ O$ D; g8 d' z. Z+ C) |! [ - model: "SSD1306 128x64"
0 B) c4 S* [2 h( u( R, P* b - id: "ssd1306"
; w! n! [0 N; p- n& P - reset_pin: D06 L. E1 R4 _7 Q$ r; P3 y
- address: 0x3C
, F8 T2 \9 O! b7 {: J$ r# o3 D% i - rotation: 180' l4 J* j |2 i0 R( w
- brightness: 30%
- J. s$ m; z4 N- j* ?6 }
% y Q4 ?; e5 y' i4 h- pages:. b& O$ ]0 P( \( Z
- # - id: page1
' N: D0 ]( _" g1 Z - # lambda: |-
7 t# i/ ] K$ Y4 H$ u - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
7 l! i8 F/ ]% A, R% N
; N+ o' `8 [- o- f8 x2 J5 t0 K- u- - id: page1
, s3 _5 Y7 u. v9 M - lambda: |-1 q8 }1 ?- j: E6 B2 K
- it.print(47, 0, id(font2), "Info");
! J m5 m# ~4 U# `+ _9 ] - it.line(0, 22, 128, 22);4 U: Z$ ~' K% U. T" p! M2 V: G
- it.line(0, 23, 128, 23);
1 s# V6 S# \3 q3 q& z' B* E0 X - it.line(0, 24, 128, 24);
# q( ~' Q" G. p; C& a0 [ - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
1 X. h* q4 K3 E: e3 |$ l }6 Z - - V1 V' f& m' s4 Z) u( e6 c
- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);
: J' B8 s( g z3 A5 I1 H5 a - 7 E/ K6 F# D$ M
- # it.rectangle(0, 0, 128, 64);
$ E& T6 X/ m( V4 K - - id: page2
! A. W, F* K, ^/ i- w+ A - lambda: |-2 C d1 O" `/ W$ D% f5 r1 b
- it.print(0, 0, id(font2), "Network Speed");- d6 @% O, O' T. O q
- it.line(0, 22, 128, 22);/ j/ O6 I! y' W
- it.line(0, 23, 128, 23);9 F5 @- V( m8 ]& h9 Y
- it.line(0, 24, 128, 24);
6 }7 s0 G, q& k( y3 ?5 s/ a - it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);: ~3 W; K1 K+ H$ Q: x$ {
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);
6 n) r" r, |! {. A7 v" A - - id: page3
7 ?, S4 d. @' }0 ~$ I& I& ]" k - lambda: |-
) w% n3 e1 ?6 Z9 q" p/ A, V - it.print(24, 0, id(font2), "Disk State ");
7 b; c) o. T, t; \ - it.line(0, 22, 128, 22);3 x8 G! r! }& _+ a% Q
- it.line(0, 23, 128, 23);
" v: Q N$ O8 h/ F1 x - it.line(0, 24, 128, 24);
x, h$ _9 d! B; | - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());8 T+ Y5 ]1 j' {6 v( T
- it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);/ M" T! O U; Z" j5 r5 B
- 8 K3 D1 W. A: _
- # - id: page33 n% D2 P( Z7 Q" h% P$ T! Y, Q
- # lambda: |-
: @3 o* i6 g5 O: i - # it.print(0, 10, id(font3), "WOW!!!");) f& V2 @$ ^$ n' M4 m7 f5 n- u7 Y
- # - id: page4
0 J9 {) K6 Z( ]7 Y - # lambda: |-) c6 q# W# x2 [& w0 k# H& b
- # it.print(0, 10, id(font3), "Fantastic!!");+ B& E; |2 N4 N' O- P1 u
- # - id: page5# _3 m& Z, j7 t( C( r' ?, N
- # lambda: |-
j5 h, D) ?0 s6 |3 E; s - # it.image(0, 0, id(my_image));
' D; u/ f/ v x+ j3 y - - id: showtime
/ S5 G8 E0 c7 L3 W8 c - lambda: |-0 |2 r* n# B% z3 p" n
- it.print(40, 0, id(font2), "Clock");
6 O0 x9 _, m# X: Y - it.line(0, 22, 128, 22);
B" K7 z4 l* w* I0 p - it.line(0, 23, 128, 23);
( O/ r1 J% G9 e% I3 }2 P - it.line(0, 24, 128, 24);1 W% P! V' Y" \9 c
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
; L+ D, j; \. O1 ` - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
# S/ G8 @& @# g1 J' y7 c
7 O: F |! [; B- s* r
0 H- u/ @, K0 P' y8 b1 g+ U- ota:2 n$ l( l, w1 u
- # S5 i# }0 z( f
- sensor:
8 @7 h' J3 u4 {8 d+ q - - platform: homeassistant
: V- F. |/ q! A1 V! Z5 w8 d8 e: a - name: "dsm load"4 A* L3 W1 t9 l1 e
- id: "cpu"
' R- U# L' Y" x7 i2 @8 H/ Y - entity_id: sensor.synology_dsm_cpu_load_total5 z, l5 o+ w$ Z) h
- . Z2 B) w( b+ ?- g
- - platform: homeassistant3 R& U E! y4 a6 A& {- J) t9 F
- name: "dsm down"
# i# r/ a; B* Z* V1 u# `! T - id: "down"( \/ L7 `3 F6 a. ?8 i" Q
- entity_id: sensor.synology_dsm_network_down7 X) |. A1 }7 ?
2 }. D/ K5 E0 }6 ]0 b- - platform: homeassistant+ R+ E1 _) l$ u8 j
- name: "dsm up"
' y: R9 V; H7 A! f4 O1 I - id: "up"
; }# b! Q5 _" M1 R6 A4 V - entity_id: sensor.synology_dsm_network_up
# ]" j$ i1 E' W% b- ~+ v
+ G" ^+ t9 i# N5 z" f; w! T- - platform: homeassistant1 @0 P9 j# W& ]
- name: "memory total"
$ q& l7 y' u: n1 A3 }: s# l, \ - id: "memorytotal"3 o6 w4 y# p& w" s* A1 I3 `' B
- entity_id: sensor.synology_dsm_memory_size# T, ?0 V/ ]/ T1 T! M
' a" e5 w( K& t- - platform: homeassistant* f+ ~1 V1 L7 @0 B& C8 U; ]
- name: "memory usage"3 b3 h, `% c- M* V4 r% x
- id: "memoryavailable" f& q2 R( |" X5 Z: c+ G
- entity_id: sensor.synology_dsm_memory_available_real7 s2 k! i4 X5 f- w" G
- 1 {, h5 V( k* A2 ~9 g% p7 I. X
- - platform: homeassistant
/ w. ~2 f/ \$ U, }% n4 o: o% S9 h - name: "memory usage"
' j3 a, D; a% Y/ e7 @( E - id: "memoryusage"
# s, }- k- t" ~1 V! h - entity_id: sensor.synology_dsm_memory_usage_real
/ |( y2 P6 q8 Q& X
; S% {) c5 A0 h) H; z0 R) l- $ L# m7 g( a3 F! W& d% Z& l
- - name: "memoryused"
1 \" c* E3 b' r" X' z+ |8 Z - id: "memoryused"
" ~- I- A! L, y4 r - platform: "template"
; P0 S2 `7 x5 z R' j - lambda: |-
" y' _: P- F' r# }4 A, x - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;8 x+ k6 S% f. \( |- Q) e/ |7 `
- update_interval: 30s! D' E7 \! Y! s$ X4 P$ i
+ s* M- i% ^! F- - platform: homeassistant
- Y0 k) Z, H9 w$ A% ^3 k3 o - name: "sdatemperature"; l& Y7 x' \: m& f4 B( l: {
- id: "sdatemp": I& U% H8 @* c, {! t4 Q
- entity_id: sensor.synology_dsm_temperature_sda - [7 X/ r! a4 \2 w9 }" e8 H7 w4 ^7 f
% i3 U6 |$ }- w: `1 [0 a# @- # Y0 ]! t _2 ^- m, E; ?# r" E% ~
- text_sensor:4 r) X# c% P- d0 x2 I9 Q5 T" I
- - platform: homeassistant6 ]0 \8 Y/ T- t2 I! K1 a
- name: "sda total"0 O1 u9 w9 w1 B4 ^5 ~
- id: "sdatotal": t9 W4 G/ M1 [; ?
- entity_id: sensor.synology_dsm_total_size_volume_1
5 W0 i- u& Q' W. C$ A! U |1 |+ y - - platform: homeassistant$ _6 B$ G w' v0 a
- name: "sda usage"$ B! s: [* q9 F+ n
- id: "sdausage"* X0 Q+ K! O+ _9 W
- entity_id: sensor.synology_dsm_used_space_volume_1
% }2 b; d7 u( r. Q( W3 O9 k5 U( Y - & @' u/ ]3 [ C$ U
- binary_sensor:9 l0 a! q- m3 w, ^ w& m/ H) {" r
- - platform: homeassistant
( } Y% y$ \' C1 d* O3 W6 M0 k: H% z - name: "sec"1 q4 U/ Q$ ^! M4 ?7 h& \
- id: "sec"
8 F0 `# f" l6 p$ T - entity_id: input_boolean.sec_office
' _. N; T: t T. V! B1 w
- r$ }& n) G% c0 L, \- interval:
' L p s0 a7 J5 O# n; K) p# p+ W - - interval: 10s8 j. q; P1 E5 }& B5 n
- then:$ O, `; h% k, K5 D8 P& m3 L7 T
- - display.page.show_next: ssd1306
* l3 t3 B6 \3 o, a' n, j - #- component.update: my_display
+ q" `) s4 `. ~ - font:
; I$ C. Y6 J/ I) l$ P - - file: 'arial.ttf'* \/ z8 H) c' M
- id: font1
3 | [, q1 a4 w. ~7 z1 B- D, P2 P# u - size: 15
' G4 [8 I* G6 g* k: r - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"4 Q: o; |9 h* C/ W
- - file: 'arial.ttf', m! m" L2 p+ l+ v7 |) L
- id: font2) u/ U; J# t& U ^$ r9 s
- size: 18
+ X3 d. s8 m. ` - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" v# [0 L6 M5 d$ m6 b
- 3 l3 e8 M U7 S" A8 D7 s7 m; N
& l7 \1 r# K6 n6 |- {1 m+ X. y6 q- - file: 'arial.ttf'
9 s; z# B f* e) G3 N - id: font3
$ c1 S0 |' g) V, X; j: ]5 W - size: 235 p: C e s9 _8 p+ r, w4 Z: ?$ |
- glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑( A7 Q5 ~, g: h
. p: c/ \& _. a4 z( a
" G: X+ l @/ I3 \: j1 F% F |
|