2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.automation.pwm.internal.handler.state;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
18 * Active when, the duty cycle is 0% for at least a whole period.
20 * @author Fabian Wolter - Initial Contribution
23 public class AlwaysOffState extends State {
24 public AlwaysOffState(StateMachine context) {
31 public void dutyCycleChanged() {
32 if (Math.round(context.getDutycycle()) >= 100) {
33 nextState(DutycycleHundredState::new);
35 nextState(OnState::new);
40 protected void dutyCycleUpdated() {
41 // in case we came here by the dead-man switch
42 if (Math.round(context.getDutycycle()) > 0) {
43 nextState(OnState::new);
48 public void dispose() {