Skip to content

Commit

Permalink
[renault] Add support for MyDacia accounts and Dacia Spring car (open…
Browse files Browse the repository at this point in the history
…hab#15101)

* [renault] Support for MyDacia accounts and Dacia Spring car

Signed-off-by: Doug Culnane <doug@culnane.net>
Signed-off-by: Thomas Burri <thomas.burri@alstomgroup.com>
  • Loading branch information
dougculnane authored and tburri-alstom committed Jun 19, 2023
1 parent b7ad470 commit 65e782b
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 6 deletions.
3 changes: 2 additions & 1 deletion bundles/org.openhab.binding.renault/README.md
Expand Up @@ -7,7 +7,7 @@ The binding translates the [python based renault-api](https://renault-api.readth

## Supported Things

Supports MyRenault registered cars with an active Connected-Services account.
Supports MyRenault (and MyDacia) registered cars with an active Connected-Services account.

This binding can only retrieve information that is available in the MyRenault App.

Expand All @@ -21,6 +21,7 @@ You require your MyRenault credential, locale and VIN for your MyRenault registe

| Parameter | Description | Default |
|-------------------|----------------------------------------------------------------------------|----------------------------------|
| accountType | Account Type. (MYDACIA,MYRENAULT) | MYRENAULT |
| myRenaultUsername | MyRenault Username. | |
| myRenaultPassword | MyRenault Password. | |
| locale | MyRenault Location (language_country). | |
Expand Down
Expand Up @@ -22,6 +22,7 @@
@NonNullByDefault
public class RenaultConfiguration {

public String accountType = "MYRENAULT";
public String myRenaultUsername = "";
public String myRenaultPassword = "";
public String locale = "";
Expand Down
Expand Up @@ -192,14 +192,14 @@ private void getAccountID()
if (responseJson != null) {
JsonArray accounts = responseJson.getAsJsonArray("accounts");
for (int i = 0; i < accounts.size(); i++) {
if (accounts.get(i).getAsJsonObject().get("accountType").getAsString().equals("MYRENAULT")) {
if (accounts.get(i).getAsJsonObject().get("accountType").getAsString().equals(config.accountType)) {
kamereonaccountId = accounts.get(i).getAsJsonObject().get("accountId").getAsString();
break;
}
}
}
if (kamereonaccountId == null) {
throw new RenaultException("Can not get Kamereon MyRenault Account ID!");
throw new RenaultException("Can not get Kamereon " + config.accountType + " Account ID!");
}
}

Expand Down
Expand Up @@ -10,6 +10,9 @@ thing-type.renault.car.description = A MyRenault registered car.

# thing types config

thing-type.config.renault.car.accountType.label = Account Type
thing-type.config.renault.car.accountType.option.MYDACIA = MyDacia
thing-type.config.renault.car.accountType.option.MYRENAULT = MyRenault
thing-type.config.renault.car.kamereonApiKey.label = Kamereon API Key
thing-type.config.renault.car.kamereonApiKey.description = Access code for MyRenault Services.
thing-type.config.renault.car.locale.label = MyRenault Location
Expand Down Expand Up @@ -62,7 +65,6 @@ channel-type.renault.chargingmode.label = Charging Mode
channel-type.renault.chargingmode.state.option.UNKNOWN = Unknown
channel-type.renault.chargingmode.state.option.SCHEDULE_MODE = Schedule mode
channel-type.renault.chargingmode.state.option.ALWAYS_CHARGING = Instant charge
channel-type.renault.pause.label = Pause
channel-type.renault.chargingremainingtime.label = Charging Time Remaining
channel-type.renault.chargingstatus.label = Charging Status
channel-type.renault.chargingstatus.state.option.NOT_IN_CHARGE = Not charging
Expand All @@ -86,13 +88,15 @@ channel-type.renault.hvactargettemperature.label = HVAC Target Temperature
channel-type.renault.hvactargettemperature.description = HVAC target temperature (19 to 21)
channel-type.renault.image.label = Image URL
channel-type.renault.image.description = Image URL of MyRenault
channel-type.renault.locationupdated.label = Location Update
channel-type.renault.locationupdated.label = Location Updated
channel-type.renault.locationupdated.description = Timestamp of the last location update
channel-type.renault.locationupdated.state.pattern = %1$tH:%1$tM %1$td.%1$tm.%1$tY
channel-type.renault.locked.label = Locked
channel-type.renault.locked.description = Locked status of the car
channel-type.renault.odometer.label = Odometer
channel-type.renault.odometer.description = Total distance travelled
channel-type.renault.pause.label = Pause Charge
channel-type.renault.pause.description = Pause or resume the charge.
channel-type.renault.plugstatus.label = Plug Status
channel-type.renault.plugstatus.description = Status of charging plug.
channel-type.renault.plugstatus.state.option.UNPLUGGED = Unplugged
Expand Down
Expand Up @@ -34,7 +34,14 @@
</properties>

<config-description>

<parameter name="accountType" type="text">
<label>Account Type</label>
<options>
<option value="MYDACIA">MyDacia</option>
<option value="MYRENAULT">MyRenault</option>
</options>
<default>MYRENAULT</default>
</parameter>
<parameter name="myRenaultUsername" type="text" required="true">
<label>MyRenault Username</label>
</parameter>
Expand Down

0 comments on commit 65e782b

Please sign in to comment.