Using PID20 with Enocean valves

Begonnen von tomaszG, 12 August 2019, 09:05:55

Vorheriges Thema - Nächstes Thema

tomaszG

Dear all,

I have a umber of EnOcean valves, e.g.
define EnO_019A9D70 EnOcean 019A9D70
setuuid EnO_019A9D70 5c6e8005-f33f-5073-a64a-9517742096ec5ff8
attr EnO_019A9D70 IODev TCM_ESP3_0
attr EnO_019A9D70 manufID 7FF
attr EnO_019A9D70 room EnOcean
attr EnO_019A9D70 subType 4BS


my understanding is by default that they will use the FHEM PID for opening regulation. I saw it is possible to change the PID parameters of the valve. My question is: is the PID the same as the one from the PID20 module. It looks like the PID20 as more parameters that can be controlled.
If not, I would like to use the PID20 module to regulate the valve. How should I go about that ?

Thanks

Tomasz

tomaszG

Dear all,

I understood that the Enocean object seems to use the PID20 module.
I would like to confirm what the following parameters mean
Acoording to the ref
pidDeltaTreshold - if delta < delta-threshold the pid will enter idle state; default: 0
If I understand correctly if the error (difference between setpoint and measurement is less than delta-thresshold), the value of PiD doe snot change ? Can you confirm
pidActorTreshold - threshold to be reached before command will be sent to actor; default: 1
If I understand correctly the PID will not update the value of position of actor if the change is less than this value ? can you confoirm ?

Best

tomaszG

I have narrowed down the question. I am trying to improve the control for my valves
EnOcean
Heating Radiator Actuating Drive (EEP A5-20-04)
I would like the setpoint position sent to the valve to move by steps of 5 at least to avoid too frequent small changes of 1-2
I noticed the pidActorTreshold of the PID20 object to fulfill this goal. However, there is no such field on my Enocean object (most of the other pid attributes are there).
It is also not listed in the FHEM reference so I suppose it is normal, but is there a way to set it anyway (changing default value for this in all PID20 objects, using other attribute, using preprocessing attribute) ?

Any help would be much appreciated. Thx in advance

krikan

Hi Tomasz!

Are you looking for https://fhem.de/commandref.html#EnOcean_pidDeltaTreshold? (You mentioned it in your second post.)

I'm a little confused about
define EnO_019A9D70 EnOcean 019A9D70
setuuid EnO_019A9D70 5c6e8005-f33f-5073-a64a-9517742096ec5ff8
attr EnO_019A9D70 IODev TCM_ESP3_0
attr EnO_019A9D70 manufID 7FF
attr EnO_019A9D70 room EnOcean
attr EnO_019A9D70 subType 4BS


I think that's wrong. Or is it outdated?
Which device are you using? Holter Smart MX?
Can you please post the output of "list <device>"?

Regards, Christian

tomaszG

Thanks Christian for the reply

Here is the output of list <device>

Internals:
   DEF        0196C6BD
   FUUID      5d53c975-f33f-5a1e-1830-43c4a65dbf9a778b
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     262
   NAME       EnO_0196C6BD
   NR         35
   NTFY_ORDER 50-EnO_0196C6BD
   STATE      T: 23.3 SPT: 18.0 SP: 15
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 262
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -67
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 2
   TCM_ESP3_0_TIME 2019-09-20 07:30:45
   TYPE       EnOcean
   OLDREADINGS:
   READINGS:
     2019-09-19 09:45:53   battery         ok
     2019-09-20 07:30:45   blockKey        no
     2019-09-20 07:32:27   delta           -5.3
     2019-09-20 07:30:45   feedTemp        36.9
     2019-09-20 07:30:45   maintenanceMode off
     2019-09-20 07:30:45   measurementState active
     2019-09-20 07:30:45   operationMode   setpointTemp
     2019-09-20 07:32:27   p_d             0
     2019-09-20 07:32:27   p_i             64.4250000000001
     2019-09-20 07:32:27   p_p             -53
     2019-09-20 07:32:27   pidState        processing
     2019-09-20 07:30:45   roomTemp        23.3
     2019-09-20 07:30:45   setpoint        15
     2019-09-20 07:32:27   setpointCalc    11.425
     2019-09-20 07:32:27   setpointSet     11
     2019-09-20 07:30:45   setpointTemp    18.0
     2019-09-20 07:25:39   setpointTempSet 18.0
     2019-09-20 07:30:45   state           T: 23.3 SPT: 18.0 SP: 15
     2019-08-14 09:42:29   teach           4BS teach-in accepted EEP A5-20-04 Manufacturer: Holter Regelarmaturen GmbH Co. KG
     2019-09-20 07:30:45   temperature     23.3
   helper:
     actorErrorAction freeze
     actorErrorPos 0
     actorInterval 10
     actorKeepAlive 100
     actorLimitLower 0
     actorLimitUpper 100
     actorThreshold 0
     actorTimestamp 2019-09-20 07:32:27
     actorValueDecPlaces 0
     adjust     
     battery    ok
     calcInterval 100
     deltaGradient 0.0003265140067478
     deltaOld   -5.3
     deltaOldTS 2019-09-20 07:30:45
     deltaTreshold 0
     factor_D   0
     factor_I   0.15
     factor_P   10
     isWindUP   
     reverseAction 0
     sensorTimeout 1200
     stopped    0
     updateInterval 100
     calcPID:
       undef
       HASH(0x2dc80c0)
       periodic
Attributes:
   IODev      TCM_ESP3_0
   comMode    biDir
   destinationID unicast
   eep        A5-20-04
   manufID    045
   pidActorLimitLower 0
   pidFactor_I 0.15
   pidFactor_P 10
   room       EnOcean
   subDef     FF904882
   subType    hvac.04
   teachMethod 4BS
   userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
   webCmd     setpointTemp


I also found the pidDeltaTreshold attribute, but it is not doing the same thing if i understand correctly. The reference doc states it will not update the actor if delta < treshold with delta the difference between setpoint and value. Though this could somehow reduce also unnecessary actor changes when I am close to the setpoint, it is not what I want. The valves are from
https://www.enocean-alliance.org/product/hora_smartdrive_mx/


tomaszG

#5
Anybody ? In le list output, I see a actorTreshold field, any chance I can use this ?

Maybe I should create a new topic to start from scratch.

Tom

krikan

#6
I apologize for not reacting. The "device" is ok in my opinion. But I have no idea how to solve your problem.

ZitatMaybe I should create a new topic to start from scratch.
I think so.  :)
If it is only a EnOcean-problem start a topic in https://forum.fhem.de/index.php/board,27.0.html


Regards, Christian