Open hemagi opened 6 months ago
Strange. If one performs a get by publishing ehp/CondensorTemp/get, the value is published.
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.
I am aawre of it. But I polled all values using readall.sh, and all values (at least) except for CondensorTemp have been published.
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.
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)
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.
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?
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.
I want to evaluate the CondensorTemp ("TEV-Eintritt") via MQTT. It can be found via ebusd
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:
What can I do?
ebusd version 23.3