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

Invalid values for some temperatures #12

Closed
Huseriato opened this issue Nov 25, 2020 · 25 comments
Closed

Invalid values for some temperatures #12

Huseriato opened this issue Nov 25, 2020 · 25 comments

Comments

@Huseriato
Copy link

The following temperatures are multiplied by 10 (for example "430 °C" instead of "43.0 °C"):

nibeuplink.0.SYSTEM_1.EXTERNAL_FLOW_TEMP_BT25
nibeuplink.0.SYSTEM_1.EXTERNE_R_CKLAUFTEMP_BT
nibeuplink.0.SYSTEM_2.R_CKLAUFTEMP_EP_BT
nibeuplink.0.SYSTEM_2.VORLAUFTEMP_EP_BT

The objects with correct decimal places (I mean the four above, without the _BT at the end) are not usable for history, influxdb or sql, because the °C is directly behind the number (so you can only log as text, which is bad).

@sebilm
Copy link
Owner

sebilm commented Nov 26, 2020

Thanks. But I don't understand. Which of these are correct decimal numbers (without the °C)? Can you write me an example how it looks actually in iobroker - for every of these 4 entries.

@Huseriato
Copy link
Author

I'll make a pull request for this tommorow. I think this is easier. I found a fifth value which is wrong. There is simply missing a devideBy: 10 in nibe-fetcher.js for those values.

When using history or sql module a value like 30.8 °C can be stored as a number. If the space is missing, the cast fails. So I just noted, that it would not be possible to use nibeuplink.0.SYSTEM_1.EXTERNAL_FLOW_TEMP instead of nibeuplink.0.SYSTEM_1.EXTERNAL_FLOW_TEMP_BT25. There is a correct value, but it is missing the space.

@Huseriato
Copy link
Author

Hmm, okay. I just checked the file. It seems so, that there is only the value EXTERNAL_FLOW_TEMP_BT25 present. In nibe-fetcher.js are more UniqueIDs used than documented here: https://api.nibeuplink.com/docs/v1/Parameters (you need to login to see this page).

I don't know, where the other identifier came from:

nibeuplink.0.SYSTEM_1.EXTERNE_R_CKLAUFTEMP_BT
nibeuplink.0.SYSTEM_2.R_CKLAUFTEMP_EP_BT
nibeuplink.0.SYSTEM_2.VORLAUFTEMP_EP_BT
nibeuplink.0.ADDITION.TEMPERATUR_ZUSATZW_RMEERZEUGER_BT

Noticable is, that they are all having a german name.

@Huseriato
Copy link
Author

I've found a sixth value, take a look at this screenshot. I tried to show, what is wrong in my opinion:

image

Invalid value = Has to be divided by 10 to match the current value
Not loggable as number as an alternative = The missing space in this value, does not make this loggable as a number using history/sql/influx, because string to number conversation fails (noted in log file).

@sebilm
Copy link
Owner

sebilm commented Dec 18, 2020

@Huseriato can you please help me? Please set the language in nibeuplink adapter settings to english. Then set the log level of the nibeuplink instance to "silly".
After that in the log of the iobroker there is an entry with all received data - many entries like that:

{
"parameterId": 40004,
"name": "40004",
"title": "Außentemperatur",
"designation": "BT1",
"unit": "°C",
"displayValue": "5.3°C",
"rawValue": 53,
"key": "OUTDOOR_TEMP_BT1",
"categoryId": "STATUS",
"categoryName": "Status",
"divideBy": 10,
"value": 5.3
},

You will see it, if you download the log.

Can you please add all here - as file is the best, i think. You can remove all entries with "categoryId": "SYSTEM_INFO". I want so search for missing entries to add to the adapter.

And don't forget to set the language and the log level back.

Setting the language to english will add you some new entries in english - these are the entries I am looking for. You can delete them after setting language back to german.

@Huseriato
Copy link
Author

Sorry for my late answer. I did not see the notification.

Here is my log file: iobroker.2020-12-21.log.html.zip

@sebilm
Copy link
Owner

sebilm commented Dec 21, 2020

Thanks. I added 10 missing parameters. You can see them here: e25ab10

It is on the master branch, so if you want you can install the nibeuplink adapter in iobroker directly from github.
Please write back if it works for you.

After installation you have to get a new auth code in the settings of the adapter. I fixed this bug, but this time you need to do this the last time.

@Huseriato
Copy link
Author

I tried version 0.4.0 - the new values are correctly appearing. However: The old values are still 10 times to high (those from the screenshot above).

@Huseriato
Copy link
Author

The english strings of this wrong values are:

nibeuplink.0.ADDITION.ADDITION_TEMPERATURE_BT
nibeuplink.0.SYSTEM_1.EXTERNAL_RETURN_TEMP_BT
nibeuplink.0.SYSTEM_2.CALCULATED_FLOW_TEMP_S
nibeuplink.0.SYSTEM_2.HEAT_MEDIUM_FLOW_EP_BT
nibeuplink.0.SYSTEM_2.HEAT_MEDIUM_RETURN_EP_BT

This value seems to be fixed:

nibeuplink.0.SYSTEM_1.EXTERNAL_FLOW_TEMP_BT25

@sebilm
Copy link
Owner

sebilm commented Dec 22, 2020

The version of master branch is 0.4.0 - but you need the last version of that 0.4.0. I don't increase the version because it is no official version - its only on github.
The keys you have listed are "old" auto generated fallback keys.
You need to update to the newest version from github. Then you have the keys:
HEAT_MEDIUM_FLOW_EP21_BT2
ROOM_TEMPERATURE_EP21_BT50
ADDITION_TEMPERATURE_BT63
HEAT_MEDIUM_RETURN_EP21_BT3
EXTERNAL_RETURN_TEMP_BT71
CALCULATED_FLOW_TEMP_S2
STATUS
EXTERNAL_ADJUSTMENT_S2
MAX_STEP
AUX_6

The old, autogenerated keys (German or English) are not updated. You can delete them.

@Huseriato
Copy link
Author

I installed directly from GitHub yesterday. I think I'll delete the whole adapter and reinstall it (bye bye measurements) and see, what I'll get than. I think I'll use the "English" names for object keys, so debugging is much easier than. Or is this bad for testing this issue?

@sebilm
Copy link
Owner

sebilm commented Dec 22, 2020

You don't need to delete your objects.
I think it is better to use german language - so you can see if it is a fallback name (german) or the right ID (english).
But I have just implemented issue #11. Please read the change log in the readme!
https://github.com/sebilm/ioBroker.nibeuplink/blob/master/README.md#changelog

@sebilm
Copy link
Owner

sebilm commented Dec 22, 2020

I don't want to loose my history values, so I implemented the fallback to update existing objects. Later I fix the object names in the database and than I remove the old objects.

@Huseriato
Copy link
Author

Because of the switch from German to English I did not know which values are correct. So I reinstalled the adapter via GitHub and removed my objects. I reassigned to logging (I'm using InfluxDB) with the same names. So there is just a small gap. Because auf the error, the most of the data is wrong and I cleared my series.

After reinstall, all seems to be fine. Cool. Thank you.

@Huseriato
Copy link
Author

Huseriato commented Dec 22, 2020

There are sadly some new values that are wrong for UNIT1:

image

If I change back to english now to see the original object names, my objects are cluttered again. :/ Do you need the english names again?

Edit: The last value of "Verdichtermodul" is also wrong. Did not see it (18 °C are wrong, correct is 1,8 °C)

@Huseriato
Copy link
Author

I created a second instance in english, may be that helps. This are the values that need a division by 10:

nibeuplink.1.UNIT_1.CPR_INFO_EP14.44055_RETURN_TEMP__EB101_BT3
nibeuplink.1.UNIT_1.CPR_INFO_EP14.44058_CONDENSER_OUT_EB101_BT12
nibeuplink.1.UNIT_1.CPR_INFO_EP14.44059_HOT_GAS_EB101_BT14
nibeuplink.1.UNIT_1.CPR_INFO_EP14.44060_LIQUID_LINE_EB101_BT15
nibeuplink.1.UNIT_1.CPR_INFO_EP14.44061_SUCTION_GAS_EB101_BT17
nibeuplink.1.UNIT_1.CPR_INFO_EP14.44363_EVAPORATOR_EB101_BT16
nibeuplink.1.UNIT_1.STATUS.44362_OUTDOOR_TEMP__EB101_BT28

@steffenkuss
Copy link

steffenkuss commented Dec 22, 2020

So here are some more values that are wrong:
image

image

@sebilm
Copy link
Owner

sebilm commented Dec 22, 2020

@Huseriato Do you have all other objects in english? I want to add all english keys. The goal is, that in all languages the keys of the objects are the same.

@sebilm
Copy link
Owner

sebilm commented Dec 22, 2020

I found a way to read all values with names in english. So wait - perhaps I have all.

@sebilm
Copy link
Owner

sebilm commented Dec 23, 2020

I added hundreds of missing parameters by reading all numbers from nibeuplink. All values with units "°C", "kW", "kWh" and "l/m" are automatically devided by 10.
You can test it by installing it from github.

@steffenkuss
Copy link

This one need some division by 10:

image

@sebilm
Copy link
Owner

sebilm commented Dec 23, 2020

@Huseriato @steffenkuss Please check if you still have incorrect values. Then please let me know. I would like to close the ticket and make a npm version.

@steffenkuss
Copy link

the values are correct now on my side.

@Huseriato
Copy link
Author

I can test it today 20:30 GMT+1 and give feedback.

@Huseriato
Copy link
Author

Seems fine now. My object ids are "english" now, and the name is german. This i fine. All values seem to be correct. Thank you for all your work. This is really great!

@sebilm sebilm closed this as completed Dec 24, 2020
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

3 participants