The following Jupyter cell uses ipywidgets to display a slider from 0.0 … 1.0 and, on change, will submit a HTTP request to http://10.1.2.3.4/api/set-power?power=[slider value]
.
import ipywidgets as widgets import requests from IPython.display import display # Define the slider widget slider = widgets.FloatSlider( value=0.5, # Initial value min=0.0, # Minimum value max=1.0, # Maximum value step=0.01, # Step size description='Slider:' ) # Define a function to handle slider changes def on_slider_change(change): slider_value = change['new'] # Define the API URL with the slider value api_url = f'http://10.1.2.3.4/api/set-power?power={slider_value}' print(api_url) # Make the HTTP request try: response = requests.get(api_url) response.raise_for_status() # Raise an exception for HTTP errors print(f'Successfully set power to {slider_value}') except requests.exceptions.RequestException as e: print(f'Error: {e}') # Attach the slider change handler to the slider widget slider.observe(on_slider_change, names='value') # Display the slider widget in the notebook display(slider)