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

current temperature not shown only on wall thermostats #27

Closed
strandbein opened this issue Dec 10, 2017 · 6 comments
Closed

current temperature not shown only on wall thermostats #27

strandbein opened this issue Dec 10, 2017 · 6 comments

Comments

@strandbein
Copy link

Hello,

I’m using https://www.npmjs.com/package/homebridge-platform-maxcube on Raspberry Pi 3. All is running fine, only one small thing doesn’t work: the temperature of the wall thermostats is always showing 0 degrees. With radiator thermostats everything works perfectly.
The developer of platform-maxcube answered me:
I have no idea, also no way to test it as I have no wall thermostats. If its a software issue then most probably its with the underlying library we use to access the thermostats, so outside the scope of this project: https://github.com/DanielWeeber/maxcube-window

And no my question:
Is it possible to correct this with reasonable effort?
Thank you.

@DanielWeeber
Copy link

DanielWeeber commented Dec 11, 2017

I also have no Wall Thermostat, so I cannot check it. My repo only adds the compatibility for Window Switches.
The Wall Thermostat uses the same functions as the Wall Thermostat, maybe they differ. Not very likely, but possible.
The author does not seem to be continuing this project anymore, I think.

@ivesdebruycker
Copy link
Owner

The temperature of the wall thermostats should now be fixed after merging #25. Could you test this?

@olli1705
Copy link

olli1705 commented Mar 7, 2018

tested the fix before you merged it. did not work for me...

@ivesdebruycker
Copy link
Owner

@olli1705, could you try the debug branch? It has some verbose logging to help fix the issue. Please post your log here

@JanScheeleDev
Copy link

JanScheeleDev commented Aug 20, 2018

I had a problem too and found out, that the wallmount is using different bytes for temp-values. I fixed it by modifying maxcube-commandparser.js:298:

if (deviceType == EQ3MAX_DEV_TYPE_WALLTHERMOSTAT) { deviceStatus.temp = (payload[8]>=128 ? 25.5 : 0) + payload[12] / 10; } else { deviceStatus.temp = (payload[20]>=128 ? 25.5 : 0) + payload[24] / 10; }
decoded_254.txt
decoded_275.txt
decoded_280.txt
decoded_340.txt

Edit: I had to correct the condition to only pick up on the 1st bit. I got strange results.

@maxill1
Copy link
Contributor

maxill1 commented Sep 2, 2018

The fix I made (#25) is working for my wallmounted thermostat and i tried to implement what is documented here
https://github.com/Bouni/max-cube-protocol/blob/master/L-Message.md#actual-temperature-wallmountedthermostat and here Bouni/max-cube-protocol@2993488

I personally tried all your fixes and the only one that works (partially) for me is Sylas007's but it lacks on setpoint, all the others give me bad readings:

  • setpoint 81 (should be 17)
  • temp 2.2 (should be 27.8)

{ "rf_address": "18eb18", "initialized": true, "fromCmd": false, "error": false, "valid": true, "mode": "AUTO", "dst_active": true, "gateway_known": true, "panel_locked": false, "link_error": false, "battery_low": false, "valve": 4, "setpoint": 81, "temp": 2.2, "device_type": 3, "device_name": "Termostato a parete", "room_name": "Piano terra", "room_id": 1 }

I tried to dig into issues and found out that for some of us the wall thermostats can be parsed like a valve thermostat and for some it's like described on Bouni's max-cube-protocol page:
jwildeboer: #15
pawelwiecaszek: #24
sylas007: Bouni/max-cube-protocol#43 and here (#27).
normen: normen@b2a8555

This fragmentation makes me wonder if there are two different version for the wallmounted thermostat or cube firmare that reports differently.

I read somewhere that may exist a "plus" version and a "standard" version just like valve thermostats but can't find any evidence on EQ3 site.

Mine is a eQ-3 AG 131651 A0, also referenced as BC-TC-C-WM-4 in EQ3 manuals, EAN code 4047976316519 and serial OEQ0812745.

You can find online a some wall thermostat with different model number: eQ-3 105936 or 105679 with EAN code 4047976116515

However i'm using this function now and seems to read fine (aa2bf2a):

  deviceStatus.setpoint = (63 & payload[8]) / 2;
  deviceStatus.temp = (payload[8]>=128 ? 25.5 : 0) + payload[12] / 10;

Edit: additional info https://www.domoticaforum.eu/viewtopic.php?f=66&t=6654&start=120#p73018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants