Loving all this work everyone has contributed to. I was happy when I found I might be able to provide a remote on off to my 2011 installed Actron system. I never dreamed full control via HA would be possible. So good!
I have asked a question on JohnFs github, but not sure how much visibility that gets so wanted to ask here for anyone’s input. Sorry for asking basic questions but I would like to check the following please:
The parts list has, “Resistors: 20kΩ, 4.7kΩ, 1.2kΩ (0.5W or higher)” but in the schematic it uses 22kΩ, 4.7kΩ, 1kΩ. which one of these is correct or best? (22k vs 20k and 1k vs 1.2k)
I’m new to ESPhome, could someone confirm if the substitutions I would need for the C3 supermini used in the schematic are correct below?
substitutions:
@MrFlibbles Looks like I need to turn on notifications for GitHub discussion!
These values shouldn’t matter too much, but I should fix up the inconsistency!
I think the original design had 20k and 1.2k but I only had 22 amd 1 available when I built it. I suspect it will work fine either way. Just check the voltage you get between R2 and R3 and make sure it is within the voltage range of your ESP32 can take on a GPIO.
The GPIO pins typically don’t matter. If you look up your ESP32 it may have some recommendations for SDA/SCL. Main thing is when you install it with esphome take not of any GPIOs it suggest you avoid and then change to something else
I asked about the GPIO pins as I’m trying to match your vero board layout to improve my chances of success. I bought Fritzing which helps a lot to see what is attached where and which vero board strips to break continuity on.
I have the same model ESP32 C3 super mini as in your schematic so was trying to map it out. Your schematic of the super mini in Fritzing shows GPIO 8 and 9 as SDA and SCL, which matches the doco for it, but those are not used for any connection which is why I asked.
Sorry for the basic questions but are the SDA/SCL labelled pins just recommendations?
Just wanted to point this out for people concerned with voltage drift: Unless you have an 8-zone system voltage drift should not be an issue (and if it is there very likely is a physical problem with the circuit or power).
Voltages of all wall panel buttons apart from zones 5-8 are spread sufficiently far apart that even a substantial temperature change (the transistor is temperature sensitive) should not cause enough movement, unless I guess you go ± 10C or something crazy like that.
Zones 5-8 are unfortunately “encoded” very close to other buttons and they can quite easily drift “over” other values (or vice versa). I personally think that assuming a clean power supply (and a properly soldered circuit) the only possible cause for that should be the transistor reacting to temperature swings (which is expected and is something you can easily test with a hair dryer).
My solution to that was placing the device under the “common” zone - circulation loop which is always active, since then (over a year) I saw no drift at all. It would be nice to be able to handle that in some other way but I don’t see any method that wouldn’t severely increase complexity of the device both in hardware and firmware.
I done some more reading and understand more on the ESP GPIOs now. I can use many of them as options for SDA and SCL. If I want to mirror the config in the schematic then my substitutions should be:
Thank you for this stsilver. I have a 7 zone enabled system so this could impact me. Is there any way to stabilize the temp on the transistor? Do heat sinks work (I see they do exist do the TO-92 package but not sure if it would help enough). Or are their other transistors which are more resilient to temp changes?
I have zero knowledge here, so apologies if this is a stupid question.
No, it’s not a heating issue so you can’t solve it with radiators.
Basically the transistor junction (the “sandwich” that makes a transistor transistor) changes conducting property according to ambient temperature. That property is very widely used in temperature sensors.
Unfortunately for us, the drift magnitude sufficient to affect the buttons is quite small in the general scope of things and mitigating it will require pretty precise components and / or firmware corrections.
My first attempt would be an op-amp, but again it will probably require some tweaking and trial and error.
It’s certainly possible, don’t get me wrong, but I personally didn’t feel like digging too much into it and followed the path of the least resistance - placing the unit in a temperature stable environment.
Hello everyone, thank you for all this fantastic work to modify these old controllers!
I read the thread from top to bottom, and then despite a complete lack of soldering ability, built the circuit, tuned the voltages, and now I have a wifi controllable aircon! For reference, my keypad is a 4-zone AM7. My keypad voltage was ~15V.
I used johnf’s circuit and code - thanks! I put the circuit into a box and tucked it into the wall. I haven’t noticed any voltage drift.
I don’t have a very good multimeter, and so rather than test voltage directly, I simply used trial and error to zero in on good settings. I’ve put the file I used for that up here: GitHub - lawther/actron-air-esphome: Actron Air ESP32 Keypad Component for ESPHome · GitHub (see tuning-4zone.yaml). It also meant I could have the circuit placed in the wall with the keypad re-attached, let it sit for a day or so, and then tune it, without needing physical access to it.
One thing I did that I’m reasonably happy with was I designed and 3d-printed a little thing to take the strain off the wire connections on the keypad.
I just stuck it there with double sided tape. Now when the panel dangled out of the wall while I worked, the wires aren’t stressed right at the connection point. Plus it was much easier to screw in the wires when they weren’t also holding the weight of the keypad at the screw-in point. I put the model up here: GitHub - lawther/actron-air-esphome: Actron Air ESP32 Keypad Component for ESPHome · GitHub (see 3d-models/wire stress relief.stl) I sized it to fit through the hole in my wall plate.
Well, I have finally come to a solution for my 8 zone controller. I was in the minority that had issues with drift. My preferred place to install the device was not temperature stable.
I originally tried using an op-amp to adjust the gain based on feed back across a shunt resistor, I did not get this working successfully, most probably due to selecting an op-amp that had a fairly high minimum voltage differential. Really needed a precision op-amp, but in the end I changed tack and did a pretty simplistic, but repetitive circuit.
I used a MCP 23017 16 bit GPOI expander, each pin driving through an opto-coupler to a fixed resistor and trim pot to the Key line. Each resistor is sized to a specific key function. So basically, the full keypad with an electrically operated switch instead of a push button.
Not very elegant, but it works.
The code is based on the work in this thread modified to switch i/o’s rather than output a voltage via the DAC. I have also added a few diagnostic sensors and reworked the ISR a bit - mostly as a learning exercise.
I have been running it for 3 months or so now, I have automations set up in Home Assistant to turn it on during free power windows, and turn on/off zones etc. Has been running well.
I have modified the software such that it correctly displays the room temperatures (press timer up/down) and alpha numeric characters (Fan ESP mode) but haven’t changed the custom card that JohnF created to support that.
I have found that at the moment the timer up/down buttons are not working from the board, it is not a feature that I am using so I haven’t looked at. Haven’t even checked the voltage output on the key line. (In modifying the software for the room temp display, I used the standard controller keys).
I can’t see that this would be much more than adjusting resistor values, but as I say, I haven’t had the time to look into it.
Ive finally got one of these to the point where i thought it was ready but when i go to power it off the AC wall plate i cant get it to connect to wifi or fallback to AP mode…im getting to the point of throwing my toys out of the pram…does anyone want to make me one and ill pay for it and shipping?