A Home Assistant custom integration that provides real-time information about food markets in Paris using official open data from the City of Paris.
- Location-based market discovery using Home Assistant's configured coordinates
- Real-time market status based on current day and time
- Multiple filtering options: distance radius and product types
- Comprehensive market data including schedules, location, and contact information
- Calendar entities for viewing market schedules
- Copy the
custom_components/paris_markets
folder to your Home Assistantcustom_components
directory - Restart Home Assistant
Set your Home Assistant location if not already configured:
- Go to Settings → System → General
- Set your latitude and longitude
- Go to Settings → Devices & Services → Add Integration
- Search for ‘Paris Markets’ and select it
- Configure your preferences:
- Search radius: Distance in kilometres (default: 2 km)
- Market types: Select from available types (defaults to food markets)
- Food markets (Alimentaire)
- Organic food markets (Alimentaire bio)
- Flower markets (Fleurs)
- Bird markets (Oiseaux)
- Stamp markets (Timbres)
- Flea markets (Puces)
- Antique markets (Brocante)
- Artistic creation markets (Création artistique)
After installation, configure additional options:
- Update interval: Data fetch frequency (minimum 1 day, default 1 day)
One binary sensor per relevant market, providing:
State Values:
on
: Market is currently openoff
: Market is currently closed
Attributes:
long_name
: Full market nameshort_name
: Short market namelocation
: Detailed location descriptionarrondissement
: Paris arrondissement numberproduct_type
: Type of products soldcoordinates
: Geographic coordinates (latitude/longitude)
Calendar entities for each market showing scheduled operating times:
Features:
- Automatic event generation for market operating days
- Event details include market name, location, arrondissement, and type
- Integration with Home Assistant calendar interface
- Support for calendar-based automations
template:
- sensor:
- name: "Open Markets Count"
state: >
{{ expand('binary_sensor.paris_markets_*')
| select('is_state', 'on')
| list | count }}
unit_of_measurement: markets
- alias: "Daily Market Status"
trigger:
- platform: time
at: "08:00:00"
action:
- service: notify.mobile_app_your_device
data:
title: "Markets Open Today"
message: >
{% set open_markets = expand('binary_sensor.paris_markets_*')
| select('is_state', 'on')
| map(attribute='attributes.long_name')
| list %}
{{ open_markets | join(', ') if open_markets else 'No markets open today' }}
- alias: "Market Opening Alert"
trigger:
platform: calendar
entity_id: calendar.marche_saint_germain_calendar
event: start
action:
service: notify.mobile_app_your_device
data:
message: "Marché Saint-Germain is now open!"
Provider: Official Paris Open Data platform
Dataset: Marchés découverts (Open-air markets)
API: OpenDataSoft API v2.1
URL: https://opendata.paris.fr/explore/dataset/marches-decouverts
For issues and feature requests, use the GitHub issue tracker.
This project is licensed under the MIT License.