mirror of
https://github.com/adamzend/Uploading-server-data-meteo-to-Lemmy-instance.git
synced 2026-10-30 19:02:00 +01:00
103 lines
5.3 KiB
Plaintext
103 lines
5.3 KiB
Plaintext
OPIS CONFIG.JSON
|
|
|
|
Utwórz config.json przez install.sh lub skopiuj config.example.json.
|
|
Plik jest JSON: klucze i tekst w podwójnych cudzysłowach, kropka dziesiętna,
|
|
true/false małymi literami, null dla nieustawionego ID. Bez komentarzy
|
|
wewnątrz JSON i bez przecinka po ostatnim polu.
|
|
|
|
timezone
|
|
Strefa IANA, domyślnie UTC. Wpisz strefę swojej stacji. Steruje opisami dat
|
|
i wyborem miesiąca, nie zmienia strefy systemowego CRON-a.
|
|
stale_after_minutes
|
|
Domyślnie 90. Maksymalny wiek odczytu, by przy publikacji uznać go za świeży.
|
|
Także granica odstępu między punktami, po której wykres przerywa linię.
|
|
Dobierz do harmonogramu: dla pomiaru co godzinę 90 daje zapas 30 minut.
|
|
|
|
modbus.host
|
|
Adres IP lub nazwa urządzenia dostępnego z serwera. W szablonie pusty:
|
|
musisz go uzupełnić. Sam host, bez przedrostka protokołu i bez portu.
|
|
modbus.port
|
|
Port TCP urządzenia, domyślnie standardowe 502; dopuszczalne 1..65535.
|
|
modbus.unit_id
|
|
ID urządzenia za bramką, 0..255. Wpisz wartość z dokumentacji urządzenia.
|
|
modbus.function_code
|
|
3 = Holding Registers (FC03), 4 = Input Registers (FC04).
|
|
Jeden typ odczytu obowiązuje wszystkie trzy czujniki.
|
|
modbus.timeout_seconds
|
|
Limit oczekiwania na połączenie/operację odczytu; domyślnie 5.
|
|
modbus.attempts
|
|
Maksymalna liczba prób całego zestawu pomiarów, 1..10, domyślnie 3.
|
|
modbus.retry_delay_seconds
|
|
Przerwa między nieudanymi próbami, domyślnie 2 sekundy.
|
|
|
|
sensors.temperature / sensors.humidity / sensors.pressure
|
|
Każda z trzech sekcji ma WŁASNE pola:
|
|
address: adres rejestru przesyłany w protokole, 0..65535. null trzeba
|
|
zastąpić liczbą. Program nie odejmuje automatycznie 1 ani 40001.
|
|
Oznaczenia producenta typu 40001/LW nie są uniwersalne; sprawdź,
|
|
czy instrukcja urządzenia stosuje adresy zerowe czy numerację od 1.
|
|
signed: true dla int16 ze znakiem; false dla uint16. Dla temperatury
|
|
ujemnej najczęściej potrzebne true. Zależy od urządzenia.
|
|
multiplier: osobny mnożnik. Przykład: 0.1 daje dzielenie przez 10.
|
|
offset: korekta dodawana po przemnożeniu, zwykle 0.
|
|
min / max: dopuszczalny zakres już PRZELICZONEGO wyniku. Poza zakresem
|
|
oznacza błąd całej próby, a nie automatyczne ograniczenie wartości.
|
|
|
|
Wzór: wynik = wartość_po_dekodowaniu_znaku * multiplier + offset.
|
|
Przykłady:
|
|
234 * 0.1 + 0 = 23.4 -> we wpisie „23,4 °C”.
|
|
65481 przy signed=true -> -55 -> * 0.1 = -5.5 °C.
|
|
456 * 0.1 = 45.6 %.
|
|
10132 * 0.1 = 1013.2 hPa.
|
|
Temperatura jest prezentowana w °C, wilgotność w %, ciśnienie w hPa.
|
|
Jeśli urządzenie daje inne jednostki, dobierz multiplier i offset, aby
|
|
wynik był właśnie w tych jednostkach. Nie zmieniaj tylko etykiety.
|
|
Nie ma obsługi dodatkowych czujników ani dowolnej listy parametrów.
|
|
|
|
lemmy.enabled
|
|
false: bez publikowania; true: włącz API po uzupełnieniu wymaganych pól.
|
|
lemmy.instance
|
|
Pełny bazowy adres HTTPS własnej instancji, bez /post/... lub /api/v3,
|
|
bez loginu/hasła w URL. Użyj adresu docelowego bez przekierowań HTTP.
|
|
lemmy.username / lemmy.password
|
|
Login (lub e-mail) i hasło konta autora Lemmy. To nie są dane do systemu,
|
|
Modbus, bazy PostgreSQL ani SMTP. Hasło jest lokalnie w config.json;
|
|
dostęp ogranicza chmod 600. To plik tajny, nie zaszyfrowany sejf.
|
|
lemmy.community_id
|
|
Dodatni liczbowy ID społeczności na tej instancji, nie jej nazwa.
|
|
lemmy.post_id
|
|
null: wyszukaj/utwórz wpis. Dodatnie ID: aktualizuj wskazany własny wpis.
|
|
Stan z data/lemmy-state.json ma utrzymać ciągłość; sprzeczne ID powoduje błąd.
|
|
lemmy.title
|
|
Tytuł nowego wpisu i kryterium rozpoznawania po niepewnym utworzeniu.
|
|
lemmy.heading
|
|
Nagłówek wyświetlany nad temperaturą w treści wpisu.
|
|
lemmy.pin_in_community
|
|
true: próbuj przypiąć wpis w społeczności. Konto musi mieć uprawnienia.
|
|
false nie odpina wpisu już przypiętego; wyłącza wymuszanie przypięcia.
|
|
lemmy.update_note
|
|
Tekst pod wartościami, np. opis częstotliwości. Sam nie zmienia CRON-a.
|
|
|
|
PAMIĘTAJ
|
|
Po edycji: .venv/bin/python settings.py. Nie wyświetla haseł.
|
|
Zmiany wczytywane są podczas kolejnego uruchomienia; usługa stale działająca
|
|
nie jest potrzebna, a serwera nie trzeba restartować.
|
|
W razie niepewności sprawdź jeden odczyt z lemmy.enabled=false.
|
|
|
|
|
|
WERSJA 1.1.0 — ODZYSKIWANIE ODCZYTU I HEARTBEAT
|
|
Po szybkich próbach aplikacja ponawia odczyt do 5 razy co 60 sekund.
|
|
Sekcja recovery: attempts (0..10, 0 wyłącza), delay_seconds (1..600).
|
|
Sekcja heartbeat: enabled=true włącza kontrolę; address to adres rejestru
|
|
licznika stacji, liczony od zera. timeout_seconds=70, poll_interval_seconds=5.
|
|
Licznik musi pochodzić ze stacji pomiarowej, a nie z cyklu ekranu HMI.
|
|
checks to opcjonalna lista {"address": 101, "allowed_values": [1]} —
|
|
adres jest przykładowy; dopasuj do dokumentacji własnego urządzenia.
|
|
Zmiana licznika musi nastąpić podczas bieżącego odczytu. Zawinięcie licznika
|
|
jest poprawne. Brak zmiany lub błędna diagnostyka wyklucza zielony status.
|
|
Ostatnie poprawne wartości zostają zachowane z ich rzeczywistym czasem.
|
|
Bez konfiguracji heartbeat kontrola jest wyłączona (zgodność ze starszą wersją).
|
|
Odczyty odbywają się wg harmonogramu, a nie stale. Heartbeat potwierdza pracę
|
|
źródła, nie sprawność każdego czujnika. Do tego służą dodatkowe checks.
|
|
Szczegóły, przyczyny zmian i aktualizacja: RELEASE_v1.1.0.md.
|