diff --git a/homeassistant/components/peblar/manifest.json b/homeassistant/components/peblar/manifest.json
index 2c3e73ba76eb11ff8bfcbd6324a8a346f9b2e858..859682d3f1dabc55406f9640a0e57a79bd131430 100644
--- a/homeassistant/components/peblar/manifest.json
+++ b/homeassistant/components/peblar/manifest.json
@@ -7,6 +7,6 @@
   "integration_type": "device",
   "iot_class": "local_polling",
   "quality_scale": "platinum",
-  "requirements": ["peblar==0.3.2"],
+  "requirements": ["peblar==0.3.3"],
   "zeroconf": [{ "type": "_http._tcp.local.", "name": "pblr-*" }]
 }
diff --git a/homeassistant/components/peblar/update.py b/homeassistant/components/peblar/update.py
index 77879030f6c90f3016f5f8d76340dfd7e49f2fa9..9e132da63bcc37b64f748e1c2f889c67691f35e2 100644
--- a/homeassistant/components/peblar/update.py
+++ b/homeassistant/components/peblar/update.py
@@ -37,6 +37,7 @@ DESCRIPTIONS: tuple[PeblarUpdateEntityDescription, ...] = (
         key="firmware",
         device_class=UpdateDeviceClass.FIRMWARE,
         installed_fn=lambda x: x.current.firmware,
+        has_fn=lambda x: x.current.firmware is not None,
         available_fn=lambda x: x.available.firmware,
     ),
     PeblarUpdateEntityDescription(
diff --git a/requirements_all.txt b/requirements_all.txt
index 050c5e2fd7cf0b03b75b98cacf0a697013b060ed..35ad3b7d7fff7af1fbfaad46c7686031d37f3233 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -1615,7 +1615,7 @@ panasonic-viera==0.4.2
 pdunehd==1.3.2
 
 # homeassistant.components.peblar
-peblar==0.3.2
+peblar==0.3.3
 
 # homeassistant.components.peco
 peco==0.0.30
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index e9d23cac7e322c6091c00c0da959025c38b7d1fc..4e97dd8a85f42c990bb46371f23f8e99f2f865a0 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -1342,7 +1342,7 @@ panasonic-viera==0.4.2
 pdunehd==1.3.2
 
 # homeassistant.components.peblar
-peblar==0.3.2
+peblar==0.3.3
 
 # homeassistant.components.peco
 peco==0.0.30