At the top is the connector, stays within the enclosure. Middle left is a small stepdown converter to get from 12V to 5V for the ESP. On the right is a MAX485 based RS485 interface. At the bottom you see a custom board I use for ESPHome projects someone shared on PCBWay. I flash the 12E/12F module and then solder it to the board, OTA from there.
The electronics are placed in there, the boards separated by two of the H-shaped spacers. Once the box is screwed closed, two holders are attached wich allow clipping it to the heated water out pipe at the back of the machine. The cable comes out at the bottom, so humidity should not be too much of an issue. I’ll add a TPU based seal later.
I plan to add the files on github later. So far I’m really happy with the results and best of all, I can elminiate the tuya cloud. Also directly communicating with modbus unlocked a “super silent” mode which is not available via the hardware user interface or the tuya based app.
One note on compatibility. I have an IPS pro by Poolsystems which seems to be identical or very similar to the Inver X from Fairland directly. These heatpumps seem to be sold under many different brands. At least for my model, you can add the feature to control it via app. It looks like all they do is ship the unit with a different controller which is in box separate from the main controller. At least this is where the WIFI module is located as inside the metal enclosure of the heatpump, there would be very little reception. It looks like the main control board is the same with or without wifi support. My guess is, one could buy the cheaper option without app and make it smart with the solution described above.
I already have ideas to improve my solution. The M5 stack tough seems to fit in the space of the current UI box. Moving the original box to the inside or disconnecting it entirely I could use the M5stack to control the pump manually adding things like presets or other advanced things.
@rstcologne: When I browse to your Github using the above link, I get a 404 error. It also does not show up on your Github project page. Did you remove it?
I have a HF2211 RS485 to Wifi/Ethernet device that I am using to control my Vistapool swimming controller (see Vistapool Integration). Can I use the same device to connect to the Fairland Inver-X? I would think this is possible as RS485 is a bus system. The wiring would look like this (Device 1: Vistapool, Device 2: Fairland):
Have you tried the Aqua Temp application together with the HA integration?
Retrieves a lot of sensor information, including controls and switches and works with all wi-fi modules based on tuya. I personally tried it on Hayward, AstralPool heat pumps with the same type of wi-fi module.
No, never used AquaTemp. If I understand correctly, it would also require external accounts to work which then need to be integrated into HA with a custom integration. While this might be an option which works perfectly fine, personally I’m really happy with the very direct integration without dependencies to something outside of my network. The aquatemp approach sounds like there are more components involved which have the potential to cause problems when HA evolves.
But thanks for mentioning it here as it might be a more stable solution than tuya local and local tuyya and more suitable for people who don’t want to open their heatpump and fiddle around with the controlboard.
By the way, my ESPHome Device also retrieves more sensor information than actually used in the dashboard.
I will definitely try your version, especially since I already have all the components from previous projects and I don’t mind sticking my nose in the heat pump.
Sooooo, I’ve tried your solution and …sorry…failed. Don’t know why. I’m using HA since April this year for all of my smart devices (meross, tuya, sonoff ect.). For my energy management (photovoltaic) i’m using a tasmota smart meter reader (DIY interface by bitShake) and one ESP Home interface for some relais. So, I’m actually stuck in the topic.
Actually, i’m using the “Tuya local” integration for my heating pump. (NOT “Local Tuya”!!!) but NOW wanted to decouple it from the Tuya cloud AND the WIFI-Adapter given by Pool-Systems/Fairland
What I’ve done: bought similar devices like Richard:
AZDelivery NodeMCU Amica Modul V2 ESP8266 ESP-12F WiFi - Node MCU ESP 8266 WiFi Development Board with CP2102
DC-DC Buck Converter 4.5-28V bis 0.8-20V MP1584EN Mini Step Down adjustable converter
JST-XH Premium 3S 4Pin 20cm Balancer-cable
Hailege TTL to RS485 485 to Serial UART Level Reciprocal Hardware Automatic Flow Control UART to RS485 Converter RS485 to TTL
Annotation: The DC-DC buck converter was first used for down regulation from 12V to 5V (measured by a multimeter)…but then i decied better to use first a normal 5V power adapter for the ESP 8266 power connection to eliminate an errorsource. Soldered them all in the same way as Richard (see images)
My heating pump is an IPS 170 full inverter heating pump by pool-systems (similar to all of the fairland devices and to Richard’s :-)). And yes…there exist this “B A G +12V” interface for the original wifi-adapter…to be used as DIY connection.
Approach:
installation of a new ESP Home device called “ISP 170”; (ESPHome version 2023.8.2)
I´ve copied Richard’s code below the " captive_portal" (yes, only once in the hole script)
install/flash via USB
→ good WIFi connection according to the log-file; ESP-Home integration status “online”
→ settings/devices&services/add integration with the correct IP Adress and the API code given by the ESP Home integration (three dots) → fine
after some time (at first …for a long time “N/A”, then restarted HA etc.) i was able to push e.g. the power switch. Nothing happend at the heating pump. silent/boost buttons & Temperature slider available (auto/cooling/heating) but without any effect when pushed in HA.
conclusion: “B” and “A” from the RS485 to the heating pump circuit board seem to be connected correctly (black and white cable of the JST-XH adapter). The power adapter 5V is connected to the ESP8266. Rx, Tx, GND and 3V3 from ESP 8266 connected to RxD, TxD, VCC and GND at the RS485. By the way…the RS485 onboard-LED glows red.
Unfortunately no, they are connected correctly (but I also twisted it…just for fun…no effect). I ran the ESP installation again (took aprox 5 min). ESP is online but there are no sensor data available (e.g. PWP speed percentage). e.g. PWP power switch is available but no reaction at the heating pump when pushed.
Here are the data from fairyland for MY board (MWH298-V2 2018.03.26).
Yeahhhhhh. It’s working fine now. There was no hardware problem…after reading some scripts regarding “modbus” I’ve found the failure. I had to add this to my ESP-Home yaml
Enable logging
logger:
hardware_uart: UART0_SWAP
Now it’s working and all of the sensors are really nice.
Remark: don’t forget to unplug the original wifi-adapter. Otherwise you will risk a “shot circuit” or a “loop”.
It’s a pity that you can’t select a “thermostat template” for the dashboard. It’s just not a “climate” entity. And for “sensors” you can’t use ist…any ideas? The template for my softub looks nice.
My Dashboard from the evening. The heating pump is currently not running
It’s also bugging me a bit, that so far I have not figured out how to make this into a climate entity. I tried, couldn’t figure it out and then just built the dashboard with regular elements. Guess I’ll get back to it over winter when the nights are long
Thank you very much . After few days it works for me . Mainly I wait for HW to come from shop. At first I ordered another type of TTL2RS485 board. I doesn’t work . So I decided to buy very similar to yours. It has TX and RX LED. I helps me a lot. And reading logfile !!! I am using ESP32 board , and it uses logging on standard RX,TX ( GPIO1 &3 ). When I did change output to GPIO16&17 it works . Thanks again for your work.
P.S. Right now I am waiting for ESP32 board with connector for external antenna to have better wifi signal.
I am trying to add to your code also other entities ( like reading/setting defrosting etc. ) .
Just quick correction for now. You are calculating Actual power = Actual current * 230V. That is not correct. Because it is inverter, it is not using 230V internally . There is inverter inside . It uses PFC Voltage.
Just
add following code
will give you actual voltage , and correct following code
platform: template
name: “PWP Compressor Power”
id: pwp_compressor_power
unit_of_measurement: “W”
lambda: |-
if (id(pwp_compressor_current).state) {
return id(pwp_compressor_current).state * id(voltage_of_pfc).state;
} else {
return 0.0;
}
update_interval: 1s
At least for me , is is much more accurate. I have HW power meter for my heatpump. After correction , it is accurate ±5%.
Hi guys.
I found other mistake.
Ambient temperature , address should be 0x5 not 0x4 . Probably just typo during copy .
Anyway , it is not measuring incoming air correctly. For my situation , it is showing 4 degrees less than reality. I am not sure , where that temperature sensor is installed , maybe it is measuring outgoing air temperature. I will measure it in next days . Right now I am 10km away, connected remotely. I have two other thermometers , which shows higher temperature.
I tried to setup everything the way @rstcologne and @deepstahl77 did.
However the RS485 Converter only lights up one LED and the ESP is sending Data to the Controller Board. The Controller Board never sends anything back. I have a MWH298-V2.1 Board.
Does it matter if the heatpump is installed properly? Right now its not installed yet and I wanted to test the ESPHome Modbus Implementation.