|
14 | 14 | from datetime import datetime |
15 | 15 |
|
16 | 16 | class tplinksmartplugPlugin(octoprint.plugin.SettingsPlugin, |
17 | | - octoprint.plugin.AssetPlugin, |
18 | | - octoprint.plugin.TemplatePlugin, |
| 17 | + octoprint.plugin.AssetPlugin, |
| 18 | + octoprint.plugin.TemplatePlugin, |
19 | 19 | octoprint.plugin.SimpleApiPlugin, |
20 | 20 | octoprint.plugin.StartupPlugin, |
21 | 21 | octoprint.plugin.ProgressPlugin): |
@@ -45,7 +45,7 @@ def on_after_startup(self): |
45 | 45 | def get_settings_defaults(self): |
46 | 46 | return dict( |
47 | 47 | debug_logging = False, |
48 | | - arrSmartplugs = [{'ip':'','label':'','icon':'icon-bolt','displayWarning':True,'warnPrinting':False,'gcodeEnabled':False,'gcodeOnDelay':0,'gcodeOffDelay':0,'autoConnect':True,'autoConnectDelay':10.0,'autoDisconnect':True,'autoDisconnectDelay':0,'sysCmdOn':False,'sysRunCmdOn':'','sysCmdOnDelay':0,'sysCmdOff':False,'sysRunCmdOff':'','sysCmdOffDelay':0,'currentState':'unknown','btnColor':'#808080','useCountdownRules':False,'countdownOnDelay':0,'countdownOffDelay':0,'emeter':None}], |
| 48 | + arrSmartplugs = [{'ip':'','label':'','icon':'icon-bolt','displayWarning':True,'warnPrinting':False,'gcodeEnabled':False,'gcodeOnDelay':0,'gcodeOffDelay':0,'autoConnect':True,'autoConnectDelay':10.0,'autoDisconnect':True,'autoDisconnectDelay':0,'sysCmdOn':False,'sysRunCmdOn':'','sysCmdOnDelay':0,'sysCmdOff':False,'sysRunCmdOff':'','sysCmdOffDelay':0,'currentState':'unknown','btnColor':'#808080','useCountdownRules':False,'countdownOnDelay':0,'countdownOffDelay':0,'emeter':{'get_realtime':{}}}], |
49 | 49 | pollingInterval = 15, |
50 | 50 | pollingEnabled = False |
51 | 51 | ) |
@@ -168,15 +168,18 @@ def turn_off(self, plugip): |
168 | 168 | def check_status(self, plugip): |
169 | 169 | self._tplinksmartplug_logger.debug("Checking status of %s." % plugip) |
170 | 170 | if plugip != "": |
| 171 | + emeter_data = None |
171 | 172 | today = datetime.today() |
172 | | - check_status_cmnd = '{"system":{"get_sysinfo":{}},"emeter":{"get_realtime":{}}}' |
| 173 | + check_status_cmnd = '{"system":{"get_sysinfo":{}}}' |
173 | 174 | # ,"get_daystat":{"month":%d,"year":%d}}}' % (today.month, today.year) |
| 175 | + # ,"emeter":{"get_realtime":{}} |
174 | 176 | self._tplinksmartplug_logger.debug(check_status_cmnd) |
175 | 177 | response = self.sendCommand(check_status_cmnd, plugip) |
176 | | - if self.lookup(response, *["emeter","get_realtime"]): |
177 | | - emeter_data = response["emeter"] |
178 | | - else: |
179 | | - emeter_data = None |
| 178 | + |
| 179 | + if "ENE" in self.lookup(response, *["system","get_sysinfo","feature"]): |
| 180 | + check_emeter_data = self.sendCommand('{"emeter":{"get_realtime":{}}}', plugip) |
| 181 | + if self.lookup(check_emeter_data, *["emeter","get_realtime"]): |
| 182 | + emeter_data = check_emeter_data["emeter"] |
180 | 183 |
|
181 | 184 | chk = self.lookup(response,*["system","get_sysinfo","relay_state"]) |
182 | 185 | if chk == 1: |
|
0 commit comments