Call to Enedis failed with error: %s
"; + + // Keys present in the index.html + private static final String KEY_AUTHORIZE_URI = "authorize.uri"; + private static final String KEY_RETRIEVE_TOKEN_URI = "retrieveToken.uri"; + private static final String KEY_REDIRECT_URI = "redirectUri"; + private static final String KEY_CODE = "code.Value"; + private static final String KEY_PRMID = "prmId.Value"; + private static final String KEY_PRMID_OPTION = "prmId.Option"; + private static final String KEY_AUTHORIZED_USER = "authorizedUser"; + private static final String KEY_CB_DISPLAY_CONFIRMATION = "cb.displayConfirmation"; + private static final String KEY_CB_DISPLAY_ERROR = "cb.displayError"; + private static final String KEY_CB_DISPLAY_INSTRUCTION = "cb.displayInstruction"; + private static final String KEY_ERROR = "error"; + private static final String KEY_PAGE_REFRESH = "pageRefresh"; + private static final String TEMPLATE_PATH = "templates/"; + + private final Logger logger = LoggerFactory.getLogger(LinkyAuthServlet.class); + private final String index; + private final String enedisStep1; + private final String enedisStep2; + private final String enedisStep3; + private final String myelectricaldataStep1; + private final String myelectricaldataStep2; + private final String myelectricaldataStep3; + + private ApiBridgeHandler apiBridgeHandler; + + public LinkyAuthServlet(ApiBridgeHandler apiBridgeHandler) throws LinkyException { + this.apiBridgeHandler = apiBridgeHandler; + + try { + this.index = readTemplate("index.html"); + this.enedisStep1 = readTemplate("enedis-step1.html"); + this.enedisStep2 = readTemplate("enedis-step2.html"); + this.enedisStep3 = readTemplate("enedis-step3-cb.html"); + this.myelectricaldataStep1 = readTemplate("myelectricaldata-step1.html"); + this.myelectricaldataStep2 = readTemplate("myelectricaldata-step2.html"); + this.myelectricaldataStep3 = readTemplate("myelectricaldata-step3.html"); + } catch (IOException e) { + throw new LinkyException("unable to initialize auth servlet", e); + } + } + + /** + * Reads a template from file and returns the content as String. + * + * @param templateName name of the template file to read + * @return The content of the template file + * @throws IOException thrown when an HTML template could not be read + */ + private String readTemplate(String templateName) throws IOException { + final URL url = apiBridgeHandler.getBundleContext().getBundle().getEntry(TEMPLATE_PATH + templateName); + + if (url == null) { + throw new FileNotFoundException( + String.format("Cannot find {}' - failed to initialize Linky servlet".formatted(templateName))); + } else { + try (InputStream inputStream = url.openStream()) { + return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8); + } + } + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + logger.debug("Linky auth callback servlet received GET request {}.", req.getRequestURI()); + final MapCe plugin permet d'exploiter vos données de consommation éléctrique fournis par Enedis au sein d'OpenHab.
+ +Enedis gère le réseau d’électricité jusqu’au compteur d’électricité
+ Enedis est le gestionnaire du réseau public de distribution d’électricité sur 95% du territoire français continental.
Grace à ce plugin, vous serez en mesure de :
+ +Pour utiliser ce plugin, vous devez donner votre accord pour qu'Enedis transmette vos données.
+ +
+ Enedis est le gestionnaire du réseau public de distribution d’électricité sur 95% du territoire français continental.
+ Enedis gère le réseau d’électricité jusqu’au compteur d’électricité.
+
+
Pour donner votre autorisation, vous devez avoir un compte personnel Enedis.
+ Ce compte vous permet également de suivre et gérer vos données de consommation [ou production en fonction de votre service] d’électricité.
Si vous n'avez pas de compte, vous pouvez le créer depuis cette page.
+ Munissez-vous pour celà de votre facture d’électricité pour créer votre espace.
En cliquant sur le bouton ci-dessous, vous allez accéder à votre compte personnel Enedis où vous pourrez donner votre accord pour qu’Enedis nous transmette vos données.
+Une fois cette opération effectué, vous serez rediriger vers une page de confirmation.
+ + + +
+
+
+
+
diff --git a/bundles/org.openhab.binding.linky/src/main/resources/templates/index.html b/bundles/org.openhab.binding.linky/src/main/resources/templates/index.html
new file mode 100644
index 00000000000..931dda58164
--- /dev/null
+++ b/bundles/org.openhab.binding.linky/src/main/resources/templates/index.html
@@ -0,0 +1,152 @@
+
+
+
Ce plugin permet d'exploiter vos données de consommation éléctrique fournis par Enedis au sein d'OpenHab.
+ +Enedis gère le réseau d’électricité jusqu’au compteur d’électricité
+ Enedis est le gestionnaire du réseau public de distribution d’électricité sur 95% du territoire français continental.
Grace à ce plugin, vous serez en mesure de :
+ +Pour utiliser ce plugin, vous devez donner votre accord pour qu'Enedis transmette vos données.
+ +Pour donner votre autorisation, vous devez avoir un compte personnel Enedis.
+ Ce compte vous permet également de suivre et gérer vos données de consommation [ou production en fonction de votre service] d’électricité.
Si vous n'avez pas de compte, vous pouvez le créer depuis cette page.
+ Munissez-vous pour celà de votre facture d’électricité pour créer votre espace.
En cliquant sur le bouton ci-dessous, vous allez accéder à votre compte personnel Enedis où vous pourrez donner votre accord pour qu’Enedis nous transmette vos données.
+Une fois cette opération effectué, vous devez vous rendre manuellement sur cette page pour terminer la procédure.
+ + + + ++ Vous devez maintenant récupérer le token depuis MyElectricalData. +
+ ++ Pour ce faire : +