32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
import octoprint.plugin
|
|
import requests
|
|
|
|
class SendSMSHandlerPlugin(octoprint.plugin.EventHandlerPlugin, octoprint.plugin.StartupPlugin):
|
|
def on_after_startup(self):
|
|
self._logger.info("Send SMS !")
|
|
|
|
def on_event(self, event, payload):
|
|
if event == "PrintDone":
|
|
self._logger.info("Print job finished, sending GET request...")
|
|
file_name = payload.get("name", "Nom inconnu")
|
|
print_time = payload.get("time", 0)
|
|
self.send_get_request(file_name, print_time)
|
|
|
|
def send_get_request(self, file_name, print_time):
|
|
url = f"https://smsapi.free-mobile.fr/sendmsg?user=58834922&pass=OgGZvJjNf5GCSU&to=0681952587&msg=Impression terminée de {file_name} en {print_time}"
|
|
if url:
|
|
try:
|
|
response = requests.get(url)
|
|
self._logger.info(f"GET request sent to {url}, response: {response.status_code}")
|
|
except Exception as e:
|
|
self._logger.error(f"Failed to send GET request: {e}")
|
|
else:
|
|
self._logger.error("URL is not configured in plugin settings.")
|
|
|
|
|
|
__plugin_name__ = "Send SMS"
|
|
__plugin_version__ = "1.0.0"
|
|
__plugin_description__ = "Send SMS when print is done"
|
|
__plugin_pythoncompat__ = ">=3.7,<4"
|
|
__plugin_implementation__ = SendSMSHandlerPlugin()
|