Will bluetooth now work?

With the release of 2022.8.0 that includes bluetooth control is there a way we can get this to work with Xgimi?

The hardest part is not HA side, currently I have not figured out how to simulate/fake a bluetooth signal to turn on XGIMI

Updates:
The newest XGIMI mobile app now has feature to turn on the projector through bluetooth. There is no pairing required in this procedure, it seems like a BLE advertisement. If so, it is possible to simulate the bluetooth signal to turn on the projector from HA. I tried to analysis btsnoop_hci.log by wireshark  but no luck.
If anyone is familar with bluetooth protocol and willing to help please DM me :-)

I'd love to see this if you can get it working, unfortunately I don't have any BT experience but commenting to stay subscribed to this issue.

I don't have a solution either but I started a thread as well in the XGIMI Elfin forum (would probably make sense to start in other forums as well with many members): https://www.facebook.com/groups/xgimielfin/posts/864061654795310/?comment_id=864101604791315&reply_comment_id=864118484789627&notif_id=1670170784048565&notif_t=group_comment_mention

and the same topic: https://stackoverflow.com/questions/69921353/how-can-i-clone-a-non-paired-ble-signal-from-a-remote-to-trigger-a-device?fbclid=IwAR2eSos_uhunoYTj9VDkZVy0NQ1peo6PaN6w1lU6q-a-NE0ZVxB8ZjQNXNw

I also have an XGIMI projector and I would like to be able to turn it on via the Home assistant. Can this video help in any way?
https://www.youtube.com/watch?v=NIBmiPtCDdM&list=PLlGYeZI9ysXKGJuA7f9lZ53Fk9tYO-pDP&index=1&t=317s

I solved it for the XGIMI Elfin 🥳🥳🥳  It has worked for several weeks now. Have a look at my answer here for more instructions.
The only time I wasn't able to turn on the projector was after it had been off for a couple of days. On this occasion a non-paired remote control was still able to turn the projector on, so maybe there's one more advertising scenario I may have not yet understood. But I will have to wait for a couple of days again leaving the projector off before I can further explore this. It's also possible that on this special occasion maybe the BLE advertising app just didn't work properly. To be continued...

I solved it for the XGIMI Elfin 🥳🥳🥳 It has worked for several weeks now. Have a look at my answer here for more instructions.
The only time I wasn't able to turn on the projector was after it had been off for a couple of days. On this occasion a non-paired remote control was still able to turn the projector on, so maybe there's one more advertising scenario I may have not yet understood. But I will have to wait for a couple of days again leaving the projector off before I can further explore this. It's also possible that on this special occasion maybe the BLE advertising app just didn't work properly. To be continued...

Thanks for sharing, that's really a breakthrough. Could you elaborate more on how to get UUID and Manufacturer Specific Data by scanning the remote?

You're welcome. For the Xgimi Halo+ there's now also the BLE information [available] (https://stackoverflow.com/questions/69921353/how-can-i-clone-a-non-paired-ble-signal-from-a-remote-to-trigger-a-device/75551013#75551013) thanks to the contribution of Muxa.
To sniff the information needed I used ubertooth BLE sniffer device with a command like this ubertooth-btle -f -t1C:F3:01:B9:81:99 (the MAC address of the remote control can be easily figured out beforehand). Because the ubertooth was too expensive I didn't keep it, instead I have now ordered a Nordic Semiconductor nRF52840 USB-Dongle which I hope will do work in a similar manner.
You might also be able to get all needed information using a BLE app on your phone. There are a couple available in the app stores and I was also able to see a signal from the XGIMI remote including manufacturer data if I recall right, but it wasn't a very straightforward way to run an analysis.
Another potentially sufficient approach without the need of an extra BLE sniffer device could be bluetoothctl which is part of BLUEZ for linux: https://stackoverflow.com/questions/36607626/how-to-use-bluetoothctl-like-hcitool-lescan-to-report-repeated-proximity-beacons
With hcitool you might be successful as well but hcitool commands only work up to  BLE 4.0 devices. You can find such USB dongles for a few bucks online. I ordered one with CSR 8510 A10 chipset (Qualcomm) but haven't found time yet to experiment more with it.

@manymuch I added additional comments here also regarding BLE sniffer experience with Bluetooth Smart Scanner App . The initial post in this thread also refers to this sniffer app. With such app you might not even need a separate BLE sniffer device.

Updates: I power on my Xgimi projector(z6x) succesfully through EFR connect.
Here is the manufacture Specific Data I found by Bluetooth Smart Scanner App:
Company Code: 0x0046
Data: 0x12D7C7899B9F80FFFFFF3043524B544D
Besides, I have also noticed that the first 4 digits are random
Working on next step: using sending BLE with Bluez from raspberrypi, or maybe even from esphome.

Thank you for the update @manymuch and congratulations!
I think I had also been successful with Bluez turning the projector on but right now I'm not able to replicate my previous success. At least I can provide you with some commands that I think work to run advertising signal (just adapt for your data):
bluetoothctl
[bluetooth]# menu advertise
[bluetooth]# uuids 0x1812
[bluetooth]# manufacturer 0x46 0x7e 0x31 0xdb 0x31 0xb2 0x24 0x40 0xff 0xff 0xff 0x30 0x43 0x52 0x4b 0x54 0x4d
[bluetooth]# back
[bluetooth]# advertise on
When you purchase an old BLE 4.0 USB dongle with Cambridge Silicon Radio chipset (it should show Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) when you run lsusb) you can use hcitool commands which maybe work better than bluetoothctl, but maybe your raspberry bluetooth chipset also supports hcitool. I haven't had time yet to further look into options to use my linux device to turn on the projector.

@helgek Success!!! Using exactly your command(except for manufacturer data), I am now able to power on the projector from my raspberrypi, it seems replicable for now, need more times to verify.

@manymuch So great to hear this!! I think with my Intel NUC integrated bluetooth adapter it's not this reliable or maybe it has something to do with the Bluez version or something else 🤷 I'm looking forward to more updates from you when you have completed more testing! It's so nice to see that this BLE topic gains pace now, will also interesting to see if this might also find its way into Home Assistant's recent Bluetooth implementation efforts

@manymuch btw, I never found this XGIMI app that you mentioned in your initial post. Maybe it could provide additional insights into BLE commands being exchanged/sent between remote and projector.

Update: I have implemented the poweron command into the xgimi integration. The ble advertisement is based on bluez-peripheral. The new integration has been released as v0.0.2
The poweron is not very stable but work in most of the time as I tested.

@helgek to answer your questions:

Home Assistant Bluetooth implementation seems to only have passive ble reading functionality, and does not provide ble advertisement function AFIK.
The Xgimi app seems to only have Chinese version and not available on google play store. Here is the official link to download apk directly. And since the app is designed for Chinese market, I am not sure if provide multiple language and supports your xgimi model.
BTW, the UDP command I used in this integration is obtained by sniffering the app.

Hi.
I found the wakeup code for XGIMI Horizon pro 4K.
Company ID:0x0046
Data:0x1A7E0C743AEF18FFFFFF3043524B544D
On a diffarent way, is it possible to use the HDMI CEC signal as a more reliable power-on signal than BLE?
https://www.home-assistant.io/integrations/hdmi_cec/
https://github.com/ideaChenGo/esp-cec

@uni-uni-77 Of course, but HDMI CEC is not suitable for everyone and also requires additional hardware. Besides, my XGIMI z6x does not support HDMI CEC :(

@manymuch thanks a lot for your integration update and the interesting insights you provided! In addition: I can't thank you enough for providing these UDP commands in your integration! I was about to try to run a a bluetooth keyboard emulation on my Intel NUC device which would have been a far less preferable option for several reasons. I will try your integration later and let you know how it works for me. Regarding reliability I had also mixed experience with Bluez but I can't tell if the issues are related to Bluez or the BLE adapter. Hopefully it will become clearer by the time, maybe also with more users sharing their experience. I've e.g. had the impression that Bluez would sometimes not stop advertising even though I had sent the stop command. Similar experience I also had at least once with the Bluetooth Smart Scanner App on my Android device. So possibly the issues are more software-related than hardware-related.
Maybe an idea which could help to increase reliability: Maybe one could check the power on status of the projector in your integration and repeat the BLE advertisement until a positive response.

Hi. I found the wakeup code for XGIMI Horizon pro 4K.
Company ID:0x0046 Data:0x1A7E0C743AEF18FFFFFF3043524B544D
On a diffarent way, is it possible to use the HDMI CEC signal as a more reliable power-on signal than BLE? https://www.home-assistant.io/integrations/hdmi_cec/ https://github.com/ideaChenGo/esp-cec

@uni-uni-77 thank you for sharing your findings! I updated the [Stackoverflow thread] (https://stackoverflow.com/questions/69921353/how-can-i-clone-a-non-paired-ble-signal-from-a-remote-to-trigger-a-device/75551013#75551013) to include the information for this projector as well.
Also the information regarding existing HDMI CEC implementation projects is really interesting. My projector is connected to a soundbar which doesn't send a power on command but I'm now wondering if maybe an HDMI splitter could be used to connect the projector to an additional device which would send the power on command. For the moment in my setup I think I will be satisfied enough with the BLE advertisement solution but maybe at some point I'd also be interested to have a closer look at this alternative approach.

@helgek Hi, could you kindly provide your hardware information? I’m currently running HaOS 9.5 on a virtual machine and attempting to use an Intel 3168 Bluetooth adapter, but have encountered some errors:
[bluetooth]# advertise on
LEAdvertisingManager not found
Failed to register advertising

Would you be able to share any relevant information about your system specifications? Thank you.

@giuem bluetoothctl seems to be quite buggy and unstable from what I've experienced so far. I had similar errors and often it helped to simply restart the system. I think for the moment if one seeks for a stable advertisement solution an ESP32 based solution as just mentioned by sasukebinbin could be the more reliable approach. Alternatively you could look into using the older hcitool commands which work with older bluetooth dongles (as outlined in my previous post ). I added one such older BLE4.0 dongle to my Intel NUC setup but I haven't found time yet to run more tests. Find more info e.g.
here and here.
My Intel NUC is this one. The bluetooth adapter is this according to lsusb: Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)

@sasukebinbin Here is the a reference using esphome to send ble advertisement.

@sasukebinbin Here is the a reference using esphome to send ble advertisement.

Thanks for the reference. But it's a bit difficult to understand. Cause I think he is just giving an example on using 2 ESP32 to run as Client and Server. But actually we just need a Server to advertise. Not good at C++...
Anyone can help to give an example on create a button and when press the button then set manufacturer data and advertising.

The hardcoded manufacturer code doesn't work at all on my xgimi H3 projector with mainland China firmware. So I guess I might need another one?

I just captured the BLE poweron event, I get this data:

and I have changed the yaml code accordingly, but no luck, still no poweron.
remote:

platform: xgimi
name: H3
host: <IP_ADDRESS>
token: "D1497DBDA42360FFFFFF3043524B544D"

@netweaver1970 for initial validation if power on works for your projector using the manufacturer data you captured I suggest using an android device with EFR Connect. The required settings in this app can be found here. Once this has hopefully worked out successfully there will be a better starting point to look into the BLE power on integration from manymuch and investigate potential reasons why you haven’t been successful with it .

That's true, if no luck with integration directly, try step by step verification

EFR connect on an android device
bluetoothctl from terminal of your HA host
finally the xgimi integration

@netweaver1970 for initial validation if power on works for your projector using the manufacturer data you captured I suggest using an android device with EFR Connect. The required settings in this app can be found here. Once this has hopefully worked out successfully there will be a better starting point to look into the BLE power on integration from manymuch and investigate potential reasons why you haven’t been successful with it .

Very good news, I hadn't noticed that the xgimi integration had actually created a 2nd remote entity in HA (remote.h3_2), with the same Name and left the 1st one orphan. This happened most likely after modifying the configuration.yaml with the newly found token.
When sending the 'poweron' command to the 2nd one, all worked file, as well as the 'poweroff'.
This allows my previous VERY MacGyver setup to be decommissioned, being a ESP12 controlled dual relay module, running ESPhome, connected to a hacked physical Xgimi remote to short the power button... This was at best workable but sometimes finicky due to different behaviour depending on playing or non-play state of the projector, needing long or short press.
The combined Bluetooth/UDP solution is much cleaner and way more reliable. Thanks for all the effort put in on all sides to get this working!
So I can confirm the token D1497DBDA42360FFFFFF3043524B544D is working fine for the H3 model, it can be added to the tried and test list.

@netweaver1970 Thanks for the update and congratulations on the successful outcome! I added your information to the list of working parameters.

I can confirm that token 143FCB9335F278FFFFFF3043524B544D worked to power on Xgimi Halo+. However no other commands seem to work.

Someone got the token for Elfin projector?

@facutopa yes, everything’s available in this thread

@helgek I tried but I can't make it work.
I read and found what you mentioned but I don't know if I put the correct token:
Advertising Data XGIMI Elfin projector:
Flags: GeneralDiscoverable, [Device specific] Manufacturer data: 0×0046 0x12D7C7899B9F80FFFFFF3043524B544D Service UUID: 0x1812

Is this the token "12D7C7899B9F80FFFFFF3043524B544D"?

@facutopa did you try with EFR Connect ?  12D7C7899B9F80FFFFFF3043524B544D is the right token. It's also not likely that there exist other tokens since this token is hard-coded into the Elfin remote (as far as we know). You could also double check with your remote control and this iOS BLE scanner app: https://apps.apple.com/us/app/bluetooth-smart-scanner/id509978131

ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [4564053888] [Errno 2] No such file or directory
Traceback (most recent call last):
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/components/websocket_api/commands.py", line 199, in handle_call_service
    await hass.services.async_call(
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/core.py", line 1849, in async_call
    task.result()
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/core.py", line 1889, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/helpers/entity_component.py", line 226, in handle_service
    await service.entity_service_call(
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/helpers/service.py", line 798, in entity_service_call
    future.result()  # pop exception if have
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/helpers/entity.py", line 981, in async_request_call
    await coro
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/homeassistant/helpers/service.py", line 838, in _handle_entity_call
    await result
  File "/Users/me/.homeassistant/custom_components/xgimi/remote.py", line 97, in async_send_command
    await self.xgimi_api.async_send_command(single_command)
  File "/Users/me/.homeassistant/custom_components/xgimi/pyxgimi.py", line 96, in async_send_command
    await self.async_robust_ble_power_on(self.manufacturer_data)
  File "/Users/me/.homeassistant/custom_components/xgimi/pyxgimi.py", line 79, in async_robust_ble_power_on
    await self.async_ble_power_on(manufacturer_data, company_id, service_uuid)
  File "/Users/me/.homeassistant/custom_components/xgimi/pyxgimi.py", line 66, in async_ble_power_on
    bus = await get_message_bus()
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/bluez_peripheral/util.py", line 37, in get_message_bus
    return await MessageBus(bus_type=BusType.SYSTEM).connect()
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/dbus_next/aio/message_bus.py", line 122, in __init__
    super().__init__(bus_address, bus_type, ProxyObject)
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/dbus_next/message_bus.py", line 85, in __init__
    self._setup_socket()
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/dbus_next/message_bus.py", line 575, in _setup_socket
    raise err
  File "/Users/me/.pyenv/versions/3.10.11/envs/hass/lib/python3.10/site-packages/dbus_next/message_bus.py", line 548, in _setup_socket
    self._sock.connect(filename)
FileNotFoundError: [Errno 2] No such file or directory

请问发送poweron 命令报这个错 是什么原因
版本v0.0.5
设备 h3
tpken: D1497DBDA42360FFFFFF3043524B544D
蓝牙设备: macmini 自带蓝牙

感谢作者，我用的投影也是是Z6X，集成后除开机一切正常。根据使用说明我这台设备的token是13676c6b951350ffffff3043524b544d，通过在树莓派上使用bluetoothctl测试可以开机，但当我调用poweron服务时报以下错误。根据检索初步怀疑是HA版本导致的，但解决方法没有头绪，python不熟悉。我使用的HA版本是：2023.3.2
ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547530116832] Error handling message: Unknown error (unknown_error) J from <IP_ADDRESS> (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15) Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 26, in _handle_async_response     await func(hass, connection, msg)   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 647, in handle_execute_script     await script_obj.async_run(msg.get("variables"), context=context)   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1524, in async_run     await asyncio.shield(run.async_run())   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 409, in async_run     await self._async_step(log_exceptions=False)   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 453, in _async_step     self._handle_exception(   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 476, in _handle_exception     raise exception   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step     await getattr(self, handler)()   File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step     await service_task   File "/usr/src/homeassistant/homeassistant/core.py", line 1808, in async_call     task.result()   File "/usr/src/homeassistant/homeassistant/core.py", line 1845, in _execute_service     await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(   File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service     await service.entity_service_call(   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 686, in entity_service_call     future.result()  # pop exception if have   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 961, in async_request_call     await coro   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 726, in _handle_entity_call     await result   File "/config/custom_components/xgimi/remote.py", line 97, in async_send_command     await self.xgimi_api.async_send_command(single_command)   File "/config/custom_components/xgimi/pyxgimi.py", line 96, in async_send_command     await self.async_robust_ble_power_on(self.manufacturer_data)   File "/config/custom_components/xgimi/pyxgimi.py", line 79, in async_robust_ble_power_on     await self.async_ble_power_on(manufacturer_data, company_id, service_uuid)   File "/config/custom_components/xgimi/pyxgimi.py", line 66, in async_ble_power_on     bus = await get_message_bus()   File "/usr/local/lib/python3.10/site-packages/bluez_peripheral/util.py", line 37, in get_message_bus     return await MessageBus(bus_type=BusType.SYSTEM).connect()   File "/usr/local/lib/python3.10/site-packages/dbus_next/aio/message_bus.py", line 122, in __init__     super().__init__(bus_address, bus_type, ProxyObject)   File "/usr/local/lib/python3.10/site-packages/dbus_next/message_bus.py", line 85, in __init__     self._setup_socket()   File "/usr/local/lib/python3.10/site-packages/dbus_next/message_bus.py", line 575, in _setup_socket     raise err   File "/usr/local/lib/python3.10/site-packages/dbus_next/message_bus.py", line 548, in _setup_socket     self._sock.connect(filename) FileNotFoundError: [Errno 2] No such file or directory

@Johnny-Liang see https://github.com/manymuch/Xgimi-4-Home-Assistant/issues/12 if you are using HA docker installation.

I've been trying to sniff the codes for the xgimi z4 aurora but I dont seem to be having much luck, I can see the manufacturer data being sent, but when I try replay it nothing happens on the projector :(

@ouchkilljoys maybe you're in the same situation like Muxa: https://stackoverflow.com/a/75563140 He had to add Scan Response data to make his Xgimi Halo+ turn on. I don't know if you will be able to sniff Scan Response data with EFR Connect. If not you may need a more professional bluetooth sniffer device like nRF52840 together with nRF Connect for Desktop Bluetooth Low Energy App. It's not to expensive and I had similarly good experience like with the much more expensive ubertooth stick.
I hope this helps. If you've been successful please share your information so that we can add it to the list of working devices.

Just managed to turn on my XGimi H5 projector with code:
0x4d4b17d86c27e0ffffff3043524b544d

@rabdalov Congratulations and thank you for sharing the code! I will add it to the list of working codes: https://stackoverflow.com/questions/69921353/how-can-i-clone-a-non-paired-ble-signal-from-a-remote-to-trigger-a-device/

@ouchkilljoys maybe you're in the same situation like Muxa: https://stackoverflow.com/a/75563140 He had to add Scan Response data to make his Xgimi Halo+ turn on. I don't know if you will be able to sniff Scan Response data with EFR Connect. If not you may need a more professional bluetooth sniffer device like nRF52840 together with nRF Connect for Desktop Bluetooth Low Energy App. It's not to expensive and I had similarly good experience like with the much more expensive ubertooth stick.
I hope this helps. If you've been successful please share your information so that we can add it to the list of working devices.

I tried out the nRF52840 with Wireshark but I dont see any scan response data and the manufacturer data im sending looks correct but the projector just doesnt respond :(

@ouchkilljoys maybe you're in the same situation like Muxa: https://stackoverflow.com/a/75563140 He had to add Scan Response data to make his Xgimi Halo+ turn on. I don't know if you will be able to sniff Scan Response data with EFR Connect. If not you may need a more professional bluetooth sniffer device like nRF52840 together with nRF Connect for Desktop Bluetooth Low Energy App. It's not to expensive and I had similarly good experience like with the much more expensive ubertooth stick.
I hope this helps. If you've been successful please share your information so that we can add it to the list of working devices.

I tried out the nRF52840 with Wireshark but I dont see any scan response data and the manufacturer data im sending looks correct but the projector just doesnt respond :(

Can you maybe share a screenshot of your EFR Connect settings. Like this we could at least validate those settings. Please feel free to also share your Wireshark findings. Muxa might also be able to further support.

@ouchkilljoys maybe you're in the same situation like Muxa: https://stackoverflow.com/a/75563140 He had to add Scan Response data to make his Xgimi Halo+ turn on. I don't know if you will be able to sniff Scan Response data with EFR Connect. If not you may need a more professional bluetooth sniffer device like nRF52840 together with nRF Connect for Desktop Bluetooth Low Energy App. It's not to expensive and I had similarly good experience like with the much more expensive ubertooth stick.
I hope this helps. If you've been successful please share your information so that we can add it to the list of working devices.

I tried out the nRF52840 with Wireshark but I dont see any scan response data and the manufacturer data im sending looks correct but the projector just doesnt respond :(

Can you maybe share a screenshot of your EFR Connect settings. Like this we could at least validate those settings. Please feel free to also share your Wireshark findings. Muxa might also be able to further support.

I seemed to also get this one

Then my app config, I tried both codes listed above

Hi, about the EFR Connect
One time we setup this:

What is supposed to be done?
Turn off the projector and see if something happened in the app?
I tried, I thought I setup correctly with the token associated to my projector but nothing happened.

@ouchkilljoys  sorry I didn't come back on this yet. I just had and have to many things on the table at the moment but I will try to follow-up later. @muxa The Xgimi Z4 Aurora might have similar additional challenges regarding BLE advertising like Xgimi Halo+ . Do you maybe have additional suggestions for ouchkilljoys regarding how he could further investigate the BLE signal coming from the Z4 Aurora remote control since only using manufacturer code doesn't seem to work. Thanks!

Hi. Just recently purchased a Horizon Ultra. Tried the above steps to get the power on functionality to work but no success. I used the iOS "Bluetooth Smart Scanner App" to generate a token which was "8C4290B4AB59A7942288E6755A66A130" but it didn't work. Then I noticed that all the tokens for the other projectors end with the characters "FFFFFF3043524B544D" which makes me think I must have done something wrong. Does anyone perhaps have an idea of what I am doing wrong? Any assistance would be greatly appreciated. Thanks.

Hi. By way of an update, I tried a different app to get the Horizon Ultra token and this time it was "929C044313C40CFFFFFF3043524B544D" which seems to match the format of the other model tokens listed above. But it still didn't work.

Hi. After some more tinkering, it turns out the token for the Horizon Ultra is "9B511C4E68E490FFFFFF3043524B544D" and that works. Confirmed working with:

EFR connect on an android device
bluetoothctl from terminal of HA terminal (RPI 4 using onboard bluetooth adapter)
The XGIMI integration, although only managed to be able to turn the projector on, not able to use any other commands for the projector.
I hope that helps someone else, and many thanks to the people who have contributed to this thread who helped me finally achieve what I was trying to do.

Hello! Please tell me does anyone have a key for XGIMI AURA? Thanks!

@gunionbag Congratulations 🥳

Hi. After some more tinkering, it turns out the token for the Horizon Ultra is "9B511C4E68E490FFFFFF3043524B544D" and that works. Confirmed working with:

EFR connect on an android device
bluetoothctl from terminal of HA terminal (RPI 4 using onboard bluetooth adapter)
The XGIMI integration, although only managed to be able to turn the projector on, not able to use any other commands for the projector.
I hope that helps someone else, and many thanks to the people who have contributed to this thread who helped me finally achieve what I was trying to do.

How did you get the right code in the end? I'm still struggling with my xgimi z4 aurora :(

Hi ouchkilljoys,
This is the process I used. I don't know if it is the best way, but it's what worked for me.

I paired the Horizon Ultra remote to my Android phone. This was just so I could get the bluetooth mac address of the remote control in the connected devices setting on my Android phone. There are probably easier ways to do this, but I didn't know of an alternate way to get the bluetooth mac address of the remote.
I then paired the Horizon Ultra remote back to the projector.
In Home Assistant I clicked on the "Terminal" option on the left hand menu, then entered the command "bluetoothctl" (without quotes) and hit enter.
At this stage the terminal started showing every bluetooth device that the Raspberry PI that is running Home Assistant could see. And surprisingly there were quite a few. The Raspberry PI was in a different room to the projector so I grabbed the projector remote control, ran to the same room as the Raspberry PI and clicked the power on button about 10 times really quickly, then clicked the power on button about 5 times holding the power on button down for about 5 seconds each time.
I then bolted back to my PC where the Home Assistant terminal was running and had a look at all the bluetooth signals it had identified. Somewhere in that log will be a device that corresponds to your bluetooth remote, hence step 1) above so you can identify your bluetooth remote amongst all the other bluetooth devices broadcasting messages.

What you're looking for is the device id that matches your projector remote's bluetooth mac address (blue square in screenshot), and double check that the ManufacturerData Key is "0x0046" which I think is XGIMI (green square in screenshot), then you need the ManufacturerData Value token (red square in screenshot). Although having said that the token that I shared in that screenshot is different to the one I posted above, so I may have done something wrong when I was putting this tutorial together.
I then installed the XGIMI integration according to the instructions here: https://github.com/manymuch/Xgimi-4-Home-Assistant
I then added the following lines to my configuration.yaml file, token from above process and IP address of the projector which should be hard-coded/reserved in your router:
remote:

platform: xgimi
name: xhu
host: <IP_ADDRESS>
token: "9B511C4E68E490FFFFFF3043524B544D"

Restarted Home Assistant
I then set up a new script in Home Assistant which called the "Remote: Send command" service, the target entity was the remote name I entered above in the configuration.yaml file "xhu", and the command was "poweron" (no quotes). I also found I had to set the "Hold seconds" to about 3 seconds for the projector to recognise it had been turned on. Screenshot of script also attached below

And somehow miraculously that process worked for me. The key was getting the token from the Raspberry PI when it was running the "bluetoothctl" command from the terminal. Although as I said above, I don't know why the token I just discovered was different to the one I originally posted above. Maybe that is the token for "poweroff", no idea really. Anyway I hope that helps, good luck and post back your findings in the hope that in might help others who are looking to do the same thing.

Sorry, just adding an attachment of the entries I made to the configuration.yaml file as the text above doesn't properly show the indentation required which is always important for anything in configuration.yaml...

Actually, while I'm here I might as well ask a question I had. Was tinkering over the weekend and discovered the "Remote: Send command" service also worked with the "home" command as well as the "poweron" command. Although what I really want to do is be able to change the input select of the projector to HDMI2. Does anyone have any ideas on how to achieve that with the Horizon Ultra projector?

Hello, for my Horizon 1080, the token is : 839acd5b9d1d60ffffff3043524b544d
I put it here, it can be usefull ;)

Is that the H2?

No one here has RS Pro 2?

No one here has RS Pro 2?

have you figure it out now, I've RS Pro 2, too.

Hi ouchkilljoys,
This is the process I used. I don't know if it is the best way, but it's what worked for me.

I paired the Horizon Ultra remote to my Android phone. This was just so I could get the bluetooth mac address of the remote control in the connected devices setting on my Android phone. There are probably easier ways to do this, but I didn't know of an alternate way to get the bluetooth mac address of the remote.
I then paired the Horizon Ultra remote back to the projector.
In Home Assistant I clicked on the "Terminal" option on the left hand menu, then entered the command "bluetoothctl" (without quotes) and hit enter.
At this stage the terminal started showing every bluetooth device that the Raspberry PI that is running Home Assistant could see. And surprisingly there were quite a few. The Raspberry PI was in a different room to the projector so I grabbed the projector remote control, ran to the same room as the Raspberry PI and clicked the power on button about 10 times really quickly, then clicked the power on button about 5 times holding the power on button down for about 5 seconds each time.
I then bolted back to my PC where the Home Assistant terminal was running and had a look at all the bluetooth signals it had identified. Somewhere in that log will be a device that corresponds to your bluetooth remote, hence step 1) above so you can identify your bluetooth remote amongst all the other bluetooth devices broadcasting messages.

What you're looking for is the device id that matches your projector remote's bluetooth mac address (blue square in screenshot), and double check that the ManufacturerData Key is "0x0046" which I think is XGIMI (green square in screenshot), then you need the ManufacturerData Value token (red square in screenshot). Although having said that the token that I shared in that screenshot is different to the one I posted above, so I may have done something wrong when I was putting this tutorial together.
I then installed the XGIMI integration according to the instructions here: https://github.com/manymuch/Xgimi-4-Home-Assistant
I then added the following lines to my configuration.yaml file, token from above process and IP address of the projector which should be hard-coded/reserved in your router:
remote:

platform: xgimi
name: xhu
host: <IP_ADDRESS>
token: "9B511C4E68E490FFFFFF3043524B544D"

Restarted Home Assistant
I then set up a new script in Home Assistant which called the "Remote: Send command" service, the target entity was the remote name I entered above in the configuration.yaml file "xhu", and the command was "poweron" (no quotes). I also found I had to set the "Hold seconds" to about 3 seconds for the projector to recognise it had been turned on. Screenshot of script also attached below

And somehow miraculously that process worked for me. The key was getting the token from the Raspberry PI when it was running the "bluetoothctl" command from the terminal. Although as I said above, I don't know why the token I just discovered was different to the one I originally posted above. Maybe that is the token for "poweroff", no idea really. Anyway I hope that helps, good luck and post back your findings in the hope that in might help others who are looking to do the same thing.

This really helped me out, thank you! The one thing I’ll note is that I couldn’t get the data to appear in terminal until I completely powered off the projector, then it showed up instantly! Probably wasted 2 hours trying haha. Hopefully this helps someone else!

Great to read about additional successes! Regarding the advertising data changing slightly with every turning on and off of the projector you can also check out my comment here which potentially provides an additional puzzle piece to why this happens: https://github.com/manymuch/Xgimi-4-Home-Assistant/issues/38#issuecomment-1930882509

I have HORIZON Pro and made it turn on using BLE advertisment thanks to the integration! But Im still struggling with other commands that should be by UDP. I tried all of them and only "poweron" works. Any ideia whats could be the problem?

Hi, Horizon 1080 ble 34C6B3DF3AEF18FFFFFF3043524B544D

switch on is working (ble proxy) but ports are closed:(


Adds PlayGlobalSound command.

About the PR
Simple command that allows admins with +FUN to play global sounds for certain players, or for every player on the server.
Examples:

Play "bang.ogg" for every player on the server.
playglobalsound /Audio/Effects/bang.ogg

Play "bang.ogg" for two specific players only.
playglobal /Audio/Effects/bang.ogg JoeGenero UristMcHands

My only qualm with this is, if I hear a global sound, my first instinct is to try to hunt down what is making the noise in the codebase and fix it lol. Ideally, this would be used with “fun” sounds that would make it obviously an admeme right?

My only qualm with this is, if I hear a global sound, my first instinct is to try to hunt down what is making the noise in the codebase and fix it lol. Ideally, this would be used with “fun” sounds that would make it obviously an admeme right?

this is likely meant to work in combination with network resource uploading.


Please check ioBroker.nuki2 with js-controller 2.0

Hi,
the new js-controller 2.0 will come into latest repository in the next days and we want to make sure that all adapters are working well. We already did a 2 weeks Beta test and so some adapter were aleady checked and some needed slight adjustments.
You can find more information in https://github.com/ioBroker/ioBroker.js-controller/issues/482 and in the ioBroker Forum. If you have more technical questions please write in the referenced issue or in the Developer thread please. General questions are best in the genral thread.
Please update your systems to js-controller 2.0 and check your adapter.
Please close this issue once you have checked your adapter or received successfull reports from users.
Thank you very much for your support. Please contact us in the other Threads or Forum on any question.

confirmeed with nuki-extended v2.0.0 (https://github.com/Zefau/ioBroker.nuki2/projects/1)


Update package.json

Remove extra repository key.

Thx

@kategengler are you using this already with the 0.5 branch?

@LevelbossMike Sorry missed your comment.
No, I'm not using it. I just update package.json files in ember addons to keep things correct on emberobserver.com


MixPanel causing app to crash on latest react native

Since upgrading to react native .71 and enabling hermes we have been seeing more crashes and I think they are coming from the native implementation of mixpanel based on the reports we are getting from Sentry. Stack trace included below.  We are on version 2.1.
Is this something that you can fix on your side?

I've double checked and every instance of this error weve seen was on iOS 16.1+ with React Native .71 (hermes enabled)

I also have the same error, I managed to get the log using adb

@Allanbcruz which version of react native are you on?

I migrated today from version:
"react": "17.0.2",
"react-native": "0.67.5",
"mixpanel-react-native": "^2.1.0",
for version:
"react": "18.2.0",
"react-native": "0.71.4",
"mixpanel-react-native": "^2.2.0",
Before it was working normally!

Yup same for me only had issues after upgrade.  I was on .65 before though.

It's very inconsistent for me though - what about you?  The app still works a good amount of the time it just crashes a lot more than it used to (usually after opening the app).

making a "My bad", sorry @matthewmturner, the error I reported was actually caused by me calling the mixpanel track before it had initialized

@Allanbcruz Had you changed anything about your Mixpanel code when upgrading React Native?

No @matthewmturner, due to a failure of the team to manage the releases of our application, there was a coincidence that the faulty code (failed implementation trying to call the mixpanel track before Init()) and the React-Native update version were on the same branch.

@Allanbcruz Ah ok, thanks for information!

were going to try upgrading to 0.71.4 to see if that helps.  if not we will likely have to disable mixpanel

Any feedback from the Mixpanel team please? We updated on our side but it seems likely that the bug is persisting as already saw an instance of it on the version with the fix

@matthewmturner I'm not able to reproduce the crash and this is the only report we have of such a crash, so I'm not sure what the cause is. But from the screenshot of the stack trace we can see that the crash occurs in AutomaticProperties.setAutomaticProperties which can be found here: https://github.com/mixpanel/mixpanel-react-native/blob/master/ios/AutomaticProperties.swift#L7-L9
Which is called from here: https://github.com/mixpanel/mixpanel-react-native/blob/master/ios/MixpanelReactNative.swift#L22
Which receives the superProperties object param from your init call: https://github.com/mixpanel/mixpanel-react-native/blob/master/index.js#L65-L67
Are you providing superProperties in your init call? If so, what are they and how exactly are you doing it? Let me know if you get any additional information and I'll take a closer look.

@jaredmixpanel thanks for the response!  we dont use superProperties anywhere.  Below is our core mixpanel code.  Using that we just call mixpanelInstance.track throughout the app as needed.
and unfortunately i havent been able to reproduce this in development. im only getting the sentry crash reports in production.
import config from 'config';
import { Mixpanel } from 'mixpanel-react-native';

class MixpanelInstance {
  mixpanel: Mixpanel | null;

  isInitialized: boolean;

  constructor() {
    this.mixpanel = null;
    this.isInitialized = false;
  }

  init() {
    try {
      const trackAutomaticEvents = true;
      const mixpanel = new Mixpanel(config.mixpanelToken, trackAutomaticEvents);
      mixpanel.init();
      this.mixpanel = mixpanel;
      this.isInitialized = true;
    } catch (e) {
      console.error(e);
      this.mixpanel = null;
      this.isInitialized = false;
    }
  }

  identify(userId: string) {
    if (!this.isInitialized) return;
    try {
      // We know from the constructor that if isInitialized is true,
      // then mixpanel is not null
      this.mixpanel!.identify(userId);
    } catch (e) {
      console.error(e);
    }
  }

  updateCurrentUser(properties: Object) {
    if (!this.isInitialized) return;
    try {
      // We know from the constructor that if isInitialized is true,
      // then mixpanel is not null
      this.mixpanel!.getPeople().set(properties);
    } catch (e) {
      console.error(e);
    }
  }

  track(name: string, properties: Object) {
    if (!this.isInitialized) return;
    try {
      // We know from the constructor that if isInitialized is true,
      // then mixpanel is not null
      this.mixpanel!.track(name, properties);
    } catch (error) {
      console.error(error);
    }
  }
}

const mixpanelInstance = new MixpanelInstance();

export { mixpanelInstance };

Not sure how this crash is possible then. The stack trace shows AutomaticProperties.swift line 9 being executed: https://github.com/mixpanel/mixpanel-react-native/blob/master/ios/AutomaticProperties.swift#L9
That line is only executed for each key, value pair in that properties dictionary, so if that dictionary is nil... no idea how we could get to that line. As a workaround it may be worth providing an empty object for the superProperties param or even some sort of static object like {"App Name": "VERSD"}... maybe this will result in a more predictable behavior. In the meantime, I'll add a check to only call setAutomaticProperties if properties is not nil.

@matthewmturner Okay, try updating to v2.2.3 and let me know if that fixed it.

@jaredmixpanel will do, thanks much.

@jaredmixpanel unfortunately i'm still getting this error even with the update.  Same stack trace.  is there anything else we could try?

@matthewmturner ok, i've tried something else, let me know if v2.2.4 fixes it

@jaredmixpanel great thanks - will include in our next release and let you know.

@matthewmturner v2.2.4 had a bug, sorry about that. please try v2.2.5 and let me know.

@jaredmixpanel updating in our release today, will keep you posted. thanks.

@jaredmixpanel FYI were still having this issue

Fyi this is report from Crashlytics, a little different.

Do you have any ideas for hacks I can do to get around this?

@jaredmixpanel from the error seems like it could be related to serverUrl?  But we aren't touching that so not sure why its causing issue

@jaredmixpanel do you have any thoughts here?

hi @matthewmturner , I'm reopening this issue for now, I will take a look.

@zihejia Thank you!

@zihejia hi - just checking in on this.

hi @matthewmturner , please try the latest version v2.3.0, and let me know how it goes.

@zihejia we are continuing to have the problem (the error looks a little different though - image attached).  I appreciate that your team has tried putting out several releases to fix this but unless you have a quick fix we are going to stop using mixpanel, its significantly downgrading the quality / experience of using our app.

Closing as we no longer use mixpanel

Closing as we no longer use mixpanel

haha I was just about to comment I am switching to amplitude. I just implemented it and kept getting crashes on production (iOS), in development is works fine. I couldn't even get any errors in sentry cause the app crashes as soon as it's opened. I'm not a native dev so wouldn't even know what to make of the native logs even if I could get em. Screw it the way it's being managed in this thread makes mixpanel looks amateur anyway.

Hi @TowhidKashem (and anyone who is running into this issue), we have recently looked into this issue again but are not able to reproduce the issue. If you are still running into this issue, can you write into<EMAIL_ADDRESS>citing this Github issue, attach a sample app that gets the errors/crash issue, and the error messages you're getting? You can mention my name in the email, so it will get assigned to me. Thank you very much in advance.

We are in 2024, Was still having this issue out of nowhere,  mix panel just started to crash while calling tracking.init with values
    environment: __DEV__ ? "development" : "production",
    platform: Platform.OS,
    version: APP_VERSION,

Was able to fix it while installing the latest version of the library switching away from native side operations as follows
const useNative = false;
const trackAutomaticEvents = true;
const tracking = new Mixpanel(
    "XXXXXXXXXX",
    trackAutomaticEvents,
    useNative,
);


Return a score and valid bash when page is 404

on our travis when the url is wrong lighthouse validate the page, that cause false positive in Pr review :/

What do you mean when the URL is wrong?

When our deploy fail and our website return 404 lighthouse did his work so travis ci valid our Pr

When you run LH from the CLI on a 404 page, it gives you:

What are you seeing?


[Extensions] Generate auth tokens for service accounts

Description
This is a PR to introduce the functionality for generating an auth token for an extension. The auth token consists of a an encoded basic auth token created from a randomly generated password. The token is then passed back to the client so that changes can be made in core in order to later perform authentication and authorization using the token.
Issues Resolved
This issue addresses This PR covers issue https://github.com/opensearch-project/security/issues/2611 and issue https://github.com/opensearch-project/security/issues/2668.
Testing
New tests are added to the UserApiTest file.
Check List

[x] New functionality includes testing
[x] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2716 (e826bf8) into main (739074d) will decrease coverage by 0.14%.
The diff coverage is 30.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #2716      +/-   ##
============================================
- Coverage     61.46%   61.33%   -0.14%
- Complexity     3391     3405      +14
============================================
  Files           272      272
  Lines         18740    18839      +99
  Branches       3284     3296      +12
============================================
+ Hits          11518    11554      +36
- Misses         5618     5682      +64
+ Partials       1604     1603       -1

Impacted Files
Coverage Δ

...java/org/opensearch/security/user/UserService.java
47.05% <12.24%> (-31.13%)
:arrow_down:

.../security/securityconf/impl/v7/InternalUserV7.java
70.31% <31.57%> (-12.67%)
:arrow_down:

...security/dlic/rest/api/InternalUsersApiAction.java
71.87% <43.24%> (-15.02%)
:arrow_down:

.../opensearch/security/OpenSearchSecurityPlugin.java
80.27% <100.00%> (ø)

... and 2 files with indirect coverage changes


Patch VeHU through November 2018

Using the patches from the OSEHRA VistA update for November 2018, apply the same patches to the VeHU instance.

Hi @shabiel, I've repatched the system without the Synthea loader.  PTAL again when you have a chance


feature problem

Dear author,
The download link for the pre-trained features provided by Tim on your page is invalid. Could you please share it again? Grateful.Have a nice day!
Lee

Hi xiaoli595!
I have provided a new link to download features. Now it is available on google drive.


x-webkit-deflate-frame

Apparently Safari still don't follow the standard regarding compression. Adding an alias för their variant will solve this issue

x-webkit-deflate-frame is a vendor prefix to deflate-frame which is not the same as permessage-deflate but very close. The only thing that differs is the negotiation of sliding windows.
By supporting this, the exact details of permessage-deflate parameters should be hidden better in a module and only expose the general idea to the rest of the code.
This is one example of how websockets/ws is overcomplicating things by exposing complicated parameters to the end user, while we take the path of having simple-to-use compressors. Things should be simple to understand for end-users and work everywhere.

x-webkit-deflate-frame is a vendor prefix to deflate-frame which is not the same as permessage-deflate but very close. The only thing that differs is the negotiation of sliding windows.
By supporting this, the exact details of permessage-deflate parameters should be hidden better in a module and only expose the general idea to the rest of the code.
This is one example of how websockets/ws is overcomplicating things by exposing complicated parameters to the end user, while we take the path of having simple-to-use compressors. Things should be simple to understand for end-users and work everywhere.

I wonder, did you implement this alias just to enable deflate for Safari, or because there was a report that it wouldn't work properly without this extension acknowledged by the server?

It's not actually an alias, it has different negotiation rules. But yes Safari still use this and we have to support Safari

Yes, I meant that, not alias literally. I'm investigating why Safari sometimes disconnects (with 1006 error) right after receiving the handshake response (without x-webkit-deflate-frame support), that's why I asked if you know anything about the x-webkit-deflate-frame support being mandatory for Safari (though this doesn't comply with the standards), as a possible reason for those disconnects.


Bower

Love the package, thanks for creating it.
It would be great to get it on bower. http://bower.io/docs/creating-packages/#register

@MauMaGau thanks for the suggestion. I'll work on getting that into bower soon.

@MauMaGau Now available via bower.


Notation for cardinality e.g. Crow's feet

From<EMAIL_ADDRESS>on January 20, 2010 06:48:51
This is not a bug, but a feature request. It'd be nice if there were some
representation of cardinality. I use crow's feet, but it seems there are a
lot of ways people do this. Take a look at http://en.wikipedia.org/wiki/Entity-relationship_model#Diagramming_conventions to see some examples.
Original issue: http://code.google.com/p/wwwsqldesigner/issues/detail?id=60

From ondrej.zara on January 19, 2010 22:55:44
How is the cardinality to be determined? Also, the linked article shows textual
labels next to connectors, which are problematic due to the curved nature of
wwwsqldesigner's connectors.

From<EMAIL_ADDRESS>on January 20, 2010 22:40:20
Textual labels aren't critical, but some kind of cardinality icon on either side of
the FK relation line tends to make it easier to read complicated diagrams. It gives
the relation a direction.
You can determine cardinality by determining which entity has the foreign key, as
long as there are no 1:1 relations. If there are, I guess you need an option on the
relation to indicate this.

From deansofer on January 22, 2010 00:57:24
There are only 3 kinds of relationships: 1-m, m-m and 1-1. A good designer should be
able to recognize m-m easily, and foreign keys tell you which side has a 1, only thing
that isn't implied is the 1-m vs 1-1, so if you solely add that symbol the rest shouldn't
be necessary.
I suppose having a connector look like crows feet for that one relationship would be
fine, but not necessary to markup the others.

From<EMAIL_ADDRESS>on January 27, 2010 13:17:05
Could the crowfoot be another object which you attach to the table first (perhaps
with text options), and then the svg path object could attach to it instead of the
table itself?  If this was optional, it wouldn't make anything harder for those who
don't need crow's feet, but it would be available for those who want to indicate this
kind of relationship description on the diagram itself.

From ondrej.zara on January 28, 2010 04:13:15
Status: Accepted

From<EMAIL_ADDRESS>on January 30, 2010 10:55:08
Thinking about this some more, it boils down to one simple feature - indicating
visually which side of the relationship has the foreign key. You can put crow's feet
on the FK side or simply put an arrowhead on the other side.
I don't think it's worth complicating the interface as you suggest ross. Instead I
think there should be one checkbox: Indicate directionality of relationships. This
enables or disables them for the whole diagram at once.
Dean, of course you can just read the column names looking for a foreign key, but
graphically marking the direction of the relation gives you the information at a
glance, allowing you to understand the diagram faster. It's just a UI improvement.
After all, we're looking at a diagram rather than DDL for a reason :)

From<EMAIL_ADDRESS>on March 19, 2010 11:59:51
> Thinking about this some more, it boils down to one simple feature - indicating
visually which side of the relationship has the foreign key
That's sooo true ! Cardinality is a tools for the theory, the conceptual database.
Ex1 : m-m cardinality
Entity : Users
Entity : Tasks
"One user has none, one or many tasks to do"
"One task may be done by one or more users"
Model doing this :
Table : Users (id_user)
Table : Tasks (id_task)
Table : Links (id_link, id_user, id_task)
Where in Links, id_user and id_task have appropriate FK constraints
Has you can notice one "m-m" is in fact two "1-m"
Ex2 : 1-m cardinality
Entity : Brains
Entity : Neurons
"One brain has none, one or many neurons"
"One neuron belongs in only one brain"
Model doing this :
Table : Brains (id_brain)
Table : Neurons (id_neuron, id_brain)
Where in Neurons , id_brain appropriate FK constraint
There is a more complicated notation to describe that a brain must have at least one
neuron, but the model is the same.
Ex3 : 1-1 cardinality
Entity : Poultry
"One egg has one hen for mother and one cock for father"
Model doing this :
Table : Poultry (id_egg, id_hen, id_cock)
Where in Poultry, id_hen and id_cock have appropriate FK constraints
This is very theoric, since the very first egg had no hen for mother... or, was it
the hen ?

From<EMAIL_ADDRESS>on March 27, 2010 20:55:21
Work in progress: SVG and non-smooth done, VML still untested.
Attachment: crow.patch

From deansofer on April 05, 2010 02:53:05
dbrand: When you use crows feet, you glance at a line, and then you glance at the end of the line for that 5 pixel
end for the crows feet. You're telling me you can't look 10 pixels more to the right to just see if it's the primary id
or not? Seriously, this is stuff you can tell from glancing. The primary id is 1 giant bold field. I hate most other
ERD tools because of the unnecessary feature that bloats useability.
Like I said, the only notations handy are weak vs strong relationships and 1-1 vs 1-m. I would hate to see more
buttons and more objects to click on and move around. If anything it should be a checkbox when editing the fk
field.

From deansofer on May 31, 2011 17:22:01
I was looking at the relationship rendering code. Random thought (as a temp potential solution):
What if you set the RELATION_THICKNESS to 1 for 1-1 relationships? I realized people may not like what I mentioned about discerning relationships, but since so many lines overlap (on complex layouts) it would be nearly impossible to see the individual icons. Not to mention the inherit difficulty in rending and controlling more lines.
So I started theorizing what if we just used our own stylistic key to tell the difference? You could use CSS for the elements to put an asterisk on one of the corners.
Like, if you have 1-m, set the class to the element to be m-tl which means the many relationship is in the top left corner of the element. Since all segments end in a corner, just position a background image accordingly.
However after further thought I realized that unlike MySQL Workbench, the lines consistently overlap each other and it would be impossible to tell which relationship the icon belongs to. So what if we just tried to address the 1 unique case I mentioned above (1-m vs 1-1)?
What if we setup a checkbox for the relationship to allow users to specify 1-1 (since I would think this is usually rarer). If the relationship is 1-1, make the RELATION_THICKNESS = 1. It would make it very easy to spot out which lines have this property.
I had other ideas like having double lines (harder) or more strict management of relationship colors too (easier).
Food for thought...

From ondrej.zara on March 29, 2013 06:31:41
Issue 171 has been merged into this issue.


Asking for the retrieval results & Question about the Recall@25 metric

Hi! Thanks for your great work and your code!
I have a question about the Recall@25 metric (the compute_retrieval_metrics function in entailment_retrieval.ipynb).
It seems that you calculate the recall by recall = tot_sent_correct / float(tot_sent):
$$
{\bf Recall} = \frac {\bf the\ number\ of\ TP(true\ positive)\ of\ all\ samples} {\bf the\ number\ of\ retrieved\ sentences\ of\ all\ samples}.
$$
However, I want to calculate the recall in the following way:
$$
{\bf Recall} = {\frac 1 N} \sum_{N\ {\bf samples}} \frac {\bf the\ number\ of\ TP\ of\ one\ sample} {\bf the\ number\ of\ retrieved\ sentences\ of\ one\ sample}.
$$
Could you please share your retrieval results (corresponding to the Table 1 in your paper)?
They would help me a lot since I can calculate my own recall metric.
def compute_retrieval_metrics(retrieved_sentences_lst, split = 'test', verbose = False):
    dataset = entail_dataset.data['task_1'][split]
    context_mapping = create_context_mapping(dataset)

    assert len(retrieved_sentences_lst) == len(dataset)

    tot_sent = 0
    tot_sent_correct = 0
    tot_sent_missing = 0
    tot_no_missing = 0
    tot_sent_not_in_wt = 0
    tot_missing_sent_height = 0
    tot_correct_sent_height = 0

    correct_retrieved_lst = []
    errors_lst = [] # in retreived but not in gold
    missing_lst = [] # in gold but not in retrieved

    for ret_sentences, dp_context_mapping, datapoint in zip(retrieved_sentences_lst, context_mapping, dataset):
        correct_retrieved = []
        errors = []
        for ret_sentence in ret_sentences:
            is_correct = False
            for mapping_texts in dp_context_mapping.values():
                if ret_sentence in mapping_texts.values():
                    is_correct = True
                    if mapping_texts['text'] not in correct_retrieved:
                        correct_retrieved.append(mapping_texts['text'])
                    if len(mapping_texts['wt_p_text_uuid']) < 2:
                        tot_sent_not_in_wt += 1
                    break
            if not is_correct:
                errors.append(ret_sentence)
        all_sents = [v['text'] for v in dp_context_mapping.values()]
        missing = list(set(all_sents) - set(correct_retrieved))

        correct_retrieved_lst.append(correct_retrieved)
        errors_lst.append(errors)
        missing_lst.append(missing)

        tot_sent += len(dp_context_mapping.keys())
        tot_sent_correct += len(correct_retrieved)
        tot_sent_missing += len(missing)
        tot_no_missing += 0 if len(missing) > 0 else 1

        missing_heights, _, _, _ = get_sents_height_on_tree(missing, datapoint)
        tot_missing_sent_height += sum([mh['height'] for mh in missing_heights])
        correct_heights, _, _, _ = get_sents_height_on_tree(correct_retrieved, datapoint)
        tot_correct_sent_height += sum([ch['height'] for ch in correct_heights])

        # if verbose and len(missing) > 0:
        if verbose and len(missing) > 0:
            hypothesis = datapoint['hypothesis']
            question = datapoint['question']
            answer = datapoint['answer']

            print('hypothesis', hypothesis)
            print('Q + A', question + ' -> ' + answer)
            print('=====')
            print('retrieved:', correct_retrieved)
            print('missing:', missing)
            print()

    recall = tot_sent_correct / float(tot_sent)  # <===== HERE!
    all_correct = tot_no_missing / float(len(dataset))
    avg_correct_sent_height = tot_correct_sent_height / (float(tot_sent_correct) + 1e-9)
    avg_missing_sent_height = tot_missing_sent_height / (float(tot_sent_missing) + 1e-9)
    print('recall:', recall)
    print('all correct:', all_correct)
    print('number of retrieved not in corpus:', tot_sent_not_in_wt)
    print('avg height of correct sentences:', avg_correct_sent_height)
    print('avg height of missing sentences:', avg_missing_sent_height)

    return recall, correct_retrieved_lst, errors_lst, missing_lst

Did you get the same results as the paper when you ran the entailment_retrieval.ipynb ?

Did you get the same results as the paper when you ran the entailment_retrieval.ipynb ?

I can't get the same results, it seems that the results worse that the baseline of the EntailmentWriter

No,I got a much worse result than baseline  of the EntailmentWriter, I think his paper data is falsified.
------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2023年4月25日(星期二) 下午2:04
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [amazon-science/irgr] Asking for the retrieval results & Question about the @.*** metric (Issue #2)
Did you get the same results as the paper when you ran the entailment_retrieval.ipynb ?
I can't get the same results, it seems that the results worse that the baseline of the EntailmentWriter
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

No,I got a much worse result than baseline  of the EntailmentWriter, I think his paper data is falsified.
…
------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年4月25日(星期二) 下午2:04 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [amazon-science/irgr] Asking for the retrieval results & Question about the @.*** metric (Issue #2) Did you get the same results as the paper when you ran the entailment_retrieval.ipynb ? I can't get the same results, it seems that the results worse that the baseline of the EntailmentWriter — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Hi! Could you find other method that could get a better result that the baseline?

我还以为你老外呢，比baseline更好的检索方法还没找到，咱俩加个微信聊吧，wxr199002


Feature request: new snippet suggestions setting (mix of inline and top)

Feature request: new snippet suggestions setting (mix of inline and top).
Not sure how to describe this one so I have a bunch of screenshots.
This is inline (default):

This is great for the method intellisense because I can see all the methods at the top, but it is slightly annoying because I want my function snippet to be the first result in the list, but here it is the second.
This is top:

This is better for my snippet because it is the first result as expected, however I get a bunch of other snippets before the methods which can be annoying.
What I'm really looking for is a new suggestion setting that would end up like this:

Methods are on top but snippets with the same name as whatever "function" is here is also on top.
Basically if a snippet has the same as another thing it should be at the top, otherwise it should be below. Hope it makes sense.

Would preferred be a suitable name for the new value of the setting?

Would preferred be a suitable name for the new value of the setting?

Preferred would be good!

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

I found a workaround, disabling editor.suggest.showKeywords will hide the (useless) function keyword at the top of the suggestion list. It wasn't very obvious that it was a keyword:

to the right it just says function instead of keyword.
After disabling show keywords I got this which is what I wanted:


Too many reconnects if lnd is unavailable

If lnd restarts for any reason peerswapd tries to reconnect as fast as it can which results in enormous amounts of logs and CPU load for no reason. These attempts should happen at least once in 5-10 seconds.

@rkfg please test #66 with your LND and report back.

Just checking to be sure, you're running #66, not master branch?

@nepet said he will look specifically at reconnect handling.

Is resolved by #117


Movement

moving works and also got more water working
essentially we are applying gerstner waves to the mesh so we can not have the shader
but the shader works of the gpu so maybe we should look into keeping it that way?
idk who cares boat go brrr

lol


Path is not being appended from .refine to custom errorMap

Hello
It looks like there is a problem with custom validation with refine method when the provided path elements are not being appended to the resulting path within a custom error map function.
I figured that it would be easier to demonstrate the issue with a screenshot and a live demo.
So on line 6 we have a custom validation that specifies additional path elements on validation failure.
On line 16 we print the passed path value to the console which is expected to be ["items", "items-too-few"] but we get ["items"]
In addition on line 37 we display the ZodError errors array which has the correct (expected) path elements.

Also, it looks like the error map function is not being called at all if the refine params object specifies message property, but that is a separate issue, let me know if I should open another one.
Thank you for the great library

Good catch! Thanks for the detailed writeup. I'll look into this as soon as I can.

error map function is not being called at all if the refine params object specifies message property

This is currently the intended behavior. Passing in a message there is designed to short-circuit Zod's built-in error message system.

This is currently the intended behavior. Passing in a message there is designed to short-circuit Zod's built-in error message system.

Ahh, got it, seems reasonable

Fixed in<EMAIL_ADDRESS>- and added as a test case :) 👍


database/sql: Stmt.Close() seem to ignore the error

What version of Go are you using (go version)?

$ go version

go version go1.14.1 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/user/tmp/go_example1/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build865698656=/tmp/go-build -gno-record-gcc-switches"

What did you do?

run this code https://play.golang.org/p/hiITqzSJ5O4
package main

import (
	"github.com/DATA-DOG/go-sqlmock"

	"database/sql"
	"database/sql/driver"
	"fmt"
)

func doSQL(connection *sql.DB) error {
	statement, err := connection.Prepare("INSERT INTO something (column) VALUES($1)")
	if err != nil {
		return err
	}

	defer func() {
		err := statement.Close()
		if err != nil {
			panic(err)
		}
	}()

	_, err = statement.Exec("")
	return err
}

func main() {
	connection, mock, err := sqlmock.New()
	if err != nil {
		panic(err)
	}
	defer connection.Close()

	mock.ExpectPrepare("INSERT").
		WillBeClosed().
		WillReturnCloseError(fmt.Errorf("close error")).
		ExpectExec().
		WillReturnResult(driver.ResultNoRows)

	if err := doSQL(connection); err != nil {
		panic(err)
	}

	// we make sure that all expectations were met
	if err := mock.ExpectationsWereMet(); err != nil {
		panic(err)
	}
}

What did you expect to see?
panic because of error
What did you see instead?
nothing
Comments
It seems that the issue is not in go-sqlmock, but in go because I run the debugger and found this function  https://github.com/golang/go/blob/master/src/database/sql/sql.go#L2701 being called and it returns nil and ignores error in v.ds.closeErr

Thank you for reporting this bug @Sergey1011010 and welcome to the Go project!
Kindly paging @kardianos to take a look.

@Sergey1011010 Thanks for the report.

Can you please provide a report without using sqlmock?
A sql.Stmt is actually a Stmt pool. It will only actually close the stmt pool if there are no stmt dependencies that need to leave it open.
In your example, you call doSQL(connection *sql.DB) error. I'm concerned with your naming, your concept might be incorrect. a *sql.DB isn't a connection, but a connection pool with zero or more connections held in it. Similarly, a *sql.Stmt may be prepared on one or more connections.
If you want to see a stmt error on close, first call *db.Conn(ctx), then call Prepare on the connection (not the pool), then you could close the connection, then close the stmt, in that order (I think).

A better design I think would be to separate out the Stmt from the stmt pool concept. But that would be impossible util a sql/v2.

@kardianos, many thanks for the explanation. If I use not pool, but real connection, the error does happen.

Can you please provide a report without using sqlmock?

Not sure how to make a real driver produce an error on Close statement.

I think I can consider this a  limitation of the current design, that may be worked around by using an explicit Conn. If you agree, please close.

OP probably agrees, I guess. Anyway no news for about a year, I think we can archive this.


Pangram Checker Program added

Why:
Closes #685
Closes #686
What's being changed:

A C program for pangram checking is added
A CPP program for pangram checking is added
README Updated.

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Hey @ssavi-ict
Thanks for your contributions to this project 👍🏻
This PR will be reviewed and merged shortly

https://codinasion.vercel.app/programme/pangram-checker


RBAC addon

This PR will add a RBAC addon.
When enabled, the kube-apiserver authorization-mode will be set to RBAC. Kubernetes will then automatically add all default (cluster-)roles and (cluster-)rolebindings.
When disabled, the authorization-mode will be reset to AlwaysAllow, and all the (cluster-)roles and (cluster-)rolebindings labeled kubernetes.io/bootstrapping=rbac-defaults will be removed.
This PR is based on feature/containerd-access at this time since it needs the added features of PR #323.
Todo:

~Add label when finding resources to delete.~
Provide warning if user is using insecure port as per comment from @ktsakalozos in #323.
~Add tests.~
~Disabling addin works first time, then fails.~

If this is of any help, here is how we smoketest RBAC on the Charmed Distribution of Kubernetes (CDK) https://github.com/juju-solutions/kubernetes-jenkins/blob/master/jobs/integration/validation.py#L125
Something similar should go into https://github.com/ubuntu/microk8s/blob/master/tests/validators.py

Hi @magne is this still a draft?

Is this still a draft?

LGTM +1 Thank you @magne. We will work on making addons rbac capable, perhaps in an on-demand fashion.


Using URLRequest.httpBodyStream can cause Violation of HTTP Spec

Description
When using URLRequest.httpBodyStream and specifying the Content-Length header, swift-corelibs-foundation's implementation of URLSession sends both the Content-Length and the Transfer-Encoding headers.
This seems to violate RFC 9112, Section 6.2, Content-Length:

A sender MUST NOT send a Content-Length header field in any message
that contains a Transfer-Encoding header field.

Steps to reproduce
As the reproduction of this issue is quite complicated, I created a repository with:

A (swift-nio) server rejecting malformed requests as described above,
An integration test to call this server via URLSession
An orchestration using docker compose that can be used to reproduce this behavior using a few command line invocations (see readme.md for details).

Expected behavior
Darwin's Foundation solves this issue by trusting and sending the Content-Length header (instead of Transfer-Encoding) along with the httpBodyStream (without applying the chunked transfer encoding).  swift-async-http-client seems to exhibit the same behavior.
I propose to have the current implementation of URLSession aligned with the implementations of Darwin's URLSession and swift-async-http-client.
Environment
Swift version 5.8.1 (swift-5.8.1-RELEASE)
Target: x86_64-unknown-linux-gnu

Hmmm, since this is about URLSession and corelibs the bug should probably be moved over there -- I'll do that.

Thanks a lot. 🙏 I originally wanted to file the bug on swift-corelibs-foundation, but then decided to do it on swift instead because of CONTRIBUTING.md:

You can use the Foundation component in the bug reporter if you know your bug is specifically about Swift Foundation.

Should I file another bug to update the file?


Add Java Spring Boot

#48  Add Support for java spring boot
DRAFT: Experienced problem with already existing theme (rely on uppercased key and return lowercased)
Checklist

[x] You have read the Contribution Guidlines before creating this PR.
[x] This is not a duplicate entry for any framework or language.

Description of change
Add Java Spring Boot demo for Login Radius

Description of the issue described:
Quoting the code from profile.js:
utility.setInnerText('profile_email', response.data.Email[0].Value);

The key is uppercased,
but the the identity given by getProfileByAccessToken in this file has lower cased key:
authApi.getProfileByAccessToken(accessToken, null, new AsyncHandler<>() {
     @Override
     public void onSuccess(Identity identity) {
         response[0] = new Response("success","Profile Fetched", identity);
     }
     [...]
}

Does anybody have an idea how to work with this ?

@romain325
You can refer to our Documentation and Demo for more information

@romain325
Please Add "Congigiure Demo " and "Running the Demo" section in your Readme file with Step by Step Process and it is good if you can add "prerequisites" too. For example you can checkout this and please verify demo once on your local too.

@romain325
Thanks for your contribution. I have tried to run your project but it is not in working condition. I can't see even an index page so please fix the same.

@ashish8947
I'm not able to reproduce your problem can you please bring me more information ?
There is no need of an index.html because we precise the path of the theme folder on the application.properties as a static resource location


Improve article 1905.00059

Exact location of issue
Table 1 here, originally rotated as a landscape page in PDF.
Problem details
At the least, we should have enough vertical height to fit a landscape table without overlapping adjacent paragraphs. An ugly overlap happens in this article.
At best, we could have (either as a post-processor, or client-side JS) a reflow alternative to landscape tables, as rotating the display is not a common UX pattern on the web. That could look like:

detect cases of tables rotated by 90 degrees, and mark them with a special class
lay the table out normally, without the rotation, and perform a check if it exceeds the allowed width
if the allowed width is exceeded, either do a horizontal scroll (the lazy approach) or present a summary of the table that expands to a full-screen 100% width table on wide displays on-click, or...
we need a solution that looks good on all display sizes, including small mobile devices, to the widest 30+ inch screens.

Some experimentation will be needed to get a sophisticated fix in place.

Resolved with the latest ar5iv-css v0.7.6.


Update README

Fixes #minor

Pull Request Test Coverage Report for Build 272625

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.006%) to 78.577%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Streaming/Payloads/StreamManager.cs
1
80.0%

/libraries/Microsoft.Bot.Connector.Streaming/Session/StreamingSession.cs
3
90.14%

Totals

Change from base Build 272614:
-0.006%

Covered Lines:
24729

Relevant Lines:
31471

💛  - Coveralls


Ensure that there are effective/helpful READMEs for AgStack repos

Create an informative issue (See each section)
Using the current documentation as a model, please complete the issue template.
Prerequisite: Start with what we have
Create a PR and receive review from maintainers
Describe the changes in the doc and link to your dev story
Provide info for the following steps:

[x] Mandatory Choose the repos that need to be updated:

[ ] agstack-landscape
[ ] asset-registry
[ ] asset-registry-fe --> front-end
[ ] autogeobound
[ ] MessageCast (Make improvements)
[ ] org-docs (Is this repo really needed? What other docs will we be placing here?)
[ ] pest-models (says Weather Models in the current README; needs to be updated to read Pest models)
[ ] weather-forecast
[ ] weather-server

Here is the link to the updated Jira issue: https://team-16705118030816.atlassian.net/browse/AG-23


Creating Multiple publisher

Hi,
I run the example with one publisher and it is working. I can read the message with micro_ros agent.
But when adding another publisher, the new publisher is not registered with micro_ros agent. rclc_publisher_init_default returns error at second publisher.
So How to create multiple publisher. And is it necessary to use executors with timer to publish or publish messages directly without using executors?
Thanks

Is the meta config for rmw_microxrcedds for mbed is not yet developed to configure max publisher,subscriber,node for mbed?

I changed the colcon meta config - increased the number of publisher subscribers. I still cannot create two publisher. Please could you tell what should be done after changing colcon meta file

Thanks that was really helpful


go vet asks us to change to change Tx{In, Out}.WriteTo signature

go vet says:
./tx.go:248:16: method WriteTo(w io.Writer) error should have signature WriteTo(io.Writer) (int64, error)
./tx.go:266:17: method WriteTo(w io.Writer) error should have signature WriteTo(io.Writer) (int64, error)

Unfortunately, this concerns TxIn and TxOut, which are both exported interfaces. We're therefore talking about an API change. Any thoughts, @rvagg and @mvdan?

This is a v0, so we can technically make this change.
Unfortunate that we weren't running vet from the start, and there isn't a way to "ignore" that case unless we just don't run vet at all.
I lean towards doing this, because we can as per semver, and because the few downstream users should be able to easily fix up their code. I also assume that vet in CI would be merged shortly after the fix above.


Kernel Error and GEM5 Unsupport

When I followed the instruction step by step, I met one error.
$ make -f test/Makefile all_emu
...
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
         Mounting FUSE Control File System...
         Mounting Kernel Configuration File System...
         Starting Apply Kernel Variables...
...

When I checked my service status, it seemed like good.
$ sudo systemctl status systemd-modules-load.service

● systemd-modules-load.service - Load Kernel Modules
     Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: enabled)
     Active: active (exited) since Thu 2023-01-05 10:17:16 CST; 10min ago
       Docs: man:systemd-modules-load.service(8)
             man:modules-load.d(5)
    Process: 403 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
   Main PID: 403 (code=exited, status=0/SUCCESS)

Jan 05 10:17:16 shenben-OptiPlex-5090-China-HDD-Protection systemd[1]: Finished Load Kernel Modules.
Jan 05 10:27:16 shenben-OptiPlex-5090-China-HDD-Protection systemd[1]: /lib/systemd/system/systemd-modules-load.service:32: Unknown section 'INSTALL'. Ignoring.

Can the error be ignored or is there any problem with my simulation settings?
Besides,I got the warings "kvm-x86: MSR (XXX) unsupported by gem5" when I executed the Boot System with the Simulator (kvm) and Simulate function. Are these warnings expected/acceptable or is there any problems to fix?
build/X86/dev/x86/pc.cc:117: warn: Don't know what interrupt to clear for console.
build/X86/arch/x86/kvm/x86_cpu.cc:527: warn: cs limit (0xffffffff) and g (0) combination is illegal.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x3a) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xd90) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x309) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x30a) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x30b) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x38d) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x38e) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x38f) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x390) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc1) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc2) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc3) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc4) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc5) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc6) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc7) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc8) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x186) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x187) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x188) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x189) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x18a) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x18b) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x18c) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x18d) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x12) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x11) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d01) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d00) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000000) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000001) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000020) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000021) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000022) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000023) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000100) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000101) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000102) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000103) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000104) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000105) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000003) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000002) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000010) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000080) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000b0) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000073) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000106) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000107) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x40000108) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000ff) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000f1) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000f2) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000f3) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000f4) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x400000f5) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d02) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d03) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d04) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d06) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d07) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x3b) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x6e0) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x10a) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x345) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x1a0) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4d0) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x9e) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x34) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xce) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x140) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x1fc) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x8b) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x480) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48d) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48e) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48f) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x490) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x485) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x486) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x488) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48a) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48b) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x48c) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x491) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0xc0010015) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:1561: warn: kvm-x86: MSR (0x4b564d05) unsupported by gem5. Skipping.
build/X86/arch/x86/kvm/x86_cpu.cc:527: warn: cs limit (0xffffffff) and g (0) combination is illegal.
build/X86/arch/x86/kvm/x86_cpu.cc:527: warn: cs limit (0xffffffff) and g (0) combination is illegal.

My CPU is :
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           167
Model name:                      11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz
Stepping:                        1
CPU MHz:                         2500.000
CPU max MHz:                     4900.0000
CPU min MHz:                     800.0000
BogoMIPS:                        4992.00
Virtualization:                  VT-x
L1d cache:                       384 KiB
L1i cache:                       256 KiB
L2 cache:                        4 MiB
L3 cache:                        16 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Retbleed:          Mitigation; Enhanced IBRS
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Enhanced IBRS, IBPB conditional, RSB filling
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constan
                                 t_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse
                                 3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invp
                                 cid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f
                                 avx512dq rdseed adx smap avx512ifma clflushopt intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_not
                                 ify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm md_
                                 clear flush_l1d arch_capabilities

My Memory is:
MemTotal:       16102364 kB
MemFree:         1435064 kB
MemAvailable:    7174060 kB
Buffers:          197940 kB
Cached:          6370328 kB
SwapCached:           20 kB
Active:          2692852 kB
Inactive:       10874228 kB
Active(anon):     115556 kB
Inactive(anon):  7741472 kB
Active(file):    2577296 kB
Inactive(file):  3132756 kB
Unevictable:      279916 kB
Mlocked:              36 kB
SwapTotal:       2097148 kB
SwapFree:        2094820 kB
Dirty:              1124 kB
Writeback:             0 kB
AnonPages:       7278812 kB
Mapped:           714544 kB
Shmem:            860656 kB
KReclaimable:     371544 kB
Slab:             547108 kB
SReclaimable:     371544 kB
SUnreclaim:       175564 kB
KernelStack:       27024 kB
PageTables:        52840 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    10148328 kB
Committed_AS:   19836040 kB
VmallocTotal:<PHONE_NUMBER>7 kB
VmallocUsed:       49676 kB
VmallocChunk:          0 kB
Percpu:            14592 kB
HardwareCorrupted:     0 kB
AnonHugePages:     90112 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      312780 kB
DirectMap2M:     9891840 kB
DirectMap1G:     7340032 kB

And gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
Looking forward to your reply.

Hey @shenben
Thanks for your interest and the questions!
Those errors/warnings can be ignored.
We don't need that specific kernel module.
Also the kvm warnings are ok. I get the same warnings and I suppose that kvm is still in a rather early state of gem5.
However it does not affect my simulations.
Do you encounter any other problems?

Thank you so much for your reply .


The plugin file_saver requires your app to be migrated to the Android embedding v2.

Hi, have you migrated your app to android embedding v2? because this plugin has been on android embedding v2 since the beginning, I'll almost have to recreate the whole thing just for android embedding v1

Solved issue, i believe this was due to upgrading to a new flutter packages. The app is currently using an pre flutter 2 version and hasn't migrated to 2 alongside all the packages.
Thanks!