mathieu-mp / aio-intex-spa

Python client for Intex Spa wifi interface
https://pypi.org/project/aio-intex-spa/
MIT License
17 stars 2 forks source link

Identify spa model and/or features from info response #15

Closed mathieu-mp closed 1 year ago

mathieu-mp commented 2 years ago

Following #1

Feature request: Identify spa model and/or features from info response

mathieu-mp commented 2 years ago

For future reference, below is a table of the user/uid/model gathered from here and the forum thread :

User UID Name on Intex App Minimal Ref. Label Ref. Intex Spa SKU Issue #42
karetaj 01040210502021062800006040 SB-HWF 28439E Y
Elkropac 0K040210272020102000008062 Bubble SPA V28062 SB-HWF 21SB-HWF20**A0 28440EX ?
RoyEssers 0K040220122021081800011284 Bubble SPA V21284 SB-HWF SB-HWF20 28440NL ?
ec0li82 0K040210172020082000010526 Bubble SPA0526 SB-HWF SB-HWF20 28440 Y
Djes 0K04############2000002448 Bubble SPA2448 SB-HWF SB-HWF20 28442EX ?
Rolrik 0K040220082021081800017575 Sweet Spa SB-HWF SB-HWF20 28442EX ?
rogerveijk 0K040210202020082000001395 Bubble SPA0139 SB-HWF 21SB-HWF20**A0 28442NL Y
FredericMa 0K040220252021122800018539 Bubble SPA Plus8539 SB-HSWF SB-HSWF20 28452EX ?
networks514 0K040220262022010600013380 Bubble SPA Plus3380
 SB-HSWF
 SB-HSWF20 28446EX ?
montgomeryb 0K040210272020102000002924 Combo SPA V22924 SC-WF SC-WF10 28461E Y
mathieu-mp 0K040210392021030300016637 SC-WF 21SC-WF20**A0 28458EX N
ntls2000 0K040220312021122000001462 Combo SPA V21462 SC-WF SC-WF20 (2022) 28458EX ?
CyrilP 0K040220082021081800019136 Combo SPA v29136 SC-WF 21SC-WF20**A0 ?
JulienT-FL SC-WF SC-WF20 28462EX ?

...and a table of the model/feature gathered from various sources:

EU Model US Model EU Control Panel Part No. Intex Spa FR Name Intex Spa US Name EU Manual Ref. Bubbles Sanitizer Jets
28440 28439 13035 SB-HWF20 (352A) Baltik 4p Greywood 4p X
28442 28441 13035 SB-HWF20 (352A) Baltik 6p Greywood 6p X
28450 28449 13100 SB-HSWF20 (353A) Ardoise 4p - 4p X X
28452 28451 13100C SB-HSWF20 (353A) Ardoise 6p - 6p X X
28446 28445 13100 SB-HSWF20 (353A) Chevron 4p Chevron 4p X X
28472 28471 13100C SB-HSWF20 (353A) Chevron 6p Chevron 6p X X
28458 28457 13023 SC-WF20 (351A) Carbone 4p - 4p X X X
28462 28461 13023 SC-WF20 (351A) Carbone 6p - 6p X X X
28464 28463 13023C SC-WF20-1 (357A) Calacatta 4p Calacatta 4p X X X
FredericMa commented 2 years ago

I have the following spa: UID: 0K040220252021122800018539 Name on Intex App: Bubble SPA Plus8539 User manual Ref.: PureSpa Greywood Deluxe SB-HSWF20 Intex Spa FR ref.: 28452EX Intex Spa FR Name: Ardoise 6p

It looks like the UID and "Name on Intex App" columns are swapped in your post above.

RoyEssers commented 2 years ago

Info from my Spa Model: UID: 0K040220122021081800011284 Name on Intex App: Bubble SPA V21284 User manual Ref.: PureSpa Greywood Deluxe SB-HWF20 Intex Spa ref.: 28440NL Intex SpaName: Bubble Massage Greywood Deluxe 4P

mathieu-mp commented 2 years ago

Hi @Elkropac, would you tell us what is your spa:

mathieu-mp commented 2 years ago

Hi @Rolrik, would you please tell us what is your spa:

If you don't have your spa uid, I will later provide a way to retrieve it easily.

Rolrik commented 2 years ago

Hi Mathieu, FYI, i'm from France. UID : 0K040220082021081800017575 Name on Intex App : Sweet Spa User manual Ref. : PureSpa Greywood Deluxe SB-HWF20 Intex Spa ref. : 28442EX Intex Spa FR Name : PureSpa Baltik 6p

Thx

mathieu-mp commented 2 years ago

Hi @Rolrik,

Intex Spa ref. : 28442EX Intex Spa FR Name : PureSpa Baltik 6p

Nice : now we have 2 users with the same model. It should help to understand the uid ! I'm so excited !

I don't have the UUID.

I just updated the home assistant integration. You can now enable a "UID" sensor to display it!

FYI, i'm from France

No need to heat the spa these days, right ?

Elkropac commented 2 years ago

Hi @Elkropac, would you tell us what is your spa:

  • User manual Reference
  • Intex Spa ref.
  • Intex Spa FR Name Thanks !

Hi, i don't know , if i still have manual ;)

I have this i think "Spa gonflable Baltik 4 places" , REF. 28440EX , model 2021 Sticker on device is 20220713_103724~2

Rolrik commented 2 years ago

Just update my Comment. And yes no need to heat it up, 35°C yesterday afternoon without heating.

Elkropac commented 2 years ago

Just update my Comment. And yes no need to heat it up, 35°C yesterday afternoon without heating.

Wow, crazy. I'm waiting for my friend to 3d print adapter, so i can connect solar heater to my SPA, water is now 23°C without heating, which is good, we use it to cool ourselves

mathieu-mp commented 2 years ago

From Yogui79 IntexPureSpa RF Controller code: Spa Models 28458, 28462, 28457(US), 28461(US) have jets and sanitizer. Spa models 28442, 28440 don't have jets and sanitizers.

FredericMa commented 2 years ago

28452 is in between; it doesn't have jets but it does have a sanitizer. 😄

ntls2000 commented 2 years ago

Intex Pure Spa Carbone 4 places - modèle 2022 PureSpa SC-WF20 Bubble / Jets / Sanitizer ProductName: Combo SPA V21462 UID: 0K040220312021122000001462

mathieu-mp commented 2 years ago

UUID Visual reverse engineering

Starting from the UUID, I suppose I can read dates, serial numbers, and/or firmware versions: 0K040 21039 20210303 00016637 But I cannot find a logic by analyzing et comparing identical/different spa models UUID to clearly identify the model from the UUID. I am mainly blocked by the presence of identical uuid blocs on 2 different models.

So I personally can't make the UUID match the model by uuid visual reverse engeneering.

Uncompiled Intex App Reverse engineering

In the uncompiled Intex App, the identification of the spa model/features is made by requesting the cloud server, so I guess Intex keeps a map of uuid to model/feature. It would be a solution to make an similar request to the spa cloud.

Impact of non implementation of this feature request Not implementing this feature request means the user has to disable the features that his spa does not implement (sanitizer and/or jets). From a python library point of view, not disabling this features does not lead to any error or exception. From a user point of view, it looks like everything works while the non-existant jets or sanitizer actually do nothing.

Conclusion at this time At this time, the only identified solution is to request the Intex cloud to gather the spa feature from its uuid. Considering the low impact of non-implementation, it feels like it is not worth the time to develop it.

Contribution appreciated Any contribution to help understanding how to associate a uuid to its spa model would be appreciated. If the logic is understood, I can develop the corresponding code. While the logic is not understood, I will not implement this feature request.

Elkropac commented 2 years ago

Hi, for me , most reasonable way is to use only the last 4 digits of uid to get the features. Also when fifth digit from back is non-zero, it seems to mean V2.

Make the detection using just one big switch statement on last 4 digits. With all features enabled for unknown model number as fallback + some "unknown_model" flag set to "true". If some variation of known uid with different features appears, then deal with it afterwards?

Is there a way to tell home assistant user, that his model is not known and ask him to create feature request on github with his model/uid (maybe in config_flow, based on response from this low level library) ?

mathieu-mp commented 2 years ago

Hi @Elkropac ,

Considering the collected data, it seems that the 4 last digits are really the only one where there is no pattern at all, so I assume the 4 last digits are the unique part and not the model. We would need more contributions to build a database and maybe find the pattern.

Elkropac commented 2 years ago

Hi @mathieu-mp , you are right, i don't know what i saw there ...

Without more data , there is no way to even try to recognize some pattern in uid

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

rogerveijk commented 1 year ago

UID: 0K040210202020082000001395 Name on Intex App: Bubble SPA0139 User manual Ref. : Greywood deluxe for 6p Ref. 21SB-HWF20**A0 Intex Spa ref. : 28442NL

Features; no jets / sanitizer

networks514 commented 1 year ago

Hi

Intex Pure Spa Chevron 4 places - modèle 2023

User manual Ref : PureSpa SB-HSWF20 
Name on Intex App : Bubble SPA Plus3380
 Intex spa réf : 28446EX UID: 0K040220262022010600013380 bubble / sanitizer

very good job, works perfectly , tks @mathieu-mp !

montgomeryb commented 1 year ago

Thanks.. Here's another entry: UID: 0K040210272020102000002924 Name on Intex App: Combo SPA V22924 User manual Ref. : PureSpa SC-WF10 Intex Spa ref. : 28461E