Skip to content

Conversation

IgorYbema
Copy link
Owner

No description provided.

IgorYbema and others added 30 commits November 1, 2024 17:52
* Expose board type via mqtt
* Allow forcing rules on boot despite crash

* Fix wrong condition

* Replace arrow with dot

* Update upload artifact version

* Fix wrong condition

* Fix string length
* Add new topics

* Update README.md

* Mixed with zones

---------

Co-authored-by: IgorYbema <[email protected]>
* Update README.md

* Update rules library version

* Update github workflow

* Fix for calling events with variable parameters

* Restore defines

* Restore defines 2

* Warn when too many conditions are stacked

---------

Co-authored-by: IgorYbema <[email protected]>
* Update README.md

* Update HeatPumpType.md

* Allow returning TOP with string values

* Update rules library version

---------

Co-authored-by: IgorYbema <[email protected]>
* Update README.md

* Update HeatPumpType.md

* Add GPIO function to control GPIO's

---------

Co-authored-by: IgorYbema <[email protected]>
* remove unused dependencies

* remove unused dependencies

* improve note

* Delete platformio.ini

* Update LIBSUSED.md

* Update decode.h

* Update HeatPumpType.md

* Update OptionalPCB.md

* Update OptionalPCB.md

* add bivalent heating

* add bivalent heating

* add bivalent heating

edit heat pump to match my id,
add  mixing valve opening

* Update decode.h

* fix model count

* added more switch options to bivalent settings because of homeassistant-aquara plugin

* Add stale action to autoclose old issues and PR's

* fix: removed deprecated payload_template from yaml

Update heishamon.yaml to work with version 2025.2.0

* style(integrations): Fix indentation and remove trailing spaces in HASS

* When initializing the memory, the parameters for the memset() function were swapped and the memory was not initialized.

(the compiler warnings had pointed this out)

* Update README.md

* Update HeatPumpType.md

* add KIT-WC09L3E5 Update HeatPumpType.md

|50 | E2 D5 0C 67 00 83 92 0C 27 98 | WH-ADC0509L3E5AN | WH-WDG05LE5 | KIT-WC09L3E5 | 5 | 1ph | HP - split L-series 3kW elec heating - AN |

* add KIT-WC09L3E5 Update decode.h

|50 | E2 D5 0C 67 00 83 92 0C 27 98 | WH-ADC0509L3E5AN | WH-WDG05LE5 | KIT-WC09L3E5 | 5 | 1ph | HP - split L-series 3kW elec heating - AN |

refer to Egyras#614

* changed string representation of number to the to 52 Update decode.h

"52", //string representation of number of known models (last model number + 1)

* change to right number 51 Update HeatPumpType.md

string representation of number 51 instead of 50

* added new model combination 52 Update HeatPumpType.md

|52 | E2 D5 0C 67 00 83 92 0C 27 98 | WH-SDC0509L3E5 | WH-WDG05LE5 | KIT-WC09L3E5 | 5 | 1ph | HP - split L-series 3kW elec heating |

* add correct byte value for Model combination 52 Update HeatPumpType.md

E2 D5 0B 34 99 83 92 0C 27 98

* add model combination 52 Update decode.h

WH-SDC0509L3E5

E2 D5 0B 34 99 83 92 0C 27 98

---------

Co-authored-by: Egyras <[email protected]>
Co-authored-by: mi-hol <[email protected]>
Co-authored-by: HighlyCompressedAir <[email protected]>
Co-authored-by: Gosun <[email protected]>
Co-authored-by: geduxas <[email protected]>
Co-authored-by: Krilo_89 <[email protected]>
Co-authored-by: Alexander Gil <[email protected]>
Co-authored-by: Reichelt <[email protected]>
Co-authored-by: thecem <[email protected]>
update bivalent code
Currently, 1-wire is read synchronously, which means the program is paused for up to 750ms. During this pause, a yield is called, ensuring that WiFi works correctly. However, other issues may arise, such as UART read buffer overflow.
I have modified the code so that everything operates asynchronously.
The previous solution to this problem contained a bug:
  if ((DALLASASYNC) && ((unsigned long)(millis() - dallasTimer) > ((1000 * dallasTimerWait) - 1000)) ) {
    DS18B20.requestTemperatures(); // get temperatures for next run 1 second before getting the temperatures (async)
  }
The author assumed the code would execute only once, while in reality, it was executed multiple times per second before the reading.

Correction of the comment for DALLASASYNC
@IgorYbema
Copy link
Owner Author

Thanks. I'll check this.

@IgorYbema
Copy link
Owner Author

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Yes , Status now apeard , however looks like other values are live-updated , you can see a "fire-frame" and renewed value apear. Here only F5 - Refresh helped to renew value and status....

EDIT: Switched off HP , so fow is 0,13 , compresor freq is 0 , but 5 min after this OPT0 and OPT1 in web still have values 1 ... ( in mqtt it is ok )

@IgorYbema
Copy link
Owner Author

Hmm they should be refreshed also using the new live-update. I'll take a look again why it isn't

@IgorYbema
Copy link
Owner Author

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Yes , now it is live-updating.

Only one thing , Value 2 of Mixing Valves gives Status "Nothing" (value 1 gives "Increase" so it is ok).

@IgorYbema
Copy link
Owner Author

That part of the code hasn't changed.
It is:
0 = off (no valid value)
1 = increase
2 = do nothing (so valve stays at current position)
3 = decrease

That is how we decoded it back years ago

@IgorYbema
Copy link
Owner Author

So could be that this is wrong but it has been like this for 3 years now :)

@IgorYbema
Copy link
Owner Author

If I look at the readme:
2nd bit = Z1 Mixing Valve +
3rd bit = Z1 Mixing Valve -

So could be that this information is wrong and that it should be:
0 = Off, do nothing
1 (01 binary) = Decrease
2 (10 binary) = Increase
3 (11 binary) = invalid

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Yes , i belive this is more true , since 3 never spotted....

And yes , value 1 should be decrease (Minus - ) now is increase , and 2 should be increase ( Plus + ) now is Nothing...
Just verified this...

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

By the way , is it possible to have this live-update web page on mobile ? ( on chrome in androit is not live-updating at all)
EDIT : have to tick the "Computer version" in options ,and then starts live-updating...

@geduxas
Copy link

geduxas commented Jan 16, 2025

If I look at the readme: 2nd bit = Z1 Mixing Valve + 3rd bit = Z1 Mixing Valve -

So could be that this information is wrong and that it should be: 0 = Off, do nothing 1 (01 binary) = Decrease 2 (10 binary) = Increase 3 (11 binary) = invalid

In optional PCB there is only 2 states, increasing/decreasing. While off valve don't do anything. And from valve_pid value it's have 200steps or perhaps 0-100% by 0.5step. so pump by it's PID dictates to open or close valve.. interesting what's happening while valve is in 200%, is it still have increasing value or off..

@IgorYbema
Copy link
Owner Author

By the way , is it possible to have this live-update web page on mobile ? ( on chrome in androit is not live-updating at all) EDIT : have to tick the "Computer version" in options ,and then starts live-updating...

It works for me (in chrome, mobile mode)

@IgorYbema
Copy link
Owner Author

If I look at the readme: 2nd bit = Z1 Mixing Valve + 3rd bit = Z1 Mixing Valve -
So could be that this information is wrong and that it should be: 0 = Off, do nothing 1 (01 binary) = Decrease 2 (10 binary) = Increase 3 (11 binary) = invalid

In optional PCB there is only 2 states, increasing/decreasing. While off valve don't do anything. And from valve_pid value it's have 200steps or perhaps 0-100% by 0.5step. so pump by it's PID dictates to open or close valve.. interesting what's happening while valve is in 200%, is it still have increasing value or off..

Ok. So the PID just gives the value of opening of the valve (how far should the valve be opened) and the optional pcb states will give the signal to open (increase?) or to close (decrease?).
There is also a mismatch in the code vs the readme. byte 127 according to readme is PID for valve zone 1 but current code is valve zone 2 and vice versa. Who can confirm the correct one?

@geduxas
Copy link

geduxas commented Jan 16, 2025

Damn, i ruined it..

Here is Z2 completely off and power on Z1 after off

Screenshot_2025-01-16-19-57-25-80_40deb401b9ffe8e1df2f1cc5ba480b12

Mislabeled, z1 with z2 also 200% means closed, and while decrease it's opening.. so it's in reverse.

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

By the way , is it possible to have this live-update web page on mobile ? ( on chrome in androit is not live-updating at all) EDIT : have to tick the "Computer version" in options ,and then starts live-updating...

It works for me (in chrome, mobile mode)

Are you sure you don't have ticked "computer version" ?
Becouse now ,every tim i open web "computer version" ticks automaticly it self ( it remember previous state of this page).

@IgorYbema
Copy link
Owner Author

By the way , is it possible to have this live-update web page on mobile ? ( on chrome in androit is not live-updating at all) EDIT : have to tick the "Computer version" in options ,and then starts live-updating...

It works for me (in chrome, mobile mode)

Are you sure you don't have ticked "computer version" ? Becouse now ,every tim i open web "computer version" ticks automaticly it self ( it remember previous state of this page).

Yes I am sure.

@IgorYbema
Copy link
Owner Author

Mislabeled, z1 with z2 also 200% means closed, and while decrease it's opening.. so it's in reverse.

Ok I will fix this and also make it 0-100%, not 200%, with 0.5% steps

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Damn, i ruined it..

And it is also not in procent ( since hard to exlain somthing above 100%,especially PID :) )

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Yes I am sure.
Ok , mine now also started to update on mobile.... No idea why earlier not ( o maybe i'm blind and didn't noticed :) )

@IgorYbema
Copy link
Owner Author

Ok go ahead and test this build: https://github.com/IgorYbema/HeishaMon/actions/runs/12815002862
The increase,decrease will now be correct (for the OPT values) and the PID should be 0-100 % with .5 steps

@geduxas
Copy link

geduxas commented Jan 16, 2025

Damn, i ruined it..

And it is also not in procent ( since hard to exlain somthing above 100%,especially PID :) )

Yes, it's not what i have expected.. code which i have added is rewritten from scratch then i lost my "test" build.. it's was year's before... so i made PR not to lose it again, and i made mistakes..

If i remember correctly i think it's have extra 2 bit's which not belong to it and it's just "flips" don't remember right now, and need to check my graphics.

@IgorYbema
Copy link
Owner Author

Damn, i ruined it..

And it is also not in procent ( since hard to exlain somthing above 100%,especially PID :) )

Yes, it's not what i have expected.. code which i have added is rewritten from scratch then i lost my "test" build.. it's was year's before... so i made PR not to lose it again, and i made mistakes..

If i remember correctly i think it's have extra 2 bit's which not belong to it and it's just "flips" don't remember right now, and need to check my graphics.

That could mean just a signed integer instead of unsigned (left most bit)

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

No , they are not flips , booth can have 0 state ( but only one 1 state).

I checked , and now OPT for mixing valves works fine.

Can you double check , if OPT5 Solar_Water_Pump is corectly decoded ? That is only one ,with i'm not able to change a state to 1 ...

@IgorYbema
Copy link
Owner Author

Can you double check , if OPT5 Solar_Water_Pump is corectly decoded ? That is only one ,with i'm not able to change a state to 1 ...

I don't see a mistake in the code there. It just takes the right most bit (8th) and if that is a 1 it gives a 1. According to what we found years ago, this should work. https://github.com/IgorYbema/HeishaMon/blob/main/OptionalPCB.md#answerconfirmation-from-hp-to-optional-pcb

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

So maybe it is not possible to turn it on from service menu.... But why is there then , and definetly HP is doing something ( standby LED is turning on).
Caan you check it ? ( service menu 156 - whe you look to keyboard like a phone , and then first option , when you have optionalPCB enabled Heshiamon will see the statuses of all of this OPT , except Solar in my case).

@IgorYbema
Copy link
Owner Author

So maybe it is not possible to turn it on from service menu.... But why is there then , and definetly HP is doing something ( standby LED is turning on). Caan you check it ? ( service menu 156 - whe you look to keyboard like a phone , and then first option , when you have optionalPCB enabled Heshiamon will see the statuses of all of this OPT , except Solar in my case).

I tested it and first it didn't work indeed but I noticed that you need to enable Solar connection in installer menu first to have this test in service menu working. It will then show a '1' when you test the solar pump

@MiG-41
Copy link

MiG-41 commented Jan 16, 2025

Ok , so tested and works fine :)

@geduxas
Copy link

geduxas commented Jan 17, 2025

t most bit)

Ok, i have made some test's also looked out old my graphics, and new ones, compered with zone water target temperatures and actual.. it's seams right, there is value 0-200, 200 means high demand of heat (highest PID value).. what kind of values and what unit should it be it's need's to be decided.. (0-100% with 0.5 step's, or 0-200 steps....) and yes Z1 and Z2 are mislabeled in code @IgorYbema will you fix that?

@MiG-41
Copy link

MiG-41 commented Jan 17, 2025

In last alpha TOP128 (Z2_Valve_PID) correspond to OPT3 Z2_Mixing_Valve , so from this side it is ok.

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

Successfully merging this pull request may close these issues.

7 participants