Shelly Controller Module
- class mtf.relays.shelly_controller.ShellyRelay
A class to control a Shelly relay via its RPC API.
- Attributes:
base_url (str): The base URL for the Shelly relay API.
- __init__(ip_address)
Initializes the ShellyRelay with the given IP address.
- Args:
ip_address (str): The IP address of the Shelly relay.
- turn_on()
Turns on the relay by sending a request to the Shelly API.
Prints a success message if the relay is turned on, otherwise prints an error message with details.
- get_config()
Retrieves the configuration of the relay from the Shelly API.
Prints the configuration if the request is successful, otherwise prints an error message with details.
- turn_off()
Turns off the relay by sending a request to the Shelly API.
Prints a success message if the relay is turned off, otherwise prints an error message with details.
- get_status()
Retrieves the current status of the relay from the Shelly API.
Returns the status as a dictionary if successful, otherwise returns None and prints an error message with details.
- Returns:
dict or None: The status of the relay or None if the request failed.
- mtf.relays.shelly_controller.execute_action(ip, action)
Executes the specified action on a Shelly relay with the given IP address.
- Args:
ip (str): The IP address of the Shelly relay. action (str): The action to perform (‘turn_on’, ‘turn_off’, ‘get_status’, or ‘get_config’).
Prints the result of the action or an error message if the action is unknown.