Bramka: configuration.yaml

Plik konfiguracyjny configuration.yaml

Dążymy do tego, żeby wszystkie podstawowe ustawienia i popularne integracje były dostępne z interfejsu użytkownika.

Obecnie jednak nie wszystko jest jeszcze konfigurowalne za pośrednictwem interfejsu użytkownika i aby dodać integrację z niektórymi urządzeniami, wymagana jest ręczna edycja pliku konfiguracyjnego Asystenta domowego. Plik ten znajduje się na urządzeniu w folderze /data/data/pl.sviete.dom/files/home/AIS i ma nazwę configuration.yaml.

Konfiguracja ręczna w pliku pozwala też zaawansowanym użytkownikom na dodawanie własnych dowolnych komponentów.

Przykładowy czujnik

Poniżej opiszemy krok po kroku, w jaki sposób dodać czujnik wyświetlający temperaturę procesora bramki.
Oczywiście w analogiczny sposób można dodać inne elementy systemu, a następnie użyć ich przy tworzeniu automatyzacji.

Temperatura procesora w systemie Linux

Znajdujemy komendę, która zwraca temperaturę CPU w systemie Linux (google.com) i testujemy ją w konsoli.

cat /sys/class/thermal/thermal_zone0/temp

Edycja pliku configuration.yaml

W konsoli przechodzimy do folderu z konfiguracją Asystenta domowego.

cd ~/AIS

Ulubionym edytorem tekstowym otwieramy plik configuration.yaml

nano configuration.yaml

i dodajemy na końcu następująca konfigurację.

sensor:
 - platform: command_line
   name: Temperatura CPU
   unit_of_measurement: "°C"
   command: "cat /sys/class/thermal/thermal_zone0/temp"
   value_template: '{{ value | multiply(0.001) | round(1) }}'

Sprawdzenie konfiguracji i Restart serwera

Upewnijmy się, że nasza konfiguracja jest poprawna — w tym celu kliknij przycisk Sprawdź konfigurację dostępny w opcjach ogólnych systemu. Następnie restartujemy serwer przyciskiem Uruchom ponownie

Nowa encja

W informacji o stanie encji systemu możemy już odszukać nasz nowo dodany element systemu (czujnik) i zobaczyć jego status.

Wyświetlanie w aplikacji

Każdy element możemy pokazać w aplikacji, wystarczy, że na wybranym widoku dodamy i skonfigurujemy kartę z naszym nowym komponentem.

@Celina, zrobiłem wg opisu, działa bardzo dobrze, natomiast raz/dwa razy na dobę wyrzuca mi coś takiego w logach. Czy to coś poważnego?

Nie, to nic poważnego, “100% normalne”

W Linux wszystko jest plikiem (urządzenie usb czy sensor z temperaturą CPU też jest plikiem).
cat to komenda która czyta zawartość pliku, żeby w naszym przypadku/przykładzie sprawdzić temperaturę CPU. Może się zdarzyć, że plik który chcemy odczytać jest w tym samym czasie używany przez system(który właśnie zanotował zmianę temperatury i ją tam zapisuje) i nie da się go odczytać, to będzie generowało taki błąd, nie przejmujemy się tym :wave:

1 polubienie

Witam.
Może głupie pytanie ale jestem laikiem w Linux.
Dodałem wpis ale nie zapisał się on. Jak go zapisać?
Trzeba coś kliknąć ?
:slightly_smiling_face::slightly_smiling_face:

Jeżeli korzystasz z edytora nano to tutaj krótki opis “poruszania” się w nano - https://wiki.gentoo.org/wiki/Nano/Basics_Guide - pozycja Saving and exiting.

No widzisz… Dla Ciebie to pisałem… :

1 polubienie

Dostań się do pliku po FTP

A potem już edytor plików jaki tam lubisz w Win
Np lubiany

https://notepad-plus-plus.org/

2 polubienia

Dzięki wszystkim. Temat ogarnięty :slightly_smiling_face:

To czekamy na monitor sprzętowy Twojej bramki :+1:
Czyli dopisane nowe sensory:

- platform: systemmonitor
  resources:
    - type: disk_use_percent
      arg: /data/data/pl.sviete.dom/files/home
    - type: disk_free
      arg: /data/data/pl.sviete.dom/files/home
    - type: memory_free
    - type: memory_use_percent
    - type: processor_use
    - type: last_boot
    - type: swap_use_percent
    - type: swap_free
    
- platform: command_line
  name: Temperatura CPU
  unit_of_measurement: "°C"
  command: "cat /sys/class/thermal/thermal_zone0/temp"
  value_template: '{{ value | multiply(0.001) | round(1) }}'

1 polubienie

Mam rozumieć że wystarczy wgrać ten kod i będzie ok ? :slightly_smiling_face: Jeżeli tak to za godzinę wrzucam :slightly_smiling_face::slightly_smiling_face:

No i walka o temperature trwa nadal :slightly_smiling_face::slightly_smiling_face:

Tak dokładnie tych parę wierszy dot. systemmonitor i masz nowe encje, Widzę, że temperaturę CPU już dopisałeś.

Bramka dostała dodatkowe chłodzenie i jest świeżo po resecie więc pełna moc :slightly_smiling_face::slightly_smiling_face:
Dzieki za pomoc :slightly_smiling_face::slightly_smiling_face:


2 polubienia

@Cezary.K i @sdsi za co odpowiada pozycja
SWAP free SWAP use?
Dziś bramka zrobiła sobie sama restart i tu właśnie nastąpiła zmiana ?

System korzysta z tej partycji do czegoś w rodzaju buforowania.

2 polubienia

Czyli nie mam się czym martwić ?:slightly_smiling_face:
Dzięki za szybką odpowiedź :slightly_smiling_face:

Możesz również większość swoich encji w systemie dostosować zmieniając nazwę, ikonę, jednostkę i atrybuty:
Konfiguracja → od góry, na końcu listy dostosowywanie

1 polubienie

Dołożyłem kolejny sensor do swojej (nowej) DEV3 - CPUspeed

1 polubienie