File tree Expand file tree Collapse file tree 7 files changed +116
-133
lines changed Expand file tree Collapse file tree 7 files changed +116
-133
lines changed Original file line number Diff line number Diff line change 1- FROM python:3.10-alpine3.16
1+ FROM python:3.13-alpine
22
33WORKDIR /app
44
Original file line number Diff line number Diff line change @@ -4,14 +4,14 @@ set -euo pipefail
44IFS=$' \n\t '
55
66SCRIPT_DIR=" $( realpath " $( dirname " $0 " ) " ) "
7- IMAGE_TAG=" ${IMAGE_TAG:- " enapter-vucm -examples/$( basename " $SCRIPT_DIR " ) :latest" } "
7+ IMAGE_TAG=" ${IMAGE_TAG:- " enapter-standalone -examples/$( basename " $SCRIPT_DIR " ) :latest" } "
88
99docker build --tag " $IMAGE_TAG " " $SCRIPT_DIR "
1010
1111docker run --rm -it \
1212 --network host \
1313 -e ENAPTER_LOG_LEVEL=" ${ENAPTER_LOG_LEVEL:- info} " \
14- -e ENAPTER_VUCM_BLOB =" $ENAPTER_VUCM_BLOB " \
14+ -e ENAPTER_STANDALONE_COMMUNICATION_CONFIG =" $ENAPTER_STANDALONE_COMMUNICATION_CONFIG " \
1515 -e MIIO_IP=" $MIIO_IP " \
1616 -e MIIO_TOKEN=" $MIIO_TOKEN " \
1717 " $IMAGE_TAG "
Original file line number Diff line number Diff line change 1+ blueprint_spec : " device/1.0"
2+
3+ display_name : " Mi Smart Standing Fan 1C"
4+
5+ communication_module :
6+ product : ENP-VIRTUAL
7+
8+ command_groups :
9+ commands :
10+ display_name : Commands
11+
12+ properties : {}
13+
14+ telemetry :
15+ " on " :
16+ display_name : " On"
17+ type : boolean
18+ mode :
19+ display_name : Mode
20+ type : string
21+ enum :
22+ - normal
23+ - nature
24+ buzzer :
25+ display_name : Buzzer
26+ type : boolean
27+ speed :
28+ display_name : Speed
29+ type : integer
30+ enum : [1, 2, 3]
31+
32+ commands :
33+ power :
34+ display_name : Power
35+ group : commands
36+ arguments :
37+ " on " :
38+ display_name : " On"
39+ type : boolean
40+ mode :
41+ display_name : Mode
42+ group : commands
43+ arguments :
44+ mode :
45+ display_name : Mode
46+ type : string
47+ enum :
48+ - normal
49+ - nature
50+ buzzer :
51+ display_name : Buzzer
52+ group : commands
53+ arguments :
54+ " on " :
55+ display_name : " On"
56+ type : boolean
57+ speed :
58+ display_name : Speed
59+ group : commands
60+ arguments :
61+ speed :
62+ display_name : Speed
63+ type : integer
64+ enum : [1, 2, 3]
File renamed without changes.
Original file line number Diff line number Diff line change 1+ import asyncio
2+ import os
3+
4+ import miio
5+
6+ import enapter
7+
8+
9+ async def main ():
10+ await enapter .standalone .run (
11+ Fan1C (ip = os .environ ["MIIO_IP" ], token = os .environ ["MIIO_TOKEN" ])
12+ )
13+
14+
15+ class Fan1C (enapter .standalone .Device ):
16+
17+ def __init__ (self , ip , token ):
18+ super ().__init__ ()
19+ self .fan = miio .Fan1C (ip = ip , token = token )
20+
21+ async def run (self ):
22+ while True :
23+ status = await asyncio .to_thread (self .fan .status )
24+ await self .send_telemetry (
25+ {
26+ "on" : status .is_on ,
27+ "mode" : status .mode .value ,
28+ "buzzer" : status .buzzer ,
29+ "speed" : status .speed ,
30+ },
31+ )
32+ await asyncio .sleep (1 )
33+
34+ async def cmd_power (self , on : bool = False ):
35+ return await asyncio .to_thread (self .fan .on if on else self .fan .off )
36+
37+ async def cmd_mode (self , mode : str ):
38+ miio_mode = miio .fan_common .OperationMode (mode )
39+ return await asyncio .to_thread (self .fan .set_mode , miio_mode )
40+
41+ async def cmd_buzzer (self , on : bool = False ):
42+ return await asyncio .to_thread (self .fan .set_buzzer , on )
43+
44+ async def cmd_speed (self , speed : int ):
45+ return await asyncio .to_thread (self .fan .set_speed , speed )
46+
47+
48+ if __name__ == "__main__" :
49+ asyncio .run (main ())
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments