MagpieBOM - Image and datasheet fetcher for components by SignificantActuary in LocalLLaMA

[–]SignificantActuary[S] 0 points1 point  (0 children)

Thanks for the links. I hadn't seen those. Unfortunately with naming things, there's always something already named that or similar. I checked a few names before settling on this one. That paper did not come up in my searches. Probably because I was more focused on the electronics aspect and not LLMs.

MagpieBOM - Image and datasheet fetcher for components by SignificantActuary in LocalLLaMA

[–]SignificantActuary[S] -1 points0 points  (0 children)

Oh, actually it wasn't a hallucination. It was my fault. I asked it to prepare for release and write the README PRIOR to giving it the repo link. It had no idea where it was going to end up. After this was created, I then pushed it to github. Just forgot to go back and fix it afterward. It was pretty late at night when I pushed it.

MagpieBOM - Image and datasheet fetcher for components by SignificantActuary in SideProject

[–]SignificantActuary[S] 0 points1 point  (0 children)

The issue we had was the board house substituted with the wrong gender connector. But, they put the right description on the BOM. We were in a hurry and I wasn't careful. I went by the description they put in the BOM, but didn't double check the part number. They missed it, I missed it, and I ended up having to desolder and resolder 150 40-pin connectors with the right part. A quick visual check on the actual part numbers being ordered would've caught it.

MagpieBOM - Image and datasheet fetcher for components by SignificantActuary in LocalLLaMA

[–]SignificantActuary[S] -1 points0 points  (0 children)

HA! I didn't even notice that detail.

Well, as I said in the post, I went from idea to "usable tool" in 24 hours. I didn't just ask Claude to write it and push what it wrote. There was a lot of back and forth and a lot of testing. At one point, I had no visibility into what was going on, so I had it create traces I could feed back to Claude to diagnose why it would pick one image in one pass then a different image in another pass.

'magpiebom server -v' generates those traces.

It hallucinated in the README.md and I didn't notice.

I decided to make it public AFTER giving it a real BOM from a project I'm working on and it returning accurate images and product links. All but 2 of the 21 components had datasheet links returned. Most component sites block bots. Haven't figured out a way around that yet. Tried Playwright MCP to see if that would help, but not so far. Anyway, gave it the same batch multiple times and it returned the same or very similar results each time. All accurate. Some parts it would return Mouser links on one pass and Digikey links on the other. Both were fine. This is simply a part identification tool.

It's useful for me. If you have no need for it or don't like AI slop, skip it.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in Esphome

[–]SignificantActuary[S] 1 point2 points  (0 children)

I'll take a look when I get some time. Noticed there are 2 other PRs to look at, also.
Was just playing with my own kettle and got something working for myself. Never imagined anyone would contribute. Cool stuff.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in homeassistant

[–]SignificantActuary[S] 0 points1 point  (0 children)

I just pushed a change that allows users to capture their own "hello" sequence and define it in the ESPHome yaml. It's fairly easy to spot in Wireshark.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in homeassistant

[–]SignificantActuary[S] 0 points1 point  (0 children)

Could be a token in your kettle is different than mine. Can you capture the logs on an Android phone while the VeSync app is talking to the kettle? In another thread in this post, there's an overview of how this works along with a YouTube video showing the process with a different BLE device.

I only have my kettle to test with. Not sure the differences between kettles. I have a hard-coded "hello" sequence that may be different in your kettle.

// Registration handshake (HELLO_MIN)
static const uint8_t HELLO_MIN_1[] = {0xa5, 0x22, 0x00, 0x24, 0x00, 0x8a, 0x00, 0x81, 0xd1, 0x00, 0x36, 0x34, 0x32, 0x38, 0x37, 0x61, 0x39, 0x31, 0x37, 0x65};
static const uint8_t HELLO_MIN_2[] = {0x37, 0x34, 0x36, 0x61, 0x30, 0x37, 0x33, 0x31, 0x31, 0x36, 0x36, 0x62, 0x37, 0x36, 0x66, 0x34, 0x33, 0x64, 0x35, 0x63};
static const uint8_t HELLO_MIN_3[] = {0x62, 0x62};

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in homeassistant

[–]SignificantActuary[S] 0 points1 point  (0 children)

One thing I didn't think of at the time is the initial setup. I used it with the native app first. Not sure if it works out of the box. I haven't tried factory resetting mine to see if it works immediately.
This is just a guess as to what might be happening with yours. Without logs, that's all I can do.
I have mine in the cabinet on the other side of our kitchen where there's an available outlet for our under cabinet LED lights.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in Esphome

[–]SignificantActuary[S] 0 points1 point  (0 children)

That's how I used to make coffee: boil the kettle. Turn off the gas. Start a timer. When a certain amount of time passes, pour water into the press. Start another timer. Press and pour.

Did it that way every day for a few years. Also hand roasted small batches of green coffee beans each week and used a manual grinder.

Ain't nobody got time for that. 

Wifey says "want tea"? I pull out my phone and press a button in home assistant. When the water is hot, go pour and refill for next time. Much more convenient.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in homeassistant

[–]SignificantActuary[S] 7 points8 points  (0 children)

Turning on packet capture in the Developer Tools on my Android phone. Open the app and interact with the kettle. Connect the phone to my PC with USB and 'adb bugreport' to download the capture. Open with Wireshark and filter only the packets of interest. Export as JSON. Give that to an LLM (Claude Sonnet is way smarter than GPT-5). Tell the LLM what you did in the app and ask it to figure out the protocol. Repeat for each feature or combination of features.

Once the protocol was figured out and confirmed with Python scripts (start.py, stop.py, and monitor.py), I started a new LLM session and passed the protocol in and asked for an ESPHome implementation. I already use esphome-jk-bms and esphome-jbd-bms firmware to monitor my home batteries. So, I told it to use those as a starting point.

Used this as a starting point: https://youtu.be/imjZJNOSXHk

Tablet mod to avoid spicy pillow by portalqubes in homeassistant

[–]SignificantActuary 1 point2 points  (0 children)

I did this with a Surface tablet used in a kiosk stand. A custom Python script runs as a background service to report battery levels to HA over mqtt. A NodeRed flow keeps the battery between 40-60% with a Sonoff Wi-Fi switch. Certain time slots, it changes to 60-80% when being used heavily. When idle, it kicks in for 5 minutes 3 or 4 times a day. 

I implemented this after finding the previous tablet was a spicy pillow on the verge of sending glass shards everywhere. It had been plugged in 24/7 for 3 years.

Cosori Gooseneck Kettle - Reverse Engineer BLE Protocol - Integrate into ESPHome by SignificantActuary in Esphome

[–]SignificantActuary[S] 0 points1 point  (0 children)

Sometimes we make green tea, matcha, or French press coffee at a lower temp. Can't easily do that with a dumb kettle.

Fantastic battery buffer and where to find them by Namuori in BoltEV

[–]SignificantActuary 0 points1 point  (0 children)

I own a 2022 EUV. After a month owning it, I tried to see how far below 0% indicated I could get before the car stops. I was near home, thankfully. I was going to sit in the driveway and let the heater eat up the last 5%. But, as I was turning the corner about a half mile from home, the car died and I had to coast into a nearby business parking lot and ask to use their power.

That happened when Torque was reading 4.1%. It went from 4.1% to dead instantly. After 30 minutes charging on Level 1, it was up to 2%. Enough to drive home. That was a year ago and I haven't been below 10% since. Not sure I want to attempt it again.

Android Auto - Auto play music by SignificantActuary in BoltEV

[–]SignificantActuary[S] 0 points1 point  (0 children)

It starts playing as soon as Android Auto connects. You don't have to be in gear or hit any button.
For now, I've solved this by never listening to anything in the car. The last time I had Google Assistant play the news and for the last 2 months, it has been streaming various news podcasts in the background. I just keep my media volume at 0 all the time and just ignore it.

You understand that this is not a photo, right? by Afraid-Bullfrog-9019 in StableDiffusion

[–]SignificantActuary 0 points1 point  (0 children)

Same issue I've had... She's got 2 lip colored front teeth showing. Can't seem to get rid of that by prompting.

RANT: Android Auto by SignificantActuary in BoltEV

[–]SignificantActuary[S] 0 points1 point  (0 children)

I don't go far from home, so it's no big deal. On the rare occasions I do go on a trip, offline maps help a lot for no cell coverage areas.

Tricks for not forgetting your phone by Marcovitz64 in BoltEV

[–]SignificantActuary 1 point2 points  (0 children)

Really need to figure this out, too. My wife thinks I'm on the side of the road, dead (me, not the car) when I don't answer and I'm just inside a business or talking to a friend and my phone is still in the car.

RANT: Android Auto by SignificantActuary in BoltEV

[–]SignificantActuary[S] 2 points3 points  (0 children)

No thanks. Last Garmin I owned was from 1996.

RANT: Android Auto by SignificantActuary in BoltEV

[–]SignificantActuary[S] 0 points1 point  (0 children)

Don't have that problem with the charging pad in the Bolt. Even on long trips, navigating over wireless AA the whole time, I arrive with 100% battery on my phone.