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

ehp/CondensorTemp not published to MQTT #398

Open
hemagi opened this issue Feb 21, 2024 · 8 comments
Open

ehp/CondensorTemp not published to MQTT #398

hemagi opened this issue Feb 21, 2024 · 8 comments

Comments

@hemagi
Copy link

hemagi commented Feb 21, 2024

I want to evaluate the CondensorTemp ("TEV-Eintritt") via MQTT. It can be found via ebusd

# ./readall.sh CondensorTemp
ehp CondensorTemp = 28.75;ok

but is the only value I have found yet that is not published to MQTT.

Perhaps the problem is that the value seems to exist twice:

# ebusctl f Condensor
ehp CondensorTemp = 28.75;ok
ehp CondensorTemp = no data stored

What can I do?

ebusd version 23.3

@hemagi hemagi changed the title ehp/CondensorTemp not publsished to MQTT ehp/CondensorTemp not published to MQTT Feb 21, 2024
@hemagi
Copy link
Author

hemagi commented Feb 21, 2024

Strange. If one performs a get by publishing ehp/CondensorTemp/get, the value is published.

@Silverstar
Copy link

Silverstar commented Feb 21, 2024

Well, on most of the definition files I've been looking at, values aren't polled by default.
So if the device is not pushing it or the controller is not requesting the data, ebusd never sees it on the bus. So when there is no data, it cannot be published.

You can tell ebusd to poll, however, or tell your middleware to do so.

@hemagi
Copy link
Author

hemagi commented Feb 21, 2024

I am aawre of it. But I polled all values using readall.sh, and all values (at least) except for CondensorTemp have been published.

@Silverstar
Copy link

Silverstar commented Feb 22, 2024

I see. Then I guess the reason is the double existence of CondensorTemp.
(I'm wondering because I thought ebusd is throwing an error on duplicate names.)

Do you use a local configuration directory or use the online repo?
You could download a copy of the repo, check which files are loaded for your system, open these and remove (or comment out) the line which returns "no data stored".
Then you start ebusd with the configpath set to your directory.

@hemagi
Copy link
Author

hemagi commented Feb 22, 2024

I use the online repo, and there 08.ehp.csv. My pump is a brinetowater pump.

The problem is the same for most values, that are filtered by the pump type. I could verify it for CondensorTemp, Source and SourceSwitch, e.g.

# ebusctl f SourceSwitch
ehp SourceSwitch = no data stored
ehp SourceSwitch = ok

that is configured 4 times, depending on the pump type:

[brinetowater]r;u,,SourceSwitch,Soledruckschalter,,,,"2600",,,errorok,,,Status externer Soledruckschalter:ok = Soledruckschalter geschlossen oder gebrückt (Zustand ab Werk)Fehler: = Soledruckschalter geöffnet (Soledruck zu hoch)
[airtowater]r;u,,SourceSwitch,Kontakt Lüfter,,,,"2600",,,errorok,,,"Motorschutzthermostat des Lüfters (ok = geschlossen, offen =Überhitzung der Motorwicklung)"
[airtobrinetowater]r;u,,SourceSwitch,Soledruckschalter,,,,"2600",,,errorok,,,Status externer Soledruckschalter:ok = Soledruckschalter geschlossen oder gebrückt (Zustand ab Werk)Fehler: = Soledruckschalter geöffnet (Soledruck zu hoch)
[watertowater]r;u,,SourceSwitch,Strömungsschalter,,,,"2600",,,errorok,,,Status interner Strömungsschalter

Interestingly, and this might be a help for debugging, it is not true for

# ebusctl f SourcePress
ehp SourcePress = 0.862;ok

which can be found only twice in 08.ehp.csv:

[brinetowater]r,,SourcePress,Druck Wärmequelle,,,,"1600",,,presssensor,,,Druck der Wärmequelle (Drucksensor Wärmequellenkreis)
[airtobrinetowater]r,,SourcePress,Druck Wärmequelle,,,,"1600",,,presssensor,,,Druck der Wärmequelle (Drucksensor Wärmequellenkreis)

@Silverstar
Copy link

I see. I had no conditions in mind.
I see no error at first glance in that. Might be a bug.

I suggest you edit the files so you only have the brinetowater lines in there so there is no second choice and test that. You could even then omit the condition of these lines.
Workaround until someone can have a look at the code.

@hemagi
Copy link
Author

hemagi commented Feb 22, 2024

Currently for me it is sufficient that I can get the values by polling.

If it helps, I could download and change the file 08.ehp.csv accordingly.
To my understanding I'd need to download all config files in order to change one and use --configpath, right?

@Silverstar
Copy link

All that are necessary for your system plus the templates and stuff. I just download the whole 2.1.x folder. But Glady they're lightweight.

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

2 participants