Skip to main content

Asynchronous Python client for Salus iT600 local gateways

Project description

salus-it600-client

Asynchronous Python client for Salus iT600 devices.

For end users

See https://github.com/Jordi-14/homeassistant_salus to use this in Home Assistant.

FHEM users might be interested in https://github.com/dominikkarall/fhempy which provides subset of functionality.

About

This package allows you to control and monitor your Salus iT600 smart home devices locally through Salus UG600 universal gateway. Currently heating thermostats, binary sensors, temperature sensors, covers and switches are supported. You have any other devices and would like to contribute - you are welcome to create an issue or submit a pull request.

Installation

pip install salus-it600-client

Migration from pyit600

salus-it600-client is a renamed maintained successor of pyit600. It does not provide the old pyit600 import namespace, so callers must update imports:

from salus_it600.gateway import IT600Gateway
from salus_it600.exceptions import IT600ConnectionError

If another project depends on this package, replace the old dependency with:

salus-it600-client>=0.1.0

The first maintained release is 0.1.0. It keeps the public API close to pyit600 0.5.1, while moving compatibility fixes for current Salus gateway payloads into this library.

Usage

  • Instantiate the IT600Gateway device with local ip address and EUID of your gateway. You can find EUID written down on the bottom of your gateway (eg. 001E5E0D32906128).
  • Status can be polled using the poll_status() command.
  • Callbacks to be notified of state updates can be added with the add_climate_update_callback(method) or add_sensor_update_callback(method) method.

Basic example

from salus_it600.gateway import IT600Gateway

async with IT600Gateway(host=args.host, euid=args.euid) as gateway:
	await gateway.connect()
	await gateway.poll_status()

	climate_devices = gateway.get_climate_devices()

	print("All climate devices:")
	print(repr(climate_devices))

	for climate_device_id in climate_devices:
		print(f"Climate device {climate_device_id} status:")
		print(repr(climate_devices.get(climate_device_id)))

		print(f"Setting heating device {climate_device_id} temperature to 21 degrees celsius")
		await gateway.set_climate_device_temperature(climate_device_id, 21)

Supported devices

Thermostats:

  • HTRP-RF(50)
  • TS600
  • VS10WRF/VS10BRF
  • VS20WRF/VS20BRF
  • SQ610
  • SQ610RF
  • FC600

Binary sensors:

  • SW600
  • WLS600
  • OS600
  • SD600 (sometimes gateway may not expose required information for these devices to be detected, reason is unknown)
  • TRV10RFM (only heating state on/off)
  • RX10RF (only heating state on/off)

Temperature sensors:

  • PS600

Switch devices:

  • SPE600
  • RS600
  • SR600

Cover devices:

  • RS600

Unsupported devices

Buttons perform actions only in Salus Smart Home app:

  • SB600
  • CSB600

Untested devices

These switch devices have not been tested, but may work:

  • SP600

These binary sensors have not been tested, but may work:

  • MS600

Troubleshooting

If you can't connect using EUID written down on the bottom of your gateway (which looks something like 001E5E0D32906128), try using 0000000000000000 as EUID.

Also check if you have "Local Wifi Mode" enabled:

  • Open Smart Home app on your phone
  • Sign in
  • Double tap your Gateway to open info screen
  • Press gear icon to enter configuration
  • Scroll down a bit and check if "Disable Local WiFi Mode" is set to "No"
  • Scroll all the way down and save settings
  • Restart Gateway by unplugging/plugging USB power

Contributing

If you want to help to get your device supported, open GitHub issue and add your device model number and output of main.py program. Be sure to run this program with --debug option.

Release publishing is documented in RELEASE.md.

Project origin

This project is a maintained fork/successor of epoplavskis/pyit600. It was renamed from the pyit600 Python import namespace to salus_it600 to avoid collisions with the original unmaintained package while preserving the original MIT license and attribution.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

salus_it600_client-0.2.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

salus_it600_client-0.2.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file salus_it600_client-0.2.0.tar.gz.

File metadata

  • Download URL: salus_it600_client-0.2.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for salus_it600_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c0dcaf408e146042655bfcd31b16dac867d7769d0be99a5ecd248032861cf307
MD5 a7648c3faf7f74d6e5a4db418539940c
BLAKE2b-256 8592b1101bc77abf84157956e419a25d6cec58e0f60e0912fcb0a129b5165674

See more details on using hashes here.

Provenance

The following attestation bundles were made for salus_it600_client-0.2.0.tar.gz:

Publisher: publish.yml on Jordi-14/salus-it600-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file salus_it600_client-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for salus_it600_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97e0b6bf929b36d518a0be809bd502374271a45367704755da1be7c87d9aaafd
MD5 aabfe34c720d2e80cc519a2502d84070
BLAKE2b-256 e1ee8efa17529f4f09c01cf56a1f0f9ba6d501e9cb7fa9d4ec32dfd607b7d28e

See more details on using hashes here.

Provenance

The following attestation bundles were made for salus_it600_client-0.2.0-py3-none-any.whl:

Publisher: publish.yml on Jordi-14/salus-it600-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page