I might be able to control my adjustable beds (Reverie 5D) via MQTT but I need some help
from MQTT gurus. Reverie tech sent me a confidential doc with the description how to
control beds with MQTT. Since info is confidential I cannot disclose all details but the doc
describes only:
MQTT TOPIC in format : name/DeviceID
where name is (I guess) a topic subfolder on the MQTT Broker
and DeviceID is an ID for my bed.
Payload is a set of commands in JSON format
So far they did not provide me an info for the MQTT Broker but checking my router logs
I figured out bed is talking to the Amazon Cloud:
54.242.254.7:8883 (IP resolves to : ec2-54-242-254-7.compute-1.amazonaws.com).
My good guess, I need some sort of the MQTT Client.
By digging through forum I found couple custom MQTT integrations which may do the job.
One is MQTT Link developed by @tpc77 and second one is MQTT Beta developed by @kevin
My question are:
Which one should I try (If any will do the job)?
What info do I need for the MQTT Broker?
I tried to use MQTT Explorer pointing to the above IP address and using my credentials
for the Reverie Connect app. I was not surprised to see the connection was refused by server.
And just in case, I have Home Assistant running Mosquitto MQQT Broker.
I am using it successfully for the integration with ESPresence passing presence of few
BLE Beacons to the HE. I will be OK to use HA for the Reverie integration but I have no idea
how to configure HA MQTT Broker. I posted this question on the HA forum but so far did not
get any useful response.
If I can make this working it will be Cloud-based integration which I really trying to avoid.
Bed also talks via Bluetooth to the Android app. My speculation is : Reverie may use the
same MQTT protocol via Bluetooth. So my next step will be to get rid of Cloud but first
I need to get it working through the Cloud.
Depending on the complexity of the JSON payload you may be able to use my MQTT app. I currently support a single level of nested JSON only.
However you will need to be able to connect to the broker and read the JSON payload. This means either you can get access to their cloud broker or you must be able to use a local (custom) MQTT broker which I suspect they don’t allow you to configure. i.e. get to a situation where you can see the JSON payload in MQTT Explorer.
@kevin Thank you very much for the very quick response.
I am confused if Payload is nested JSON or not.
In the general description it is Payload : {"command" : "{value}"} but in the example
payload it is {"command" : "value"} i.e. curved brackets around value are absent.
Now I am confused which one is true. But since yours app supports only single level
of nested JSON I will be able (I hope) to test only {"command" : "value"} version.
My good guess, the MQTT Broker info is hard coded in their WiFi Bridge.
The app allowed only to hookup their WiFi Bridge to my WiFi network.
Also app is asking for my user name and password and that is it.
I wish, I can repoint WiFi Bridge to talk to my HA MQTT Broker but
this is not a case.
And my question is:
How do I install and try yours app?
I did not find it in the HPM. Or I did not search for a right name (searched for MQTT)?
PS.
I red your README where you said your app is for very knowledgeable users.
Unfortunately I am not in this category but really willing to try this.
So, should I forget about this driver and app or you will be wiling to spend few minutes
and help me at least to try it?
My app is in a beta 3e release, available by PM only. Version 3d was broken by a recent HE update. I will send you by PM a link to the latest repository.
v3e is very stable I think and will probably become the last beta as v4. I will post this for full public testing ‘soon’. I am not getting any bug reports. It is, and will always remain open to future feature support but that is the nature of MQTT as more and more integrations use it as their interconnect.
You might need help from me in extracting JSON key values as documentation is scattered, but until you can access the payload using say MQTT Explorer you’re stuck I’m afraid.
Ops. Are you saying MQTT Explorer should/must be able to connect to the MQTT Broker?
Another words, when I click on the CONNECT button:
the connection must be established?
(I am using the IP and Port which is my bed is using. And the credentials are for the
Reverie Connect app.)
Unfortunately the connection never was successful.
The broker seems to be hosted in Amazon Cloud:
54.242.254.7:8883 ec2-54-242-254-7.compute-1.amazonaws.com
I am sure the credentials for Amazon Cloud are Reverie's private, not my.
So basically I am done? Nothing will work?
Then I am not sure why they emailed me the confidential doc describing
all MQTT commands if I cannot use them. This is very strange and makes no sense.