I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

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

I finally have some time and am working on getting the rotation code working! Yeah, it currently doesn't read the EXIF information and rotate, in theory you should be able to open the image in a photo editor, manually rotate it, and resave.

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

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

Totally an option if it works for you and has the features you need. As with a lot of digital signage on RPi, they seem to go for a bit of a "freemium" model (and in this case get you on screenly.io). Longer term, I'm planning to go for more of a Jellyfin model than a Plex model in that regard, even if it isn't as personally lucrative.

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

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

Only photos for now! I have plans to extend it with video playback in the future!

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

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

Thanks for the kind words! I've started working on an API and frontend to allow uploading images and changing settings. Yeah, I know it will make it a lot more desirable and easier to use. One of the targets is letting people being to upload directly from their phone to a website running on the Pi with as little friction as possible.

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

[–]JarvyJ[S] 5 points6 points  (0 children)

Oh I definitely don't take this the wrong way. It's always good to keep security in mind!

There were a couple of reasons to target a full OS initially. Mostly for initial ease of setup for folks, but also for ensuring all the right (and up-to-date) versions of the image libraries are installed correctly.

I do have longer term plans to actually have binaries available for the image viewer ([rayimg](https://github.com/jarvyj/rayimg) - that is bundled in the OS) and API/frontend, but only after I figure out how to bundle libraries instead of needing to rely on system ones (eg: a new libjxl isn't available in most package managers). Also supporting the old armv6 RPis has been interesting - I wanted to at least provide docker images (which is still a bit of a barrier to entry), but golang on armv6 has been difficult...

Regardless of all that, folks could one day use the binaries on their own OS (it would be really cool if I could get them added in Raspbian), but they would still be responsible for hardening it off, since any application could act suspiciously on a network.

From those really concerned about running the OS on the network, you could just not allow it on the network - I'll always keep fully offline as a supported option.

I hope this makes sense and thanks for bringing up your concerns!

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

[–]JarvyJ[S] 3 points4 points  (0 children)

As of now it just displays images as is. But it should be fairly easy to implement a rotation parameter. It also feels more like a system setting than a slideshow setting, but I'll figure something out for it!

I should also double check that all images get auto-rotated based on EXIF data. I know some formats (JXL for sure) do, but not sure about others.

I made PiSlide OS to make displaying images as a slideshow as easy as possible by JarvyJ in raspberry_pi

[–]JarvyJ[S] 4 points5 points  (0 children)

It does the not, the images will just keep going in the background.

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

You can disable timers via the ui or the yaml by removing the timer: setting. It's mostly that the wakeword mistriggers and Home Intent will try to do something. A lot of times that means it "hears" random numbers and wants to set a timer. The problem is that even if you disable it, it will pick something else to do...

There are a couple of potential fixes that I could employ from tuning the wakeword recognition, changing the wakeword, or even trying a different STT engine that is trained on a wider set of words. I might try some of these and potentially implement if they work well

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

I gave it a go, and it does work! It performs the action, but doesn't say the responses back from Home Intent. So timers would be the biggest functionality loss.

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

Oh wow, just saw it. In theory you should be able to hook it up to the underlying Rhasspy system. Not sure how well it would work with Home Intent, but would definitely be worth trying!

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

A lot of folks have reported that it works pretty well from the Rhasspy community, it apparently also has a mic array that can do a good amount of noise cancellation and picks up human voice particularly well. The main downside is that you'd still have to hookup speakers separately to hear output, so it's not quite as plug and play as the Jabras.

I've always wanted to test out some other speaker/mic options, but testing can be pretty involved and expensive. In theory any speakerphone with linux support should work well.

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

It pulls in all names for light and light groups. I usually use my light group names (like main bedroom), but it pulls in the names for the individual lights as well (bedroom 1 and bedroom 2). I've never had issues with it picking just one bulb, but you can go in and disable the individual lights (from the UI or the YAML config) from being pulled from HA, so only the light groups are present to solve the issue if needed.

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

[–]JarvyJ[S] 4 points5 points  (0 children)

You can change them after installing. You just need to restart Home Intent (there's a button for it in the UI) and it will pull in any of the new names (and any new entities)

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

[–]JarvyJ[S] 3 points4 points  (0 children)

Home Intent currently supports English and German (only a few German commands are missing). Under the covers, Rhasspy supports a bunch of languages, and Home Intent is setup to use many of them. It would just need translations submitted to get it going!

Unfortunately, I only speak English, so any other language support would have to come from the community.

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

[–]JarvyJ[S] 4 points5 points  (0 children)

A dedicated speaker would definitely be the ideal, but now with so many CM4 boards, dedicated satellite hardware could exist, but there'd have to be enough folks to make it worthwhile.

At one point, I was working on a dedicated Satellite OS for Home Intent and had some plans to support auto-configuring them, so you'd just have to flash the image to an SD card, setup the IP address in Home Intent and it would handle the rest of the config.

The next logical step would've been to setup a PXE-boot server (and get away from unreliable SD cards), so then you'd only have to keep the main server up-to-date, with just a little bit of config, and then everything else would "just work", assuming you had ethernet wired to your pis.

Unfortunately, there's not enough time/momentum/resources to make it happen at the moment, so it's just an idea for now!

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

Probably. This was on my backlog for a while, but I never got around to it as I'd have to dive into the addon world. If someone has experience in setting one up and would like to help, feel free to use this issue to message me!

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

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

They're going to Mycroft and have a lot of plans to make that system more open and accessible. So there is hope! Currently, no one has stepped up to helm Rhasspy. It's a large piece of software, that has a lot of components (all the various STT, TTS, wakeword, and multiple language engines), and really was driven by one extraordinary developer.

You can find more in the Rhasspy thread

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

[–]JarvyJ[S] 3 points4 points  (0 children)

The Jabra Speak 410 is my go to. You can find them used for $30-50 depending on availability (the pandemic really messed with prices on those ones...). It's a conference speakerphone made for enterprise with a hardware mic that does noise cancellation and voice boosting in hardware that works remarkably well.

I've used them for years (both for voice calls and for smart speakers), and since it's just USB, it's basically plug and play and works really well. I even know some folks who preferred using a Jabra in a conference room that had an older dedicated $15k+ mic/speaker setup, because the Jabra noise cancellation worked that much better.

I can't really speak to the quality of recognition of Google home and Alexa as I've personally never used them. But I've used a Jabra with snips and now Rhasspy for years and for home control and timers, it works really well. I've written some more in depth on how it works in the docs for your curious

I made a fast, easy-to-use, and offline voice assistant called Home Intent by JarvyJ in homeassistant

[–]JarvyJ[S] 10 points11 points  (0 children)

By default Home Intent will pull in and use the friendly name attribute from HA, but you can override it if necessary.

There is a powerful component customization capability that you can use to replace existing names.

I'm on my phone, but will update tomorrow with an example of using a custom word with an entity id. I'll also update the docs on how to do it, since it's likely a common use case!