---
title: "Siemens S7"
description: "Siemens S7 is a Marketplace integration for Home Assistant. It has 241 installs sharing analytics, works locally and was last updated October 25, 2026."
canonical: "https://vulpo.app/integrations/marketplace/xtimmy86x-ha-s7plc"
url: "https://vulpo.app/integrations/marketplace/xtimmy86x-ha-s7plc.md"
last-updated: "2026-10-25"
version: "1.4"
---

# Siemens S7

> Siemens S7 is a Marketplace integration for Home Assistant. It has 241 installs sharing analytics, works locally and was last updated October 25, 2026.

Siemens S7 is an integration that connects Home Assistant directly to Siemens S7 PLCs and Logo! controllers over the local network. It talks to the controller through the S7 protocol using the pys7 library, with no MQTT, REST or middleware in between. PLC addresses can be mapped to lights, switches, covers, buttons, climate, numbers, selects, texts, sensors and binary sensors, and any Home Assistant entity state can be pushed to PLC addresses. A connection uses either rack and slot or TSAP addressing, with adjustable scan interval, timeouts and retry settings. A side panel lists every PLC entity with visual and YAML editors, and a schedule card edits on and off times. Optional diagnostic sensors report connection health and communication statistics, and setup is done in the UI.

Automatic summary of the README and code of xtimmy86x/ha-s7plc. Something wrong, or are you the maintainer and want your own text here? [Get in touch](https://vulpo.app/contact)

[Open in My Home Assistant](https://my.home-assistant.io/redirect/hacs_repository/?owner=xtimmy86x&repository=ha-s7plc&category=integration)

On Home Assistant 2026.11 or newer? [Open it in the Marketplace](https://my.home-assistant.io/redirect/marketplace_repository/?owner=xtimmy86x&repository=ha-s7plc&category=integration)

## Supports

- **Works locally**: Talks to your devices on your own network. No vendor cloud in between.
- **From the Marketplace**: Installed through the Marketplace, formerly HACS.
- **Actively maintained**: Its author released or pushed a change in the last six months.

## Setting it up

Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.

### Choose Connection Type

- **Connection Type**
- **PLC family**

### Connect to S7 PLC (Rack/Slot)

- **Name**: A friendly name for the PLC (used in entity names).
- **Host**: IP or hostname of the PLC.
- **Port**: ISO-on-TCP port, typically 102.
- **Rack**: CPU rack number (usually 0).
- **Slot**: CPU slot number (e.g., 1 for S7-1200/1500).
- **Connection type**: S7 connection type (PG – programming, OP – operator panel, S7 Basic – basic connection).
- **Scan interval (s)**: How often to poll the PLC, in seconds. Use decimal values for millisecond precision.
- **Operation timeout (s)**: Maximum duration for a single read/write cycle before retrying.
- **Retry attempts**: How many times to retry a failed PLC operation before giving up.
- **Retry backoff start (s)**: Delay before the first retry attempt.
- **Retry backoff max (s)**: Maximum delay between retry attempts.
- **Optimize batch reads**: Enable optimized batch reads to improve performance. If you experience read errors, disable this option.
- **Enable write batching**: Automatically group writes together. When multiple entities update simultaneously, writes are combined into a single PLC request (50ms window). Improves performance for scenes and bulk operations.
- **Enable performance metrics**: Enable performance metrics. Collects and reports performance data for monitoring and optimization.
- **Manual connection control**: Creates a switch that can suspend the PLC connection and reconnection attempts.

### Connect to S7 PLC (TSAP)

- **Name**: A friendly name for the PLC (used in entity names).
- **Host**: IP or hostname of the PLC.
- **Port**: ISO-on-TCP port, typically 102.
- **Local TSAP**: Local TSAP address (e.g., 01.00 or 03.00).
- **Remote TSAP**: Remote TSAP address (e.g., 01.01 or 03.01).
- **Connection type**: S7 connection type (PG – programming, OP – operator panel, S7 Basic – basic connection).
- **Scan interval (s)**: How often to poll the PLC, in seconds. Use decimal values for millisecond precision.
- **Operation timeout (s)**: Maximum duration for a single read/write cycle before retrying.
- **Retry attempts**: How many times to retry a failed PLC operation before giving up.
- **Retry backoff start (s)**: Delay before the first retry attempt.
- **Retry backoff max (s)**: Maximum delay between retry attempts.
- **Optimize batch reads**: Enable optimized batch reads to improve performance. If you experience read errors, disable this option.
- **Enable write batching**: Automatically group writes together. When multiple entities update simultaneously, writes are combined into a single PLC request (50ms window). Improves performance for scenes and bulk operations.
- **Enable performance metrics**: Enable performance metrics. Collects and reports performance data for monitoring and optimization.
- **Manual connection control**: Creates a switch that can suspend the PLC connection and reconnection attempts.

### After setup

- **Name**: A friendly name for the PLC (used in entity names).
- **Host**: IP or hostname of the PLC.
- **Port**: ISO-on-TCP port, typically 102.
- **Rack**: CPU rack number (usually 0).
- **Slot**: CPU slot number (e.g., 1 for S7-1200/1500).
- **Connection Type**: Type of S7 connection (PG for programming, OP for operator panel, S7 Basic for basic connection).
- **Scan interval (s)**: How often to poll the PLC, in seconds. Use decimal values for millisecond precision.
- **Operation timeout (s)**: Maximum duration for a single read/write cycle before retrying.
- **Retry attempts**: How many times to retry a failed PLC operation before giving up.
- **Retry backoff start (s)**: Delay before the first retry attempt.
- **Retry backoff max (s)**: Maximum delay between retry attempts.
- **Optimize batch reads**: Enable optimized batch reads to improve performance. If you experience read errors, disable this option.
- **Enable write batching**: Enable automatic batching of writes. When multiple entities update simultaneously, writes are grouped into a single PLC request (50ms window). Improves performance for scenes and bulk operations.
- **Enable performance metrics**: Enable performance metrics. Collects and reports performance data for monitoring and optimization.
- **PLC family**

Texts from the code of [xtimmy86x/ha-s7plc](https://github.com/xtimmy86x/ha-s7plc).

## Entities

- **Binary sensors**: Connection
- **Sensors**: Connection uptime, Connection count, Disconnection count, Total operations, Read count, Write count, Total errors, Success rate, Error rate, Avg read duration, Avg write duration, Operations per minute, and 2 more
- **Switches**: Enable connection

## Troubleshooting

- **Diagnostics**: Downloads a diagnostics file to attach to a bug report.

## From the README

> Home Assistant integration for Siemens S7 PLCs and Logo! controllers Direct + lightweight custom component using pys7. No MQTT • No REST • No middleware
>
> - ⚡ Direct PLC communication over S7 protocol via pys7
> - 🧩 Multiple entity types: light, dimmer light, switch, cover, button, binary\_sensor, sensor, number, select, text, climate, and Entity Sync
> - 🔌 Dual connection modes: Rack/Slot or TSAP addressing
> - 🧮 Value multipliers: Scale raw PLC values before Home Assistant sees them
> - 🪶 Lightweight: Minimal overhead, no broker/services required
> - 🛠️ Full UI configuration: Set up and manage entirely from Home Assistant's UI
> - 🖥️ Native side panel: Manage every PLC entity from the Home Assistant sidebar with visual and YAML editors, live states, and validation
> - 🕒 Schedule dashboard card: Edit BCD WORD or HHMM on/off times with a visual card editor, automatically loaded with the integration (guide)
> - 🔍 Optional auto-discovery: Pre-populates PLCs found on your local network
> - 📄 S7 STRING support for text sensors
> - 🔄 State synchronization: Bidirectional sync for switches and lights with physical controls
> - 📤 Entity Sync: Push any Home Assistant entity state to PLC addresses in real-time

From the README of [xtimmy86x/ha-s7plc](https://github.com/xtimmy86x/ha-s7plc#readme), [MIT License](https://spdx.org/licenses/MIT.html). Shortened.

## At a glance

- Kind: Marketplace integration
- Category: [Hubs and protocols](https://vulpo.app/integrations/category/hubs-and-protocols.md), Building automation
- Brand: [Siemens](https://vulpo.app/integrations/siemens.md)
- Number: 241 installs sharing analytics; 44 GitHub stars
- Connection: Works locally
- Upkeep: Updated in the last 6 months
- Needs: Needs the Marketplace (HACS on 2026.10 and older)
- Latest version: 8.0.0, last updated October 25, 2026
- Domain: `s7plc`
- Source: <https://github.com/xtimmy86x/ha-s7plc>
- Issues: <https://github.com/xtimmy86x/ha-s7plc/issues>
- Screenshot: https://vulpo.app/integrations-img/d9ccafc9e137af7f.webp (from xtimmy86x/ha-s7plc's README)
- Screenshot: https://vulpo.app/integrations-img/d7f404ffce574f3c.webp (from xtimmy86x/ha-s7plc's README)
- Screenshot: https://vulpo.app/integrations-img/ef8b958994ea31cd.webp (from xtimmy86x/ha-s7plc's README)

In Vulpo: Light card, Quick Toggle card, Cover card, Climate card, Apple Watch, Control Center, Climate Live Activity (Pro)

[Widgets & Live Activities in Vulpo](https://vulpo.app/features/widgets-and-live-activities)

## Other ways in for Siemens

| Name | Kind | Installs or stars | Connection | Upkeep |
| --- | --- | --- | --- | --- |
| [Siemens SENTRON](https://github.com/powerassistant/ha-siemens-sentron) | Marketplace integration | 2 installs sharing analytics | Works locally | Updated in the last 6 months |
| [Siemens S7 PLC](https://github.com/gijzelaerr/ha-s7) | Marketplace integration | 1 installs sharing analytics | Works locally | Updated in the last 6 months |

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. [About these numbers](https://vulpo.app/integrations/about)

Last updated 2026-10-25. Source: https://vulpo.app/integrations/marketplace/xtimmy86x-ha-s7plc

---

- HTML version of this page: https://vulpo.app/integrations/marketplace/xtimmy86x-ha-s7plc
- Site index for agents: https://vulpo.app/llms.txt
- Everything in one document: https://vulpo.app/llms-full.txt
- All pages: https://vulpo.app/sitemap.xml
