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

[renault] Add support for MyDacia accounts and Dacia Spring car #15101

Merged
merged 6 commits into from
Jun 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion bundles/org.openhab.binding.renault/README.md
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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