Device file for Dehumidifier

Hi all.

I’m working on attaching a dehumidifier to my vera, in order to have a central interface to control it, write scenes and so on.

The device itself is a sonoff TH, controlled by my own MQTT library running on a C# middleware, updating virtual devices in Vera. So far, so good, since I can control it (it also has HTTP endpoints to turn on/off the device) and get both temperature and humidity in virtual devices (and update back the status via MQTT) with no polling involved.

Right now I’m struggling with a proper device file for it. I’m experimenting with D_Heater1.json and friends, but I want to customize it a little bit further, since +/- commands have no meaning for me (the dehumidifier will turn on or off based on its own logic - based on humidity anyway). Based on my finding, I can choose for On/Off only, Temp Only, and both, but no options has On/Off and temperarure display.

I also tried with a custom device file, but somehow fw 7.30 and beyond have become more picky, and when the device file is not recognized, the device is simply removed from the device list. This is time consuming and annoying as hell.

I just want the ability to turn it on or off, display current temperature and (optionally) current humidity (I can live with it in a different device).

Anyone has more knowledge about device file than me and want to help? Thanks.

If you haven’t already do so, take a look here: GitHub - toggledbits/PluginTools: Tools for creating Vera/Luup/openLuup plugins
It may help.
There’s a fairly steep learning curve for getting things to work on Vera and often the Wiki can be incomplete or even misleading. Being able to look at the log files often helps and you may consider turning on verbose logging.

The UI7 core is loaded with kludges and exceptions for heating and cooling devices. It’s maddening. It’s so far out wrong, in fact, that in some places in the code, it determines the device type by looking at the filename of the static JSON file, rather than the device type or category. This basically makes those devices work great for everything they’ve hard-coded for, and little else. I ran into this again and again working on AVT and Intesis, and finally gave up and used a custom static JSON file. That, of course, means that the devices aren’t usable in the mobile apps, so you’re da**ed if you do and da**ed if you don’t. But custom static JSON does work; if your device didn’t show, you either had an error in the JSON file (use jsonlint.com) or you probably didn’t both refresh hard-refresh your browser to make sure the right file is getting loaded–it has to be loaded by Luup itself and also handed up to the UI.

It’s not my first custom device, so I know Vera has its own exceptions and idiosyncrasies.

I will probably just use the standard file, and set a custom message when operating the temperature buttons. This could work, since I’ll basically just use the ON/OFF switch and operate it under scenes/code. Mobile support is mandatory for WAF.

Thanks for your suggestions.

So, I just wrote an implementation file and it seems to work under openluup.

It’s basically switching on and off an http device via call. I’m finishing the logic to automatically switch it on/off based on reached temperature and then I’ll release it.