Lien web avec login et mdp

Dans le code de base ce sont des "" donc soit tu as fait un copier coller dans word soit je sais pas ce que a fait ton navigateur mais refait un copier coller du code

oups oui! je refait le test

def _login_session(self):
        """Login to fetch Ariston Plant ID and confirm login"""
        if not self._login and self._started:
            # First login
            login_data = {
                "email": neoback45@hotmail.com,
                "password": XXXXXX,
                "rememberMe": False,
                "language": "English_Us"
                }
            self._request_post(
                url=f'{self._ARISTON_URL}/R2/Account/Login?returnUrl=%2FR2%2FHome',
                json_data=login_data,
                error_msg='Login'
            )
            
SyntaxError: invalid syntax

la , après le mot de passe est en erreur.

j’avance! J’ai ajouter des «  » entre login et mot de passe. j’execute et je n’ai pas de message d’erreur…

def _login_session(self):
        """Login to fetch Ariston Plant ID and confirm login"""
        if not self._login and self._started:
            # First login
            login_data = {
                "email": "neoback45@hotmail.com",
                "password": "XXXX",
                "rememberMe": False,
                "language": "English_Us"
                }
            self._request_post(
                url=f'{self._ARISTON_URL}/R2/Account/Login?returnUrl=%2FR2%2FHome',
                json_data=login_data,
                error_msg='Login'
            )

Montre moi ce que tu tapes dans ton terminal.

Comme dis au début pourquoi modifier le script et ne pas lancer le script directement

python3 lescript.py username password

Je comprend mieux tes soucis de login.
Car quand tu met des arguments derrière le script il met les Guillemets directement

directement dans terminal?

Oui en arguments

je dois pas bien faire quelque chose…

si je te donne login et mot de passe tu peux essayer? en MP…

Non je peu pas

Faut installer le module requests

Essai ça sudo pip3 install requests
Et relance le script

Idem si d’autre imports ne fonctionne pas

Après tu es sur un Apple et pas sur debian donc…

c’est mieux…pas d’erreur!

par contre je récupere aucune valeur…normal?

Je ne suis pas chez moi, je n’ai pas lus le script en Entier

ok par contre en executant le script avec les autres fichiers de GitHub j’ai ca :

1 « J'aime »

Oui il cherche homeassistant pour lui envoyer les données…

en gros il suffirais de lui dire d’envoyer a jeedom et c’est gagner…?

"""Suppoort for Ariston seletion."""
import logging
from datetime import timedelta
from copy import deepcopy

from homeassistant.components.select import SelectEntity
from homeassistant.const import CONF_SELECTOR, CONF_NAME

from .const import param_zoned
from .const import (
    DATA_ARISTON,
    DEVICES,
    PARAM_DHW_COMFORT_TEMPERATURE,
    PARAM_DHW_ECONOMY_TEMPERATURE,
    PARAM_MODE,
    PARAM_CH_MODE,
    PARAM_DHW_MODE,
    PARAM_DHW_COMFORT_FUNCTION,
    PARAM_UNITS,
    VALUE,
    OPTIONS_TXT,
    MIN,
    MAX,
    STEP,
    PARAM_CH_SET_TEMPERATURE,
    PARAM_CH_COMFORT_TEMPERATURE,
    PARAM_CH_ECONOMY_TEMPERATURE,
    PARAM_CH_WATER_TEMPERATURE,
    PARAM_CH_FIXED_TEMP,
    PARAM_DHW_SET_TEMPERATURE,
    ZONED_PARAMS
)

SELECT_MODE = "Boiler Mode"
SELECT_CH_MODE = "CH Mode"
SELECT_DHW_MODE = "DHW Mode"
SELECT_DHW_COMFORT = "DHW Comfort Function"
SELECT_UNITS = "Units"
SELECT_CH_SET_TEMPERATURE = "CH Set Temperature"
SELECT_CH_COMFORT_TEMPERATURE = "CH Comfort Temperature"
SELECT_CH_ECONOMY_TEMPERATURE = "CH Economy Temperature"
SELECT_CH_WATER_TEMPERATURE = "CH Water Temperature"
SELECT_CH_FIXED_TEMP = "CH Fixed Temperature"
SELECT_DHW_SET_TEMPERATURE = "DHW Set Temperature"
SELECT_DHW_COMFORT_TEMPERATURE = "DHW Comfort Temperature"
SELECT_DHW_ECONOMY_TEMPERATURE = "DHW Economy Temperature"

SCAN_INTERVAL = timedelta(seconds=2)

selects_deafult = {
    PARAM_MODE: (SELECT_MODE, "mdi:water-boiler"),
    PARAM_CH_MODE: (SELECT_CH_MODE, "mdi:radiator"),
    PARAM_DHW_MODE: (SELECT_DHW_MODE, "mdi:water-pump"),
    PARAM_DHW_COMFORT_FUNCTION: (SELECT_DHW_COMFORT, "mdi:water-pump"),
    PARAM_CH_FIXED_TEMP: (SELECT_CH_FIXED_TEMP, "mdi:radiator"),
    PARAM_CH_SET_TEMPERATURE: (SELECT_CH_SET_TEMPERATURE, "mdi:radiator"),
    PARAM_CH_COMFORT_TEMPERATURE: (SELECT_CH_COMFORT_TEMPERATURE, "mdi:radiator"),
    PARAM_CH_ECONOMY_TEMPERATURE: (SELECT_CH_ECONOMY_TEMPERATURE, "mdi:radiator"),
    PARAM_CH_WATER_TEMPERATURE: (SELECT_CH_WATER_TEMPERATURE, "mdi:water-pump"),
    PARAM_DHW_SET_TEMPERATURE: (SELECT_DHW_SET_TEMPERATURE, "mdi:water-pump"),
    PARAM_DHW_COMFORT_TEMPERATURE: (SELECT_DHW_COMFORT_TEMPERATURE, "mdi:water-pump"),
    PARAM_DHW_ECONOMY_TEMPERATURE: (SELECT_DHW_ECONOMY_TEMPERATURE, "mdi:water-pump"),
}
SELECTS = deepcopy(selects_deafult)
for param in selects_deafult:
    if param in ZONED_PARAMS:
        for zone in range (1, 7):
            SELECTS[param_zoned(param, zone)] = (
                SELECTS[param][0] + f' Zone{zone}',
                SELECTS[param][1]
            )
        del SELECTS[param]

_LOGGER = logging.getLogger(__name__)

def setup_platform(hass, config, add_entities, discovery_info=None):
    """Set up a select for Ariston."""
    if discovery_info is None:
        return

    name = discovery_info[CONF_NAME]
    device = hass.data[DATA_ARISTON][DEVICES][name]
    add_entities(
        [
            AristonSelect(name, device, select_type)
            for select_type in discovery_info[CONF_SELECTOR]
        ],
        True,
    )


class AristonSelect(SelectEntity):
    """Select for Ariston."""

    def __init__(self, name, device, select_type):
        """Initialize entity."""
        self._api = device.api.ariston_api
        self._icon = SELECTS[select_type][1]
        self._name = "{} {}".format(name, SELECTS[select_type][0])
        self._select_type = select_type
        self._state = None
        self._device = device.device

    @property
    def unique_id(self):
        """Return the unique id."""
        return f"{self._name}-SELECT-{self._select_type}"

    @property
    def should_poll(self):
        """Return True if entity has to be polled for state."""
        return True

    @property
    def name(self):
        """Return the name of this select device if any."""
        return self._name

    @property
    def icon(self):
        """Return the state attributes."""
        return self._icon

    @property
    def available(self):
        """Return True if entity is available."""
        try:
            return (
                self._api.available
                and self._api.sensor_values[self._select_type][VALUE] is not None
            )
        except KeyError:
            return False

    @property
    def current_option(self):
        """Return current option."""
        try:
            return str(self._api.sensor_values[self._select_type][VALUE])
        except KeyError:
            return None

    @property
    def options(self):
        """Return options."""
        try:
            if self._api.sensor_values[self._select_type][VALUE] is not None and \
                self._api.sensor_values[self._select_type][OPTIONS_TXT] is not None:
                return self._api.sensor_values[self._select_type][OPTIONS_TXT]
            elif self._api.sensor_values[self._select_type][VALUE] is not None:
                min_val = self._api.sensor_values[self._select_type][MIN]
                max_val = self._api.sensor_values[self._select_type][MAX]
                step_val = self._api.sensor_values[self._select_type][STEP]
                values = list()
                value = min_val
                while value < max_val + .1:
                    values.append(str(value))
                    value += step_val
                return values
            else:
                return []
        except:
            return []

    def select_option(self, option):
        """Change the selected option."""
        self._api.set_http_data(**{self._select_type: option})

    def update(self):
        """Update data"""
        return

c’est ce fichier la qui envoie vers home assistant