From 5ada8c9dad6a2f5b719a2ad50551c552dedb694d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Wed, 24 Mar 2021 20:35:10 +0100 Subject: [PATCH 01/12] 10386: created binding for aha waste collection schedule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../NOTICE | 13 ++ .../README.md | 52 +++++ .../pom.xml | 25 +++ .../src/main/feature/feature.xml | 9 + .../internal/AhaCollectionSchedule.java | 33 +++ .../AhaCollectionScheduleFactory.java | 30 +++ .../internal/AhaCollectionScheduleImpl.java | 151 +++++++++++++ .../AhaWasteCollectionBindingConstants.java | 37 ++++ .../AhaWasteCollectionConfiguration.java | 49 +++++ .../internal/AhaWasteCollectionHandler.java | 207 ++++++++++++++++++ .../AhaWasteCollectionHandlerFactory.java | 74 +++++++ .../internal/CollectionDate.java | 99 +++++++++ .../main/resources/OH-INF/binding/binding.xml | 10 + .../i18n/ahawastecollection_de_DE.properties | 36 +++ .../resources/OH-INF/thing/thing-types.xml | 70 ++++++ .../internal/AhaCollectionScheduleStub.java | 47 ++++ .../AhaCollectionScheduleStubFactory.java | 28 +++ .../internal/AhaCollectionScheduleTest.java | 46 ++++ .../AhaWasteCollectionHandlerTest.java | 145 ++++++++++++ bundles/pom.xml | 1 + 20 files changed, 1162 insertions(+) create mode 100644 bundles/org.openhab.binding.ahawastecollection/NOTICE create mode 100644 bundles/org.openhab.binding.ahawastecollection/README.md create mode 100644 bundles/org.openhab.binding.ahawastecollection/pom.xml create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionSchedule.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionBindingConstants.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionConfiguration.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/CollectionDate.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStub.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleTest.java create mode 100644 bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java diff --git a/bundles/org.openhab.binding.ahawastecollection/NOTICE b/bundles/org.openhab.binding.ahawastecollection/NOTICE new file mode 100644 index 0000000000000..38d625e349232 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/NOTICE @@ -0,0 +1,13 @@ +This content is produced and maintained by the openHAB project. + +* Project home: https://www.openhab.org + +== Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License 2.0 which is available at +https://www.eclipse.org/legal/epl-2.0/. + +== Source Code + +https://github.com/openhab/openhab-addons diff --git a/bundles/org.openhab.binding.ahawastecollection/README.md b/bundles/org.openhab.binding.ahawastecollection/README.md new file mode 100644 index 0000000000000..c7db328231885 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/README.md @@ -0,0 +1,52 @@ +# aha Waste Collection Binding + +This Binding allows requesting the next waste collection days from the aha waste collection schedule, reachable at [aha Abfuhrkalender](https://www.aha-region.de/abholtermine/abfuhrkalender). + +## Supported Things + +The binding supports one thing type **aha Waste Collection Schedule** with four channels for the different waste types. + +## Discovery + +Discovery is not possible, due some form input values from the website above are required. + +## Thing Configuration + +To configure an **aha Waste Collection Schedule** thing, you need first to get the required parameters from to get them follow the instructions below: +the form at https://www.aha-region.de/abholtermine/abfuhrkalender. + +1. Open [aha Abfuhrkalender](https://www.aha-region.de/abholtermine/abfuhrkalender) in your favorite brower with developer-console. +2. Open the developer console and switch to network tab (for example press F12 in chrome / edge / firefox) +3. Fill in the form: Select your commune, Street and Housenumber and hit "Suchen". +4. Grab the form input fields from the first POST request to https://www.aha-region.de/abholtermine/abfuhrkalender. +5. Fill in the values from the form input in thing configuration. + +## Channels + +The thing **aha Waste Collection Schedule** provides four channels for the next day of waste collection from the different waste types. + + +| channel | type | description | +|----------|--------|------------------------------| +| generalWaste | DateTime | Next collection day for general waste | +| leightweightPackaging | DateTime | Next collection day for leightweight packaging | +| bioWaste | DateTime | Next collection day for bio waste | +| paper | DateTime | Next collection day for paper | + + +## Full Example + +wasteCollection.things + +```xtend +Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ] +``` + +wasteCollection.items + +```xtend +DateTime collectionDay_generalWaste "Next genral waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:generalWaste"} +DateTime collectionDay_leightweightPackaging "Next lightweight packaging collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:leightweightPackaging"} +DateTime collectionDay_bioWaste "Next bio waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:bioWaste"} +DateTime collectionDay_paper "Next paper collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:paper"} +``` diff --git a/bundles/org.openhab.binding.ahawastecollection/pom.xml b/bundles/org.openhab.binding.ahawastecollection/pom.xml new file mode 100644 index 0000000000000..2ed1039f1a011 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/pom.xml @@ -0,0 +1,25 @@ + + + + 4.0.0 + + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 3.1.0-SNAPSHOT + + + org.openhab.binding.ahawastecollection + + openHAB Add-ons :: Bundles :: AhaWasteCollection Binding + + + + org.jsoup + jsoup + 1.10.2 + + + + diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml new file mode 100644 index 0000000000000..e7d5af064e92f --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml @@ -0,0 +1,9 @@ + + + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.ahawastecollection/${project.version} + + diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionSchedule.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionSchedule.java new file mode 100644 index 0000000000000..6afb91fdaffc1 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionSchedule.java @@ -0,0 +1,33 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import java.io.IOException; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.ahawastecollection.internal.CollectionDate.WasteType; + +/** + * Schedule that returns the next collection dates from the aha website. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public interface AhaCollectionSchedule { + + /** + * Returns the next collection dates per {@link WasteType}. + */ + public Map getCollectionDates() throws IOException; +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java new file mode 100644 index 0000000000000..cd2c5bbd74589 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Factory for creating an {@link AhaCollectionSchedule}. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public interface AhaCollectionScheduleFactory { + + /** + * Creates an new {@link AhaCollectionSchedule} for the given location. + */ + public AhaCollectionSchedule create(final String gemeinde, final String strasse, final String hausnr, + final String hausnraddon, final String ladeort); +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java new file mode 100644 index 0000000000000..e631cd91970ea --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java @@ -0,0 +1,151 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.jsoup.Connection.Method; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; +import org.openhab.binding.ahawastecollection.internal.CollectionDate.WasteType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Schedule that returns the next collection dates from the aha website. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +final class AhaCollectionScheduleImpl implements AhaCollectionSchedule { + + private static final Pattern TIME_PATTERN = Pattern.compile("\\S\\S,\\s(\\d\\d.\\d\\d.\\d\\d\\d\\d)"); + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy"); + private static final String WEBSITE_URL = "https://www.aha-region.de/abholtermine/abfuhrkalender/"; + + private final Logger logger = LoggerFactory.getLogger(AhaCollectionScheduleImpl.class); + private final String gemeinde; + private final String strasse; + private final String hausnr; + private final String hausnraddon; + private final String ladeort; + + /** + * Creates an new {@link AhaCollectionScheduleImpl} for the given location. + */ + public AhaCollectionScheduleImpl(final String gemeinde, final String strasse, final String hausnr, + final String hausnraddon, final String ladeort) { + this.gemeinde = gemeinde; + this.strasse = strasse; + this.hausnr = hausnr; + this.hausnraddon = hausnraddon; + this.ladeort = ladeort; + } + + @Override + public Map getCollectionDates() throws IOException { + final Document doc = Jsoup.connect(WEBSITE_URL) // + .method(Method.POST) // + .data("gemeinde", this.gemeinde) // + .data("strasse", this.strasse) // + .data("hausnr", this.hausnr) // + .data("hausnraddon", this.hausnraddon) // + .data("ladeort", this.ladeort) // + .data("anzeigen", "Suchen") // + .get(); + final Elements tableRows = doc.select("table").select("tr"); + if (tableRows.size() < 2) { + this.logger.warn("No waste collection dates found."); + return Collections.emptyMap(); + } + + // Skip first row, that contains the header + // Than skip every second row, because it contains only the ical download buttons. + final Map result = new HashMap<>(); + for (int offset = 1; offset < tableRows.size(); offset += 2) { + final Element row = tableRows.get(offset); + final CollectionDate date = this.parseRow(row); + if (date != null) { + result.put(date.getType(), date); + } + } + return result; + } + + /** + * Parses the {@link CollectionDate} from the given {@link Element table row}. + * + * @return The {@link CollectionDate} or null if no dates could be parsed. + */ + @Nullable + private CollectionDate parseRow(final Element row) { + final Elements columns = row.select("td"); + if (columns.size() != 5) { + this.logger.debug("Could not parse row: {}", row.toString()); + return null; + } + + final WasteType wasteType = parseWasteType(columns.get(1)); + final List times = this.parseTimes(columns.get(3)); + + if (times.isEmpty()) { + return null; + } + + return new CollectionDate(wasteType, times); + } + + /** + * Parses the waste types from the given {@link Element table cell}. + */ + private static WasteType parseWasteType(final Element element) { + String value = element.text().trim(); + final int firstSpace = value.indexOf(" "); + if (firstSpace > 0) { + value = value.substring(0, firstSpace); + } + return WasteType.parseValue(value); + } + + /** + * Parses the {@link CollectionDate} from the given {@link Element table cell}. + */ + private List parseTimes(final Element element) { + final List result = new ArrayList<>(); + final String value = element.text(); + final Matcher matcher = TIME_PATTERN.matcher(value); + while (matcher.find()) { + final String dateValue = matcher.group(1); + try { + result.add(DATE_FORMAT.parse(dateValue)); + } catch (final ParseException e) { + this.logger.warn("Could not parse date: {}", dateValue); //$NON-NLS-1$ + } + } + return result; + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionBindingConstants.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionBindingConstants.java new file mode 100644 index 0000000000000..ed12c3ef175b8 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionBindingConstants.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.core.thing.ThingTypeUID; + +/** + * The {@link AhaWasteCollectionBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public class AhaWasteCollectionBindingConstants { + + private static final String BINDING_ID = "ahawastecollection"; + + // List of all Thing Type UIDs + public static final ThingTypeUID THING_TYPE_SCHEDULE = new ThingTypeUID(BINDING_ID, "collectionSchedule"); + + // List of all Channel ids + public static final String GENERAL_WASTE = "generalWaste"; + public static final String LEIGHTWEIGHT_PACKAGING = "leightweightPackaging"; + public static final String BIOWASTE = "bioWaste"; + public static final String PAPER = "paper"; +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionConfiguration.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionConfiguration.java new file mode 100644 index 0000000000000..d496ee907511c --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionConfiguration.java @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * The {@link AhaWasteCollectionConfiguration} class contains fields mapping thing configuration parameters. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public class AhaWasteCollectionConfiguration { + + /** + * Commune. + */ + public String commune = ""; + + /** + * Street. + */ + public String street = ""; + + /** + * House number. + */ + public String houseNumber = ""; + + /** + * House number addon. + */ + public String houseNumberAddon = ""; + + /** + * Collection place. + */ + public String collectionPlace = ""; +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java new file mode 100644 index 0000000000000..71be86121df47 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java @@ -0,0 +1,207 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import java.io.IOException; +import java.time.Duration; +import java.time.ZonedDateTime; +import java.util.Collections; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.ahawastecollection.internal.CollectionDate.WasteType; +import org.openhab.core.cache.ExpiringCache; +import org.openhab.core.i18n.TimeZoneProvider; +import org.openhab.core.library.types.DateTimeType; +import org.openhab.core.scheduler.CronScheduler; +import org.openhab.core.scheduler.ScheduledCompletableFuture; +import org.openhab.core.thing.Channel; +import org.openhab.core.thing.ChannelUID; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingStatus; +import org.openhab.core.thing.ThingStatusDetail; +import org.openhab.core.thing.binding.BaseThingHandler; +import org.openhab.core.types.Command; +import org.openhab.core.types.RefreshType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link AhaWasteCollectionHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public class AhaWasteCollectionHandler extends BaseThingHandler { + + private static final String DAILY_MIDNIGHT = "30 0 0 * * ? *"; + + /** Scheduler to schedule jobs */ + private final CronScheduler cronScheduler; + private final Lock monitor = new ReentrantLock(); + private final ExpiringCache> cache; + + private final TimeZoneProvider timeZoneProvider; + private final Logger logger = LoggerFactory.getLogger(AhaWasteCollectionHandler.class); + + private @Nullable AhaWasteCollectionConfiguration config; + private @Nullable AhaCollectionSchedule collectionSchedule; + + private @Nullable ScheduledCompletableFuture dailyJob; + + private AhaCollectionScheduleFactory scheduleFactory; + + public AhaWasteCollectionHandler(final Thing thing, final CronScheduler scheduler, + final TimeZoneProvider timeZoneProvider, AhaCollectionScheduleFactory scheduleFactory) { + super(thing); + this.cronScheduler = scheduler; + this.timeZoneProvider = timeZoneProvider; + this.scheduleFactory = scheduleFactory; + this.cache = new ExpiringCache<>(Duration.ofMinutes(5), this::loadCollectionDates); + } + + private Map loadCollectionDates() { + try { + return this.collectionSchedule.getCollectionDates(); + } catch (IOException e) { + this.updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); + return Collections.emptyMap(); + } + } + + @Override + public void handleCommand(final ChannelUID channelUID, final Command command) { + if (command instanceof RefreshType) { + this.scheduler.execute(this::updateCollectionDates); + } else { + this.logger.warn("The AHA Abfuhrkalender is a read-only binding and can not handle commands"); //$NON-NLS-1$ + } + } + + @Override + public void initialize() { + this.config = this.getConfigAs(AhaWasteCollectionConfiguration.class); + + final String gemeinde = this.config.commune; + final String street = this.config.street; + final String hausnr = this.config.houseNumber; + final String hausnraddon = this.config.houseNumberAddon; + final String ladeort = this.config.collectionPlace; + + if (gemeinde.isBlank() || street.isBlank() || hausnr.isBlank() || ladeort.isBlank()) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + "Parameters are mandatory and must be configured"); + return; + } + + this.collectionSchedule = scheduleFactory.create(gemeinde, street, hausnr, hausnraddon, ladeort); + + this.updateStatus(ThingStatus.UNKNOWN); + + this.scheduler.execute(() -> { + final boolean online = this.updateCollectionDates(); + if (online) { + this.restartJob(); + } + }); + } + + /** + * Schedules an job that updates the collection dates at midnight. + */ + private void restartJob() { + this.logger.debug("Restarting jobs for thing {}", this.getThing().getUID()); + this.monitor.lock(); + try { + this.stopJob(); + if (this.getThing().getStatus() == ThingStatus.ONLINE) { + this.dailyJob = this.cronScheduler.schedule(this::updateCollectionDates, DAILY_MIDNIGHT); + this.logger.debug("Scheduled {} at midnight", this.dailyJob); + // Execute daily startup job immediately + updateCollectionDates(); + } + } finally { + this.monitor.unlock(); + } + } + + /** + * Stops all jobs for this thing. + */ + private void stopJob() { + this.monitor.lock(); + try { + final ScheduledCompletableFuture job = this.dailyJob; + if (job != null) { + job.cancel(true); + } + this.dailyJob = null; + } finally { + this.monitor.unlock(); + } + } + + private boolean updateCollectionDates() { + final Map collectionDates = this.cache.getValue(); + if (collectionDates == null || collectionDates.isEmpty()) { + return false; + } + + this.logger.debug("Retrieved {} collection entries.", collectionDates.size()); + this.updateChannels(collectionDates); + + this.updateStatus(ThingStatus.ONLINE); + return true; + } + + /** + * Refreshes the channel values with the given {@link CollectionDate}s. + */ + private void updateChannels(final Map collectionDates) { + for (final Channel channel : this.getThing().getChannels()) { + final WasteType wasteType = getWasteTypeByChannel(channel.getUID().getId()); + + final CollectionDate collectionDate = collectionDates.get(wasteType); + if (collectionDate == null) { + this.logger.warn("No collection dates found for waste type: {}", wasteType); //$NON-NLS-1$ + continue; + } + + final Date nextCollectionDate = collectionDate.getDates().get(0); + + final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(nextCollectionDate.toInstant(), + this.timeZoneProvider.getTimeZone()); + this.updateState(channel.getUID(), new DateTimeType(zonedDateTime)); + } + } + + private static WasteType getWasteTypeByChannel(final String channelId) { + switch (channelId) { + case AhaWasteCollectionBindingConstants.BIOWASTE: + return WasteType.BIO_WASTE; + case AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING: + return WasteType.LIGHT_PACKAGES; + case AhaWasteCollectionBindingConstants.PAPER: + return WasteType.PAPER; + case AhaWasteCollectionBindingConstants.GENERAL_WASTE: + return WasteType.GENERAL_WASTE; + default: + throw new IllegalArgumentException("Unknown channel type: " + channelId); + } + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java new file mode 100644 index 0000000000000..51d32eb15b92a --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java @@ -0,0 +1,74 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import static org.openhab.binding.ahawastecollection.internal.AhaWasteCollectionBindingConstants.THING_TYPE_SCHEDULE; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.core.i18n.TimeZoneProvider; +import org.openhab.core.scheduler.CronScheduler; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingTypeUID; +import org.openhab.core.thing.binding.BaseThingHandlerFactory; +import org.openhab.core.thing.binding.ThingHandler; +import org.openhab.core.thing.binding.ThingHandlerFactory; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * The {@link AhaWasteCollectionHandlerFactory} is responsible for creating things and thing handlers. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +@Component(configurationPid = "binding.ahawastecollection", service = ThingHandlerFactory.class) +public class AhaWasteCollectionHandlerFactory extends BaseThingHandlerFactory { + + private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_SCHEDULE); + private final CronScheduler scheduler; + private final TimeZoneProvider timeZoneProvider; + + @Override + public boolean supportsThingType(final ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Activate + public AhaWasteCollectionHandlerFactory(final @Reference CronScheduler scheduler, + final @Reference TimeZoneProvider timeZoneProvider) { + this.scheduler = scheduler; + this.timeZoneProvider = timeZoneProvider; + } + + @Override + protected @Nullable ThingHandler createHandler(final Thing thing) { + final ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (THING_TYPE_SCHEDULE.equals(thingTypeUID)) { + final AhaCollectionScheduleFactory factory = new AhaCollectionScheduleFactory() { + + @Override + public AhaCollectionScheduleImpl create(final String gemeinde, final String strasse, String hausnr, + String hausnraddon, String ladeort) { + return new AhaCollectionScheduleImpl(gemeinde, strasse, hausnr, hausnraddon, ladeort); + } + }; + return new AhaWasteCollectionHandler(thing, this.scheduler, this.timeZoneProvider, factory); + } + return null; + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/CollectionDate.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/CollectionDate.java new file mode 100644 index 0000000000000..677b90538e1dc --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/CollectionDate.java @@ -0,0 +1,99 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import java.util.Collections; +import java.util.Date; +import java.util.List; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Contains the next collection dates for an given waste type. + * + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +final class CollectionDate { + + /** + * Type of waste that is collected. + */ + public enum WasteType { + /** + * General waste. + */ + GENERAL_WASTE, + /** + * Bio waste. + */ + BIO_WASTE, + /** + * Paper. + */ + PAPER, + /** + * Light packaging. + */ + LIGHT_PACKAGES; + + /** + * Parses the {@link WasteType} from the given Value from the Web-page. + */ + public static WasteType parseValue(String value) { + switch (value) { + case "Restabfall": + return GENERAL_WASTE; + case "Bioabfall": + return BIO_WASTE; + case "Papier": + return PAPER; + case "Leichtverpackungen": + return LIGHT_PACKAGES; + default: + throw new IllegalArgumentException("Unknown waste type: " + value); + } + } + } + + private final WasteType type; + private final List dates; + + /** + * Creates an new {@link CollectionDate}. + */ + public CollectionDate(final WasteType type, final List dates) { + this.type = type; + this.dates = dates; + Collections.sort(this.dates); + } + + /** + * Returns the (non empty list) of next collection dates, for the given {@link WasteType}, ordered ascending. + */ + public List getDates() { + return this.dates; + } + + /** + * Returns the {@link WasteType} that is collected at the given times. + */ + public WasteType getType() { + return this.type; + } + + @Override + public String toString() { + return String.format("waste type: %s, collection dates: %s", this.type, this.dates); + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml new file mode 100644 index 0000000000000..8ee3de3ecda7c --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml @@ -0,0 +1,10 @@ + + + + aha WasteCollection Binding + This binding requests the next waste collection dates from the aha collection schedule served by + https://www.aha-region.de/abholtermine/abfuhrkalender. + + diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties new file mode 100644 index 0000000000000..47a177a70fc75 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties @@ -0,0 +1,36 @@ +binding.ahawastecollection.name = aha M�llabf�hr +binding.ahawastecollection.description = Stellt die Abfuhrtermine des aha Zweckverband Abfallwirtschaft Region Hannover zur Verf�gung. + +# thing types +thing-type.ahawastecollection.collectionSchedule.label = aha Abfuhrkalender +thing-type.ahawastecollection.collectionSchedule.description = aha Abfuhrkalender, der die n�chsten Abfuhrtermine von https://www.aha-region.de/abholtermine/abfuhrkalender abfragt. + +# thing type config description +thing-type.config.ahawastecollection.collectionSchedule.commune.label = Gemeinde +thing-type.config.ahawastecollection.collectionSchedule.commune.description = Gemeinde von der Formular-Eingabe + +thing-type.config.ahawastecollection.collectionSchedule.street.label = Stra�e +thing-type.config.ahawastecollection.collectionSchedule.street.description = Wert f�r die selektierte Stra�e: z.B. "02095@Oesterleystr.+/+S�dstadt@S�dstadt" + +thing-type.config.ahawastecollection.collectionSchedule.houseNumber.label = Hausnummer +thing-type.config.ahawastecollection.collectionSchedule.houseNumber.description = Hausnummer von der Formular-Eingabe + +thing-type.config.ahawastecollection.collectionSchedule.houseNumberAddon.label = Adresszusatz +thing-type.config.ahawastecollection.collectionSchedule.houseNumberAddon.description = Adresszusatzvon der Formular-Eingabe + +thing-type.config.ahawastecollection.collectionSchedule.collectionPlace.label = Abholplatz +thing-type.config.ahawastecollection.collectionSchedule.collectionPlace.description = Abholplatz von der Formular-Eingabe, z.B. "02095-0010+" + +# channel types +channel-type.ahawastecollection.collectionDateGeneralWaste.label = Abholtag Restabfall +channel-type.ahawastecollection.collectionDateGeneralWaste.description = N�chster Abholtag f�r Restabfall + +channel-type.ahawastecollection.collectionDateLeightweightPackaging.label = Abholtag Leichtverpackungen +channel-type.ahawastecollection.collectionDateLeightweightPackaging.description = N�chster Abholtag f�r Leichtverpackungen + +channel-type.ahawastecollection.collectionDateBioWaste.label = Abholtag Biom�ll +channel-type.ahawastecollection.collectionDateBioWaste.description = N�chster Abholtag f�r Biom�ll + +channel-type.ahawastecollection.collectionDatePaper.label = Abholtag Papier +channel-type.ahawastecollection.collectionDatePaper.description = N�chster Abholtag f�r Papier + diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml new file mode 100644 index 0000000000000..c6b3f4a2d184f --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml @@ -0,0 +1,70 @@ + + + + + + + aha Waste Collection Schedule from http://www.aha-region.de/abholtermine/abfuhrkalender + + + + + + + + + + + + Commune from form input + + + + Street from selected street value. For example "02095@Oesterleystr.+/+Südstadt@Südstadt" + + + + House number from form input + + + + + + + + Collection place from form input, for example: "02095-0010+" + + + + + + + DateTime + + Next collection day for general waste + + + + DateTime + + Next collection day for leightweight packaging + + + + DateTime + + Next collection day for bio waste + + + + DateTime + + Next collection day for paper + + + + + diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStub.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStub.java new file mode 100644 index 0000000000000..a88b33d8f3737 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStub.java @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import java.io.IOException; +import java.util.Arrays; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.LinkedHashMap; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.ahawastecollection.internal.CollectionDate.WasteType; + +/** + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public final class AhaCollectionScheduleStub implements AhaCollectionSchedule { + + public static final Date GENERAL_WASTE_DATE = new GregorianCalendar(2021, 2, 19).getTime(); + public static final Date LEIGHTWEIGHT_PACKAGING_DATE = new GregorianCalendar(2021, 2, 20).getTime(); + public static final Date BIO_WASTE_DATE = new GregorianCalendar(2021, 2, 21).getTime(); + public static final Date PAPER_DATE = new GregorianCalendar(2021, 2, 22).getTime(); + + @Override + public Map getCollectionDates() throws IOException { + final Map result = new LinkedHashMap<>(4); + result.put(WasteType.GENERAL_WASTE, + new CollectionDate(WasteType.GENERAL_WASTE, Arrays.asList(GENERAL_WASTE_DATE))); + result.put(WasteType.LIGHT_PACKAGES, + new CollectionDate(WasteType.GENERAL_WASTE, Arrays.asList(LEIGHTWEIGHT_PACKAGING_DATE))); + result.put(WasteType.BIO_WASTE, new CollectionDate(WasteType.GENERAL_WASTE, Arrays.asList(BIO_WASTE_DATE))); + result.put(WasteType.PAPER, new CollectionDate(WasteType.GENERAL_WASTE, Arrays.asList(PAPER_DATE))); + return result; + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java new file mode 100644 index 0000000000000..69638ec49eadf --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java @@ -0,0 +1,28 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public final class AhaCollectionScheduleStubFactory implements AhaCollectionScheduleFactory { + + @Override + public AhaCollectionSchedule create(final String gemeinde, final String strasse, final String hausnr, + final String hausnraddon, final String ladeort) { + return new AhaCollectionScheduleStub(); + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleTest.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleTest.java new file mode 100644 index 0000000000000..6df83c22f1bc6 --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleTest.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.junit.jupiter.api.Test; +import org.openhab.binding.ahawastecollection.internal.CollectionDate.WasteType; + +/** + * @author Sönke Küper - Initial contribution + */ +@NonNullByDefault +public class AhaCollectionScheduleTest { + + @Test + public void testGetValuesForHannoverCity() throws Exception { + final AhaCollectionScheduleImpl schedule = new AhaCollectionScheduleImpl("Hannover", + "02095@Oesterleystr.+/+Südstadt@Südstadt", "10", "", "02095-0010+"); + final Map dates = schedule.getCollectionDates(); + // No bio waste is collected here + assertEquals(3, dates.size()); + } + + @Test + public void testGetValuesForRegion() throws Exception { + final AhaCollectionScheduleImpl schedule = new AhaCollectionScheduleImpl("Lehrte", + "70185@Haselnussweg+/+Hämelerwald@Hämelerwald", "12", "", "70185-0012+"); + final Map dates = schedule.getCollectionDates(); + // All four waste types are collected here. + assertEquals(4, dates.size()); + } +} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java new file mode 100644 index 0000000000000..16819dcc5434a --- /dev/null +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java @@ -0,0 +1,145 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ahawastecollection.internal; + +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.*; + +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Arrays; +import java.util.Date; +import java.util.Map; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import org.openhab.core.config.core.Configuration; +import org.openhab.core.library.types.DateTimeType; +import org.openhab.core.scheduler.CronJob; +import org.openhab.core.scheduler.CronScheduler; +import org.openhab.core.scheduler.ScheduledCompletableFuture; +import org.openhab.core.scheduler.SchedulerRunnable; +import org.openhab.core.thing.Channel; +import org.openhab.core.thing.ChannelUID; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingStatus; +import org.openhab.core.thing.ThingUID; +import org.openhab.core.thing.binding.ThingHandler; +import org.openhab.core.thing.binding.ThingHandlerCallback; +import org.openhab.core.types.State; + +/** + * @author Sönke Küper - Initial contribution + */ +public class AhaWasteCollectionHandlerTest { + + private ThingHandler handler; + private ThingHandlerCallback callback; + private Thing thing; + + @BeforeEach + public void setUp() { + final Configuration config = new Configuration(); + config.put("commune", "Hannover"); + config.put("collectionPlace", "02095-0010+"); + config.put("houseNumber", "10"); + config.put("houseNumberAddon", ""); + config.put("street", "02095@Oesterleystr.+/+Südstadt@Südstadt"); + + this.thing = mock(Thing.class); + when(this.thing.getUID()) + .thenReturn(new ThingUID(AhaWasteCollectionBindingConstants.THING_TYPE_SCHEDULE, "collectionCalendar")); + when(this.thing.getConfiguration()).thenReturn(config); + + final Channel channelBioWaste = mockChannel(this.thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE); + final Channel channelGeneralWaste = mockChannel(this.thing.getUID(), + AhaWasteCollectionBindingConstants.GENERAL_WASTE); + final Channel channelPaper = mockChannel(this.thing.getUID(), AhaWasteCollectionBindingConstants.PAPER); + final Channel channelLeightweightPackaging = mockChannel(this.thing.getUID(), + AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING); + + when(this.thing.getChannels()).thenReturn( + Arrays.asList(channelBioWaste, channelGeneralWaste, channelLeightweightPackaging, channelPaper)); + + // Stub-Scheduler that executes the command synchronous + @SuppressWarnings("unchecked") + final CronScheduler scheduler = new CronScheduler() { + + @Override + public ScheduledCompletableFuture schedule(final CronJob cronJob, final Map config, + final String cronExpression) { + try { + cronJob.run(config); + } catch (final Exception e) { + throw new RuntimeException(e); + } + return Mockito.mock(ScheduledCompletableFuture.class); + } + + @Override + public ScheduledCompletableFuture schedule(final SchedulerRunnable runnable, + final String cronExpression) { + try { + runnable.run(); + } catch (final Exception e) { + throw new RuntimeException(e); + } + return Mockito.mock(ScheduledCompletableFuture.class); + } + }; + + this.handler = new AhaWasteCollectionHandler(this.thing, scheduler, ZoneId::systemDefault, + new AhaCollectionScheduleStubFactory()); + this.callback = mock(ThingHandlerCallback.class); + this.handler.setCallback(this.callback); + } + + @AfterEach + public void tearDown() { + this.handler.dispose(); + } + + @Test + public void testUpdateChannels() { + this.handler.initialize(); + verify(this.callback).statusUpdated(eq(this.thing), + argThat(arg -> arg.getStatus().equals(ThingStatus.UNKNOWN))); + verify(this.callback, timeout(1000)).statusUpdated(eq(this.thing), + argThat(arg -> arg.getStatus().equals(ThingStatus.ONLINE))); + verify(this.callback, timeout(1000)).stateUpdated( + new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE), + getDateTime(AhaCollectionScheduleStub.BIO_WASTE_DATE)); + verify(this.callback, timeout(1000)).stateUpdated( + new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.GENERAL_WASTE), + getDateTime(AhaCollectionScheduleStub.GENERAL_WASTE_DATE)); + verify(this.callback, timeout(1000)).stateUpdated( + new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING), + getDateTime(AhaCollectionScheduleStub.LEIGHTWEIGHT_PACKAGING_DATE)); + verify(this.callback, timeout(1000)).stateUpdated( + new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.PAPER), + getDateTime(AhaCollectionScheduleStub.PAPER_DATE)); + } + + private static State getDateTime(final Date day) { + final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(day.toInstant(), ZoneId.systemDefault()); + return new DateTimeType(zonedDateTime); + } + + private static Channel mockChannel(final ThingUID thingId, final String channelId) { + final Channel channel = Mockito.mock(Channel.class); + when(channel.getUID()).thenReturn(new ChannelUID(thingId, channelId)); + return channel; + } +} diff --git a/bundles/pom.xml b/bundles/pom.xml index bf2fe504d7d53..271168fd50d2f 100644 --- a/bundles/pom.xml +++ b/bundles/pom.xml @@ -41,6 +41,7 @@ org.openhab.transform.xslt org.openhab.binding.adorne + org.openhab.binding.ahawastecollection org.openhab.binding.airq org.openhab.binding.airquality org.openhab.binding.airvisualnode From 7e5f5757b2710b21279843ab024fee8ee00f63d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Sun, 28 Mar 2021 12:56:43 +0200 Subject: [PATCH 02/12] 10386: Implemented review remarks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- CODEOWNERS | 1 + bom/openhab-addons/pom.xml | 5 ++ .../README.md | 41 ++++++++--- .../doc/images/ChromeDevconsoleBottom.png | Bin 0 -> 182595 bytes .../doc/images/ChromeDevconsoleTop.png | Bin 0 -> 191663 bytes .../pom.xml | 2 +- .../src/main/feature/feature.xml | 2 +- .../AhaCollectionScheduleFactory.java | 6 +- .../internal/AhaCollectionScheduleImpl.java | 43 ++++++----- .../internal/AhaWasteCollectionHandler.java | 31 ++++---- .../AhaWasteCollectionHandlerFactory.java | 7 +- .../main/resources/OH-INF/binding/binding.xml | 7 +- .../resources/OH-INF/thing/thing-types.xml | 18 ++--- .../AhaCollectionScheduleStubFactory.java | 4 +- .../AhaWasteCollectionHandlerTest.java | 67 +++++++++++------- 15 files changed, 141 insertions(+), 93 deletions(-) create mode 100644 bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleBottom.png create mode 100644 bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleTop.png diff --git a/CODEOWNERS b/CODEOWNERS index 8ffad8e519984..59d7fd56ac266 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -9,6 +9,7 @@ /bundles/org.openhab.automation.jythonscripting/ @openhab/add-ons-maintainers /bundles/org.openhab.automation.pidcontroller/ @fwolter /bundles/org.openhab.binding.adorne/ @theiding +/bundles/org.openhab.binding.ahawastecollection/ @soenkekueper /bundles/org.openhab.binding.airq/ @aurelio1 /bundles/org.openhab.binding.airquality/ @kubawolanin /bundles/org.openhab.binding.airvisualnode/ @3cky diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index 385c85c2d4045..14b1c1783d307 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -38,6 +38,11 @@ org.openhab.addons.bundles + org.openhab.binding.ahawastecollection + ${project.version} + + + org.openhab.addons.bundles org.openhab.binding.airq ${project.version} diff --git a/bundles/org.openhab.binding.ahawastecollection/README.md b/bundles/org.openhab.binding.ahawastecollection/README.md index c7db328231885..f4465fdf0c4f7 100644 --- a/bundles/org.openhab.binding.ahawastecollection/README.md +++ b/bundles/org.openhab.binding.ahawastecollection/README.md @@ -1,10 +1,10 @@ # aha Waste Collection Binding -This Binding allows requesting the next waste collection days from the aha waste collection schedule, reachable at [aha Abfuhrkalender](https://www.aha-region.de/abholtermine/abfuhrkalender). +This binding provides information about the upcoming waste collection dates for places, that are served by aha, the waste collection company for the region of Hannover. The values are retrieved from the online aha waste collection schedule available at: [aha Abfuhrkalender](https://www.aha-region.de/abholtermine/abfuhrkalender). ## Supported Things -The binding supports one thing type **aha Waste Collection Schedule** with four channels for the different waste types. +- **collectionSchedule:** Represents the connection to the **aha Waste Collection Schedule** with four channels for the different waste types. ## Discovery @@ -12,18 +12,37 @@ Discovery is not possible, due some form input values from the website above are ## Thing Configuration -To configure an **aha Waste Collection Schedule** thing, you need first to get the required parameters from to get them follow the instructions below: -the form at https://www.aha-region.de/abholtermine/abfuhrkalender. +For configuration of the **collectionSchedule** thing, you need the form inputs from the aha collections schedule web page. Follow the steps below to get the required configuration parameters from the form input values. + 1. Open [aha Abfuhrkalender](https://www.aha-region.de/abholtermine/abfuhrkalender) in your favorite brower with developer-console. -2. Open the developer console and switch to network tab (for example press F12 in chrome / edge / firefox) -3. Fill in the form: Select your commune, Street and Housenumber and hit "Suchen". -4. Grab the form input fields from the first POST request to https://www.aha-region.de/abholtermine/abfuhrkalender. -5. Fill in the values from the form input in thing configuration. +2. Open the developer console and switch to network tab (for example press F12 in chrome / edge / firefox). +3. Fill in the form: Select your commune, Street and house number and hit "Suchen". +4. Select the first request to https://www.aha-region.de/abholtermine/abfuhrkalender (see first screenshot below) +5. Check the form data at the end of the request for the form values (see second screenshot below) +5. Fill in the values from the form input in thing configuration (see examples below) + +![Chrome Developer Console Top](doc/images/ChromeDevconsoleTop.png "Chrome Developer Console showing request URL") + +*Check if you've selected the correct request, that contains the form data* + +![Chrome Developer Console Bottom](doc/images/ChromeDevconsoleBottom.png "Chrome Developer Console showing form inputs") + +*Grab the values for the configuration parameters from the form data section at the end of the request* + +**collectionSchedule** parameters: + +| Property | Default | Required | Description | +|-|-|-|-| +| `commune` | | Yes | The selected commune, taken from the form field `gemeinde`. | +| `street` | | Yes | The selected street, taken from the form field `strasse`. This value must look like 67269@Rosmarinweg+/+Kirchhorst@Kirchhorst | +| `houseNumber` | | Yes | The selected house number, taken from the form field `hausnr`. | +| `houseNumberAddon` | | No | The selected house number addon, taken from the form field `hausnraddon`, may be empty. | +| `collectionPlace` | | Yes | Form value for the collection place, taken from the form field `ladeort`. This value must look like 67269-0010+ | ## Channels -The thing **aha Waste Collection Schedule** provides four channels for the next day of waste collection from the different waste types. +The thing **aha Waste Collection Schedule** provides four channels for the upcoming day of waste collection for the different waste types. | channel | type | description | @@ -38,13 +57,13 @@ The thing **aha Waste Collection Schedule** provides four channels for the next wasteCollection.things -```xtend +``` Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ] ``` wasteCollection.items -```xtend +``` DateTime collectionDay_generalWaste "Next genral waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:generalWaste"} DateTime collectionDay_leightweightPackaging "Next lightweight packaging collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:leightweightPackaging"} DateTime collectionDay_bioWaste "Next bio waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:bioWaste"} diff --git a/bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleBottom.png b/bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleBottom.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9b87798246cb8db1acd3c8435887fc5e7a05c9 GIT binary patch literal 182595 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 z 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 literal 0 HcmV?d00001 diff --git a/bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleTop.png b/bundles/org.openhab.binding.ahawastecollection/doc/images/ChromeDevconsoleTop.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9b9259631192b3f18292da309d8dfa66bc3a22 GIT binary patch literal 191663 zcmeFYWmH|uwl0dhTX6T_&cxjv5(q96cXuaP2<~pdLvRT0?(Px@?(T0UYwfkxe)qg{ z-)ZmNe|xk>Yjaff`l_l||GHEggexmbAtT@;fPsM_%Sel>f`LJjf`LI;!oh%Arh6#o zz`&>oJ=HaxRSn%p?H%n*Ev$j0&K~waQlPtqDHxdhQbmSEH4(34`KvMZ2Z%nfZ-k#r z?O^Th9|(72B&y541F1PRT9VBMpp4G!QN@QcUteFpJ~F?|f4F8!UMf%bcuDp;aX6E^ z%zll!bvwI%etvn=s1hS)Qo z+i}0$h-=qPLAt(p(TgV{wI>GB{q~KijpUwn)>Od(l2+AwzQPAxc$j-WzI*+5J1*5aNYd*_Ukvf7}(xG7e8kI@J2U7R(kO znUZDhjsw0meW$R&ZCTosWLY=&&Wnh#Zbi1{owid&!=$m2zw!Q@m0jyCYvcaLP>>y} zAWPpT_EG-fS}n75pU)C^ylE$xAc; z9JKo~Yv=c)uEMg$+i_e>Rt#^JX6p1O?{H?)*g%nPyLDO}S5bTG*TH%>fg02~*K)`m zFY!w3-c`|Nt55k27nE8{wT+sp^j=YG$>18S`klM0O$81xlAo^osIq5mdq>r#Att`~ z<+w_n>r^f_@|Xo%X7(`Pnty9p=_dCn(JR}GOH?y{{5gO2+3%r#`h&w*&cddrl*7Ac z9$tAPvTKR6D<^^*TVpNwx*|0&ot9Q=3)@-ryoJJ%bji-a!UyMf`+^M}-}z%Am&rR~ z4xzu(6}SwA`oQY80uiIYFiq{O;-x!$E?tKcaOiKg0+F)|o0rUsW_&BwdBEfd)0Wqc zM_j!H>OOff07iJ^`TK4KI1ik&~v7Z3fOvi)0 zDpd;L#|&yjUAD(FDyNK^2n^|Db@q$SR0s5|X*ek12pF)y8i(`S*X!lWyaiT_-NTw$1!+DcyH96ni7HQpzu}5 z9-p}2vxbluiD7~ORA0@H@L8tGuN9f_jpaC&y+Z^@GUXq)e9mVXcr5xxX01Q2X`A+R zbul?qU>+c__1QOw0-IcJI9eE>&N(P2zD9VxC()Cy`?9>dt#B4LgK{YfZ;w-)5z0A5 zFMp9Yt4V)it;2t%ffQ})5L4)F*>j&3&H<&sz;}V&y|Qb+%ItdzL%DM`mk1xYX@#~@ zK=s6{6Q|hy0Meuz+(w&w#FL4U!sZCc|fkc6^|_N)|jfqg*BBR$U|o^uZ<2o zSTPJI-RMowN}+TNtwE;%kxmKx0CJ9Fb>!@Z!N+56^d#YFjlP4L8#R%pm?A`oJiZzX zb0$sZIHTF~@HEwV^QEY9F@D16r`%=R39G!XF%IOYwF(xVR?@D~<3}Ru9IJ=CyJsSJ zX=Jc~zB}n4xA%E0Ru1Ha)^gyhqWAK}JVPfytUq zxO)zY5m(RImLFyjL!3F1-*Y~=S?rZm{n@#zjmmi}2(P!Uww5ylW(xTM{6}ai;dQ`S~1pv#K7#ExAMj) zs?n57c*%2$1D7}Wf!Vrjugcf@5q-V^q8&Xdo&0YE?k{3}UvIuotZ;-ce!3v~7Aam3 z04?0Nt)1{O>kA~}CdnrDTaMjwyzV(^8Sv2Jy1N+ZfnD75sCEEQ?0bk~!FHRm5bx6J zP%v|0vV`eG6O_FfQcGdb$?4N0oxCZk)myU&fx z?}##}pA|iv&kTCRB@fC<7~N zEa$<`8o(+l7KHU}kUmuincg3MaxjhIgfnR_5B|!pTOEecE2^R9??AXG2%Y>XA_a!P zt$=z49C7%oE>CA=W1*Nx!h;w17Fxb|Fb3I*cHQoG2@~~`#Vsy*E&kZKFuI+2-^DTC zSY)!VI1)_X@VGbLXCRAwVq7=JhW5z86Zh!?(wDmnh0)ol^2B!Ep?){hY=qg&;^1sS zOp9XPIE$@pfDFwLzpThXmOxPzy22}+nu4jirLOA;KSS>0?+WbU~>_nsg^~#)~^vwVz6U1y*3fIc2%5; zmJ%SBDmln>H1s<91>syN?bDIIyJ|^fWejGDSduyqIRoG3NFgduF#2M1GHP_tMZo8# znD^(pJm`l)UssUp!%N@4V^GHr5IOGIi{En&8VGU2a5B1yP-#Jh_h}lH^lDS*mc1`n zD8!zHr-1H(-3V&8UWvbuwV({Ik1|puphJZ9r>3AkN$Yy8yowTUDko z?6|3BWQNWhICzWOPsl;xz{lgDXgMeckt~L7DiOn zQoLew`%b46Q#4a2ti-iWczb0%)NOw5DMCh zPj(zKQjUitRURuRzIcc+2ojm0H4MKZI$b%PBG@+;Ddv`b)Si?ryJleV;9;^xCByW=7LUbLapcg}QKELrbJZ;iiIxRrp-3L^bdZ(pNgVLF zLzQIL4);*C0itxyIjD57)9DT6yB79Yaif__QBd!huNhr#%&5!uTE#;E?vi+OuA|eE z@sxR<$h2I1A#wt?KUxx1SOe!Vq~G%llg%w)5Qaf3@1XGGz;#FX>og}=#<8s{K97r} zk@#{G35T_0D`|I>6@y2U&#(aMP(9Kq?cvAb=v;3eXeEHUQ`B7sM?Uf2O-X>@Ob&w> zuTLE$r|%thBm*`yQlu+82veRH2Fg|oder=0odfptVI`n9#@Hfr?EE-r2y#c7a_DKI z7|Zw2AZ?gLJ~V#AXG3Fgu902fu&!goXwkut4aCwS*WX^c^$&?t#J1bTfk=Mf_}W^3 zsl2)toTNx>**5j|vIv0q|E(}+Tfsh8hQra`UBO-+QJGkf9GYf!Z1?cLgsN3)#S<{}e$j8gYANA$C& zeUwWO0yLX5Olq9py#}mM6;-GH0O@6-E_(F!rc`j0z3y6x<*~gGQE0ASceh-0NB%=% zKO)nI>4*==KzaV$5z^rknn4}qB%kV}1M!=Z^qM0dJi+gHs@n z1Jf*cWQ(N-emwH_LVs)2WWSDh(A}i!;pCZ^l|WC&dTmc&S>V`sy>wecq^SnL5p%38 zg!(DZhwpMD(IPz6cv)?YEeRtjVA2;Y|g5_xF$~jR^;hjAZ9!~ zYmPG9S1;SR0(OVA@zY)vz6Cb?6dULWR~phXB!mgkpgGR#NU8TFl(leiONYDhs9~F@ z?>2Q&pdr|#=eh==MuYpl#$wzXBY!_)7ngeny`)u!|jPH@c_|M^E6+u92e{!kPmo1N|_(Z83 zDQzmTurk9b8Ug*r1pMOR=pJDz;Uu)n<^UPJ4rT)Zj{y;g;u?a?t!XBPN1J>3prIRt z+0$Pbf)$9HPsvCXvE==n92vmjRw4&p5;VcUz)mZ&sD489=}iu@Mc#J+o-EO55{a>r zQ1Tr!;&z%l@fBMFcP&T!GhdCZyBdupHuY#cuZ+Mcl77DI%f+?+e8k1R*fmF2ypQAA zqm}xXaHIgLWNKT$h-MFSSwMsuO?HZMrBo{Tw=h-b0_MpT(j(=YxPcE4lv#H3^hJIg zUYEjz)*lU;Wq*`$d?94K$a%@9db#0i_ui=_X!5(m8QLSSMopBDvz*D5oUKGDq+P+n z1Sk#P^&(Z(i_gmD>iitKcSszaCKl~MnkD|jF1E~m*Y+m7#LwnLPRxf3NB z<8a&yD1Kvw4*V8^)<4kG*X1WY2osg^RwQpTM%!kXTo6N=l{O{6jr8-~K*AR_*tU6j zDz1|iXDl+;`V;kCQn+DF&XD9GZnCW`Q7(j%nN?N4$OvcqZ?%_Xq4wlDVBWMxRxW3T z;B)|I8n1bcAH4(KxI0rDV630NNSKq_fzJ&;GR9Rb5Sa7$1lrIVkMqb0yx1VAVq_hvPRG>H!e1 z?kzsht26;1)M((T`4Kha;@;emH8F)4nU@C0dnRB4;Ra*dH=Oc-xhZ0}+?80p4#6rX zkZ&=KDa!od@o=(D-xS3h?u?I)XLCEWuLFy(OC&S*%p{zw>7fD5#hk1ti>n&|3z+B^ znJ{l6P2J21K;5ginXXExJpgZEk_l?>81W$qGcFN8H0w9_A>amVHk7eT%NpFhxa!1I z16G0t;IHh@g2e{@{7C3FxAR89FLb@PIh%w2C{z&4cKA0n=S?p0Y@Sfm1tsBH_(2g4Gw>l4}lUkoJ^?HUF<&gvZ9 zeVv)?1hVIf%XWx5g|c$CxB!-esU@o0lmnzSeVp#?-u9R40Cq!(II5Z;Ny}5>XOvID zQe>nmQ$ckD^J!rOA{BN>KG`uv8FddRZZ&;eu6Fm*Axid<(bz>RN*Jp1W$ZrWi)$a$ z<+N!k#X*;t(1kR%9F7(#Iz-1^&w{&WTUhGoTdSDwnmVuKtMo05Li^5mrV+6n5>M6hc>ZDI%C}xW|WB0$t#j4 zDAlSyXL#MS&mxc`w!~5E30&+WV25f?uKo_5<*{?K=%!*~v&<2tGG)_O{+`ZMiaeh^ zOAe&rlz`tQkEv8p6?w!7R5TF>R(kmgO3|J=z^lfVwwuo^qQKj+@e~*0#qN==#;m_% zmYISh=V-VHCYp%w9BvDu*$TIe%~md%&x>SIJK`S*I|@sktA3#@i%DRD|JX-XpEn>T z<;*=1`yP_wsVF;){px*U8{|EigIWzFfVz;Ui6MqwPqz(=R$rqVC9lyGoFj`2&$g&k zc|A;LJ0F5U5(+&=MT?_j^)21j@G$-bgK${5Bqb$vJlZ#6$=AD7y zK{?z4|A8}4M%l(xDx!{Yo+SC5^!@2fxGrZLHw>AND3y5i&(Nl|FD9Mgn=XlngbQ`~ ziln<2&vW(Ag6^2u7RY^@F5XwE7UwJA3gPYWXFV6%v*;B252~$l7ft`ER;db!f&3kOxoj)z#ULNwOH||c6yph*m0{~KA(N(47RJmAZwx3 zk`|)Fo2dWd=@#etrBl{gvKWqRN-T_7a0F#eTC=2Iu1&R<*2&<@XXKpBEvVQB$Q8J! z-aZ$%%ux5a+IMQVbQ-fwNVnn$PDRH;{W?Ssu3eKW!#$R8ds2-?$6r_`g>H6nzY)e5`DMUQDT;9fYIx(x;7Ak{>O?7By~NpBPL z0t%xcJT1~%%36EorUD!xfEAHqSrf1=pIQP~w<_df-@Rg=q{Cqz6#eYJQL!Q*p7of< z(Q@SYoZ{+f8$hCxhB>QR@ewOu8l%^YpA1a~LNoG|6vj#+VNCo^i3rT(`dC=zT>hGS z#ofrPn7ek_7juRdV`Wx|M$?8&WoU-5NK&DNn#w0sBjyUA(`BV|Lb)4)q}9zR*aAdS z=r1-#(u=4MwoV&SsnnK$as@}+`3XQKUne7-fFm+XAxWC#87&Z)5l^?m3D!>dKA*b8 zSWa|xBpQM{i&&C~EX)wC_%4@NEuLYoB~u|(dGn-D1~b!sv;tfKyGuk|^UylQQG8hfDW9>Lfa`*AqCj}=0QvshQjnwCd)$# zHQK5kqjT1nVT3<~X7qfa?@@m`mS=34Yc5Wuk6H3i2yS{i@a#sZOcB*52@78_vIMy) z>lzSEnbJch9;w`Ws%~Ra(dKdcB zwz|>3C+dr0+6UWxA_-$vHgRN~9GTXOCFr30N8`3+NWW(N_0_I%?xT-BEcf3^V$p{X z$#53bq8r68s|qT;H#unnyrJQ0IZaOW!eUs^%UD|iVvB1yt-)K{?f7L1YHX0Pllaa{ zkoWeI?DO%@)0UTM*CrHNzOu6uiM`QXLOnvE=y@}P!ILBMDG^97k_Q#GCjsCh8aO!_ zs1A4sW&$p|Qeuq1T?&Ih1^GeU9k~M^LAA%Zlc0*)UxF+QTiL{<^=%&gK_mssjPw#1 zik^h9s{&49f0mcHOjjtfQ8};jrKU7ZH3TxXF?D@Mg=Wb>P(40=JkrQREa6E+$dZ5iCQlUg`-JK@vH=D11< z7~)^<*pr9f%k0$OA*Ke|;sPoXrKyIfSJJQ$E2B*hxQn1BHMk@4Ca!1DmFehCOM1mo z=mOW~L@>Uq7tv)iSxjxhMV#jrm~!U%^S-2KpESJb^KR{1kLg{DBo7nPpJ@_8kfX;Z ztDkLKLcuz;6wB=lS3pqKhW}_B(5{hNw6~-XX1#w>dTt_W*%>l{DbkI?vV{=}xvV{9 zF6B;B3|N_9Hx`D4GLJjNItu@xalD}=H~q3t)%r0oR9`p$v{OeKLq85q-MNY@=Od~K zE_|{;>Dx=>`K8%#M2IZQ_Z-0vAHNV!8pLGGtnS<6h?G-PS>@Hb4Kn5+Ynd3`0@~f# zyD6*oMf}U1BXv}NM4fJ{VydKtE@t9pxV4B+pVP^slR1($Qbw63>$hWG6a`gnsLh3; zUJ)U4%xs4)1HgFpaGHy8e3_D5hCXKG4|UPxNxB=u&ZsC;5I7?eCP+p;vadsnM1Ebz z$G}S9(eSFSPDEa_%4-3~Q}RcNlZOq|u2$+6O3=T$&fElE)vG!B;;@ zT-T;hccBYzJ-U@@1hT+kP4dcs4Ska|4s~_zWm08Rc+&~bnFoe9iEaz87$MRAgz5*e z$y~Ag?7+m=7=3&cH|Fr;mhk@AHPsT#&rkIjv z#jl-FNz}3&dhJhEtv_HK_PBZ{Z34hR#)ELcBXP`yH_pwZykBB*7eZQ zBUDaKMwn<;eT~I!7oKf$wnHdMyM(^2sao9Rj5C=UX2kMG{;p6jQw^=~+A~t*o$l#h za(s|0cm|;Dn1yQ*!n@5E?-ox{5>K}v$bpK%0R;vheZDYNI35K64!2|Y0b z9QUk8QZPxI(-0636ls{DmtU8|-0v>ACYS)JviuEOYR}vi)x86!)DrkN6;7|IL@0DV z&u#mOA3{H(_`OqB}FxpXQ8l#>?d)bDyG{QGRVu_gVM0|ZE3QHiDwuFMH z+D8)Q6$C1itL}=xe!@a@%Nk_<6eltyjL{v>;^13XRNFwP{xG*|)GJdMqyXp^R6uHn z&0G^R;k+x06)G}wkuTEuA{I|L*A0(MNFGzPJ(-A+c9Z3vb+nB+24Jn{f}QmS$_9(Q z)@RNn1~%UzguZ@yLYQ%xDu(rqQQOM5qh*r*X^)BQ6@Qll6xOwpMD(>!%Qg=7jwc2z zh(MLLhaaI0?+FQ3hy>=*Y1G3UCP~AG#F14`H*X~>Q>1*Tzz}$Z)r5N+qm3mXOOk$> z8PNibV|yS1l>#HK8V!>`fkh>U|J2x$WG4mQUc)}UGQ+EuKm6D~z?6XbeJ!1$ERI?w zQdMpg6Zz+eTWt&HW)=BF_c0%j`@~JxM zM6ikoMcYBXqozY34C}CQnSxlGI)q8+LySpxg6yQ$;JbV>+u~ePY6C)|VjtAnF#2ML zu(nB7cbeo!f=!9W!%Z%?h5YY*D`+ys@K+d-eL1(1$Y_$DqH<96(KHGkG?m6`Mgbk#sZw2w2#^x5*pwy}TD=T143dgvI$+cQ|Rm|4j zqfa>qRavvVyTfjtPjQ^*+4b^{kbmKh>v?99xbmN49z_zMKp=lvx-mFaP%;Zf8p@qW zd(oFG_JN}|GrG;fxjsWL6{;@EfrOmd@IBUBaIg`>G@E{F)?B(&1TG6)hNNp)h3V*k z$d3PbIIE?fZOVG`{hOM&|Cq0aj!TRmrA7|l7vi?>;R9wZAA^P2{oLLWTuoc$2xKf) zx?+e2Vj}Q^o-d{N`$J1kTc3 zE>g)Vb9`cLE~Ur6&UGP-SjaZvb%0!4mjg55M+?o;E;*!hFKY9F#m*O|wqD%mteZJ8 z+Dls{qWh8ApQl9hsm=Ae8ZTkhCBbr-MiFn?80qRY35)_SEX1qv+w!IrUtiI1EOqj6 z>>E2D=zAVThm7YZ=TzUmE9&bIU_f`dVlDZ=%e}#2^wZi&&1v*KYVj3eTXb>!W{N7L zs%HvKKq6R%NY>K_0NdCXn5MAF{$Ru9K1moP@yPgO<9vfd2aWPtL12;ugAQcam$Rjt zw2a9kvrj_u11|>!Q)%cVV1=!*{nsd>&K5lDVF~XAB4Touv(cWIHZ66o1+2ZYQzpIZ zJrA?zXIoXv4#TQ^##!8po`(6d-(02%F;g;1$zpDfq@5Gh>0o7h>88{J1NlDQ5in5 z0@B^WguVJ|h2+?<+A&)(xd1IRY=;DToK8`Tx3vcbj{9#oETmO+2%+Z#gGeGZVBeVO z66rvToI&=Cj>=3*$Uf<-nxp^dbP!rw^;&6#3^q+HF&&4>u}q3p?CI6<)j(?LiiYcg zBV}M!Q!>S=IV04+Jv+Z<>Z@rPf98cr2pj~GJw_D@orT9%z3;JwR;77h)D)?;s2pAto*z-F(iY>Swb|0ERWYaanDrFW z8CV~;2^dAE{1!~9ibj_I8KLwWTD}HFuXx(c58{`wA4;)u)bF7`5h50gglyk+zHYcR zm^xTaDIoL(ti4%&!G(rs7A`YfUhl781%N+|cO=f8&!=@9(diC3z0T>vXmj&p%HBAM1fU%tolc9;75s=B<#vb%t8yFbBkh{I1u@%sn z)Cg#1VJkp>+T2b~YGEQk{+?5TMZsPSXl^0x=?GNwR8%+iv@+&3Ar}%v;CBar0BnHH zhNSK`*0xRncLDO>xB$@aU(L+qq`yU+tpvz56_iQE>>Pol984TcEQ}KF7OrgMf(WGi zjwYr6RdLBbAwX{eA$tUS3{i7B*%!Hb#&HqmzfNv!Oeq ztrNvBh(9pIflkJb7WU2-cDAIyFb$3DT$}~S$wB?3e}aR0jV0Vcjekz?>-{&pld}o4 z4CsXev>%WFGaCyF47D4)Cb~m(VW@Tbwwz2uQ5l+q$ zu7A(>Uyg862Yo)stO|6pb8$2VO1J`Tohkk~slBy}(?92QaRUBo`n_&z6H{i;qJGc( z&oNRm3d(a$F&c5O@-mv5a2v6*7;+i&@^btGO2*d7+0fP)_zMaI&SU|?F*Rc2 zW;f<$Wn^ImSrG?27YKsg7|6)ZYs|^Q#S1iKGv@gRgp#8LhzW+)|6J8CC=(Er5oidI zh0TzW)sV}Sk;8v5H$Z5>O#b*2)>eo2{M3iL&$k~`!{%%pWHgq<% zbF=}`%fi;g&durXE_DkVpqjJcFSW69v2ttFz&?SNEk_=_DNWHdX*9CxC^M{EyTA^Ys7EY|n^; z#TZ0#Zbn`nUS1H@xmXx^O;|Y?Iat^^OyW}Z($6yb+Y^Kmi|wXKh*M%I15_yA8nxc4N3=?|H=pc zB*8B~@qh67lU)A?X8=L}XOjPse*dGc|ETMKq=EmD@PDl9KkE7)Y2be({2%N3|4m&8 zf8QtoZ9!?R8|c13oAdeC|JA`5$w`U-zI6b*7i;zd{erib)^Y*^!=d{12QH&Zc?N2P zb(T?(fZc(_$A+akIv>jg10w~K5f@Q+UpmTkb63|`>hQZ&RA8f{4B#LQn6N^KK~trz zuglqs(4Aj>)_K2rz1;TD)NJeKW)s<(XCx-BBHSUWL`z3WNl7M9a64l1Fw%PaXdD*{ zM@tTO@GPKo1)u75+H~qM&TGeK7VLG}`aYb19YtAL%ZRurh-d~TSB;EzDxCR#e-;e&AytK!EAm1+$qG>?=-A`W% z`PcBgyo(C4$B^u^#@r&r48`?RF;4A3e+=|+0|XcmWvY_D1uw9PVtz^n_W=?DbrO;& za%k@qN8?1wq@>3K&M^%S*?XMZ(rsIVxU;E&N(Sq$}S$o#&Z+YWSX^>1$KD)J#Kc<%|=_@MgOH!L1)Eq4E z(!rC$Wn8i;KguK)MGSFUc>AF5PTlblS-re>6t>o*8SB!4kVRynk2noLprw^=b3xed z486VXSgy<=!V5v;z6svZtY$!c)WuS=c?@?9JY__O+AIJ(n1BBc@UUBLUb%_SCZ2Ay zBe$`s@V+>gTJavPFuV5o_^_w`cz22Q+Rd1r!s>*>%34L^62&k~V=eXa;=@CTQeExz z`F{DUF5krAbwS~%(0;(&jB{{xwJKA~nOD*CYV@sMQQjp@+TCY260M}gZ<_)*3;Xhidr}R#v-_X#Kg}QR%xW+@4HnAb@j7nr))%&YO$rS3PSST;eKVwk z2E}E!B<(0mpD!ul1N5kGXoyX2PA^Pm7Au?0a`YoyJz=kaEK(DK63O}UB`xWvDQIbm zT9txI*^02w&(Gdhlcrx=E-X3lN3{}9n|E<~dg|AWJ^WQvB`3c%YKGS-mCc1dAV5TaX@F^9J(_Z`&QA5K>n z7Xy}$1ubAN?{~8{Ur!#VSy56+;ZjDQk&uuGZ2xOB?+tEzi$uVHys0r=+|$YyGK7Z#BCXoQ&4Dm z-m_840CEG=RrJQ7-{@V196Ru2a&U2EIE&Y}wh~1zJ1zB%#ZpKq(v|*jY|=d6>(=pl zM&3SMk5(+oFK7&V+uoj0qE_T{ESWqD=&1Db;BJ2yJx%3tn3B=owddK}-+z(qJ9|8> zpa4*(U0r=*$C!<$4Db8+u?C;@=;XlY`d~ghS}CWXASHYK88I+OZ0uu`u$Be9lF&8O z8y$D_yyD!_(zs<`N7&BJPB8WN@2lLDh($z1oLyWTE*Tpz(9ky8gQoWjN=o({FIKKP zVGa%s?iR;iZxgmx=az=F?OHqU&chduT}4Gj8}H(VXRITK++Zr_hi8W?fnCAjG+9dD zn^|tt$HQ;vBf4%Y^~U^2d{RiB@3=rtByzC!l=!r zXWnCZFp%ks_nf2PNkr~4%w>O*78`S*%39rCuP;>}FM07eLyG zKuVeIleIx95?jOlo#D0_2qFT4evticUVAP!(*a+v-q#=$b|Ot~-aG-YDvu2p$f6APdEydO1h(^m{OEjc z@8=&%SiN>W34C_rwrzgboZ?dbV9FXUDG3R@?yYO%QO;T5PT)`hyiU`N*8AAz9QYTP zw`%I@(u!lEP$CA8^-7HgkHg_%VcR7%B>7cU0fX^H8S2{Oe6OM=T7pz!-9OIHM%a}u zme*Is3=GgB@;0tLHFm{z_(I8tvzsM{E}A&00|VusF5b8Abo#xiCxv))^$2{<-(&@G?#Qa-ugzSmkg7 zaQa43v*sKltCxICtw)Zay>pc%K0n@q$E2o)P!1;~V6i*>WPpH#1gB+UGTQ2q zfr3u`?6qD!73A#VMutE>NJkeO9Q?2*6-!6Q^rgKWRRwKOGsa_N`>hOyL+P0@ zYWJtZBMB6Abs3|OulKHDewr}|qd^@U9>O88ITV*C+}*if!9d1QPEM_W!V=I`6~nbT zb0`7TLqwCbTkT;1F#>*|J(zojfHz`)0k=r#IM zRfR60V!v=4{P817mLbZ4AWcBS(jelTD z%V%sbM-L9KMs@F#Qc@=HI_++{G?x_9noVufLBYT{<`lO7+rq=wSL$a*+QJ~{{V290@lvH`IEvC5uM?ZwhYV{5SB{axS=*;cq6!li^ zgJ%qgw!xvH6mSrUiP%u-f#C$t`-EUD78h7X#y_5{l+>L$u3cPcX-!N_9{R?1haSaY zqPAbo*#vF!fZHye>%LLKg=lc*5+OGUvm>+xzS+3 zk6L+-)UVl^481?M5!#eCrjYu~;dqJa>+bn@0p)-l14J+i93UbXxp58Ps@YnG&GRRJ zdsGHlriS-a>xdv*K<2O|K4Qx5op3mcH8rY^b*WHDp+P9M~^-1k|5g18RTo71*SF0Ttmbf^GOw)pVySZr5Z1fsPF z+CnpTv{|+%#9859z4cnKWSOCo9#b{L^onzEKZ#eu+L|61m#w?s!q&;Pr@6H`sj&zS zXojcT$xxQ`M{rsJO;K%aM2mgAgruZzUh^m*=T=u2vOjGWlb9$51oDCsf#^pj&>644 z9Qd8P3lw}A>)mlY-^P54%k9gL$X4TVlS;FHdMK6ze7Ott3Xh1OW`CO=1S{vh-}}bC zDPy7hot}qBVf)B_Z0O7A($&iF+;U zP!8u?T2>PhiA{VZsSOPc%Y83hpuBx*UY=c?ot?iKh~OOC*mySrYueXuj+eVXrPhEP zA&5>vtELoh`9ks7%`O*=qaSvfY*#;E^hHs;eH(gk(7nBLOnmXf{dCn0myau}WcthH zHfHqX;$nFJk4;eQrlI6WC@&{$iAyfZ_Vm_#HLnAJ!Ws*}76}iLE&TK6+~Q(?qUDCz zq^y8W^9@jTDuM=uLh^Mx+wT=|kglYM=2L!dZUF4dIrkU&Oj++P9$$xB-J^xJsPZGi zq2b};va)O4_gbB?eUg-e!(S8#+;PxcptAM__GU<83t4_qOf`lsaID!^4RBu33xgB^o76cE~{)AsoiInmdPBJV{R4p z@gc&bkvBP**&k7qHSPP9nvhJA*IIEsO?!T#3$ndz_D%a=9(HQ#r!fnz`+10&3Kl3) z8u{^-7@CyR1?3_KNq`uYng12Z(2xQb8(TtS)=)AEU&7Rs%eEoi<@Bq7srOgyh9r

6a)`O`>KB#Tg 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%0A=_#e&8wv$Fi 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 Y?aR8YYbd5tDe$GPtfiE#c+U6#0rP^}sQ>@~ literal 0 HcmV?d00001 diff --git a/bundles/org.openhab.binding.ahawastecollection/pom.xml b/bundles/org.openhab.binding.ahawastecollection/pom.xml index 2ed1039f1a011..7f623bc1a7596 100644 --- a/bundles/org.openhab.binding.ahawastecollection/pom.xml +++ b/bundles/org.openhab.binding.ahawastecollection/pom.xml @@ -12,7 +12,7 @@ org.openhab.binding.ahawastecollection - openHAB Add-ons :: Bundles :: AhaWasteCollection Binding + openHAB Add-ons :: Bundles :: aha Waste Collection Binding diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml index e7d5af064e92f..6fd4501566d6e 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml @@ -2,7 +2,7 @@ mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - + openhab-runtime-base mvn:org.openhab.addons.bundles/org.openhab.binding.ahawastecollection/${project.version} diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java index cd2c5bbd74589..20b80d605c438 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleFactory.java @@ -16,7 +16,7 @@ /** * Factory for creating an {@link AhaCollectionSchedule}. - * + * * @author Sönke Küper - Initial contribution */ @NonNullByDefault @@ -25,6 +25,6 @@ public interface AhaCollectionScheduleFactory { /** * Creates an new {@link AhaCollectionSchedule} for the given location. */ - public AhaCollectionSchedule create(final String gemeinde, final String strasse, final String hausnr, - final String hausnraddon, final String ladeort); + public AhaCollectionSchedule create(final String commune, final String street, final String houseNumber, + final String houseNumberAddon, final String collectionPlace); } diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java index e631cd91970ea..08151ed726681 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java @@ -37,7 +37,7 @@ /** * Schedule that returns the next collection dates from the aha website. - * + * * @author Sönke Küper - Initial contribution */ @NonNullByDefault @@ -48,33 +48,33 @@ final class AhaCollectionScheduleImpl implements AhaCollectionSchedule { private static final String WEBSITE_URL = "https://www.aha-region.de/abholtermine/abfuhrkalender/"; private final Logger logger = LoggerFactory.getLogger(AhaCollectionScheduleImpl.class); - private final String gemeinde; - private final String strasse; - private final String hausnr; - private final String hausnraddon; - private final String ladeort; + private final String commune; + private final String street; + private final String houseNumber; + private final String houseNumberAddon; + private final String collectionPlace; /** * Creates an new {@link AhaCollectionScheduleImpl} for the given location. */ - public AhaCollectionScheduleImpl(final String gemeinde, final String strasse, final String hausnr, - final String hausnraddon, final String ladeort) { - this.gemeinde = gemeinde; - this.strasse = strasse; - this.hausnr = hausnr; - this.hausnraddon = hausnraddon; - this.ladeort = ladeort; + public AhaCollectionScheduleImpl(final String commune, final String street, final String houseNumber, + final String houseNumberAddon, final String collectionPlace) { + this.commune = commune; + this.street = street; + this.houseNumber = houseNumber; + this.houseNumberAddon = houseNumberAddon; + this.collectionPlace = collectionPlace; } @Override public Map getCollectionDates() throws IOException { final Document doc = Jsoup.connect(WEBSITE_URL) // .method(Method.POST) // - .data("gemeinde", this.gemeinde) // - .data("strasse", this.strasse) // - .data("hausnr", this.hausnr) // - .data("hausnraddon", this.hausnraddon) // - .data("ladeort", this.ladeort) // + .data("gemeinde", this.commune) // + .data("strasse", this.street) // + .data("hausnr", this.houseNumber) // + .data("hausnraddon", this.houseNumberAddon) // + .data("ladeort", this.collectionPlace) // .data("anzeigen", "Suchen") // .get(); final Elements tableRows = doc.select("table").select("tr"); @@ -98,11 +98,10 @@ public Map getCollectionDates() throws IOException { /** * Parses the {@link CollectionDate} from the given {@link Element table row}. - * + * * @return The {@link CollectionDate} or null if no dates could be parsed. */ - @Nullable - private CollectionDate parseRow(final Element row) { + private @Nullable CollectionDate parseRow(final Element row) { final Elements columns = row.select("td"); if (columns.size() != 5) { this.logger.debug("Could not parse row: {}", row.toString()); @@ -143,7 +142,7 @@ private List parseTimes(final Element element) { try { result.add(DATE_FORMAT.parse(dateValue)); } catch (final ParseException e) { - this.logger.warn("Could not parse date: {}", dateValue); //$NON-NLS-1$ + this.logger.warn("Could not parse date: {}", dateValue); } } return result; diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java index 71be86121df47..92d91dbd5fda7 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java @@ -64,10 +64,10 @@ public class AhaWasteCollectionHandler extends BaseThingHandler { private @Nullable ScheduledCompletableFuture dailyJob; - private AhaCollectionScheduleFactory scheduleFactory; + private final AhaCollectionScheduleFactory scheduleFactory; public AhaWasteCollectionHandler(final Thing thing, final CronScheduler scheduler, - final TimeZoneProvider timeZoneProvider, AhaCollectionScheduleFactory scheduleFactory) { + final TimeZoneProvider timeZoneProvider, final AhaCollectionScheduleFactory scheduleFactory) { super(thing); this.cronScheduler = scheduler; this.timeZoneProvider = timeZoneProvider; @@ -77,8 +77,10 @@ public AhaWasteCollectionHandler(final Thing thing, final CronScheduler schedule private Map loadCollectionDates() { try { - return this.collectionSchedule.getCollectionDates(); - } catch (IOException e) { + final Map collectionDates = this.collectionSchedule.getCollectionDates(); + this.updateStatus(ThingStatus.ONLINE); + return collectionDates; + } catch (final IOException e) { this.updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); return Collections.emptyMap(); } @@ -97,19 +99,20 @@ public void handleCommand(final ChannelUID channelUID, final Command command) { public void initialize() { this.config = this.getConfigAs(AhaWasteCollectionConfiguration.class); - final String gemeinde = this.config.commune; + final String commune = this.config.commune; final String street = this.config.street; - final String hausnr = this.config.houseNumber; - final String hausnraddon = this.config.houseNumberAddon; - final String ladeort = this.config.collectionPlace; + final String houseNumber = this.config.houseNumber; + final String houseNumberAddon = this.config.houseNumberAddon; + final String collectionPlace = this.config.collectionPlace; - if (gemeinde.isBlank() || street.isBlank() || hausnr.isBlank() || ladeort.isBlank()) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + if (commune.isBlank() || street.isBlank() || houseNumber.isBlank() || collectionPlace.isBlank()) { + this.updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Parameters are mandatory and must be configured"); return; } - this.collectionSchedule = scheduleFactory.create(gemeinde, street, hausnr, hausnraddon, ladeort); + this.collectionSchedule = this.scheduleFactory.create(commune, street, houseNumber, houseNumberAddon, + collectionPlace); this.updateStatus(ThingStatus.UNKNOWN); @@ -133,7 +136,7 @@ private void restartJob() { this.dailyJob = this.cronScheduler.schedule(this::updateCollectionDates, DAILY_MIDNIGHT); this.logger.debug("Scheduled {} at midnight", this.dailyJob); // Execute daily startup job immediately - updateCollectionDates(); + this.updateCollectionDates(); } } finally { this.monitor.unlock(); @@ -164,8 +167,6 @@ private boolean updateCollectionDates() { this.logger.debug("Retrieved {} collection entries.", collectionDates.size()); this.updateChannels(collectionDates); - - this.updateStatus(ThingStatus.ONLINE); return true; } @@ -178,7 +179,7 @@ private void updateChannels(final Map collectionDates final CollectionDate collectionDate = collectionDates.get(wasteType); if (collectionDate == null) { - this.logger.warn("No collection dates found for waste type: {}", wasteType); //$NON-NLS-1$ + this.logger.warn("No collection dates found for waste type: {}", wasteType); continue; } diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java index 51d32eb15b92a..f11dcd5a006e1 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerFactory.java @@ -62,9 +62,10 @@ public AhaWasteCollectionHandlerFactory(final @Reference CronScheduler scheduler final AhaCollectionScheduleFactory factory = new AhaCollectionScheduleFactory() { @Override - public AhaCollectionScheduleImpl create(final String gemeinde, final String strasse, String hausnr, - String hausnraddon, String ladeort) { - return new AhaCollectionScheduleImpl(gemeinde, strasse, hausnr, hausnraddon, ladeort); + public AhaCollectionScheduleImpl create(final String commune, final String street, + final String houseNumber, final String houseNumberAddon, final String collectionPlace) { + return new AhaCollectionScheduleImpl(commune, street, houseNumber, houseNumberAddon, + collectionPlace); } }; return new AhaWasteCollectionHandler(thing, this.scheduler, this.timeZoneProvider, factory); diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml index 8ee3de3ecda7c..752f20958e3a6 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/binding/binding.xml @@ -4,7 +4,10 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> aha WasteCollection Binding - This binding requests the next waste collection dates from the aha collection schedule served by - https://www.aha-region.de/abholtermine/abfuhrkalender. + This binding provides information about the upcoming waste collection dates for places, that are served by + aha, + the waste collection company of the region Hannover. The values are retrieved from the online + aha waste collection + schedule available at: https://www.aha-region.de/abholtermine/abfuhrkalender. diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml index c6b3f4a2d184f..aa6d38a29045e 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml @@ -19,23 +19,25 @@ - Commune from form input + The selected commune, taken from the form field 'gemeinde'. - Street from selected street value. For example "02095@Oesterleystr.+/+Südstadt@Südstadt" + The selected street, taken from the form field 'strasse'. This value must look like + 67269@Rosmarinweg+/+Kirchhorst@Kirchhorst - - House number from form input + + The selected house number, taken from the form field 'hausnr'. - - + + The selected house number addon, taken from the form field 'hausnraddon'. - - Collection place from form input, for example: "02095-0010+" + + Form value for the collection place, taken from the form field `ladeort`. This value must look like + 67269-0010+ diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java index 69638ec49eadf..2411736b008e2 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleStubFactory.java @@ -21,8 +21,8 @@ public final class AhaCollectionScheduleStubFactory implements AhaCollectionScheduleFactory { @Override - public AhaCollectionSchedule create(final String gemeinde, final String strasse, final String hausnr, - final String hausnraddon, final String ladeort) { + public AhaCollectionSchedule create(final String commune, final String street, final String houseNumber, + final String houseNumberAddon, final String collectionPlace) { return new AhaCollectionScheduleStub(); } } diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java index 16819dcc5434a..b3ed481ad133d 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java @@ -21,6 +21,8 @@ import java.util.Date; import java.util.Map; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -43,11 +45,12 @@ /** * @author Sönke Küper - Initial contribution */ +@NonNullByDefault public class AhaWasteCollectionHandlerTest { - private ThingHandler handler; - private ThingHandlerCallback callback; - private Thing thing; + private @Nullable ThingHandler handler; + private @Nullable ThingHandlerCallback callback; + private @Nullable Thing thing; @BeforeEach public void setUp() { @@ -58,20 +61,7 @@ public void setUp() { config.put("houseNumberAddon", ""); config.put("street", "02095@Oesterleystr.+/+Südstadt@Südstadt"); - this.thing = mock(Thing.class); - when(this.thing.getUID()) - .thenReturn(new ThingUID(AhaWasteCollectionBindingConstants.THING_TYPE_SCHEDULE, "collectionCalendar")); - when(this.thing.getConfiguration()).thenReturn(config); - - final Channel channelBioWaste = mockChannel(this.thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE); - final Channel channelGeneralWaste = mockChannel(this.thing.getUID(), - AhaWasteCollectionBindingConstants.GENERAL_WASTE); - final Channel channelPaper = mockChannel(this.thing.getUID(), AhaWasteCollectionBindingConstants.PAPER); - final Channel channelLeightweightPackaging = mockChannel(this.thing.getUID(), - AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING); - - when(this.thing.getChannels()).thenReturn( - Arrays.asList(channelBioWaste, channelGeneralWaste, channelLeightweightPackaging, channelPaper)); + this.thing = mockThing(config); // Stub-Scheduler that executes the command synchronous @SuppressWarnings("unchecked") @@ -100,12 +90,45 @@ public ScheduledCompletableFuture schedule(final SchedulerRunnable runnabl } }; - this.handler = new AhaWasteCollectionHandler(this.thing, scheduler, ZoneId::systemDefault, + this.handler = new AhaWasteCollectionHandler(this.getThing(), scheduler, ZoneId::systemDefault, new AhaCollectionScheduleStubFactory()); this.callback = mock(ThingHandlerCallback.class); this.handler.setCallback(this.callback); } + private static Thing mockThing(final Configuration config) { + final Thing thing = mock(Thing.class); + when(thing.getUID()) + .thenReturn(new ThingUID(AhaWasteCollectionBindingConstants.THING_TYPE_SCHEDULE, "collectionCalendar")); + when(thing.getConfiguration()).thenReturn(config); + + final Channel channelBioWaste = mockChannel(thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE); + final Channel channelGeneralWaste = mockChannel(thing.getUID(), + AhaWasteCollectionBindingConstants.GENERAL_WASTE); + final Channel channelPaper = mockChannel(thing.getUID(), AhaWasteCollectionBindingConstants.PAPER); + final Channel channelLeightweightPackaging = mockChannel(thing.getUID(), + AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING); + + when(thing.getChannels()).thenReturn( + Arrays.asList(channelBioWaste, channelGeneralWaste, channelLeightweightPackaging, channelPaper)); + return thing; + } + + private static Channel mockChannel(final ThingUID thingId, final String channelId) { + final Channel channel = Mockito.mock(Channel.class); + when(channel.getUID()).thenReturn(new ChannelUID(thingId, channelId)); + return channel; + } + + // Needed because of NotNullCheck will fail otherwise when using attribute thing in mockito verify. + private Thing getThing() { + if (this.thing != null) { + return this.thing; + } else { + throw new AssertionError(); + } + } + @AfterEach public void tearDown() { this.handler.dispose(); @@ -114,7 +137,7 @@ public void tearDown() { @Test public void testUpdateChannels() { this.handler.initialize(); - verify(this.callback).statusUpdated(eq(this.thing), + verify(this.callback).statusUpdated(eq(this.getThing()), argThat(arg -> arg.getStatus().equals(ThingStatus.UNKNOWN))); verify(this.callback, timeout(1000)).statusUpdated(eq(this.thing), argThat(arg -> arg.getStatus().equals(ThingStatus.ONLINE))); @@ -136,10 +159,4 @@ private static State getDateTime(final Date day) { final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(day.toInstant(), ZoneId.systemDefault()); return new DateTimeType(zonedDateTime); } - - private static Channel mockChannel(final ThingUID thingId, final String channelId) { - final Channel channel = Mockito.mock(Channel.class); - when(channel.getUID()).thenReturn(new ChannelUID(thingId, channelId)); - return channel; - } } From f0f3eb3dfc062cee257f35940a0f6435133c2569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Sun, 11 Apr 2021 11:48:49 +0200 Subject: [PATCH 03/12] 10386: @NonNullByDefault and Mockito don't like each other MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../AhaWasteCollectionHandlerTest.java | 100 ++++++++---------- 1 file changed, 47 insertions(+), 53 deletions(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java index b3ed481ad133d..6c48b04eb2862 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java @@ -22,9 +22,6 @@ import java.util.Map; import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.openhab.core.config.core.Configuration; @@ -38,7 +35,6 @@ import org.openhab.core.thing.Thing; import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingUID; -import org.openhab.core.thing.binding.ThingHandler; import org.openhab.core.thing.binding.ThingHandlerCallback; import org.openhab.core.types.State; @@ -48,28 +44,28 @@ @NonNullByDefault public class AhaWasteCollectionHandlerTest { - private @Nullable ThingHandler handler; - private @Nullable ThingHandlerCallback callback; - private @Nullable Thing thing; + private static final Configuration config = createConfig(); - @BeforeEach - public void setUp() { + private static Configuration createConfig() { final Configuration config = new Configuration(); config.put("commune", "Hannover"); config.put("collectionPlace", "02095-0010+"); config.put("houseNumber", "10"); config.put("houseNumberAddon", ""); config.put("street", "02095@Oesterleystr.+/+Südstadt@Südstadt"); + return config; + } - this.thing = mockThing(config); - - // Stub-Scheduler that executes the command synchronous - @SuppressWarnings("unchecked") - final CronScheduler scheduler = new CronScheduler() { + /** + * Creates an {@link CronScheduler} that executes all commands synchronous. + */ + @SuppressWarnings("unchecked") + private static CronScheduler createStubScheduler() { + return new CronScheduler() { @Override - public ScheduledCompletableFuture schedule(final CronJob cronJob, final Map config, - final String cronExpression) { + public final ScheduledCompletableFuture schedule(final CronJob cronJob, + final Map config, final String cronExpression) { try { cronJob.run(config); } catch (final Exception e) { @@ -79,7 +75,7 @@ public ScheduledCompletableFuture schedule(final CronJob cronJob, final Ma } @Override - public ScheduledCompletableFuture schedule(final SchedulerRunnable runnable, + public final ScheduledCompletableFuture schedule(final SchedulerRunnable runnable, final String cronExpression) { try { runnable.run(); @@ -89,11 +85,6 @@ public ScheduledCompletableFuture schedule(final SchedulerRunnable runnabl return Mockito.mock(ScheduledCompletableFuture.class); } }; - - this.handler = new AhaWasteCollectionHandler(this.getThing(), scheduler, ZoneId::systemDefault, - new AhaCollectionScheduleStubFactory()); - this.callback = mock(ThingHandlerCallback.class); - this.handler.setCallback(this.callback); } private static Thing mockThing(final Configuration config) { @@ -120,43 +111,46 @@ private static Channel mockChannel(final ThingUID thingId, final String channelI return channel; } - // Needed because of NotNullCheck will fail otherwise when using attribute thing in mockito verify. - private Thing getThing() { - if (this.thing != null) { - return this.thing; - } else { - throw new AssertionError(); - } + private static AhaWasteCollectionHandler createAndInitHandler(final ThingHandlerCallback callback, + final Thing thing) { + final AhaWasteCollectionHandler handler = new AhaWasteCollectionHandler(thing, createStubScheduler(), + ZoneId::systemDefault, new AhaCollectionScheduleStubFactory()); + + handler.setCallback(callback); + handler.initialize(); + return handler; } - @AfterEach - public void tearDown() { - this.handler.dispose(); + private static State getDateTime(final Date day) { + final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(day.toInstant(), ZoneId.systemDefault()); + return new DateTimeType(zonedDateTime); } @Test public void testUpdateChannels() { - this.handler.initialize(); - verify(this.callback).statusUpdated(eq(this.getThing()), - argThat(arg -> arg.getStatus().equals(ThingStatus.UNKNOWN))); - verify(this.callback, timeout(1000)).statusUpdated(eq(this.thing), - argThat(arg -> arg.getStatus().equals(ThingStatus.ONLINE))); - verify(this.callback, timeout(1000)).stateUpdated( - new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE), - getDateTime(AhaCollectionScheduleStub.BIO_WASTE_DATE)); - verify(this.callback, timeout(1000)).stateUpdated( - new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.GENERAL_WASTE), - getDateTime(AhaCollectionScheduleStub.GENERAL_WASTE_DATE)); - verify(this.callback, timeout(1000)).stateUpdated( - new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING), - getDateTime(AhaCollectionScheduleStub.LEIGHTWEIGHT_PACKAGING_DATE)); - verify(this.callback, timeout(1000)).stateUpdated( - new ChannelUID(this.thing.getUID(), AhaWasteCollectionBindingConstants.PAPER), - getDateTime(AhaCollectionScheduleStub.PAPER_DATE)); - } - private static State getDateTime(final Date day) { - final ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(day.toInstant(), ZoneId.systemDefault()); - return new DateTimeType(zonedDateTime); + final Thing thing = mockThing(config); + final ThingHandlerCallback callback = mock(ThingHandlerCallback.class); + final AhaWasteCollectionHandler handler = createAndInitHandler(callback, thing); + + try { + verify(callback).statusUpdated(eq(thing), argThat(arg -> arg.getStatus().equals(ThingStatus.UNKNOWN))); + verify(callback, timeout(1000)).statusUpdated(eq(thing), + argThat(arg -> arg.getStatus().equals(ThingStatus.ONLINE))); + verify(callback, timeout(1000)).stateUpdated( + new ChannelUID(thing.getUID(), AhaWasteCollectionBindingConstants.BIOWASTE), + getDateTime(AhaCollectionScheduleStub.BIO_WASTE_DATE)); + verify(callback, timeout(1000)).stateUpdated( + new ChannelUID(thing.getUID(), AhaWasteCollectionBindingConstants.GENERAL_WASTE), + getDateTime(AhaCollectionScheduleStub.GENERAL_WASTE_DATE)); + verify(callback, timeout(1000)).stateUpdated( + new ChannelUID(thing.getUID(), AhaWasteCollectionBindingConstants.LEIGHTWEIGHT_PACKAGING), + getDateTime(AhaCollectionScheduleStub.LEIGHTWEIGHT_PACKAGING_DATE)); + verify(callback, timeout(1000)).stateUpdated( + new ChannelUID(thing.getUID(), AhaWasteCollectionBindingConstants.PAPER), + getDateTime(AhaCollectionScheduleStub.PAPER_DATE)); + } finally { + handler.dispose(); + } } } From c1c30cd23160e6f40aff71cef6e7b9857da95956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Sun, 11 Apr 2021 11:58:52 +0200 Subject: [PATCH 04/12] 10386: Renamed german translations file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- ...llection_de_DE.properties => ahawastecollection_de.properties} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/{ahawastecollection_de_DE.properties => ahawastecollection_de.properties} (100%) diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de.properties similarity index 100% rename from bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de_DE.properties rename to bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/i18n/ahawastecollection_de.properties From 036d666871e085696a41fd1ac120922c0610e362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Sun, 11 Apr 2021 12:13:56 +0200 Subject: [PATCH 05/12] 10386: PMD and Checkstyle fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../internal/AhaCollectionScheduleImpl.java | 4 +++- .../AhaWasteCollectionHandlerTest.java | 23 ++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java index 08151ed726681..e836a599d1acc 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java @@ -140,7 +140,9 @@ private List parseTimes(final Element element) { while (matcher.find()) { final String dateValue = matcher.group(1); try { - result.add(DATE_FORMAT.parse(dateValue)); + synchronized (DATE_FORMAT) { + result.add(DATE_FORMAT.parse(dateValue)); + } } catch (final ParseException e) { this.logger.warn("Could not parse date: {}", dateValue); } diff --git a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java index 6c48b04eb2862..cc967353a76e3 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/test/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandlerTest.java @@ -22,6 +22,7 @@ import java.util.Map; import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.openhab.core.config.core.Configuration; @@ -44,7 +45,7 @@ @NonNullByDefault public class AhaWasteCollectionHandlerTest { - private static final Configuration config = createConfig(); + private static final Configuration CONFIG = createConfig(); private static Configuration createConfig() { final Configuration config = new Configuration(); @@ -56,6 +57,18 @@ private static Configuration createConfig() { return config; } + /** + * Exception indicating that the execution of an script within the stub-Scheduler failed. + */ + private static class SchedulerRuntimeException extends RuntimeException { + + private static final long serialVersionUID = -1262671065082256315L; + + public SchedulerRuntimeException(@Nullable final Throwable cause) { + super(cause); + } + } + /** * Creates an {@link CronScheduler} that executes all commands synchronous. */ @@ -69,7 +82,7 @@ public final ScheduledCompletableFuture schedule(final CronJob cronJob, try { cronJob.run(config); } catch (final Exception e) { - throw new RuntimeException(e); + throw new SchedulerRuntimeException(e); } return Mockito.mock(ScheduledCompletableFuture.class); } @@ -80,7 +93,7 @@ public final ScheduledCompletableFuture schedule(final SchedulerRunnable r try { runnable.run(); } catch (final Exception e) { - throw new RuntimeException(e); + throw new SchedulerRuntimeException(e); } return Mockito.mock(ScheduledCompletableFuture.class); } @@ -115,7 +128,6 @@ private static AhaWasteCollectionHandler createAndInitHandler(final ThingHandler final Thing thing) { final AhaWasteCollectionHandler handler = new AhaWasteCollectionHandler(thing, createStubScheduler(), ZoneId::systemDefault, new AhaCollectionScheduleStubFactory()); - handler.setCallback(callback); handler.initialize(); return handler; @@ -128,8 +140,7 @@ private static State getDateTime(final Date day) { @Test public void testUpdateChannels() { - - final Thing thing = mockThing(config); + final Thing thing = mockThing(CONFIG); final ThingHandlerCallback callback = mock(ThingHandlerCallback.class); final AhaWasteCollectionHandler handler = createAndInitHandler(callback, thing); From 026871be7451dcdcf8a97a6e2f2f62f2cb261f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Sun, 11 Apr 2021 12:42:07 +0200 Subject: [PATCH 06/12] 10386: Changed dependency to provided MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- bundles/org.openhab.binding.ahawastecollection/pom.xml | 3 ++- .../src/main/feature/feature.xml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/pom.xml b/bundles/org.openhab.binding.ahawastecollection/pom.xml index 7f623bc1a7596..e23178b337245 100644 --- a/bundles/org.openhab.binding.ahawastecollection/pom.xml +++ b/bundles/org.openhab.binding.ahawastecollection/pom.xml @@ -18,7 +18,8 @@ org.jsoup jsoup - 1.10.2 + 1.8.3 + provided diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml index 6fd4501566d6e..b09d4bcd0b694 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/feature/feature.xml @@ -4,6 +4,7 @@ openhab-runtime-base + mvn:org.jsoup/jsoup/1.8.3 mvn:org.openhab.addons.bundles/org.openhab.binding.ahawastecollection/${project.version} From 9ebf2a4fc5c7e634712fb863828c74c01f322e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Mon, 19 Apr 2021 21:56:50 +0200 Subject: [PATCH 07/12] 10386: Adjusted to new web page layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../internal/AhaCollectionScheduleImpl.java | 81 ++++++++++++++----- 1 file changed, 62 insertions(+), 19 deletions(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java index e836a599d1acc..d031ceb6b77db 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaCollectionScheduleImpl.java @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.regex.Matcher; @@ -77,18 +78,35 @@ public Map getCollectionDates() throws IOException { .data("ladeort", this.collectionPlace) // .data("anzeigen", "Suchen") // .get(); - final Elements tableRows = doc.select("table").select("tr"); - if (tableRows.size() < 2) { - this.logger.warn("No waste collection dates found."); + + final Elements table = doc.select("table"); + + if (table.size() == 0) { + logger.warn("No result table found."); return Collections.emptyMap(); } - // Skip first row, that contains the header - // Than skip every second row, because it contains only the ical download buttons. + final Iterator rowIt = table.get(0).getElementsByTag("tr").iterator(); final Map result = new HashMap<>(); - for (int offset = 1; offset < tableRows.size(); offset += 2) { - final Element row = tableRows.get(offset); - final CollectionDate date = this.parseRow(row); + + while (rowIt.hasNext()) { + final Element currentRow = rowIt.next(); + if (!currentRow.tagName().equals("tr")) { + continue; + } + // Skip header, empty and download button rows. + if (isHeader(currentRow) || isDelimiterOrDownloadRow(currentRow)) { + continue; + } + + // If no following row is present, no collection dates can be parsed + if (!rowIt.hasNext()) { + logger.warn("No row with collection dates found."); + break; + } + final Element collectionDatesRow = rowIt.next(); + + final CollectionDate date = this.parseRows(currentRow, collectionDatesRow); if (date != null) { result.put(date.getType(), date); } @@ -97,25 +115,50 @@ public Map getCollectionDates() throws IOException { } /** - * Parses the {@link CollectionDate} from the given {@link Element table row}. - * - * @return The {@link CollectionDate} or null if no dates could be parsed. + * Parses the row with the waste type and the following row with the collection dates. + * + * @param wasteTypeRow Row that contains the waste type information + * @param collectionDatesRow Row that contains the collection date informations. + * @return The parsed {@link CollectionDate} or null if information could not be parsed. */ - private @Nullable CollectionDate parseRow(final Element row) { - final Elements columns = row.select("td"); - if (columns.size() != 5) { - this.logger.debug("Could not parse row: {}", row.toString()); + @Nullable + private CollectionDate parseRows(Element wasteTypeRow, Element collectionDatesRow) { + // Try to extract the waste Type from the first row + final Elements wasteTypeElement = wasteTypeRow.select("td").select("strong"); + if (wasteTypeElement.size() != 1) { + this.logger.warn("Could not parse waste type row: {}", wasteTypeRow.toString()); return null; } + final WasteType wasteType = parseWasteType(wasteTypeElement.get(0)); - final WasteType wasteType = parseWasteType(columns.get(1)); - final List times = this.parseTimes(columns.get(3)); + // Try to extract the collection dates from the second row + final Elements collectionDatesColumns = collectionDatesRow.select("td"); + if (collectionDatesColumns.size() != 3) { + this.logger.warn("collection dates row could not be parsed."); + return null; + } - if (times.isEmpty()) { + final Element collectionDatesColumn = collectionDatesColumns.get(1); + final List collectionDates = parseTimes(collectionDatesColumn); + + if (!collectionDates.isEmpty()) { + return new CollectionDate(wasteType, collectionDates); + } else { return null; } + } + + /** + * Returns true if the row is an (empty) delimiter row or if its an row that contains the download + * buttons for ical. + */ + private boolean isDelimiterOrDownloadRow(Element currentRow) { + final Elements columns = currentRow.select("td"); + return columns.size() == 1 && columns.get(0).text().isBlank() || !columns.select("form").isEmpty(); + } - return new CollectionDate(wasteType, times); + private boolean isHeader(Element currentRow) { + return !currentRow.select("th").isEmpty(); } /** From e38159597d322d6a5189bdac80d9f7d7afb4c8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Thu, 29 Apr 2021 20:17:54 +0200 Subject: [PATCH 08/12] 10386: Typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper Co-authored-by: Fabian Wolter --- bundles/org.openhab.binding.ahawastecollection/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/README.md b/bundles/org.openhab.binding.ahawastecollection/README.md index f4465fdf0c4f7..84aeb9c1a53ee 100644 --- a/bundles/org.openhab.binding.ahawastecollection/README.md +++ b/bundles/org.openhab.binding.ahawastecollection/README.md @@ -64,7 +64,7 @@ Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrk wasteCollection.items ``` -DateTime collectionDay_generalWaste "Next genral waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:generalWaste"} +DateTime collectionDay_generalWaste "Next general waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:generalWaste"} DateTime collectionDay_leightweightPackaging "Next lightweight packaging collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:leightweightPackaging"} DateTime collectionDay_bioWaste "Next bio waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:bioWaste"} DateTime collectionDay_paper "Next paper collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:paper"} From 2c90b049d9f8d58ca214d93480980eeaaaef57ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Thu, 29 Apr 2021 20:17:33 +0200 Subject: [PATCH 09/12] 10386: Added Third-Party Licence information for jsoup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- bundles/org.openhab.binding.ahawastecollection/NOTICE | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bundles/org.openhab.binding.ahawastecollection/NOTICE b/bundles/org.openhab.binding.ahawastecollection/NOTICE index 38d625e349232..810b7b7e4f792 100644 --- a/bundles/org.openhab.binding.ahawastecollection/NOTICE +++ b/bundles/org.openhab.binding.ahawastecollection/NOTICE @@ -11,3 +11,11 @@ https://www.eclipse.org/legal/epl-2.0/. == Source Code https://github.com/openhab/openhab-addons + + +== Third-party Content + +jsoup +* License: MIT License +* Project: https://jsoup.org/ +* Source: https://github.com/jhy/jsoup From 099474c8df7950e4629522663a3b9aebfe59ca86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Thu, 29 Apr 2021 20:20:50 +0200 Subject: [PATCH 10/12] 10386: Removed comments and adjusted labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../internal/AhaWasteCollectionHandler.java | 2 +- .../src/main/resources/OH-INF/thing/thing-types.xml | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java index 92d91dbd5fda7..26bffeb6c002e 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/java/org/openhab/binding/ahawastecollection/internal/AhaWasteCollectionHandler.java @@ -91,7 +91,7 @@ public void handleCommand(final ChannelUID channelUID, final Command command) { if (command instanceof RefreshType) { this.scheduler.execute(this::updateCollectionDates); } else { - this.logger.warn("The AHA Abfuhrkalender is a read-only binding and can not handle commands"); //$NON-NLS-1$ + this.logger.warn("The AHA Abfuhrkalender is a read-only binding and can not handle commands"); } } diff --git a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml index aa6d38a29045e..6fe06a53f5259 100644 --- a/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ahawastecollection/src/main/resources/OH-INF/thing/thing-types.xml @@ -4,7 +4,6 @@ xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - aha Waste Collection Schedule from http://www.aha-region.de/abholtermine/abfuhrkalender @@ -45,25 +44,25 @@ DateTime - + Next collection day for general waste DateTime - + Next collection day for leightweight packaging DateTime - + Next collection day for bio waste DateTime - + Next collection day for paper From 08ad87c1207e03abadda8e125145cece5344610d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Thu, 29 Apr 2021 20:27:49 +0200 Subject: [PATCH 11/12] 10386: Added rule example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- .../README.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/bundles/org.openhab.binding.ahawastecollection/README.md b/bundles/org.openhab.binding.ahawastecollection/README.md index 84aeb9c1a53ee..a78b2a1998bda 100644 --- a/bundles/org.openhab.binding.ahawastecollection/README.md +++ b/bundles/org.openhab.binding.ahawastecollection/README.md @@ -69,3 +69,71 @@ DateTime collectionDay_leightweightPackaging "Next lightweight packaging collect DateTime collectionDay_bioWaste "Next bio waste collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:bioWaste"} DateTime collectionDay_paper "Next paper collection" {channel="ahawastecollection:collectionSchedule:wasteCollectionSchedule:paper"} ``` + + +Example for rule that sends an notification with collected waste types on day before collection + +``` +triggers: + - id: "1" + configuration: + time: 18:00 + type: timer.TimeOfDayTrigger +conditions: [] +actions: + - inputs: {} + id: "2" + configuration: + type: application/javascript + script: >- + // Determine next day with time 00:00:00 + var today = items['LokaleZeit_DatumundZeit']; + + var tomorrow = today + .getZonedDateTime() + .plusDays(1) + .withHour(0) + .withMinute(0) + .withSecond(0) + .withNano(0); + + // Get next collection dates from items + var biomuellDate = items['collectionDay_bioWaste'].getZonedDateTime(); + var leichtverpackungDate = items['collectionDay_leightweightPackaging'].getZonedDateTime(); + var papierDate = items['collectionDay_paper'].getZonedDateTime(); + var restmuellDate = items['collectionDay_generalWaste'].getZonedDateTime(); + + + // Check which waste types are collected on the next day + var biomuellCollection = biomuellDate.equals(tomorrow); + var leichtverpackungCollection = leichtverpackungDate.equals(tomorrow); + var papierCollection = papierDate.equals(tomorrow); + var restmuellCollection = restmuellDate.equals(tomorrow); + + // Transfer booleans to waste type names + var toBeCollected = []; + + if (biomuellCollection) { + toBeCollected.push('bio waste'); + } + + if (leichtverpackungCollection) { + toBeCollected.push('leihtweight packaging'); + } + + if (papierCollection) { + toBeCollected.push('paper'); + } + + if (restmuellCollection) { + toBeCollected.push('general waste'); + } + + + // Send message (or something else) if at least one waste type is collected + if (toBeCollected.length > 0) { + var message = "Tomorrow the following waste will be collected:\n" + toBeCollected.join(', '); + events.sendCommand('SignalSmartHome_Eingabewert', message); + } + type: script.ScriptAction +``` From a40cb7f058506ce388b30e039f4e26661d0ffcb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20K=C3=BCper?= Date: Fri, 30 Apr 2021 12:38:31 +0200 Subject: [PATCH 12/12] 10386: Spotless fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sönke Küper --- bom/openhab-addons/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index 14b1c1783d307..ad97c76948f87 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -41,7 +41,7 @@ org.openhab.binding.ahawastecollection ${project.version} - + org.openhab.addons.bundles org.openhab.binding.airq ${project.version}

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