Nextcloud v Home Assistant. Počet souborů + velikost místa na disku command_line senzor

Nextcloud je sada softwaru typu klient-server pro vytváření a používání služeb hostingu souborů. Je připraven pro podnikovou sféru s rozsáhlými možnostmi podpory. Jelikož se jedná o bezplatný software s otevřeným zdrojovým kódem, může si jej kdokoli nainstalovat a provozovat na svých soukromých serverových zařízeních. Funkčně podobný službám Dropbox, Office 365 nebo Google Drive, pokud se používá s integrovanými řešeními kancelářského balíku Collabora Online nebo OnlyOffice.

Může být hostován v cloudu nebo on-premises. Je škálovatelný od řešení pro domácí kanceláře založených na levném počítači Raspberry Pi až po řešení pro datová centra plné velikosti, která podporují miliony uživatelů. Původní vývojář ownCloudu Frank Karlitschek rozvětvil ownCloud a vytvořil Nextcloud, který Karlitschek a další členové původního týmu ownCloudu nadále aktivně vyvíjejí.

Nextcloud (či původní Owncloud před odloučením) jsou selfhosted cloudové řešení, které obecně nabralo na popularitě po tom, co vyšlo najevo jak některé vlády sledují prakticky všechno a všechny. A Google s Facebookem tomu nijak nebrání, ba naopak :)

Nextcloud memcache

Home Assistant umí integrovat z NC API a načte základní dávku informací které sám o sobě poskytuje primárně pro vlastní rozhraní. Jedná se o vytížení CPU, místo na disku, informaci o OPcache, MariaDB a paměti.

Cloud úložiště Nextcloud
Cloud úložiště Nextcloud

Nextcloud Home Assistant senzor

Toto je možné díky senzorům, které získame po konfiguraci (vložení přihlašovacích údajů do configuration.yaml) integrace. Přídání do Home Assistant je jednoduché díky speciálnímu heslu pro externí přihlášení.

## NC Integrácia
nextcloud:
  url: https://moj.cloud-server.cz/path
  username: User
  password: Specialne-Generovane-Heslo-Pro-HA

Pro tento účel je k informaci o velikosti volného místa (default Home Assistant senzor) vhodné vytvořit i šablonu pro konverzi zobrazených informací v GB. Jinak bude zobrazená informace vypada místo 10GB nějak takhle 1000000000.

## Nextcloud GB konverzácia Template 
  - platform: template
    scan_interval: 02:00:00
    sensors:
      nextcloud_system_freespace:
        value_template: "{{ ((states('sensor.nextcloud_system_freespace')  | float ) / 1000000000 ) | round(3) }}"
        unit_of_measurement: 'GB'

Cloud není jednouživatelská aplikace. Mimo velikosti volného místa na disku a celkového počtu souboru nás bude zajímat i počet vlastních souborů. Fotografie, dokumenty, zálohy a další. Kombinace command_line a lovelace karty:

## Comand Line Sensors
  - platform: command_line
    name: cloud_files_user
    command: "ssh -p11111 -i /store/muj_certifikat -o StrictHostKeyChecking=no -q user@192.168.101.101 find /var/www/html/nextcloud/data/User/files | wc -l"
    scan_interval: 01:00:00

Pro přihlášení použijeme sshpass nebo passwordless (bez hesla) SSH login. A to za použití vygenerovaných (soukromý + veřejný) klíčů (certifikátu). Veřejný klíč nahrajeme na server. Soukromý klíč uložíme do Home Assistant, ze kterého se bude senzor přihlašovat. Klíč muj_certifikat v našem příkladu uložíme do složky /store – ukládat vlastní certifikáty v tradiční cestě ./ssh (nebo /ssh) se nedoporučuje. Může se stát, že po restartu (upgrade HA) tam certifikát již nenajdete :)

Vygenerovat soukromého a veřejného klíče + nahrání veřejného klíče na server pomocí příkazu ssh-copy-id je otázka vteřin

ssh-keygen
vložení hesla (nebo 2x enter bez hesla)
ssh-copy-id -i muj_certifikat user@192.168.25.11.104 -p11111
heslo jako u standarního SSH přihlášení

Nahrání privátního klíče do Home Assistant složky /store pomocí cp v případe, že v LAN používate mount a složka je tak dostupná ze sítě

cp /home/user/muj_certifkát /Volumes/store/muj_certifikát

Upload privátního klíče pomocí scp do Home Assistant složky /store v případě, že máte v HA funkční SSH server

scp -P11111 muj_certifkat hassio@192.168.101.101:/store/muj_certifikat
(-P pouze pokud používáte v HA pro SSH jiný než výchozí port 22)

Home Assistant Lovelace Dashbord

Home Assistant Lovelace Dashbord s informací o počtu souborů ve vlastní cloud složce pak může vypad nějak takhle

Nextcloud Home Assistant
NC Home Assistant

Užitečné

Domovská stránka NC.
Zigbee2MQTT Deconz Hue v Hassio.

ICTIS.CZ