tobiaswaldvogel / livolo-thermostat

Firmware for Livolo Thermostat VL-C7-01TM
GNU General Public License v3.0
2 stars 0 forks source link

ESP8266 #2

Closed TeRa2020 closed 2 years ago

TeRa2020 commented 2 years ago

Hello, thank you for your workaround which is great. My question is whether there is a chance to take control over the device by connecting it to an ESP8266 or similar, e.g. d1mini. We would than have a chance of integration into iobroker / mqtt. Best regards

tobiaswaldvogel commented 2 years ago

It would be definitely nice to be able to remote control them and to have the temperature reading. The challenges I see are where to place the ESP board physically and how to do the communication. Right now all pins are already in use. If you don't need the light sensor (which I do) then this pin can be used somehow. Another possibility would be to implement the 1-wire protocol on the ESP side. Then it could be connected in parallel to the thermometer for bi-directional communication.

TeRa2020 commented 2 years ago

Hello Tobias,

sorry for delayed answering due to illness. Placing of the esp could be done outside the case ... maybe behind it. I am thinking of completely replacing the electronics and just using the case and power supply. I found a round display which could be used instead, a relay could be used inside or it could be placed beside the valves. So there would be just the esp (d1mini e.g.) and the display plus the sensor(s) inside the case.

Best regards Ralph

P.s. communication in german?

⁣BlueMail for Android herunterladen ​

Am 25. Feb. 2022, 08:22, um 08:22, tobiaswaldvogel @.***> schrieb:

It would be definitely nice to be able to remote control them and to have the temperature reading. The challenges I see are where to place the ESP board physically and how to do the communication. Right now all pins are already in use. If you don't need the light sensor (which I do) then this pin can be used somehow. Another possibility would be to implement the 1-wire protocol on the ESP side. Then it could be connected in parallel to the thermometer for bi-directional communication.

-- Reply to this email directly or view it on GitHub: https://github.com/tobiaswaldvogel/livolo-thermostat/issues/2#issuecomment-1050599831 You are receiving this because you authored the thread.

Message ID: @.***>

Billysk commented 2 years ago

Is possible set night mode always, without light sensor? For example set 0 or 99 for threshold for turning off the display (night mode).

OR: Long touching 'O' (more than 1 second)? - this set on night mode, or display OFF with heating?

tobiaswaldvogel commented 2 years ago

Right now the setup for the threshold is only available if the light sensor was detected (i.e. no thermomether on RB4). But I could easily change that and set a default value of 50 for the current level. The threshold itself is a lower limit, which means night mode is activated if the current reading falls belows. Therefore 0 has the meaning of completely deactivating it, even if a sensor is present. For always activating it, you just need to set a value above (e.g. 99 which is the highest value).

The only limitation is that in night mode I can't indicate if the valve is currently open or closed. The indicator LED and the +/- symbols are connected together and the only possiblities are

I'm also going to implement one more change, which I had in mind: When you press +/- the first time, then just display the target temperature instead of already changing it. Otherwise there is no way just to check it.

You can also always touch 'O' more than 1 second to activate night mode manually, but that will just activate it once. So next time you change the temperature or you just activate the display by pressing 'O' again you have to switch it off again manually.

tobiaswaldvogel commented 2 years ago

I'll update you as soon as the change is implemented

Billysk commented 2 years ago

Ok, Thank you.

tobiaswaldvogel commented 2 years ago

I added this functionality along with some other improvements:

The source code and the updated hex file is in the repository.

Let me know if you have any other ideas/requirements.

Cheers, Tobias

tobiaswaldvogel commented 2 years ago

Hello Tobias, sorry for delayed answering due to illness. Placing of the esp could be done outside the case ... maybe behind it. I am thinking of completely replacing the electronics and just using the case and power supply. I found a round display which could be used instead, a relay could be used inside or it could be placed beside the valves. So there would be just the esp (d1mini e.g.) and the display plus the sensor(s) inside the case. Best regards Ralph P.s. communication in german? ⁣BlueMail for Android herunterladen ​Am 25. Feb. 2022, 08:22, um 08:22, tobiaswaldvogel @.> schrieb: It would be definitely nice to be able to remote control them and to have the temperature reading. The challenges I see are where to place the ESP board physically and how to do the communication. Right now all pins are already in use. If you don't need the light sensor (which I do) then this pin can be used somehow. Another possibility would be to implement the 1-wire protocol on the ESP side. Then it could be connected in parallel to the thermometer for bi-directional communication. -- Reply to this email directly or view it on GitHub: #2 (comment) You are receiving this because you authored the thread. Message ID: @.>

Hi Ralph

as this is then not related to the original controller and PIC assembler code let's discuss it privately. Wie Du wohl schon anhand meines Nachnamens erraten hast, ist meine Muttersprache natürlich deutsch. Schreib mir mal am Besten direkt an Gmail. Meine E-Mail Addresse ist Vorname.Nachname.

Viele Grüße, Tobias

Billysk commented 2 years ago

Version 1.1 - in setting: in Light sensor value, value 50 not possibe change. + and - not working.

I thought that night mode lowers the brightness. Is possible it?

tobiaswaldvogel commented 2 years ago

Probably that might need some more explications:

So in the setup you see two values:

Nightmode itself is just switching off everything possible. (I can't sleep with any light in the room) Dimming is quite difficult. Actually the display is multiplexed, so only one of both digits can be on at the same time. Therefore the software is switching 100 times per second between both, but as it is fast enough you don't notice it.

So every digit is actually displayed 50/100. What we could try to do is some PWM, so implementing a faster switching e.g. 200Hz and then instead of lighting it every 2nd cycle just every 4th. The problem is that the time is already quite critical due to the sensing for the capacity sensors.

Anyway I'll give it a try, and if it works we can add another setting, where you could choose between display levels Something like full or half for normal operation and half or off for night mode.

Billysk commented 2 years ago

OK. Thank you.

"So if you don't have a sensor and want night mode and then need to set any value above 50." - without sensor, value not possible change! Nuttons + and - not working. I am push + and value still 50

tobiaswaldvogel commented 2 years ago

Maybe it is still not clear ;-)

You cannot change the 50. The fifty is fix if you have no sensor. (C and F blinking) What you have to change is the last value in the setup, the threshold (with C and F)

tobiaswaldvogel commented 2 years ago

By the way, I did a quick experiment and it seems that I can implement a dimming algorithm. But I will take a few days to complete that.

Billysk commented 2 years ago

OK. Perfectly :)

tobiaswaldvogel commented 2 years ago

The new version is ready now. Give it a try. I also updated the user manual as the setup sequence changed. Basically you can now set the brighness for day and night mode independantly. If you want to have always night mode without a sensor then just set the threshold above 50. Let me know if this is what you were looking for.

tobiaswaldvogel commented 2 years ago

Just one more comment. There is a side effect as '+', '-' and 'O' are wired together. Turning '+' and '-' off turns 'O' to bright blue. As a consequence:

When you lower the brightness, it will dim everything but the brightness of 'O' wil go up. Also the red will look more like more like purple.

tobiaswaldvogel commented 2 years ago

One more comment: Setting a very low brightness of 1 or 2 might result in some flickering. Unfortunately there is nothing we can do about as some interrupts might be lost. Howevery everything above 3 is perfectly stable

Billysk commented 2 years ago

Working perfectly!!! Thank you.

tobiaswaldvogel commented 2 years ago

Thanks for the feedback, it was quite some work, but I'm also very happy with the result. I'm closing this issue now, but if you find any issue or if you have any other ideas for new features just open another one.

Another thing I'm going to do is adding a micro USB port to be able to reprogramm it without taken it out again. Micro USB ports have 5 pins,so just what we need. The idea is putting it on the bottom of display cover cover. Then it is accesible just by removing the glass panel. I'll post some pictures when it is ready.