My evakool fridge comes with an app that connects over WiFi to a proprietary TCP service. ie: not HTTP.
The Android app that talks to this TCP service is shit.
I'm going to attempt to make a less shit app.
You connect to a WiFi network named JTZNBX_<FRIDGE_ID>
In my case <FRIDGE_ID>
is 767BC1
The fridge hands out DHCP addresses, where it is the default gateway of 192.168.4.1/24
The WiFi network it's self is unprotected.
Assuming you can ping the fridge then these are the commands you can send it
over TCP port 180
.
The <USERNAME>
& <PASSWORD>
appear to be static, I got them from this manual: https://www.evakool.com.au/core/media/media.nl?id=62328&c=6457383&h=op1S_KjoBH-SUttFdrA5xkhUzQJeTB2U0QASk1xH3-ssQ5Zr&_xt=.pdf
-
TX:
JTZNBX2015#login#<FRIDGE_ID>#<USERNAME>#<PASSWORD>#
- eg:
JTZNBX2015#login#767BC1#12345678900#123456#
- eg:
-
RX:
SUCCESS#76#1#
- No idea what the 76 & 1 mean
This is perhaps going to be the most useful thing we get out of the the fridge.
-
TX:
JTZNBX2015#read_state#
-
RX:
SUCCESS#<CURRENT_TEMP_LEFT>#<CURRENT_TEMP_RIGHT>#<REQUESTED_TEMP_LEFT>#<REQUESTED_TEMP_RIGHT>#<VOLTS>#<VOLTS_DECIMAL>#10#0#
- eg:
SUCCESS#2#-16#0#-18#27#16#10#0#
- I think the last
10#0
may have something to do with the low voltage cut off setting10
= HIGH VOLTAGE CUTOFF = 11.89
= MEDIUM VOLTAGE CUTOFF = 11.4v8
= LOW VOLTAGE CUTOFF = 10.1v- Still no idea what the last
#0
means???- Actually at a guess I think it might be like an error code.
The android app has a box with the words "Fridge working properly" but
I guess it's possibly that could contain other messages based on this
last last digit.
- In the manual there are a list of error codes, my guess is that this last digit relates to this in some way.
- ER1: Thermistor is Unplugged
- ER2: Thermistor is Short Circuited
- E1: Low Voltage
- E2: Fan Issue - Fan is drawing too many Amps (Over 1 Amp).
- E3: Compressor Start Issues
- E4: The Compressor Speed is Too Low
- E5: Ambient Temperature Too High
- In the manual there are a list of error codes, my guess is that this last digit relates to this in some way.
- Actually at a guess I think it might be like an error code.
The android app has a box with the words "Fridge working properly" but
I guess it's possibly that could contain other messages based on this
last last digit.
- eg:
-
RIGHT
=SMALLSIDE
(has shelf at least on my TravelMate 80L) -
LEFT
=BIGSIDE
-
TX:
JTZNBX2015#setconfig#50#32#<XFACTOR>#
- XFACTOR: 8 low volts & celsius
- XFACTOR: 9 med volts & celsius
- XFACTOR: 10 high volts & celsius
- XFACTOR: 12 low volts & ferhnheight
- XFACTOR: 13 med volts & ferh
- XFACTOR: 14 high volts & fern
- Seems to +4 for ferhnheight
- Not sure what that
#50#32#
are yet, i presume temp but that have not changed throughout - Added 1 degree to LEFT and I now get
#51#
- Did the same for RIGHT and got
#33#
- So I presume
JTZNBX2015#setconfig#<REQUESTED_TEMP_LEFT>#<REQUESTED_TEMP_RIGHT>#<XFACTOR>#
- But when setting the temp it's always in Ferhinheight???
-
RX:
SUCCESS
Honestly though I think we can just poll the read state function ourselves
- TX:
JTZNBX2015#read_<Y>_<X>#
<Y>
=wd1
= left temp<Y>
=wd2
= right temp<Y>
=dy1
= volts- Where
<X>
is 1 through 8, like paging I think - You get back a whole heap of crap that I really can't be bothered with right now.
- Like I say we will just poll the read state & put results into our own db.
Settings XFACTOR
to 2
seems to turn the fridge off.
Setting it back to 10
or a I guess a valid value turns it back on.