simo 2.8.12__py3-none-any.whl → 2.8.13__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/automation/forms.py CHANGED
@@ -89,7 +89,8 @@ class ScriptConfigForm(BaseComponentForm):
89
89
  if self.instance.pk:
90
90
  org = Component.objects.get(pk=self.instance.pk)
91
91
  call_assistant = org.config.get('assistant_request') \
92
- != self.cleaned_data['assistant_request']
92
+ and org.config.get('assistant_request') \
93
+ != self.cleaned_data['assistant_request']
93
94
  else:
94
95
  call_assistant = True
95
96
 
@@ -44,14 +44,14 @@ class ComponentSerializer(serializers.ModelSerializer):
44
44
  return obj.value
45
45
 
46
46
  def get_meta(self, obj):
47
- if len(str(obj.value)) > self.MAX_LENGTH:
48
- return str(obj.value)[:self.MAX_LENGTH] + "...TRUNCATED!"
49
- return obj.value
47
+ if len(str(obj.meta)) > self.MAX_LENGTH:
48
+ return str(obj.meta)[:self.MAX_LENGTH] + "...TRUNCATED!"
49
+ return obj.meta
50
50
 
51
51
  def get_config(self, obj):
52
- if len(str(obj.value)) > self.MAX_LENGTH:
53
- return str(obj.value)[:self.MAX_LENGTH] + "...TRUNCATED!"
54
- return obj.value
52
+ if len(str(obj.config)) > self.MAX_LENGTH:
53
+ return str(obj.config)[:self.MAX_LENGTH] + "...TRUNCATED!"
54
+ return obj.config
55
55
 
56
56
 
57
57
  class UserSerializer(serializers.ModelSerializer):
Binary file
simo/core/forms.py CHANGED
@@ -284,6 +284,7 @@ class ComponentAdminForm(forms.ModelForm):
284
284
  patched to send all keys, even for checkboxes, via
285
285
  input[type="hidden"] fields or some JS magic.
286
286
  """
287
+ # TODO: When creating new component, via admin interface and disabling show_in_app, show_in_app field get's removed, cince there is no "input[type="hidden"] fields or some JS magic" logic implemented.
287
288
  if data is None:
288
289
  # not a form submission, don't modify self.fields
289
290
  return
@@ -20,7 +20,7 @@
20
20
  var editor = CodeMirror.fromTextArea(
21
21
  element, settings
22
22
  );
23
- editor.setSize(650, "100%");
23
+ editor.setSize(900, "100%");
24
24
  editor.on('change', function(editor){
25
25
  $(element).val(editor.doc.getValue());
26
26
  });
@@ -1071,7 +1071,13 @@ class StateSelect(ControllerBase):
1071
1071
  config_form = StateSelectForm
1072
1072
 
1073
1073
  default_config = {'states': []}
1074
- default_value = ''
1074
+
1075
+ @property
1076
+ def default_value(self):
1077
+ try:
1078
+ return self.component.config['states'][0]['slug']
1079
+ except:
1080
+ return ''
1075
1081
 
1076
1082
  def _validate_val(self, value, occasion=None):
1077
1083
  available_options = [s.get('slug') for s in self.component.config.get('states', [])]
simo/generic/forms.py CHANGED
@@ -89,6 +89,7 @@ class ThermostatConfigForm(BaseComponentForm):
89
89
  ], 'base_type'),
90
90
  )
91
91
  )
92
+ # TODO: support for multiple heaters
92
93
  heater = Select2ModelChoiceField(
93
94
  queryset=Component.objects.filter(base_type=Switch.base_type),
94
95
  required=False,
@@ -99,6 +100,7 @@ class ThermostatConfigForm(BaseComponentForm):
99
100
  ], 'base_type'),
100
101
  )
101
102
  )
103
+ # TODO: support for multiple coolers
102
104
  cooler = Select2ModelChoiceField(
103
105
  queryset=Component.objects.filter(base_type=Switch.base_type),
104
106
  required=False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: simo
3
- Version: 2.8.12
3
+ Version: 2.8.13
4
4
  Summary: Smart Home Supremacy
5
5
  Author-email: Simanas Venčkauskas <simanas@simo.io>
6
6
  Project-URL: Homepage, https://simo.io
@@ -20,11 +20,11 @@ simo/__pycache__/wsgi.cpython-38.pyc,sha256=TpRxO7VM_ql31hbKphVdanydC5RI1nHB4l0Q
20
20
  simo/automation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  simo/automation/app_widgets.py,sha256=gaqImMZjuMHm7nIb9a4D-Y3qipz_WhSPAHXcwGx4Uzs,199
22
22
  simo/automation/controllers.py,sha256=66aGjlfgigcePXiLmDkbVrxbm-Z26klMKIiOvaMH71k,11545
23
- simo/automation/forms.py,sha256=cHgPBn3A5XepEnvmZ_s2PGoJ-vB5udH0ifkIuqSPfL8,10194
23
+ simo/automation/forms.py,sha256=jcmiq7A-S5WwoIY3YD7GmWomHXXJAipTawWcgOavuRM,10239
24
24
  simo/automation/gateways.py,sha256=8qgBDhkM_xYGmeEbnH5WXs5m3ihMp8Yzx7yj6XG8DNM,16382
25
25
  simo/automation/helpers.py,sha256=iP-fxxB8HsFQy3k2CjFubu86aMqvWgmh-p24DiyOrek,4330
26
26
  simo/automation/models.py,sha256=zt-jkzyq5ddqGT864OkJzCsvov2vZ0nO4ez3hAeZkXg,934
27
- simo/automation/serializers.py,sha256=FsMCudMRga5QdBYbNE7tG7Eg0d7kqRZg_oMfH6FgEtE,2126
27
+ simo/automation/serializers.py,sha256=Pg-hMaASQPB5_BTAMkfqM6z4jdHWH8xMYWOvDxIvmx8,2126
28
28
  simo/automation/state.py,sha256=aZZvNBae7unnux_zGHCIWCV2z47hVJc-DIL72Hqfkeo,600
29
29
  simo/automation/__pycache__/__init__.cpython-312.pyc,sha256=rIs1rkBbUhjXjbUffmq2-tb7XbAY0JkA83xXPoByTwU,170
30
30
  simo/automation/__pycache__/__init__.cpython-38.pyc,sha256=YmP0xAD-mxpQHgdTZeC64sXChA8TriMZD1jckNYi3xg,164
@@ -32,7 +32,7 @@ simo/automation/__pycache__/app_widgets.cpython-312.pyc,sha256=6u8LsTpf32yn0L49e
32
32
  simo/automation/__pycache__/app_widgets.cpython-38.pyc,sha256=7DfUA9V_1MiwrOe_ta-ts8dYY8xXb9UMg2_9A3XoRcs,523
33
33
  simo/automation/__pycache__/controllers.cpython-312.pyc,sha256=QV63g3UlpMAA-yCaZxoe1B2hVeDGobfOtBA0K1h66Os,15052
34
34
  simo/automation/__pycache__/controllers.cpython-38.pyc,sha256=CL-0Tq9B4-E36fYfWT1XEBTq1dkq1W8003f6MrBnQU0,8391
35
- simo/automation/__pycache__/forms.cpython-312.pyc,sha256=63rU0rWZk-Rz5qoMZiXl743WPc9NVm5d8bSd8w52T4E,12347
35
+ simo/automation/__pycache__/forms.cpython-312.pyc,sha256=kmw04yujs7dVHNHvzr9Q8gXc0e6BAZHg_URPXjLbrfU,12419
36
36
  simo/automation/__pycache__/forms.cpython-38.pyc,sha256=cpA5hA2Iz3JsPC0Dq01ki1I7S9c5DKRcXveHApI1dJo,7772
37
37
  simo/automation/__pycache__/gateways.cpython-312.pyc,sha256=mQWn7s8qqF-CIw9Zn80RbbaFJjTiCdaN_grMsfwa-nY,22405
38
38
  simo/automation/__pycache__/gateways.cpython-38.pyc,sha256=nHujqChMCqqxHbZezP3MisavjKDhczqzFGurO10h-lc,11113
@@ -40,7 +40,7 @@ simo/automation/__pycache__/helpers.cpython-312.pyc,sha256=aDFtzBE72szi4gzVxK_Ni
40
40
  simo/automation/__pycache__/helpers.cpython-38.pyc,sha256=fNjSyn4Mfq7-JQx-bdsnj-rSxgu20dVJ9-5ZEMT6yiM,3627
41
41
  simo/automation/__pycache__/models.cpython-312.pyc,sha256=yGnRFAG5Py3-OsPxEjACM0WNWt6Eo9wsHeUGL3uUF8M,1789
42
42
  simo/automation/__pycache__/models.cpython-38.pyc,sha256=VeQNAygVr0AXPlF5LEYk90Tq8zuCVPfsA2r1NBjrkxU,1230
43
- simo/automation/__pycache__/serializers.cpython-312.pyc,sha256=Y68epVxWVtIRtED--24LOf5PIDHXthpVweAYpqE4X6U,4314
43
+ simo/automation/__pycache__/serializers.cpython-312.pyc,sha256=TlR_LpDurpMPQCEEyLtoNBAydU7a6FhBgLUoiiUjITI,4681
44
44
  simo/automation/__pycache__/serializers.cpython-38.pyc,sha256=9Te21FW5-Tki1a-tq3gt0rme0afBA8o-7V249b4muFk,3405
45
45
  simo/automation/__pycache__/state.cpython-312.pyc,sha256=ectoU2ps2cfQj1AKngxU4pFLx6q9qxw6u3WeT9fNDT0,1266
46
46
  simo/automation/__pycache__/state.cpython-38.pyc,sha256=TO2IM6h2hbGVlOUcoMwHkDUF4V-54d_KVhcebMgNtCk,784
@@ -103,7 +103,7 @@ simo/core/dynamic_settings.py,sha256=bUs58XEZOCIEhg1TigR3LmYggli13KMryBZ9pC7ugAQ
103
103
  simo/core/events.py,sha256=hnv17g37kqwpfrkMUStfk_Rk_-G28MU1HEjolwWNNFg,4978
104
104
  simo/core/filters.py,sha256=6wbn8C2WvKTTjtfMwwLBp2Fib1V0-DMpS4iqJd6jJQo,2540
105
105
  simo/core/form_fields.py,sha256=b4wZ4n7OO0m0_BPPS9ILVrwBvhhjUB079YrroveFUWA,5222
106
- simo/core/forms.py,sha256=D56T38VIdqWXHJ3fW4_jQdxX40YOR8l7ynfWSm8Q1W0,22011
106
+ simo/core/forms.py,sha256=BZvmxEQ6CtRuVXWy6XF-rn_x2TSJtLRPbV0kcLOkVFY,22220
107
107
  simo/core/gateways.py,sha256=Y2BME6zSyeUq_e-hzEUF6gErCUCP6nFxedkLZKiLVOo,4141
108
108
  simo/core/loggers.py,sha256=EBdq23gTQScVfQVH-xeP90-wII2DQFDjoROAW6ggUP4,1645
109
109
  simo/core/managers.py,sha256=Ampwe5K7gfE6IJULNCV35V8ysmMOdS_wz7mRzfaLZUw,3014
@@ -142,17 +142,17 @@ simo/core/__pycache__/base_types.cpython-312.pyc,sha256=Lnq2NL9B5hfwJARJYC447Rdv
142
142
  simo/core/__pycache__/base_types.cpython-38.pyc,sha256=CX-qlF7CefRi_mCE954wYa9rUFR88mOl6g7fybDRu7g,803
143
143
  simo/core/__pycache__/context.cpython-312.pyc,sha256=8rsN2Er-Sx3rrVmO0Gk4cem3euGh0kTELXj667GGZ5E,2193
144
144
  simo/core/__pycache__/context.cpython-38.pyc,sha256=NlTHt2GvXxA21AhBkeyOLfRFUuXw7wmwqyNhhcDl2cw,1373
145
- simo/core/__pycache__/controllers.cpython-312.pyc,sha256=BjN6TuuqdShWbEFHdZXSdZFB4CwstDJa8LZ1YCe46a0,53852
145
+ simo/core/__pycache__/controllers.cpython-312.pyc,sha256=T14yGqHLl-fAFMjvb0ITEmZo-3WT5Gj7TWmX2ZkfAcU,53852
146
146
  simo/core/__pycache__/controllers.cpython-38.pyc,sha256=LtrQQ8egOIOuQbAckeM-z8OfbzS4W8VQ3vBnryAm3iU,32086
147
147
  simo/core/__pycache__/dynamic_settings.cpython-312.pyc,sha256=WUZ6XF4kZb6zPf541PkKmiQaBIw-r5C6F3EUUZiTEnE,3331
148
148
  simo/core/__pycache__/dynamic_settings.cpython-38.pyc,sha256=wGpnscX1DxFpRl54MQURhjz2aD3NJohSzw9JCFnzh2Y,2384
149
- simo/core/__pycache__/events.cpython-312.pyc,sha256=ERSBnzbKOHREhaEiqCplvOhgPp5o75unRu18i53EvQk,9011
149
+ simo/core/__pycache__/events.cpython-312.pyc,sha256=4udG7VnvGiPAoWbDpzDkRBNVqD1FsNiL2V4xYLrC4fA,9126
150
150
  simo/core/__pycache__/events.cpython-38.pyc,sha256=1y8YaZsiDkBOeIWzH7SQz4holmMG_RLlMWi8kuSZcoE,5280
151
151
  simo/core/__pycache__/filters.cpython-312.pyc,sha256=-vgZ2km1A2q4Un1i30fgHT-6rROgso7HJyd7ct2coJI,3640
152
152
  simo/core/__pycache__/filters.cpython-38.pyc,sha256=WBBDwcDQwOmgbrRhyUxenSN80rU4Eq9jQ6RcrRGCP_o,2440
153
153
  simo/core/__pycache__/form_fields.cpython-312.pyc,sha256=sWeR1PaM7w41FmvBeYZcJyjjziDh10ysyjd2hXKS4mo,8933
154
154
  simo/core/__pycache__/form_fields.cpython-38.pyc,sha256=NJf1tKaZjgY-inTLDgbN2y6NTH798RWJnzvKkZaFz_k,6204
155
- simo/core/__pycache__/forms.cpython-312.pyc,sha256=UqqX4uE_r6PepR4InBxSfNg5OQ0BALw8zTvbxXUELqc,30945
155
+ simo/core/__pycache__/forms.cpython-312.pyc,sha256=yMRfZ90ihX8MfjFu9Dvg3C22IbmkXiHmfN3FLTiQyi0,30945
156
156
  simo/core/__pycache__/forms.cpython-38.pyc,sha256=frvM1b9KRqsjh4YbUlV1CW8yupUyXJTb2R4sVgwy2K0,17827
157
157
  simo/core/__pycache__/gateways.cpython-312.pyc,sha256=VLLQZGJFmSszJRecatQOtMYrsVaYPEM-ZK8f2ARl-po,7574
158
158
  simo/core/__pycache__/gateways.cpython-38.pyc,sha256=-_ugqnUOA1Cl6VfMqpV96n7ekVOEwYg_jNvoaZEcx9I,4815
@@ -419,7 +419,7 @@ simo/core/static/admin/Img/plus.svg,sha256=2NpSFPWqGIjpAQGFI7LDQHPKagEhYkJiJX95u
419
419
  simo/core/static/admin/Img/simo_Logo.svg,sha256=incyY8KA0x84qZFnApx0WB_cUA9-HtoJfspQKAq2sqU,7232
420
420
  simo/core/static/admin/css/simo.css,sha256=uoTrDkPuStv_CbM0tF8zeSVk0AwoI4y3sK-BbvL7eN0,7873
421
421
  simo/core/static/admin/js/admin_scripts.js,sha256=OuIrjNnIbudw83j9mqbO4TMQq8LrvBlqNsUlHbZSRVA,5279
422
- simo/core/static/admin/js/codemirror-init.js,sha256=tuZq1GBz7EFO8BgmPNzs66AT5Ct59_WwqQ9pyOUaIhU,1362
422
+ simo/core/static/admin/js/codemirror-init.js,sha256=H4Wn6DbyYngo8YoE7c-sEdMRfIvLDOQHZIa5MV90EG4,1362
423
423
  simo/core/static/admin/js/formsets.js,sha256=KPgFCKHVuRCnPLsHbpWtmSwA0LhjAeW_Pbji0zWyyhk,744
424
424
  simo/core/static/admin/js/icon-autocomplete.js,sha256=5E_4L7BmS10UGMmEjCOB8Oxt5195NBiARmWRnXEx_AY,1416
425
425
  simo/core/static/admin/js/log_output_widget.js,sha256=M1FUrEVkC0rViv2bwqTvFis_LJyRBFmmNIguCQHUKsQ,2001
@@ -10596,8 +10596,8 @@ simo/fleet/templates/fleet/controllers_info/ENS160AirQualitySensor.md,sha256=3LS
10596
10596
  simo/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10597
10597
  simo/generic/app_widgets.py,sha256=y8W3jR76Hh26O9pPQyg2SophMbYIOtAWD33MPKbB8Mg,856
10598
10598
  simo/generic/base_types.py,sha256=u3SlfpNYaCwkVBwomWgso4ODzL71ay9MhiAW-bxgnDU,341
10599
- simo/generic/controllers.py,sha256=NZmrJ1BYzAwHJ1vN-OMvqnH13ihvjUhZqdxq-l__1Jk,46268
10600
- simo/generic/forms.py,sha256=1Gt3FycP4Da8LbtOuOGTpLSf2dCDEE-Sdr_X3qlA1aw,26265
10599
+ simo/generic/controllers.py,sha256=n2qb_ipPHgSX5aW5kuhmQJOh244BVgBp37CUS_AOqxQ,46402
10600
+ simo/generic/forms.py,sha256=GJ17Ah00NlfqkD1Smt_Hu5U2fAg_S7QMVDObSfsBZqk,26347
10601
10601
  simo/generic/gateways.py,sha256=kjqGMjlLXlGNreKLQtHoSnw4xan1IB8-KF8AqiZ82T0,16057
10602
10602
  simo/generic/models.py,sha256=59fkYowOX0imviIhA6uwupvuharrpBykmBm674rJNoI,7279
10603
10603
  simo/generic/routing.py,sha256=elQVZmgnPiieEuti4sJ7zITk1hlRxpgbotcutJJgC60,228
@@ -10609,9 +10609,9 @@ simo/generic/__pycache__/app_widgets.cpython-312.pyc,sha256=ywoKk91YSEZxpyt9haG5
10609
10609
  simo/generic/__pycache__/app_widgets.cpython-38.pyc,sha256=D9b13pbMlirgHmjDnQhfLIDGSVINoSouHb4SWOeCRrs,1642
10610
10610
  simo/generic/__pycache__/base_types.cpython-312.pyc,sha256=h8Mwu49i-zmwTbL33JaLJfRDGOgkQh2_VqrfzEc4UQ4,616
10611
10611
  simo/generic/__pycache__/base_types.cpython-38.pyc,sha256=aV5NdIuvXR-ItKpI__MwcyPZHD6Z882TFdgYkPCkr1I,493
10612
- simo/generic/__pycache__/controllers.cpython-312.pyc,sha256=kv-Or8jMLuUAlqiRlLrCJkrsw3eDBeLZ1NqlGu_IMj8,52737
10612
+ simo/generic/__pycache__/controllers.cpython-312.pyc,sha256=Y3jut3t_Dq-s_-ZkHqgvQBQMtpytefQIHtyPoBLVDBo,53021
10613
10613
  simo/generic/__pycache__/controllers.cpython-38.pyc,sha256=jJjwKVaDYyazrRGNjUFoY74nr_jX_DEnsC9KjyxZCgc,30427
10614
- simo/generic/__pycache__/forms.cpython-312.pyc,sha256=nTyrgmEmOrgORJSOxUI_i2O7wVUXCQL9MYhaT76Jmew,34869
10614
+ simo/generic/__pycache__/forms.cpython-312.pyc,sha256=tFyHfKkUz_V5aL7_BHTTCreE5Vbk_iW4bDCSd9wT_cQ,34869
10615
10615
  simo/generic/__pycache__/forms.cpython-38.pyc,sha256=k8lz3taXdWAg5P9jcnw66mWH51pCc4SOsg32kVEtBCg,19416
10616
10616
  simo/generic/__pycache__/gateways.cpython-312.pyc,sha256=ixeotxPeqHkINziDnnkymlKR2wYMb5UR2sxiioMQxhY,19309
10617
10617
  simo/generic/__pycache__/gateways.cpython-38.pyc,sha256=GIeMT51oZU2OCFD4eUDFdSRRYE0Qf14AcOr_gdUqG94,12705
@@ -10933,9 +10933,9 @@ simo/users/templates/invitations/expired_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCe
10933
10933
  simo/users/templates/invitations/expired_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10934
10934
  simo/users/templates/invitations/taken_msg.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10935
10935
  simo/users/templates/invitations/taken_suggestion.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10936
- simo-2.8.12.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
10937
- simo-2.8.12.dist-info/METADATA,sha256=gZEycrP5hdQiX7kGXiYdJfzzu5UU6AXlCIIGcNZTh0g,2006
10938
- simo-2.8.12.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
10939
- simo-2.8.12.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
10940
- simo-2.8.12.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
10941
- simo-2.8.12.dist-info/RECORD,,
10936
+ simo-2.8.13.dist-info/LICENSE.md,sha256=M7wm1EmMGDtwPRdg7kW4d00h1uAXjKOT3HFScYQMeiE,34916
10937
+ simo-2.8.13.dist-info/METADATA,sha256=As563zVMgLqQ9Ixf4QReHUSn3_uB8XWgno_z8LUnVOI,2006
10938
+ simo-2.8.13.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
10939
+ simo-2.8.13.dist-info/entry_points.txt,sha256=S9PwnUYmTSW7681GKDCxUbL0leRJIaRk6fDQIKgbZBA,135
10940
+ simo-2.8.13.dist-info/top_level.txt,sha256=GmS1hrAbpVqn9OWZh6UX82eIOdRLgYA82RG9fe8v4Rs,5
10941
+ simo-2.8.13.dist-info/RECORD,,
File without changes