Bump brottsplatskartan 1.0.5 ()

pull/105774/head
G Johansson 2023-12-14 23:36:12 +01:00 committed by GitHub
parent 6c5ca58405
commit f4c8920231
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 33 deletions

View File

@ -4,6 +4,7 @@ from __future__ import annotations
from typing import Any
import uuid
from brottsplatskartan import AREAS
import voluptuous as vol
from homeassistant import config_entries
@ -11,7 +12,7 @@ from homeassistant.const import CONF_LATITUDE, CONF_LOCATION, CONF_LONGITUDE
from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers import selector
from .const import AREAS, CONF_APP_ID, CONF_AREA, DEFAULT_NAME, DOMAIN
from .const import CONF_APP_ID, CONF_AREA, DEFAULT_NAME, DOMAIN
DATA_SCHEMA = vol.Schema(
{

View File

@ -12,27 +12,3 @@ LOGGER = logging.getLogger(__package__)
CONF_AREA = "area"
CONF_APP_ID = "app_id"
DEFAULT_NAME = "Brottsplatskartan"
AREAS = [
"Blekinge län",
"Dalarnas län",
"Gotlands län",
"Gävleborgs län",
"Hallands län",
"Jämtlands län",
"Jönköpings län",
"Kalmar län",
"Kronobergs län",
"Norrbottens län",
"Skåne län",
"Stockholms län",
"Södermanlands län",
"Uppsala län",
"Värmlands län",
"Västerbottens län",
"Västernorrlands län",
"Västmanlands län",
"Västra Götalands län",
"Örebro län",
"Östergötlands län",
]

View File

@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/brottsplatskartan",
"iot_class": "cloud_polling",
"loggers": ["brottsplatskartan"],
"requirements": ["brottsplatskartan==0.0.1"]
"requirements": ["brottsplatskartan==1.0.5"]
}

View File

@ -3,6 +3,7 @@ from __future__ import annotations
from collections import defaultdict
from datetime import timedelta
from typing import Literal
from brottsplatskartan import ATTRIBUTION, BrottsplatsKartan
@ -29,9 +30,11 @@ async def async_setup_entry(
app = entry.data[CONF_APP_ID]
name = entry.title
bpk = BrottsplatsKartan(app=app, area=area, latitude=latitude, longitude=longitude)
bpk = BrottsplatsKartan(
app=app, areas=[area] if area else None, latitude=latitude, longitude=longitude
)
async_add_entities([BrottsplatskartanSensor(bpk, name, entry.entry_id)], True)
async_add_entities([BrottsplatskartanSensor(bpk, name, entry.entry_id, area)], True)
class BrottsplatskartanSensor(SensorEntity):
@ -41,9 +44,12 @@ class BrottsplatskartanSensor(SensorEntity):
_attr_has_entity_name = True
_attr_name = None
def __init__(self, bpk: BrottsplatsKartan, name: str, entry_id: str) -> None:
def __init__(
self, bpk: BrottsplatsKartan, name: str, entry_id: str, area: str | None
) -> None:
"""Initialize the Brottsplatskartan sensor."""
self._brottsplatskartan = bpk
self._area = area
self._attr_unique_id = entry_id
self._attr_device_info = DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
@ -56,12 +62,19 @@ class BrottsplatskartanSensor(SensorEntity):
"""Update device state."""
incident_counts: defaultdict[str, int] = defaultdict(int)
incidents = self._brottsplatskartan.get_incidents()
get_incidents: dict[str, list] | Literal[
False
] = self._brottsplatskartan.get_incidents()
if incidents is False:
if get_incidents is False:
LOGGER.debug("Problems fetching incidents")
return
if self._area:
incidents = get_incidents.get(self._area) or []
else:
incidents = get_incidents.get("latlng") or []
for incident in incidents:
if (incident_type := incident.get("title_type")) is not None:
incident_counts[incident_type] += 1

View File

@ -589,7 +589,7 @@ broadlink==0.18.3
brother==3.0.0
# homeassistant.components.brottsplatskartan
brottsplatskartan==0.0.1
brottsplatskartan==1.0.5
# homeassistant.components.brunt
brunt==1.2.0

View File

@ -497,7 +497,7 @@ broadlink==0.18.3
brother==3.0.0
# homeassistant.components.brottsplatskartan
brottsplatskartan==0.0.1
brottsplatskartan==1.0.5
# homeassistant.components.brunt
brunt==1.2.0