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.1.1.tar.gz (17.0 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.1.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: salus_it600_client-0.1.1.tar.gz
  • Upload date:
  • Size: 17.0 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.1.1.tar.gz
Algorithm Hash digest
SHA256 7a5ef0cd2f43bf96da0527dbe19fa7a41f46dde3a96d170b4f0a0205eff3cc62
MD5 6bc03708f69ebe8bb862a1a0d3bf80b7
BLAKE2b-256 1c51ec0bd5860a5dd55832eb9423eedad2399baf2e48b3f74f1e517a7fca5c49

See more details on using hashes here.

Provenance

The following attestation bundles were made for salus_it600_client-0.1.1.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.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for salus_it600_client-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e512c0478f35d9eac4b8097e37368e801052dc2fe9d8f55f5204c04a042b941
MD5 1b72a0064311cb77f6c6bb2691ffaf1f
BLAKE2b-256 b9cb81184c201d78ae7368bff87cefb838aa00f89ff8a99808afa308348648ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for salus_it600_client-0.1.1-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