<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>~&#x2F;magostinelli - homeassistant</title>
      <link>https://www.agostinelli.eu</link>
      <description>La casa delle mie passioni</description>
      <generator>Zola</generator>
      <language>it</language>
      <atom:link href="https://www.agostinelli.eu/tags/homeassistant/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Tue, 10 Dec 2024 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Upgrade Home Server </title>
          <pubDate>Mon, 09 Dec 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/upgrade-home-server/</link>
          <guid>https://www.agostinelli.eu/blog/upgrade-home-server/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/upgrade-home-server/">&lt;p&gt;Alla fine ho ceduto, ho acquistato un &lt;strong&gt;mini pc&lt;&#x2F;strong&gt; usato di qualche anno fa.
Come molti si voi sapranno, da anni il pc sempre acceso di casa mia è un raspberry pi 4, dove gira la domotica di casa (#homeassistant) e qualche altro (piccolo) servizio.&lt;&#x2F;p&gt;
&lt;p&gt;Da tempo ero arrivato un po&#x27; al limite, perché ho un sacco di sensori e vorrei conservare un po&#x27; di storico (comodo ad esempio per analizzare consumi), ho quindi iniziato a guardarmi intorno.&lt;&#x2F;p&gt;
&lt;p&gt;Per primo ho pensato al pi 5, a cui però vanno aggiunti alimentatore, case, memorie, e quindi il prezzo quasi raddoppia. Da lì sono passato a guardare cosa offriva il mercato dell&#x27;usato, ed eccomi giunto a questa riflessione che condivido con voi.&lt;&#x2F;p&gt;
&lt;p&gt;Innanzi tutto i minipc, grazie ai nuovi dischi &lt;strong&gt;nvme&lt;&#x2F;strong&gt; sono sia &lt;strong&gt;compatti&lt;&#x2F;strong&gt;, ma anche &lt;strong&gt;silenziosi&lt;&#x2F;strong&gt;, e poi finalmente da qualche anno a questa parte, non si guarda solo all&#x27;evoluzione in termini di prestazioni, ma anche all&#x27; &lt;strong&gt;efficienza energetica&lt;&#x2F;strong&gt;.
Anche l&#x27;ormai affermata architettura &lt;strong&gt;x86&lt;&#x2F;strong&gt; è stata costretta a correre ai ripari nei confronti di &lt;strong&gt;arm&lt;&#x2F;strong&gt;, molto più efficiente sotto questo punto di vista.&lt;&#x2F;p&gt;
&lt;p&gt;Altra cosa da considerare è che negli ultimi 4-5 anni non c&#x27;è stata chissà quale &lt;strong&gt;rivoluzione sull&#x27;hardware&lt;&#x2F;strong&gt; e quindi un pc di qualche anno fa è più che sufficiente per i miei scopi (e quelli di molti) .
Il sistema operativo #GnuLinux è molto &lt;strong&gt;efficiente&lt;&#x2F;strong&gt; nel &quot;ridare&quot; vita a vecchi pc, è in pratica un matrimonio perfetto!&lt;&#x2F;p&gt;
&lt;p&gt;In rete (ebay, subito, amazon) si trovano molti di questi pc ricondizionati, in quanto spesso sono usati, o meglio noleggiati, da aziende per pc ad uso ufficio.&lt;&#x2F;p&gt;
&lt;p&gt;Ovviamente questi mini pc hanno un tdp (= consumo) più alto di un raspberry pi, ma anche molta più potenza di calcolo!
Potete addirittura metterci sopra #proxmox e vari server virtuali, a patto di avere memoria ram a sufficienza.
Io penso che opterò per #debian su cui userò un po&#x27; di software nativi (pacchetti ufficiali) e un po&#x27; di immagini #docker alla bisogna.&lt;&#x2F;p&gt;
&lt;p&gt;Il modello che ho scelto (&lt;strong&gt;Lenovo m900 tiny&lt;&#x2F;strong&gt;) è dotato di processore Intel Core i5 6500T, dove la T finale, appunto, strizza l&#x27;occhio ai bassi consumi.&lt;&#x2F;p&gt;
&lt;p&gt;Il pc è anche dotato di varie uscite video e può anche essere montato dietro ad uno schermo, ma io lo userò in modalità #headless, cioè senza monitor collegato.&lt;&#x2F;p&gt;
&lt;p&gt;L&#x27;interno hardware del dispositivo è tale e quale ad un portatile, stesso processore, stessa scheda madre, ecc ecc.
Ritengo che per uso ufficio e casa è perfetto, basta collegare un monitor (o una tv), tastiera, mouse e via.
Per questi usi, va più che bene (con linux), ed è poco rumoroso.&lt;&#x2F;p&gt;
&lt;p&gt;Quindi, per concludere, adesso aspetto che mi arrivi e dopo ci vorrà qualche giorno (non vi nascondo che mi fa un po&#x27; fatica) per trasferire tutto quello che avevo sul vecchio sul nuovo!&lt;&#x2F;p&gt;
&lt;p&gt;Spero di avervi fornito qualche spunto di riflessione interessante, soprattutto riguardo al &lt;strong&gt;riciclo&lt;&#x2F;strong&gt; dell&#x27;hardware, e voi ci avete mai fatto un pensierino?&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Spazzolini elettrici e domotica indipendente</title>
          <pubDate>Fri, 09 Feb 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/spazzolini-elettrici-e-domotica-indipendente/</link>
          <guid>https://www.agostinelli.eu/blog/spazzolini-elettrici-e-domotica-indipendente/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/spazzolini-elettrici-e-domotica-indipendente/">&lt;p&gt;Pare che la vicenda degli spazzolini elettrici WiFi usati per un &lt;strong&gt;attacco informatico&lt;&#x2F;strong&gt; non sia reale, ma piuttosto si tratta di uno scenario ipotetico.
(https:&#x2F;&#x2F;www.hwupgrade.it&#x2F;news&#x2F;sicurezza-software&#x2F;tre-milioni-di-spazzolini-elettrici-smart-utilizzati-come-rete-botnet-per-un-attacco-ddos_124149.html)&lt;&#x2F;p&gt;
&lt;p&gt;Certo non molto distante dalla realtà, visto che ormai tutti gli elettrodomestici hanno &lt;strong&gt;connettività WiFi&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;A mio avviso il problema è il &lt;strong&gt;come&lt;&#x2F;strong&gt; è stata implementata la connettività degli apparecchi. Infatti molti di questi richiedono obbligatoriamente una connessione internet funzionante.&lt;&#x2F;p&gt;
&lt;p&gt;A parte eventuali problematiche legate alla &lt;strong&gt;sicurezza&lt;&#x2F;strong&gt;, questo comporta anche una &lt;strong&gt;dipendenza&lt;&#x2F;strong&gt; dal sito del &lt;strong&gt;produttore&lt;&#x2F;strong&gt;.
Cioè se per qualsiasi motivo (economico e non) quest&#x27;ultimo decide di chiudere il servizio, il nostro apparecchio perderà queste funzionalità.&lt;&#x2F;p&gt;
&lt;p&gt;Facciamo un esempio concreto: in casa ho un impianto di #domotica personale con #homeassistant, ho anche l&#x27;impianto di condizionamento collegato in WiFi.
Dato che gli apparecchi hanno qualche anno, ho dovuto acquistare una scheda aggiuntiva (WiFi) da inserire al loro interno.
Dopo un po&#x27; di ricerche e approfondimenti, ho scoperto che ne esistevano due versioni, una più vecchia, ma che esponeva direttamente in rete locale delle #api, e una più moderna che funzionava solo se è attivo un collegamento internet (e il server del produttore è funzionante).
Ho faticato un po&#x27;, ma alla fine sono riuscito a trovare la prima versione della scheda presso un venditore on line, ne aveva ancora disponibili anche se ormai fuori produzione (per mia fortuna).
In questo modo riesco a comandarli (e interrogare lo stato) anche se la connessione internet di casa dovesse non funzionare o se il produttore decidesse di interrompere il servizio.&lt;&#x2F;p&gt;
&lt;p&gt;Concludendo, quando acquistate un apparecchio, nella scelta fate attenzione anche a questo aspetto!&lt;&#x2F;p&gt;
&lt;p&gt;#domotica #sicurezza #wifi #informatica #spazzolini&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>moodeaudio: post su mastodon</title>
          <pubDate>Thu, 18 Jan 2024 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/</link>
          <guid>https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/moodeaudio-post-su-mastodon/">&lt;p&gt;In questo brevvisimo articolo  vedremo uno #script che preleva il &lt;strong&gt;brano&lt;&#x2F;strong&gt; attualmente in &lt;strong&gt;riproduzione&lt;&#x2F;strong&gt; su moOde e lo pubblica (come &lt;strong&gt;toot&lt;&#x2F;strong&gt;) su #mastodon.
(se non sapete cos&#x27;è #moodeaudio trovate articolo dedicato cliccando sul tag)&lt;&#x2F;p&gt;
&lt;p&gt;Io lancio lo script di seguito manualmente per non pubblicare troppi toot (ad ogni cambio brano), ma potete integrarlo facilmente in vari automatismi (ad esempio usando #homeassistant).&lt;&#x2F;p&gt;
&lt;p&gt;Dato che lei formazioni vengono recuperate via rete, potete eseguirlo da un qualsiasi pc della vostra rete casalinga.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;prerequisiti&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#prerequisiti&quot; aria-label=&quot;Anchor link for: prerequisiti&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Prerequisiti&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Curl: di solito è già installato, qualora non lo fosse potete farlo semplicemente usando l&#x27;utility di gestione del software della vostra distribuzione (apt, dnf, pacman)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ihabunek&#x2F;toot&quot;&gt;Toot&lt;&#x2F;a&gt;: client da riga di comando per mastodon (trovate tutti i dettagli e le istruzioni per installarlo sul sito qui indicato, anche se come sopra probabilmente sarà già incluso nella distribuzione che usate)&lt;&#x2F;li&gt;
&lt;li&gt;Jq: utility, da riga di comando, in grado di processare (e visualizzare) file json&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;script&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#script&quot; aria-label=&quot;Anchor link for: script&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Script&lt;&#x2F;h2&gt;
&lt;p&gt;Di seguito lo script che ho realizzato in linguaggio bash:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;bash&quot; class=&quot;language-bash z-code&quot;&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-begin z-shell&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;!&#x2F;bin&#x2F;bash&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment z-line z-number-sign z-shell&quot;&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;Sto ascoltando: &lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;+=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-meta z-group z-expansion z-command z-parens z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-begin z-shell&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;curl&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;s&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;http:&#x2F;&#x2F;moode.local&#x2F;command&#x2F;?cmd=get_currentsong&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt; &lt;span class=&quot;z-keyword z-operator z-logical z-pipe z-shell&quot;&gt;|&lt;&#x2F;span&gt; &lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;jq&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt;&lt;span class=&quot;z-variable z-parameter z-option z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-parameter z-shell&quot;&gt; -&lt;&#x2F;span&gt;r&lt;&#x2F;span&gt; &lt;span class=&quot;z-string z-quoted z-single z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;.artist + &amp;quot; - &amp;quot; + .title&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-section z-parens z-end z-shell&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-assignment z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-assignment z-shell&quot;&gt;+=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-unquoted z-shell&quot;&gt;&lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt; #musica #moodeaudio #hifi #raspberrypi&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-source z-shell z-bash&quot;&gt;&lt;span class=&quot;z-meta z-function-call z-shell&quot;&gt;&lt;span class=&quot;z-variable z-function z-shell&quot;&gt;toot&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-shell&quot;&gt; post &lt;span class=&quot;z-string z-quoted z-double z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-begin z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-group z-expansion z-parameter z-shell&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-shell&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-readwrite z-shell&quot;&gt;testo&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-end z-shell&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
      <item>
          <title>Home Assistant rsync backup</title>
          <pubDate>Mon, 18 Dec 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://www.agostinelli.eu/blog/home-assistant-rsync-backup/</link>
          <guid>https://www.agostinelli.eu/blog/home-assistant-rsync-backup/</guid>
          <description xml:base="https://www.agostinelli.eu/blog/home-assistant-rsync-backup/">&lt;p&gt;Ho scritto un plugin per home assistant!
Ma ce n&#x27;era davvero bisogno? Purtroppo si, perchè avevo una particolare necessità che sotto vi spiego.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;contesto&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#contesto&quot; aria-label=&quot;Anchor link for: contesto&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Contesto&lt;&#x2F;h2&gt;
&lt;p&gt;A casa ho un NAS che tengo quasi sempre spento, e che accendono alla bisogna. Quando lo accendo, ci sono delle procedure&#x2F;software installati che partono e aggiornarnano i dati.
Avevo, quindi, la necessità di trovare una soluzione simile anche con #homeassistant. Ho provato vari plugin esistenti, ma nessuno faceva al caso mio.
Dato che implementare questo tipo di plugin sulla carta sembrava molto semplice, ho deciso, quasi per gioco, di scriverne uno.&lt;&#x2F;p&gt;
&lt;p&gt;Lo trovate qui: https:&#x2F;&#x2F;github.com&#x2F;magostinelli&#x2F;hassio-addons-rsync-key&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cosa-fa&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cosa-fa&quot; aria-label=&quot;Anchor link for: cosa-fa&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Cosa fa?&lt;&#x2F;h3&gt;
&lt;p&gt;Sincronizza i backup locali con quelli remoti via ssh con scambio chiave (senza password).
Al primo avvio del componente aggiuntivo viene mostrata la chiave (pubblica) creata, tale chiave dovrà essere abilitata per l&#x27;accesso sul nas al percorso in cui vogliamo depositare la copia dei nostri backup.&lt;&#x2F;p&gt;
&lt;p&gt;Il plugin ha alcune opzioni di configurazione:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;home_rsync_conf.jpg&quot; alt=&quot;schermata di configurazione&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;E nella schermata dei log è possibile monitorare la sua ultima esecuzione.
&lt;img src=&quot;https:&#x2F;&#x2F;img.agostinelli.eu&#x2F;2023&#x2F;home_rsync_log.jpg&quot; alt=&quot;schermata di configurazione&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;come-lo-uso&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#come-lo-uso&quot; aria-label=&quot;Anchor link for: come-lo-uso&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Come lo uso?&lt;&#x2F;h3&gt;
&lt;p&gt;Ho creato un automazione che fa partire questo componente aggiuntivo 1 minuto dopo aver rilevato che il mio nas è stato acceso.
Una volta che il componente avrà eseguito il suo lavoro si &lt;strong&gt;spengerà automaticamente&lt;&#x2F;strong&gt;, così il &lt;strong&gt;consumo&lt;&#x2F;strong&gt; di risorse è davvero &lt;strong&gt;inesistente&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;#homeassistant #hass #rsync #linux #backup #nas&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
