mirror of
https://github.com/sascha-hemi/hacs_waste_collection_schedule.git
synced 2026-03-21 00:04:11 +01:00
Il Rifiutologo (Gruppo Hera) - Italy (#2432)
* Initial commit (Il Rifiutologo - Gruppo Hera) * fix orphaned md file * code improvement * Added UI setup wizard * italian translation * updated tests_cases * logger removed * rm duplicate icon_map * Better italian translation * implemented direct fetch method * update_docu_links run * reformatting --------- Co-authored-by: 5ila5 <5ila5@users.noreply.github.com> Co-authored-by: 5ila5 <38183212+5ila5@users.noreply.github.com>
This commit is contained in:
@@ -1173,6 +1173,7 @@ If your service provider is not listed, feel free to open a [source request issu
|
||||
|
||||
- [CIDIU S.p.A.](/doc/source/cidiu_it.md) / cidiu.it
|
||||
- [Contarina S.p.A](/doc/ics/contarina_it.md) / contarina.it
|
||||
- [Il Rifiutologo](/doc/source/ilrifiutologo_it.md) / ilrifiutologo.it
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
@@ -6502,6 +6502,11 @@
|
||||
"split_at": ", ",
|
||||
"regex": ".*: (.*)"
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "Il Rifiutologo",
|
||||
"module": "ilrifiutologo_it",
|
||||
"default_params": {}
|
||||
}
|
||||
],
|
||||
"Lithuania": [
|
||||
|
||||
669
custom_components/waste_collection_schedule/translations/it.json
Normal file
669
custom_components/waste_collection_schedule/translations/it.json
Normal file
@@ -0,0 +1,669 @@
|
||||
{
|
||||
"title": "Waste Collection Schedule",
|
||||
"config": {
|
||||
"abort": {
|
||||
"already_configured": "Questa sorgente e' gia' stata utilizzata."
|
||||
},
|
||||
"step": {
|
||||
"user": {
|
||||
"title": "Seleziona un Paese",
|
||||
"data": {
|
||||
"country": "Paese"
|
||||
},
|
||||
"data_description": {
|
||||
"country": "Seleziona il tuo paese oppure *Generic* se vuoi impostare manualmente una sorgente *ICS*."
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"title": "Seleziona una sorgente",
|
||||
"description": "Seleziona una sorgente dalla lista.",
|
||||
"data": {
|
||||
"name": "Sorgente"
|
||||
}
|
||||
},
|
||||
"flow_type": {
|
||||
"title": "Seleziona i Dettagli della Configurazione",
|
||||
"description": "Seleziona quanto dettagliata vuoi che sia la configurazione di questa integrazione. Lascia vuoto se desideri configurare solo un semplice calendario.",
|
||||
"data": {
|
||||
"show_customize_config": "Mostra Configurazioni di Personalizzazione Eventi di Raccolta",
|
||||
"show_sensor_config": "Mostra Configurazioni Sensori"
|
||||
},
|
||||
"data_description": {
|
||||
"show_customize_config": "Seleziona questo se vuoi personalizzare i tipi di raccolta.",
|
||||
"show_sensor_config": "Seleziona questo se vuoi configurare i sensori."
|
||||
}
|
||||
},
|
||||
"customize_select": {
|
||||
"title": "Personalizzazione Tipo di Raccolta: Seleziona (opzionale)",
|
||||
"description": "Seleziona i tipi di raccolta che vuoi personalizzare nel passaggio successivo.",
|
||||
"data": {
|
||||
"type": "Tipo (Opzionale)"
|
||||
},
|
||||
"data_description": {
|
||||
"type": "Potrai cambiare il nome/l'icona/il meteo per utilizzare un proprio calendario/meteo per nascondere nel passaggio successivo."
|
||||
}
|
||||
},
|
||||
"customize": {
|
||||
"title": "Personalizzazione Tipo di Raccolta ({index}/{total}): {type}",
|
||||
"description": "Personalizza {type}. Puoi lasciare tutti i campi vuoti per usare i valori predefiniti.",
|
||||
"data": {
|
||||
"alias": "Alias",
|
||||
"show": "Mostra",
|
||||
"icon": "Icona",
|
||||
"picture": "Immagine",
|
||||
"use_dedicated_calendar": "Usa calendario dedicato",
|
||||
"dedicated_calendar_title": "Titolo calendario dedicato"
|
||||
},
|
||||
"data_description": {
|
||||
"alias": "Il nuovo nome del tipo di raccolta. (solo se vuoi cambiarlo)",
|
||||
"show": "Deseleziona per nascondere il tipo di raccolta.",
|
||||
"icon": "L'icona del tipo di raccolta. (solo se vuoi cambiarlo)",
|
||||
"picture": "Il percorso di un'immagine per il tipo di raccolta.",
|
||||
"use_dedicated_calendar": "Seleziona se questo tipo di raccolta deve avere una propria entità calendario.",
|
||||
"dedicated_calendar_title": "Il titolo dell'entità calendario dedicata."
|
||||
}
|
||||
},
|
||||
"args": {
|
||||
"title": "Configurazione Sorgente",
|
||||
"description": "Compila i campi per ottenere le informazioni sul tuo servizio di raccolta. Per maggiori informazioni consulta la pagina di documentazione.",
|
||||
"data": {
|
||||
"abf_hausnr": "abf_hausnr",
|
||||
"abf_strasse": "abf_strasse",
|
||||
"abf_suche": "abf_suche",
|
||||
"add_events": "Aggiungi Eventi",
|
||||
"additional_sides_matcher": "additional_sides_matcher",
|
||||
"address": "Indirizzo",
|
||||
"address_name_number": "Address Name or Number",
|
||||
"address_name_numer": "Address Name or Number",
|
||||
"address_payload": "Address Payload",
|
||||
"address_postcode": "Codice Postale CAP",
|
||||
"address_street": "Strada",
|
||||
"address_suffix": "Suffisso Indirizzo",
|
||||
"area": "Area",
|
||||
"area_id": "ID Area",
|
||||
"area_number": "Numero Area",
|
||||
"args": "Parametri",
|
||||
"asId": "asId",
|
||||
"bezirk": "bezirk",
|
||||
"bio_rhythm": "bio_rhythm",
|
||||
"bnumber": "bnumber",
|
||||
"borough": "Borough",
|
||||
"building_number": "Numero Edificio",
|
||||
"calendar": "Calendario",
|
||||
"calendar_title": "Nome Calendario",
|
||||
"city": "Città",
|
||||
"city_id": "ID Città",
|
||||
"client": "Cliente",
|
||||
"community": "Comunità",
|
||||
"company": "Compagnia",
|
||||
"council": "Consiglio",
|
||||
"county_id": "ID Paese",
|
||||
"cp": "cp",
|
||||
"customer": "Cliente",
|
||||
"district": "Distretto",
|
||||
"district_id": "ID Distretto",
|
||||
"door_num": "Numero Interno",
|
||||
"email": "Email",
|
||||
"f_abfallarten": "f_abfallarten",
|
||||
"f_id_bezirk": "f_id_bezirk",
|
||||
"f_id_kommune": "f_id_kommune",
|
||||
"f_id_location": "f_id_location",
|
||||
"f_id_strasse": "f_id_strasse",
|
||||
"f_id_strasse_hnr": "f_id_strasse_hnr",
|
||||
"file": "Nome File",
|
||||
"gelb_rhythm": "gelb_rhythm",
|
||||
"gemeinde": "gemeinde",
|
||||
"geolocation_id": "geolocation_id",
|
||||
"gnumber": "gnumber",
|
||||
"hausnr": "hausnr",
|
||||
"hausnummer": "Haus Nummer",
|
||||
"hnId": "hnId",
|
||||
"hnr": "hnr",
|
||||
"hnr_zusatz": "hnr_zusatz",
|
||||
"house": "Casa",
|
||||
"houseID": "ID Casa",
|
||||
"houseNo": "Civico",
|
||||
"house_letter": "Lettera Casa",
|
||||
"house_name": "Nome Casa",
|
||||
"house_number": "Civico",
|
||||
"housenameornumber": "Numero o Nome Casa",
|
||||
"housenumber": "Civico",
|
||||
"housenumberorname": "Numero o Nome Casa",
|
||||
"hpid": "HPID",
|
||||
"husnummer": "Husnummer",
|
||||
"id": "ID",
|
||||
"key": "Key",
|
||||
"kommune": "Kommune",
|
||||
"level_1": "Level 1",
|
||||
"level_2": "Level 2",
|
||||
"level_3": "Level 3",
|
||||
"llpgid": "llpgid",
|
||||
"location": "Posizione",
|
||||
"location_id": "ID Posizione",
|
||||
"municipality": "Municipality",
|
||||
"municipality_id": "Municipality ID",
|
||||
"method": "Metodo",
|
||||
"mm_frm_hnr_sel": "mm_frm_hnr_sel",
|
||||
"mm_frm_ort_sel": "mm_frm_ort_sel",
|
||||
"mm_frm_str_sel": "mm_frm_str_sel",
|
||||
"name": "Nome",
|
||||
"name_number": "Name Number",
|
||||
"nummer": "Nummer",
|
||||
"objectID": "Object ID",
|
||||
"object_number": "Object Number",
|
||||
"operator": "Operatore",
|
||||
"offset": "Offset",
|
||||
"ort": "Ort",
|
||||
"ortsgemeinde": "Ortsgemeinde",
|
||||
"ortsteil": "Ortsteil",
|
||||
"papier_rhythm": "papier_rhythm",
|
||||
"params": "Parametri",
|
||||
"password": "Password",
|
||||
"pid": "PID",
|
||||
"plz": "plz",
|
||||
"pois": "Pois",
|
||||
"post_code": "Codice Postale CAP",
|
||||
"postcode": "Codice Postale CAP",
|
||||
"postal_code": "Codice Postale CAP",
|
||||
"predict": "Predict",
|
||||
"prem_code": "Premises Code",
|
||||
"premises_id": "Premises ID",
|
||||
"project_id": "Project ID",
|
||||
"property": "Proprietà",
|
||||
"propertyID": "ID Proprietà",
|
||||
"property_id": "ID Proprietà",
|
||||
"property_location": "Posizione Proprietà",
|
||||
"realmid": "Realm ID",
|
||||
"record_id": "Record ID",
|
||||
"region": "Regione",
|
||||
"regex": "Regex",
|
||||
"rest_rhythm": "rest_rhythm",
|
||||
"road": "Strada",
|
||||
"road_name": "Nome Strada",
|
||||
"service": "Servizio",
|
||||
"service_id": "ID Servizio",
|
||||
"show_volume": "Show Volume",
|
||||
"showmobile": "showmobile",
|
||||
"snumber": "snumber",
|
||||
"split_at": "Split At",
|
||||
"split_suburb": "Split Suburb",
|
||||
"stadt": "Stadt",
|
||||
"stadtteil": "Stadtteil",
|
||||
"standort": "Standort",
|
||||
"state": "Stato",
|
||||
"street": "Strada",
|
||||
"streetId": "ID Strada",
|
||||
"streetIndex": "Indice Strada",
|
||||
"streetName": "Nome della Strada",
|
||||
"street_address": "Indirizzo Strada",
|
||||
"street_code": "Codice Strada",
|
||||
"street_id": "ID Strada",
|
||||
"street_name": "Nome Strada",
|
||||
"street_number": "Numero Strada",
|
||||
"street_town": "Città Strada",
|
||||
"streetnr": "streetnr",
|
||||
"subdistrict": "Subdistrict",
|
||||
"subdomain": "Subdomain",
|
||||
"suburb": "Suburb",
|
||||
"teilgebiet": "teilgebiet",
|
||||
"title_template": "Title Template",
|
||||
"town": "Città",
|
||||
"turnus": "turnus",
|
||||
"types": "Types",
|
||||
"unit_number": "Numero Interno",
|
||||
"uprn": "UPRN",
|
||||
"url": "URL",
|
||||
"username": "Username",
|
||||
"usrn": "USRN",
|
||||
"village": "Villaggio",
|
||||
"version": "Versione",
|
||||
"verify_ssl": "Verifica SSL",
|
||||
"waste_district": "Waste District",
|
||||
"waste_object_ids": "Waste Object IDs",
|
||||
"xmlurl": "XML URL",
|
||||
"zip_code": "Codice Postale CAP",
|
||||
"zipcode": "Codice Postale CAP",
|
||||
"zone": "Zona",
|
||||
"zone_id": "ID Zona",
|
||||
"zusatz": "Zusatz",
|
||||
"p_collect_cycle": "P Collect Cycle",
|
||||
"lat": "Lat",
|
||||
"calendar_splitter": "Calendar Splitter",
|
||||
"number": "Numero",
|
||||
"lon": "Lon",
|
||||
"ladeort": "Ladeort",
|
||||
"r_collect_cycle": "R Collect Cycle",
|
||||
"ignored_containers": "Ignored Containers",
|
||||
"zoneID": "ID Zona",
|
||||
"api_key": "Chiave API",
|
||||
"suffix": "Suffisso",
|
||||
"auto_suffix": "Auto Suffix",
|
||||
"show_nights": "Mostra Notti",
|
||||
"city_part": "Parte della Città",
|
||||
"calendar_title_separator": "Calendar Title Separator",
|
||||
"radius": "Raggio",
|
||||
"only_monitored": "Only Monitored",
|
||||
"municipal": "Municipal",
|
||||
"app_id": "App Id",
|
||||
"landkreis": "Landkreis",
|
||||
"self": "Self",
|
||||
"route": "Route",
|
||||
"bundesland": "Bundesland",
|
||||
"entry_id": "Entry Id",
|
||||
"address_id": "Address Id",
|
||||
"_": "",
|
||||
"include_ordered_pickup_entries": "Include Ordered Pickup Entries",
|
||||
"b_collect_cycle": "B Collect Cycle",
|
||||
"sector": "Settore",
|
||||
"phone": "Telefono",
|
||||
"strasse": "Strasse",
|
||||
"year_field": "Year Field",
|
||||
"weekdays": "Giorni feriali",
|
||||
"dates": "Date",
|
||||
"type": "Type",
|
||||
"until": "Fino",
|
||||
"excludes": "Escludi",
|
||||
"frequency": "Frequenza",
|
||||
"headers": "Headers",
|
||||
"start": "Inizio",
|
||||
"count": "Conteggio",
|
||||
"interval": "Intervallo",
|
||||
"bill_number": "Numero della bolletta",
|
||||
"values": "Valori",
|
||||
"property_no": "Proprietà Numero",
|
||||
"postCode": "Codice Postale CAP",
|
||||
"zipCode": "Codice Postale CAP",
|
||||
"garden_cutomer": "Garden Cutomer",
|
||||
"app": "App",
|
||||
"service_provider": "Fornitore di Servizi",
|
||||
"facility_id": "Facility Id",
|
||||
"abfall": "Abfall",
|
||||
"english": "English",
|
||||
"voivodeship": "Voivodeship",
|
||||
"building_id": "Building Id",
|
||||
"addressNo": "Indirizzo Numero",
|
||||
"territory": "Territorio"
|
||||
},
|
||||
"data_description": {
|
||||
"calendar_title": "Puoi cambiare il nome del calendario della raccolta dei rifiuti, altrimenti di default verra' utilizzato il nome del tuo fornitore di servizi."
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"title": "Crea Sensore \"{sensor_number}\"",
|
||||
"description": "Configura un sensore alla volta.",
|
||||
"data": {
|
||||
"name": "Nome del sensore",
|
||||
"details_format": "Formato dei dettagli",
|
||||
"count": "Numero di eventi",
|
||||
"leadtime": "Tempo ",
|
||||
"value_template": "Template valore",
|
||||
"date_template": "Formato data",
|
||||
"add_days_to": "Aggiungi giorni a",
|
||||
"event_index": "Indice dell'evento",
|
||||
"types": "Tipi di rifiuti",
|
||||
"skip": "Non creare sensore",
|
||||
"additional": "Aggiungi sensori aggiuntivi"
|
||||
},
|
||||
"data_description": {
|
||||
"details_format": "Specifica il formato utilizzato per visualizzare le informazioni nel pop-up 'more-info' di Home Assistant. 'Prossimo': mostra un elenco delle prossime raccolte, 'Appuntamenti': mostra un elenco di tipi di rifiuti e la loro prossima data di raccolta, 'Generico': fornisce tutti gli attributi come tipi di dati Python generici, 'Nasco': nasconde gli attributi delle prossime raccolte.",
|
||||
"count": "Limita il pop-up 'more-info' di Home Assistant alla visualizzazione delle prossime n raccolte",
|
||||
"leadtime": "Limita il pop-up 'more-info' di Home Assistant alla visualizzazione solo delle raccolte che avvengono entro i prossimi n giorni di preavviso",
|
||||
"value_template": "Utilizza il templating di Home Assistant per formattare le informazioni sullo stato di un'entità. Puoi usare 'value.date', 'value.daysTo', 'value.types'.",
|
||||
"date_template": "Utilizza il templating di Home Assistant per formattare le date visualizzate all'interno delle informazioni del pop-up 'more-info' di un'entità. Es: 'value.date.strftime(\"%d.%m.%Y\")'.",
|
||||
"add_days_to": "Aggiunge un attributo 'daysTo' allo stato dell'entità sorgente contenente il numero di giorni alla prossima raccolta.",
|
||||
"event_index": "Utilizzato per assegnare un sensore a un indice di data di raccolta specifico. La prossima data di raccolta ha event_index 0. Utile se si desidera avere sensori dedicati per la prossima raccolta, la seconda raccolta, la terza raccolta, ecc.",
|
||||
"types": "Utilizzato per filtrare i tipi di rifiuti. Il sensore mostrerà solo le raccolte corrispondenti a questi tipi di rifiuti. È necessario utilizzare l'alias se hai usato un alias nella configurazione delle sorgenti.",
|
||||
"skip": "Se selezionato, il sensore non verrà creato e tutta la tua configurazione sopra verrà ignorata.",
|
||||
"additional": "Se selezionato, ti verrà chiesto di aggiungere un altro sensore dopo aver salvato questo."
|
||||
}
|
||||
},
|
||||
"reconfigure": {
|
||||
"title": "Riconfigurazione Sorgente",
|
||||
"description": "Compila i campi per ottenere le informazioni sul tuo servizio di raccolta. Per maggiori informazioni consulta la pagina di documentazione.",
|
||||
"data": {
|
||||
"abf_hausnr": "abf_hausnr",
|
||||
"abf_strasse": "abf_strasse",
|
||||
"abf_suche": "abf_suche",
|
||||
"add_events": "Aggiungi Eventi",
|
||||
"additional_sides_matcher": "additional_sides_matcher",
|
||||
"address": "Indirizzo",
|
||||
"address_name_number": "Address Name or Number",
|
||||
"address_name_numer": "Address Name or Number",
|
||||
"address_payload": "Address Payload",
|
||||
"address_postcode": "Codice Postale CAP",
|
||||
"address_street": "Strada",
|
||||
"address_suffix": "Suffisso Indirizzo",
|
||||
"area": "Area",
|
||||
"area_id": "ID Area",
|
||||
"area_number": "Numero Area",
|
||||
"args": "Parametri",
|
||||
"asId": "asId",
|
||||
"bezirk": "bezirk",
|
||||
"bio_rhythm": "bio_rhythm",
|
||||
"bnumber": "bnumber",
|
||||
"borough": "Borough",
|
||||
"building_number": "Numero Edificio",
|
||||
"calendar": "Calendario",
|
||||
"calendar_title": "Nome Calendario",
|
||||
"city": "Città",
|
||||
"city_id": "ID Città",
|
||||
"client": "Cliente",
|
||||
"community": "Comunità",
|
||||
"company": "Compagnia",
|
||||
"council": "Consiglio",
|
||||
"county_id": "ID Paese",
|
||||
"cp": "cp",
|
||||
"customer": "Cliente",
|
||||
"district": "Distretto",
|
||||
"district_id": "ID Distretto",
|
||||
"door_num": "Numero Interno",
|
||||
"email": "Email",
|
||||
"f_abfallarten": "f_abfallarten",
|
||||
"f_id_bezirk": "f_id_bezirk",
|
||||
"f_id_kommune": "f_id_kommune",
|
||||
"f_id_location": "f_id_location",
|
||||
"f_id_strasse": "f_id_strasse",
|
||||
"f_id_strasse_hnr": "f_id_strasse_hnr",
|
||||
"file": "Nome File",
|
||||
"gelb_rhythm": "gelb_rhythm",
|
||||
"gemeinde": "gemeinde",
|
||||
"geolocation_id": "geolocation_id",
|
||||
"gnumber": "gnumber",
|
||||
"hausnr": "hausnr",
|
||||
"hausnummer": "Haus Nummer",
|
||||
"hnId": "hnId",
|
||||
"hnr": "hnr",
|
||||
"hnr_zusatz": "hnr_zusatz",
|
||||
"house": "Casa",
|
||||
"houseID": "ID Casa",
|
||||
"houseNo": "Civico",
|
||||
"house_letter": "Lettera Casa",
|
||||
"house_name": "Nome Casa",
|
||||
"house_number": "Civico",
|
||||
"housenameornumber": "Numero o Nome Casa",
|
||||
"housenumber": "Civico",
|
||||
"housenumberorname": "Numero o Nome Casa",
|
||||
"hpid": "HPID",
|
||||
"husnummer": "Husnummer",
|
||||
"id": "ID",
|
||||
"key": "Key",
|
||||
"kommune": "Kommune",
|
||||
"level_1": "Level 1",
|
||||
"level_2": "Level 2",
|
||||
"level_3": "Level 3",
|
||||
"llpgid": "llpgid",
|
||||
"location": "Posizione",
|
||||
"location_id": "ID Posizione",
|
||||
"municipality": "Municipality",
|
||||
"municipality_id": "Municipality ID",
|
||||
"method": "Metodo",
|
||||
"mm_frm_hnr_sel": "mm_frm_hnr_sel",
|
||||
"mm_frm_ort_sel": "mm_frm_ort_sel",
|
||||
"mm_frm_str_sel": "mm_frm_str_sel",
|
||||
"name": "Nome",
|
||||
"name_number": "Name Number",
|
||||
"nummer": "Nummer",
|
||||
"objectID": "Object ID",
|
||||
"object_number": "Object Number",
|
||||
"operator": "Operatore",
|
||||
"offset": "Offset",
|
||||
"ort": "Ort",
|
||||
"ortsgemeinde": "Ortsgemeinde",
|
||||
"ortsteil": "Ortsteil",
|
||||
"papier_rhythm": "papier_rhythm",
|
||||
"params": "Parametri",
|
||||
"password": "Password",
|
||||
"pid": "PID",
|
||||
"plz": "plz",
|
||||
"pois": "Pois",
|
||||
"post_code": "Codice Postale CAP",
|
||||
"postcode": "Codice Postale CAP",
|
||||
"postal_code": "Codice Postale CAP",
|
||||
"predict": "Predict",
|
||||
"prem_code": "Premises Code",
|
||||
"premises_id": "Premises ID",
|
||||
"project_id": "Project ID",
|
||||
"property": "Proprietà",
|
||||
"propertyID": "ID Proprietà",
|
||||
"property_id": "ID Proprietà",
|
||||
"property_location": "Posizione Proprietà",
|
||||
"realmid": "Realm ID",
|
||||
"record_id": "Record ID",
|
||||
"region": "Regione",
|
||||
"regex": "Regex",
|
||||
"rest_rhythm": "rest_rhythm",
|
||||
"road": "Strada",
|
||||
"road_name": "Nome Strada",
|
||||
"service": "Servizio",
|
||||
"service_id": "ID Servizio",
|
||||
"show_volume": "Show Volume",
|
||||
"showmobile": "showmobile",
|
||||
"snumber": "snumber",
|
||||
"split_at": "Split At",
|
||||
"split_suburb": "Split Suburb",
|
||||
"stadt": "Stadt",
|
||||
"stadtteil": "Stadtteil",
|
||||
"standort": "Standort",
|
||||
"state": "Stato",
|
||||
"street": "Strada",
|
||||
"streetId": "ID Strada",
|
||||
"streetIndex": "Indice Strada",
|
||||
"streetName": "Nome della Strada",
|
||||
"street_address": "Indirizzo Strada",
|
||||
"street_code": "Codice Strada",
|
||||
"street_id": "ID Strada",
|
||||
"street_name": "Nome Strada",
|
||||
"street_number": "Numero Strada",
|
||||
"street_town": "Città Strada",
|
||||
"streetnr": "streetnr",
|
||||
"subdistrict": "Subdistrict",
|
||||
"subdomain": "Subdomain",
|
||||
"suburb": "Suburb",
|
||||
"teilgebiet": "teilgebiet",
|
||||
"title_template": "Title Template",
|
||||
"town": "Città",
|
||||
"turnus": "turnus",
|
||||
"types": "Types",
|
||||
"unit_number": "Numero Interno",
|
||||
"uprn": "UPRN",
|
||||
"url": "URL",
|
||||
"username": "Username",
|
||||
"usrn": "USRN",
|
||||
"village": "Villaggio",
|
||||
"version": "Versione",
|
||||
"verify_ssl": "Verifica SSL",
|
||||
"waste_district": "Waste District",
|
||||
"waste_object_ids": "Waste Object IDs",
|
||||
"xmlurl": "XML URL",
|
||||
"zip_code": "Codice Postale CAP",
|
||||
"zipcode": "Codice Postale CAP",
|
||||
"zone": "Zona",
|
||||
"zone_id": "ID Zona",
|
||||
"zusatz": "Zusatz",
|
||||
"p_collect_cycle": "P Collect Cycle",
|
||||
"lat": "Lat",
|
||||
"calendar_splitter": "Calendar Splitter",
|
||||
"number": "Numero",
|
||||
"lon": "Lon",
|
||||
"ladeort": "Ladeort",
|
||||
"r_collect_cycle": "R Collect Cycle",
|
||||
"ignored_containers": "Ignored Containers",
|
||||
"zoneID": "ID Zona",
|
||||
"api_key": "Chiave API",
|
||||
"suffix": "Suffisso",
|
||||
"auto_suffix": "Auto Suffix",
|
||||
"show_nights": "Mostra Notti",
|
||||
"city_part": "Parte della Città",
|
||||
"calendar_title_separator": "Calendar Title Separator",
|
||||
"radius": "Raggio",
|
||||
"only_monitored": "Only Monitored",
|
||||
"municipal": "Municipal",
|
||||
"app_id": "App Id",
|
||||
"landkreis": "Landkreis",
|
||||
"self": "Self",
|
||||
"route": "Route",
|
||||
"bundesland": "Bundesland",
|
||||
"entry_id": "Entry Id",
|
||||
"address_id": "Address Id",
|
||||
"_": "",
|
||||
"include_ordered_pickup_entries": "Include Ordered Pickup Entries",
|
||||
"b_collect_cycle": "B Collect Cycle",
|
||||
"sector": "Settore",
|
||||
"phone": "Telefono",
|
||||
"strasse": "Strasse",
|
||||
"year_field": "Year Field",
|
||||
"weekdays": "Giorni feriali",
|
||||
"dates": "Date",
|
||||
"type": "Type",
|
||||
"until": "Fino",
|
||||
"excludes": "Escludi",
|
||||
"frequency": "Frequenza",
|
||||
"headers": "Headers",
|
||||
"start": "Inizio",
|
||||
"count": "Conteggio",
|
||||
"interval": "Intervallo",
|
||||
"bill_number": "Numero della bolletta",
|
||||
"values": "Valori",
|
||||
"property_no": "Proprietà Numero",
|
||||
"postCode": "Codice Postale CAP",
|
||||
"zipCode": "Codice Postale CAP",
|
||||
"garden_cutomer": "Garden Cutomer",
|
||||
"app": "App",
|
||||
"service_provider": "Fornitore di Servizi",
|
||||
"facility_id": "Facility Id",
|
||||
"abfall": "Abfall",
|
||||
"english": "English",
|
||||
"voivodeship": "Voivodeship",
|
||||
"building_id": "Building Id",
|
||||
"addressNo": "Indirizzo Numero",
|
||||
"territory": "Territorio"
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"invalid_weekday": "Giorno della settimana non valido. Si prega di fornire un giorno della settimana valido (MO, TU, WE, TH, FR, SA, SU).",
|
||||
"invalid_count": "Conteggio non valido. Si prega di fornire un numero valido.",
|
||||
"invalid_weekdays": "Formato del giorno della settimana non valido. Si prega di fornire uno (MO, TU, WE, TH, FR, SA, SU) o un dizionario come MO: 1.",
|
||||
"invalid_source": "Non hai selezionato una fonte. Si prega di selezionare una fonte valida.",
|
||||
"fetch_error": "La fonte ha restituito una risposta non valida: \"{fetch_error_message}\". Si prega di controllare gli argomenti forniti e riprovare.",
|
||||
"fetch_empty": "La fonte ha restituito una risposta vuota. Si prega di controllare gli argomenti forniti e riprovare.",
|
||||
"invalid_template": "Il modello non è valido. Si prega di controllare la sintassi e riprovare.",
|
||||
"skip_additional": "Non è possibile saltare il corrente e aggiungere sensori aggiuntivi allo stesso tempo.",
|
||||
"name_exists": "Il nome del sensore esiste già. Si prega di scegliere un nome diverso.",
|
||||
"preset_selected": "Non è possibile selezionare un preset e fornire valori personalizzati allo stesso tempo.",
|
||||
"sensor_name_empty": "Il nome del sensore non può essere vuoto. Si prega di fornire un nome.",
|
||||
"dedicated_calendar_title_without_use_dedicated_calendar": "Non è possibile fornire un titolo di calendario dedicato senza abilitare il calendario dedicato."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"description": "Aggiorna i dettagli del calendario di raccolta dei rifiuti.",
|
||||
"data": {
|
||||
"sensor_select": "Sensori da modificare",
|
||||
"customize_select": "Tipi di raccolte da modificare",
|
||||
"calendar_title": "Titolo del calendario",
|
||||
"separator": "Separatore",
|
||||
"fetch_time": "Orario aggiornamento programma di raccolta",
|
||||
"random_fetch_time_offset": "Offset casuale dell'orario di aggiornamento (minuti)",
|
||||
"day_switch_time": "Orario di raccolta"
|
||||
},
|
||||
"data_description": {
|
||||
"sensor_select": "Seleziona il sensore che vuoi modificare. (seleziona 'Aggiungi nuovo sensore' per creare un nuovo sensore)",
|
||||
"customize_select": "Seleziona il tipo di raccolta che vuoi modificare.",
|
||||
"calendar_title": "Puoi cambiare il nome del calendario della raccolta dei rifiuti, altrimenti di default verrà utilizzato il nome del tuo fornitore di servizi.",
|
||||
"separator": "Utilizzato per unire le voci se la fonte restituisce più valori per un singolo giorno.",
|
||||
"fetch_time": "Ora del giorno in formato 'HH:MM' in cui Home Assistant interroga il fornitore di servizi per l'ultimo programma di raccolta.",
|
||||
"random_fetch_time_offset": "Offset casuale dell'ora di recupero fino a x minuti. Può essere utilizzato per distribuire le richieste di recupero di Home Assistant su un periodo di tempo più lungo per evitare picchi di carico sui fornitori di servizi.",
|
||||
"day_switch_time": "Ora del giorno in formato 'HH:MM' entro la quale Home Assistant continuera' a mostrare i valori dei sensori del giorno precedente prima di passare a quelli del giorno corrente."
|
||||
}
|
||||
},
|
||||
"customize": {
|
||||
"title": "Modifica/Crea personalizzazione del tipo di raccolta ({index}/{total}): {type}",
|
||||
"description": "Modifica/Crea personalizzazione per \"{type}\". Puoi lasciare tutti i campi vuoti per utilizzare i valori predefiniti.",
|
||||
"data": {
|
||||
"delete": "Elimina",
|
||||
"alias": "Alias",
|
||||
"show": "Mostra",
|
||||
"icon": "Icona",
|
||||
"picture": "Immagine",
|
||||
"use_dedicated_calendar": "Usa calendario dedicato",
|
||||
"dedicated_calendar_title": "Titolo del calendario dedicato"
|
||||
},
|
||||
"data_description": {
|
||||
"delete": "Elimina questa personalizzazione.",
|
||||
"alias": "Il nuovo nome del tipo di raccolta. (solo se vuoi cambiarlo)",
|
||||
"show": "Deseleziona per nascondere il tipo di raccolta.",
|
||||
"icon": "L'icona del tipo di raccolta. (solo se vuoi cambiarla)",
|
||||
"picture": "Il percorso di un'immagine per il tipo di raccolta.",
|
||||
"use_dedicated_calendar": "Seleziona se questo tipo di raccolta dovrebbe avere una propria entità calendario.",
|
||||
"dedicated_calendar_title": "Il titolo dell'entità calendario dedicata."
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"title": "Modifica/Crea sensore \"{sensor_number}\"",
|
||||
"description": "Configura un sensore alla volta.",
|
||||
"data": {
|
||||
"delete": "Elimina",
|
||||
"name": "Nome del sensore",
|
||||
"details_format": "Formato dei dettagli",
|
||||
"count": "Numero di eventi",
|
||||
"leadtime": "Tempo ",
|
||||
"value_template": "Template valore",
|
||||
"date_template": "Formato data",
|
||||
"add_days_to": "Aggiungi giorni a",
|
||||
"event_index": "Indice dell'evento",
|
||||
"types": "Tipi di rifiuti",
|
||||
"skip": "Non creare sensore",
|
||||
"additional": "Aggiungi sensori aggiuntivi"
|
||||
},
|
||||
"data_description": {
|
||||
"delete": "Elimina questa personalizzazione.",
|
||||
"details_format": "Specifica il formato utilizzato per visualizzare le informazioni nel pop-up 'more-info' di Home Assistant. 'Prossimo': mostra un elenco delle prossime raccolte, 'Appuntamenti': mostra un elenco di tipi di rifiuti e la loro prossima data di raccolta, 'Generico': fornisce tutti gli attributi come tipi di dati Python generici, 'Nasco': nasconde gli attributi delle prossime raccolte.",
|
||||
"count": "Limita il pop-up 'more-info' di Home Assistant alla visualizzazione delle prossime n raccolte",
|
||||
"leadtime": "Limita il pop-up 'more-info' di Home Assistant alla visualizzazione solo delle raccolte che avvengono entro i prossimi n giorni di preavviso",
|
||||
"value_template": "Utilizza il templating di Home Assistant per formattare le informazioni sullo stato di un'entità. Puoi usare 'value.date', 'value.daysTo', 'value.types'.",
|
||||
"date_template": "Utilizza il templating di Home Assistant per formattare le date visualizzate all'interno delle informazioni del pop-up 'more-info' di un'entità. Es: 'value.date.strftime(\"%d.%m.%Y\")'.",
|
||||
"add_days_to": "Aggiunge un attributo 'daysTo' allo stato dell'entità sorgente contenente il numero di giorni alla prossima raccolta.",
|
||||
"event_index": "Utilizzato per assegnare un sensore a un indice di data di raccolta specifico. La prossima data di raccolta ha event_index 0. Utile se si desidera avere sensori dedicati per la prossima raccolta, la seconda raccolta, la terza raccolta, ecc.",
|
||||
"types": "Utilizzato per filtrare i tipi di rifiuti. Il sensore mostrerà solo le raccolte corrispondenti a questi tipi di rifiuti. È necessario utilizzare l'alias se hai usato un alias nella configurazione delle sorgenti.",
|
||||
"skip": "Se selezionato, il sensore non verrà creato e tutta la tua configurazione sopra verrà ignorata.",
|
||||
"additional": "Se selezionato, ti verrà chiesto di aggiungere un altro sensore dopo aver salvato questo."
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"time_format": "Gli orari devono essere forniti nel formato HH:MM.",
|
||||
"invalid_template": "Il modello non è valido. Si prega di controllare la sintassi e riprovare.",
|
||||
"name_exists": "Il nome del sensore esiste già. Si prega di scegliere un nome diverso.",
|
||||
"preset_selected": "Non puoi selezionare un preset e fornire valori personalizzati allo stesso tempo.",
|
||||
"sensor_name_empty": "Il nome del sensore non può essere vuoto. Si prega di fornire un nome.",
|
||||
"dedicated_calendar_title_without_use_dedicated_calendar": "Non puoi fornire un titolo di calendario dedicato senza abilitare il calendario dedicato."
|
||||
},
|
||||
"abort": {}
|
||||
},
|
||||
"selector": {
|
||||
"details_format": {
|
||||
"options": {
|
||||
"upcoming": "Prossimo",
|
||||
"appointment_types": "Appuntamenti",
|
||||
"generic": "Generico",
|
||||
"hidden": "Nascosto"
|
||||
}
|
||||
},
|
||||
"custom_flow_types": {
|
||||
"options": {
|
||||
"yearly": "Annuale",
|
||||
"monthly": "Mensile",
|
||||
"weekly": "Settimanale",
|
||||
"daily": "Quotidiano"
|
||||
}
|
||||
},
|
||||
"sensor_select": {
|
||||
"options": {
|
||||
"sensor_select_add_new": "Aggiungi nuovo sensore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"issues": {}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
import datetime
|
||||
|
||||
import requests
|
||||
from waste_collection_schedule import Collection
|
||||
|
||||
TITLE = "Il Rifiutologo"
|
||||
DESCRIPTION = "Source for ilrifiutologo.it"
|
||||
URL = "https://ilrifiutologo.it"
|
||||
COUNTRY = "it"
|
||||
TEST_CASES = {
|
||||
"Test1": {"town": "Faenza", "street": "VIA AUGUSTO RIGHI", "house_number": "6"},
|
||||
"Test2": {"town": "Faenza", "street": "VIA AUGUSTO RIGHI", "house_number": 1},
|
||||
}
|
||||
|
||||
API_URL = "https://webapp-ambiente.gruppohera.it/rifiutologo/rifiutologoweb"
|
||||
HEADERS = {
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0"
|
||||
}
|
||||
|
||||
ICON_MAP = {
|
||||
"Lattine": "mdi:bottle-soda-classic",
|
||||
"Plastica": "mdi:bottle-soda-classic",
|
||||
"Indifferenziato": "mdi:trash-can",
|
||||
"Vetro": "mdi:glass-fragile",
|
||||
"Organico": "mdi:apple",
|
||||
"Sfalci e potature": "mdi:leaf",
|
||||
"Pannolini/Pannoloni": "mdi:baby-carriage",
|
||||
"Carta e cartone": "mdi:newspaper",
|
||||
}
|
||||
|
||||
|
||||
class Source:
|
||||
def __init__(
|
||||
self, town: str, street: str, house_number: int | str
|
||||
): # argX correspond to the args dict in the source configuration
|
||||
self._comune = town
|
||||
self._indirizzo = street
|
||||
self._civico = house_number
|
||||
|
||||
def fetch(self):
|
||||
comuni = api_get_request(relative_path="/getComuni.php")
|
||||
|
||||
for city in comuni.json():
|
||||
if city.get("name").upper() == self._comune.upper():
|
||||
self._comune = city.get("id", "")
|
||||
break
|
||||
if city == comuni.json()[-1] or self._comune == "":
|
||||
raise Exception("Comune non trovato")
|
||||
|
||||
indirizzi = api_get_request(
|
||||
relative_path="/getIndirizzi.php", params={"idComune": self._comune}
|
||||
)
|
||||
|
||||
for street in indirizzi.json():
|
||||
if street.get("indirizzo") == self._indirizzo.upper():
|
||||
self._indirizzo = street.get("id", "")
|
||||
break
|
||||
if street == indirizzi.json()[-1] or self._indirizzo == "":
|
||||
raise Exception("Strada non trovata")
|
||||
|
||||
numeri_civici = api_get_request(
|
||||
relative_path="/getNumeriCivici.php",
|
||||
params={"idComune": self._comune, "idIndirizzo": self._indirizzo},
|
||||
)
|
||||
|
||||
for number in numeri_civici.json():
|
||||
if number.get("numeroCivico") == str(self._civico):
|
||||
self._civico = number.get("id", "")
|
||||
break
|
||||
if number == numeri_civici.json()[-1] or self._civico == "":
|
||||
raise Exception("Civico non trovato")
|
||||
|
||||
r = api_get_request(
|
||||
relative_path="/getCalendarioPap.php",
|
||||
params={
|
||||
"idComune": self._comune,
|
||||
"idIndirizzo": self._indirizzo,
|
||||
"idCivico": self._civico,
|
||||
"isBusiness": "0",
|
||||
"date": datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S"),
|
||||
"giorniDaMostrare": 31,
|
||||
},
|
||||
)
|
||||
|
||||
if r.status_code != 200:
|
||||
raise Exception("Errore durante il recupero del calendario")
|
||||
|
||||
calendar = r.json().get("calendario", [])
|
||||
|
||||
entries = []
|
||||
|
||||
for entry in calendar:
|
||||
for event in entry.get("conferimenti", []):
|
||||
entries.append(
|
||||
Collection(
|
||||
date=datetime.datetime.strptime(
|
||||
entry.get("data"), "%Y-%m-%dT%H:%M:%S+00:00"
|
||||
).date(),
|
||||
t=event.get("macroprodotto").get("descrizione"),
|
||||
icon=ICON_MAP.get(
|
||||
event.get("macroprodotto").get("descrizione")
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
return entries
|
||||
|
||||
|
||||
def api_get_request(relative_path, params=None):
|
||||
return requests.get(url=API_URL + relative_path, params=params, headers=HEADERS)
|
||||
45
doc/source/ilrifiutologo_it.md
Normal file
45
doc/source/ilrifiutologo_it.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Il Rifiutologo
|
||||
|
||||
Support for schedules provided by [Gruppo Hera](https://www.gruppohera.it/offerte-e-servizi/casa/ambiente), all schedules are provided by the platform [Il Rifiutologo](https://www.ilrifiutologo.it/casa_rifiutologo).
|
||||
|
||||
## Configuration via configuration.yaml
|
||||
|
||||
```yaml
|
||||
waste_collection_schedule:
|
||||
sources:
|
||||
- name: ilrifiutologo_it
|
||||
args:
|
||||
comune: Comune
|
||||
indirizzo: Indirizzo
|
||||
civico: Civico
|
||||
```
|
||||
|
||||
### Configuration Variables
|
||||
|
||||
**comune**
|
||||
*(String) (required)*
|
||||
City name
|
||||
|
||||
**indirizzo**
|
||||
*(String) (required)*
|
||||
Street name without house number
|
||||
|
||||
**civico**
|
||||
*(Integer | String) (required)*
|
||||
House number
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
waste_collection_schedule:
|
||||
sources:
|
||||
- name: ilrifiutologo_it
|
||||
args:
|
||||
comune: Faenza
|
||||
indirizzo: Via Augusto Righi
|
||||
civico: 6
|
||||
```
|
||||
|
||||
## How to get the source argument
|
||||
|
||||
If you have any problem finding your address search it on [Il Rifiutologo](https://www.ilrifiutologo.it/casa_rifiutologo) and then copy it and paste it in your configs as it is.
|
||||
Reference in New Issue
Block a user