Thanks for the heads-up on the problem in the mqtt_get_values plugin. The gv.sd[u"wl_weather"] value is only available if the weather_level_adj plugin is installed. I left line 77 in but commented out and updated SIP's plugin repo on GitHub.
As far as parsing SIP's program data this may help:
Program data with example values:
key['enabled'] = 1 # Bool, Use 1 or 0 to avod difference between Py True and JS true
key['type'] = 'alldays' | 'evendays' | 'odddays' | 'interval'
key['day_mask'] = 127 # days of week 0 to 7, or if type == interval - interval days
key['interval_base_day'] = 4 # based on dse (days since epoc)
key['start_min'] = 360 # 6AM
key['stop_min'] = 1080 # 6PM
key['cycle_min'] = 240 # 4 hours
key['duration_sec'] = [0]*gv.sd['nst'] # List of duration times of len # stations
key['station_mask'] = [0]*gv.sd['nbrd'] # List of 1 byte per board
key['name'] = 'un-named' # program name
The day_mask and station_mask values are bit masks. The "name" value has not been implemented in SIP yet.
Dan
As far as parsing SIP's program data this may help:
Program data with example values:
key['enabled'] = 1 # Bool, Use 1 or 0 to avod difference between Py True and JS true
key['type'] = 'alldays' | 'evendays' | 'odddays' | 'interval'
key['day_mask'] = 127 # days of week 0 to 7, or if type == interval - interval days
key['interval_base_day'] = 4 # based on dse (days since epoc)
key['start_min'] = 360 # 6AM
key['stop_min'] = 1080 # 6PM
key['cycle_min'] = 240 # 4 hours
key['duration_sec'] = [0]*gv.sd['nst'] # List of duration times of len # stations
key['station_mask'] = [0]*gv.sd['nbrd'] # List of 1 byte per board
key['name'] = 'un-named' # program name
The day_mask and station_mask values are bit masks. The "name" value has not been implemented in SIP yet.
Dan
<p><br></p>