How controll RGB node with FloatVectorProperty (Blender 2.8)
The update method



We define a property with bpy.props on a type, (eg bpy.types.Material) to have an update method

def update(self, context):
    ob = self
    id = self.id_data
    ...


where self is the instance of the object type the property is on.

In the case of a property group, as in code below, where the type is a material, then ob will be, for example bpy.data.materials["foo"].slot_setting and id will be the material.  bpy.data.materials["foo"]

Very similarly to this answer the test code below sets all RGB nodes belonging to the material to the value set for RGBA.  For RGBA set the size to 4 on the float vector property.

import bpy
from bpy.props import FloatVectorProperty, PointerProperty

def update_rgb_nodes(self, context):

    mat = self.id_data
    nodes = [n for n in mat.node_tree.nodes
            if isinstance(n, bpy.types.ShaderNodeRGB)]

    for n in nodes:
        n.outputs[0].default_value = self.rgb_controller


class MySet(bpy.types.PropertyGroup):

    rgb_controller: FloatVectorProperty(
            name="Diffuse color",
            subtype='COLOR',
            default=(1, 1, 1, 1),
            size=4,
            min=0, max=1,
            description="color picker",
            update = update_rgb_nodes) 

# test rego code
bpy.utils.register_class(MySet)
bpy.types.Material.slot_setting = PointerProperty(type=MySet)

# test draw code in text editor footer

def draw_color(self, context):
    ob = context.object
    ma = ob.active_material
    self.layout.prop(ma.slot_setting, "rgb_controller")

bpy.types.TEXT_HT_footer.append(draw_color)



# test call set active material on active object to red
ob = bpy.context.object
ob.active_material.slot_setting.rgb_controller = (1, 0, 0, 1)