Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[verisure] Verisure Binding initial contribution #4789

Merged
merged 68 commits into from Jul 9, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
29797b0
Initial Verisure binding.
jannegpriv Feb 3, 2019
216d050
Updated after review
jannegpriv Mar 12, 2019
3cbdda3
Updated typo in README
jannegpriv Mar 12, 2019
bae3768
Updated after code review
jannegpriv Mar 13, 2019
7777c7c
Binding now handles non-system adminstrator accounts
jannegpriv Mar 16, 2019
debfae7
Updated README with information about Administrator user. Added warni…
jannegpriv Mar 17, 2019
a8d069c
Fixed URL encoding of password to handle special characters.
jannegpriv Mar 20, 2019
895f7b8
Updated README with correct support for channel humidity for some cli…
jannegpriv Mar 21, 2019
6f5827f
Updated Climate devices and removed channel humidity for those that d…
jannegpriv Mar 23, 2019
5159f81
Updated binding to support user presence status for many users.
jannegpriv Mar 25, 2019
be61bd6
Updated to handle manually configured Verisure IDs with either with n…
jannegpriv Apr 24, 2019
cf2a124
Moved Verisure binding to new bnd
jannegpriv May 4, 2019
8f5e614
Updated pom.xml.
jannegpriv May 4, 2019
a41bdc9
Started to migrate to new Verisure API. Set calls uses new API endpoi…
jannegpriv May 19, 2019
f7a2501
Updated binding to new Verisure API, replaced JSONs and updated thing…
jannegpriv Jun 1, 2019
af9942d
Updated README
jannegpriv Jun 2, 2019
1d2ad01
Fixed 2 typos in README
jannegpriv Jun 3, 2019
9166b8a
Updated to handle 2 different API servers. m-api01 and m-api02.
jannegpriv Jun 24, 2019
7fec758
Updated README.
jannegpriv Sep 11, 2019
9a53263
Updated to latest development environment, fixed bom/pom.xml, added n…
jannegpriv Sep 15, 2019
19f7ffc
Fix to handle a configuration without a pin-code.
jannegpriv Sep 16, 2019
cdfbb7a
Updated after fixing code review comments
jannegpriv Sep 20, 2019
8f32c8c
Updated after code reviews, renamed all set-channels and removed old …
jannegpriv Sep 21, 2019
cf929e0
Updated after review comments
jannegpriv Oct 20, 2019
1f92e60
Changed pin-code to be represented as a String
jannegpriv Nov 21, 2019
b5033bb
Updated with SAT fixes.
jannegpriv Nov 27, 2019
859d4b8
Updated after code review.
jannegpriv Dec 13, 2019
32fcef0
Updated README and removed unnecessary channels that lacks humidity s…
jannegpriv Dec 19, 2019
bc1d79e
Added timestamp channel to DoorWindow thing.
jannegpriv Dec 24, 2019
af995d5
Changed to 2.5.2-SNAPSHOT
jannegpriv Jan 23, 2020
e3b113a
Updated to new copyright statement and fixed new static code analysis…
jannegpriv Jan 23, 2020
8d863e4
Added support for Verisure Mice Detection, updated after code review
jannegpriv Jan 25, 2020
4ccfc60
Added JSoup dependency to parse html for csrf in a better way
jannegpriv Feb 2, 2020
b731869
Updated after code review
jannegpriv Feb 2, 2020
d635fb6
Removed all constructors for gson models
jannegpriv Feb 2, 2020
6c70965
Better status on Bridge for failed login, changed to use background t…
jannegpriv Feb 5, 2020
3ffb5bd
Handle Cookies in a method, fixed UTF-8 to be using StandardCharsets.
jannegpriv Feb 6, 2020
68a6d06
Updated faulty documentation in README
jannegpriv Feb 8, 2020
f0c23be
Updated to 2.5.3-SNAPSHOT
jannegpriv Mar 7, 2020
8f273bd
Added better Trace logging support,
jannegpriv Mar 15, 2020
757b9bc
Updated Trace debugging.
jannegpriv Mar 15, 2020
4bde170
Updated after code review.
jannegpriv Mar 20, 2020
0132d9f
Updated after code review.
jannegpriv Mar 22, 2020
de4d13e
Updated after code review.
jannegpriv Mar 22, 2020
5375b9c
Updated after code review.
jannegpriv Mar 23, 2020
9682019
Updated after code review, new Java Generics implementation for Devic…
jannegpriv Mar 23, 2020
b94711a
Updated after code review, new Java Generics implementation for Devic…
jannegpriv Mar 25, 2020
fec24c3
Updated after code review.
jannegpriv Mar 27, 2020
fb1adb6
Updated after code review
jannegpriv Apr 26, 2020
eb91bae
Updated after code review
jannegpriv Apr 27, 2020
eb21174
Added support for Verisure Event Log
jannegpriv May 15, 2020
56e7f42
Solved a lot of compiler warnings by renaming JSON model classes with…
jannegpriv May 17, 2020
0637628
Updated to upcoming 2.5.6-SNAPSHOT.
jannegpriv May 17, 2020
37d7236
Updated after code review.
jannegpriv May 21, 2020
d4b30d2
Updated after code review.
jannegpriv May 24, 2020
25be95d
Updated after code review.
jannegpriv May 25, 2020
2af0867
Updated after code review.
jannegpriv May 27, 2020
b748904
First version of trigger channel implementation
jannegpriv May 31, 2020
6c1b7dc
Fixed a NPE for UserTracking that lacks device.
jannegpriv Jun 14, 2020
d5105dd
Fixed NPE when Device is null
jannegpriv Jun 29, 2020
1c2891d
Updated README.
jannegpriv Jul 5, 2020
4150658
Updated after code review.
jannegpriv Jul 2, 2020
9492da4
Replaced apache equals/toString to Eclipse dito.
jannegpriv Jul 4, 2020
862d5a7
Updated README with trigger event channels examples.
jannegpriv Jul 5, 2020
5a5c3e9
Fixed NPE when Device is null
jannegpriv Jul 5, 2020
cce2a9f
Updated README with information on defined trigger events.
jannegpriv Jul 5, 2020
a47706a
Fixed conversion from big hex eventId to BigDecimal and updated a cor…
jannegpriv Jul 6, 2020
47afa47
Fixed last formatting issues.
jannegpriv Jul 8, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Expand Up @@ -216,6 +216,7 @@
/bundles/org.openhab.binding.vektiva/ @octa22
/bundles/org.openhab.binding.velbus/ @cedricboon
/bundles/org.openhab.binding.velux/ @gs4711
/bundles/org.openhab.binding.verisure/ @jannegpriv
/bundles/org.openhab.binding.vigicrues/ @clinique
/bundles/org.openhab.binding.vitotronic/ @steand
/bundles/org.openhab.binding.volvooncall/ @clinique
Expand Down
5 changes: 5 additions & 0 deletions bom/openhab-addons/pom.xml
Expand Up @@ -1079,6 +1079,11 @@
<artifactId>org.openhab.binding.velux</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.verisure</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.vigicrues</artifactId>
Expand Down
32 changes: 32 additions & 0 deletions bundles/org.openhab.binding.verisure/.classpath
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
23 changes: 23 additions & 0 deletions bundles/org.openhab.binding.verisure/.project
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.openhab.binding.verisure</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
20 changes: 20 additions & 0 deletions bundles/org.openhab.binding.verisure/NOTICE
@@ -0,0 +1,20 @@
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/openhab2-addons

== Third-party Content

jsoup
* License: MIT License
* Project: https://jsoup.org/
* Source: https://github.com/jhy/jsoup
585 changes: 585 additions & 0 deletions bundles/org.openhab.binding.verisure/README.md

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions bundles/org.openhab.binding.verisure/pom.xml
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.addons.reactor.bundles</artifactId>
<version>2.5.7-SNAPSHOT</version>
</parent>

<artifactId>org.openhab.binding.verisure</artifactId>

<name>openHAB Add-ons :: Bundles :: Verisure Binding</name>

<dependencies>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
<scope>compile</scope>
</dependency>
</dependencies>

</project>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<features name="org.openhab.binding.verisure-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
<repository>mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features</repository>
<feature name="openhab-binding-verisure" description="Verisure Binding" version="${project.version}">
<feature>openhab-runtime-base</feature>
<feature>openhab-transport-serial</feature>
<bundle dependency="true">mvn:org.jsoup/jsoup/1.8.3</bundle>
<bundle start-level="80">mvn:org.openhab.addons.bundles/org.openhab.binding.verisure/${project.version}</bundle>
</feature>
</features>
@@ -0,0 +1,41 @@
/**
* Copyright (c) 2010-2020 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.verisure.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.verisure.internal.dto.VerisureThingDTO;

/**
* The {@link DeviceStatusListener} is notified when a device status has changed
* or a device has been removed or added.
*
* @author Jarle Hjortland - Initial contribution
* @author Jan Gustafsson - Updated after code review comments
*
*/
@NonNullByDefault
public interface DeviceStatusListener<T extends VerisureThingDTO> {

/**
* This method is called whenever the state of the given device has changed.
*
* @param thing
* The thing that was changed.
*/
void onDeviceStateChanged(T thing);

/**
* This method returns the thing's class
*/
public Class<T> getVerisureThingClass();
}
@@ -0,0 +1,165 @@
/**
* Copyright (c) 2010-2020 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.verisure.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.smarthome.core.thing.ThingTypeUID;

/**
* The {@link VerisureBinding} class defines common constants, which are
* used across the whole binding.
*
* @author l3rum - Initial contribution
* @author Jan Gustafsson - Furher development
*/
@NonNullByDefault
public class VerisureBindingConstants {

public static final String BINDING_ID = "verisure";

// List of all Thing Type UIDs
public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
public static final ThingTypeUID THING_TYPE_ALARM = new ThingTypeUID(BINDING_ID, "alarm");
public static final ThingTypeUID THING_TYPE_SMARTPLUG = new ThingTypeUID(BINDING_ID, "smartPlug");
public static final ThingTypeUID THING_TYPE_SMOKEDETECTOR = new ThingTypeUID(BINDING_ID, "smokeDetector");
public static final ThingTypeUID THING_TYPE_WATERDETECTOR = new ThingTypeUID(BINDING_ID, "waterDetector");
public static final ThingTypeUID THING_TYPE_SIREN = new ThingTypeUID(BINDING_ID, "siren");
public static final ThingTypeUID THING_TYPE_DOORWINDOW = new ThingTypeUID(BINDING_ID, "doorWindowSensor");
public static final ThingTypeUID THING_TYPE_USERPRESENCE = new ThingTypeUID(BINDING_ID, "userPresence");
public static final ThingTypeUID THING_TYPE_SMARTLOCK = new ThingTypeUID(BINDING_ID, "smartLock");
public static final ThingTypeUID THING_TYPE_BROADBAND_CONNECTION = new ThingTypeUID(BINDING_ID,
"broadbandConnection");
public static final ThingTypeUID THING_TYPE_NIGHT_CONTROL = new ThingTypeUID(BINDING_ID, "nightControl");
public static final ThingTypeUID THING_TYPE_MICE_DETECTION = new ThingTypeUID(BINDING_ID, "miceDetection");
public static final ThingTypeUID THING_TYPE_EVENT_LOG = new ThingTypeUID(BINDING_ID, "eventLog");
public static final ThingTypeUID THING_TYPE_GATEWAY = new ThingTypeUID(BINDING_ID, "gateway");

// List of all Channel ids
public static final String CHANNEL_NUMERIC_STATUS = "numericStatus";
public static final String CHANNEL_TEMPERATURE = "temperature";
public static final String CHANNEL_HUMIDITY = "humidity";
public static final String CHANNEL_HUMIDITY_ENABLED = "humidityEnabled";
public static final String CHANNEL_LOCATION = "location";
public static final String CHANNEL_STATUS = "status";
public static final String CHANNEL_CONNECTED = "connected";
public static final String CHANNEL_STATE = "state";
public static final String CHANNEL_LABEL = "label";
public static final String CHANNEL_USER_NAME = "userName";
public static final String CHANNEL_WEBACCOUNT = "webAccount";
public static final String CHANNEL_USER_LOCATION_STATUS = "userLocationStatus";
public static final String CHANNEL_USER_DEVICE_NAME = "userDeviceName";
public static final String CHANNEL_SMARTLOCK_VOLUME = "smartLockVolume";
public static final String CHANNEL_SMARTLOCK_VOICE_LEVEL = "smartLockVoiceLevel";
public static final String CHANNEL_SMARTLOCK_TRIGGER_CHANNEL = "smartLockTriggerChannel";
public static final String CHANNEL_AUTO_RELOCK = "autoRelock";
public static final String CHANNEL_SMARTPLUG_STATUS = "smartPlugStatus";
public static final String CHANNEL_SMARTPLUG_TRIGGER_CHANNEL = "smartPlugTriggerChannel";
public static final String CHANNEL_ALARM_STATUS = "alarmStatus";
public static final String CHANNEL_ALARM_TRIGGER_CHANNEL = "alarmTriggerChannel";
public static final String CHANNEL_SMARTLOCK_STATUS = "smartLockStatus";
public static final String CHANNEL_CHANGED_BY_USER = "changedByUser";
public static final String CHANNEL_CHANGED_VIA = "changedVia";
public static final String CHANNEL_TIMESTAMP = "timestamp";
public static final String CHANNEL_TEMPERATURE_TIMESTAMP = "temperatureTimestamp";
public static final String CHANNEL_HAZARDOUS = "hazardous";
public static final String CHANNEL_MOTOR_JAM = "motorJam";
public static final String CHANNEL_INSTALLATION_NAME = "installationName";
public static final String CHANNEL_INSTALLATION_ID = "installationId";
public static final String CHANNEL_COUNT_LATEST_DETECTION = "countLatestDetection";
public static final String CHANNEL_COUNT_LAST_24_HOURS = "countLast24Hours";
public static final String CHANNEL_DURATION_LATEST_DETECTION = "durationLatestDetection";
public static final String CHANNEL_DURATION_LAST_24_HOURS = "durationLast24Hours";
public static final String CHANNEL_LAST_EVENT_LOCATION = "lastEventLocation";
public static final String CHANNEL_LAST_EVENT_ID = "lastEventId";
public static final String CHANNEL_LAST_EVENT_DEVICE_ID = "lastEventDeviceId";
public static final String CHANNEL_LAST_EVENT_DEVICE_TYPE = "lastEventDeviceType";
public static final String CHANNEL_LAST_EVENT_TYPE = "lastEventType";
public static final String CHANNEL_LAST_EVENT_CATEGORY = "lastEventCategory";
public static final String CHANNEL_LAST_EVENT_TIME = "lastEventTime";
public static final String CHANNEL_LAST_EVENT_USER_NAME = "lastEventUserName";
public static final String CHANNEL_EVENT_LOG = "eventLog";
public static final String CHANNEL_STATUS_GSM_OVER_UDP = "statusGSMOverUDP";
public static final String CHANNEL_STATUS_GSM_OVER_SMS = "statusGSMOverSMS";
public static final String CHANNEL_STATUS_GPRS_OVER_UDP = "statusGPRSOverUDP";
public static final String CHANNEL_STATUS_ETH_OVER_UDP = "statusETHOverUDP";
public static final String CHANNEL_TEST_TIME_GSM_OVER_UDP = "testTimeGSMOverUDP";
public static final String CHANNEL_TEST_TIME_GSM_OVER_SMS = "testTimeGSMOverSMS";
public static final String CHANNEL_TEST_TIME_GPRS_OVER_UDP = "testTimeGPRSOverUDP";
public static final String CHANNEL_TEST_TIME_ETH_OVER_UDP = "testTimeETHOverUDP";
public static final String CHANNEL_GATEWAY_MODEL = "model";
public static final String CHANNEL_SMOKE_DETECTION_TRIGGER_CHANNEL = "smokeDetectionTriggerChannel";
public static final String CHANNEL_MICE_DETECTION_TRIGGER_CHANNEL = "miceDetectionTriggerChannel";
public static final String CHANNEL_WATER_DETECTION_TRIGGER_CHANNEL = "waterDetectionTriggerChannel";
public static final String CHANNEL_SIREN_TRIGGER_CHANNEL = "sirenTriggerChannel";
public static final String CHANNEL_NIGHT_CONTROL_TRIGGER_CHANNEL = "nightControlTriggerChannel";
public static final String CHANNEL_DOOR_WINDOW_TRIGGER_CHANNEL = "doorWindowTriggerChannel";
public static final String CHANNEL_GATEWAY_TRIGGER_CHANNEL = "gatewayTriggerChannel";

// Trigger channel events
public static final String TRIGGER_EVENT_LOCK = "LOCK";
public static final String TRIGGER_EVENT_UNLOCK = "UNLOCK";
public static final String TRIGGER_EVENT_LOCK_FAILURE = "LOCK_FAILURE";
public static final String TRIGGER_EVENT_ARM = "ARM";
public static final String TRIGGER_EVENT_DISARM = "DISARM";
public static final String TRIGGER_EVENT_FIRE = "FIRE";
public static final String TRIGGER_EVENT_INSTRUSION = "INTRUSION";
public static final String TRIGGER_EVENT_WATER = "WATER";
public static final String TRIGGER_EVENT_MICE = "MICE";
public static final String TRIGGER_EVENT_BATTERY_LOW = "BATTERY_LOW";
public static final String TRIGGER_EVENT_BATTERY_RESTORED = "BATTERY_RESTORED";
public static final String TRIGGER_EVENT_COM_FAILURE = "COM_FAILURE";
public static final String TRIGGER_EVENT_COM_RESTORED = "COM_RESTORED";
public static final String TRIGGER_EVENT_COM_TEST = "COM_TEST";
public static final String TRIGGER_EVENT_SABOTAGE_ALARM = "SABOTAGE_ALARM";
public static final String TRIGGER_EVENT_SABOTAGE_RESTORED = "SABOTAGE_RESTORED";
public static final String TRIGGER_EVENT_DOORWINDOW_OPENED = "DOORWINDOW_OPENED";
public static final String TRIGGER_EVENT_DOORWINDOW_CLOSED = "DOORWINDOW_CLOSED";
public static final String TRIGGER_EVENT_LOCATION_HOME = "LOCATION_HOME";
public static final String TRIGGER_EVENT_LOCATION_AWAY = "LOCATION_AWAY";

// REST URI constants
public static final String USERNAME = "username";
public static final String PASSWORD = "password";
public static final String BASEURL = "https://mypages.verisure.com";
public static final String LOGON_SUF = BASEURL + "/j_spring_security_check?locale=en_GB";
public static final String ALARM_COMMAND = BASEURL + "/remotecontrol/armstatechange.cmd";
public static final String SMARTLOCK_LOCK_COMMAND = BASEURL + "/remotecontrol/lockunlock.cmd";
public static final String SMARTLOCK_SET_COMMAND = BASEURL + "/overview/setdoorlock.cmd";
public static final String SMARTLOCK_AUTORELOCK_COMMAND = BASEURL + "/settings/setautorelock.cmd";
public static final String SMARTLOCK_VOLUME_COMMAND = BASEURL + "/settings/setvolume.cmd";

public static final String SMARTPLUG_COMMAND = BASEURL + "/settings/smartplug/onoffplug.cmd";
public static final String START_REDIRECT = "/uk/start.html";
public static final String START_SUF = BASEURL + START_REDIRECT;

// GraphQL constants
public static final String STATUS = BASEURL + "/uk/status";
public static final String SETTINGS = BASEURL + "/uk/settings.html?giid=";
public static final String SET_INSTALLATION = BASEURL + "/setinstallation?giid=";
public static final String BASEURL_API = "https://m-api02.verisure.com";
public static final String START_GRAPHQL = "/graphql";
public static final String AUTH_TOKEN = "/auth/token";
public static final String AUTH_LOGIN = "/auth/login";

public static final String ALARMSTATUS_PATH = "/remotecontrol";
public static final String SMARTLOCK_PATH = "/overview/doorlock/";
public static final String DOORWINDOW_PATH = "/settings/doorwindow";
public static final String USERTRACKING_PATH = "/overview/usertrackingcontacts";
public static final String CLIMATEDEVICE_PATH = "/overview/climatedevice";
public static final String SMARTPLUG_PATH = "/settings/smartplug";
public static final String ETHERNETSTATUS_PATH = "/overview/ethernetstatus";
public static final String VACATIONMODE_PATH = "/overview/vacationmode";
public static final String TEMPERATURE_CONTROL_PATH = "/overview/temperaturecontrol";
public static final String MOUSEDETECTION_PATH = "/overview/mousedetection";
public static final String CAMERA_PATH = "/overview/camera";
}
@@ -0,0 +1,30 @@
/**
* Copyright (c) 2010-2020 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.verisure.internal;

import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;

/**
* Configuration class for VerisureBridgeHandler bridge used to connect to the
* Verisure MyPage.
*
* @author Jarle Hjortland - Initial contribution
*/
@NonNullByDefault
public class VerisureBridgeConfiguration {
public @Nullable String username;
public @Nullable String password;
public int refresh;
public @Nullable String pin;
}