Also here
Parsed value insideTemperatur -> -60.0 with pos: 18 , len: 2
Edit
But as far as I know I donāt have the value in my heater either. I mean you only get it if you have connected the external control unit. But I will check it again later.
the issue with the version in paperui I also face.
The channeltype is to my understanding correctly defined.
very strange.
will try to find out if this is related to the update method
<channel-type id="version">
<item-type>String</item-type>
<label>Version</label>
<description>Firmware version of heat pump.</description>
<state readOnly="true" />
</channel-type>
Looks like you are living i a refrigerator
The reason could be that the position of the byte in the heatpump is not correct.
For our heatpump the file is here 5.09
the relevant entry is here.
Iāve been able to test some readings now. Everything I could not try yet because the heating āunfortunatelyā does not have to heat up at the moment
If someone would prefer a PDF or something like that please let me know.
What else I would like
Channel āLast Updateā so I know if the values are still updated.
Channel for the three fan levels for day and night operation
Using the FHEM module I can display and even control them (that would be great).
But I have not found out where exactly the values come from.
i see that finally some of you are able to connect and get first data.
For some of the heatpumps i have not tested the configuration.
There are some file important for the testing and also for fixing issues of the configuration.
In the thing-types you can find your thing-type.
Here are the channel-groups defined which are then in detailed defined in channelgroup-types
Feel free to do test and adjust the file to your needs and the capabilities of the heatpump.
To parse the data from the heatpump there is a HeatpumpConfig of the thing-type.
Each line represents a data from the heatpump.
requesbyte represents the byte to be send to the heatpump to get the full register of data.
for dataType āStatus, Sensor, Settingsā is allowed
position defines the byte position in the responds coming back from the heatpump sending the requestbyte
length is the length of bytes of the data
scale define the scale of the raw number coming from the heatpump to scale with
bitPoisition applies to data which are single bit information decoded in a byte (1/0->on/off) , typically for setting switches
min,max and step are ranges verified when doing setting changes. They are corresponding to the channel state
I have been starting to do german translation.
if somebody could support here and help to fill the channel-types, that would be great.
File to put the trnslation. stiebelheatpump_de_DE.properties
Here are the paramter descriptions parameter in german
I have not started yet with defining the UI for monitoring the heatpump and change settings.
I am currently pushing data to grafana to look into my temperatures.
If you have experiences in what are the best ways to use the UIs in openhab , please share!
TODO:
code cleanup and bug resolution
finish translations
support configuration to provide pick list for serial port available
testing of setting changes, best with good UI examples , e.g. program settings. like absence for 2 day
develop some scripts for doing setting group changes
ideas:
investigate discovery of thingtype
look into use case for automation modules, do you have ideas?
great you look into the 504
The Flow temperature HC2 is a value for a 2nd heat circuit, e.g for the Solar version of the heatpump.
if you do not have this the value has no meaning for you
Inside temperature is a separate sensor that can be connected to the heatpump.If not connected you get the artic temperature measurement. Look into the manual of the heatpump. you can find some info on how to connect a sensor to measure the inside temperature.
The channel for last update is a good point and i will put that on the todo.
Currently your LWZ504 7.59 channelgoups only contain the following groups.
<channel-groups>
<!-- at least 1 channel-group with id = version must be included -->
<channel-group id="version" typeId="channelGroupTypeVersion" />
<channel-group id="time" typeId="channelGroupTypeTime" />
<channel-group id="currentValues" typeId="channelGroupTypeCurrentValues" />
<channel-group id="operationCounters" typeId="channelGroupTypeOperationCounters" />
<channel-group id="nominalValues" typeId="channelGroupTypeNominalValues" />
</channel-groups>
i added these channelgroup 2-3 years ago by going through the FHEM code extract the channel configurations. That should also be possible for your heat pump as well.
I can add my channelgroup to your thing-type and then you can see what you get, but it will require investigation the data match by using the local display. Does this make sense to you?
You can also run the debug respond from the paperui. Go to thing configuration, show more and you should see the channel. this will cyle throught all request i know and logs the bytes in the karaf consol , if debug is enabled.
I have been testing the code in the last days.
Main focus was on getting writing settings to the heat pump .
I testes the switches , temperature setting and time settings in the different programs.
I also added a last update channel so you can see when the last update has being done
Iām afraid I havenāt been able to get around to it for the last few days. But I could test something again this evening.
I didnāt find the new last update channel in the new version. Should the one for the LWZ504 already be there?
ā
I also tried to read āp07FanStageStandardModeā from the āSetpoint Settingsā. Unfortunately I only get an error message in the log when it tries to send request byte 17.
21:03:49.588 [DEBUG] [eatpump.internal.CommunicationService] - Request : Name -> , Description -> , RequestByte -> 17
21:03:49.589 [DEBUG] [eatpump.internal.CommunicationService] - Sending start communication
21:03:49.594 [DEBUG] [ebelheatpump.protocol.SerialConnector] - Send request message : (00)01 00 18 17 (04)10 03
21:03:49.613 [DEBUG] [eatpump.internal.CommunicationService] - reached end of response message.
21:03:49.613 [DEBUG] [g.stiebelheatpump.protocol.DataParser] - verification of response failed : org.openhab.binding.stiebelheatpump.internal.StiebelHeatPumpException: invalid response on request of data, response is neither get nor set:
21:03:49.614 [DEBUG] [eatpump.internal.CommunicationService] - Sending start communication
21:03:50.628 [ERROR] [eatpump.internal.CommunicationService] - heat pump communication could not be established ! no data availabel!
21:03:50.629 [ERROR] [eatpump.internal.CommunicationService] - Error reading data : org.openhab.binding.stiebelheatpump.internal.StiebelHeatPumpException
Since Iām not very familiar with Perl and FHEM I havenāt been able to find out where the correct values he gives me come from when I read out my heating via FHEM. But I am still testing here. If somebody should have a tip I will gladly accept it
The channel-group from your other post I will build in my local version in the next days and test where I get useful values. Then I would give a feedback which could be usefully included in the official version.
To get the new channel in you most probably need to create the thing newly. Somehow the existing thing does not update new channels from the new version.
BTW, i started to play around with habpanel , here the first impression.
the gui looks good already. Iām a fan of grafana anyway Could it be that the operating hours are not yet labelled correctly or do the models of the heater differ? I have āVerdichter Heizenā, āVerdichter WWā and āVerdichter KĆ¼hlenā. But I do not have āVerdichterā alone.
Can you please update the git repository when you have time? I just compiled a customized version based on your code and saw that the last update is gone again Thanks
hi ,
yes i guess that the operation counter depends on the type of the heat pump. if you have SOL variant or colling included.
For the github you need to use my branch āStiebelBindingā in which i added
in the trunk you will not find it
I will have to commit my change of last 2 days though
THe polling tim i have been setting done to 10 sec and it still worked.
Issue is that today code also read out the setting data all the time.
I you may have recognized i categorize data in Status, Sensor and setting data.
Status and Sensor data are monitoring data and do contentiously change. There are only a few register in the heat pump to read these data.
For the settings there are more register available. Including these register in the continues pool will slow it done.
Settings are only changing via the local HMI or with the new binding. If changed with the binding the you always get the current setting after setting change.
I propose to remove the setting poll from the refresh cycle and have only at start up and once per day and update.
what do you think?
Yes, itās possible. I ask because it might be relevant for the translation to know if the models differ in the labeling.
Thatās exactly the branch āStiebelBindingā I use. In the channel-types.xml which I read out of the jar there is an entry ārefreshDateTimeā. I can not find it in the branch yet