There are 2 places where events are emptied:
1. when EVENTS is read from pluginProps
- Code: Select all
try:
self.EVENTS=json.loads(self.pluginPrefs["EVENTS"])
except:
self.EVENTS = {}
2. in routine cleanup
- Code: Select all
try:
indigo.devices[int(self.EVENTS[n]["IPdeviceMACnumber"][nDev])]
except:
self.indiLOG.log(40, u"cleanupEVENTS removing device from evants as indigo device does not exist:"+ unicode(self.EVENTS[n]["IPdeviceMACnumber"][nDev]) )
self.EVENTS[n]["IPdeviceMACnumber"][nDev] = "0"
as there is no entry in the log file it seems that reading the EVENT dict from pluginprops seems to not work.
so could you:
1. create a new event with at least one device Events#1 and use device#1
2. check file /Library/Application Support/Perceptive Automation/Indigo 7.4/Preferences/Plugins/com.karlwachs.fingscan.indiPref
look for: <EVENTS type="string">{"11": {"iDeviceUseForAway&q
copy that line to an editor (BBEDIT) and do a find/replace "}" with "}\n" and "{" with "\n{" w/o the "
that makes it readable
Check before, after creating event, after 5 minutes, if the event defs are fine, then restart the plugin and check again (just once)
==> it should contain the events definitions with MAC# timers .. ... the EVENTS dict is VVVVVERY long
try to
find MAC#
where MAC#are some of your devices that should be in the event it should look like:
>> "1": "B8:27:EB:38:F2:31", <<
if they are not present then the plugin /indigo does not save the defs.
if they are the json.loads fails.
Mine works fine. I need to be able to find where it goes wrong .. gets deleted or don't get loaded
Karl