[RELEASE] Hildebrand Glow MQTT Drivers - UK Smart Meters

Ok I have the meter connected and working. Do I need to request cloud MQTT access? Do I have all the pieces now to try and get this working? Apologies for being so stupid!

Screen’s working? Have you set up an MQTT broker on something? If so, just point the display at the MQTT broker and the driver to the same place and you’ll be done!

Cloud MQTT isn’t done, but it’s something I could add in the future… that would negate the need for a local broker, but makes you reliant on an external server and internet connection, which is a tad contrary to Hubitat’s greatest strengths.

Ok.. let me start again: I want to be able to get my smart readings for electricity and gas into HE. Your driver will do this but it needs other components.
I am receiving real time readings on my Android phone using the Bright app. I also have bought a Glow meter from Hilderband. This is also receiving data.
At the moment I don't care about being dependent on the web, for now I just want to get the data into HE.
So back to basics.. you suggest use a broker say from Mosquitto. Mosquitto will communicate to HE using your driver but it needs access to the real data. How do I configure Mosquitto. What does Mosquitto communicate with , the Glow meter. I am so very very lost.

Yup. Although, keep reading.

Excellent, if you've got this spinny thing on the app you're definitely receiving live data from the meters.

Okay. Erm, I sort of thought this would be a stumbling block for adoption in the first instance. Not everybody has a Raspberry Pi lying around or the willingness to turn it into an always-on MQTT Broker.

Somebody else made an effort of cleaning the kitchen this evening, albeit somewhat half-heartedly, so tonight's your lucky night! I knew I'd need to do this at some point, so I've added basic support for Hildebrand's "cloud" MQTT broker to the driver. No Raspberry Pi required.

I assume you installed through HPM, so upgrade the driver there and you should now see a preferences section on the Hildebrand Glow device which looks like this:

You will have been sent your Device ID in the email from Hildebrand outlining your cloud MQTT details, look for the "SMART/HILD/84CCxxxxxxxx" bit in the message and you only need the bit in bold to go into the Device ID preference. It's actually the IHD's WiFi MAC address.

The username and password are required for cloud access, they're the same as you use for the Bright app. Don't forget to hit "Save Preferences".

You'll know it's working by looking at the Hildebrand Glow Meter Electricity child device, under the main Hildebrand Glow parent device. Power (current usage in W) and Energy (cumulative usage, which is also your meter reading) will update every 10 seconds or so.

Other than some state values for the IHD that's as much as I have time to add right now; only electricity power and energy, no other cumulative values and nothing from the gas meter. I'll get around to those when I can, you'll not need to do anything other than update the driver.

I shall now reward myself with a small beer and at least 3 hours kip. :crazy_face:

Thank you very much. I have requested cloud access. However I thought I made some progress when I realised 'use mosquitto as a broker' meant download a MQTT broker code from Mosquitto for a client of your choice. Well I already run a windows server 24/7 , so I downloaded that and installed it. I 've been whirling away the hours trying to connect HE to that. No joy. Still not understanding much but certainly more than a few days ago. I feel I should be able to get local access working if only I knew how. The key seems to be the Mosquitto.conf file.

wow it's working locally .. same old..some security issue.. created mosquitto test.conf
listener 1883
allow_anonymous true
started up broker on my windows server using that file test.conf and everything started working..

Now I have something working.. I just need to tidy it all up.. could never done it without your help. A big thanks!

1 Like

Excellent! Glad to hear it. :grin:

Using Use Hildebrand Cloud MQTT Broker also now works... perfect.. spoilt for choice.. local wins!

1 Like

Thanks for this.

Ive had a hildebrand stick for a while and didn't know i could get this connected to hubitat.

I have it connected ok using my sticks MAC address and input the correct user and password but on checking the logs its comes back with:

Hildebrand glow : Configuration complete
Hilderbrand glow: Presence:Waiting for first presence report

It doesn't seem to be receiving any data at the child devices?

Have i set this up correctly? You mention above cloud access is required which im not sure i have do i just request this though the hildebrand support?

Thanks

Cloud access isn't required, in fact local access to the feed from a broker is preferable, but the cloud MQTT feed is there as an option so that folk don't have to go to the hassle of setting it up in the first instance.

However, I don't believe the GlowStick has the processing power to run the local MQTT feed. Though it's certainly reporting the data to Hildebrand.

I'd suggest dropping them a line, as cloud MQTT is a "by request" feature and it may be their servers can do the work of generating the feed on your GlowStick's behalf.

Getting an error installing this using HPM.

Error Occurred During Installation

An error occurred while installing the package: Failed to install driver https://raw.githubusercontent.com/birdslikewires/hubitat/master/hildebrand/drivers/glow_mqtt.groovy. Please notify the package developer.. Be sure the package is not in use with devices.

I then thought I would try to manually import the driver ( Hildebrand Glow MQTT Driver)

when I hit save I get:

The method public void updated() { ... } duplicates another method of the same signature . At [461:1] @ line 461 (library BirdsLikeWires.library, line 29), column 1. Repetitive method name/signature for method 'void updated()' in class 'Script1'. @ line 119, column 1. Repetitive method name/signature for method 'void updated()' in class 'Script1'. @ line 461 (library BirdsLikeWires.library, line 29), column 1.

It looks like some sort of clash with the Library.

New to this so wondering if anyone had any ideas to solve the issue and get the Hildebrand drivers working?

Thanks

Oops! My fault, I pushed a library update too soon. I’ll try to fix it this this evening.

UPDATE: It's fixed. If you're shown any other updates to my drivers, please apply those too!

Thanks, Installs now.

All working. one thing I did notice is that it is ignoring the export cumulative figure.
Am I missing a config for that?
from local MQTT:

{"electricitymeter":{"timestamp":"2023-02-26T07:51:15Z","energy":{"export":{"cumulative":2093.435,"units":"kWh"},"import":{"cumulative":11948.626,"day":5.846,"week":108.037...

Thanks

Just tried to install your latest update.
Now it errors again with code below. any ideas? Hope its not because of my request to support the export as well :slight_smile:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 419: The method public void installed() { ... } duplicates another method of the same signature . At [419:1] @ line 419, column 1. void installed() { // library marker BirdsLikeWires.library, line 29 ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 60: Repetitive method name/signature for method 'void installed()' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 60, column 1. void installed() { ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 346: Repetitive method name/signature for method 'void mqttConnect()' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 346, column 1. void mqttConnect() { ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 376: Repetitive method name/signature for method 'void mqttClientStatus(java.lang.String)' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 376, column 1. void mqttClientStatus(String status) { ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 419: Repetitive method name/signature for method 'void installed()' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 419, column 1. void installed() { // library marker BirdsLikeWires.library, line 29 ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 1083: Repetitive method name/signature for method 'void mqttConnect()' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 1083, column 1. void mqttConnect() { // library marker BirdsLikeWires.library, line 693 ^ user_driver_BirdsLikeWires_Hildebrand_Glow_970.groovy: 1114: Repetitive method name/signature for method 'void mqttClientStatus(java.lang.String)' in class 'user_driver_BirdsLikeWires_Hildebrand_Glow_970'. @ line 1114, column 1. void mqttClientStatus(String status) { // library marker BirdsLikeWires.library, line 724 ^ 7 errors (method mqttConnect)

Ah, thanks for reminding me!

No, this is because I've been updating some of my older drivers, but a combined library of code is a double-edged sword. Let me take a peek, I've basically just left in a method in both the library and the specific driver, or for some reason both parts haven't updated at the same time.

UPDATE: All fixed, it was option one. I've just updated my own system through HPM, so it should be fine now. If the update won't complete (it should) then run HPM's driver repair option and it'll reinstall.

BONUS: Cumulative export has been added to the electricity meter in v1.10. Strictly speaking it's also there in the gas meter too, but I doubt any of us are going to start exporting gas any time soon.

I noticed that the export data doesn't seem to be in the cloud feed. It looks like it's just in the local feed, unless I'm just overlooking something obvious. In all honesty the Zigbee Smart Energy Profile Specification isn't what I fancy reading of an evening, but I'll happily add (or accept a pull request!) from anybody who's prepared to figure out the cluster spec and spell it out to me in words of one syllable. :wink:

Perfect, all working. Export visible as well.
Thanks !

1 Like

Always assuming that your meter is reporting correctly and mine isn't. When I had everything on smartlife I compared my usage with the meter and they were 10-11% over actual, the clue was my electric bill going up when extra insulation was fitted.
DON'T trust any meter or bill until you absolutely know its accurate, look up Clive on YouTube on smartmeters as to why.

Oh, and my advice if you're in arrears is to put the account on a standing order, not direct debit, because they will try to steal money out of your account. I was in the middle of 1st stage chemotherapy and got an email telling me they were going to take £2100 out of my account without permission just using the direct debit. THE NEXT DAY. While in dispute about them overcharging me. In this case Shell Energy but other companies are apparently playing the same games.

Check your bills.

Working perfectly here. I'm just using the cloud MQTT feed for now because I'm lazy :grinning:

Thanks for your hard work @birdslikewires

1 Like

Great, always like to hear that things are working! Especially for the cloud service, as I don’t use that every day, so it’s always possible for something to break and me not be aware. :grin:

This driver now supports the healthStatus custom attribute, so will no longer misuse presence as a means of reporting connectivity to your MQTT broker.

Use @kkossev's Device Health Status to give yourself a nice system overview.

1 Like