Question about DPOA and taxes
Mike Wooskey @ mike_wooskey @lemmy.thewooskeys.com Posts 13Comments 118Joined 1 yr. ago

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.
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:
- audiobookshelf (to stream and sync podcasts between my devices)
- baikal (to host contacts and calendars)
- cryptpad (for collaborative spreadsheets and kanban, though it does more than this)
- drawio (flowchart-like diagrams
- forgejo (my git repos and oauth2)
- homepage (personal dashboard of services and links)
- invidious (youtube frontend)
- lemmy (duh :) )
- minio (S3 object storage)
- mosquitto (mqtt server)
- nextcloud (can do a lot, but I'm only using it to look at Memories for photo storage and management - I currently selfhost Photostructure, but it's not FOSS)
- peertube (youtube alternative)
- prometheus (metrics monitoring)
- qbittorrent (torrents)
- syncthing (currently only used to sync photos from my pixel to my server, but might be replaced if I switch to a photo management app that has an android app that can sync images)
- tiddlywiki-nodejs (pretty powerful wiki, but I use it just to sync text-based info between devices)
- traefik (reverse proxy in front of everything I host)
- tt-rss (RSS feeds)
- vaultwarden (password management - this is a fork of bitwarden)
- wordpress (for my personal websites)
- xbrowsersync (bookmark syncing between browsers/devices)
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:
(sorry about my delayed response, @JustEnoughDucks@feddit.nl )
I'm sure that the install is successful because there are no errors during/after install, the Echo recognizes speech and interacts with Home Assistant, and when I change something in the yaml (e.g., which media player to pipe the audio to) the change takes effect.
Here's something weird: I believe the default pin for "speaker" should be GPIO22, and when I switch it to GPIO21 it should not work. This works on some of my Echos, but not all of them!
Also weird: I think the standard pinout is:
- GPIO0: Button (Boot)
- GPIO19: LED (RGB)
- GPIO21: I2C SDA
- GPIO22: I2C SCL
- GPIO23: Speaker (PWM output)
- GPIO25: Microphone (Analog input)
Though I don't know what these mean, I tried setting "speaker" to GPIO18 - which apparently isn't used- and still the audio comes out of the Echo speaker! But again, only on some of my Echos.
I'd think that maybe some of these Echos are ignoring the GPIO setting for "speaker" and using a default, but these Echos used to work! (that is, they used to not play audio out of the Echo speaker when "speaker" was GPIO21). And so I want to think that maybe the ESPHome upgrade made them stop working, but all my Echos have the same upgrade and yet still some of them work.
Is there a way to config the Echo speaker to have zero volume? If so, I could just set that and then who cares if the audio is piped to it.
I host Wyoming on a server with an Nvidia 4060ti, and point home assistant, on a vm on another server, to it. It works great.
Thanks for the help, @JustEnoughDucks@feddit.nl.
I copied the yaml you suggested and made 2 changes:
I changed the i2s_dout_pin
from GPIO22
to GPIO21
:
speaker: - platform: i2s_audio id: echo_speaker i2s_dout_pin: GPIO21 dac_type: external mode: mono
...and added my on_tts_end
with the media_player:
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"
This did compile and the audio output from the echo is played on the media_player, but the audio is also played on the Echo itself. Previously, changing the i2s_dout_pin
from GPIO22
to GPIO21
prevented the Echo from playing the audio (I think by directing audio data to pin 21, which is not used).
I'm not sure what you meant here:
Media player is also a speaker using an arduino library (not compatible with esp_adf as that uses the esp-idf framework and not arduino). If you want to use the media player, you have to get rid of vad_threshold and the esp_adf.
I tried removing "vad_threshold: 3" and the "esp_adf" component:
external_components: - source: github://pr#5230 components: refresh: 0s - source: github://jesserockz/esphome-components components: [file] refresh: 0s
...but with the same result: audio plays on both the media_player and the Echo's speaker.
Instead of trying to prevent the audio from getting to the Echo's speaker, is there a way to just turn the Echo's speaker volume to zero?
Thanks for the suggestion, @Windex007@lemmy.world, but by the time I saw it, JustEnoughDucks had suggested a fix.
Matrix is good, secure, very versatile, Foss, and easy to use, but I think not easy to set up or manage.
Social media is not the place to request or trust legal advice. What I'm requesting here is people's experiences.