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

ester_x40 thermostat problem #48

Open
5 of 10 tasks
jerguitariste opened this issue Nov 28, 2023 · 9 comments
Open
5 of 10 tasks

ester_x40 thermostat problem #48

jerguitariste opened this issue Nov 28, 2023 · 9 comments
Labels
bug Something isn't working

Comments

@jerguitariste
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

I'm having the following issue:

the thermostat becomes invalid after a while I restarted home assistant but I noticed the same problem

image

I have following devices connected:

  • ecoMAX 3xx series
  • ecoMAX 8xx series
  • ecoMAX 9xx series
  • Expansion module B
  • Expansion module C
  • ecoSTER 200/ecoSTER Touch
  • ecoLAMBDA
  • ecoNET 300

I'm connecting to my devices using:

Ethernet/WiFi to RS-485 converter

I'm seeing following log messages:

No response

My diagnostics data:

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jerguitariste jerguitariste added the bug Something isn't working label Nov 28, 2023
@denpamusic
Copy link
Owner

denpamusic commented Nov 28, 2023

Hi,

Thanks for the feedback!

Please provide diagnostics data when thermostat is missing, otherwise I can only take a wild guesses. Although the first thing that I would check in this case, is physical connection (loose terminal screw, bad contact, etc.) between thermostat and EM. This integration marks entity as unavailable, only if EM doesn't provide any data about in sensor data message.

Once physical link confirmed ok, you can try latest beta v0.4.1-beta.4, noting all breaking changes listed here. Current beta release is based on PyPlumIO branch 0.5.x that feature a lot performance and stability improvements.

@jerguitariste
Copy link
Author

I have already checked the physical connection, everything is OK
config_entry-plum_ecomax-20f3d9886587729c9db991c9f153b41e.json (8).txt

@jerguitariste
Copy link
Author

I just updated to 0.4.1bet4 I still have the problem, I only have the problem on the thermostat

image

@denpamusic
Copy link
Owner

After looking at your diagnostics, it seems like the thermostat doesn't report it's parameters, hence it is uncontrollable and is marked unavailable.
Did I correctly understood you, that sometimes thermostat does work or is it always unavailable?

This is what reported by your thermostat:

{
      "thermostats": {
        "0": {
          "state": 0,
          "current_temp": 19.25,
          "target_temp": 20.0,
          "contacts": true,
          "schedule": false,
          "thermostat_sensors": true
        }
      },
      "thermostat_parameters": false
}

This is how it should look like:

{
      "thermostats": {
        "0": {
          "state": 0,
          "current_temp": 23.864526748657227,
          "target_temp": 24.0,
          "contacts": true,
          "schedule": false,
          "thermostat_sensors": true,
          "mode": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='mode', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=0.0, min_value=0.0, max_value=7.0)"
          },
          "party_target_temp": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='party_target_temp', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=2), value=10.0, min_value=10.0, max_value=35.0)"
          },
          "holidays_target_temp": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='holidays_target_temp', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=2), value=15.0, min_value=10.0, max_value=35.0)"
          },
          "correction": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='correction', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=100.0, min_value=60.0, max_value=140.0)"
          },
          "away_timer": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='away_timer', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=3.0, min_value=0.0, max_value=60.0)"
          },
          "airing_timer": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='airing_timer', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=60.0, min_value=0.0, max_value=60.0)"
          },
          "party_timer": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='party_timer', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=5.0, min_value=0.0, max_value=60.0)"
          },
          "holidays_timer": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='holidays_timer', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=1, size=1), value=7.0, min_value=0.0, max_value=60.0)"
          },
          "hysteresis": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='hysteresis', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=1), value=0.1, min_value=0.0, max_value=5.0)"
          },
          "day_target_temp": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='day_target_temp', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=2), value=24.0, min_value=10.0, max_value=35.0)"
          },
          "night_target_temp": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='night_target_temp', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=2), value=10.0, min_value=10.0, max_value=35.0)"
          },
          "antifreeze_target_temp": {
            "__type": "<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>",
            "repr": "ThermostatParameter(device=Thermostat, description=ThermostatParameterDescription(name='antifreeze_target_temp', cls=<class 'pyplumio.structures.thermostat_parameters.ThermostatParameter'>, multiplier=10, size=2), value=9.0, min_value=5.0, max_value=30.0)"
          },
          "thermostat_parameters": true
        }
      }
 }

@jerguitariste
Copy link
Author

mon thermostat est bien branché et il commande bien la chaudière
mais il n'est pas reconnu dans l'application, je ne comprend pas.
je suis revenu en 0.3.6 pour plus de stabilité
j'avais le meme probleme avec la version 0.4.1.

@jerguitariste
Copy link
Author

le problème est survenu après une coupure de courant
j'ai redémarrer la connection internet, le raspberry pi et la chaudière.
J'ai toute les valeurs sauf le thermostat

@jerguitariste
Copy link
Author

@denpamusic
Copy link
Owner

Understood, thank you for diagnostic and detailed description! You're right, I see the same issue as before - thermostat parameters are not available.

I'll look at recent changes with parameter decoder and get back to you if I find anything. There are also chances that it's some ecoMAX firmware glitch, triggered by power outage.

@jerguitariste
Copy link
Author

super merci beaucoup!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants