Add esphome role and playbook
This commit is contained in:
		
					parent
					
						
							
								75408d8926
							
						
					
				
			
			
				commit
				
					
						e084462ae1
					
				
			
		
					 9 changed files with 84 additions and 0 deletions
				
			
		
							
								
								
									
										10
									
								
								playbooks/roles/esphome/files/esphome.service
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								playbooks/roles/esphome/files/esphome.service
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| [Unit] | ||||
| Description=ESPHome | ||||
| 
 | ||||
| [Service] | ||||
| ExecStart=/home/esphome/.local/bin/esphome dashboard config/ | ||||
| WorkingDirectory=/home/esphome/.local/bin | ||||
| User=esphome | ||||
| 
 | ||||
| [Install] | ||||
| WantedBy=multi-user.target | ||||
							
								
								
									
										4
									
								
								playbooks/roles/esphome/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								playbooks/roles/esphome/handlers/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| - name: Restart esphome | ||||
|   ansible.builtin.systemd: | ||||
|     service: esphome.service | ||||
|     state: restarted | ||||
							
								
								
									
										8
									
								
								playbooks/roles/esphome/meta/argument_specs.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								playbooks/roles/esphome/meta/argument_specs.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| --- | ||||
| argument_specs: | ||||
|   main: | ||||
|     options: | ||||
|       esphome__version: | ||||
|         description: ESPHome version that should be installed. | ||||
|         type: str | ||||
|         required: true | ||||
							
								
								
									
										8
									
								
								playbooks/roles/esphome/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								playbooks/roles/esphome/meta/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| --- | ||||
| dependencies: | ||||
|   - role: distribution_check | ||||
|     vars: | ||||
|       distribution_check__supported_distributions: | ||||
|         - name: Debian | ||||
|           versions: | ||||
|             - "11" | ||||
							
								
								
									
										33
									
								
								playbooks/roles/esphome/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								playbooks/roles/esphome/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| - name: Ensure acl is installed | ||||
|   ansible.builtin.apt: | ||||
|     name: acl | ||||
| - name: Ensure pip is installed | ||||
|   ansible.builtin.apt: | ||||
|     name: python3-pip | ||||
| - name: Ensure esphome user exists | ||||
|   ansible.builtin.user: | ||||
|     name: esphome | ||||
| - name: Ensure esphome dependencies are installed | ||||
|   become_user: esphome | ||||
|   ansible.builtin.pip: | ||||
|     name: tornado | ||||
|     extra_args: --user | ||||
| - name: Ensure esphome are installed | ||||
|   become_user: esphome | ||||
|   ansible.builtin.pip: | ||||
|     name: "esphome=={{ esphome__version }}" | ||||
|     extra_args: --user | ||||
|   notify: Restart esphome | ||||
| - name: Ensure esphome systemd service file is deployed | ||||
|   ansible.builtin.copy: | ||||
|     src: esphome.service | ||||
|     dest: /etc/systemd/system/esphome.service | ||||
|     mode: 0644 | ||||
|     owner: root | ||||
|     group: root | ||||
|   notify: Restart esphome | ||||
| - name: Ensure esphome service is enabled and started | ||||
|   ansible.builtin.systemd: | ||||
|     service: esphome.service | ||||
|     enabled: true | ||||
|     state: started | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue