I’m in switzerland. Max Heuri is providing Revogi OEM devices under the name MaxSmart.
I’m currently using their cloud ,but I managed to find the API for on/off, and now I want to extend my use to Home Assistant and get rid of the stupid badly develop app.
My article is in french but google transalates it fine
By the way, I just realize there are huge differences between the MaxSmart and the Revogi.
The MaxSmart plugs do not run on WIFI, but on PowerLAN
The MaxSmart Application does NOT need Internet to be connected. The appilcation communicates directly with the devices if the cloud is not connected. This a very very GOOD POINT (Thank you Max Heuri)
I found out anyway that these are Revogi devices by looking up on the MAC vendor.
Therefore, with the MaxSmart devices, their might not be any need to hack into the devices to disable wifi and cloud connection. Also, I would be curious if any Revogi user would try the MaxSmart application (I use it on Android) to see if it can see and command the native revogi devices. Would be helpful for you all Revogi users.
I was able to test power on and power off of one of the sockets. It works correctly but from Developer Tools services only.
The state widget does not work. It seems it is not able to interpret the 511 command result. I’ll try to troubleshoot.
Can you please share the result of a 511 command in json format for your outlet ? Mine looks like this. I don’t undertsand why you divide watt by 1000.
Well. When I speak about the “Widget”, I speak about the representation of the states on the frontpage
But now, I was able to make it work, by removing the division by 1000.
Also, it seems that Max Hauri has been more cautious on their requirement specifications. telnet and SSH servers are disabled, or at least they do not answer on port 22 nor 23, and traffic to the cloud website is encrypted. I will try a port scanner to see if the port is different. Also, I’ve been trying to find out where the APP find the name of the plugs. I was unable to find the command to get the names. What I see so far is that the 1st time the app is opened, there is a call to the cloud site, or, if internet is not available, to one of the power strip. My guess is that a file containing the latest list of devices is downloaded from the Power strip itself.
When connecting to the cloud site, a command 500 is sent, which returns the complete list of power strips, states, values, names, of all the devices registered on the network.
I hope I can find a way to access this file. This would be gorgeous to gather the complete list of sockets in the house, rather then query each strip separately, and without the names.
Beside of 200 and 511, did you identify more commands ?
I will share later tonight the list of commands I have identified.
Get MaxSmart device names and some details https://www.maxsmart.ch/services/ajax.html?cmd=500&json={"dev": "all"}
Local commands:
Get MaxSmart cpuid, plcmac, plcdak, cloud server url http://maxsmart-sandbox.fritz.box/?cmd=124
Set mac, sak, plcmac and plcdak. WARNING: Do not run EMPTY. It will delete the identifiers http://maxsmart-sandbox.fritz.box/?cmd=122&json={"plcmac":"BC2BD712345","plcdak":"MLRM-ABCD-EFGH-GHVX","sn":"SWP6023002012345","mac":"BC:2B:D7:F3:4B:23","sak":"367123123453"}
Factory reset (does not restore identifies to originals if deleted with command 122) http://maxsmart-sandbox.fritz.box/?cmd=120&json={"op":2}
Name port (0 = strip, 1-6, ports) http://maxsmart-sandbox.fritz.box/?cmd=201&json={"port":0,"name":"Strip name"} http://maxsmart-sandbox.fritz.box/?cmd=201&json={"port":3,"name":"Socket 3 name"}
Get power states and consumption http://maxsmart-sandbox.fritz.box/?cmd=511
I guess 120 122 and 124 are for OEMs. Allowing to overwrite identifiers for their own use.
For the rest, there are other commands that I know have a function but do not work without parameters. And I don’t know the parameters o_0
If I had time and need, I would put the plug behind a sniffer, or a sniffer behind my router to capture 100% of the traffic between the plug and the cloud.
Great. It means Cloud is not mandatory for setup. That’s a good news
I’m going forward on the script. I struggled for some days, because it was working very randomly, and even my wifi AP was hanging, until I realize it was due to one of the power strip being defect o_0
I have now added the support for single outlet plugs.
I will share my script when I have sorted out some other details.
well it sort of is. But if you did the steps of hacking the device, then you don’t need it.
If the strip is “unhacked” it has to bee connected to the internet and if it looses internet connection even if your lan or wifi is still working the strip reboots until it has a connection again.
I’m trying with socket/plug, I get no error in HA log, but if i try /?cmd=511 in chrome I get connection refused. I was on firmware 5.01, got updated to 5.06. Maybe I need some older firmware (maybe possible to downgrade with old app versions?) I know I had issue with strip where I needed to go trought several old app versions to get working firmware. But now I guess I need to downgrade. Or is there some trick to calling command 511?
I want to buy 3 strips to use on ethernet with hack above, but if newer firmwares are unusable as with the plug I don’t know how probable is success