Page 1 of 1

Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 10:01
by PHIL63
Hello everyone,
I bought a Zendure battery with a Hyper2000. It is possible to retrieve data from the Hyper200 via MQTT (Zendure has developed an API for this). https://zendure.com/

I tested with MQTT Explorer and I can see the data.

In Domoticz it's impossible to get anything (no data seen by Domoticz) even though the connection is made to the Zendure site:
2024-12-11 09:35:32.444 Status: MQTT Zendure: Connecting to mqtt-eu.zen-iot.com:1883
2024-12-11 09:35:32.877 Status: MQTT Zendure: Connected to: mqtt-eu.zen-iot.com:1883

Has anyone been able to retrieve data from Zendure's Hyper200 and/or modify Hyper2000 settings from Domoticz?

My settings in Domoticz :
Image

Data retreived using MQTT Explorer :
Image

Thanks to anyone who can help me, as I'm just starting out with MQTT.

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 14:32
by waltervl
If zendure is able to send Home Assistant discover topics then you could use the Domoticz MQTT AutoDiscover gateway.

If zendure is not able to do that you can use the MQTTmapper python plugin in which you can create a mapping file to map Domoticz device to zendure topics.

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 15:25
by FireWizard
Hi,

I understand why you don't see anything in Domoticz.

The Zendure MQTT server (broker) is cloud based and I assume, you are looking in MQTT Explorer to that Zendure MQTT server.
As you can see at https://github.com/Zendure/developer-device-data-report there is a list of supported products:
Supported products

Currently supports devices connected to WIFI

SuperBase V
6400
4600
Satellite Battery
6400
4600
SolarFlow
Is your product supported?

Did you follow the steps as described under: Steps to Subscribe to Device Data?

As you can see Home assistant is supported.
1. Select devices and services in Home Assistant, and add MQTT integration services. Use appKey as the username and appSecret as the password to connect to the MQTT broker.
2. Replace the integrated Mqtt Discovery prefix with your appKey.
Did you insert the correct appkey and appsecret also in Domoticz, so that it complies with the data you received while applying as a developer?
It is correct in MQTT Explorer, as otherwise, you did not see anything there.

You still use as discovery prefix "homeassistant" in Domoticz and I do not believe that your appKey equals "homeassistant".

So there is something to check.

Regards

Regards

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 15:39
by FireWizard
There exist a few other posts, that might be of interest:

See: https://huebschen.wtf/smart-battery-wit ... nd-nodered
or: https://www.justiot.de/smart-home/anlei ... einbinden/ (in German)

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 16:00
by PHIL63
waltervl wrote: Wednesday 11 December 2024 14:32 If zendure is able to send Home Assistant discover topics then you could use the Domoticz MQTT AutoDiscover gateway.

If zendure is not able to do that you can use the MQTTmapper python plugin in which you can create a mapping file to map Domoticz device to zendure topics.
Hi,
I already use MQTT AutoDiscover gateway as you can see in the first image I put in my first message.
The connection is OK with the brocker but no device appears in "config".

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 16:35
by PHIL63
FireWizard wrote: Wednesday 11 December 2024 15:25 Hi,

I understand why you don't see anything in Domoticz.

The Zendure MQTT server (broker) is cloud based and I assume, you are looking in MQTT Explorer to that Zendure MQTT server.
As you can see at https://github.com/Zendure/developer-device-data-report there is a list of supported products:
Supported products

Currently supports devices connected to WIFI

SuperBase V
6400
4600
Satellite Battery
6400
4600
SolarFlow
Is your product supported?

Did you follow the steps as described under: Steps to Subscribe to Device Data?

As you can see Home assistant is supported.
1. Select devices and services in Home Assistant, and add MQTT integration services. Use appKey as the username and appSecret as the password to connect to the MQTT broker.
2. Replace the integrated Mqtt Discovery prefix with your appKey.
Did you insert the correct appkey and appsecret also in Domoticz, so that it complies with the data you received while applying as a developer?
It is correct in MQTT Explorer, as otherwise, you did not see anything there.

You still use as discovery prefix "homeassistant" in Domoticz and I do not believe that your appKey equals "homeassistant".

So there is something to check.

Regards

Regards
Hi,
- yes the device is supported (SolarFlow = Hyper2000)
- yes the appkey and secret are OK
- I have tried to use my appkey in prefix but still the things, no device in config section :
Image

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 16:36
by PHIL63
FireWizard wrote: Wednesday 11 December 2024 15:39 There exist a few other posts, that might be of interest:

See: https://huebschen.wtf/smart-battery-wit ... nd-nodered
or: https://www.justiot.de/smart-home/anlei ... einbinden/ (in German)
Thanks for these links, I take a look at them.

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 16:56
by PHIL63
@FireWizard
I have retried to use my appkey in prefix and now it work :roll:
I get some devices :)
I have just one error in Domoticz logs for one device :
MQTT Zendure: Exception (GetValueFromTemplate): Type is not convertible to string! (Template: value_json.packData)

at the moment I have no idea to solve this problem...

Thanks at all for your time and your help.

Re: Zendure Hyper2000 and MQTT

Posted: Wednesday 11 December 2024 20:49
by FireWizard
Hi @PHIL63,

You wrote:
I have retried to use my appkey in prefix and now it work
Great
I get some devices
Only some? Or all the devices that you showed us in MQTT Explorer?I have just one error in Domoticz logs for one device :
MQTT Zendure: Exception (GetValueFromTemplate): Type is not convertible to string! (Template: value_json.packData)
I have just one error in Domoticz logs for one device :
MQTT Zendure: Exception (GetValueFromTemplate): Type is not convertible to string! (Template: value_json.packData)
You said "for one device". Do you know which device?
If you have found it, what does that device show? See MQTT Explorer.

I do not use MQTT AD, only the standard, so maybe another experienced user might jump in.

Regards

Re: Zendure Hyper2000 and MQTT

Posted: Thursday 12 December 2024 16:45
by waltervl
For Domoticz MQTT AutoDiscover to work properly in your config screenshot)it needs a topic named homeassistant where the config topics for all the devices are listed. I do not see that in your mqtt explorer screenshot. Perhaps change the value homeassistant to the correct value (second line of your mqtt)

Re: Zendure Hyper2000 and MQTT

Posted: Saturday 14 December 2024 8:44
by PHIL63
@FireWizard
I think the missing devices are related to the error MQTT Zendure: Exception (GetValueFromTemplate): Type is not convertible to string! (Template: value_json.packData)
These devices must be in some sort of array.

Thanks for your answer

Re: Zendure Hyper2000 and MQTT

Posted: Saturday 14 December 2024 8:51
by PHIL63
waltervl wrote: Thursday 12 December 2024 16:45 For Domoticz MQTT AutoDiscover to work properly in your config screenshot)it needs a topic named homeassistant where the config topics for all the devices are listed. I do not see that in your mqtt explorer screenshot. Perhaps change the value homeassistant to the correct value (second line of your mqtt)
Sorry, I'm new to MQTT and I can't see where to put the homeassistant value. If it's in the Prefix discovery field, I've already tried but nothing works.

Re: Zendure Hyper2000 and MQTT

Posted: Saturday 14 December 2024 19:03
by waltervl
Indeed the AutoDiscover prefix should be the topic where the config statements should be.

But is seems zendure mqtt is using one topic fo config and state topics. Domoticz MQTT does not really like this. So zendure is not following the rules for AutoDiscover. Perhaps you can change that on the zendure side?

On this wiki page on the very end you see an example https://wiki.domoticz.com/MQTT_AD_Report_Problems

If it does not work with AutoDiscover then take the node red route or use the MQTTmapper plugin route to send the data to Domoticz. It will take you some extra work.