-
-
Notifications
You must be signed in to change notification settings - Fork 136
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
Set ebusd values on MQTT with payload in JSON format #588
Comments
it could be added in principle, but I don't see a huge benefit right now, as the JSON for setting the value would have to include all the fields as well. so it is just a matter of formatting |
in a program development area, I can work around with an output template. For testing I'd like to use MQTT Explorer or comparable program. There it would be comfortable if I only have to change one value in the JSON payload and copy&paste the data back. But as you said, it's not a must-have feature for the ebusd community. |
Hi, so i tried to send from HomeAssistant to the mqtt: that of course just publishes that value in the MQTT, but doesn't set it on the vailant. br |
@mf76130 here is my mqtt code for that purpouse:
|
@mf76130 the HA MQTT integration does all that automatically if you enable write messages as documented |
thanks, i had that already setup from the beginning |
I'm trying to do something similar. I've got HA MQTT integration and I can see the MQTT messages using MQTT Explorer. For example: I'm using the addon in supervisor so this should simplify things. I've set: { as JSON then I receive in the logs the following error: 2022-12-14 18:30:51.421 [mqtt error] write message bai FlowTempDesired not found How do I work out the correct write command. I have a Vaillant ecoTEC plus 637 without any controller or weather compensation device and just want to be able to remotely set the flow temp. |
try sending just 67 |
Sorry, that doesn't work. When I send to the topic but when I send: I get back from the logs: |
Looking at the MQTT ebusd bai device and the MQTT configuration information, all of the entities are sensors and none come up as inputs, e.g. ebusd bai FlowTempDesired temp (sensor.ebusd_bai_flowtempdesired_temp) I wonder if the supervisor addon doesn't allow write functionality or if a further configuration setting needs to be made? |
@DrDuk check with ebusctl if that message exists as writable. if not, then you can't write to it of course. if yes, maybe the write messages need to be enabled in the HA integration see docs here ebusd/contrib/etc/ebusd/mqtt-hassio.cfg Line 119 in 5d3c6f0
|
Have a similar problem. Installed ebusd as a local service with the following options.
Ebus finds my Vailant heater.
Values can be changed via ebusctl
These are also returned to HomeAssistant. However, I cannot change any values via MQTT/HomeAssistant. The data is not even transferred to MQTT. |
I have the exact same goal...how did you manage to solve this? AFAIK I Have to set filter-direction=r|u|^w in the ebusd MQTT config files for home assistant to write values? |
i created scripts with all the different values i need, following is an example: alias: Warmwasser 55°
sequence:
- service: mqtt.publish
data:
topic: ebusd/700/HwcTempDesired/set
payload: "55"
mode: single |
Oh thank you so much, you made my day 😄 I was missing the "/set" at the end 🤦 |
I'm trying something simmilar, but having trouble setting the "opmode" I've got it working in the so with this climate config
i can call the service hvac sucessfully
but when i try this with mqtt, using the exact json (copied with mqtt explorer)
its not working. I can see that i gets sent to the "set" subtopic in mqtt explorer and not to the "ebusd/700/z1OpMode" topic as it happens when using the climate service. If i try it without the topic "set" it just gets overwritten after some time. |
As I asked John and others also experienced, ebusd does not accept/parse payload I JSON format. You have to convert the data by yourself via HA templating. |
oh right. I haven't got the hang of HA templating for now, thats why i tried the JSON directly with mqtt. oh well, guess I'm forced to learn it then :D |
i have the same issue, but my ebusd is inside docker... so 'ebusctl write -c hwc OperatingMode on' is not possible without cli :-( but i will try it... |
it is possible of course e.g. by using netcat like |
Maybe I am missing something, but you can simply send the payload as shown below (you dont need to publish in JSON, which was the misconception I had):
|
Description
I use ebusd's MQTT output in JSON format, so I get the following result when querying the heating time slots:
To set these values I have to use the format which is also required and well-known from telnet server connection:
mosquitto_pub -h localhost -t "ebusd/hwc/Timer.Monday/set" -m "05:20;05:50;-:-;-:-;15:20;15:50;selected"
Is it planned to also support JSON format as payload for the set command?
The text was updated successfully, but these errors were encountered: