This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Energy monitor/ 3-Phase Power / Modbus Profile EMU Professional 3/5 TCP/IP
#1
First of all, thank you for all the contributions. As a beginner, I don't understand everything, however I try to getting better…..
 
My first profile try for an EMU Professional 3/5 TCP/IP (Webserver, Modbus TCP) Articlenumber: P120000T ends in the LM5 error log: read failed: Illigal function.
 
Downlode link for the Emu power meter specifiction: https://www.emuag.ch/download/emu-professional-modbus-tcp-specifiction-v1_2-en
 
Profile:
 
{
  "manufacturer": "Hugo",
  "description": "EMU Professional TCP/IP - LM5 Profile V1",
  "mapping": [
    { "name": "active energy", "bus_datatype": "bool", "type": "coil", "address": 4201, "writable": 0, "write_only": 1 },
    { "name": "active power", "bus_datatype": "bool", "type": "coil", "address": 4527, "writable": 0, "write_only": 1 },
    { "name": "15 min. max active power ", "bus_datatype": "bool", "type": "coil", "address": 4553, "writable": 0, "write_only": 1 },
    { "name": "instantaneous current", "bus_datatype": "bool", "type": "coil", "address": 4597, "writable": 0, "write_only": 1 },
    { "name": "active energy", "bus_datatype": "int64", "type": "inputregister", "address": 4201, "value_multiplier": 0.001, "units": "Wh" },
    { "name": " active power", "bus_datatype": "int32", "type": "inputregister", "address": 4527, "value_multiplier": 0.001, "units": "W" },
    { "name": "15 min. max active power", "bus_datatype": "int32", "type": "inputregister", "address": 4553, "value_multiplier": 0.001, "units": "W" },
    { "name": " instantaneous current ", "bus_datatype": "int32", "type": "inputregister", "address": 4597, "value_multiplier": 0.001, "units": "mA" }
  ]

}
 
I know, there are cheaper energy meter. A Direct message from the energy meter to the email address when the "15 min. Active power" is exceeded was important to me (at least I can handle the LM5 Profile). However, monitoring the compression unit of air-water heat pumps directly is my favorite. An undetected error in this area is more expensive than a EMU Professional TCP/IP  Cry
Reply
#2
The module supports two Modbus functions. Read Holding Registers (Code 03)Write Multiple Registers (Code 16)

You using Coil here, change it to register
------------------------------
Ctrl+F5
Reply
#3
You need to set datatype, not bus_datatype. bus_datatype is needed only when it's different from the main datatype.
Try this for active energy register:
Code:
{ "name": "active energy", "datatype": "int64", "type": "register", "address": 4201 }
Reply
#4
(09.09.2020, 12:28)admin Wrote: You need to set datatype, not bus_datatype. bus_datatype is needed only when it's different from the main datatype.
Try this for active energy register:
Code:
{ "name": "active energy", "datatype": "int64", "type": "register", "address": 4201 }

Thanks to both of you, I didn't expect such a quick answer

I've tried a lot. Modbus is active on the energy meter.

With the following I only get "Illigal function" and can not add it to any object anymore:

{
  "manufacturer": "Hugo",
  "description": "EMU_Professional_TCP_IP-LM5_Profile_V3.08",
  "mapping": [
    { "name": "active energy", "datatype": "int64", "type": "register", "address": 4201 }
  ]

}
Reply
#5
Which firmware version are you using? You can also try reading from a script (change IP as needed) and post what you get in Logs tab:
Code:
require('luamodbus')
mb = luamodbus.tcp()
mb:open('192.168.0.1', 502)
mb:connect()

-- mb:setslave(1)

r1, r2, r3, r4 = mb:readregisters(4201, 4)
log(r1, r2, r3, r4)
Reply
#6
Version: HW: LM5 Lite (i.MX6) / SW: 20200116














Reply
#7
What is the value on the meter?
------------------------------
Ctrl+F5
Reply
#8
My bad, bus_datatype is still required even if it's the same as datatype.
Try this, make sure to delete the current device after uploading new profile.
Code:
{
  "manufacturer": "Hugo",
  "description": "EMU_Professional_TCP_IP-LM5_Profile_V3.08",
  "mapping": [
    { "name": "active energy", "bus_datatype": "int64", "datatype": "int64", "type": "register", "address": 4201 }
  ]
}
Reply
#9
Thanks Smile Smile Smile Smile Smile Smile Smile !

Have adapted the title of the thread to: Energy Monitor/ 3-Phase Power / Modbus Profile EMU Professional 3/5 TCP/IP so beginners as me will find it more easaly.

Just as a recomendation:

Split this topic in this Forum into different kinds of Hardwaer, like Temperature sensor, Energy meters etc. That’s for marketing reasons too. Not everyone looks at the topic as closely as I do. The title of the thread should always carry the general topic – special for the spiders of the search engines. Shows potential customers more clearly, what the logicmachine actually is for and where it has already been tried and tested.

The possibilities are endless. I thinks, this thing getting definitely big (and when I posted that, it usually turned out that way) but that will also be due to your market strategy.

As soon i have the whole Profile finish i will add. It a new post to here:



Last Add :

Here we go without warranty:


{
  "manufacturer": "Hugo",
  "description": "EMU_Professional_TCP_IP-LM5_Profile_V4.1"
  "mapping": [
    { "name": "active energy total", "bus_datatype": "int64", "datatype": "int64", "type": "register", "address": 4201, "value_multiplier": 0.001, "units": "kWh" },
    { "name": "active energy current", "bus_datatype": "int32", "datatype": "int32", "type": "register", "address": 4527, "units": "W" },
    { "name": "Max. effective power over 15 min.", "bus_datatype": "int32", "datatype": "int32", "type": "register", "address": 4553,  "value_multiplier": 0.001, "units": "kW" },
    { "name": "Instantaneous current total", "bus_datatype": "int32", "datatype": "int32", "type": "register", "address": 4597,"value_multiplier": 0.001, "units": "A" }
  ]
}

Note: The above are only examples for the total of all 3 phases of 1 out of 4 possible tariffs. According to the manufacturer's description linked in the first post, 4 profiles are required to read out all meter's data (since one profile can not handel the volume of data`s).
Reply


Forum Jump: