Bouni / luxtronik

Luxtronik integration for Home Assistant
MIT License
82 stars 13 forks source link

Warmwater circulation pump (Question) #30

Open joekerna opened 2 years ago

joekerna commented 2 years ago

Hi,

is it possible manually turn of/off the warmwater circulation pump? I'd like to turn if off, whenever there's nobody home and turn it back on, once sombody returns.

Thanks

Bouni commented 2 years ago

I'm not sure, is that possible via the WEB UI of the heatpump? If so you coud record all parameters, turn it off via the WEB UI, record again and then compare which paramerters have changed.

joekerna commented 2 years ago

I don't know. I'll try and let you know.

Here sombody tries to write the parameter _ID_Einst_BWZIPakt

I have not managed to do that. The pump stays on, even though I wrote a 0.

Bouni commented 2 years ago

I guess only whats possible from the web UI is possible via the interface. Let me know if you can figure something out

kmidt commented 2 years ago

Iam looking forward to Write the circulation Pump too.

It is Possible with the FHEM Adapter.

I Have 3 Questions ;) 👍

1 : How can i find out what Paramters my Pump has ? In FHEM the Adapter read all States itselfs 2 : Whats the Name of the Hotwatercirc Pump ? 3 : Is it possible to Write like FHEM

image

Regards, Andi

kmidt commented 2 years ago

Ich schreibe mal Ausnahmsweise auf Deutsch weil ich denke das mein Englisch extrem schlecht ist ;).

Ich würde gerne wie in FHEM die Zirkulationspumpe steuern.

Kannst du mir eventuell bitte sagen zum einen wie ich sehen kann welche der 1000 Parameter meine WP hat ? FHEM hat dies immer automatisch gemacht. Und zum anderen ob man diese dann auch Steuern resp. on/off setzen kann.

WÜnsche ein schönes WE, ANdi

kmidt commented 2 years ago

Ok die Frage mit den Werten konnte ich mit Deinem Python Script lösen. Jetzt wäre es cool die Zirkulationspumpe zu steuern ;)

Bouni commented 2 years ago

Morgen Andi,

Kannst du mir eventuell bitte sagen zum einen wie ich sehen kann welche der 1000 Parameter meine WP hat ? Leider geht das nicht, das gibt die Schnittstelle nicht her. Das kann nur händisch gelöst werden, aber ich kann nicht dutzende von WP Modellen über ettliche Hersteller pflegen 🤷🏽‍♂️

Was für ein Parameter ist denn die Zirkulationspumpe?

Du kannst in der config den safe parameter setzen, dann lassen sich alle Parameter schreiben:

luxtronik:
  host: 192.168.178.10
  port: 8889
  safe: false

Aber vorsicht, ich weiss nicht was passiert wenn man einen falschen Parameter schreibt!

Um den Parameter zu schreiben nutzt du dann einen Service in HA:

Domain: luxtronik
  Service: write
  Service Data: {"parameter": "ID_NAME_DES_ZIRKULATIONSPUMPEN_PARAMETERS", "value": "on"}

A quick english translation so that others might profit from it:

There is no way one can see which parameters are supported by which heatpump model. Thats above the capabilities of the interface and is most likely done by hand in FHEM. I cannot maintain such lists for multiple models and several manufacturers.

In order to write a parameter that is not yet set to writable you need to disabkle the safe mode:

luxtronik:
  host: 192.168.178.10
  port: 8889
  safe: false

Be extremley careful, I don't know what happens if you write a wrong parameter!

In order to write a parameter, you use a service in HA:

Domain: luxtronik
  Service: write
  Service Data: {"parameter": "ID_NAME_OF_YOUR_PARAMETER", "value": "on"}
Bouni commented 2 years ago

According to the FHEM website the circulation pump is named HUP (german for HeizungsUmwälzPumpe I guess). In the list of parameters I've created ages ago, that would be

kmidt commented 2 years ago

Guten Morgen und vielen Dank für Deine schnelle Antwort.

Ich muss noch rausfinden welcher Parameter das ist.

Number: 39 Name: ID_WEB_HUPout Type: Bool Value: True

Der ist es leider nicht weil er auf True steht und die Pumpe definitiv aus ist. Ich werde hier berichten wenn ich ihn gefunden habe. Danke für den Tip mit dem schreiben der Parameter.

Den Schreibdienst nutze ich dann in einem Schript oder wo kommt der Code hin ? Sorry ich komme halt von FHEM und Iobroker ;).

Schönen Wochen Start, Andi

Googletranslation :

Good morning and thank you for your quick reply.

I have yet to find out which parameter that is.

Number: 39 Name: ID_WEB_HUPout Type: Bool Value: True

Unfortunately, it is not because it is set to True and the pump is definitely off. I will report here when I find it. Thanks for the tip about writing the parameters.

I then use the writing service in a script or where does the code go? Sorry, I'm from FHEM and Iobroker ;).

Have a nice start to the week, Andi

joekerna commented 2 years ago

I don't think that's correct. As far as I understand the HUP (German. HeizungsUmwälzPumpe, English: HeatZirculationPump) is the pump, that pumps the heated water into the heating system. This is not related to the service water.

I think it is _ID_WEBZIPout.

But is it possible to write with safe= false? I'll give it a try later

kmidt commented 2 years ago

Number: 46 Name: ID_WEB_ZIPout Type: Bool Value: False

Thats possible. I have a look when i turn she on.

kmidt commented 2 years ago

Yes it is :

Number: 46 Name: ID_WEB_ZIPout Type: Bool Value: True

kmidt commented 2 years ago

Hi nochmal,

ich verzweifel. Der Wert lässt sich mit Homeassistent und dem Script nicht beschreiben :(.

Ich habe ein Scripft mit dem Dienst wie oben beschrieben geschrieben :

image

Die Codezeile der Lux habe ich auch angepasst :

image

Aber es tut sich nichts. Hast du noch eine Idee ?

Den Parameter on habe ich auch schon probiert

Gruß, Andi

mrtobs1 commented 2 years ago

Is 192.168.178.115 really your correct IP? Is it not 192.168.1.115? My port is 8889, is yours really 8888?

To check if your settings are correct, try to switch the heating off with luxtronik.write:

parameter: ID_Ba_Hz_akt
value: 'Off'

if that works, switch it back to automatic:

parameter: ID_Ba_Hz_akt
value: 'Automatic'

But I don't think it's possible to turn your ID_WEB_ZIPout on and off, this is maybe only the state of the ZIP, not a switch...

Bouni commented 2 years ago

@mrtobs1 Yes, the IP is correct, FritzBox Router assign IP's in the 192.168.178.0/24 range. Also the port, older firmware revisions used 8888.

@kmidt I think I figured out whats wrong! ID_WEB_ZIPout is a calculation, think of it as a sensor. These cannot be written, only Parameters can be written!

Bouni commented 2 years ago

Maybe this is what you're looking for: Number: 85 Name: ID_Einst_BWZIP_akt Type: Unknown Value: 0 Writeable: False

kmidt commented 2 years ago

Hi Bounti ,

Thx i try it Out Later.

@mrtobs1 : yes IP and Port are correct. I can read Out Parameters and write Like The Automatic, Party and Off Parameter to another Stoff.

Greetz, Andi

kmidt commented 2 years ago

Number 85 is not the Zirculation Pump :( . It is not possible to change the value :(

kmidt commented 2 years ago

So i have checkt ALL Parameters calculations and Visibles before and after.

And That are the Parameters before and After Turn on THe Circualtion Pump :

Before :

Paramters : Number: 4 Name: ID_Ba_Bw_akt Type: HotWaterMode Value: Off Number: 158 Name: ID_Einst_Entl_akt Type: Unknown Value: 0

Calculations : Number: 46 Name: ID_WEB_ZIPout Type: Bool Value: False

After : Parameters : Number: 4 Name: ID_Ba_Bw_akt Type: HotWaterMode Value: Automatic Number: 158 Name: ID_Einst_Entl_akt Type: Unknown Value: 1

Calculations : Number: 46 Name: ID_WEB_ZIPout Type: Bool Value: True

That are the Only 3 Varaibles that are differnt before Circ Pump and After.

FHEM :

hotWaterCircPumpDeaerate - Entlüftungsmodus der Zirkulationspumpe (zum gezielten Einschalten der Zirkulationspumpe durch FHEM)

I Think Entlüftungsmodus der Zirkulationspumpe = ID_Einst_Entl_akt ist the Right Parameter. I will Test

kmidt commented 2 years ago

It dont work

I think i make an MQQT FHEM to Homeassistant.

That means i can turn off FHEM :) :(

Bouni commented 2 years ago

@kmidt Is it possible for you to turn that pump on and off via the Heatpump24 webinterface? If so you can see there what the parameter number is!

Heres an example showing what number the Mode of operation (Betriebsart) is:

image

which matches the parameters in the code:

image

Bouni commented 2 years ago

Or, just take a look in the FHEM source code 😅

https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/23_LUXTRONIK2.pm#L1525

 elsif ($parameterName eq "hotWaterCircPumpDeaerate") { #isVisible(167) 
   $setParameter = 684;
   $setValue = $realValue eq "on" ? 1 : 0;
 }

https://github.com/Bouni/python-luxtronik/blob/master/luxtronik/parameters.py#L709

        682: Unknown("ID_Einst_Entl_Typ_4"),
        683: Unknown("ID_Einst_Entl_Typ_5"),
        684: Unknown("ID_Einst_Entl_Typ_6"),
        685: Unknown("ID_Einst_Entl_Typ_7"),
        686: Unknown("ID_Einst_Entl_Typ_8"),

ID_Einst_Entl_Typ_6 does not seem obvious but these names are extracted from a reverse engeneered java app and are possibly wrong!

My suugestion is to check the value of this parameter using the dump function, change it via FHEM, check again via the dump function and see if it changed from 0 to 1 or vice versa.

kmidt commented 2 years ago

@kmidt Is it possible for you to turn that pump on and off via the Heatpump24 webinterface? If so you can see there what the parameter number is!

Heres an example showing what number the Mode of operation (Betriebsart) is:

image

which matches the parameters in the code:

image

Yes i can Set this Parameter in The App and with homeassistent

kmidt commented 2 years ago

Or, just take a look in the FHEM source code 😅

https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/23_LUXTRONIK2.pm#L1525

 elsif ($parameterName eq "hotWaterCircPumpDeaerate") { #isVisible(167) 
   $setParameter = 684;
   $setValue = $realValue eq "on" ? 1 : 0;
 }

https://github.com/Bouni/python-luxtronik/blob/master/luxtronik/parameters.py#L709

        682: Unknown("ID_Einst_Entl_Typ_4"),
        683: Unknown("ID_Einst_Entl_Typ_5"),
        684: Unknown("ID_Einst_Entl_Typ_6"),
        685: Unknown("ID_Einst_Entl_Typ_7"),
        686: Unknown("ID_Einst_Entl_Typ_8"),

ID_Einst_Entl_Typ_6 does not seem obvious but these names are extracted from a reverse engeneered java app and are possibly wrong!

My suugestion is to check the value of this parameter using the dump function, change it via FHEM, check again via the dump function and see if it changed from 0 to 1 or vice versa.

OK i will Check 684 :)

henne49 commented 2 years ago

quick question, did this work, I would be interested to control the circulation pump from HA and make it more flexible as this seems to be a massive energy waste having it running 24h and the schedules in the heatpump are not very flexible.

joekerna commented 2 years ago

I've pretty much given up. I think, if it's not accessible from the web interface, it can't be done. Maybe they'll add the feature in a future update but I don't know how update-happy heat pumps are. One thing that's possible of course is, to disconnect the circulation pump from the heat pump and controll it completely manually through a simple switch. At least with my device it's a separate device.

henne49 commented 2 years ago

Just checked. Will do that use a 15€ shelly and be more flexible

Bouni commented 2 years ago

@joekerna

don't know how update-happy heat pumps are

Look at https://www.heatpump24.com/DownloadArea.php?layout=1&lang=5 for updates for your heatpump model.

the layout=1 can be layout=2 and layout=3 as well to show updates for other vendors than AIT but I'm not sure which number is for which manufacturer.

layout 1 = Alpha Innotec

layout 2 = Novelan

layout 3 = ??

BenPru commented 1 year ago

@joekerna A FHEM user had the same challenge: FHEM Forum in german The summary is to configure two time tables:

  1. Pump is always on (e.g. Week Mo-So) - e.g. 697=1
  2. Pump is always off (e.g. 5+2) - e.g. 698=0

Then switch the used time table with your ha: 506 Einst_SuZIP_akt Week (Mo-SO) = 0 5+2 (Mo-Fr,Sa-So) = 1 Days (Mo,Di...) = 2

506=0 --> pump on 507=1 --> pump off

Maybe it's enough to set 697=1 and 506=0 once. And then use the release flag 85 (parameters.ID_Einst_BWZIP_akt) = 1 (on) = 0 (off).

By the way: Has every heatpump a domestic water circulation pump or only systems with ring pipe? My Novelan LAD 7 changes the flag zipout to on if the domestic water is heating. But if I force the pump off I have no power usage impact.

kmidt commented 7 months ago

It is the Parameter 684 : Unknown("ID_Einst_Entl_Typ_6"),

joekerna commented 7 months ago

I've tried

service: luxtronik.write
data:
  parameter: ID_Einst_Entl_Typ_6
  value: "Off"

but it had no effect.

kmidt commented 7 months ago

For me already works

BenPru commented 7 months ago

@joekerna ID_Einst_Entl_Typ_6

You have to write 0=off and 1=on. The datatype is unknown, so the integration doesn't translate the value from "Off" to 0.

joekerna commented 7 months ago

Then I get

[Luxtronik] Parameter id '684' or value '0' invalid!

The safe option is set to false