john30 / ebusd-configuration

ebusd configuration files
GNU General Public License v3.0
177 stars 277 forks source link

ehp/CondensorTemp not published to MQTT #398

Open hemagi opened 6 months ago

hemagi commented 6 months ago

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 commented 6 months ago

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

Silverstar commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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.