I recently purchased a Madimack Inverchlor pool chlorinator and added it to my Tuya account, got the key and then added it to Tuya Local. It was discovered automatically as the correct device and added to Home Assistant. I have the pH doser dumb model, so no pH probe, also do not have the ORP option (or even the ability to add it).
Most things are shown correctly in the device integration (certainly more than the Tuya app exposes), but there are a lot of unkowns in the diagnostic section, such as water temperature and salt/pH alarms.
The chassis temperature shows as 2.7 deg C, this seems to be a scaling error and I would think it should be 27 deg C.
Has anyone added this unit to Home Assistant, if so could you provide guidance to sorting out values/issues ?
Some more digging and it seems the yaml file is a version of the Mr Pure chlorinator with all the optional sensors fitted, which aren’t available for my model sold here in Australia.
Have disabled anything to do with probes/sensors and figured that whats left works and matches the user manual and functions/notifications available. Timers work but must be set either on unit or in Tuya app, the unit doesn’t seem to mind being directed by either HA or Tuya as long as its not at same time.
Updates to measurements is not real time, so it mirrors the Tuya app in that respect. I experimented with the chip setting (changed from 8 to 10g) and caused the unit to trip on an E1 error. It seems to read the parameter from the unit on startup so should be read only as it corresponds to the cell generation capacity that is fitted which would be used by the device to figure out how to drive the cell.
The unit keeps defaulting to Fahrenheit in HA whenever it stops, have to manually set it again in HA everytime.
The last piece of the puzzle is the chlorination mode, which I believe contains multiple modes for the Mr Pure depending on what probes are fitted. As I have only the pH doser and no probes I am taking a guess that manual (dumb) chlorination should be used, where the unit just drives the cell at the percentage you set for the duration of the run time.
Will have to monitor pool chemistry and acid drum level to work out if the doser is doing its job.
Its a fairly rudimentary unit, it doesn’t even have a backwash mode and the unit will error on air in cell and stop pump if you try and use it to control pump to backwash sand filter. This is really annoying as I have to unplug the pump and manually run it for backwashing. Will have to think of a way around this, maybe a changeover relay so nothing needs to be unplugged.
It seems that the Madimack Inverchlor 10 unit sold here in Australia is a basic model of the Aquark or overseas Madimacks that can have optional Ph/ORP probes fitted. These models seem to have more DPS parameters to accomodate this. The model I have has no probes or additional sensors or modes, it just has the optional dumb doser that relies on the chlorinator algorithm to operate it enough during chlorination to dispense the set acid dose in ml per day.
This why I am missing a signicant amount of DPS parameters when I try and manually configure the device using Local Tuya.
After trial and error I have sorted most things out by modifying the yaml file in the custom repository and testing the results in the app and on the units display, I have kept a backup in case this gets overwritten by integration updates. I hope this doesn’t happen, if updates do this how do you go about using customised code in Tuya Local?
I have tested most parameters but still have queries around a few:
DPS 104 (boolean) - supposed to be temperature unit selection (C or F equates false or true) but my AU unit has no ability to set temperature details anywhere, the only temp sensor I have is the PSU (DPS 105) which is in celcius (hard coded). This boolean defaults to true when the unit powers up which displays Fahrenheit in HA. When you select Celsius in HA it will accept this (sets to false) and retain this until the next time the chlorination/pump cycle transitions from running to stop and it resets to true. I think on the model/country variant I have this DPS is not what the integration has defined, it must be used for something as its driven on (true) when powering up the unit.
DPS 121 (boolean) - supposed to be a timer enable/disable switch but it seems to do absolutely nothing. Certainly has no impact on timers or timer operation. When set it will happily stay that way until operated back to off in HA. Once again my device may have no firmware code that uses this DPS point, I can’t see anything change in the app or on the units display when this is operated.
DPS 129 (binary sensor) - supposed to be a bit map of error codes, shows OK when it returns 0. Will have to try and generate some error conditions to see if this actually works. I can generate air in cell error by backwashing, this shows in app so now with the integration running I will try it again next time backwashing is needed.
I was surprised that you can set and enable timers by writing a string using base64 encoding of a decimal space seperated number sequence. For reslience if you wanted the unit to hold its own local timers you could create a HA widget that accepts a user configured timer selection (dials and a switch bit) and writes then to the timer string entity. Will have to mull this one over as may be a fun project. I did try the yaml code from the Mr Pure chlorinator integration that has something like this already but in the yaml, but it broke the integration so I had to remove it.
Using Tuya dev cloud I have extracted the DPS config from the chlorinator and can see that it matches the Local Tuya github add Madimack chlorinator request. So the Aus unit has the same dps map, the issue is that the Aus unit (not having the optional probes I’m guessing) does not run firmware that uses the DPS associated with the overseas hardware model.
That explains why several DPS are shown as unknown and thus I have removed them from the local yaml config. I can only guess that even though DPS 121 exists it is just not being used in the Aus firmware as I can not seem to find any effect it has on the running of the device or in the Tuya app.
DPS104, even though it reads as ‘temp units’ from the above, is doing something else as a result of the firmware code. It is definitely a boolean as it will happily toggle on/off, its device power on state is true and never automatically changes to false. If set to false it always reverts to true whenever the device DPS 103 (chlorinator on/off) changes from true to false. So the frimware code is definitely doing something with/to it and its not a temperature units selection.
Will try and find a way to initiate an error code to see if DPS 129 does anything.