I just installed this a couple days ago and already used it twice. It’s super easy and convenient.
I just installed this a couple days ago and already used it twice. It’s super easy and convenient.
All of these replies made me feel a little bit better, but yours especially resonated with me. Thanks.
Can you try killall ssh
on the client, and then try to ssh into the rpi again?
Social media is not the place to request or trust legal advice. What I’m requesting here is people’s experiences.
FYI, there’s also https://github.com/walkxcode/dashboard-icons ?
Its not an “icon font”, but it’s a good source of icons.
Is this a good use case for peertube? Spin up an instance or join an instance, and upload the video there?
Thanks for the help and suggestions!
It turns out that my template Debian VM doesn’t have a DE in it, and that’s why I couldn’t forward the GUI from the VM to my local machine: there was not GUI. I installed XFCE on the VM and now I can run XPipe on the VM from my local computer, without XPipe being installed on my local computer: ssh -X user@vm_ip_address xpipe open
I look forward to playing with XPipe - it looks cool and very helpful!
I host a bunch of containers on a few servers, but I don’t do any of it from my local computer. I have a VM (Debian) that I ssh into and do everything from there. Shouldn’t XPipe work the same on that VM as it would on my local computer? I wouldn’t think XPipe would care (or know) if it was running on a VM, as long as that VM has a shell it can integrate with.
But I suppose even if that’s true and XPipe works fine in the VM, there is still the issue of displaying the GUI on my local computer.
This seems really cool and might be very helpful to me, but I don’t want to install it on my computer. I don’t see a docker image for it, though it seems like it would be easy to create one; but this is a GUI app, so how would I run it in a container somewhere and use it via the GUI on my local computer? Or if I install it in its own VM (I use Proxmox), I’d have to use a remote desktop app like vlc or something, right?
I’m a noob at this so there’s tons I just don’t know.
Bitwarden does have address fields, and it also had custom fields so you can define any field you want (SSN, etc).
It may not be a good thing to store such info there, but my question is about what happens when you do store that info.
Also, it’s possible to have a login/password for a site but not give them your address, etc.
Same here. I get slightly frustrated by seeing the same post on multiple instances, but I understand why people do it.
When I want to interact with a post, I start with the one that has more responses, and maybe never even get to the others.
This is really fascinating. I’m on this journey, too, and do a lot that’s similar, but I’ve not heard of some of what you do/use and some of it sounds beyond my capabilities.
Well, I wasn’t able to figure this out and was just living with duplicate audio coming from the echo and the media player mostly simultaneously. But today I upgraded ESPHome from 2024.6.6 to 2024.7.0 and the problem is gone. Sheesh! :)
I’m trying to deGoogle/deFAANG/deBigData so I try to host FOSS alternatives to every service I use on the internet, though some services won’t be possible or practical (e.g., email).
I host:
I use the d.rymcg.tech framework. It’s a little over my head, but the framework makes it pretty easy to use all the apps. It’s a bit tricky to add new apps to the framework, but it’s fun and all the source is there to learn from and the developer is really nice and really helpful.
Thirded. I self-host it (actually the Vaultwarden fork) and use it on desktop browsers, as a desktop app, and as and Android app (F-Droid). I also store secure notes in it (e.g. end of life instructions for my partner). Very powerful and versatile, and AFAICT, secure.
That sounds crazy, but easy to test. Thanks for the suggestion.
I use Solokeys. Didn’t know they were defunct. I just bought another from then a month or so ago. I use it for MFA, ssh, and sudo, and I’m trying to config Kubuntu login screen to require solokey but no luck yet.
I like solokeys, but the one I recently bought has NFC and, technically, my pixel7 running GraphenreOS can detect the device, but it doesn’t work. Many people reported this issue. In my experience, NFC is non-functional.
FYI, here’s the config yaml I’m copy-pasting for all my Echos. The only thing that changes are in the “substitutions” section:
substitutions:
name: m5stack-echo-kitchen
friendly_name: M5Stack Atom Echo - Kitchen
media_player: kitchen_speaker
encryption_key: !secret kitchen_encryption_key
speaker_i2s_dout_pin: "GPIO21"
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
project:
name: m5stack.atom-echo-voice-assistant
version: "1.0"
min_version: 2024.6.0
esp32:
board: m5stack-atom
framework:
type: esp-idf
api:
encryption:
key: ${encryption_key}
ota:
- platform: esphome
id: ota_esphome
dashboard_import:
package_import_url: github://esphome/firmware/voice-assistant/m5stack-atom-echo.yaml@main
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
on_connect:
- delay: 5s # Gives time for improv results to be transmitted
- ble.disable:
on_disconnect:
- ble.enable:
ap:
improv_serial:
esp32_improv:
authorizer: none
button:
- platform: factory_reset
id: factory_reset_btn
name: Factory reset
i2s_audio:
- id: i2s_audio_bus
i2s_lrclk_pin: GPIO33
i2s_bclk_pin: GPIO19
microphone:
- platform: i2s_audio
id: echo_microphone
i2s_din_pin: GPIO23
adc_type: external
pdm: true
speaker:
- platform: i2s_audio
id: echo_speaker
i2s_dout_pin: ${speaker_i2s_dout_pin}
dac_type: external
mode: mono
voice_assistant:
id: va
microphone: echo_microphone
speaker: echo_speaker
noise_suppression_level: 2
auto_gain: 31dBFS
volume_multiplier: 2.0
on_listening:
- light.turn_on:
id: led
blue: 100%
red: 0%
green: 0%
effect: "Slow Pulse"
on_stt_vad_end:
- light.turn_on:
id: led
blue: 100%
red: 0%
green: 0%
effect: "Fast Pulse"
on_tts_start:
- light.turn_on:
id: led
blue: 100%
red: 0%
green: 0%
brightness: 100%
effect: none
on_tts_end:
- homeassistant.service:
service: media_player.play_media
data:
entity_id: media_player.${media_player}
media_content_id: !lambda 'return x;'
media_content_type: music
announce: "false"
on_end:
- delay: 100ms
- wait_until:
not:
speaker.is_playing:
- script.execute: reset_led
on_error:
- light.turn_on:
id: led
red: 100%
green: 0%
blue: 0%
brightness: 100%
effect: none
- delay: 1s
- script.execute: reset_led
on_client_connected:
- if:
condition:
switch.is_on: use_wake_word
then:
- voice_assistant.start_continuous:
- script.execute: reset_led
on_client_disconnected:
- if:
condition:
switch.is_on: use_wake_word
then:
- voice_assistant.stop:
- light.turn_off: led
on_timer_finished:
- voice_assistant.stop:
- switch.turn_on: timer_ringing
- wait_until:
not:
microphone.is_capturing:
- light.turn_on:
id: led
red: 0%
green: 100%
blue: 0%
brightness: 100%
effect: "Fast Pulse"
- while:
condition:
switch.is_on: timer_ringing
then:
- lambda: id(echo_speaker).play(id(timer_finished_wave_file), sizeof(id(timer_finished_wave_file)));
- delay: 1s
- wait_until:
not:
speaker.is_playing:
- light.turn_off: led
- switch.turn_off: timer_ringing
- if:
condition:
switch.is_on: use_wake_word
then:
- voice_assistant.start_continuous:
- script.execute: reset_led
binary_sensor:
- platform: gpio
pin:
number: GPIO39
inverted: true
name: Button
disabled_by_default: true
entity_category: diagnostic
id: echo_button
on_multi_click:
- timing:
- ON for at least 50ms
- OFF for at least 50ms
then:
- if:
condition:
switch.is_on: timer_ringing
then:
- switch.turn_off: timer_ringing
else:
- if:
condition:
switch.is_off: use_wake_word
then:
- if:
condition: voice_assistant.is_running
then:
- voice_assistant.stop:
- script.execute: reset_led
else:
- voice_assistant.start:
else:
- voice_assistant.stop
- delay: 1s
- script.execute: reset_led
- script.wait: reset_led
- voice_assistant.start_continuous:
- timing:
- ON for at least 10s
then:
- button.press: factory_reset_btn
light:
- platform: esp32_rmt_led_strip
id: led
name: None
disabled_by_default: true
entity_category: config
pin: GPIO27
default_transition_length: 0s
chipset: SK6812
num_leds: 1
rgb_order: grb
rmt_channel: 0
effects:
- pulse:
name: "Slow Pulse"
transition_length: 250ms
update_interval: 250ms
min_brightness: 50%
max_brightness: 100%
- pulse:
name: "Fast Pulse"
transition_length: 100ms
update_interval: 100ms
min_brightness: 50%
max_brightness: 100%
script:
- id: reset_led
then:
- if:
condition:
- switch.is_on: use_wake_word
- switch.is_on: use_listen_light
then:
- light.turn_on:
id: led
red: 100%
green: 89%
blue: 71%
brightness: 60%
effect: none
else:
- light.turn_off: led
switch:
- platform: template
name: Use wake word
id: use_wake_word
optimistic: true
restore_mode: RESTORE_DEFAULT_ON
entity_category: config
on_turn_on:
- lambda: id(va).set_use_wake_word(true);
- if:
condition:
not:
- voice_assistant.is_running
then:
- voice_assistant.start_continuous
- script.execute: reset_led
on_turn_off:
- voice_assistant.stop
- lambda: id(va).set_use_wake_word(false);
- script.execute: reset_led
- platform: template
name: Use listen light
id: use_listen_light
optimistic: true
restore_mode: RESTORE_DEFAULT_ON
entity_category: config
on_turn_on:
- script.execute: reset_led
on_turn_off:
- script.execute: reset_led
- platform: template
id: timer_ringing
optimistic: true
internal: true
restore_mode: ALWAYS_OFF
on_turn_on:
- delay: 15min
- switch.turn_off: timer_ringing
external_components:
- source: github://pr#5230
components:
refresh: 0s
- source: github://jesserockz/esphome-components
components: [file]
refresh: 0s
file:
- id: timer_finished_wave_file
file: https://github.com/esphome/firmware/raw/main/voice-assistant/sounds/timer_finished.wav
logger:
~/git/vendor/<gitUser>/<repo>
and
~/git/<myName>/<forge>/<user>/<repo>
Examples:
~/git/vendor/EnigmaCurry/d.rymcg.tech ~/git/mike/forgejo/mikew/myproject ~/git/mike/github/johndoe/otherProject