"past_week_m25_earthquakes", "past_week_m10_earthquakes", "past_week_all_earthquakes", "past_month_significant_earthquakes", "past_month_m45_earthquakes", "past_month_m25_earthquakes", "past_month_m10_earthquakes", "past_month_all_earthquakes", ] PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_FEED_TYPE): vol.In(VALID_FEED_TYPES), vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), vol.Optional(CONF_MINIMUM_MAGNITUDE, default=DEFAULT_MINIMUM_MAGNITUDE): vol.All(vol.Coerce(float), vol.Range(min=0)), }) def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the USGS Earthquake Hazards Program Feed platform.""" scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) feed_type = config[CONF_FEED_TYPE] coordinates = ( config.get(CONF_LATITUDE, hass.config.latitude), config.get(CONF_LONGITUDE, hass.config.longitude), )
SCAN_INTERVAL = timedelta(minutes=5) SIGNAL_DELETE_ENTITY = "nsw_rural_fire_service_feed_delete_{}" SIGNAL_UPDATE_ENTITY = "nsw_rural_fire_service_feed_update_{}" SOURCE = "nsw_rural_fire_service_feed" VALID_CATEGORIES = [ "Advice", "Emergency Warning", "Not Applicable", "Watch and Act" ] PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_CATEGORIES, default=[]): vol.All(cv.ensure_list, [vol.In(VALID_CATEGORIES)]), vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), }) async def async_setup_platform(hass: HomeAssistantType, config: ConfigType, async_add_entities, discovery_info=None): """Set up the NSW Rural Fire Service Feed platform.""" scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) coordinates = ( config.get(CONF_LATITUDE, hass.config.latitude), config.get(CONF_LONGITUDE, hass.config.longitude),
_LOGGER = logging.getLogger(__name__) ATTR_EXTERNAL_ID = "external_id" DEFAULT_RADIUS_IN_KM = 20.0 SCAN_INTERVAL = timedelta(minutes=5) SOURCE = "geo_json_events" PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_URL): cv.string, vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), }) async def async_setup_platform( hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None, ) -> None: """Set up the GeoJSON Events platform.""" url: str = config[CONF_URL] scan_interval: timedelta = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)
_LOGGER = logging.getLogger(__name__) ATTR_EXTERNAL_ID = 'external_id' DEFAULT_RADIUS_IN_KM = 20.0 DEFAULT_UNIT_OF_MEASUREMENT = 'km' SCAN_INTERVAL = timedelta(minutes=5) SIGNAL_DELETE_ENTITY = 'geo_json_events_delete_{}' SIGNAL_UPDATE_ENTITY = 'geo_json_events_update_{}' SOURCE = 'geo_json_events' PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_URL): cv.string, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), }) def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the GeoJSON Events platform.""" url = config[CONF_URL] scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) radius_in_km = config[CONF_RADIUS] # Initialize the entity manager. feed = GeoJsonFeedManager(hass, add_entities, scan_interval, url, radius_in_km) def start_feed_manager(event): """Start feed manager.""" feed.startup()
'past_week_significant_earthquakes', 'past_week_m45_earthquakes', 'past_week_m25_earthquakes', 'past_week_m10_earthquakes', 'past_week_all_earthquakes', 'past_month_significant_earthquakes', 'past_month_m45_earthquakes', 'past_month_m25_earthquakes', 'past_month_m10_earthquakes', 'past_month_all_earthquakes', ] PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_FEED_TYPE): vol.In(VALID_FEED_TYPES), vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), vol.Optional(CONF_MINIMUM_MAGNITUDE, default=DEFAULT_MINIMUM_MAGNITUDE): vol.All(vol.Coerce(float), vol.Range(min=0)) }) def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the USGS Earthquake Hazards Program Feed platform.""" scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) feed_type = config[CONF_FEED_TYPE] coordinates = (config.get(CONF_LATITUDE, hass.config.latitude), config.get(CONF_LONGITUDE, hass.config.longitude)) radius_in_km = config[CONF_RADIUS] minimum_magnitude = config[CONF_MINIMUM_MAGNITUDE] # Initialize the entity manager. feed = UsgsEarthquakesFeedEntityManager(
ATTR_TITLE = "title" CONF_MINIMUM_MAGNITUDE = "minimum_magnitude" DEFAULT_MINIMUM_MAGNITUDE = 0.0 DEFAULT_RADIUS_IN_KM = 50.0 SCAN_INTERVAL = timedelta(minutes=5) SOURCE = "ign_sismologia" PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), vol.Optional(CONF_MINIMUM_MAGNITUDE, default=DEFAULT_MINIMUM_MAGNITUDE): cv.positive_float, }) def setup_platform( hass: HomeAssistant, config: ConfigType, add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None, ) -> None: """Set up the IGN Sismologia Feed platform.""" scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) coordinates = (
SIGNAL_DELETE_ENTITY = 'nsw_rural_fire_service_feed_delete_{}' SIGNAL_UPDATE_ENTITY = 'nsw_rural_fire_service_feed_update_{}' SOURCE = 'nsw_rural_fire_service_feed' VALID_CATEGORIES = [ 'Advice', 'Emergency Warning', 'Not Applicable', 'Watch and Act', ] PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_CATEGORIES, default=[]): vol.All(cv.ensure_list, [vol.In(VALID_CATEGORIES)]), vol.Optional(CONF_LATITUDE): cv.latitude, vol.Optional(CONF_LONGITUDE): cv.longitude, vol.Optional(CONF_RADIUS, default=DEFAULT_RADIUS_IN_KM): vol.Coerce(float), }) def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the NSW Rural Fire Service Feed platform.""" scan_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL) coordinates = (config.get(CONF_LATITUDE, hass.config.latitude), config.get(CONF_LONGITUDE, hass.config.longitude)) radius_in_km = config[CONF_RADIUS] categories = config.get(CONF_CATEGORIES) # Initialize the entity manager. feed = NswRuralFireServiceFeedEntityManager( hass, add_entities, scan_interval, coordinates, radius_in_km,