#Trying to replace the Lenovo Smartclock Essential (guts)

1 messages ยท Page 1 of 1 (latest)

hard orchid
#

Hi all! Like, it seems, many others here, as well, I'm trying to go big-cloud-free.

A lot of things are already working, but there is one device which just seems irreplaceable so far, my Lenovo Smartclock Essential. It's quite old, but a wonderous little thing with beautiful industrial design and far better sound quality than one would expected given the small size. Every once in a while, one still crops up on places like Craigslist. I actually bought a second one just to tear down and look into hacking it. If anyone is interested, a chap called Brian Dipert wrote an amazingly in-depth tear-down article (https://www.edn.com/teardown-dissecting-lenovos-smart-clock-essential-a-non-google-google-assistant/) on it.

Trying (and failing) to understand https://haxx.in/posts/dumping-the-amlogic-a113x-bootrom/, it seems that replacing the factory-flashed OS is likely not going to happen. A shame, both because of the existance of https://docs.u-boot.org/en/latest/board/amlogic/s400.html as well as how well-suited that chip is to dealing with far-field mics.

Anyhow, the good news is that the periphery on the front PCB seems usable with a bit of reverse engineering work, and there's enough space inside the enclosure for fitting one's own hardware inside, perhaps something like a Raspberry Pi Pico for easier interfacing with the clock part, plus a Zero 2 W (with added U.FL connector for making use of the excellent antenna built into the Smartclock Essential). I've begun working on that hardware part and feel confident it can be done.

Edit: as I just learned, microWakeWord has a built-in, nicely working "STOP" wakeword which is exactly how the Lenovo device works; once an alarm goes off, it keeps going until you say "stop".

If anyone else has one of these, I'd love to hear from you and exchange ideas!

#

Trying to replace the Lenovo Smartclock Essential (guts)

woven fog
#

STOP is already set as an extra "wakeword". It can be used to stop timers, and to make the VPE stop processing your command or outputting the response

hard orchid
#

Oh wonderful! I don't understand why it didn't work the first time I tried it. Just did so again with my Koala and it worked wonderfully. Will edit the original post. Thank you, TheFes!

woven fog
#

I don't think it works to stop media playback though, and as there is no alarm support for intents yet I don't think you can stop an alarm with just Stop

vernal knot
#

Like, expose switch that will allow "stop" word to stop media player.

#

(which is basically happening for timers, but is done completely inside of PE)

hard orchid
vernal knot
hard orchid
#

I do remember you from when you helped me get it working ๐Ÿ™‚

#

So "try and expose a switch to turn stop word on" ... that would be done through that absolutely gigantic YAML file you wrote (koala-base.yaml)? I tried making changes to that just to understand it a little, but gave up.

vernal knot
hard orchid
#

in terms of response time, etc. that would be wonderful. not sure what it would mean regarding the "mobility" of alarms. i can totally imagine leaving the room but still needing the alarm. more important with notifications about appointments, though.

vernal knot
hard orchid
#

Doing it locally on the device but informing the system about it in case it wants to act on it, that sounds like the best solution and the right thing to do!

hard orchid
vernal knot
# hard orchid I googled custom intents and it seems to be an Android thing. Perhaps not only? ...

I meant intent scripts https://www.home-assistant.io/integrations/intent_script/
Well, HA is open source, and it's mostly platform for users to do what they want. Basically every time HA devs avoid to dictate how to do certain things, make some abstract platform, wait for community to come out with convenient solution - and make it official. It's great way, just a bit slow sometimes. ๐Ÿ™‚
I'll try to share, but if you know nothing about custom intent scripts, it will be hard to reproduce. Unfortunately I don't have much time to educate from scratch.

On the alarm - I started working on it already. Well, I almost finished actually - but I bumped the wall. I realized that ESPHome doesn't take time zone from Home Assistant - that means if you set alarm, say, to 7:00, it might trigger at 7:00 UTC, instead of your time zone... And there's no simple way to fix that.

Home Assistant

Instructions on how to setup scripts to run on intents.

hard orchid
#

sounds like the ESPHome people should be involved in that

#

thanks for the info on intent scripts

#

that actually looks like something i will want to learn

vernal knot
hard orchid
#

ouch, i hope your C++ is good ๐Ÿ™‚

vernal knot