[Beta] MQTT beta 3d (released 5th July)

Hi Folks,

I want to be able to expose sensor data from HA in to HE. Am I on the right lines with set up?

I've installed MQQT Broker in HA:

My HomeAssistant server is accessible from homeassistant.local on my network.

Opening up the MQTT App: I've populated as follows:



added the content of automations.yaml from git

updated configurations.yaml with the below:

mqtt_statestream:
base_topic: HAStateStream50
publish_attributes: true

Restarted HomeAssistant
Added the Device Driver & App:

I'll have a good lookover this shortly. cursory glance looks OK and it looks like it's checking for HA devices. When you re-run the app are any discovered devices now listed here ?

image

What I would do is install MQTT Explorer as this allows you to see what's actually being sent to MQTT. It's a great app - a must have.

Thanks Kevin for the reply, I checked the logs and am seeing this error:

MQTT> MQTT connect failed attempt:[null], try again in 10 secs

dev:29522020-09-08 04:26:45.963 pm infoMQTT> Connecting as Hubitat_temporary to MQTT broker null

I'll download the tool as you suggested to see if I can connect. Once I get this all working, happy to put together a how to with screenshots if that's helpful.

Ahh. known annoying issue... with new installs, Will be fixed in next (final) version.

Try deleting the MQTT client device - (not the driver) and then re-running the app. Recommend you reboot the hub after that too to stop the previous driver from running.

OK, so after a restart it was able to discover devices. I've selected a bunch of climate devices, but should it then create virtual devices for these? As nothing seems to happen after selecting them and clicking done..

These are temperature sensors in HA .. or thermostats ?
It should create virtual sensors in HE for these.

It maybe this support was changed in the ‘next version’ beta 3e as I modified it for thermostats too. Let me check here.

There’s another way to do it too, slightly more tedious though as it doesn’t use discovery. We’ll investigate that if needed.

Could you fully expand the ‘climate’ topic in MQTT for one of your sensors and post a screenhot snip so I can see the payloads it’s providing.

If you’re posting on HA specific issues it might be tidier to post here..

Hi folks,

I keep getting the following messages.

config is below:

image

Note: I have successfully connected to the MQTT broker via MQTT Explorer.

Any ideas? What am I missing?

Hello. I've been trying to set up MQTT for HE and HA to talk to each other. I've gotten the point where HA is at least publishing some data and I can see it with MQTT Explorer, but I can't get the MQTT app in HE to connect to the broker.

It's the same null broker config messages as mentioned above, but I am not sure what you mean by "re-running the app" after deleting the child device.

I did try yesterday to delete the child and remove the app, then re-add the app. It didn't change anything.

Okay, I think I got the child app communicating correctly. I deleted the child device, rebooted the hub, then loaded the MQTT app again. Checked the child device and it seems to see the broker now.

Now on to figuring out how to get HA devices to be discovered. I'll head to the other topic for that.

@Kevin I’ve been using the MQTT beta 3d for sometime without issue - via virtual devices. I have just tried to add these 3 devices via the discover in to HE option. I can find the 3 devices, but selecting them doesn’t create the devices... is there anything about these lights which isn’t supported? Thanks!

HAStateStream50/light

I do see this error but it looks like its associated with emoncms_use which is a device that is working:

app:34912020-10-30 10:39:15.802 pm infoMQTT: Passing on sensor Event values: emoncms_use_kwh 697.26 sensor true

app:34912020-10-30 10:39:15.739 pm errorjava.lang.NullPointerException: Cannot get property 'value' on null object on line 5918 (HASensorEventP)

app:34912020-10-30 10:39:15.729 pm infoMQTT: Passing on sensor Event values: emoncms_use 715.0 sensor true

app:34912020-10-30 10:38:45.814 pm errorjava.lang.NullPointerException: Cannot get property 'value' on null object on line 5918

I will try and discover one of these into my system tomorrow and see...

@kevin any idea what could be causing this null pointer exception? I can see the values coming in but the virtual device doesn’t get updated, but instead throws this error:

app:34912020-11-02 11:11:01.367 pm errorjava.lang.NullPointerException: Cannot get property 'value' on null object on line 5918 (HASensorEventP)

app:34912020-11-02 11:11:01.360 pm infoMQTT: Passing on sensor Event values: emoncms_use 698.0 sensor true

sorry it slipped my mind - thanks for the nudge I'll see what I can do about that..

Hi Kevin,

I had to reset my hub and after installing the mqtt driver and app now I keep getting this message when trying to update a virtual device I make. I have tried deleting the driver client and restarting, restarted the hub. I'm not that much of a programmer but i found this sentence in a catch some place. The hub version is 2.2.4.145.

" This device Big Garage Door was not created within this app and so can't be edited here".

Any thoughts?

Thanks!

The virtual devices used within the MQTT app are created as child devices of the app. If you delete the app it will also delete these child devices. So upon re-install you would have to recreate the devices again within the app.

The message you are getting confirms that the device you are trying to edit was not created within the current app.

How did you create this virtual device ?

Hey Kevin,

I am getting the same thing, no matter what Device I try to create within the app I get the same error.

I believe i created it through the app. The virtual device looks like the devices from before with the Device Network Id = "MQTT:virtual_Big Garage Door".

below is a log dump as well indicating it was created. I'll take another look at the groovy and see if something looks odd.

Thanks!

app:992020-11-23 02:09:05.901 pm infoMQTT: Adding data contact_Topic to Big Garage Door

app:992020-11-23 02:09:05.889 pm infoMQTT: Found attribute contact in Big Garage Door [ContactSensor]

app:992020-11-23 02:09:05.884 pm infoMQTT: Found ContactSensor in childDev Big Garage Door

app:992020-11-23 02:09:05.869 pm infoMQTT: Created Child Virtual Contact Sensor with name Big Garage Door

dev:1652020-11-23 02:09:05.845 pm infoBig Garage Door was closed

dev:1652020-11-23 02:09:05.842 pm warninstalled...

Hmm curious...

Could you post a screen capture of the data values for one of these devices (from the devices menu).

Update : Yes I have some virtual devices that are now showing this error. I think it maybe a bug in 2.2.4.145 reading data values back from devices. I will check tomorrow

2 Likes

@Curcloin @AwShifts

In the device that is created can you look at the origin data value and let me know what it is (it should be user). Only devices created manually by yourself as a user can be edited.

I know the dropdown allows selection of other virtual devices e.g. those created directly in the hub or discovered from Home Assistant or homie but there is no ability to apply a second filter to the input list to hide them Such devices can not be edited as the values are populated directly from the provided MQTT payloads.

origin = user

Kevin - I made a quick 1.5 minute clip so you can see the whole process. When I create the new switch (Pool Cleaner), and an old one I already had.