|
|
楼主 |
jakc
发表于 2020-6-25 12:34:33
|
显示全部楼层
IP:–广东–揭阳 电信
- esphome:
( U- d" Z9 a) d! ]; m9 Q - name: dsm) V# R5 [' N9 T( I
- platform: ESP8266: y# g1 S9 \' B- y; c& B& c
- board: nodemcuv2) B8 {" [% @. g9 n
- 3 }" p* G. E* F* o! Q$ n2 N
- wifi:: M& N% g) t' h% B) {* `
- ssid: "xxxxxxxxxx"8 ?, d- W7 g- p# v2 F
- password: "xxxxxxxxxxx"
% o+ B6 F( T; i; ^ - ; M3 ]4 `% B4 Z! P$ b
- # Enable fallback hotspot (captive portal) in case wifi connection fails
" Z. a! r9 E% G0 z$ w9 W - ap:
; j. q9 u+ ~, d. x - ssid: "nas66.com"
3 U+ m& g) G/ Z. o - password: "nas66.com") A3 D! O6 u) D$ i2 a1 W
- / R( y5 X( u4 l g4 W, |
- captive_portal:5 d5 h9 \7 p2 D" W
- 0 V7 R, P$ r9 i2 l4 v' D, q/ ]
- # Enable logging, `+ X/ [: `' Y
- logger:9 Q0 L) a5 [& y5 C0 M9 z. A9 X
- ! }) {6 F6 t2 ~9 f
- # Enable Home Assistant API# Z) ^9 t( o% b
- api:
6 `7 g& o1 v1 _: B - 5 H3 ]. M+ z0 [" k( k% y* N
- i2c:
/ w: t5 Y2 Y% ~5 d% | - sda: D2' c( P- E7 I2 @
- scl: D4
3 G6 Q' v" i2 E! i2 e( a- e - 5 B& P% V1 [3 m. |3 Z
- image:: F% D6 Q0 I: K6 c# p c4 U
- - file: "logo.png"
$ f: _8 y, v+ r; W# V. a - id: my_image5 t P) a" \2 m2 U4 H! u3 B
- resize: 128x64' l) W9 [! D/ F
- a9 U+ h. F- r: R- time: v( I# [- `+ q+ _3 R! {3 ?6 A
- - platform: sntp2 O: N1 Q8 J% [6 U% T- N' s+ p
- id: sntp_time
* t" l5 K$ ^$ e6 P1 ` - timezone: Asia/Shanghai
. M# G; ~8 R1 K. @ - 1 B* H* J* Q! Q
- display:
( o0 X3 @1 Z2 k2 ~% \, c - - platform: ssd1306_i2c
6 `0 M* O" M& j' ~& ^# l5 P - model: "SSD1306 128x64"& j6 e3 u1 c3 W$ Q. Z
- id: "ssd1306"0 S: v2 R+ L8 q+ O8 D
- reset_pin: D0) Y: `1 K+ v6 u% ^, V" v+ w) R% y
- address: 0x3C6 z* U( I# D2 O3 u( c/ K& h
- rotation: 180- ^# }( r7 r# W
- brightness: 30%: q4 y9 j) T0 E0 v) b- A# M+ \; q
4 Y. s( ]! g( l1 Y0 M. C, A- pages:
! H* D- z9 e$ S7 I2 v. J% t - # - id: page1
! l8 n9 P8 N6 Q - # lambda: |-
" b* t5 ]; k" ^* w8 N. z - # it.printf(0, 30, id(font3), "S:%s", id(sec).state ? "ON" : "OFF");
, w8 e6 N1 m: V9 O - - w0 T5 F/ K+ O' c8 z0 {& N+ K
- - id: page14 K" x3 T: m9 ^
- lambda: |-5 e; u9 K" ~' Z( I' w, P
- it.print(47, 0, id(font2), "Info");3 Z" D3 { q* |6 v |, x; e4 S
- it.line(0, 22, 128, 22);
" b7 s n E" I" }# |! E( {% R - it.line(0, 23, 128, 23);7 n( s, t) m+ Q9 m/ A- z# t b
- it.line(0, 24, 128, 24);
( b/ ~4 s9 n) D V$ @7 z - it.printf(0, 35, id(font1), "CPU: %.0f%%", id(cpu).state);
" v8 r1 W$ _6 U+ I& j, z
# P1 U6 u# w! {- y7 }1 n: q- it.printf(0, 55, id(font1), "MEM:%.0f %/%.0fMB", id(memoryused).state,id(memorytotal).state);. [# ~- U0 }; ~% ` K% k4 o
- - h; M$ C+ I0 h7 d% P4 c! D9 d
- # it.rectangle(0, 0, 128, 64);
' [; P" N8 `$ K2 L8 v4 @: f) k - - id: page2
6 f: } s5 }3 \+ V/ j$ v, s - lambda: |-
8 y! q# M; ?% b) J. O: P - it.print(0, 0, id(font2), "Network Speed");+ q5 P. \' Z; E7 g5 _2 J8 @- M
- it.line(0, 22, 128, 22);/ i# A. z# ^" \/ h, i$ K6 I
- it.line(0, 23, 128, 23);
6 ]9 P, p; x! }- Q3 T* m# i; _ - it.line(0, 24, 128, 24);6 s1 I0 C( d! r x& r7 j. ~
- it.printf(0, 35, id(font1), "U: %.0f Kbps", id(up).state);/ c$ Y- t' S. ]1 M0 T
- it.printf(0, 55, id(font1), "D: %.0f Kbps", id(down).state);$ z5 n' q1 ]& o& m7 ~6 U. E
- - id: page3' U- c6 P/ X) c |( B' l
- lambda: |-
" [' L0 E1 |3 F E - it.print(24, 0, id(font2), "Disk State ");
/ i2 n' w+ N& i( P/ b5 p - it.line(0, 22, 128, 22);' u6 r. N8 F. U# m4 n
- it.line(0, 23, 128, 23);; d, A8 x8 ?6 u: }
- it.line(0, 24, 128, 24);
, a# L+ o+ T7 m$ x x% J - it.printf(0, 35, id(font1), "Use:%s%/%s", id(sdausage).state.c_str(),id(sdatotal).state.c_str());
, _% {- U" G- E - it.printf(0, 55, id(font1), "Temp: %.0f °C", id(sdatemp).state);
0 h' l6 W; v# c4 ?1 `( M% [" C& M - ) Y" D S6 D" A# l
- # - id: page38 v1 u( k9 h3 G7 v3 m) A
- # lambda: |-
% `) x# |& N {, T0 L - # it.print(0, 10, id(font3), "WOW!!!");
3 f! d- t- G; q9 z6 F - # - id: page4* z. T7 e5 y. Z: {' b
- # lambda: |-0 z- x- E0 |: f; D8 t
- # it.print(0, 10, id(font3), "Fantastic!!");" J( J" ~, ]' D6 p9 q _2 p0 n
- # - id: page5/ b% {8 y+ h; } G
- # lambda: |-' J' ^9 x, F' x8 r4 u: {3 w
- # it.image(0, 0, id(my_image));
6 b3 Y, G( n1 k/ L2 s. d% ^ - - id: showtime$ X: S2 e r7 u' `9 @
- lambda: |-
# p9 l3 [# p; z - it.print(40, 0, id(font2), "Clock");8 j5 P a: `9 u
- it.line(0, 22, 128, 22);
- q# D) p- e$ N* C x - it.line(0, 23, 128, 23);3 j5 F* P( ]6 Q" M
- it.line(0, 24, 128, 24);7 O- C7 J5 @3 j# {1 X& g& o
- it.strftime(15, 42, id(font3), "%H:%M:%S", id(sntp_time).now());
* E" w1 o/ l6 @$ w - it.strftime(25, 26, id(font1), "%Y-%m-%d", id(sntp_time).now());
0 s0 g; { x. _4 w6 T8 I - # H& d8 X& ]5 ?$ @
- ; J! l1 x( X$ i8 ^% ?5 @+ [- _, F% t+ \
- ota:2 ^, P' i, R* e: B ~3 t
" z$ z! s/ d0 S$ V% d9 j" o2 ` }- sensor:
`7 b1 Z+ U# x( n, D; c: t0 `. Q, C - - platform: homeassistant
: o' w; ~! y% F" g4 P - name: "dsm load"8 K/ v3 m7 \$ _; T$ g5 h$ _# Y+ @
- id: "cpu"
8 ~- h, {! I& a6 C - entity_id: sensor.synology_dsm_cpu_load_total
' O1 M! g! r7 } - 7 R- e* J- F3 a# [
- - platform: homeassistant+ c% M0 n' `; H0 D* K- M5 }' N
- name: "dsm down"( |- \6 K4 [7 g* v# h# I6 V! G4 T
- id: "down"9 ~, d9 ?% v' j) c& @* M
- entity_id: sensor.synology_dsm_network_down
/ c- |; R4 T+ A3 I/ N - 2 f9 A) p n" g8 G: r
- - platform: homeassistant
) y- C: C2 Q# I$ N0 X; M, M - name: "dsm up"
- D8 K. `8 q2 L - id: "up"
, c: j! e0 F4 M+ O& @% N - entity_id: sensor.synology_dsm_network_up. l8 x* D! B' r5 p. U8 j& B* J
0 D* J3 c4 m3 ~4 M, U- - platform: homeassistant
' a M4 |9 w& y9 ?2 ] - name: "memory total"" w$ x, P& c4 i* o
- id: "memorytotal"
& b9 R0 v0 W! S- ^/ c) S6 W - entity_id: sensor.synology_dsm_memory_size
2 B1 z) ?' _, z7 [9 e' v! H
( v; N* @# r" t2 y1 N1 w- - platform: homeassistant
7 q( {7 \5 ]* l, Z( D: S - name: "memory usage"$ \! f. J4 w9 P- `: u% i
- id: "memoryavailable"& P1 m( g$ p; e+ k5 u' L( i
- entity_id: sensor.synology_dsm_memory_available_real% v0 L0 I# D, |# W# {" B
) d) j4 L7 ]2 f* G- - platform: homeassistant9 V2 a1 D9 v, z' n& U1 Q& Y- Y8 M
- name: "memory usage"9 \* |+ J4 X* Z
- id: "memoryusage"
3 B4 r+ {; c( z# G! _: r" z - entity_id: sensor.synology_dsm_memory_usage_real
7 q& b/ |8 x' J5 z$ x/ t4 r9 u/ ^& i
; U K% Z, q; {
$ T& K8 T! e+ ?- - name: "memoryused"" J! u( v) X4 n9 E; y- `
- id: "memoryused"
2 d% o& X& H0 {8 L& i, q3 ~ - platform: "template"4 ^/ \ ] d8 J+ L ] a
- lambda: |-
+ E' M* y$ f" S3 G% z - return id(memorytotal).state - id(memoryusage).state/100*id(memorytotal).state ;5 B9 `/ c# `) W% `. c) [7 _
- update_interval: 30s
, _% F! }0 y9 U - / q2 Z1 N4 \& i+ h
- - platform: homeassistant
3 S L u# S; u" n - name: "sdatemperature"
" K$ M a. o4 v1 | - id: "sdatemp"* `1 _1 z% W+ ^' E9 L% _. W# N/ K, [
- entity_id: sensor.synology_dsm_temperature_sda
! Q0 e1 H" ?% I) o! u. {) G - 7 D# u3 c; d9 A/ h
3 M" K4 H/ A: T7 G3 L( n- Q: m- text_sensor:4 m& d: l8 {& z
- - platform: homeassistant
2 p* A; a+ s7 P1 Z7 w - name: "sda total"
/ ^6 \* x8 i' D' m - id: "sdatotal": o# M$ {. e1 h, G' Z
- entity_id: sensor.synology_dsm_total_size_volume_13 `, B' [" N# t9 X" P1 i" Y
- - platform: homeassistant9 j/ a0 j% r% i% T( Q
- name: "sda usage"
) [' R& [2 f/ {# `/ K' }1 F - id: "sdausage"( ~" R! ~3 I3 m O0 Z) a* C
- entity_id: sensor.synology_dsm_used_space_volume_1
# A0 H6 [; _3 ^6 s" R - 7 {) Y+ F& k# s# H3 u% Y& I, [
- binary_sensor:
& m& c8 V- d. l2 A) m6 J6 { - - platform: homeassistant) d; u& X4 h ]" I B2 |
- name: "sec"( N. S1 E5 j7 R3 n4 q, E9 N( I
- id: "sec"# r/ I2 h6 l5 Q Z- B" X8 c
- entity_id: input_boolean.sec_office" L% S" C0 @5 |7 V
- 4 W5 g$ { X3 Q4 F
- interval:' w* }8 }8 U& q# u- e' O) j O
- - interval: 10s/ A; z! T# I5 \5 W+ B
- then:0 i6 R) U/ V) ~, p5 ~' {
- - display.page.show_next: ssd13064 ^1 t; |- ~. x# ^; Y Y
- #- component.update: my_display2 f# |" R4 f+ k& d+ e( S/ p
- font:
2 H, e5 \2 k" Q! n- M0 X" C - - file: 'arial.ttf'" \- G8 K | P! @9 ]/ b' I, t
- id: font1
! A: F( o: J t! ^* x - size: 15
- I5 o4 I* F8 i$ B D - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz". w o6 u% x! h1 I: C- B* B) [- F" q$ W
- - file: 'arial.ttf'
( K# X- m) Q8 r# d - id: font2: q+ h% |& \2 d# k6 p# O
- size: 18
. R3 \. T& ?* Y) q) s - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"% { q$ a5 r3 B2 n8 F
- - t$ Y2 H8 l! G8 h" J; P* }( ]+ c
$ n3 b$ r. W* L8 K4 y. e; X n+ Z- - file: 'arial.ttf'% F2 L6 Y( m- d8 K& O9 a# w
- id: font33 {( T; h: F5 I4 B1 s- M
- size: 23
5 f! e: J4 ?" T4 |2 O8 H - glyphs: "/!%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz"
复制代码 以上是dsm源码 你稍微阅读一下即可跟着编辑
5 S/ w( @& o$ z5 r3 G0 B
" f- [4 a9 W+ M* A3 B0 @0 [. p
* P; w! L, k7 m9 L |
|