11#!/usr/bin/env python3
22
3- import paho .mqtt .client as mqtt
3+ import json
4+ import threading
45
5- from apscheduler . schedulers . background import BackgroundScheduler
6+ import paho . mqtt . client as mqtt
67from apscheduler .schedulers import SchedulerAlreadyRunningError
8+ from apscheduler .schedulers .background import BackgroundScheduler
9+ from apscheduler .triggers .interval import IntervalTrigger
10+
711from .devices import LightSensor
8- import threading
9- import json
1012
1113
1214class LightMqtt :
@@ -56,6 +58,7 @@ def receiver(self):
5658 """
5759 Receive data form thingsboard controller.
5860 """
61+
5962 def wrapper (client , user_data , msg ):
6063 """
6164 Call light sensor method to change the state, the intensity and the color temperature.
@@ -93,7 +96,7 @@ def start(self):
9396 self .client .subscribe (self .topicRecived )
9497 self .client .on_message = self .receiver ()
9598 self .job = self .scheduler .add_job (
96- self .send , "interval" , seconds = LightMqtt ._socketTimes
99+ self .send , trigger = IntervalTrigger ( seconds = LightMqtt ._socketTimes )
97100 )
98101 try :
99102 self .scheduler .start ()
@@ -105,6 +108,6 @@ def stopThread(self):
105108 """
106109 Stop all asynchronous processus.
107110 """
108- self .scheduler .remove_job ( self . job . id )
111+ self .scheduler .remove_all_jobs ( )
109112 self .client .disconnect ()
110113 self .thread .join ()
0 commit comments