simo 2.0.28__py3-none-any.whl → 2.0.30__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of simo might be problematic. Click here for more details.
- simo/core/__pycache__/forms.cpython-38.pyc +0 -0
- simo/core/__pycache__/serializers.cpython-38.pyc +0 -0
- simo/core/__pycache__/tasks.cpython-38.pyc +0 -0
- simo/core/forms.py +2 -6
- simo/core/serializers.py +1 -0
- simo/core/tasks.py +2 -1
- simo/fleet/__pycache__/forms.cpython-38.pyc +0 -0
- simo/fleet/forms.py +1 -0
- simo/generic/__pycache__/forms.cpython-38.pyc +0 -0
- simo/generic/__pycache__/gateways.cpython-38.pyc +0 -0
- simo/generic/forms.py +7 -2
- simo/generic/gateways.py +1 -1
- {simo-2.0.28.dist-info → simo-2.0.30.dist-info}/METADATA +1 -1
- {simo-2.0.28.dist-info → simo-2.0.30.dist-info}/RECORD +17 -17
- {simo-2.0.28.dist-info → simo-2.0.30.dist-info}/LICENSE.md +0 -0
- {simo-2.0.28.dist-info → simo-2.0.30.dist-info}/WHEEL +0 -0
- {simo-2.0.28.dist-info → simo-2.0.30.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
simo/core/forms.py
CHANGED
|
@@ -287,15 +287,11 @@ class ComponentAdminForm(forms.ModelForm):
|
|
|
287
287
|
|
|
288
288
|
# fields that can be edited via SIMO.io app by instance owners.
|
|
289
289
|
# Users who have is_owner enabled on their user role.
|
|
290
|
-
basic_fields = ['name', 'icon', 'zone', 'category']
|
|
290
|
+
basic_fields = ['name', 'icon', 'zone', 'category', 'show_in_app']
|
|
291
291
|
|
|
292
292
|
class Meta:
|
|
293
293
|
model = Component
|
|
294
|
-
fields = '
|
|
295
|
-
exclude = (
|
|
296
|
-
'gateway', 'controller_uid', 'base_type', 'instance_methods',
|
|
297
|
-
'alive', 'value_type', 'value', 'arm_status', 'slaves',
|
|
298
|
-
)
|
|
294
|
+
fields = 'name', 'icon', 'zone', 'category', 'show_in_app', 'notes'
|
|
299
295
|
widgets = {
|
|
300
296
|
'icon': autocomplete.ModelSelect2(
|
|
301
297
|
url='autocomplete-icon', attrs={'data-html': True}
|
simo/core/serializers.py
CHANGED
|
@@ -236,6 +236,7 @@ class ComponentSerializer(FormSerializer):
|
|
|
236
236
|
app_widget = serializers.SerializerMethodField()
|
|
237
237
|
slaves = serializers.SerializerMethodField()
|
|
238
238
|
base_type = ObjectSerializerMethodField()
|
|
239
|
+
show_in_app = ObjectSerializerMethodField()
|
|
239
240
|
controller_uid = ObjectSerializerMethodField()
|
|
240
241
|
alive = ObjectSerializerMethodField()
|
|
241
242
|
value = ObjectSerializerMethodField()
|
simo/core/tasks.py
CHANGED
|
@@ -344,7 +344,8 @@ def low_battery_notifications():
|
|
|
344
344
|
battery_level__isnull=False, battery_level__lt=20
|
|
345
345
|
):
|
|
346
346
|
users = User.objects.filter(
|
|
347
|
-
roles__is_owner=True, roles__instance=comp.zone.instance
|
|
347
|
+
roles__is_owner=True, roles__instance=comp.zone.instance,
|
|
348
|
+
instance_roles__is_active=True
|
|
348
349
|
).distinct()
|
|
349
350
|
if users:
|
|
350
351
|
notify_users(
|
|
Binary file
|
simo/fleet/forms.py
CHANGED
|
@@ -1009,6 +1009,7 @@ class TTLockConfigForm(ColonelComponentForm):
|
|
|
1009
1009
|
return self.cleaned_data
|
|
1010
1010
|
|
|
1011
1011
|
def save(self, commit=True):
|
|
1012
|
+
# TODO: after inclusion it was not assigned to proper colonel!
|
|
1012
1013
|
obj = super(ColonelComponentForm, self).save(commit)
|
|
1013
1014
|
if commit and 'door_sensor' in self.cleaned_data:
|
|
1014
1015
|
GatewayObjectCommand(
|
|
Binary file
|
|
Binary file
|
simo/generic/forms.py
CHANGED
|
@@ -29,7 +29,11 @@ ACTION_METHODS = (
|
|
|
29
29
|
class ScriptConfigForm(BaseComponentForm):
|
|
30
30
|
autostart = forms.BooleanField(
|
|
31
31
|
initial=True, required=False,
|
|
32
|
-
help_text="
|
|
32
|
+
help_text="Start automatically on system boot."
|
|
33
|
+
)
|
|
34
|
+
keep_alive = forms.BooleanField(
|
|
35
|
+
initial=True, required=False,
|
|
36
|
+
help_text="Wake up every 10s if not running."
|
|
33
37
|
)
|
|
34
38
|
code = forms.CharField(widget=PythonCode)
|
|
35
39
|
log = forms.CharField(
|
|
@@ -38,6 +42,7 @@ class ScriptConfigForm(BaseComponentForm):
|
|
|
38
42
|
|
|
39
43
|
def __init__(self, *args, **kwargs):
|
|
40
44
|
super().__init__(*args, **kwargs)
|
|
45
|
+
self.basic_fields.extend(['autostart', 'keep_alive'])
|
|
41
46
|
if self.instance.pk:
|
|
42
47
|
prefix = get_script_prefix()
|
|
43
48
|
if prefix == '/':
|
|
@@ -53,7 +58,7 @@ class ScriptConfigForm(BaseComponentForm):
|
|
|
53
58
|
def get_admin_fieldsets(cls, request, obj=None):
|
|
54
59
|
base_fields = (
|
|
55
60
|
'id', 'gateway', 'base_type', 'name', 'icon', 'zone', 'category',
|
|
56
|
-
'show_in_app', 'autostart',
|
|
61
|
+
'show_in_app', 'autostart', 'keep_alive',
|
|
57
62
|
'code', 'control', 'log'
|
|
58
63
|
)
|
|
59
64
|
|
simo/generic/gateways.py
CHANGED
|
@@ -215,7 +215,7 @@ class GenericGatewayHandler(BaseObjectCommandsGatewayHandler):
|
|
|
215
215
|
from simo.generic.controllers import Script
|
|
216
216
|
for script in Component.objects.filter(
|
|
217
217
|
controller_uid=Script.uid,
|
|
218
|
-
|
|
218
|
+
config__keep_alive=True
|
|
219
219
|
).exclude(value='running'):
|
|
220
220
|
self.start_script(script)
|
|
221
221
|
|
|
@@ -38,7 +38,7 @@ simo/core/controllers.py,sha256=iJ7cIGv2WhSGjyxCFfK49pZXuEMfSe75bMEAkRN8G4g,2710
|
|
|
38
38
|
simo/core/dynamic_settings.py,sha256=U2WNL96JzVXdZh0EqMPWrxqO6BaRR2Eo5KTDqz7MC4o,1943
|
|
39
39
|
simo/core/events.py,sha256=LvtonJGNyCb6HLozs4EG0WZItnDwNdtnGQ4vTcnKvUs,4438
|
|
40
40
|
simo/core/filters.py,sha256=ghtOZcrwNAkIyF5_G9Sn73NkiI71mXv0NhwCk4IyMIM,411
|
|
41
|
-
simo/core/forms.py,sha256=
|
|
41
|
+
simo/core/forms.py,sha256=2IvhlJ_mSePd3cAQULfaYMQ0JRBHZCDKZBUpcQn1EL8,23678
|
|
42
42
|
simo/core/gateways.py,sha256=s_c2W0v2_te89i6LS4Nj7F2wn9UwjZXPT7pfy6SToVo,3714
|
|
43
43
|
simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
|
|
44
44
|
simo/core/managers.py,sha256=WoQ4OX3akIvoroSYji-nLVqXBSJzCiC1u_IiWkKbKmA,2413
|
|
@@ -46,11 +46,11 @@ simo/core/middleware.py,sha256=pO52hQOJV_JRmNyUe7zfufSnJFlRITOWX6jwkoPWJhk,2052
|
|
|
46
46
|
simo/core/models.py,sha256=PAVuRYldy4qw7KTsU3ClkEHY7UVvW7CPGGqM3frtvz4,19755
|
|
47
47
|
simo/core/permissions.py,sha256=yqVXq6SNZccSKcOoGdb0oh-WHsyTTtI9ovJdJyhjv28,2707
|
|
48
48
|
simo/core/routing.py,sha256=X1_IHxyA-_Q7hw1udDoviVP4_FSBDl8GYETTC2zWTbY,499
|
|
49
|
-
simo/core/serializers.py,sha256=
|
|
49
|
+
simo/core/serializers.py,sha256=uc6LfrDNQ4rrbTFjXTe764wOKcgnu65j_tmDqy9wodw,18227
|
|
50
50
|
simo/core/signal_receivers.py,sha256=EZ8NSYZxUgSaLS16YZdK7T__l8dl0joMRllOxx5PUt4,2809
|
|
51
51
|
simo/core/socket_consumers.py,sha256=n7VE2Fvqt4iEAYLTRbTPOcI-7tszMAADu7gimBxB-Fg,9635
|
|
52
52
|
simo/core/storage.py,sha256=YlxmdRs-zhShWtFKgpJ0qp2NDBuIkJGYC1OJzqkbttQ,572
|
|
53
|
-
simo/core/tasks.py,sha256=
|
|
53
|
+
simo/core/tasks.py,sha256=ZbFRo4DecbB1kPG75d9tl6nt_QDQobJnq24zxMfFW2Y,12276
|
|
54
54
|
simo/core/todos.py,sha256=eYVXfLGiapkxKK57XuviSNe3WsUYyIWZ0hgQJk7ThKo,665
|
|
55
55
|
simo/core/types.py,sha256=WJEq48mIbFi_5Alt4wxWMGXxNxUTXqfQU5koH7wqHHI,1108
|
|
56
56
|
simo/core/views.py,sha256=hlAKpAbCbqI3a-uL5tDp532T2oLFiF0MBzKUJ_SNzo0,5833
|
|
@@ -69,7 +69,7 @@ simo/core/__pycache__/controllers.cpython-38.pyc,sha256=40wJ3mu0CnzexxDzXyDIlSxa
|
|
|
69
69
|
simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=ELu06Hub4DOidja71ybvD3ZM4HdXiyZjNJrZfnXZXNA,2476
|
|
70
70
|
simo/core/__pycache__/events.cpython-38.pyc,sha256=A1Axx-qftd1r7st7wkO3DkvTdt9-RkcJe5KJhpzJVk8,5109
|
|
71
71
|
simo/core/__pycache__/filters.cpython-38.pyc,sha256=VIMADCBiYhziIyRmxAyUDJluZvuZmiC4bNYWTRsGSao,721
|
|
72
|
-
simo/core/__pycache__/forms.cpython-38.pyc,sha256=
|
|
72
|
+
simo/core/__pycache__/forms.cpython-38.pyc,sha256=5MelLX2B-cQ0r9BUdLCUIUqnjvSccQ_BgWWiZ7sdGa0,19956
|
|
73
73
|
simo/core/__pycache__/gateways.cpython-38.pyc,sha256=XBiwMfBkjoQ2re6jvADJOwK0_0Aav-crzie9qtfqT9U,4599
|
|
74
74
|
simo/core/__pycache__/loggers.cpython-38.pyc,sha256=Z-cdQnC6XlIonPV4Sl4E52tP4NMEdPAiHK0cFaIL7I8,1623
|
|
75
75
|
simo/core/__pycache__/managers.cpython-38.pyc,sha256=5vstOMfm997CZBBkaSiaS7EojhLTWZlbeA_EQ8u-yfg,2554
|
|
@@ -77,11 +77,11 @@ simo/core/__pycache__/middleware.cpython-38.pyc,sha256=ESR5JPtITo9flczO0672sfzYU
|
|
|
77
77
|
simo/core/__pycache__/models.cpython-38.pyc,sha256=Meg9pm3gCMVgE1a37nEsCtqONMNFeG9R4oPON4CQgcw,17231
|
|
78
78
|
simo/core/__pycache__/permissions.cpython-38.pyc,sha256=flJOCh94U8mFhE0XWzUD0sGR6Xe1HlfG4hQtNSnAGZ4,2788
|
|
79
79
|
simo/core/__pycache__/routing.cpython-38.pyc,sha256=3T3FPJ8Cn99xZCGvMyg2xjl7al-Shm9CelbSpkJtNP8,599
|
|
80
|
-
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=
|
|
80
|
+
simo/core/__pycache__/serializers.cpython-38.pyc,sha256=vaaIbfOd-n0pRX5QtHBy8Hmc87o5RH7LulUE6YOTJlg,17206
|
|
81
81
|
simo/core/__pycache__/signal_receivers.cpython-38.pyc,sha256=sgjH_wv-1U99auH5uHb3or0qettPeHAlsz8P7B03ajY,2430
|
|
82
82
|
simo/core/__pycache__/socket_consumers.cpython-38.pyc,sha256=NJUr7nRyHFvmAumxxWpsod5wzVVZM99rCEuJs1utHA4,8432
|
|
83
83
|
simo/core/__pycache__/storage.cpython-38.pyc,sha256=BTkYH8QQyjqI0WOtJC8fHNtgu0YA1vjqZclXjC2vCVI,1116
|
|
84
|
-
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=
|
|
84
|
+
simo/core/__pycache__/tasks.cpython-38.pyc,sha256=7ai1mcn4C4jouM2TFsOAdusr9egDDvx5ZMUZwSIJUeM,9165
|
|
85
85
|
simo/core/__pycache__/todos.cpython-38.pyc,sha256=lOqGZ58siHM3isoJV4r7sg8igrfE9fFd-jSfeBa0AQI,253
|
|
86
86
|
simo/core/__pycache__/views.cpython-38.pyc,sha256=YrKRZPaV_JM4VGpdhVhsK-90UwUTOqp-V-Yj0SRGZgs,4212
|
|
87
87
|
simo/core/__pycache__/widgets.cpython-38.pyc,sha256=sR0ZeHCHrhnNDBJuRrxp3zUsfBp0xrtF0xrK2TkQv1o,3520
|
|
@@ -10175,7 +10175,7 @@ simo/fleet/auto_urls.py,sha256=X04oKJWA48wFW5iXg3PPROY2KDdHn_a99orQSE28QC4,518
|
|
|
10175
10175
|
simo/fleet/base_types.py,sha256=wL9RVkHr0gA7HI1wZq0pruGEIgvQqpfnCL4cC3ywsvw,102
|
|
10176
10176
|
simo/fleet/ble.py,sha256=eHA_9ABjbmH1vUVCv9hiPXQL2GZZSEVwfO0xyI1S0nI,1081
|
|
10177
10177
|
simo/fleet/controllers.py,sha256=rTxRFf-LKWAZxzixrsLZHHm51BmMx9a1PLdgf6inlNM,20533
|
|
10178
|
-
simo/fleet/forms.py,sha256=
|
|
10178
|
+
simo/fleet/forms.py,sha256=J3rjIvLgvd4lkxFM18ysf5int7fvLy5ARKYK5ca6O0U,36952
|
|
10179
10179
|
simo/fleet/gateways.py,sha256=KV5i5fxXIrlK-k6zyEkk83x11GJt-ELQ0npb4Ac83cM,3693
|
|
10180
10180
|
simo/fleet/managers.py,sha256=XOpDOA9L-f_550TNSyXnJbun2EmtGz1TenVTMlUSb8E,807
|
|
10181
10181
|
simo/fleet/models.py,sha256=ve-97F1cwGt-AmwfSJK0d-57pP3NyZpeu0XlHu2oK28,14494
|
|
@@ -10192,7 +10192,7 @@ simo/fleet/__pycache__/auto_urls.cpython-38.pyc,sha256=SqyTuaz_kEBvx-bL46SclsZEE
|
|
|
10192
10192
|
simo/fleet/__pycache__/base_types.cpython-38.pyc,sha256=deyPwjpT6xZiFxBGFnj5b7R-lbdOTh2krgpJhrcGVhc,274
|
|
10193
10193
|
simo/fleet/__pycache__/ble.cpython-38.pyc,sha256=Nrof9w7cm4OlpFWHeVnmvvanh2_oF9oQ3TknJiV93-0,1267
|
|
10194
10194
|
simo/fleet/__pycache__/controllers.cpython-38.pyc,sha256=l9bz18Qp33C12TJOKPSn9vIXnlBKnBusODNk7Fg64qA,18103
|
|
10195
|
-
simo/fleet/__pycache__/forms.cpython-38.pyc,sha256=
|
|
10195
|
+
simo/fleet/__pycache__/forms.cpython-38.pyc,sha256=EohqxmZDPg_NVSy6v5kR9bsLcY-8J2UI91TcQkIFrXg,27368
|
|
10196
10196
|
simo/fleet/__pycache__/gateways.cpython-38.pyc,sha256=YAcgTOqJbtjGI03lvEcU6keFfrwAHkObVmErYzfRvjk,3569
|
|
10197
10197
|
simo/fleet/__pycache__/managers.cpython-38.pyc,sha256=8uz-xpUiqbGDgXIZ_XRZtFb-Tju6NGxflGg-Ee4Yo6k,1310
|
|
10198
10198
|
simo/fleet/__pycache__/models.cpython-38.pyc,sha256=pHNRUiPRjH0SLp14pzbSIxHi_-27SpZFgSh_7lzA8Wo,12359
|
|
@@ -10276,8 +10276,8 @@ simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
10276
10276
|
simo/generic/app_widgets.py,sha256=E_pnpA1hxMIhenRCrHoQ5cik06jm2BAHCkl_eo-OudU,1264
|
|
10277
10277
|
simo/generic/base_types.py,sha256=djymox_boXTHX1BTTCLXrCH7ED-uAsV_idhaDOc3OLI,409
|
|
10278
10278
|
simo/generic/controllers.py,sha256=WYuOUzDWvkYRaTvlbdGy_qmwp1o_ohqKDfV7OrOq2QU,52218
|
|
10279
|
-
simo/generic/forms.py,sha256=
|
|
10280
|
-
simo/generic/gateways.py,sha256=
|
|
10279
|
+
simo/generic/forms.py,sha256=vmkjiQLV6Ab8nm485WK4YCasJG9f-ak0iXpH11sQujo,24263
|
|
10280
|
+
simo/generic/gateways.py,sha256=LYCOOO6TffOiLvHYvJcMt6t_lkunlKfUNjhYghEKI2Q,17035
|
|
10281
10281
|
simo/generic/models.py,sha256=92TACMhJHadAg0TT9GnARO_R3_Sl6i-GGjhG_x7YdFI,7391
|
|
10282
10282
|
simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
|
|
10283
10283
|
simo/generic/socket_consumers.py,sha256=NfTQGYtVAc864IoogZRxf_0xpDPM0eMCWn0SlKA5P7Y,1751
|
|
@@ -10285,8 +10285,8 @@ simo/generic/__pycache__/__init__.cpython-38.pyc,sha256=mLu54WS9KIl-pHwVCBKpsDFI
|
|
|
10285
10285
|
simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=0IoKRG9n1tkNRRkrqAeOQwWBPd_33u98JBcVtMVVCio,2374
|
|
10286
10286
|
simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=ptw6axyAqemZA35oa6vzr7EihzvbhW9w7Y-G6kfDedU,555
|
|
10287
10287
|
simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=e0bvgyePgJbIs1omBq0TRPlVSKar2sK_JbUKqDRj7mY,33235
|
|
10288
|
-
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=
|
|
10289
|
-
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=
|
|
10288
|
+
simo/generic/__pycache__/forms.cpython-38.pyc,sha256=QCESCygqXCfTzPJ0HMgHEAzq-sZrHi-mOwg5gPm5erQ,17916
|
|
10289
|
+
simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=e9_y6PdY05SDZkBT2u1V9jQUowC0hjqsquzWK2YXBjI,12695
|
|
10290
10290
|
simo/generic/__pycache__/models.cpython-38.pyc,sha256=PzlZsM1jxo3FVb7QDm3bny8UFwTsGrMQe4mj4tJ06eQ,5675
|
|
10291
10291
|
simo/generic/__pycache__/routing.cpython-38.pyc,sha256=xtxTUTBTdivzFyA5Wh7k-hUj1WDO_FiRq6HYXdbr9Ks,382
|
|
10292
10292
|
simo/generic/__pycache__/socket_consumers.cpython-38.pyc,sha256=piFHces0J9QuXu_CNBCQCYjoZEeoaxyVjLfJ9KaR8C8,1898
|
|
@@ -10456,8 +10456,8 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
|
|
|
10456
10456
|
simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10457
10457
|
simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10458
10458
|
simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10459
|
-
simo-2.0.
|
|
10460
|
-
simo-2.0.
|
|
10461
|
-
simo-2.0.
|
|
10462
|
-
simo-2.0.
|
|
10463
|
-
simo-2.0.
|
|
10459
|
+
simo-2.0.30.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
|
|
10460
|
+
simo-2.0.30.dist-info/METADATA,sha256=d5-fMPYcwWRAZCXV-9M_bSY14gqQ5M3h5wPaGm28Fzc,1730
|
|
10461
|
+
simo-2.0.30.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
10462
|
+
simo-2.0.30.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
|
|
10463
|
+
simo-2.0.30.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|