-
-
Notifications
You must be signed in to change notification settings - Fork 97
Change flow, max and min flow temperatures via telnet and MQTT #59
Comments
+1 |
It’s not hard to add further commands. I tried to make the code as readable and flexible as possible. Try it yourself and can review the pull requests remotely and make changes. |
You can check here how I added MQTT commands. Its not hard. Just search for "lobocobra" in the code and you will see what to change where.... |
@egrekov I can quickly add this for you. But not sure if its possible. Looking at https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme#wwbetriebsart is the flow temperature the 3rd byte of the data? |
@proddy Let me know if i can help testing in any way. |
@renehonig I really have no idea! It's all been trial and error. One thing to try is using this 1A telegram to set the flow temperature, This can be done with a normal 'send' command. |
@proddy , ok, let me try that. In order to be sure I am at least sending the intended telegram, can you give me a hint of what it would look like? Is the 'normal' send command through the telnet interface or is this the code lobocobra just created (@lobocobra , is the new mqtt command documented somewhere?) Thanks!! |
ok, say it is UBASollwerte then the command to set the temperature to 20 degrees would be send 0B 08 1A 00 14 the 0B is us, the 08 is the typeID of the boiler, 1A is UBASollwerte, 00 is the offset for the value you want changed and 14 is the value (20 degrees). I'm not at home so can't test if this works |
thanks, I can confirm this works! |
Ok, I've added to the latest dev. |
I have done a bit more investigation. The boiler regularly received 0x1a updates from the thermostat (in my case Evohome+OT converter). The 1A telegram in my case sets the flow temperature and the next byte ('Leistungsanforderung HK') which I have only seen at 100 (the EMS wiki says: 0 or 100). Here is an example from the log:
This sets the flow temperature at 31 deg C. The boiler responds with:
which I do not understand (seems 50% of the set temperature, also not sure where the warm water power comes from). @proddy , maybe you know how the boiler response is obtained, otherwise I will need to dive a bit into the code. To be continued... |
the mistake is the code then. I assumed, like all temperatures it was multiplied by 2. So if 1F really does set the flow temp to 31 degrees then there is no division needed in the calculation. It also means half-steps are not supported. I'll modify the code and leave the old logic in. See ems.cpp line 1267 |
Thanks. My source for the flow temperature is the telnet info, which is obviously the same code... I guess I can only conclude then that there is an inconsistency between the number on the info screen and the log. I will check whether I can look up the action number on the boiler display. |
can we close this? |
apologies for not reverting sooner. I can confirm there is no need to divide the temperature by 2 (by looking at the boiler display). I have not heard back from @lobocobra on how to use the MQTT implementation, but agree we can close the issue. Thanks again for all the help. |
great. thanks, |
Hi ReneHonig, did you manage in any way to change the burner power with telnet or mqqt, if so, I'd like to know how you pulled it off :) |
I have been able to set the flow temperature writing a raw telegram as per Paul instructions earlier in this conversation. Have not yet managed to use MQTT as I am not sure how sending raw telegrams using MQTT has been implemented. I have not tried to change the burner power - are you sure that that is even possible? It might be set by the boiler internally only. |
You can change the flow temperature via telnet using the |
boiler flowtemp tells me 'unknown command'. Is this command new since 1.7? Because I did downgrade from dev build 1.7 back to 1.6 though (1.7 wouldn't take my long wifi password full of weird characters, only the simple wifi password of my guest network, but that's another issue) |
yes 'bolier flowtemp' is in 1.7 and was added 18 days ago based on a request in this issue (scroll up). I thought I also fixed the SSID and Password issue to accept any strange character too in 1.7 so please also check if that is working for you too. So what's next? Change flow temp via MQTT or set the boiler burn? |
Hey @proddy I reflashed 1.7 but the password issue remains, even when i hardcode it in the platformio.ini file. So now I'm using it on my guest network that has a simple password. |
oh yeah, when I query info, I also get this: |
@sadrov the 'Tx: no signal' means that we're not receiving a Poll request to our device which is the trigger to transmit any Tx packages. If you do a Also I'm interested in the wifi password issue since I'm pretty sure I nailed that problem. Can you give me some hints on the special characters you use? And have you been able to get other ESP8266 code to connect? |
Yes, there's a whole bunch of read actions in the queue and when i do a send command it shows up in the queue as well: It is indeed a junkers cerapur boiler, you think this has something to do with it? That somehow the protocol works differently? Sending never worked before (but I've been experimenting witht his only a few weeks). How could I figure out wether these poll requests are even there? About the wifi: it worked on 1.5 and 1.6 but not on de 1.7 dev build. I set the ssid and password in AP mode and when I reboot the wemos, the ssid and password field are empty. The special characters I use are: ^ l ( ] * ~ ` ; , " \ ) ' |
same Tx issue as #103 then. If you could join that thread we can work it on it collectively. As for the password I'll do some more checking here. Closing this issue as it relates to the flowtemp that was implemented in 1.7 |
Thanks and done |
loos like Wim's implementation is also addressing the flow temperature and not burner power. |
Figured out to change boiler flowtemp, you change byte 1A, with an offset of 00, and you need 16 with an offset of 01. |
@egrekov , what exactly do you mean by çhange the boiler flowtemp'? Is this different from setting the boiler flow temperature via the telnet interface |
@proddy |
@egrekov , so |
@proddy, yes changes the temperature as in the picture by 60 degrees) |
I tried it and it works indeed. perfect! |
emswiki.thefischer.net, MC10Parameter |
Сan also be changed maximum and minimum boiler output: |
ok, so what is wrong actually? Are you saying to change the boiler flowtemp you first need to use 0x1A (UBASetPoints) followed by 0x16 (MC10Parameter)? Did the original implementation every work? |
@proddy , nothing wrong from my perspective. |
ok, I can add that functionality. How should it be configured in Telnet and MQTT? |
@proddy It is better that there is the possibility of both telnet and mqtt |
great, I think exactly the same as the |
|
@egrekov @renehonig do you still want this feature implemented? |
Yes, would be great, especially MQTT. |
Added to v2, but needs further testing by users. Console commands are |
Super, Ii uploaded the new firmware but cannot fully test it for a while as I am remote with limited access at the moment. |
Hi!
I would like to be able to change the flow temperature.
I understand that it is necessary to implement a function similar to ems_setFlowTemp, but not enough knowledge in the EMS protocol, I could not help in the implementation of this functionality.
Examlpe in telnet
* boiler flowtemp <degrees> set flow temperature
The text was updated successfully, but these errors were encountered: