Comments (18)
Your tearing the device down! ;-)
Hope you can get something out of it!
from ithowifi.
@jasperslits
My intention is to control the summer bypass manually and have a proper status feedback on it.
the automatic bypass behavior hasn't been optimal so far - in summer it tends to by activated even during a hot day and most importantly - I've experienced at least 2 times that it was left activated even when the outside temperature dropped below 14°C in Sept/Oct with some cold days forecast ahead.
This might have been caused by some bug in the original fw.
I have no intention to mess with negative-values position, which is a freeze protection tho.
from ithowifi.
the value is taken from the itho firmware itself. If a refresh of the value does not alter the result, then probably the value is not really stored in the itho firmware.
Could you post the command result of the same command but then posted through the debug page?
from ithowifi.
unfortunately, my Debug page stopped working - can't get it to work even after trying to reset and reflash the firmware. I'll look deeper into this and post the logs if I manage to get some.
from ithowifi.
so, just for the record:
index: 47
Result: 80 82 A4 10 01 13 00 00 00 00 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0C
Current: 0
Minimum value: -800
Maximum value: 800
now, setting this to any non-negative integer (incl. 0):
Sent command: 82 80 24 10 06 13 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 81
Result: confirmed
Warning!!
querying returns the correct (set) value.
now, with negative integers, the confirmation fails (probably because sets the value to the maximum integer value and decrements from it):
setting to -1
Sent command: 82 80 24 10 06 13 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 86
Result: confirmation failed
Warning!!
query:
Result: 80 82 A4 10 01 13 00 00 FF FF FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0E
Current: 65535
Minimum value: -800
Maximum value: 800
Itho status keeps reporting 0
for both cases
from ithowifi.
looking at: 82 80 24 10 06 13 FF FF FF FF
FF FF FF FF would in 32 bit int be -1 so that is correct
The query result is 00 00 FF FF, which is in 32 bit int indeed 65535
Looking at this it seems that the itho is only accepting a 16 bit wide integers value whereas in other situations it accepts 32 bit wide integers
I'm now wondering if 90 before the 2F at the end determines this. For another int values I see A0, 10, 00, which feels a lot like the scheme which is used for the status format.
from ithowifi.
I'm now wondering if 90 before the 2F at the end determines this. For another int values I see A0, 10, 00, which feels a lot like the scheme which is used for the status format.
I tested this on various values on interval <-800, 800> (see table below) and I see the FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D
pattern in all of them.
I think it simply boils down to a rule - if req < 0 then res = res_val-65536
value | sent command | result |
---|---|---|
-800 | 82 80 24 10 06 13 FF FF FC E0 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 A8 | 80 82 A4 10 01 13 00 00 FC E0 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 30 |
-400 | 82 80 24 10 06 13 FF FF FE 70 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 16 | 80 82 A4 10 01 13 00 00 FE 70 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 9E |
-200 | 82 80 24 10 06 13 FF FF FF 38 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 4D | 80 82 A4 10 01 13 00 00 FF 38 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D D5 |
-100 | 82 80 24 10 06 13 FF FF FF 9C 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 E9 | 80 82 A4 10 01 13 00 00 FF 9C FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 71 |
-50 | 82 80 24 10 06 13 FF FF FF CE 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 B7 | 80 82 A4 10 01 13 00 00 FF CE FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 3F |
-25 | 82 80 24 10 06 13 FF FF FF E7 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 9E | 80 82 A4 10 01 13 00 00 FF E7 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 26 |
-10 | 82 80 24 10 06 13 FF FF FF F6 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 8F | 80 82 A4 10 01 13 00 00 FF F6 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 17 |
-5 | 82 80 24 10 06 13 FF FF FF FB 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 8A | 80 82 A4 10 01 13 00 00 FF FB FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 12 |
-4 | 82 80 24 10 06 13 FF FF FF FC 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 89 | 80 82 A4 10 01 13 00 00 FF FC FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 11 |
-3 | 82 80 24 10 06 13 FF FF FF FD 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 88 | 80 82 A4 10 01 13 00 00 FF FD FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 10 |
-2 | 82 80 24 10 06 13 FF FF FF FE 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 87 | 80 82 A4 10 01 13 00 00 FF FE FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0F |
-1 | 82 80 24 10 06 13 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 86 | 80 82 A4 10 01 13 00 00 FF FF FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0E |
0 | 82 80 24 10 06 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 82 | 80 82 A4 10 01 13 00 00 00 00 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0C |
1 | 82 80 24 10 06 13 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 81 | 80 82 A4 10 01 13 00 00 00 01 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0B |
2 | 82 80 24 10 06 13 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 80 | 80 82 A4 10 01 13 00 00 00 02 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 0A |
3 | 82 80 24 10 06 13 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 7F | 80 82 A4 10 01 13 00 00 00 03 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 09 |
4 | 82 80 24 10 06 13 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 7E | 80 82 A4 10 01 13 00 00 00 04 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 08 |
5 | 82 80 24 10 06 13 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 7D | 80 82 A4 10 01 13 00 00 00 05 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 07 |
10 | 82 80 24 10 06 13 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 78 | 80 82 A4 10 01 13 00 00 00 0A FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 02 |
25 | 82 80 24 10 06 13 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 69 | 80 82 A4 10 01 13 00 00 00 19 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D F3 |
50 | 82 80 24 10 06 13 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 50 | 80 82 A4 10 01 13 00 00 00 32 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D DA |
100 | 82 80 24 10 06 13 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 1E | 80 82 A4 10 01 13 00 00 00 64 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D A8 |
200 | 82 80 24 10 06 13 00 00 00 C8 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 BA | 80 82 A4 10 01 13 00 00 00 C8 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 44 |
400 | 82 80 24 10 06 13 00 00 01 90 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 F1 | 80 82 A4 10 01 13 00 00 01 90 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D 7B |
800 | 82 80 24 10 06 13 00 00 03 20 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 5F | 80 82 A4 10 01 13 00 00 03 20 FF FF FC E0 00 00 03 20 00 00 00 01 90 2F 6D E9 |
from ithowifi.
I'm afraid (quite sure now) it is not that simple. Maybe in this specific case it is but it is more complicated than that to make it work universal:
looking at the last part 90 2F 6D 30
90 in bits = 1001 0000
This falls apart in three sections
1 (or 0) 1 = signed, 0 = unsigned
001 (or 000, 010, 100) 000 = 1 byte wide, 001 = 2 byte wide, 010 = 4 byte wide
0000 (or 0001 etc.) is the divider
This is exact the same as I parse here for the itho status values:
ithowifi/software/NRG_itho_wifi/IthoSystem.cpp
Lines 501 to 534 in 6d3231a
Apparently in the itho firmware this system is also being used for settings values
I manually tested with some other settings on my CVE, and the above describe system works flawless for all those settings.
from ithowifi.
nrgitho-hw2-v2.3-beta4.bin.zip
[edit: removed bin, still found some issues]
[edit2: added new bin to test]
[edit3: added bin for HW rev 2]
Could you test this patch?
It is not fixed completely yet, values larger than int32 (which actually should be uint32) are not handled correctly yet.
from ithowifi.
@rplevka : I have the HRU-350 as well but what is your use-case for (trying to) change the valve position? Like what is supposed to control? I don't dare to change it unless I know what benefits it has of doing this via manual control.
from ithowifi.
fixed with a985ad0
from ithowifi.
@arjenhiemstra, i'm not sure the original problem statement was clear enough as I can't see 2.3-beta4
version addressing the issue at all -
the valve position is still reported as 0
at Itho status page, after enabling the manual operation and setting the valve to any, non-zero position, making the reported status not correct.
from ithowifi.
the valve position is still reported as
0
at Itho status page, after enabling the manual operation and setting the valve to any, non-zero position, making the reported status not correct.
I guess it's difficult to confirm if the valve mechanically moved after changing the values?
from ithowifi.
the valve position is still reported as
0
at Itho status page, after enabling the manual operation and setting the valve to any, non-zero position, making the reported status not correct.I guess it's difficult to confirm if the valve mechanically moved after changing the values?
It sure is. I'm after the value the Itho unit reports back via I2C on the Itho setting page. But i need it accessible via MQTT
from ithowifi.
"however the value is not reflected in Itho settings."
This was what directed me to the itho settings, not realising that the set value is also not represented on the itho status page. No idea what the issue there could be. Could you share what is visible on the status page?
I've borrowed the itho service tool out to someone, when I have it back I can compare the add-on result with the service tool figures. If there is a difference there will be something to dig into
from ithowifi.
I'm terribly sorry, I confused those two.
Status page:
Label | Value |
---|---|
temp | 0 |
hum | 0 |
ppmw | 0 |
ReqFanspeed | 6552.6 |
Balance | 0 |
supply_fan_requested | 1080 |
supply_fan_actual | 1077 |
exhaust_fan_requested | 1070 |
exhaust_fan_actual | 1073 |
supplyTemp | 22.09 |
exhaustTemp | 9.22 |
status | 5 |
RoomTemp | 22.09 |
OutdoorTemp | 9.22 |
Valve_position | 0 |
Bypass_position | 0 |
Summercounter | 0 |
Summerday | 0 |
FrostTimer | 0 |
BoilTimer | 177 |
StartCounter | 80 |
CurPosition | 0 |
VKKswitch | 0 |
GroundHeatExchangerSwitch | 0 |
AirCounter | 2173 |
Global_fault_code | 0 |
Actual_Mode | 1 |
pir_fan_speed_level | -1 |
Highest_received_CO2_value | 32767 |
Highest_received_RH_value | 239 |
Air_Quality | 119.5 |
Remaining_override_timer | 0 |
Fallback_speed_timer | 0 |
Exhaust_Constant_Ca0 | 0 |
from ithowifi.
Could you test if this is still relevant?
https://github.com/arjenhiemstra/ithowifi/releases/tag/Version-2.3.0
from ithowifi.
Hi,
tested, and figured out it's not the Valve_position
that reflect the position of the bypass/antifreeze protection valve, but Current Position
- this metric updates accordingly. I'm not sure if this was working in the older fw versions
from ithowifi.
Related Issues (20)
- Monitor only RF Devices not in remotesinfo HOT 5
- [Feature] Add OpenApi Spec / SwaggerUI to document api HOT 1
- Virtual remotes update remote broken HOT 2
- [Request] Ability to change through mqqt the default speed settings HOT 2
- Ventilation setpoint never goes below 30% HOT 2
- [Feature] Add fan/ventilation percentage to MQTT itho/ithostatus messages HOT 2
- Fan not keeping set speed HOT 14
- Request; turn off unit from HA HOT 2
- [Feature] autospeed relative to humidity
- HA: MQTT - TypeError: unsupported operand type(s) HOT 3
- [Request] Amber heat pump support HOT 6
- api.html?get=currentspeed not updating HOT 5
- [Request] AutoTemp fw 13 support HOT 7
- Minor typo in log message HOT 1
- Error on updating System Settings HOT 6
- Cannot switch off AP mode HOT 1
- long integer truncated in status JSON HOT 19
- [Feature Request] Support for WPU Version 41 HOT 32
- Virtual remote question HOT 2
- Rounding errors in statusvalues HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ithowifi.