DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Moderator: leecollings
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hi to everybody.
Has anyone got a workaround to be able to monitor and record historical data?
I have once been able to see past information on Wisen App, but never got the chance to see it again.
The provided Wisen App is not useful at all in this regard.
Many thanks!
Has anyone got a workaround to be able to monitor and record historical data?
I have once been able to see past information on Wisen App, but never got the chance to see it again.
The provided Wisen App is not useful at all in this regard.
Many thanks!
-
- Posts: 2
- Joined: Monday 07 October 2019 4:09
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
I have also got the device but I am not able to connect to the device and read data . Can anyone suggest how to connect to device and read data other than app
-
- Posts: 2
- Joined: Monday 07 October 2019 4:09
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Does Domoticz support integration with this device or if device has LPT230 how can we achieve and read data.
-
- Posts: 3
- Joined: Tuesday 15 October 2019 4:33
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hello! I'm kinda new here, and I'm coming from a different background (Hass.io), and I bought a single phase one for myself just to play around and do some automatic submissions on the side.
I have a ESP8266 version, and I think I managed to break the protocol of this small thingy.
I'll set up a GitHub repository very soon, with an addon for HASS and a separate descriptive explanation of the API (I'm currently reverse-engineering their app, which appeared to be an embedded webview with almost readable JavaScript with all the fields available through the 10000 UDP port).
I might be in need of someone who has dual- or triple-phase DDS238-4. Please, PM me (or e-mail) if you're the one!
I have a ESP8266 version, and I think I managed to break the protocol of this small thingy.
I'll set up a GitHub repository very soon, with an addon for HASS and a separate descriptive explanation of the API (I'm currently reverse-engineering their app, which appeared to be an embedded webview with almost readable JavaScript with all the fields available through the 10000 UDP port).
I might be in need of someone who has dual- or triple-phase DDS238-4. Please, PM me (or e-mail) if you're the one!
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Thank you very much for your report.alryaz wrote:Hello! I'm kinda new here, and I'm coming from a different background (Hass.io), and I bought a single phase one for myself just to play around and do some automatic submissions on the side.
I have a ESP8266 version, and I think I managed to break the protocol of this small thingy.
I'll set up a GitHub repository very soon, with an addon for HASS and a separate descriptive explanation of the API (I'm currently reverse-engineering their app, which appeared to be an embedded webview with almost readable JavaScript with all the fields available through the 10000 UDP port).
I might be in need of someone who has dual- or triple-phase DDS238-4. Please, PM me (or e-mail) if you're the one!
Unfortunately I have the single phase meter, but can help you in doing some tests with my units if needed.
Regards
-
- Posts: 3
- Joined: Tuesday 15 October 2019 4:33
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
So, as I promised, here comes the GitHub repository: https://github.com/alryaz/python-hekrGaudi wrote: ↑Tuesday 15 October 2019 13:29Thank you very much for your report.alryaz wrote:Hello! I'm kinda new here, and I'm coming from a different background (Hass.io), and I bought a single phase one for myself just to play around and do some automatic submissions on the side.
I have a ESP8266 version, and I think I managed to break the protocol of this small thingy.
I'll set up a GitHub repository very soon, with an addon for HASS and a separate descriptive explanation of the API (I'm currently reverse-engineering their app, which appeared to be an embedded webview with almost readable JavaScript with all the fields available through the 10000 UDP port).
I might be in need of someone who has dual- or triple-phase DDS238-4. Please, PM me (or e-mail) if you're the one!
Unfortunately I have the single phase meter, but can help you in doing some tests with my units if needed.
Regards
The initial commit is as barebones as it gets, however it does seem to work with local devices.
My primary goals now will be to establish the following:
- Cloud connection to devices
- Better understanding of Hekr's send-receive datagram
- Find more devices with different APIs
Code: Select all
import asyncio
from time import sleep
from api import API
from device import Device
from helpers import load_protocol_definition
async def main():
application_id = "<REDACTED>"
power_meter_device = Device(
device_id="<REDACTED>",
control_key="<REDACTED>",
address="<REDACTED>",
device_protocol=load_protocol_definition('power_meter'),
application_id=application_id
)
power_meter_device.authenticate()
print(power_meter_device.command('queryDev'))
# There's still some timeout happening at this stage. The following sleep ensures no problems occur.
sleep(5)
print(power_meter_device.command('queryData'))
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
These can be obtained via (for instance) installing a packet sniffer application such as HttpCanary Free Trial.
Once it's installed:
- Force close "Wisen" application
- Run packet sniffing on "Wisen" application
- Open Wisen application
- Swipe open the sidebar menu and open "Settings"
- Select "LAN settings" option and flick the switch to "on" position
- Go back and open your device !!!ENSURE IT LOADS PROPERLY FOR MAXIMUM COMPATIBILITY!!! (in some cases, however, loading won't occur; just check sniffer's output for anything on port 10000 for your meter's IP address; if there's data sent and received, you're good to go)
- Open sniffer application and search for entries resembling "<meter's IP address>:10000" using UDP
- There should be json-encoded datagrams which contain a "params" dictionary with "ctrlKey" ("control_key"), "appTid" ("application_id") and "devTid" ("device_id") keys. These are the ones you need. "address" is the IP address of your meter, obtaining it should be self-explanatory.
- Fill those in, run the example above.
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Thnk you for the information.
I am following the steps listed in your post, but am unable to capture the packets to extract the information.
Upon opening Wisen, I get an Unknown Error. I can go ahead and enable LAN, and see the meter information, but returning to HTTPCanary app there are no entries with local IP.
Is there any other way to grab such packets?
Regards
I am following the steps listed in your post, but am unable to capture the packets to extract the information.
Upon opening Wisen, I get an Unknown Error. I can go ahead and enable LAN, and see the meter information, but returning to HTTPCanary app there are no entries with local IP.
Is there any other way to grab such packets?
Regards
-
- Posts: 1
- Joined: Thursday 14 November 2019 19:40
- Target OS: Windows
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Good, I have followed all the thread and reviewed the repository but I have not been successful, has anyone already achieved it?
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Ok, got it. I managed to get the packets and extract the information.alryaz wrote:So, as I promised, here comes the GitHub repository: https://github.com/alryaz/python-hekrGaudi wrote: ↑Tuesday 15 October 2019 13:29Thank you very much for your report.alryaz wrote:Hello! I'm kinda new here, and I'm coming from a different background (Hass.io), and I bought a single phase one for myself just to play around and do some automatic submissions on the side.
I have a ESP8266 version, and I think I managed to break the protocol of this small thingy.
I'll set up a GitHub repository very soon, with an addon for HASS and a separate descriptive explanation of the API (I'm currently reverse-engineering their app, which appeared to be an embedded webview with almost readable JavaScript with all the fields available through the 10000 UDP port).
I might be in need of someone who has dual- or triple-phase DDS238-4. Please, PM me (or e-mail) if you're the one!
Unfortunately I have the single phase meter, but can help you in doing some tests with my units if needed.
Regards
The initial commit is as barebones as it gets, however it does seem to work with local devices.
My primary goals now will be to establish the following:I currently test with the following code (async is not necessary, however I will aim to make the library async-compatible):
- Cloud connection to devices
- Better understanding of Hekr's send-receive datagram
- Find more devices with different APIs
There are number of attributes that have to be retrieved before running this code (the "<REDACTED>" ones).Code: Select all
import asyncio from time import sleep from api import API from device import Device from helpers import load_protocol_definition async def main(): application_id = "<REDACTED>" power_meter_device = Device( device_id="<REDACTED>", control_key="<REDACTED>", address="<REDACTED>", device_protocol=load_protocol_definition('power_meter'), application_id=application_id ) power_meter_device.authenticate() print(power_meter_device.command('queryDev')) # There's still some timeout happening at this stage. The following sleep ensures no problems occur. sleep(5) print(power_meter_device.command('queryData')) if __name__ == "__main__": loop = asyncio.get_event_loop() loop.run_until_complete(main())
These can be obtained via (for instance) installing a packet sniffer application such as HttpCanary Free Trial.
Once it's installed:Current protocol definitions are incomplete (some specific features are currently missing, such as firmware version checking, connectivity status, diagnostics, etc.), and socket connectivity is far from being robust (I might need assistance with that as I'm not really familiar with python's sockets at this stage). However, I made myself an auto-generator based on archives available on Hekr's hosting which extracts fields necessary for DDS238-4W operation and puts them as "power_meter.json" file in the "protocols folder". I took the liberty of converting some of the fields' names into more human-readable format (such as "total_energy_consumption"). Original field defiitions are also provided, albeit in a formatted variation.
- Force close "Wisen" application
- Run packet sniffing on "Wisen" application
- Open Wisen application
- Swipe open the sidebar menu and open "Settings"
- Select "LAN settings" option and flick the switch to "on" position
- Go back and open your device !!!ENSURE IT LOADS PROPERLY FOR MAXIMUM COMPATIBILITY!!! (in some cases, however, loading won't occur; just check sniffer's output for anything on port 10000 for your meter's IP address; if there's data sent and received, you're good to go)
- Open sniffer application and search for entries resembling "<meter's IP address>:10000" using UDP
- There should be json-encoded datagrams which contain a "params" dictionary with "ctrlKey" ("control_key"), "appTid" ("application_id") and "devTid" ("device_id") keys. These are the ones you need. "address" is the IP address of your meter, obtaining it should be self-explanatory.
- Fill those in, run the example above.
Can you please comment how to run your code and set up the python functions?
Or point me to a wiki to better understand how to set up this meter.
As i mentioned, I am unfamiliar with Domoticz.
Thank you very much.
Regards
Gaudi wrote:Thnk you for the information.
I am following the steps listed in your post, but am unable to capture the packets to extract the information.
Upon opening Wisen, I get an Unknown Error. I can go ahead and enable LAN, and see the meter information, but returning to HTTPCanary app there are no entries with local IP.
Is there any other way to grab such packets?
Regards
-
- Posts: 3
- Joined: Saturday 16 November 2019 19:50
- Target OS: Windows
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Just received my meter with WiFi
Not tested/opened yet.
I will try to use COM sniffer - https://www.compuphase.com/electronics/rs232split.htm
Then custom firmware could be build to integrate this meter with other smart home software
I use HASS, not Domoticz.
Also I will try to use WireShark to capture traffic
I'm using Mikrotik AP, so traffic capture not an issue.
Also if internal ESP8266 communicates via RS485 this https://community.openhab.org/t/dds238- ... face/81463 would be good starting point for custom firmware
Not tested/opened yet.
I will try to use COM sniffer - https://www.compuphase.com/electronics/rs232split.htm
Then custom firmware could be build to integrate this meter with other smart home software
I use HASS, not Domoticz.
Also I will try to use WireShark to capture traffic
I'm using Mikrotik AP, so traffic capture not an issue.
Also if internal ESP8266 communicates via RS485 this https://community.openhab.org/t/dds238- ... face/81463 would be good starting point for custom firmware
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Please keep us posted on your findings.ittchmh wrote:Just received my meter with WiFi
Not tested/opened yet.
I will try to use COM sniffer - https://www.compuphase.com/electronics/rs232split.htm
Then custom firmware could be build to integrate this meter with other smart home software
I use HASS, not Domoticz.
Also I will try to use WireShark to capture traffic
I'm using Mikrotik AP, so traffic capture not an issue.
Also if internal ESP8266 communicates via RS485 this https://community.openhab.org/t/dds238- ... face/81463 would be good starting point for custom firmware
If you manage to build/flash a generic firmware it would be great.
Please note that some other users tried to read the program to no avail, so no backup in case of failure.
Regards
-
- Posts: 3
- Joined: Saturday 16 November 2019 19:50
- Target OS: Windows
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Just opened my meter
As I understand they use:
WiFi can be replaced with ESP8266-01 for custom firmware tests
As I understand they use:
- custom ESP8266 module
- ESP8266 communicates via COM
WiFi can be replaced with ESP8266-01 for custom firmware tests
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hi, any updates on updating the firmware/making it work with Domoticz?
Thank you!
-
- Posts: 3
- Joined: Saturday 16 November 2019 19:50
- Target OS: Windows
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
As I said I'm using other home automation system
You can use RS485 interface for integration - https://www.domoticz.com/wiki/Python_-_ ... o_PVOutput
alryaz have done a lot of work, check on github!
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hello, for all those who have this meter. I share some libraries that I develop through reverse engineering to this module.
With these libraries you can fully control the module. To program the module unfortunately it is necessary to disassemble it and flash the esp8266 inside.
For now, i share with you the librarys for those who have knowledge programming and some electronics, maybe you can make a plugin in ESPeasy or Tasmota or other.
I currently have a full firmware that connects with home assistant in my case, through MQTT, that saves history through nodered in an influexdb database with grafana. But that, still works well, but has work to do.
My English is not good, so use Google translator.
https://github.com/rodgon81/SmartMeter238
https://github.com/rodgon81/JSmartMeter238
I hope these libraries serve someone as they have served me.
With these libraries you can fully control the module. To program the module unfortunately it is necessary to disassemble it and flash the esp8266 inside.
For now, i share with you the librarys for those who have knowledge programming and some electronics, maybe you can make a plugin in ESPeasy or Tasmota or other.
I currently have a full firmware that connects with home assistant in my case, through MQTT, that saves history through nodered in an influexdb database with grafana. But that, still works well, but has work to do.
My English is not good, so use Google translator.
https://github.com/rodgon81/SmartMeter238
https://github.com/rodgon81/JSmartMeter238
I hope these libraries serve someone as they have served me.
-
- Posts: 35
- Joined: Monday 12 November 2018 14:47
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hi Rodrigo, great work.rodgon81 wrote:Hello, for all those who have this meter. I share some libraries that I develop through reverse engineering to this module.
With these libraries you can fully control the module. To program the module unfortunately it is necessary to disassemble it and flash the esp8266 inside.
For now, i share with you the librarys for those who have knowledge programming and some electronics, maybe you can make a plugin in ESPeasy or Tasmota or other.
I currently have a full firmware that connects with home assistant in my case, through MQTT, that saves history through nodered in an influexdb database with grafana. But that, still works well, but has work to do.
My English is not good, so use Google translator.
https://github.com/rodgon81/SmartMeter238
https://github.com/rodgon81/JSmartMeter238
I hope these libraries serve someone as they have served me.
!
I do speak Spanish and am willing to test your code and collaborate.
Please feel free to contact me so we can further discuss and post findings here.
Regards
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hola Gaudi, que bien entendernos en español. por alguna razon no te pude contestar el privado... te contesto por aca...Gaudi wrote: ↑Wednesday 04 March 2020 1:56Hi Rodrigo, great work.rodgon81 wrote:Hello, for all those who have this meter. I share some libraries that I develop through reverse engineering to this module.
With these libraries you can fully control the module. To program the module unfortunately it is necessary to disassemble it and flash the esp8266 inside.
For now, i share with you the librarys for those who have knowledge programming and some electronics, maybe you can make a plugin in ESPeasy or Tasmota or other.
I currently have a full firmware that connects with home assistant in my case, through MQTT, that saves history through nodered in an influexdb database with grafana. But that, still works well, but has work to do.
My English is not good, so use Google translator.
https://github.com/rodgon81/SmartMeter238
https://github.com/rodgon81/JSmartMeter238
I hope these libraries serve someone as they have served me.
!
I do speak Spanish and am willing to test your code and collaborate.
Please feel free to contact me so we can further discuss and post findings here.
Regards
Comparto las librerías para que cada cual de acuerdo a sus necesidades desarrolle un firmware y extraiga los datos de su interés a donde les convenga.
Si tienes conocimientos de programación puedes intentar con ESPEasy, se que se puede, pero no tengo tiempo de desarrollar un plugin. Con ESPEasy puedes publicar por Wifi a MQTT los datos obtenidos.
La idea es simple.... necesitas publicar los datos a un servidor MQTT (24*7), que puedes montar en tu Raspberry. Al publicar en MQTT, puedes armar una interfaz con Domoticz, HomeAssistant u otro software de manejo de demótica, y ver los datos del momento en el móvil. Si das acceso a tu red desde internet, podrás ver los datos desde cualquier parte del mundo.
Ahora, si quieres datos históricos del medidor, en la Raspberry también debes instalar NodeRed, este es el encargado de escuchar los datos que quieras de los publicados en MQTT y guardarlos en InfluxDb. El esp8266 no tiene el almacenamiento suficiente como para mantener datos históricos, es necesario almacenarlos en una base de datos corriendo en la Raspberry en tu caso.
InfluxDB también debe estar corriendo en la Raspberry 24*7. Para acceder a los datos historicos debes usar Grafana quien te mostrará de forma gráfica los datos almacenados en InfluxDB. Ten en cuenta que también podrías publicar directamente a influxDb desde el Esp8266, todo va en la programación del firmware. Quizas tambien esos datos los puedes usar como input para metern.org, creo que usa JSON como formato.
En mi caso uso HomeAssistant con el cual escucho los datos publicados en MQTT y para generar gráficos de históricos uso NodeRed, InfluxDB y Grafana.
Si puedes flashear el esp8266 con los ejemplos que incluyo en las librerías, me cuentas como te fue.
Estudie la opción de RS485, o de sniffiar la comunicacion web del medidor, pero todas eran limitadas, y nunca podrías sacar el potencial completo del medidor.
Saludos quedo atento a tus pruebas...
-
- Posts: 12
- Joined: Tuesday 12 February 2019 14:57
- Target OS: OS X
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Inside the metal case of the wifi module, there is a ESP8266EX and a FM25Q16 16Mb serial Flash Memory. Why so much flash inside??
Could we store historic datas in this flash?
I think YES!
What do you think about this?
EDIT :
I made a mistake it's a 16Mbits so only 2Mbytes... :/
Could we store historic datas in this flash?
I think YES!
What do you think about this?
EDIT :
I made a mistake it's a 16Mbits so only 2Mbytes... :/
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
Hi, in my case esp8266 also has 2 megabytes. Looking at the photos you uploaded a while ago, your meter has slight differences with mine, but the main chip is the same. and the wifi module too.
Saving historical data directly in esp8266, even if I had 16 megabytes, I don't think it's advisable, in my opinion, external systems have many more functions than could be programmed directly in esp8266. I mean graphics, filters, statistics and visual style.
Regards.
Saving historical data directly in esp8266, even if I had 16 megabytes, I don't think it's advisable, in my opinion, external systems have many more functions than could be programmed directly in esp8266. I mean graphics, filters, statistics and visual style.
Regards.
-
- Posts: 12
- Joined: Tuesday 12 February 2019 14:57
- Target OS: OS X
- Domoticz version:
- Contact:
Re: DDS238-4 W wifi Energy-meter S0-interface RS485-Interface ON/OFF control
I'm looking to fit an ESP32 instead of this ESP8266 in order to store those datas and host a small web page.
For the moment I just need a stand alone energy meter.
In the future, I will mix everything together with a node-red server in order to adjust water heating and car charging according to solar electricity production and grid consumption.
Thanks to your informations and your previous work I think I'll be able to do it.
Have you made a sheet about serial informations going in and out ?
I could extract this from your files but...
For the moment I just need a stand alone energy meter.
In the future, I will mix everything together with a node-red server in order to adjust water heating and car charging according to solar electricity production and grid consumption.
Thanks to your informations and your previous work I think I'll be able to do it.
Have you made a sheet about serial informations going in and out ?
I could extract this from your files but...
Who is online
Users browsing this forum: No registered users and 1 guest