EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
<== Date ==> <== Thread ==>

Subject: Re: pvput with Sub-structures
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: Dennis Neidherr <D.Neidherr at gsi.de>
Cc: tech-talk at aps.anl.gov
Date: Mon, 5 Jan 2026 09:41:27 -0800
Hello Dennis,

On 1/5/26 4:41 AM, Dennis Neidherr via Tech-talk wrote:
Dear all,

Happy new year!
At the moment I am playing with pvAccess (and p4p) to see how this is working.
So for my tests, I have successfully built the pvxs-support-module and created an application which uses it.

In the db File I added two new records:
record(ai,"myTest1")
{
    field(SCAN, "Passive")
    field(VAL, 2)
}
record(ai,"myTest2")
{
    field(SCAN, "Passive")
    field(VAL, 4)
}

And I added a json-File, which is loaded at the startup of the IOC:
{
    "grp:name": {
        "X": {"+channel":"myTest1.VAL"},
        "Y": {"+channel":"myTest2.VAL"}
    }
}

...
So I tried it:
pvput grp:name X='{"value":"77"}'
This is also not working (The error is just "No fields changed"). 

In this case, the admittedly unclear message is telling you that no fields can be changed because not are changeable.  The group definition above does not define any "putorder".  Try adjusting your group definition to:

{
   "grp:name": {
       "X": {"+channel":"myTest1.VAL", "+putorder":0},
       "Y": {"+channel":"myTest2.VAL", "+putorder":1}
   }
}

This specifies the order in which members of the group are written and processed.

The PVXS documentation has an illustrated example of a writable group definition.

https ://epics-base.github.io/pvxs/qgroup.html#understanding-groups



From my internet search I got this link:
https://urldefense.us/v3/__https://mrkraimer.github.io/website/developerGuide/pvTools/pvTools.html__;!!G_uCfscf7eWS!buHkU2vY2nC-8z2UrnhpcT58Z50NjPTQVfA3ka4Pe3TQwIPKPUKS3b-mB8S1-9ocmlLnmM0j4F50C1K5Vi01tz0d$
So I tried also:
pvput -r "X" grp:name X='{"value":"77"}'

But again the same "error" is shown.

I also tried it in python (p4p library):
...
        v = await ctx.get("grp:name")
        print("Old value: " + str(v.X.value))
        v.X.value = 42
        await ctx.put("grp:name", v)
        u = await ctx.get("grp:name")
        print("New value: " + str(u.X.value))
...
But again: The value is not set and the error is "No fields changed".
Since this error is a bit unspecific, I have no ideas how to proceed.

Thanks in advance for any help,
Greetings Dennis



Replies:
Re: pvput with Sub-structures Michael Davidsaver via Tech-talk
References:
pvput with Sub-structures Dennis Neidherr via Tech-talk

Navigate by Date:
Prev: pvput with Sub-structures Dennis Neidherr via Tech-talk
Next: Re: pvput with Sub-structures Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
Navigate by Thread:
Prev: pvput with Sub-structures Dennis Neidherr via Tech-talk
Next: Re: pvput with Sub-structures Michael Davidsaver via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·