In dem es aus Deutschland und der EU austritt...🤣
Drinking from plastic bottles has a negative effect on fertility in men...I would worry more about this for my children
Meta tells that it pauses it...but do you know for sure? Basically, you can't trust anything they state.
Definitely not my representatives in the EU..and all in front our wonderful Ursula von der Leyen, a personified political failure. And why this constant fake argument of child abuse?.. the real argument is that politicians and governments want to spy on EU inhabitants..time to vote differently..if this still helps anything in the EU ..
Generally speaking yes, but not with Boeing 737 max 8
It is on a Boeing 737 max 8...🤣 So, if you are crazy enough to enter a plane that falls out of the sky because of corrupt Boeing and FAA then you are also crazy enough to see personalized ads 🤣
Maybe Briar? But nobody is using it... unfortunately
They are not going to collect it from me anymore...pop_os and byebye...From now on, I am only using windows when I am getting paid for it...i.e. at work 🤣
Just had enough of all of this...deleted windows 11 on my 2 computers at home...pop_os it is. 😀
Nobody should back Zensursula who wants to spy on Europe's inhabitants anyways...
You cannot trust any US company any longer...they are basically all creepy
And that justifies wasting 1 year of life for 4000 persons in Norway with no direct threat on Norway? Alright then...this politician is really not my representative...
Nice, more military, more money spent on useless stuff. And happy faces and smiling for potentially being prepared to kill inhabitants...what a great press and politicians /sarcasm off
Ah, I just started with a simple rule around 10 years ago...I only use Microsoft products when I am getting paid for it. That's how much all of this excites me here.
No idea what happens over there longer...lemmy is the perfect replacement, wasn't on reddit since last summer and lost interest
You find good maps from openstreetmap here https://www.freizeitkarte-osm.de/garmin/de/regionen.html
Replaceable batteries, real keyboard, headphone jack, notification light
I have a mmwave sensor from aqara that only "looks" at my bed - was a bit of a hassle to get the right angle. I am setting the " presence off" time to 3min and it has been working well for a year now.
It has a Café, a movie room, a band room, dj equipment, 3d printers, sewing machine corner, children playground and so much more...the most amazing library I have ever seen
Time To Share Config: Sonos AutoFollow
Hi, want to share my sonos auto music follow setup - it took a while to develop, hope you find some inspiration in this My setup: I have sonos loudspeakers in every room My target: Whenever I enter a room (motion sensor based), music should start playing depending on the time of the day with d...
Hi,
since I cannot share big posts due to a bug in lemmy but wanted to share my sonos auto follow config for inspiration, I create a post in the homeassistant community. Have a look :)
https://community.home-assistant.io/t/sonos-complex-auto-follow-music/583717
Time To Share Config: Sonos TTS Announcements via script
Hi, want to share my script how you make a good tts announcement on sonos.
How it works:
- triggered by an automation like this
``` - service: script.turn_on entity_id: script.jarvis_speak data: variables: mymessage: | {{ state_attr('sensor.notification_message', 'msg') }} myplayer: media_player.sonos_bedroom
```
- the script is using an input_boolean to flip so that one announcement is done at a time, that's why I have the "jarvis_announcement_wait" boolean
- it uses "input_number.jarvis_<<room>>_volume to be able to adjust the volume per room for the announcements
- it uses a little "ding" sound prior to the announcement
- it uses piper and with trial end error I figured out how many word per minute "ryan" is speaking so that the script ends exactly at the time when the tts announcement has finished in case there are multiple announcements to be made per room
``` alias: jarvis_speak sequence: - repeat: while: - condition: state entity_id: input_boolean.jarvis_announcement_wait state: "on" sequence: - delay: hours: 0 minutes: 0 seconds: 1 milliseconds: 0 - service: input_boolean.turn_on target: entity_id: - input_boolean.jarvis_announcement_wait data: {} - service: media_player.play_media data: media_content_id: /local/jarvis-chime.wav media_content_type: music announce: true extra: volume: >- {{ states('input_number.jarvis_' + myplayer | replace('media_player.','') + 'volume') }} target: entity_id: "{{ myplayer }}" - delay: seconds: 1 - service: media_player.play_media data: media_content_type: music announce: true media_content_id: >- media-source://tts/tts.piper?message={{ mymessage | replace('&', 'and') }} extra: volume: >- {{ states('input_number.jarvis' + myplayer | replace('media_player.','') + '_volume') }} target: entity_id: "{{ myplayer }}" - delay: seconds: > {% set text = mymessage | replace('&', 'and') %} {{ (text.split(' ') | length * 60 / 150) | round(0, 'ceil') }} - service: input_boolean.turn_off target: entity_id: - input_boolean.jarvis_announcement_wait data: {} mode: queued max: 10
```
Time To Share Config: Sonos Playlists in Dashboard
Want to share my config to make sonos playlist buttons in dashboard as the picture shows:
How to?
- enable "sonos_favorites" sensor in settings > devices > entities
- goto hacs and install frontend auto-entities card
- goto hacs and install button-card
- put the below in your dashboard
``` - type: custom:auto-entities view_layout: grid-area: mb card: square: true type: grid columns: 5 card_param: cards sort: method: state filter: template: > {% for item in state_attr('sensor.sonos_favorites', 'items').values() %} {{ { 'entity': 'null', 'name': item, 'icon' : 'mdi:music', 'type': 'custom:button-card', 'template': 'base_music_switch', 'tap_action' : { 'action': 'call-service', 'service': 'script.multimedia_sonos_play_selected_playlist', 'service_data': { 'media_player': 'media_player.sonos_livingroom', 'source': item
} } } }}, {% endfor %}
```
- put a template for the custom button in your lovelace file to format the button
``` base_music_switch: show_icon: false show_state: false show_name: true aspect_ratio: 1/1 tap_action: haptic: success styles: card: - border: transparent - border-radius: 8px - box-shadow: | [[[ if (states['sensor.theme_style'].state == 'light') { return ' -3px -3px 3px rgb(255, 255, 255, 0.5), 3px 3px 3px rgb(0,0,0,0.05), inset 1px 1px 2px rgb(255, 255, 255, 0.8), inset -1px -1px 2px rgb(0,0,0,0.05)'; } else { return ' -2px -2px 3px rgb(102, 102, 102, 0.1), 3px 3px 3px rgb(0,0,0,0.9), inset 1px 1px 2px rgb(102, 102, 102, 0.3), inset -1px -1px 2px rgb(0,0,0,0.35)'; } ]]] lock: - height: 10px - width: 10px - justify-content: flex-end - align-items: flex-end grid: - grid-template-areas: | "n" - grid-template-columns: 1fr - grid-template-rows: auto name: - padding-left: 5px - padding-right: 5px - width: 90% - word-break: break-word - overflow: hidden - line-height: 1.3 - display: block;/* or inline-block */ - text-overflow: ellipsis - max-height: 3.9em - white-space: normal - color: var(--divider-color) extra_styles: > @media (min-width: 1800px) { #name{ font-size: 60%; } } @media (max-width: 1800px) { #name{ font-size: 60%; } } @media (max-width: 1000px) { #name{ font-size: 60%; } }
```
- when you click an icon a script is started
- add a script, my example is highly customized to my auto follow feature that I implemented
```
alias: multimedia_sonos_play_selected_playlist sequence:
- choose:
- conditions:
- condition: template value_template: > {{ states('input_boolean.multimedia_' + media_player | replace('media_player.sonos_','') + '_automusic') == 'on' }} sequence:
- service: input_boolean.turn_off data: {} target: entity_id: input_boolean.multimedia_sonos_autofollow
- service: media_player.shuffle_set data: shuffle: true target: entity_id: | {{ media_player }}
- service: media_player.select_source data: source: | {{ source }} target: entity_id: | {{ media_player }}
- delay: hours: 0 minutes: 0 seconds: 4 milliseconds: 0
- service: input_boolean.turn_on data: {} target: entity_id: input_boolean.multimedia_sonos_autofollow default:
- service: media_player.shuffle_set data: shuffle: true target: entity_id: | {{ media_player }}
- service: media_player.select_source data: source: | {{ source }} target: entity_id: | {{ media_player }} mode: single
- conditions:
```
Announce imdb rating when playing movie via chromecast
Hi,
wanted to share my recent automation. What it does: Whenever you want to watch a movie and use chromecast, it looks up the title on IMDB and gets the rating. Then announces the rating via tts.
Sorry for bad formatting - I don't get this to work here
- Install pyscript from hacs
- Create a pyscript folder in your config
- In your pyscript folder create a file "requirements.txt"
- Write "cinemagoer" and save
- Create a file "movieinfo.py"
- Add the following python code
``` from imdb import Cinemagoer
import sys
import requests
@service def multimedia_getmovieinfos(mytitle=None): """yaml name: get imdb movie infos description: obtain infos from imdb for a movie, stored in multiple input_text sensors fields: mytitle: description: provide the movie title example: Rollo Aller required: true """
ia = Cinemagoer() search = task.executor(ia.search_movie, mytitle)
for i in range(len(search)): if i == 0: id = search[i].movieID info = task.executor(ia.get_movie, id) genre_list = info.data['genres'] service.call("input_text", "set_value", blocking=True, limit=10, entity_id="input_text.multimedia_current_movie_title", value=search[i]['title'] + ' ('+str(info.data['year'])+')')
service.call("input_text", "set_value", blocking=True, limit=10, entity_id="input_text.multimedia_current_movie_genre", value=','.join(map(str, genre_list)).replace(',', ', '))
service.call("input_text", "set_value", blocking=True, limit=10, entity_id="input_text.multimedia_current_movie_rating", value=( str(round(info.data['rating'], 2))))
if 'plot outline' in info.data: service.call("input_text", "set_value", blocking=True, limit=10, entity_id="input_text.multimedia_current_movie_plot", value=info.data['plot outline'][:255]) else: service.call("input_text", "set_value", blocking=True, limit=10, entity_id="input_text.multimedia_current_movie_plot", value="no plot available")
```
- Create four input_text sensors in homeassistant
``` input_text:
multimedia_current_movie_title: name: Multimedia Current Movie Title
multimedia_current_movie_rating: name: Multimedia Current Movie Rating
multimedia_current_movie_genre: name: Multimedia Current Movie Genre
multimedia_current_movie_plot: name: Multimedia Current Movie Plot max: 255 ```
- Create an input_number sensor for the rating threshold
multimedia_tv_minimum_rating: name: Movie Minimum Rating icon: mdi:brightness-percent mode: slider step: 0.1 max: 10 min: 0 initial: 5.0
- Add an automation to trigger getting the movie infos
``` alias: multimedia_tv_aerocast_get_movie_infos description: "" trigger:
- platform: state
entity_id:
- media_player.aerocast to: playing id: "1"
- platform: state
entity_id:
- media_player.aerocast from: playing id: "2" condition: [] action:
- choose:
- conditions:
- condition: trigger id: "1" sequence:
- service: pyscript.multimedia_getmovieinfos data: mytitle: | {{ state_attr('media_player.aerocast', 'media_title') }}
- conditions:
- choose:
- conditions:
- condition: trigger id: "2" sequence:
- service: input_text.set_value data: value: " " target: entity_id: input_text.multimedia_current_movie_genre
- service: input_text.set_value data: value: " " target: entity_id: input_text.multimedia_current_movie_title
- service: input_text.set_value data: value: " " target: entity_id: input_text.multimedia_current_movie_rating
- service: input_text.set_value data: value: " " target: entity_id: input_text.multimedia_current_movie_plot mode: single
- conditions:
```
- Add an automation to announce whenever you play your movie - I do that through mqtt. Adjust to your liking :)
```
alias: jarvis_notify_movie_rating description: "" trigger:
- platform: state
entity_id:
- input_text.multimedia_current_movie_rating condition:
- condition: template value_template: "{{ states('input_text.multimedia_current_movie_rating') != ' ' }}" action:
- choose:
- conditions:
- condition: template value_template: >- {{ states('input_text.multimedia_current_movie_rating') | float(default=0) < states('input_number.multimedia_tv_minimum_rating') | float(default=0) }} sequence:
- service: mqtt.publish data: topic: notifications payload_template: | { "heading": "Movie underrated", "details": { "msg": "Do you really want to watch {{ state_attr('media_player.aerocast', 'media_title') }}? It only has a rating of {{ states('input_text.multimedia_current_movie_rating') }} on I M D B.", "player": "livingroom", "importance": "high", "received": "{{ now().strftime("%H:%M:%S") }}" } }
- conditions:
- condition: template value_template: >- {{ states('input_text.multimedia_current_movie_rating') | float(default=0) >= states('input_number.multimedia_tv_minimum_rating') | float(default=0) }} sequence:
- service: mqtt.publish data: topic: notifications payload_template: | { "heading": "Movie well rated", "details": { "msg": "Nice choice for a{% if states('input_text.multimedia_current_movie_genre').split(',')[0] | lower | regex_search("[aeiou]")%}n{% endif %} {{ states('input_text.multimedia_current_movie_genre').split(',')[0] | lower }} movie. {{ state_attr('media_player.aerocast', 'media_title') }} has a rating of {{ states('input_text.multimedia_current_movie_rating') }} on I M D B.", "player": "livingroom", "importance": "high", "received": "{{ now().strftime("%H:%M:%S") }}" } } mode: single ```
- conditions: