diff --git a/src/nodes/entity/switch-controller.js b/src/nodes/entity/switch-controller.js
index <HASH>..<HASH> 100644
--- a/src/nodes/entity/switch-controller.js
+++ b/src/nodes/entity/switch-controller.js
@@ -26,11 +26,10 @@ class Switch extends EntityNode {
     }
 
     onHaEventMessage(evt) {
+        const stateChanged =
+            evt.type === 'state_changed' && evt.state !== this.isEnabled;
         super.onHaEventMessage(evt);
-        if (
-            evt.type === 'state_changed' &&
-            this.nodeConfig.outputOnStateChange
-        ) {
+        if (stateChanged && this.nodeConfig.outputOnStateChange) {
             // fake a HA entity
             const entity = {
                 state: this.isEnabled,
fix(entity): Only output state change when the state actually changes

The entity switch would output anytime the state_changed event was received even when the state didn't change

Closes #<I>