Homewizard Energy app is cloud based while Homey is all local….BIG difference people tend to forget.
v3.6.66 went live
This version should improve mDNS problems, but do note that the first run might still fail as it has to store the url first on success.
v3.6.67 (test/beta)
- Enforcing interval clears on various devices when interval is reset
- try_authorize handler bugfix (interval / timeout) app crash logs
After every update I have the same issues. Only solution for me is to reboot the whole wifi mesh network. This Homewizard app is the only app causing this issue. Other mDNS apps are working perfect and it had nothing to do with the local network or setup.
Let’s hope this will work.
I will find out with the next update.
Thank you ![]()
Why dont you answer my earlier question? I’ve implemented something with an assumption now. I have 2x P1’s, 1x kwh, 6 sockets, PIB, watermeter and no problems with mDNS.
I didn’t see a question addressed to me
I replied to your repsonse 22 days ago.
I have missed that one.
Till now I didn’t raise a ticket at Homey because this is the only app with this issue.
Devices are discovered with mDNS as they are unavailable in de Homewizard app.
The Homewizard app shows them as: Device unavailable.
There are more causes than just mDNS. Are you on a Homey 2016|2019? Or the new 2023?
Do use an internal dns? Are using .local domain in your DHCP scope?
Seems only a rare few are affected of the nearly 17000+ users.
I use the Homey Pro 2023.
The network DNS is internally without .local. DNS is using Pihole. mDNS is enabled.
All devices have a DHCP reservation, so a static IP.
I rely what your Homey is able to discover on your network. I added even an extra 1s delay to process the result. There is nothing in my code that has influence on mDNS at all.
'use strict';
const Homey = require('homey');
const fetch = require('node-fetch');
module.exports = class HomeWizardEnergyWatermeterDriver extends Homey.Driver {
async onPairListDevices() {
const discoveryStrategy = this.getDiscoveryStrategy();
await new Promise((resolve) => setTimeout(resolve, 1000));
const discoveryResults = discoveryStrategy.getDiscoveryResults();
const numberOfDiscoveryResults = Object.keys(discoveryResults).length;
await new Promise((resolve) => setTimeout(resolve, 1000));
const devices = [];
await Promise.all(Object.values(discoveryResults).map(async (discoveryResult) => {
try {
const url = `http://${discoveryResult.address}:${discoveryResult.port}/api`;
const res = await fetch(url);
if (!res.ok)
{ throw new Error(res.statusText); }
const data = await res.json();
let name = data.product_name;
if (numberOfDiscoveryResults > 1) {
name = `${data.product_name} (${data.serial})`;
}
devices.push({
name,
data: {
id: discoveryResult.id,
},
});
} catch (err) {
this.error(discoveryResult.id, err);
}
}));
return devices;
}
};
Okay. This is in the last update?
Then I will wait for another update to check. If the problem exists then I will do more testing in my network or raise a ticket at Homey.
No that delay is there for a year or more.
I added a url fallback store. Once successfully connect (without a red ! Icon) it will store that url. When next time this mDNS discovery or update fails, it retrieve the last known working connection instead. If this fails as well then it is out of my scope and you have to ask Athom support. Poor wifi or failing multicast is not my responsibility.
@Arnold_vd_Linden maybe this is worth looking at? Add avahi/mdns support to your pihole?
Thank you for the effort so far!
v3.6.67 is live now
I just dit the update to version 3.6.67.
When the app came back the P1 Meter en Water meter were directly available, and the kWh meter took about 5 seconds. Most of the times this one was giving the issue.
I did install the avahi services on the PiHole before as described in the article.
So it looks like this issue is solved now.
thx again.
So sounds like it is/was mDNS problem after all at your network and not my app.
@Jeroen_Tebbens I noticed that my 1 phase kWh meter isn’t working when I use the beta version of the app:
Cannot read properties of undefined (reading 'catch’)
When I revert back to the current live version, it immediately works again.