Another thing a came across, was that with subscriptions (at least for KNX) it 
makes sense to have field addresses that allow matching multiple values.

For example if I have an address */*/12, I get all the actual temperature 
values for all rooms in my house.

The problem now is, that if I simply return a PlcValue (or multiple) ... we no 
longer know which address a value belongs to. 

So I was thinking:
- We distinguish between pattern-fields and normal fields. Normal fields 
identify only one element, Pattern Fields can identify multiple values.
- If a normal field is used, a normal PlcValue is returned
- If a pattern field is used, a PlcStruct is returned (even if it's only one 
element) where the name of the property name is a stringified representation of 
the address and the value is the PlcValue

Does this make sense?


Chris


Am 12.11.20, 23:15 schrieb "Łukasz Dywicki" <[email protected]>:

    Looking at subscription methods - I am not sure if there is one standard
    which can support all three kinds at the same time.
    Some kind of distinguish is necessary, but for an end user (counting
    myself) - multiple types of subscription happening at the same time are
    rather unlikely to happen.

    Looking from canopen perspective - there is possibility to subscribe to
    some messages happening directly on the bus if plc4x becomes a so-called
    master node (that's the way its implemented currently using EVENT
    subscription kind).
    There is also possibility to subscribe over coordinator node which is
    specified by yet another specification which number I don't remember
    right now. In theory - we could also subscribe to other node messages
    since canbus is still a bus system so everyone sees everything.
    Later two cases are currently left unimplemented.

    Best,
    Łukasz


    On 12.11.2020 18:33, Christofer Dutz wrote:
    > Hi all,
    > 
    > I’m currently implementing the different subscription types in KNX4Go … 
and here I noticed something.
    > We create a SubscriptionRequestBuilder and here can add different types 
of fields and even combinations.
    > So we could create a subscription request with some on-value-change 
fields, some periodically pulled fields and some events/alarms.
    > 
    > Now does it actually make sense to have this sort of combinations? I mean 
the program processing the results has to be very flexible in this case.
    > 
    > Wouldn’t it make sense to have 3 different types of subscription requests?
    > 
    > Chris
    > 

Reply via email to