TRV Controller Discussion Thread
Re: TRV Controller Discussion Thread
Some questions to the validation process )
What's wrong here?
What's wrong here?
- Attachments
-
- Screenshot 2019-10-28 at 10.58.54.png (124.7 KiB) Viewed 3930 times
Re: TRV Controller Discussion Thread
It looks like you removed my kitchen thermostat support from the latest versions as well 
Could you please add it back?
"General Thermostat (v2)" - probably will help many other TRV users
It's a "generic" thermostat, activating a heat pump
Could you please add it back?
"General Thermostat (v2)" - probably will help many other TRV users
It's a "generic" thermostat, activating a heat pump
Code: Select all
address : 4
batteryLevel : None
buttonGroupCount : 0
configured : True
coolIsOn : False
coolSetpoint : 8.0
dehumidifierIsOn : False
description :
deviceTypeId : zwThermostatType
displayStateId : temperatureInputsAll
displayStateImageSel : HvacHeatMode
displayStateValRaw : 23.3
displayStateValUi : 23.3
enabled : True
energyAccumBaseTime : 2019-03-12 19:41:57
energyAccumTimeDelta : 7945475
energyAccumTotal : 0.0
energyCurLevel : 5.4
errorState :
fanIsOn : False
fanMode : AlwaysOn
folderId : 833704369
globalProps : MetaProps : (dict)
com.perceptiveautomation.indigoplugin.zwave : (dict)
NumHumidityInputs : 1 (integer)
ShowCoolHeatEquipmentStateUI : false (bool)
SupportsBatteryLevel : false (bool)
SupportsEnergyMeter : true (bool)
SupportsEnergyMeterCurPower : true (bool)
SupportsEnergyMeterReset : true (bool)
SupportsGasMeterReset : true (bool)
SupportsOnState : false (bool)
SupportsSensorValue : false (bool)
SupportsStatusRequest : true (bool)
SupportsWaterMeterReset : true (bool)
TempUnits : 1 (integer)
address : 4 (integer)
indigoObjVersion : 8 (integer)
modelNameAndFirmware : General Thermostat (v2), firmware 1.01 (string)
propsPushTickler : 2 (string)
tempAlwaysFalse : false (bool)
userPollAfterActivity : true (bool)
userPollInterval : 10 (integer)
userPollingEnabled : true (bool)
userWakeInterval : 60 (integer)
version : 1.01 (string)
zwAppVersMajor : 1 (integer)
zwAppVersMinor : 1 (integer)
zwAssociationsMap : (dict)
g1 : (list)
Item : 1 (integer)
g2 : (list)
g3 : (list)
g4 : (list)
g5 : (list)
g6 : (list)
g7 : (list)
g8 : (list)
g9 : (list)
zwAssociationsMapStr : 1:[1] 2:[] 3:[] 4:[] 5:[] 6:[] 7:[] 8:[] 9:[] (string)
zwClassCmdBase : 64 (integer)
zwClassCmdMap : (dict)
c112 : 1 (integer)
c114 : 1 (integer)
c115 : 1 (integer)
c133 : 1 (integer)
c134 : 1 (integer)
c142 : 1 (integer)
c32 : 1 (integer)
c39 : 1 (integer)
c49 : 7 (integer)
c50 : 4 (integer)
c64 : 1 (integer)
c67 : 1 (integer)
c89 : 1 (integer)
c90 : 1 (integer)
c94 : 1 (integer)
zwClassCmdMapStr : 20v1 40v1 43v1 85v1 86v1 27v1 32v4 8Ev1 70v1 31v7 72v1 73v1 59v1 5Av1 5Ev1 (string)
zwClassIds : (list)
Item : 4 (integer)
Item : 8 (integer)
Item : 6 (integer)
zwClassInstanceCountMap : (dict)
zwClassInstanceCountMapStr : - none - (string)
zwClassName : General Thermostat (v2) (string)
zwConfigVals : (dict)
zwConfigValsStr : - none - (string)
zwDevSubIndex : 0 (integer)
zwEncryptClassCmdMap : (dict)
zwEncryptClassCmdMapStr : - none - (string)
zwEncryptionStatusStr : Not Supported (string)
zwEndpointClassMap : (dict)
zwEndpointClassMapStr : - none - (string)
zwEndpointDevTypeMap : (dict)
zwEndpointDevTypeMapStr : - none - (string)
zwFeatureListStr : routing, beaming, energyMeter (string)
zwLibType : 3 (integer)
zwManufactureId : 345 (integer)
zwManufactureName : Qubino (string)
zwMeterSubTypeFlags : 5 (integer)
zwMeterSupportsReset : true (bool)
zwMeterType : 1 (integer)
zwModelDefnVers : 0 (integer)
zwModelId : 327763 (integer)
zwModelName : General Thermostat (v2) (string)
zwNodeNeighbors : (list)
Item : 3 (integer)
Item : 9 (integer)
Item : 19 (integer)
Item : 20 (integer)
Item : 21 (integer)
Item : 24 (integer)
Item : 29 (integer)
Item : 30 (integer)
Item : 39 (integer)
Item : 40 (integer)
Item : 46 (integer)
Item : 49 (integer)
Item : 54 (integer)
Item : 56 (integer)
Item : 57 (integer)
Item : 59 (integer)
Item : 60 (integer)
Item : 61 (integer)
Item : 64 (integer)
Item : 66 (integer)
Item : 67 (integer)
Item : 71 (integer)
Item : 74 (integer)
Item : 76 (integer)
Item : 85 (integer)
Item : 88 (integer)
Item : 91 (integer)
Item : 93 (integer)
Item : 98 (integer)
Item : 100 (integer)
Item : 104 (integer)
Item : 108 (integer)
Item : 111 (integer)
Item : 115 (integer)
Item : 122 (integer)
Item : 123 (integer)
Item : 124 (integer)
Item : 126 (integer)
Item : 127 (integer)
Item : 130 (integer)
Item : 141 (integer)
Item : 148 (integer)
Item : 150 (integer)
Item : 151 (integer)
Item : 159 (integer)
Item : 169 (integer)
Item : 174 (integer)
Item : 175 (integer)
Item : 178 (integer)
Item : 181 (integer)
Item : 182 (integer)
Item : 187 (integer)
Item : 189 (integer)
Item : 196 (integer)
Item : 201 (integer)
Item : 204 (integer)
Item : 219 (integer)
Item : 222 (integer)
Item : 227 (integer)
Item : 232 (integer)
zwNodeNeighborsStr : 3, 9, 19, 20, 21, 24, 29, 30, 39, 40, 46, 49, 54, 56, 57, 59, 60, 61, 64, 66, 67, 71, 74, 76, 85, 88, 91, 93, 98, 100, 104, 108, 111, 115, 122, 123, 124, 126, 127, 130, 141, 148, 150, 151, 159, 169, 174, 175, 178, 181, 182, 187, 189, 196, 201, 204, 219, 222, 227, 232 (string)
zwProtoVersMajor : 4 (integer)
zwProtoVersMinor : 5 (integer)
zwShowDumpDevToLog : false (bool)
zwShowMainUI : true (bool)
zwShowManualModifyConfigParmUI : true (bool)
zwShowPollingUI : true (bool)
zwShowSubmitModelInfoUI : true (bool)
zwShowWakeIntervalUI : false (bool)
zwWakeInterval : 0 (integer)
heatIsOn : False
heatSetpoint : 8.0
humidifierIsOn : False
humidities : [29.0]
humiditySensorCount : 1
hvacMode : Heat
id : 1767809163
lastChanged : 2019-10-28 11:02:48
lastSuccessfulComm : 2019-10-28 11:02:48
model : General Thermostat (v2)
name : Kitchen Heated Floor Thermostat
ownerProps : com.perceptiveautomation.indigoplugin.zwave : (dict)
NumHumidityInputs : 1 (integer)
ShowCoolHeatEquipmentStateUI : false (bool)
SupportsBatteryLevel : false (bool)
SupportsEnergyMeter : true (bool)
SupportsEnergyMeterCurPower : true (bool)
SupportsEnergyMeterReset : true (bool)
SupportsGasMeterReset : true (bool)
SupportsOnState : false (bool)
SupportsSensorValue : false (bool)
SupportsStatusRequest : true (bool)
SupportsWaterMeterReset : true (bool)
TempUnits : 1 (integer)
address : 4 (integer)
indigoObjVersion : 8 (integer)
modelNameAndFirmware : General Thermostat (v2), firmware 1.01 (string)
propsPushTickler : 2 (string)
tempAlwaysFalse : false (bool)
userPollAfterActivity : true (bool)
userPollInterval : 10 (integer)
userPollingEnabled : true (bool)
userWakeInterval : 60 (integer)
version : 1.01 (string)
zwAppVersMajor : 1 (integer)
zwAppVersMinor : 1 (integer)
zwAssociationsMap : (dict)
g1 : (list)
Item : 1 (integer)
g2 : (list)
g3 : (list)
g4 : (list)
g5 : (list)
g6 : (list)
g7 : (list)
g8 : (list)
g9 : (list)
zwAssociationsMapStr : 1:[1] 2:[] 3:[] 4:[] 5:[] 6:[] 7:[] 8:[] 9:[] (string)
zwClassCmdBase : 64 (integer)
zwClassCmdMap : (dict)
c112 : 1 (integer)
c114 : 1 (integer)
c115 : 1 (integer)
c133 : 1 (integer)
c134 : 1 (integer)
c142 : 1 (integer)
c32 : 1 (integer)
c39 : 1 (integer)
c49 : 7 (integer)
c50 : 4 (integer)
c64 : 1 (integer)
c67 : 1 (integer)
c89 : 1 (integer)
c90 : 1 (integer)
c94 : 1 (integer)
zwClassCmdMapStr : 20v1 40v1 43v1 85v1 86v1 27v1 32v4 8Ev1 70v1 31v7 72v1 73v1 59v1 5Av1 5Ev1 (string)
zwClassIds : (list)
Item : 4 (integer)
Item : 8 (integer)
Item : 6 (integer)
zwClassInstanceCountMap : (dict)
zwClassInstanceCountMapStr : - none - (string)
zwClassName : General Thermostat (v2) (string)
zwConfigVals : (dict)
zwConfigValsStr : - none - (string)
zwDevSubIndex : 0 (integer)
zwEncryptClassCmdMap : (dict)
zwEncryptClassCmdMapStr : - none - (string)
zwEncryptionStatusStr : Not Supported (string)
zwEndpointClassMap : (dict)
zwEndpointClassMapStr : - none - (string)
zwEndpointDevTypeMap : (dict)
zwEndpointDevTypeMapStr : - none - (string)
zwFeatureListStr : routing, beaming, energyMeter (string)
zwLibType : 3 (integer)
zwManufactureId : 345 (integer)
zwManufactureName : Qubino (string)
zwMeterSubTypeFlags : 5 (integer)
zwMeterSupportsReset : true (bool)
zwMeterType : 1 (integer)
zwModelDefnVers : 0 (integer)
zwModelId : 327763 (integer)
zwModelName : General Thermostat (v2) (string)
zwNodeNeighbors : (list)
Item : 3 (integer)
Item : 9 (integer)
Item : 19 (integer)
Item : 20 (integer)
Item : 21 (integer)
Item : 24 (integer)
Item : 29 (integer)
Item : 30 (integer)
Item : 39 (integer)
Item : 40 (integer)
Item : 46 (integer)
Item : 49 (integer)
Item : 54 (integer)
Item : 56 (integer)
Item : 57 (integer)
Item : 59 (integer)
Item : 60 (integer)
Item : 61 (integer)
Item : 64 (integer)
Item : 66 (integer)
Item : 67 (integer)
Item : 71 (integer)
Item : 74 (integer)
Item : 76 (integer)
Item : 85 (integer)
Item : 88 (integer)
Item : 91 (integer)
Item : 93 (integer)
Item : 98 (integer)
Item : 100 (integer)
Item : 104 (integer)
Item : 108 (integer)
Item : 111 (integer)
Item : 115 (integer)
Item : 122 (integer)
Item : 123 (integer)
Item : 124 (integer)
Item : 126 (integer)
Item : 127 (integer)
Item : 130 (integer)
Item : 141 (integer)
Item : 148 (integer)
Item : 150 (integer)
Item : 151 (integer)
Item : 159 (integer)
Item : 169 (integer)
Item : 174 (integer)
Item : 175 (integer)
Item : 178 (integer)
Item : 181 (integer)
Item : 182 (integer)
Item : 187 (integer)
Item : 189 (integer)
Item : 196 (integer)
Item : 201 (integer)
Item : 204 (integer)
Item : 219 (integer)
Item : 222 (integer)
Item : 227 (integer)
Item : 232 (integer)
zwNodeNeighborsStr : 3, 9, 19, 20, 21, 24, 29, 30, 39, 40, 46, 49, 54, 56, 57, 59, 60, 61, 64, 66, 67, 71, 74, 76, 85, 88, 91, 93, 98, 100, 104, 108, 111, 115, 122, 123, 124, 126, 127, 130, 141, 148, 150, 151, 159, 169, 174, 175, 178, 181, 182, 187, 189, 196, 201, 204, 219, 222, 227, 232 (string)
zwProtoVersMajor : 4 (integer)
zwProtoVersMinor : 5 (integer)
zwShowDumpDevToLog : false (bool)
zwShowMainUI : true (bool)
zwShowManualModifyConfigParmUI : true (bool)
zwShowPollingUI : true (bool)
zwShowSubmitModelInfoUI : true (bool)
zwShowWakeIntervalUI : false (bool)
zwWakeInterval : 0 (integer)
pluginId : com.perceptiveautomation.indigoplugin.zwave
pluginProps : emptyDict : (dict)
protocol : ZWave
remoteDisplay : True
states : States : (dict)
accumEnergyTimeDelta : 7945475 (integer)
accumEnergyTimeDelta.ui : 7945475 seconds (string)
accumEnergyTotal : 0 (real)
accumEnergyTotal.ui : 0.0 kWh (string)
curEnergyLevel : 5.4 (real)
curEnergyLevel.ui : 5.4 W (string)
humidityInput1 : 0 (integer)
humidityInputsAll : (string)
hvacFanMode : 1 (integer)
hvacFanMode.ui : always on (string)
hvacFanModeIsAlwaysOn : true (bool)
hvacFanModeIsAuto : false (bool)
hvacOperationMode : 1 (integer)
hvacOperationMode.ui : heat on (string)
hvacOperationModeIsAuto : false (bool)
hvacOperationModeIsCool : false (bool)
hvacOperationModeIsHeat : true (bool)
hvacOperationModeIsOff : false (bool)
hvacOperationModeIsProgramAuto : false (bool)
hvacOperationModeIsProgramCool : false (bool)
hvacOperationModeIsProgramHeat : false (bool)
setpointCool : 8 (real)
setpointCool.ui : 8.0 °C (string)
setpointHeat : 8 (real)
setpointHeat.ui : 8.0 °C (string)
temperatureInput1 : 23.3 (real)
temperatureInput1.ui : 23.3 °C (string)
temperatureInputsAll : 23.3 (string)
zwaveHvacOperationModeID : 1 (integer)
zwaveHvacOperationModeName : heat (string)
subModel :
supportsAllLightsOnOff : False
supportsAllOff : False
supportsCoolSetpoint : True
supportsHeatSetpoint : True
supportsHvacFanMode : True
supportsHvacOperationMode : True
supportsStatusRequest : True
temperatureSensorCount : 1
temperatures : [23.3]
version : 1.01
Re: TRV Controller Discussion Thread
If I did it wasn't intentional - I will take a look at it now.shapa wrote:It looks like you removed my kitchen thermostat support from the latest versions as well
Could you please add it back? ...
Re: TRV Controller Discussion Thread
More or less what the error message says.shapa wrote:Some questions to the validation process )
What's wrong here?
The schedules have to be in time order.
Also, make the first schedule start at (I suggest) 00:15 (not 00:01) as all the schedules get reset at 00:05 to make sure that the schedule timers are re-instated.
Re: TRV Controller Discussion Thread
It seems to be defined in the plugin.autolog wrote:If I did it wasn't intentional - I will take a look at it now.shapa wrote:It looks like you removed my kitchen thermostat support from the latest versions as well
Could you please add it back? ...
Where abouts is it missing from?
Just to aid with my searching to fix the issue for you.
Re: TRV Controller Discussion Thread
Autolog - just a heads up of a weird issue that has come up twice in 24 hrs.
I have changed the set point for the Day schedule to 20.5 for the Lounge Front and Back TRVs.
The Back TRV reported the Remote Temp (SRT321) as 23.5C and the set point as 25.5C.
And driving the central heating hard to get the Lounge to 25.5C.
Restarting the TRV Plugin reset the Lounge Back to 20.5C SetPoint and immediately turned off heating.
This occurred yesterday afternoon when I changed the SetPoint to 20.5 and again this morning when the Day Schedule started.
Both TRVs are Spirits. Front .15 and Back .16 firmware (maybe significant ?)
Indigo 7.4 TRV Plugin 1.3.1 on Mac OS 10.12.6
I have now set both Front and Back to 20C for Day Schedule - and will keep a closer eye on it.
Maybe significant - Over the weekend despite the Back TRV reporting valve open 100% and Remote Temp Below Setpoint and the Front TRV was Open and radiator hot the Back radiator was cold. Obviously the valve was actually shut. The battery was reporting 35% but just in case I swapped out the batteries and the valve opened and the radiator got hot immediately.
It maybe unrelated, it maybe a faulty Spirit. I'll keep a better eye on it.
I'll report back with more details if it occurs again.
I have changed the set point for the Day schedule to 20.5 for the Lounge Front and Back TRVs.
The Back TRV reported the Remote Temp (SRT321) as 23.5C and the set point as 25.5C.
And driving the central heating hard to get the Lounge to 25.5C.
Restarting the TRV Plugin reset the Lounge Back to 20.5C SetPoint and immediately turned off heating.
This occurred yesterday afternoon when I changed the SetPoint to 20.5 and again this morning when the Day Schedule started.
Both TRVs are Spirits. Front .15 and Back .16 firmware (maybe significant ?)
Indigo 7.4 TRV Plugin 1.3.1 on Mac OS 10.12.6
I have now set both Front and Back to 20C for Day Schedule - and will keep a closer eye on it.
Maybe significant - Over the weekend despite the Back TRV reporting valve open 100% and Remote Temp Below Setpoint and the Front TRV was Open and radiator hot the Back radiator was cold. Obviously the valve was actually shut. The battery was reporting 35% but just in case I swapped out the batteries and the valve opened and the radiator got hot immediately.
It maybe unrelated, it maybe a faulty Spirit. I'll keep a better eye on it.
I'll report back with more details if it occurs again.
Re: TRV Controller Discussion Thread
When you reload the plugin it will set the schedules back to the plugin default as defined for each TRV Controller device. Did you rerun the action to set the Day Schedules again?Busta999 wrote:Autolog - just a heads up of a weird issue that has come up twice in 24 hrs.
I have changed the set point for the Day schedule to 20.5 for the Lounge Front and Back TRVs.
The Back TRV reported the Remote Temp (SRT321) as 23.5C and the set point as 25.5C.
And driving the central heating hard to get the Lounge to 25.5C.
Restarting the TRV Plugin reset the Lounge Back to 20.5C SetPoint and immediately turned off heating.
This occurred yesterday afternoon when I changed the SetPoint to 20.5 and again this morning when the Day Schedule started.
Both TRVs are Spirits. Front .15 and Back .16 firmware (maybe significant ?)
Indigo 7.4 TRV Plugin 1.3.1 on Mac OS 10.12.6
I have now set both Front and Back to 20C for Day Schedule - and will keep a closer eye on it.
Yes I have seen this - I think it possibly is a firmware bug. I am thinking about how I could easily detect this.Busta999 wrote:Maybe significant - Over the weekend despite the Back TRV reporting valve open 100% and Remote Temp Below Setpoint and the Front TRV was Open and radiator hot the Back radiator was cold. Obviously the valve was actually shut. The battery was reporting 35% but just in case I swapped out the batteries and the valve opened and the radiator got hot immediately.
It maybe unrelated, it maybe a faulty Spirit. I'll keep a better eye on it.
I'll report back with more details if it occurs again.
I have been doing a few changes to support a revised scheduling mode (just setting times and set points). It is work in progress. It was getting a bit difficult / time consuming doing enhancements/corrections to the existing version (1.3. series) and keeping version 1.4 up-to-date with those changes.
Having the TRV On/Off setting enabled may help. However, I have discovered a potential problem with the TRV ON/OFF processing and have enhanced/corrected this in version 1.4. So as long as you don't attempt to use the new scheduling mode as it doesn't work yet - it may be worth trying this new version.
I think what I will do is put in pre-release version 1.4 up as a pre-release on Github. I can then just work on one code version to do the other enhancements/corrections that have been asked for.
Re: TRV Controller Discussion Thread
Nope just as Plugin Reload.When you reload the plugin it will set the schedules back to the plugin default as defined for each TRV Controller device. Did you rerun the action to set the Day Schedules again?
TRV On/off was enabledHaving the TRV On/Off setting enabled may help.
I'll keep an eye open on Github for when you post 1.4 and give it try.
Thanks
Re: TRV Controller Discussion Thread
So if you just did a reload, the day-time schedule won't be active OR have I misunderstood what is happening?Busta999 wrote:Nope just as Plugin Reload.When you reload the plugin it will set the schedules back to the plugin default as defined for each TRV Controller device. Did you rerun the action to set the Day Schedules again?
Re: TRV Controller Discussion Thread
Mmmm as I far as I saw it after the plugin reload had run the TRV returned to target for the correct schedule.
Now, I will check it next time.
The Plugin default is 20c and the schedule was for 20.5c so wouldn’t have noticed without close examination.
Sent from my iPhone using Tapatalk
Now, I will check it next time.
The Plugin default is 20c and the schedule was for 20.5c so wouldn’t have noticed without close examination.
Sent from my iPhone using Tapatalk
Re: TRV Controller Discussion Thread
I am still confused
(easily done)
I don't understand what the problem is? If you alter the setpoint of a TRV Controller and then reload the plugin, it will reset the setpoint to whatever schedule is currently active.
Did this not happen?
I don't understand what the problem is? If you alter the setpoint of a TRV Controller and then reload the plugin, it will reset the setpoint to whatever schedule is currently active.
Did this not happen?
Re: TRV Controller Discussion Thread
It’s our ageautolog wrote:I am still confused(easily done)
![]()
[/quote] I don't understand what the problem is? If you alter the setpoint of a TRV Controller and then reload the plugin, it will reset the setpoint to whatever schedule is currently active.
Did this not happen?
The problem was
Whilst in normal running the TRV changed the set point to 5c above the target in the schedule, ie targeted at 20.5 but had an actual set point of 25.5c while the remote temp sensor was reporting 23.5c.
The TRV was keeping the heating on so the lounge was getting very hot
To fix the immediate problem I reloaded the TRV plugin.
That restored the TRV to the correct set point and accordingly shut down the heating.
Hopefully explained it better ?
Sent from my iPhone using Tapatalk
Re: TRV Controller Discussion Thread
That definitely applies to me, you much less so!Busta999 wrote:It’s our ageautolog wrote:I am still confused(easily done)
![]()
Yes, I understand now and that obviously isn't correct.Busta999 wrote:The problem wasautolog wrote: I don't understand what the problem is? If you alter the setpoint of a TRV Controller and then reload the plugin, it will reset the setpoint to whatever schedule is currently active.
Did this not happen?
Whilst in normal running the TRV changed the set point to 5c above the target in the schedule, ie targeted at 20.5 but had an actual set point of 25.5c while the remote temp sensor was reporting 23.5c.
The TRV was keeping the heating on so the lounge was getting very hot
To fix the immediate problem I reloaded the TRV plugin.
That restored the TRV to the correct set point and accordingly shut down the heating.
Hopefully explained it better ?
If it happens again, let me know and I will dig deeper. May need you to turn on debug logging.
- Umtauscher
- Posts: 566
- Joined: Fri Oct 03, 2014 9:34 am
- Location: Cologne, Germany
Re: TRV Controller Discussion Thread
Just a observation:
Did you realize that Indigo 7.4 doesn‘t recognize the Spirit Thermostats any more?
It is now included a s a Generic device.
In 7.3 we have a Thermostat and a valve device, in 7.4 there is only a Generic Thermostat. This both is on 1.6 firmware
Did you realize that Indigo 7.4 doesn‘t recognize the Spirit Thermostats any more?
It is now included a s a Generic device.
In 7.3 we have a Thermostat and a valve device, in 7.4 there is only a Generic Thermostat. This both is on 1.6 firmware
Re: TRV Controller Discussion Thread
I am on Indigo 7.4 and Catalina 10.15.1 and all my Spirits are recognised (firmware 0.15 and 0.16).
I think there must be some other sort of issue going on?
Have you tried doing a device sync - should be be fairly quick?
I think there must be some other sort of issue going on?
Have you tried doing a device sync - should be be fairly quick?