HIVE*.XML: Ustawienia ula
Konfiguracja ula jest przechowywana w /setting/<hive>.xml. <hive> nazwa bazowa jest określona przez hive1, hive2i kolejne atrybuty w mset.xml; .xml rozszerzenie jest dodawane automatycznie.
Wartości zależne od sprzętu
Nie kopiuj scales sekcję z innego urządzenia. Piny płytki i wartości kalibracyjne zależą od wersji sprzętu i konkretnego zestawu czujników wagowych. Nieprawidłowe wartości mogą zniekształcić pomiary lub spowodować ich niedostępność.
Zobacz zasady bezpiecznego edytowania.
Automatyczne przepisywanie
Po odczytaniu pliku urządzenie może go ponownie zapisać:
- z dostępnego stanu bieżącego tworzony jest brakujący lub uszkodzony plik;
- brak
hive,thermometerlubschedulesekcje umożliwiają normalizację; - brakujący atrybut w istniejącym
scaleslubthermometersekcja zostaje zastąpiona wartością rezerwową i umożliwia normalizację; - kompletny
scales,booster, irange_alarmersekcje są opcjonalne; - normalizacja pisze również
booster,range_alarmer,thermometer, ischedulesekcji, nawet jeśli niektórych z nich nie było w pliku źródłowym.
hive
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
hive_name |
Wewnętrzna nazwa ula | Opcjonalne | Ciąg znaków; dla zgodności zaleca się do 8 znaków ASCII | Imię od mset.xml, na przykład hive1 |
hive_<індекс>; plik jest oznaczony do ponownego zapisu |
ADVANCED |
bus_number |
Numer ula na wewnętrznej magistrali | Opcjonalne | Liczba całkowita; granice nie są sprawdzane | Indeks instancji, 0 po raz pierwszy |
Indeks instancji; plik jest oznaczony do ponownego zapisu | SERVICE |
main_device |
Wskazuje główne urządzenie z lokalnymi czujnikami sprzętowymi | Opcjonalne | true, false |
true w nowo utworzonym pliku |
Instancja nie staje się głównym urządzeniem; Samo pominięcie nie pozwala na przepisanie | SERVICE |
Obsługa urządzeń podrzędnych jest przestarzała. Wartość main_device="false" jest akceptowany podczas ładowania, ale po zapisaniu atrybut staje się main_device="true". Nie używać false jako stabilna konfiguracja.
scales
Jeśli cała sekcja jest nieobecna, obiekt wagi nie jest tworzony, a pomiar masy jest wyłączony. Jeśli sekcja istnieje, każde brakujące lub nieprawidłowe pole zostaje zastąpione wartością zastępczą, po czym cały plik może zostać ponownie zapisany.
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
pin_hc711_data |
GPIO danych HX711 | Wymagane w istniejącej sekcji | GPIO dla konkretnej płyty | Sekcja nie jest tworzona automatycznie; zależne od sprzętu | Pin do konkretnej tablicy; plik jest przepisywany | SERVICE |
pin_hc711_clk |
GPIO zegara HX711 | Wymagane w istniejącej sekcji | GPIO dla konkretnej płyty | Sekcja nie jest tworzona automatycznie; zależne od sprzętu | Pin do konkretnej tablicy; plik jest przepisywany | SERVICE |
gain |
Tryb wzmocnienia HX711 | Wymagane w istniejącej sekcji | Wartość trybu wzmocnienia HX711 | Kanał A, zyskaj 128 | Kanał A, wzmocnienie 128; plik jest przepisywany | SERVICE |
zero_calibrate_measurement |
Surowa wartość ADC dla zerowego obciążenia | Wymagane w istniejącej sekcji | 32-bitowa liczba całkowita ze znakiem | Zależne od sprzętu | Wartość rezerwowa -486050; plik jest przepisywany |
SERVICE |
weight_calibrate_measurement |
Surowa wartość ADC z masą referencyjną | Wymagane w istniejącej sekcji | 32-bitowa liczba całkowita ze znakiem | Zależne od sprzętu | Wartość rezerwowa -498030; plik jest przepisywany |
SERVICE |
calibrate_weight |
Masa referencyjna do kalibracji | Wymagane w istniejącej sekcji | gramy; dodatnia liczba całkowita; limity nie są sprawdzane automatycznie | Zależne od sprzętu | 500 G; plik jest przepisywany |
USER |
start_weight |
Tara odjęta od wyniku | Wymagane w istniejącej sekcji | gramy; -100000 do 100000 jest zalecane; limity nie są sprawdzane automatycznie |
Zależne od sprzętu | 0 G; plik jest przepisywany |
USER |
source_weight |
Filtr, którego wynik jest używany jako waga podstawowa | Wymagane w istniejącej sekcji | 1 — immediate; 2 — stable; 3 — calibration |
Sekcja nie jest tworzona automatycznie | 1; plik jest przepisywany. Inne wartości są traktowane jako 1 podczas pracy |
SERVICE |
normal_pecision |
Parametr dokładności filtra szybkiego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 0.5; plik jest przepisywany |
SERVICE |
normal_desired_deviation |
Pożądane odchylenie filtra szybkiego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 10; plik jest przepisywany |
SERVICE |
stable_pecision |
Parametr dokładności filtra stabilnego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 0.35; plik jest przepisywany |
SERVICE |
stable_desired_deviation |
Pożądane odchylenie filtra stabilnego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 5; plik jest przepisywany |
SERVICE |
calibrate_pecision |
Parametr dokładności filtra kalibracyjnego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 0.25; plik jest przepisywany |
SERVICE |
calibrate_desired_deviation |
Pożądane odchylenie filtra kalibracyjnego | Wymagane w istniejącej sekcji | Liczba zmiennoprzecinkowa; limity nie są sprawdzane | Sekcja nie jest tworzona automatycznie | 3; plik jest przepisywany |
SERVICE |
median_window |
Rozmiar okna filtra mediany | Wymagane w istniejącej sekcji | 3–100; Wartości spoza zakresu są zastępowane |
Sekcja nie jest tworzona automatycznie | 100; plik jest przepisywany |
SERVICE |
Identyfikatory normal_pecision, stable_pecision, i calibrate_pecision zawierają błąd historyczny pecision, których nie wolno poprawiać w formacie XML.
gain jest ładowany z pliku, ale zapisanie zawsze ustawia kanał A ze wzmocnieniem 128. Nie zmieniaj go ręcznie bez danych dla konkretnego urządzenia.
thermometer
Brakująca sekcja umożliwia normalizację pliku. Wartość sensors_count="0" wyłącza odpytywanie czujników DS18B20.
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
pin_onewire |
Magistrala 1-Wire GPIO | Opcjonalne | GPIO dla konkretnej płyty | 4 |
4; plik jest przepisywany |
SERVICE |
sensors_count |
Liczba czujników DS18B20 | Opcjonalne | 0 wyłącza czujniki; dodatnia liczba całkowita; górny limit nie jest sprawdzany |
2 |
2; plik jest przepisywany |
ADVANCED |
schedule
TimeSlot0–TimeSlot23 atrybuty definiują akcję dla odpowiedniej godziny. Po 30 minucie wybierana jest akcja na następną godzinę; po godzinie 23, TimeSlot0 jest wybrany.
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
TimeSlot0…TimeSlot23 |
Typ zaplanowanej akcji na godzinę 0–23 |
Wszystkie atrybuty są opcjonalne, ale przynajmniej jedno miejsce posiada 2 jest wymagane |
Liczba całkowita od 0 do 5; patrz poniżej |
5 godzinami 0–20; 1 dla 21 i 22; 2 dla 23 |
Brakujące miejsce staje się 0. Jeśli nie 2 pozostanie po odczytaniu, cały harmonogram zostanie zresetowany do harmonogramu początkowego |
ADVANCED |
| Wartość | Akcja | Zalecenie |
|---|---|---|
0 |
Brak zaplanowanych działań | Można zastosować do pustego gniazda |
1 |
Pomiar | Obsługiwane |
2 |
Transmisja poprzez kanał główny | Wymagane w co najmniej jednym gnieździe |
3 |
Zarezerwowane do transmisji przez Wi-Fi | Nie używać |
4 |
Zarezerwowane do transmisji poprzez BLE | Nie używać |
5 |
Budzenie co godzinę w celu synchronizacji | Używany w pierwotnym harmonogramie |
Inne liczby całkowite nie są odrzucane, ale nie mają określonego zachowania. Używaj tylko wartości z tabeli.
Wstępny harmonogram
<schedule
TimeSlot0="5" TimeSlot1="5" TimeSlot2="5" TimeSlot3="5"
TimeSlot4="5" TimeSlot5="5" TimeSlot6="5" TimeSlot7="5"
TimeSlot8="5" TimeSlot9="5" TimeSlot10="5" TimeSlot11="5"
TimeSlot12="5" TimeSlot13="5" TimeSlot14="5" TimeSlot15="5"
TimeSlot16="5" TimeSlot17="5" TimeSlot18="5" TimeSlot19="5"
TimeSlot20="5" TimeSlot21="1" TimeSlot22="1" TimeSlot23="2" />
booster
W tej sekcji ustawia się częstotliwość dodatkowych wybudzeń w celu sprawdzenia parametrów krytycznych. Jeśli sekcja jest nieobecna, podczas pracy stosowana jest przerwa godzinowa; sama nieobecność nie powoduje przepisywania.
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
booster_time_sec |
Dodatkowy okres kontroli | Opcjonalne | 180, 240, 300, 360, 600, 720, 900, 1200, 1800lub 3600 s |
3600 s |
3600 s |
ADVANCED |
Wartość poniżej 180 staje się 180; wartość powyżej 3600 staje się 3600. Pozostałe wartości w zakresie są zaokrąglane do najbliższego obsługiwanego przedziału w tabeli.
range_alarmer
Ta sekcja jest opcjonalna. Jeżeli go nie ma, alarm progowy nie jest inicjowany. Jeśli alarm="false" lub alarm brak atrybutu, limity nie są odczytywane i nie jest uruchamiane zadanie alarmu tła.
| Pole | Przeznaczenie | Wymagalność | Dopuszczalne wartości / granice | Wartość początkowa | Jeśli nie podano | Poziom |
|---|---|---|---|---|---|---|
alarm |
Włącza alarmy progowe | Opcjonalne | true, false |
false |
false |
USER |
T1_min |
Dolna granica T1 | Opcjonalne | Liczba zmiennoprzecinkowa, °C; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | -500 °C w nowo utworzonym pliku |
Z alarm="true", nie ma dolnej granicy |
ADVANCED |
T1_max |
Górna granica T1 | Opcjonalne | Liczba zmiennoprzecinkowa, °C; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | 500 °C w nowo utworzonym pliku |
Z alarm="true", nie ma górnej granicy |
ADVANCED |
T2_min |
Dolna granica T2 | Opcjonalne | Liczba zmiennoprzecinkowa, °C; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | -500 °C w nowo utworzonym pliku |
Z alarm="true", nie ma dolnej granicy |
ADVANCED |
T2_max |
Górna granica T2 | Opcjonalne | Liczba zmiennoprzecinkowa, °C; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | 500 °C w nowo utworzonym pliku |
Z alarm="true", nie ma górnej granicy |
ADVANCED |
Humidity_min |
Dolna granica wilgotności | Opcjonalne | Liczba zmiennoprzecinkowa,%; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | -20 % w nowo utworzonym pliku |
Z alarm="true", nie ma dolnej granicy |
ADVANCED |
Humidity_max |
Górna granica wilgotności | Opcjonalne | Liczba zmiennoprzecinkowa,%; limity fizyczne i kolejność min/max nie są sprawdzane automatycznie | 200 % w nowo utworzonym pliku |
Z alarm="true", nie ma górnej granicy |
ADVANCED |
Dla każdego źródła — T1, T2 lub wilgotności — wystarczy jeden limit. Jeżeli dla danego źródła nie określono limitu, nie jest on dodawany do czeku. Kolejność _min i _max nie jest sprawdzane automatycznie.
Przykład alarmu jednostronnego
W tym przykładzie T1 jest monitorowane tylko od góry, T2 tylko od dołu, a wilgotność nie jest monitorowana:
<range_alarmer alarm="true" T1_max="45.0" T2_min="-10.0" />
Ogólną częstotliwość SMS-ów i potwierdzanie alarmów PIR konfiguruje się za pomocą alarm_sms_sec_interval, alarm_by_changes_count, i alarm_by_long_state w mset.xml.
Przykład konstrukcyjny bez wagi
Ten plik używa początkowego harmonogramu, dwóch czujników temperatury i wyłączonych alarmów progowych. scales sekcja jest nieobecna, dlatego nie jest tworzony obiekt wagi.
<settings>
<hive hive_name="hive1" bus_number="0" main_device="true" />
<booster booster_time_sec="3600" />
<range_alarmer alarm="false"
T1_max="500" T1_min="-500"
T2_max="500" T2_min="-500"
Humidity_max="200" Humidity_min="-20" />
<thermometer pin_onewire="4" sensors_count="2" />
<schedule
TimeSlot0="5" TimeSlot1="5" TimeSlot2="5" TimeSlot3="5"
TimeSlot4="5" TimeSlot5="5" TimeSlot6="5" TimeSlot7="5"
TimeSlot8="5" TimeSlot9="5" TimeSlot10="5" TimeSlot11="5"
TimeSlot12="5" TimeSlot13="5" TimeSlot14="5" TimeSlot15="5"
TimeSlot16="5" TimeSlot17="5" TimeSlot18="5" TimeSlot19="5"
TimeSlot20="5" TimeSlot21="1" TimeSlot22="1" TimeSlot23="2" />
</settings>
Sekcja wag kompletnych
Poniższy przykład strukturalny wykorzystuje wartości rezerwowe i jest udostępniany wyłącznie w celach archiwalnych. Nie instaluj go na urządzeniu: wartości kalibracyjne i piny muszą pochodzić z kopii zapasowej tego konkretnego urządzenia lub zostać utworzone w drodze standardowej procedury kalibracji.
<scales pin_hc711_data="27" pin_hc711_clk="26" gain="0"
zero_calibrate_measurement="-486050"
weight_calibrate_measurement="-498030"
calibrate_weight="500" start_weight="0" source_weight="1"
normal_pecision="0.5" normal_desired_deviation="10"
stable_pecision="0.35" stable_desired_deviation="5"
calibrate_pecision="0.25" calibrate_desired_deviation="3"
median_window="100" />
GPIO 27 i 26 stanowią jedynie przykład dla jednego urządzenia i nie są uniwersalne. Użyj wartości z kopii zapasowej konkretnego urządzenia.