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: pvput with Sub-structures
From: Dennis Neidherr via Tech-talk <tech-talk at aps.anl.gov>
To: <tech-talk at aps.anl.gov>
Date: Mon, 5 Jan 2026 13:41:20 +0100
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"}
    }
}

pvget and pvmonitor seem to work, but my question is now: What is the correct command to be used with pvput?

First, I tried (very naive):
pvput grp:name 4 5
This is obviously not working. Then I checked the help of the pvput-command and there is written:

...
Sub-structure(s)
  pvput group:pv some='{"value":1.234}' other='{"value":"a string"}'
...

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

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

--
Dr. Dennis Neidherr
Department: Electronics (EEL)

Phone: +49-6159-71-1885
Email: d.neidherr at gsi.de

GSI Helmholtzzentrum für Schwerionenforschung GmbH
Planckstraße 1, 64291 Darmstadt, Germany, https://urldefense.us/v3/__http://www.gsi.de__;!!G_uCfscf7eWS!buHkU2vY2nC-8z2UrnhpcT58Z50NjPTQVfA3ka4Pe3TQwIPKPUKS3b-mB8S1-9ocmlLnmM0j4F50C1K5Vv2QPngT$
Commercial Register / Handelsregister: Amtsgericht Darmstadt, HRB 1528
VAT identification number / Umsatzsteuer-Identifikations-Nr.: DE 111 671 917
Managing Directors / Geschäftsführung:
Prof. Dr. Thomas Nilsson, Dr. Katharina Stummeyer, Jörg Blaurock
Chair of the GSI Supervisory Board / Vorsitzende des GSI-Aufsichtsrats:
Ministerialrätin Dr. Andrea Fischer


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

Navigate by Date:
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:
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 ·