A valve assembly for controlling fuel flow to a combustion appliance, the valve assembly comprising: a valve body having an inlet port and an outlet port, with a fluid channel extending between the inlet port and the outlet port; a valve sealing member movable within a gas valve port and situated in the fluid channel that is selectively moveable between a closed position, which closes the fluid channel, and an open position; and a valve controller configured to monitor a position of the valve sealing member, the valve controller comprising memory, wherein: the valve controller is configured to monitor a number of operational cycles of the valve sealing member during the lifetime of the valve assembly and store valve cycle data in the memory the valve controller is configured to retrieve one or more threshold numbers of operational cycles that is stored in the memory and compare a count of the number of operational cycles to a threshold number of operational valve cycles; and if the counted number of operational cycles exceeds a first threshold number of operational cycles, the valve controller is configured to initiate a warning or an alarm or send for a maintenance call, characterized in that, after the counted number of operational cycles exceeds a second threshold number of operational cycles, the valve controller prevents opening of the valve sealing member. a valve body having an inlet port and an outlet port, with a fluid channel extending between the inlet port and the outlet port; a valve sealing member movable within a gas valve port and situated in the fluid channel that is selectively moveable between a closed position, which closes the fluid channel, and an open position; and a valve controller configured to monitor a position of the valve sealing member, the valve controller comprising memory, wherein: the valve controller is configured to monitor a number of operational cycles of the valve sealing member during the lifetime of the valve assembly and store valve cycle data in the memory the valve controller is configured to retrieve one or more threshold numbers of operational cycles that is stored in the memory and compare a count of the number of operational cycles to a threshold number of operational valve cycles; and if the counted number of operational cycles exceeds a first threshold number of operational cycles, the valve controller is configured to initiate a warning or an alarm or send for a maintenance call, characterized in that, after the counted number of operational cycles exceeds a second threshold number of operational cycles, the valve controller prevents opening of the valve sealing member. the valve controller is configured to monitor a number of operational cycles of the valve sealing member during the lifetime of the valve assembly and store valve cycle data in the memory the valve controller is configured to retrieve one or more threshold numbers of operational cycles that is stored in the memory and compare a count of the number of operational cycles to a threshold number of operational valve cycles; and if the counted number of operational cycles exceeds a first threshold number of operational cycles, the valve controller is configured to initiate a warning or an alarm or send for a maintenance call, characterized in that, after the counted number of operational cycles exceeds a second threshold number of operational cycles, the valve controller prevents opening of the valve sealing member.