Ember integration not working with HA core 2022.9.1

Hi, @sopelj, now the ember mug wont connect at all after updated HA core to 2022.9

Hmm, that's weird. Do you have any errors? Are you sure home assistant's bluetooth integration is disabled and no other integrations are using bluetooth? Have you tried powering bluetooth off and on again?

all the sensors became unavailable after the update so i deleted and re-installed the integration. After that i am unable to pair the ember mug. It just wont detect the mug after putting it into pairing mode. The bluetooth integration in HA is disabled and no other integration is using bluetooth. Ive tried turning off and on the bluetooth in ubuntu and i can pair to the mug in ubunutu but not in HA and it doesnt stay connected even in ubuntu.

I have this issue too, now can't pair the mug at all. Did you manage to resolve? i can help debug if needed.

Oh ok thank you very much.
So have you tried resetting the mug as well?
Make sure no other device is connected/paired with it, like your computer. It only seems to work with one at a time and needs to be reset.
You have absolutely no errors in Hass?
I've been trying to update it to the new Bluetooth integration so I don't have the old version installed, I'll have a look after work tonight.

Yes ive reset the mug and tried again. The integration does not find the mug. I cannot see any errors in hass.

i've reset the mug multiple times, i manually purged bluetooth configs and
the bluetooth from the hass host, ran monitor along side and it identified
the mug... either way i get a timeout on connection attempt, if i try run
this multiple times, it connects but then basically says it's not available
and the mug remains in paring mode.
On Fri, Sep 16, 2022 at 11:55 PM rybackisback @.***>
wrote:

Yes ive reset the mug and tried again. The integration does not find the
mug. I cannot see any errors in hass.
—
Reply to this email directly, view it on GitHub
https://github.com/sopelj/hass-ember-mug-component/issues/10#issuecomment-1249922116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK3AYKKUBJ7MW5N3OQYORSDV6T3G7ANCNFSM6AAAAAAQJSLZME
.
You are receiving this because you commented.Message ID:
@.***>

It times out trying to pair in bluetoothctl too? If you can't pair/trust in manually, then it definitely won't work in the integration, because it uses the same thing behind the scenes.
It might be the adapter the problem too if it won't work at all. Mine stopped working after the update too, so I switched to one of the supported ones listed on their wiki, and it seems to work again. Maybe they did something that prevents others from working. They added a ton of stuff for bluetooth proxies.
If you don't see any errors for my integration, you can increase the logging to debug:
logger:
  default: error  # Or whatever you want
  logs:
    custom_components.ember_mug: debug
    custom_components.ember_mug.mug: debug
    custom_components.ember_mug.mug.api: debug

i can pair it manually, just not in hass... i'll increase the loggin shortly and confirm back :)

@brichad Hey, did you have any luck? If not, I'm testing a new version that works on 2022.9+ and uses the built-in bluetooth integration. You can try the beta version of 0.4.0 if you'd like. Just make sure to remove your previous device and unpair it in with bluetoothctl remove youmacaddress. Then put it in pairing mode and it should be auto discovered and offer to setup.

@sopelj
I still am not able to setup the mug with the built-in HA bluetooth integration and the beta version of 0.4.0. I cannot even install the ember integration. I get the error below.
Error: Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble
Logger: aiohttp.server
Source: custom_components/ember_mug/config_flow.py:75
Integration: Ember Mug (documentation, issues)
First occurred: 11:14:13 AM (1 occurrences)
Last logged: 11:14:13 AM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 82, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 148, in post
return await super().post(request)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
result = await self._flow_mgr.async_init(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 225, in async_init
flow, result = await task
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in _async_init
result = await self._async_handle_step(flow, flow.init_step, data, init_done)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/ember_mug/config_flow.py", line 75, in async_step_user
with BleakClient(discovery_info.device) as client:
AttributeError: enter

@rybackisback Oh, I'm sorry. That does happen if you try to add it manually. I'll fix that.
However, you shouldn't need to. Just install/update the mug integration and make sure you have the Bluetooth adaptor configured with the Bluetooth integration and when you put the mug in pairing mode it should be automatically detected as a new device.
You no longer have to do "add integration" simply having it installed will suffice.

Thanks @sopelj. i followed your instructions and put the mug into pairing mode. Now I get the following error.
This error originated from a custom integration.
Logger: custom_components.ember_mug.coordinator
Source: custom_components/ember_mug/coordinator.py:88
Integration: Ember Mug (documentation, issues)
First occurred: 4:41:23 PM (3 occurrences)
Last logged: 4:41:40 PM
Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4

@rybackisback Oh that's good it got paired though.
Would it be possible to enable more detailed debugging so I can see which attribute is problematic? Thanks!

Full logs
2022-10-11 06:00:26.367 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ember_mug which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-10-11 06:00:49.254 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:00:49.254 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 06:01:47.467 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 06:01:47.471 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.216 seconds (success: False)
2022-10-11 06:03:35.801 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:03:35.801 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 06:04:33.858 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 06:04:33.858 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.057 seconds (success: False)
2022-10-11 06:04:43.860 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:04:43.860 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 06:05:41.960 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 06:05:41.961 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.101 seconds (success: False)
2022-10-11 06:06:02.723 DEBUG (MainThread) [custom_components.ember_mug] Discovered bluetooth device: BluetoothServiceInfoBleak(name='Ember Ceramic Mug', address='XXXXXXXXXXXXX', rssi=-90, manufacturer_data={961: b'\x81'}, service_data={}, service_uuids=[XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'], source='XXXXXXXXXXXXX', device=XXXXXXXXXXXXX: Ember Ceramic Mug, advertisement=AdvertisementData(local_name='Ember Ceramic Mug', manufacturer_data={961: b'\x81'}, service_uuids=[XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX']), connectable=True, time=344975.422696435)
2022-10-11 06:06:10.802 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:06:10.802 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 06:06:14.784 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-11 06:06:14.786 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX data in 3.984 seconds (success: False)
2022-10-11 06:06:19.787 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:06:19.787 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 06:06:23.470 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-11 06:06:23.471 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX data in 3.684 seconds (success: False)
2022-10-11 06:06:33.472 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 06:06:33.472 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating

Oh, thank you. That doesn't give the location, sadly. I assume it's the UDSK, since that's the only place, a side from the ID, that uses that method. And I'm fairly confident that the ID is fine.
I have caught that error in version 0.4.0-beta-4 if you want to try. If you still have issues with it please try enabling logging debugging from the module ember_mug as well. :)

See error below error with version 0.4.0-beta-4:
2022-10-11 20:58:04.647 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ember_mug which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-10-11 20:58:30.296 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 20:58:30.296 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 20:59:28.468 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 20:59:28.470 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.173 seconds (success: False)
2022-10-11 21:01:36.885 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 21:01:36.885 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:02:34.987 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 21:02:34.988 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.103 seconds (success: False)
2022-10-11 21:02:44.990 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 21:02:44.990 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:03:43.013 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect:
2022-10-11 21:03:43.014 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.024 seconds (success: False)
2022-10-11 21:11:34.055 DEBUG (MainThread) [custom_components.ember_mug] Discovered bluetooth device: BluetoothServiceInfoBleak(name='Ember Ceramic Mug', address='XXXXXXXXXXXXXXX', rssi=-85, manufacturer_data={961: b'\x81'}, service_data={}, service_uuids=[XXXXXXXXXXXXXXXXXXXXXX], source='XXXXXXXXXXXX', device=XXXXXXXXXXXXXXX: Ember Ceramic Mug, advertisement=AdvertisementData(local_name='Ember Ceramic Mug', manufacturer_data={961: b'\x81'}, service_uuids=[XXXXXXXXXXXXXXX]), connectable=True, time=1513.759913191)
2022-10-11 21:11:43.402 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:11:43.402 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:11:45.096 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-11 21:11:45.097 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.695 seconds (success: False)
2022-10-11 21:11:50.098 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:11:50.099 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:11:51.801 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-11 21:11:51.802 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.704 seconds (success: False)
2022-10-11 21:12:01.661 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:12:01.661 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:12:04.491 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-11 21:12:04.492 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 2.832 seconds (success: False)
2022-10-11 21:12:09.494 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:12:09.494 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:12:11.061 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-11 21:12:11.062 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.568 seconds (success: False)
2022-10-11 21:12:20.036 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:12:20.036 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:12:43.026 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-11 21:12:43.026 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:12:44.552 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect: [org.bluez.Error.Failed] Operation already in progress
2022-10-11 21:12:44.553 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 24.517 seconds (success: False)
2022-10-11 21:12:49.555 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-11 21:12:49.555 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-11 21:12:50.070 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXXXX) - /org/bluez/hci0/dev_XXXXXXXXXXXXXXX: Failed to connect: [org.bluez.Error.Failed] Operation already in progress
2022-10-11 21:12:50.071 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 7.045 seconds (success: False)

That's very weird. It seems like the same error as beta-3... that shouldn't be possible. No warnings from the library either.
Are you sure you restarted after and have detailed logging enabled for the ember mug library?
logger:
  default: error  # Or whatever you want
  logs:
    custom_components.ember_mug: debug
    ember_mug: debug
    ember_mug.connection: debug
    ember_mug.mug

Yes I did restart and install beta 4. Ive changed the logger as above and see errors below:
Full logs
2022-10-12 06:36:50.883 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ember_mug which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-10-12 06:37:09.104 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:37:09.104 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:38:07.497 ERROR (MainThread) [custom_components.ember_mug.coordinator] (xxxxxxxxxxxxxxxx) - /org/bluez/hci0/dev_xxxxxxxxxxxxxxxxxx: Failed to connect:
2022-10-12 06:38:07.498 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 58.394 seconds (success: False)
2022-10-12 06:39:21.932 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:39:21.932 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:40:20.058 ERROR (MainThread) [custom_components.ember_mug.coordinator] (xxxxxxxxxxxxxxxx) - /org/bluez/hci0/dev_xxxxxxxxxxxxxxxxxx: Failed to connect:
2022-10-12 06:40:20.059 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 58.127 seconds (success: False)
2022-10-12 06:40:30.061 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:40:30.061 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:41:22.149 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 06:41:22.150 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 52.089 seconds (success: False)
2022-10-12 06:41:37.832 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:41:37.832 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:41:39.022 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:41:39.027 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 1.195 seconds (success: False)
2022-10-12 06:41:42.151 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:41:42.152 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:41:44.029 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:41:44.029 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:41:44.917 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:41:44.917 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 2.766 seconds (success: False)
2022-10-12 06:41:44.917 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:41:44.918 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 0.888 seconds (success: False)
2022-10-12 06:41:50.395 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:41:50.395 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:41:51.579 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 06:41:51.581 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 1.186 seconds (success: False)
2022-10-12 06:41:56.582 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:41:56.582 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:42:00.443 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:42:00.445 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 3.863 seconds (success: False)
2022-10-12 06:42:10.447 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:42:10.447 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:42:24.918 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:42:24.918 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:42:26.227 ERROR (MainThread) [custom_components.ember_mug.coordinator] (xxxxxxxxxxxxxxxx) - /org/bluez/hci0/dev_xxxxxxxxxxxxxxxxxx: Failed to connect: [org.bluez.Error.Failed] Operation already in progress
2022-10-12 06:42:26.228 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 15.780 seconds (success: False)
2022-10-12 06:42:46.228 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:42:46.228 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:42:46.738 ERROR (MainThread) [custom_components.ember_mug.coordinator] (xxxxxxxxxxxxxxxx) - /org/bluez/hci0/dev_xxxxxxxxxxxxxxxxxx: Failed to connect: [org.bluez.Error.Failed] Operation already in progress
2022-10-12 06:42:46.739 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 21.821 seconds (success: False)
2022-10-12 06:43:20.726 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 06:43:20.727 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 34.499 seconds (success: False)
2022-10-12 06:44:00.729 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:44:00.730 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:44:06.741 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:44:06.741 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:44:08.532 ERROR (MainThread) [custom_components.ember_mug.coordinator] (xxxxxxxxxxxxxxxx) - /org/bluez/hci0/dev_xxxxxxxxxxxxxxxxxx: Failed to connect: [org.bluez.Error.Failed] Operation already in progress
2022-10-12 06:44:08.533 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 1.792 seconds (success: False)
2022-10-12 06:44:20.306 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:44:20.306 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 19.577 seconds (success: False)
2022-10-12 06:44:50.600 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:44:50.600 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:44:54.596 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 06:44:54.596 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 3.996 seconds (success: False)
2022-10-12 06:44:59.603 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:44:59.603 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:45:02.157 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 06:45:02.158 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 2.555 seconds (success: False)
2022-10-12 06:45:12.160 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:45:12.160 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 06:45:15.973 ERROR (MainThread) [custom_components.ember_mug.coordinator] Invalid base64-encoded string: number of data characters (1) cannot be 1 more than a multiple of 4
2022-10-12 06:45:15.974 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx data in 3.814 seconds (success: False)
2022-10-12 06:45:28.534 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Setup
2022-10-12 06:45:28.534 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating

Hi!! sorry back from travels, i'm getting the same errors as @rybackisback (above), identification of the mug working good though :)

Welcome back!
Ok, sorry for the delay, I'm really busy this week. I think I fixed the encoding issue on 0.4.0-beta5. it definitely should cause that error at least. If you guys do still have issues, please try with warnings enabled from the library ember_mug as mentioned above though as it will help pinpoint the problem as it doesn't occur with my mug. Probably since the values are different. Thanks!

See errors below with beta 5:
Full logs
2022-10-12 14:57:08.004 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ember_mug which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-10-12 14:57:32.999 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-12 14:57:33.000 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 14:58:31.072 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_DB_7C_3C_36_0C_88: Failed to connect:
2022-10-12 14:58:31.075 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.075 seconds (success: False)
2022-10-12 14:59:44.552 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-12 14:59:44.552 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:00:42.624 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_DB_7C_3C_36_0C_88: Failed to connect:
2022-10-12 15:00:42.624 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.072 seconds (success: False)
2022-10-12 15:00:52.625 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX Setup
2022-10-12 15:00:52.625 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:01:50.643 ERROR (MainThread) [custom_components.ember_mug.coordinator] (XXXXXXXXXXXXX) - /org/bluez/hci0/dev_DB_7C_3C_36_0C_88: Failed to connect:
2022-10-12 15:01:50.644 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXX data in 58.018 seconds (success: False)
2022-10-12 15:18:11.273 DEBUG (MainThread) [custom_components.ember_mug] Discovered bluetooth device: BluetoothServiceInfoBleak(name='Ember Ceramic Mug', address='XXXXXXXXXXXXX', rssi=-77, manufacturer_data={961: b'\x81'}, service_data={}, service_uuids=['XXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'], source='A4:6B:B6:2A:25:A5', device=XXXXXXXXXXXXX: Ember Ceramic Mug, advertisement=AdvertisementData(local_name='Ember Ceramic Mug', manufacturer_data={961: b'\x81'}, service_uuids=['XXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX']), connectable=True, time=66710.978258687)
2022-10-12 15:18:18.564 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:18:18.564 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:18:19.764 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 15:18:19.769 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.204 seconds (success: False)
2022-10-12 15:18:24.770 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:18:24.771 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:18:26.064 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 15:18:26.065 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.295 seconds (success: False)
2022-10-12 15:18:36.066 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:18:36.066 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:18:37.184 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 15:18:37.185 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.119 seconds (success: False)
2022-10-12 15:18:57.186 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:18:57.186 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:18:58.376 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 15:18:58.377 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.191 seconds (success: False)
2022-10-12 15:19:38.379 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:19:38.379 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:19:39.686 ERROR (MainThread) [custom_components.ember_mug.coordinator]
2022-10-12 15:19:39.687 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.308 seconds (success: False)
2022-10-12 15:20:59.688 INFO (MainThread) [custom_components.ember_mug.coordinator] Ember Mug ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXSetup
2022-10-12 15:20:59.688 DEBUG (MainThread) [custom_components.ember_mug.coordinator] Updating
2022-10-12 15:21:01.003 ERROR (MainThread) [custom_components.ember_mug.coordinator] [org.bluez.Error.Failed] Operation failed with ATT error: 0x0e (Unlikely Error)
2022-10-12 15:21:01.005 DEBUG (MainThread) [custom_components.ember_mug] Finished fetching ember-mug-XXXXXXXXXXXXXXXXXXXXXXXXXXXXdata in 1.316 seconds (success: False)

Hi @sopelj. thanks for the prompt reply. See answers below:
placing the mug in pairing mode and taking it out after a few minutes
reloading the integration?: yes, I have tried this but the error remains
restarting home assistant: yes, I have but the error remains
updating to the latest home assistant and home assistant os: yes, i am on core-2022.10.3 and supervisor-2022.10.0 running on Ubuntu 22.04.1 LTS
opening bluetoothctl to see the output: i am not sure how to do this, can you please provide some guidance?
removing the mug, resetting it and forgetting it in bluetoothctl: i am not sure how to do this, can you please provide some guidance?
Also, is your Bluetooth adapter one of the ones officially supported by home assistant? I am using the in built bluetooth module on my Intel NUC11PAHi7 which i have paired other devices to previously including the ember mug.

Thank you very much for the detailed answer. And your tests. :)
I think it is because the Bluetooth is stuck in passive scanning mode, and thus it won't connect.
I've been trying to figure out how to wake it. Opening bluetoothctl manually seems to do it.
Ok, so you're not running Home Assistant OS. Are you running in Docker or directly under Ubuntu? If you're running directly in Ubuntu I suppose it probably uses Ubuntu's bluetooth directly. So just open a terminal and type bluetoothctl and it should open a shell and list the scanned/connected devices. If you're running in docker, you will need to  docker exec -it containername bluetoothctl I assume.
Oh ok. It's just home assistant has a particular setup with their bluetooth which is fairly impressive, but does not play well with all adaptors. I had to buy a new one, but I don't know if mine just stopped working because of a fault or because it didn't work with the new platform.

Hi @sopelj , thanks for your help. Running Bluetoothctl worked. Hope you are able to find a way to wake it when the mug is put into pairing mode.

Awesome! I'm glad that worked. At least that confirms the issue and workaround.
I'll see what can be done. It's only required for the in initial setup though. After that you should be good even after reboots.

Thanks @sopelj, once the connection is established the connection is solid with frequent updates

Home Assistant 2022.11 Beta 0 was just released and it includes a more recent version of the Bluetooth libraries that this integration uses. Since the update I haven't seen the "ATT error: 0x0e (Unlikely Error)". I don't know if anyone else has tried. But it's encouraging.

If you run bluetoothctl power on this will turn on the bluetooth dongle.
See this article. After this I was able to pair successfully.
https://www.homeautomationguy.io/home-assistant-tips/failed-to-start-bluetooth-org-bluez-error-notready-resource-not-ready/

@rwatts3 Oh great, I'm glad that worked for you.
In most cases if Bluetooth is already configured in Home Assistant then you shouldn't need to power it on, as it should be on already. But perhaps in certain setups this can be necessary. I can add it to the troubleshooting section just in case though.

This issue covers multiple problems, and the title does not represent most of them and leads to confusion. Normally they are all fixed or documented. I'm going to close it, but Feel free to create a new issue if something was missed.


panic if a service client code generation fails.

https://github.com/rusoto/rusoto/issues/518 happened because I didn't initialize/update botocore.  Whoops.  However, the build script should panic if the code gen fails.

Looks good to me.  Thanks @noggleboggle


Create a VCS wrapper

Create a VCS wrapper in preparation for version control related tasks in Accompli (eg. checkout).
The VCS wrapper should implement the adapter pattern to be able to use the same API for different version control systems.
The first version should at least include the following version control systems:

[x] Subversion
[x] Git

And implement the following features:

[x] Be able to determine what VCS driver / adapter to use.
[x] Be able to pass the commands to connection adapter or other kind of intermediate.
[x] List branches.
[x] List tags.
[x] Checkout branch - branch names should support to Composer's branch name scheme.
[x] Checkout tag - tag names should adhere to SemVer's and Composer's versioning scheme.

Related Accompli issue(s): accompli/accompli#37, accompli/accompli#43

Support of Composer's or SemVers versioning scheme hasn't been implemented as it's not really useful to force it upon users.


Filtering in All Courses overlay not fully accessible

Not fully tested, but here's what I notice right away:

[ ] No focus state (or hover) on the clear search button
[ ] No focus state on the Filter or Date Pinned buttons (slight focus state, should mimic the hover state)
[ ] Filter menu:

Can't switch tabs (Semester and Department)
No hover/focus state of Semester, Department or Clear buttons
Focus doesn't wrap
Items should be navigated by arrows (probably)

[ ] Date Pinned menu not accessible with keyboard (can't navigate the menu)

You should also check the screen-readers when testing this, didn't do any of the label testing but it will be worth looking at.

🙌

Hm, fun - it seems that the lack of up/down key interaction may be caused by iron-overlay-behavior, which seems to bubble key events up to the parent. Might require more in-depth changes than just role="menu", which explains much.


Add support for OCFL 1.1

With https://github.com/OCFL/fixtures/pull/95 we have a new test tree for v1.1 that can have divergent tests from v1.0. Currently ocfl-py will barf if it gets anything that doesn't declare itself to be v1.0

Code handles v1.1 as well as v1.0 (for some time). Should perhaps explicitly declare in validation output which version a object or storage root has been validated against


Added isRearrangeable flag

This option allows to prevent items to move away when dragging/resizing an element.
It simply add short circuit to moveElement and onResize when this option is enabled.
In combination with verticalCompact={false} and maxRows props, it allow me to build a dashboard with fixed height and width. isRearrangeable allows to bypass maxRow overflow when dragging and resizing elements since other elements can't be push to the bottom anymore.
Perhaps the prop name is not very good 🙂

@EmrysMyrddin  this PR work perfect!! In all cases! thanks!
Work much, much better than this PR: https://github.com/STRML/react-grid-layout/pull/385
Si I think could be close the duplicated PR #385 and instead merge this better PR. WDYT?
@nikolas  @msiebert @STRML?

This is pretty good, I like it.
Would you mind adding an example for it as well?

@STRML Sure, is there any guide for generating exemples ? I see some scripts here, but I don't know how they work.

@STRML I have added an example, say me if it suit you.
You should add a little bit of instructions for making exemples, in particular for being able to see the result of the exemple.

Hey all,
We'd like to incorporate this feature in our next release (thanks @EmrysMyrddin for putting in the work!). What's necessary to push this PR the last mile and get it merged? I'm happy to take over if there are any remaining documentation tasks left.

Merged and combined with the preventCollision PR (#629)


Update README.md

Update release version in README for v8.10.12

Payment method update

Update and remove

Cadit card update and remove

Gmail address update

Billing home address update

How much update  Bro


🚧 Experimenting protect feature

Description
The purpose of protect is to prevent mutations on an object by wrapping it in a proxy, then allow to get the result of the mutations performed on the proxy.
It uses a chain sequence to store the operations performed on the proxy.
Example usage
const object = {
  a: 1,
  b: { c: 3 },
}

const result = protect(object)(protectedObject => {
  // protectedObject is a proxy which protects object from mutations
  protectedObject.a = 2
  delete protectedObject.b.c
  protectedObject.b.d = 4
})

// object has not been modified
// result is a ChainWrapper, use value() to get unwrapped result
result.value() // => { a: 2, b: { d: 4 } }

Codecov Report

Merging #66 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #66   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          29     30    +1
  Lines          50     69   +19
  Branches        0      4    +4
=====================================
+ Hits           50     69   +19

Impacted Files
Coverage Δ

src/seq/ChainWrapper.js
100% <100%> (ø)
:arrow_up:

src/util/protect.js
100% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b4593b9...c4327d8. Read the comment docs.


rework/refactor/document XML Base

The XML Base treatment is poorly documented (and may be poorly understood as well). It should be reworked and documented. When this is done, it should affect the provision notices in the log files as well (see #63)
cc: @dginev @cmaeder

From the LaTeXML side, what I can tell is that xml:base is an attribute for omdoc document and it is provided by the baseURL macro in localpaths.tex.
What do we want to get out from reworking it?

Actually, I think we should use the namepsace mechanism from MMT (there is an sTeX macro for that now). How this relates to XML Base I do not know yet. I guess we can leave the XML Base handling to MMT.


Update Cargo.toml

Updates dependency to the patch version of 0.9.8
Advisory

LGTM
@Dylan-DPC Thanks a lot!


guides: prestep credentials not being passed to instance, or wrong backend version?

For example, try and go through the steps of https://play-with-go.dev/retracting-module-versions_go116_en/.
When it comes to step 4, you get:
$ git push -q origin main
Username for 'https://gopher.live':

Which indicates either:

the credentials have not been passed by the SDK when creating the instance, or
the backend is the wrong version
something else 😄

I've just confirmed the prestep is returning values... so it appears that the backend is simply ignoring these values. Could be the wrong version deployed?

Fixed.


[Bug]: Checkbox group widget appears blank when more than 4 Options are added

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Steps To Reproduce
1. Drag and drop a checkbox group widget
2. Open property pane
3. Click on '+ Options'
4. Observe when more than 4 Options are added the widget appears blank

Environment
Release
Version
Cloud

@somangshu the problem is more serious. Looks like we can't add any label/value which is empty. But by default we add empty which breaks the widget. I guess we need to show error in the data rather than widget. Needs some design help.
https://www.loom.com/share/ee74a20feb594af887e01f27ef81172e

@dilippitchika What do you mean by show the error on data and not the widget?
Also, I think a better way to solve this would be to add a pre-filled name and value in the control, this will be worked by the Ui Builders POD. What do you think?

My initial thought was the same, that you add pre-filled name and value. The problem was if I click add option again, it will add the same name/value and this error will re-occur. We have to check that as well and add prefix or suffix, maybe this is straightforward.
By error on data, i mean this area where user is adding the options

@dilippitchika We can auto increment a prefix on the pre-filled label to solve that


Merge develop

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-develop.10 :tada:
The release is available on:

npm package (@develop dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add thermostat support

Adds in thermostat support for #18. Requires https://github.com/node-alarm-dot-com/node-alarm-dot-com/pull/31
Everything seems to work on my setup. Code largely copied from garage logic. Couple of notes:

Didn't add humidity support. My thermostat displays current humidity on the device, but I don't see values from it on Alarm.com even though it's in API spec. Not sure if my thermostat just doesn't send the values, or if Alarm.com API does't actually support it, or what.
Not sure best way to handle C/F. Seems like Homebridge always wants Celsius? Alarm.com is in Fahrenheit (at least for my account). Current method works, but Homebridge UI displays some weird rounding sometimes. Home app on iOS displays nice round numbers though.
Not sure 'Auto' mode is handled correctly, not an option on my thermostat so hard to test.

Re: C/F: Looks like this is an Alarm.com setting. Current state of PR would break if user had Alarm.com set to C. Two solutions, not sure which would be preferred:

Add new config option to this plugin. User required to make sure settings are in sync.
Query Alarm.com system information to get the setting. This may require new method in base node package and probably an extra API call added to refreshDevices?
Glad to implement either one if there is a preference.

Thanks for the PR! Here Here are the attributes from my thermostat
{
	"attributes": {
		"requiresSetup": false,
		"forwardingAmbientTemp": 70,
		"minHeatSetpoint": 35,
		"maxHeatSetpoint": 95,
		"minCoolSetpoint": 50,
		"maxCoolSetpoint": 95,
		"minAuxHeatSetpoint": 35,
		"maxAuxHeatSetpoint": 95,
		"heatSetpoint": 70,
		"desiredHeatSetpoint": 70,
		"coolSetpoint": 83,
		"desiredCoolSetpoint": 75,
		"homeHeatSetpoint": 69,
		"homeCoolSetpoint": 75,
		"awayHeatSetpoint": 64,
		"awayCoolSetpoint": 78,
		"sleepHeatSetpoint": 67,
		"sleepCoolSetpoint": 77,
		"setpointOffset": 1,
		"autoSetpointBuffer": 3,
		"thirdPartySettingsUrlDesc": null,
		"thirdPartySettingsUrl": null,
		"state": 2,
		"desiredState": 2,
		"inferredState": 2,
		"scheduleMode": 1,
		"fanMode": 0,
		"desiredFanMode": 0,
		"fanDuration": null,
		"localDisplayLockingMode": 0,
		"desiredLocalDisplayLockingMode": null,
		"hasRtsIssue": false,
		"isControlled": false,
		"supportsSetpoints": true,
		"isPoolController": false,
		"supportsOffMode": true,
		"supportsHeatMode": true,
		"supportsCoolMode": true,
		"supportsAutoMode": true,
		"supportsSmartSchedules": false,
		"supportsAuxHeatMode": false,
		"supportsSchedules": true,
		"supportsFanMode": true,
		"supportsIndefiniteFanOn": false,
		"supportedFanDurations": [
			1,
			2,
			3,
			24
		],
		"supportsCirculateFanModeAlways": true,
		"supportsCirculateFanModeWhenOff": false,
		"supportsRts": null,
		"supportsLocalDisplayLocking": true,
		"supportsPartialLocalDisplayLocking": true,
		"supportsHvacAnalytics": true,
		"supportsThirdPartySettings": false,
		"hasPendingTempModeChange": false,
		"hasPendingSetpointChange": false,
		"hasPendingHeatSetpointChange": false,
		"hasPendingCoolSetpointChange": false,
		"ambientTemp": 70,
		"isPaired": false,
		"supportsPairing": true,
		"tempForwardingActive": true,
		"supportsHumidity": true,
		"humidityLevel": 36,
		"managedDeviceType": 16,
		"hasState": true,
		"canBeRenamed": true,
		"canBeDeleted": true,
		"canAccessWebSettings": true,
		"canAccessAppSettings": true,
		"webSettings": 1011,
		"canAccessTroubleshootingWizard": false,
		"troubleshootingWizard": null,
		"addDeviceResource": 0,
		"canBeAssociatedToVideoDevice": false,
		"associatedCameraDeviceIds": {},
		"macAddress": "",
		"manufacturer": "Alarm.com",
		"isAssignedToCareReceiver": false,
		"isOAuth": false,
		"isZWave": true,
		"supportsCommandClassBasic": false,
		"isMalfunctioning": false,
		"canBeSaved": true,
		"canChangeDescription": true,
		"description": "Thermostat",
		"deviceModelId": 4481,
		"canConfirmStateChange": true,
		"canReceiveCommands": true,
		"remoteCommandsEnabled": true,
		"hasPermissionToChangeState": true,
		"deviceIcon": {
			"icon": 37
		},
		"batteryLevelNull": 100,
		"lowBattery": false,
		"criticalBattery": false
	}
}

For humidity, the values we would want to use are supportsHumidity and humidityLevel.
Looking at the documentation for the CurrentTemperature characteristic, it does default to Celsius. The website makes a call to https://www.alarm.com/web/api/identities and has a value localizeTempUnitsToCelsius under data[0]["attributes"]. Can we assume units always come from alarm.com as F but they localize to C if needed?
On my system, auto mode can be set by making a call to https://www.alarm.com/web/api/devices/thermostats/DEVICE-ID/setState with a desired state of 4.

Re: C/F: Looks like this is an Alarm.com setting. Current state of PR would break if user had Alarm.com set to C. Two solutions, not sure which would be preferred:
* Add new config option to this plugin. User required to make sure settings are in sync.

* Query Alarm.com system information to get the setting. This may require new method in base node package and probably an extra API call added to `refreshDevices`?
  Glad to implement either one if there is a preference.

I think the best course of action would be to try and automatically switch between C and F based on the call mentioned above. I just changed my account to C and found that the actual data returned from the thermostat API call changed to C as well, along with the display on my thermostat.
It would be awesome if someone in a metric-using country could confirm these results!

C/F: Yeah noticed when testing that values in Alarm.com response change based on C/F setting. It'd be convenient if they returned that info with the thermostat, but alas... I was looking at a call for the system info https://www.alarm.com/web/api/systems/systems/<id> from https://www.alarm.com/web/system/settings/account-management/system-information to determine C/F.  I can look into that other call though. I think it would make sense to make a call to determine C/F in refreshDevices (if thermostats exist), that seem right? That way in the (maybe unlikely) event that someone changing settings it gets picked up quickly (rather than just fetching on restart or whatever) and someones furnace doesn't get set to 150 degrees.
Re: Auto: I understand the Alarm.com state values, but these differ from the HomeKit/HomeBridge states. And Alarm.com defines a separate Heat and Cool setpoint temperature. If thermostat is set to Heat and user adjusts temperature, it's clear which value to update. But what about Auto? I kind of guessed that inferredState will resolve to whichever mode the system is actually running in, but am not able to throughly test that. getThermostatState, getThermostatTargetTemperature, changeThermostatTargetTemperature are the related methods to look at.

Will also take a stab at adding humidity. Didn’t want to guess on values but looks like whole numbers so should be straightforward

I added a new variable, localizeTempUnitsToCelsius, to the plugin, which is retrieved on startup. Could you use this to detect if the units are coming back in C or F?

Yeah sorry I had started on that with same idea, think I got it working but just haven’t tested it yet. Will try to get that wrapped up soon

@chase9 Changes pushed. Tested switching account between C/F and all seems to be working

Switched to the beta release that includes this feature. Will be testing it. Let me know if you want any feedback.

@Omar-L I would love feedback if you have any!

@chase9 been using beta release with thermostat support for a couple of weeks. Basic on, off, cool, heat, set temperature all works. Have not encountered any issues, seems stable!


Not quite an issue lol

Helloz! Could you please send me an invite to the PradoLang org? Thanks Johnny :D

Oh sure lol


✨ Configuration to adjust terminal letter spacing

Describe the solution you'd like
This configuration variable will adjust the amount of spacing in between each character. This will be a multiple of the character itself.
Examples

Value
Description

0
no spacing in between characters

0.5
a half of a characters width between characters

1
a full characters width in between characters

Note: We are not limited to the three values above, they are just examples to illustrate how this will work.
Related issues

#1101

To be consistent with line height, should it instead be:

Value
Description

1
no spacing in between characters

1.5
a half of a characters width between characters

2
a full characters width in between characters

@austincondiff  I have added the option for changing the  letter spacing in settings view under terminal settings. I am trying to add the selected letter spacing to the SwiftTerm LocalTerminalProcessView. But I don't find a way to add letter spacing. Do you have any idea on this.
I gone through this documentation https://migueldeicaza.github.io/SwiftTermDocs/documentation/swiftterm/localprocessterminalview

@austincondiff I have added the option for changing the letter spacing in settings view under terminal settings. I am trying to add the selected letter spacing to the SwiftTerm LocalTerminalProcessView. But I don't find a way to add letter spacing. Do you have any idea on this. I gone through this documentation https://migueldeicaza.github.io/SwiftTermDocs/documentation/swiftterm/localprocessterminalview

Unfortunately there is no way to add letter spacing at the moment, if you want, open an issue on the SwiftTerm github repo.


How to disable "stop task if..."

Under the Settings tab in the Task Scheduler GUI, "Stop the task if it runs longer than:" is being checked by default for my tasks. How can I use the managed wrapper to disable that setting--i.e., uncheck the box, so that there's no limit on how long the task will run?
Originally posted: 2011-02-18T13:54:15

That UI element is associated with the TaskDefinition.Settings.ExecutionTimeLimit property. Setting that property to TimeSpan.Zero will have the task run indefinitely.
Originally posted: 2011-02-22T10:41:06

I'm running into the same problem with this issue that I just documented in my other thread about security options settings. Again, here is the code I'm using:
TaskService ts = new TaskService();
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Run " + taskName + " at logon";
td.Settings.DisallowStartIfOnBatteries = false;
td.Settings.ExecutionTimeLimit = TimeSpan.Zero;
td.Principal.GroupId = "BUILTIN";
td.Principal.UserId = "Administrators";
LogonTrigger lTrigger = (LogonTrigger)td.Triggers.Add(new LogonTrigger());
td.Actions.Add(new ExecAction(taskAppLocation, null, null));
ts.RootFolder.RegisterTaskDefinition(taskName, td);
When I run this code, it has no impact on the "Stop the task if it runs longer than..." setting. The checkbox remains checked, and the combo box is set to 3 days. I don't understand what I'm doing wrong. Thanks for any help you can provide.
Originally posted: 2011-02-22T12:38:22

It's working now with the ExecutionTimeLimit set to TimeSpan.Zero. There was something else going on with the wrong version of a .dll in my project, which I straightended out, and now the code works. Thanks!
Originally posted: 2011-02-23T13:56:13

I have the save problem. When I set ExecutionTimeLimit to TimeSpan.Zero,  the checkbox keeps checked, and the time limit is set to 0 hrs 0 mins, the scheduled action will exit immediately  after started. How to solve this problem?  My enviroment is WinXP sp3 + .NET 4.0.
Originally posted: 2012-09-13T20:41:58

I have tried this with the current build (1.8.3) on both XP and Windows 7 and the control behaves as it should: When the the TaskDefinition.Settings.ExecutionTimeLimit is set to TimeSpan.Zero, the checkbox is unchecked and the combobox is disabled. Please check your version.
On JoeyChaps earlier post, I want to make a comment for other readers: You cannot set both the Principal.GroupId and Principal.UserId properties. You use GroupId if the account is a group and UserId if an individual identity. Also, GroupId is not supported under XP (1.0).
Originally posted: 2012-09-14T09:00:12

I just tried this with V1.9.4 in Windows XP SP3. Not sure what I'm doing wrong, but TimeSpan.Zero results in the checkbox being checked and 0,0 for the time limit. XP is not nearly as important to me, so I currently set the value to 999 hours for XP. My app needs to run in the background on startup. Would be nice to know how Joey fixed this.
Originally posted: 2013-05-25T22:57:08

I have v2.0.3 and I'm having the same issue in XP SP3 where the "Settings.ExecutionTimeLimit" property is set to "TimeSpan.Zero", but the "Stop the task if it runs longer than..." is still checked. Thus, the task never executes. Is there some combination of settings that will uncheck the "Stop the task if it runs longer than..." option? It works perfectly under Win 7 or greater, but not XP SP3.
Originally posted: 2014-02-03T11:57:34

This is fixed in release 2.0.4. Thank you for identifying the problem.
Originally posted: 2014-02-05T19:59:48


Add OAuth as an auth type

Data Plane API - Pull Request

API Info: The Basics
Is this review for (select one):

[ ] a private preview
[ ] a public preview
[X] GA release

Change Scope
The service is already updated to accept Entra ID's. This PR adds the necessary declaration for auto-gen to add TokenCredential support to the clients.
Viewing API changes
N/A

Do you mind also changing imageContent to imageUrl and imageData in routes.tsp?


chuangmi.cateye.ipc018

Hello.
Tell me, are you planning to support chuangmi.cateye.ipc018, which at the moment of integration only gives a battery charge and a screenshot of a random freeze frame?
Device: Xiaobai Smart Camera Doorbell Cat Eye
Model: CMMY18A
Object: camera.chuangmi_ipc018
Software version: 4.0.9_2313
thanks

The miot-spec of the device only provides a battery-level property, and currently this component can only view the screenshots of the video doorbell/camera.


Fix not to use let chains and remove unnecessary feature attribute

Now this works even in stable build!

Thanks!


Manage Course

Story:The Admin Wants to  Manage course information. The admin should be able to create, read update and delete the department information.
Description: The new department information should be added and updated to the cloud firestore database.
Acceptance criteria: There should be no courses  in one department with the same name. The information should be updated and shown instantly.
Testing: Courses with the same name will be added to the database.

Course also needs to have a prerequisites field which has a array of the prerequisites that the student needs to take before they get into the course. Admin should be able to add and remove prerequisites as needed.


Japanese and Vietnamese Language support

Is it possible for the Japanese and Vietnamese languages?

We have enabled Japanese on the backend and will start working on Vietnamese.

Closing issue as obsolete to new autotrain-advanced that is soon releasing.


chore: bump hackney

Updates hackney to v1.17.0.
It has multiple important fixes:
https://github.com/benoitc/hackney/releases/tag/v1.17.0

Thanks @3duard0


How to customize bootstrap variables ?

I use material theme and use some components from Angular material.
But angular material has some style conflicts with bootstrap (especially with reboot.css).
More about this problems is here: https://www.amadousall.com/the-good-parts-of-bootstrap-4-you-are-missing-in-your-angular-material-projects/
So I need to change some styles by customizing bootstrap sass-variables.
I add customized variable in  @theme/styles/styles.scss:
$label-margin-bottom: 0;
@import '~bootstrap/scss/functions';
@import '~bootstrap/scss/variables';
@import '~bootstrap/scss/mixins';
@import '~bootstrap/scss/grid';

But this doesn't work. Style still is:
label {
    margin-bottom: 0.5rem;
}

And is applied from scss/_reboot.scss and variable $label-margin-bottom have not been overriden:
label {
  // Allow labels to use `margin` for spacing.
  display: inline-block;
  margin-bottom: $label-margin-bottom;
}

How could I customize bootstrap variables properly ?
p.s. I also tried place my variable after '~bootstrap/scss/variables' import but result was the same.

@ramax495
sorry. i don't understand.
but, There may be hints below
https://akveo.github.io/nebular/docs/design-system/create-custom-theme#create-custom-theme

but, There may be hints below
https://akveo.github.io/nebular/docs/design-system/create-custom-theme#create-custom-theme

No. My problem is with customizing sass-variables from bootstrap, which are used in reboot.scss.

Remove from angular.json the line that imports the prebuild bootstrap.css
"styles": [               "node_modules/bootstrap/dist/css/bootstrap.css", ... ]
And import it all into styles.scss
@import "~bootstrap/scss/bootstrap";


Add github.com/google/codesearch package. [phab:D806]

Created by fromberger at 2016-04-03 09:08:26:
This is used to implement full-text regular expression search in Kythe-CS.

pcc wrote at 2016-12-04 02:54:05:
Update this package to use workspaces

pcc wrote at 2016-12-04 02:59:27:

Update README.google

jrtom wrote at 2017-10-18 17:11:22:
Same question as for #806: what are the next steps, and how will we decide whether we want to add this to Kythe at all?

fromberger abandoned revision at 2018-05-21 20:40:02


🐛 Bug Report: Character count covers "Add item" button

when we select an attribute type as an array, to add items in array we get option of 'add item' to new item in existing array. But im not getting that option after adding one item.
This only happening when the attribute size is set such that you get text area to add value in attribute instead of single line text field.
I  thinks it is a interface/styling issue as i tried to search 'add item' to see the button is present, and it is giving me match but the button is not vissible.

@tejender, thanks for raising this issue! We'll look into this soon.

This was a bug in Pink and will be fixed after we bump pink in this commit.

Fixed in 1.5.5:

I've checked it, and this issue is still there

Fixed in 1.5.5:

I've checked it and this issue is still there

Further more updates.. In one collection i have attributes thumbnails, slug.where thumbnail is array of string type.three its working as expected.. In other collection i jave multiple attributes and in between there is one again of array of string and there I'm facing the same issue..This needs ro be tested for multiple layout styles


axis hangs if interval has negative dates or very big

When zooming out at some point axis script works infinitely causing browser to stop working properly.

It seems that the problem is because of negative years (and same could happen with any negative date for other time intervals).

Ok, so it is related to a wrong (from mathematical point of view) modulo operator behavior in JavaScript (and other related programming languages).  I fixed it by redefining it in the module:
Number::mod = (n) ->
(@n+n) % n
However, that was not enough.  Even when both endpoints of interval are positive dates, it still breaks when interval is very big.

Ok, actually changing modulo implementation does not change anything.  It was only issue of dates outside the allowed JavaScript range.  #21 is a valid bug.


inventory::submit!() doesn't work unless code from downstream crate is actually used

Here's my setup: I have a workspace with two crates, primary and secondary. primary defines a struct Foo that's registered with inventory::collect!(). secondary registers an instance of Foo using inventory::submit!(). In secondary/tests/test.rs, I attempt to iterate over all registered Foo instances.
$ exa -T
.
├── Cargo.lock
├── Cargo.toml
├── primary
│  ├── Cargo.toml
│  └── src
│     └── lib.rs
└── secondary
   ├── Cargo.toml
   ├── src
   │  └── lib.rs
   └── tests
      └── test.rs

primary/src/lib.rs
#[derive(Debug)]
pub struct Foo {
    pub name: &'static str,
}

inventory::collect!(Foo);

secondary/src/lib.rs
inventory::submit!(primary::Foo { name: "asdf" });

secondary/tests/test.rs
#[test]
fn test() {
    for foo in inventory::iter::<primary::Foo> {
        println!("{:?}", foo);
    }
}

When running cargo test -- --nocapture, I expect to see Foo { name: "asdf" } in the output. However, the test has no output. I think the problem is that the test is compiled as a separate crate and since it doesn't refer to secondary at all, the code to register the Foo instance is not run.
From this forum post, I discovered a workaround: by adding a dummy function pub fn dummy() {} to the secondary crate, and calling that function from the test, the output is what I expect.
I was wondering if there are any other ways around this issue or if you could shed some light on why it occurs. Thanks!

This minimizes to:
#!/bin/bash

rustc <<<'
    #[used]
    #[link_section = ".ctors"]
    static STATIC: unsafe extern "C" fn() = print_msg;
    unsafe extern "C" fn print_msg() {
        use core::ffi::c_void;
        extern {
            fn write(fd: i32, buf: *const c_void, count: usize) -> isize;
        }
        write(
            1i32,
            "CTOR CALLED\n".as_ptr() as *const c_void,
            12usize,
        );
    }
    pub fn f() {}
    ' \
    --edition=2018 \
    --crate-name dep \
    --crate-type lib \
    --emit=link \
    /dev/stdin

rustc <<<'
    fn main() {
        dep::f();
    }
    ' \
    --edition=2018 \
    --crate-name repro \
    --emit=link \
    --extern dep=libdep.rlib \
    /dev/stdin

./repro

If you comment out dep::f() then print_msg does not end up in the binary. I think this is a rustc bug. Anything with #[used] and #[link_section = "..."] needs to go in the binary.

This seems to be the same issue: https://github.com/rust-lang/rust/issues/47384.
I checked that STATIC does actually end up in libdep.rlib:
$ nm -C libdep.rlib

dep.dep.3a1fbbbh-cgu.0.rcgu.o:
0000000000000000 V DW.ref.rust_eh_personality
0000000000000000 r GCC_except_table0
                 U rust_eh_personality
                 U write
0000000000000000 T dep::f
0000000000000000 d dep::STATIC
0000000000000000 t dep::print_msg
                 U core::str::<impl str>::as_ptr

so it appears to be a linker problem.
One suggested solution is from https://github.com/rust-lang/rust/issues/47384#issuecomment-386632831:

The fix is to add an EXTERN(STATIC); declaration to the linker script, which tells the linker to keep looking for a STATIC symbol, even if all other symbols are already resolved.

However I'm not sure that is applicable in this case as no linker script is being used.

Seeing the same issue. Is any workaround available?
Seems like changing crate-type to "dylib" helps my case (presumably, because linker would keep all symbols for the dynamically loadable library), but are there any other workaround?

What platform is this on? macOS has some odd behaviors in that static initializers are not guaranteed to run until something in the object file is actually needed. If nothing is triggering the object file (crate) with the initializer to actually get resolved/looked at by the linker, it may not run.
I don't know if there's a plausibly implementable solution for this in Rust. We do this reliably in a C++ codebase at work, but it involves code generation to basically inject a trigger for the static initializer into any TUs including a static initializer-needing header. I don't think there's an equivalent in Rust.

Just wanted to note- I just ran into this issue, and it appears that (at least with rustc 1.43 on linux) the restriction is even narrower - the module in the downstream crate must be actually used, not just the crate itself:
#!/bin/bash

rustc <<<'
pub mod inner {
    #[used]
    #[link_section = ".ctors"]
    static STATIC: unsafe extern "C" fn() = print_msg;
    unsafe extern "C" fn print_msg() {
        use core::ffi::c_void;
        extern {
            fn write(fd: i32, buf: *const c_void, count: usize) -> isize;
        }
        write(
            1i32,
            "CTOR CALLED\n".as_ptr() as *const c_void,
            12usize,
        );
    }
    pub fn g() {}
}
pub fn f() {}
    ' \
    --edition=2018 \
    --crate-name dep \
    --crate-type lib \
    --emit=link \
    /dev/stdin

rustc <<<'
    fn main() {
        // comment out this call and the constructor won't be called:
        dep::inner::g();
        dep::f();
    }
    ' \
    --edition=2018 \
    --crate-name repro \
    --emit=link \
    --extern dep=libdep.rlib \
    /dev/stdin

./repro

Is it the linker or the compiler culling the symbols from the executable?

My experience in C++ is that build tools like bazel usually expose an option you can set on libraries to link even if symbols are unused. In bazel the option is called always_link=1. See the gcc option discussed here: https://stackoverflow.com/q/14116420/50385
Presumably there is some way to get rustc to give the same option to the linker?

This is fixed in rustc 1.62.0 / inventory 0.3.0.


fix: harbor schema

Harbor was requiring databasePassword, which is only the case when it is enabled. This PR fixes that.
Checklist

[ ] Architecture Design Records have been added as adr/*.md and appended to list in adr/_index.md, if applicable.
[ ] The values-schema.yaml file and test/** fixtures have been updated to reflect code changes, if applicable.
[ ] The OpenApi Schema from redkubes/otomi-api project is compatible with definitions from values-schema.yaml file, if applicable.
[ ] Helm releases are meeting otomi's baseline security policies, if applicable.
[ ] Helm chart and helmfile changes are tested against upgrade scenario, if applicable.

To which issue is this related?


Utilize lookback months when applying lookback percent.

Pull Request Template
Description
Utilize lookbackmonths from urdbv8, as per https://github.com/NREL/SAM/pull/760#issuecomment-968186955
Release will include corresponding PySAM changes, as per https://github.com/NREL/pysam/issues/116
Type of change
Please delete options that are not relevant.

[X] New feature (non-breaking change which adds functionality)

Checklist:
If you have added a new compute module in a SSC pull request related to this one, be sure to check the Process Requirements.

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[X] I have checked my code and corrected any misspellings

Converting to draft - the handling of ur_dc_billing_demand_periods could also be improved (ensure number of periods matches TOU table)

Converting to draft - the handling of ur_dc_billing_demand_periods could also be improved (ensure number of periods matches TOU table)

Fixed, along with another surprise bug.


Add basic parameter UI

Renders a dialog box when the user clicks a service menu app item.
Renders an node/edge column selector for each InputColumn model when the service input type is node or edge.
Render various parameter types for any service app.
Todo:

Using validation regex
Filtering columns by data type

Hi Dylan @d2fong. I tested UpdateTablesExample, it works.
Found two bugs:

The 'submit' button is enabled even when the workspace is empty.  If the submit is clicked, it will result in error.

The dropdown selection does not actually work in iqueryenrichment

Hi Dylan, I think this submit button is mistakenly disabled in the updateTabelsExample. It also checks whether the column exists, which is actually unnecessary


Add new option to exclude files from the sync set

Why this change
Because we need a way to exclude files from the the sync set when using the s3_sync command in the marketing-website repo.
Related prs

Configure the middleman-s3_sync gem on the marketing website to ignore a given set of dirs https://github.com/contentful/marketing-website/pull/727/files

@dlitvakb could you take a look? Feel free to are for context or info

@dlitvakb PTAL


Manage Soft Credits: Contact field should be required

Off the Opportunity record, on the Manage Soft Credits page click "Add another soft credit".
Add a valid Contact with other fields empty and attempt to save the record. Note that attempting to save a record with no values for ROLE NAME/TYPE/AMOUNT yields error messages.
Attempt to save a soft credit record with no value for Contact. No error message appears regardless of whether ROLE NAME/TYPE/AMOUNT exist.
Save a soft credit with no Contact results in simply a no-op: no record is generated on the Opportunity, no error messages are presented to the user. Suggest Contact should be required along with every other field on the new soft credit record.
(I found this by accidentally erasing my Contact just before Save. I was surprised at the result.)

@chrismcmahon Normally I'd be 1000% with you on this, but interestingly enough this mirrors the behavior when you add a standard Contact Role record. If you select a role value but don't lookup to a Contact and save, you end up back on the Opportunity having done nothing. Since I presume there's absolutely nothing we can do there, should we handle the Manage Soft Credits interface differently? I'm not sure.

because the page contains multiple rows in which to enter data, the presence or absence of a contact is what it currently uses to dictate whether that row should be committed.
if we feel this isn't good enough, then the change would be to validate/commit the row if ANY field in the row has data.

@davidhabib Where did we end up on this? It's not Lurched.

I don't believe we discussed or resolved so I'll lurch it to make sure we have the discussion.

**lurch: add

Tracking W-018265

W-7781129

Please follow this Known Issue in the Trailblazer Community for updates.


Adding "Officers and Duties" amendment

Overview
Add an amendment that describes Steering Comittee offers and their duties.

These responsibilities come straight from Kevin's notes.   @kevincol , can you please clarify this sentence in the Vice Chair section?

The Vice Chair may deputize for the chair in all other duties as required.

@AMollis @kevincol I added a commit with some minor grammatical/formatting amendments. I also changed the voting cadence to every six months, as was voted on in the previous SC meeting.

Thanks @mapinkin.  I not entirely sure, but because of our policies (authors can't self-approve), I don't think you'll be able to approve this PR anymore.  If that's the case, in the future, please request a change via the review comments, and lets the original author make the changes.

Apologies! Will do that next time. Mike Pinkin @.***<PHONE_NUMBER>
…
On Fri, Nov 10, 2023, 11:18 AM Adam Mollis @.> wrote: @AMollis https://github.com/AMollis @kevincol https://github.com/kevincol I added a commit with some minor grammatical/formatting amendments. I also changed the voting cadence to every six months, as was voted on in the previous SC meeting. Thanks @mapinkin https://github.com/mapinkin. I not entirely sure, but because of our policies (authors can't self-approve), I don't think you'll be able to approve this PR anymore. If that's the case, in the future, please request a change via the review comments, and lets the original author make the changes. — Reply to this email directly, view it on GitHub <#9 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACKQWZFTCCXZG6IDYDQWPUTYDZHWNAVCNFSM6AAAAAA7FG2MOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBWGAZDQOBVG4 . You are receiving this because you were mentioned.Message ID: @. com>

Thank you @mapinkin !   Again thank you for the good changes.

looks fine.


Smart charging not updated

Version of the custom_component

Version 1.60
Configuration
Describe your configuration here.
Describe the bug
The smart charging on the curve (incl smart charging) is not updated. I have seen it several times that the curve is not updated and thereby, charging not activated during the night (when price is lowest). If I press the on/off switches in the intergration a few times then the smart price curve is updated but it is not done per default.
Debug log

Sorry to hear about your troubles. What you describe could be an issuse that I have seen in v1.5.0. If so, then it should be fixed in v1.6.0. Could you please update to v1.6.0, and if you still see the problem, please let me know.

I actually am running v1.6.0 (wrote wrong one before)... So error seems to persist.

Which settings of the configuration entities do you have?
Do you have have live update of the EV SOC entity, or do you manually update it?

Yes, I have a live update. The EV SOC can say that it is e.g. 30% and the car is not connected. Smart charging is activated but when the car is connected, nothing happends. It does not update. Even tested if it was a graphical error but the charger did not start. Just a comment - love the integration when it works :-) Fantastic idea!

Do you update switch.ev_smart_charging_ev_connected to reflect that the car is connected to the charger, or not?

Can you go to Settings -> Devices & Services -> Integrations -> EV Smart Charging -> 1 device and let me know what settings and values you have in "Controls" and in "Settings"? (A sceenshot of those parts would be fine.)
At what time of the day have you expirenced that the charging schedule hasn't been updated? Before the prices are updated (prices are updated shortly after 13:00) or after the prices have been updated, or both before and after?

Hi!
Generally, I will have to switch off all controls and then set them to on again before the smart charge is updated.
Apply pricelimit: off
Continous chargin: on
Ev Connected: on (This is incorrect since the car is not connected at the moment - should this reflect if the car is connected? Then this is not updated correctly)
Keep charger on: on
Opperistic : off
Smart charging activated: on
Charge compeltion time: 7
Charge start time: Nobe
Charge speed: 15
Electric price limit: 0.0
Minimum EV SOC: 0
Opernistic level: 50%.

Thanks for the information. I have tested a little bit, but not so much yet.
I want to check one thing.
There are two cases when the charging schedule by design will not be updated when you change some of the settings.

During the time between the completion time (07:00 in your case) and the time when the prices for tomorrow comes (shortly after 13:00)
While scheduled charging is on-going

Can you confirm that the issue you have seen has happen after 14:00 and when there has not been any charging on-going?

Hi!
Yes it is after 14.00. See attached files.
Den tis 31 jan. 2023 12:59Jonas Karlsson @.***> skrev:

Thanks for the information. I have tested a little bit, but not so much
yet.
I want to check one thing.
There are two cases when the charging schedule by design will not be
updated when you change some of the settings.

During the time between the completion time (07:00 in your case) and
the time when the prices for tomorrow comes (shortly after 13:00)
While scheduled charging is on-going

Can you confirm that the issue you have seen has happen after 14:00 and
when there has not been any charging on-going?
—
Reply to this email directly, view it on GitHub
https://github.com/jonasbkarlsson/ev_smart_charging/issues/115#issuecomment-1410224998,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRGFHV5O5PQF62SVURVR3DWVD5BRANCNFSM6AAAAAAUI5JB5U
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks for the confirmation. Your message said "see attached files", but I can't see any files. Only the orignal message you replied too (and I removed some links from it).
I used your settings yesterday, and it work ok for me. I will continue using them to see if I can trigger the problem.
Is the problem happen often? Every day?
Would you be able to provide a debug-file?
To do that you need follow the instructions here, but to search for ev_smart_charging instead of ocpp.
And you would need to add the following
logger:
  default: info
  logs:
    custom_components.ev_smart_charging: debug

to the file configuration.yaml and restart Home Assistant.

Now I found the problem.
If you want to use switch.ev_smart_charging_keep_charger_on =  on, then you must make sure that switch.ev_smart_charging_ev_connected is set to on when the car is connected and set to off when the car is not connected.
The best way to achieve this is with an automation. One example is provided here, but you might need to adjust it depending on with charger and/or car you have.
You can turn switch.ev_smart_charging_ev_connected on and off manually, but that's not really a nice solution.

Fantatic! I will try it out :)
Den tis 31 jan. 2023 21:44Jonas Karlsson @.***> skrev:

Now I found the problem.
If you want to use switch.ev_smart_charging_keep_charger_on = on, then
you must make sure that switch.ev_smart_charging_ev_connected is set to on
when the car is connected and set to off when the car is not connected.
The best way to achieve this is with an automation. One example is
provided here
https://github.com/jonasbkarlsson/ev_smart_charging#example-of-automation-to-inform-the-integration-that-the-ev-is-connected-to-the-charger,
but you might need to adjust it depending on with charger and/or car you
have.
You can turn switch.ev_smart_charging_ev_connected on and off manually,
but that's not really a nice solution.
—
Reply to this email directly, view it on GitHub
https://github.com/jonasbkarlsson/ev_smart_charging/issues/115#issuecomment-1411044831,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRGFHQHRYGQUEIZYLT2JR3WVF2SXANCNFSM6AAAAAAUI5JB5U
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi!
I tried it but unfortunately the automation did not work. I think I need some explanation to the EV Smart Charging - EV connected automation such as. What parameters needs to be defined and what are part of your integration. E.g.
sensor.ocpp_status_connector
switch.turn_on
switch.ev_smart_charging_ev_connected
Thank you!

Which integration do you use to control your charging box?

Garo

You should have an entity called sensor.YOUR_GARO_status. Check what value it has when you use your charger.
If it has the value "Vehicle not connected" when the car is disconnected, and something else when connected, then something like following could work. Replace "YOUR_GARO" with the name you have.
alias: EV Smart Charging - EV connected
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.YOUR_GARO_status
condition: []
action:
  - if:
      - condition: state
        entity_id: sensor.YOUR_GARO_status
        state: Vehicle not connected
    then:
      - service: switch.turn_off
        data: {}
        target:
          entity_id: switch.ev_smart_charging_ev_connected
    else:
      - service: switch.turn_on
        data: {}
        target:
          entity_id: switch.ev_smart_charging_ev_connected
mode: single

Thank you!
I tried the automation but there seems to be a problem - it does still not work. Not sure if there is a bugg with the GARO integration. The integration states "Vehicle connected" even though it is not connected to the car. This seem to be the standard message if car is not connected. If in fact it is connected it states either "Charging" when car is charging, "Charging Finished" connected and not charging anymore, "Charging Disabled" when charger disabled by user interface (or HA)...

To disable the charger, is that something this integration will do (using some automation), or are you talking about some other way you might disable the charger from HA?
If this integration does not disable the charger, then I would use the following. Please let me know if it works.
alias: EV Smart Charging - EV connected
description: ""
mode: single
trigger:
  - platform: state
    entity_id:
      - sensor.YOUR_GARO_status
condition: []
action:
  - if:
      - condition: or
        conditions:
          - condition: state
            entity_id: sensor.YOUR_GARO_status
            state: Charging finished
          - condition: state
            entity_id: sensor.YOUR_GARO_status
            state: Charging
    then:
      - service: switch.turn_on
        data: {}
        target:
          entity_id: switch.ev_smart_charging_ev_connected
    else:
      - service: switch.turn_off
        data: {}
        target:
          entity_id: switch.ev_smart_charging_ev_connected