mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Group component tests to reduce CI time (#11134)
This commit is contained in:
		
							
								
								
									
										342
									
								
								tests/components/template/common-base.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										342
									
								
								tests/components/template/common-base.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,342 @@ | ||||
| esphome: | ||||
|   on_boot: | ||||
|     - sensor.template.publish: | ||||
|         id: template_sens | ||||
|         state: 42.0 | ||||
|  | ||||
|     # Templated | ||||
|     - sensor.template.publish: | ||||
|         id: template_sens | ||||
|         state: !lambda "return 42.0;" | ||||
|  | ||||
|     - datetime.date.set: | ||||
|         id: test_date | ||||
|         date: | ||||
|           year: 2021 | ||||
|           month: 1 | ||||
|           day: 1 | ||||
|     - datetime.date.set: | ||||
|         id: test_date | ||||
|         date: !lambda "return {.day_of_month = 1, .month = 1, .year = 2021};" | ||||
|     - datetime.date.set: | ||||
|         id: test_date | ||||
|         date: "2021-01-01" | ||||
|  | ||||
| binary_sensor: | ||||
|   - platform: template | ||||
|     id: some_binary_sensor | ||||
|     name: "Garage Door Open" | ||||
|     lambda: |- | ||||
|       if (id(template_sens).state > 30) { | ||||
|         // Garage Door is open. | ||||
|         return true; | ||||
|       } else { | ||||
|         // Garage Door is closed. | ||||
|         return false; | ||||
|       } | ||||
|   - platform: template | ||||
|     id: other_binary_sensor | ||||
|     name: "Garage Door Closed" | ||||
|     condition: | ||||
|       sensor.in_range: | ||||
|         id: template_sens | ||||
|         below: 30.0 | ||||
|     filters: | ||||
|       - invert: | ||||
|       - delayed_on: 100ms | ||||
|       - delayed_off: 100ms | ||||
|       - delayed_on_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" | ||||
|       - delayed_on_off: | ||||
|           time_on: 10s | ||||
|           time_off: !lambda "if (id(test_switch).state) return 1000; else return 0;" | ||||
|       - autorepeat: | ||||
|           - delay: 1s | ||||
|             time_off: 100ms | ||||
|             time_on: 900ms | ||||
|           - delay: 5s | ||||
|             time_off: 100ms | ||||
|             time_on: 400ms | ||||
|       - lambda: |- | ||||
|           if (id(other_binary_sensor).state) { | ||||
|             return x; | ||||
|           } else { | ||||
|             return {}; | ||||
|           } | ||||
|       - settle: 500ms | ||||
|       - timeout: 5s | ||||
|  | ||||
| sensor: | ||||
|   - platform: template | ||||
|     name: "Template Sensor" | ||||
|     id: template_sens | ||||
|     lambda: |- | ||||
|       if (id(some_binary_sensor).state) { | ||||
|         return 42.0; | ||||
|       } else { | ||||
|         return 0.0; | ||||
|       } | ||||
|     update_interval: 60s | ||||
|     filters: | ||||
|       - calibrate_linear: | ||||
|           - 0.0 -> 0.0 | ||||
|           - 40.0 -> 45.0 | ||||
|           - 100.0 -> 102.5 | ||||
|       - calibrate_polynomial: | ||||
|           degree: 2 | ||||
|           datapoints: | ||||
|             # Map 0.0 (from sensor) to 0.0 (true value) | ||||
|             - 0.0 -> 0.0 | ||||
|             - 10.0 -> 12.1 | ||||
|             - 13.0 -> 14.0 | ||||
|       - clamp: | ||||
|           max_value: 10.0 | ||||
|           min_value: -10.0 | ||||
|       - debounce: 0.1s | ||||
|       - delta: 5.0 | ||||
|       - exponential_moving_average: | ||||
|           alpha: 0.1 | ||||
|           send_every: 15 | ||||
|       - filter_out: | ||||
|           - 10 | ||||
|           - 20 | ||||
|           - !lambda return 10; | ||||
|       - filter_out: 10 | ||||
|       - filter_out: !lambda return NAN; | ||||
|       - heartbeat: 5s | ||||
|       - lambda: return x * (9.0/5.0) + 32.0; | ||||
|       - max: | ||||
|           window_size: 10 | ||||
|           send_every: 2 | ||||
|           send_first_at: 1 | ||||
|       - median: | ||||
|           window_size: 7 | ||||
|           send_every: 4 | ||||
|           send_first_at: 3 | ||||
|       - min: | ||||
|           window_size: 10 | ||||
|           send_every: 2 | ||||
|           send_first_at: 1 | ||||
|       - multiply: 1 | ||||
|       - multiply: !lambda return 2; | ||||
|       - offset: 10 | ||||
|       - offset: !lambda return 10; | ||||
|       - or: | ||||
|           - quantile: | ||||
|               window_size: 7 | ||||
|               send_every: 4 | ||||
|               send_first_at: 3 | ||||
|               quantile: .9 | ||||
|           - round: 1 | ||||
|       - round_to_multiple_of: 0.25 | ||||
|       - skip_initial: 3 | ||||
|       - sliding_window_moving_average: | ||||
|           window_size: 15 | ||||
|           send_every: 15 | ||||
|       - throttle: 1s | ||||
|       - throttle_average: 2s | ||||
|       - throttle_with_priority: 5s | ||||
|       - throttle_with_priority: | ||||
|           timeout: 3s | ||||
|           value: 42.0 | ||||
|       - throttle_with_priority: | ||||
|           timeout: 3s | ||||
|           value: !lambda return 1.0f / 2.0f; | ||||
|       - throttle_with_priority: | ||||
|           timeout: 3s | ||||
|           value: | ||||
|             - 42.0 | ||||
|             - !lambda return 2.0f / 2.0f; | ||||
|             - nan | ||||
|       - timeout: | ||||
|           timeout: 10s | ||||
|           value: !lambda return 10; | ||||
|       - timeout: | ||||
|           timeout: 1h | ||||
|           value: 20.0 | ||||
|       - timeout: | ||||
|           timeout: 1min | ||||
|           value: last | ||||
|       - timeout: | ||||
|           timeout: 1d | ||||
|       - to_ntc_resistance: | ||||
|           calibration: | ||||
|             - 10.0kOhm -> 25°C | ||||
|             - 27.219kOhm -> 0°C | ||||
|             - 14.674kOhm -> 15°C | ||||
|       - to_ntc_temperature: | ||||
|           calibration: | ||||
|             - 10.0kOhm -> 25°C | ||||
|             - 27.219kOhm -> 0°C | ||||
|             - 14.674kOhm -> 15°C | ||||
|  | ||||
| output: | ||||
|   - platform: template | ||||
|     id: outputsplit | ||||
|     type: float | ||||
|     write_action: | ||||
|       - logger.log: "write_action" | ||||
|  | ||||
| switch: | ||||
|   - platform: template | ||||
|     id: test_switch | ||||
|     name: "Template Switch" | ||||
|     lambda: |- | ||||
|       if (id(some_binary_sensor).state) { | ||||
|         return true; | ||||
|       } else { | ||||
|         return false; | ||||
|       } | ||||
|     turn_on_action: | ||||
|       - logger.log: "turn_on_action" | ||||
|     turn_off_action: | ||||
|       - logger.log: "turn_off_action" | ||||
|  | ||||
| button: | ||||
|   - platform: template | ||||
|     name: "Template Button" | ||||
|     on_press: | ||||
|       - logger.log: Button Pressed | ||||
|  | ||||
| cover: | ||||
|   - platform: template | ||||
|     name: "Template Cover" | ||||
|     lambda: |- | ||||
|       if (id(some_binary_sensor).state) { | ||||
|         return COVER_OPEN; | ||||
|       } else { | ||||
|         return COVER_CLOSED; | ||||
|       } | ||||
|     open_action: | ||||
|       - logger.log: open_action | ||||
|     close_action: | ||||
|       - logger.log: close_action | ||||
|     stop_action: | ||||
|       - logger.log: stop_action | ||||
|     optimistic: true | ||||
|  | ||||
| number: | ||||
|   - platform: template | ||||
|     name: "Template number" | ||||
|     optimistic: true | ||||
|     min_value: 0 | ||||
|     max_value: 100 | ||||
|     step: 1 | ||||
|  | ||||
| select: | ||||
|   - platform: template | ||||
|     name: "Template select" | ||||
|     optimistic: true | ||||
|     options: | ||||
|       - one | ||||
|       - two | ||||
|       - three | ||||
|     initial_option: two | ||||
|  | ||||
| lock: | ||||
|   - platform: template | ||||
|     name: "Template Lock" | ||||
|     lambda: |- | ||||
|       if (id(some_binary_sensor).state) { | ||||
|         return LOCK_STATE_LOCKED; | ||||
|       } else { | ||||
|         return LOCK_STATE_UNLOCKED; | ||||
|       } | ||||
|     lock_action: | ||||
|       - logger.log: lock_action | ||||
|     unlock_action: | ||||
|       - logger.log: unlock_action | ||||
|     open_action: | ||||
|       - logger.log: open_action | ||||
|  | ||||
| valve: | ||||
|   - platform: template | ||||
|     id: template_valve | ||||
|     name: "Template Valve" | ||||
|     lambda: |- | ||||
|       if (id(some_binary_sensor).state) { | ||||
|         return VALVE_OPEN; | ||||
|       } else { | ||||
|         return VALVE_CLOSED; | ||||
|       } | ||||
|     open_action: | ||||
|       - logger.log: open_action | ||||
|     close_action: | ||||
|       - logger.log: close_action | ||||
|       - valve.template.publish: | ||||
|           id: template_valve | ||||
|           state: CLOSED | ||||
|     stop_action: | ||||
|       - logger.log: stop_action | ||||
|     optimistic: true | ||||
|  | ||||
| text: | ||||
|   - platform: template | ||||
|     name: "Template text" | ||||
|     optimistic: true | ||||
|     min_length: 0 | ||||
|     max_length: 100 | ||||
|     mode: text | ||||
|   - platform: template | ||||
|     name: "Template text lambda" | ||||
|     mode: text | ||||
|     update_interval: 1s | ||||
|     lambda: | | ||||
|       return std::string{"Hello!"}; | ||||
|     set_action: | ||||
|       then: | ||||
|         - logger.log: | ||||
|             format: Template Text set to %s | ||||
|             args: ["x.c_str()"] | ||||
|  | ||||
| alarm_control_panel: | ||||
|   - platform: template | ||||
|     name: Alarm Panel | ||||
|     codes: | ||||
|       - "1234" | ||||
|  | ||||
| datetime: | ||||
|   - platform: template | ||||
|     name: Date | ||||
|     id: test_date | ||||
|     type: date | ||||
|     initial_value: "2000-1-2" | ||||
|     set_action: | ||||
|       - logger.log: "set_value" | ||||
|     on_value: | ||||
|       - logger.log: | ||||
|           format: "Date: %04d-%02d-%02d" | ||||
|           args: | ||||
|             - x.year | ||||
|             - x.month | ||||
|             - x.day_of_month | ||||
|   - platform: template | ||||
|     name: Time | ||||
|     id: test_time | ||||
|     type: time | ||||
|     initial_value: "12:34:56am" | ||||
|     set_action: | ||||
|       - logger.log: "set_value" | ||||
|     on_value: | ||||
|       - logger.log: | ||||
|           format: "Time: %02d:%02d:%02d" | ||||
|           args: | ||||
|             - x.hour | ||||
|             - x.minute | ||||
|             - x.second | ||||
|   - platform: template | ||||
|     name: DateTime | ||||
|     id: test_datetime | ||||
|     type: datetime | ||||
|     initial_value: "2000-1-2 12:34:56" | ||||
|     set_action: | ||||
|       - logger.log: "set_value" | ||||
|     on_value: | ||||
|       - logger.log: | ||||
|           format: "DateTime: %04d-%02d-%02d %02d:%02d:%02d" | ||||
|           args: | ||||
|             - x.year | ||||
|             - x.month | ||||
|             - x.day_of_month | ||||
|             - x.hour | ||||
|             - x.minute | ||||
|             - x.second | ||||
		Reference in New Issue
	
	Block a user