Samsung MIM-H03 Create new device type to show correct data?

Hi All,

I have been attempting to manually set a Samsung Air-conditioning Wifi Kit (MIM-H03) to a device type within smart things to provide data that a third party app requires to be able to control this device.

When I set the device “type” in Smart things to "Samsung OCF Airconditioner " it provides me data in imperial measurements and the data doesn’t match the actual device settings.


(im new and can only post one photo :slight_smile: )

I have gone through smart things and attempted to find another device type that would provide the correct data without success. Is there somewhere I can create my own device type and apply it to my smart things account or is this something that can only be done by Smart things developers?

The data I require is (home assistant):

  • airConditionerMode
  • airConditionerFanMode
  • temperatureMeasurement
  • thermostatCoolingSetpoint

Optional data:

  • powerConsumptionReport

when connecting directly with the MIM-H03 I can get a curl response of the below data which has all the correct settings that reflect the units state:

(i’m new and can only post one photo :slight_smile: I will post some pics below)

Thanks all!

photo of what the "Samsung OCF Air Conditioner provides

photo of what a “LAN” curl request provides back from the MIM-H03 unit

Welcome to the SmartThings Community, @Derf!
Have you tried to install the device from the SmartThings mobile app?
I mean going to Add (+) > Device > Search for device (look at the picture below) and then follow the instructions.

Once you add it, you’ll see which Device Type it uses and it should refresh accordingly.
If you want to send those values to a third-party, you can create a SmartApp with capabilities subscriptions that will help you receive the update events. Then, you’d decide how to send those values.
For more info:

Let me know if you have any questions.

Thanks for your response @nayelyz

This has been getting under my skin attempting to get this working so I took a break trying to sort it out and thought I would come back to it.

First I would like to note that I have removed my MIM-H03N from my smart things account and reset the MIM-H03N to factory defaults so I could re-add it by the method you have provided. When I select the MIM-H03N (Ducted) in the Smart Things list it first prompts on where to put this device (location). After pressing next it instructs to press the “AP” button on the MIM-H03N unit. The light comes on but it just sits there doing nothing.

I closed and re-opened smart things and immediately a pop up came up and said that a “Smart Airconditioner” is available to be setup. Going through this automated setup it attempts to connect to a Wifi access point named “[System A/C] Samsung”. I then get a notification on my phone stating “Failed to connect to ‘[System A/C] Samsung’: Wrong Password” The app will just sit there attempting to connect for 5 minutes until it times out (there is also a 5 minute AP timeout on the MIM-H03 unit).

The Smart Things apps has changed since I originally tried to setup the MIM-H03 I managed with trail and error to get it paired as even back then it was a pain to pair with smart things. When I originally paired them back in April I was able to pair by doing this

  1. Hold the AP Button to put the device in pairing mode
  2. Set a timer for 4 minutes 15 seconds
  3. When the timer is up load smart things and add a Samsung Smart airconditioner
  4. setup will configure device but cannot change it back to normal operation mode
  5. using the MIM-H03 5 minute timeout period it reset itself connected to my Wifi and the app thought it was configured successfully.

I can no longer pair this device to smart things.

Luckily for the moment I can keep trying to find resources from Smart things and tinkering to get this device working with the data I need. I believe (I still don’t know 100%) that I need to create a device Handler and change the device type to my custom device handler.

I have two MIM-H03N’s at my house so one of them can’t be paired as the smart things refuses to connect to one of them and I don’t plan on trying to factory reset the one that is currently working :smiley:

Here is what I am currently trying to do (Documenting incase anyone else is trying to get this working)

Thanks

If you have issues with the SmartThings app, you can contact SmartThings Support, in this case, the issue is in the onboarding process of the device.

Do you remember which was the original Device type assigned to the AC?

Thanks @nayelyz

The original Type was Samsung OCF Air Conditioner as per the original post as there isn’t one specifically for the MIM-H03. I started writing one hopefully I can finish it soon. (Smart Things never said a device type other than “Smart Air Conditioner”)

I am also going to try to setup another wifi router and see if its firewalling or something blocking the adoption process for smart things.

Ok, it’s just that you mention there were some issues about that.

The third party you want to send the device info to, has an HTTP endpoint?
As this is an OCF device, it’s more complex to create a new DTH than using a SmartApp to send the device events to other sources and/or change its status.
Which path would you like? I’ll help you either way

Thanks for the support @nayelyz really appreciate it. I think its a learning curve for me on how smart things work. Been going through the documentation but still a bit confusing for me.

I would like to first correct myself by default it doesn’t select “Samsung OCF Airconditioner” it must of been when I was playing with it. I removed the system from my Smart Things account and factory reset the device (I also had to setup a new wifi network 2.4Gh/z only as it was having issues with my merged 2.4/5ghz.).

By default when factory reset Smart things assigns it “placeholder” here is the default settings from a fresh adoption of the device.

I first attempted to add it via your first method (Searching MIM-H03). When using this method the smart things app just times out here is a video of attempting to add it via searching the wifi kit (I snipped the 5 minute video down to 30 seconds)

Failing this I setup the device type with the search for nearby devices which works (This sets the device type as placeholder by default).

The Third party software I am trying to interface this with is home assistant:
home-assistant .io/
Within home assistant is a smart things addon which allows the integration of your smart things device.
home-assistant .io/integrations/smartthings/

Scrolling down on the documentation page of home assistant advises what data it requires for the “Climate” feature

Capability Climate Features
airConditionerMode (required) hvac mode, hvac action
airConditionerFanMode (required) fan mode
temperatureMeasurement (required) temperature
thermostatCoolingSetpoint (required) target temp
demandResponseLoadControl drlc_status_duration (state attribute), drlc_status_level (state attribute), drlc_status_override (state attribute), drlc_status_start (state attribute)
powerConsumptionReport power_consumption_end (state attribute), power_consumption_energy (state attribute), power_consumption_power (state attribute), power_consumption_start (state attribute)

I am only attempting to get the required options for this moment.

I first reached out to the developers and support for this module and home assistant and was pointed over here as a custom device type handler was required to get the correct data to home assistant.

By default when I leave the device type as “placeholder” on the smart things web configuration and add it to my home assistant all the information that is received is about air quality which are not available due to the MIM-H03 not having these features. I have been through the listed device types and when I select a generic “Thermostat” device type it does pass data to home assistant however it is not the correct data for example where the device type of “generic thermostat” says “Current Temp: 20C" the MIM-H03 is passing on "Set Temp: 22c” I will see if I can post a video if that helps. So I think all I need to do is write a working device type handler to pass the correct data to home assistant. (I’ve created one called “Derf’s MIM-H03 Handler” which is the learning curve I am attempting to overcome).

Hope the above helps understand where I am up to.

Thanks

Thanks a lot for your detailed explanation, @Derf. Just so you know, having placeholder in the Device Type field means it doesn’t use any of the Standard DTH or none at all, as this is a Wi-Fi device, it can be working with another type of handler.
Let me verify some details about Home Assistant and about the device to see what can we do.

Thanks so much @nayelyz

If you need any information about the device and how it handles its data let me know.

I have successfully sent CURL post requests to change values to the device in Python just finding it a bit difficult to understand groovy and device handler types.

But no matter what RAW command I execute on the simulator the device won’t respond at all not even if I try and send something as basic as getting the current temperature.

Thanks

Hi there,
I got here looking for a solution to a similiar problem. I am trying to figure out what is the right device handler for MIM-H04N wifi kit units. I am too getting the placholder as the defualt device type. So, have you been able to figure it out?
Thanks

Hi @amithalp

I have been attempting to contact Samsung airconditioner technical support about this with no success. I am yet to hear any progress from @nayelyz about her efforts if not I will have to find some time to see if it is possible to get it working through smart things cloud or write an api via rest local control

Hi, @amithalp. If the device is set to placeholder when it’s installed, it means it is not related to any Device Handler (DTH). If you change this value to a DTH, it’s highly possible that the device will stop working correctly in the app.
When you recently add the device (without you making any changes) which capabilities appear for the device in the devices list?

@Derf, did you already set up Home Assistant as shown here:

Have you verified which are the original capabilities of the device?
How do you make the integration of the device there? As this is not a tool from SmartThings, I’m not familiar with it.

Thanks for the reponse @nayelyz

Yes I have Home assistant installed and integrated with smart things

Home assistant requires this device to have a Device Type Handler to be able to talk to the device and control its features. So with keeping the default DTH as “Placeholder” there is no functionality to change the setpoint, modes, etc.

The integration for home assistant pulls everything from the device and the device handler. So its just a matter of creating a device type handler to control the device which is where I am stuck as when I try to create a device type handler and test it on the device my mim-h03 doesn’t respond with anything but it could be my code not being compatible due to lack of experience with groovy.

Sorry if im not explaining it correctly and let me know if you need any more info :slight_smile:

Thanks!

I see, it’s highly possible the Home Assistant integration uses the legacy platform, that’s why it works based on the DTH and not the capabilities.
You mentioned that you can make CURL requests with Python to control the device. Do you use the ST API for those requests or do you make direct requests to the device?
Does Home Assistant have an open API?

Yes I am not sure about it using the legacy platform. The Home assistant API is open source and the source code can be found here: https://github.com/home-assistant/core/tree/dev/homeassistant/components/smartthings

The Curl requests are done directly to the MIM-H03n without smart things using an access token that is quite tricky to get (Which I have done) but would not prefer to do it this way due to how Home assistant would handle this.

In regards to Home assistant having an Open API do you mean for receiving or transmitting to ST. Sorry abit confused I may be able to give some documentation for it.

Thanks