atrea_control 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68f9514437807e5b2866e168be26f647b86e5691b790995a6601cbfaed0a8076
4
- data.tar.gz: 0bbc369ca0fb7ef6e678785be170f7ce17404acd5c8e8f5972a1f7ac58b4e654
3
+ metadata.gz: bdf15229042c9284e6e7c385a94336e769d2c0118b7b9e723ed673faacfbac26
4
+ data.tar.gz: 8926e926db7cfea4b5f48473bfb9a13c57584adfea15d19afbd70b70fa3b43c0
5
5
  SHA512:
6
- metadata.gz: 326fbbe14ad1021edbb031928fc2fb99e835fe419dd28acd2e77f73c2547915bc8ff8db8180333960eb5d21508c089edc2e730a455247437f2cc338976f93840
7
- data.tar.gz: 50c81e105c82a2ae3197d8c21c899c8a6bcc53ad97fbc34bca61d2913b774d82b598aee27a18bf517d44e83a5d8ed3ce4e833d96a2ea575c7e3dceec2fbc157e
6
+ metadata.gz: b774b17e3be8f214eb756839fa464f9f46bba7a2363cd1a1508c47796e6884ce16dc8172f8ceeb73b67d97bd4d9eec7d2736bcec843ce4242b73e4d457d8f3de
7
+ data.tar.gz: 2af518d17ad3757473bc6b0611d3b17eeeb47d6039567dd597df19979059886d8a9225915e08c4538f72eeaf7e1065efbb2714077f4b4cae7632c7fe90511919
data/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
  ## [Unreleased]
2
+ ## [1.4.0] - 2021-12-12
3
+ ### Changed
4
+ - founded way to get config and data from Atrea server
5
+
2
6
  ## [1.3.1] - 2021-12-11
3
7
  ### Changed
4
8
  - version of selenium
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- atrea_control (1.3.0)
4
+ atrea_control (1.4.0)
5
+ i18n (~> 1.8)
5
6
  nokogiri (~> 1.12)
6
7
  rest-client (~> 2.1)
7
8
  selenium-webdriver (~> 4.1)
@@ -14,6 +15,7 @@ GEM
14
15
  ast (2.4.2)
15
16
  childprocess (4.1.0)
16
17
  coderay (1.1.3)
18
+ concurrent-ruby (1.1.9)
17
19
  crack (0.4.5)
18
20
  rexml
19
21
  diff-lcs (1.4.4)
@@ -24,6 +26,8 @@ GEM
24
26
  http-accept (1.7.0)
25
27
  http-cookie (1.0.4)
26
28
  domain_name (~> 0.5)
29
+ i18n (1.8.11)
30
+ concurrent-ruby (~> 1.0)
27
31
  method_source (1.0.0)
28
32
  mime-types (3.4.1)
29
33
  mime-types-data (~> 3.2015)
@@ -31,8 +35,6 @@ GEM
31
35
  netrc (0.11.0)
32
36
  nokogiri (1.12.5-x86_64-darwin)
33
37
  racc (~> 1.4)
34
- nokogiri (1.12.5-x86_64-linux)
35
- racc (~> 1.4)
36
38
  parallel (1.21.0)
37
39
  parser (3.0.3.2)
38
40
  ast (~> 2.4.1)
@@ -3,14 +3,14 @@
3
3
  require_relative "lib/atrea_control/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "atrea_control"
7
- spec.version = AtreaControl::VERSION
8
- spec.authors = ["Lukáš Pokorný"]
9
- spec.email = ["pokorny@luk4s.cz"]
10
-
11
- spec.summary = "Get data control.atrea.eu"
12
- spec.description = "Read data from web controller of RD5 duplex by Atrea."
13
- spec.homepage = "https://github.com/luk4s/atrea_control"
6
+ spec.name = "atrea_control"
7
+ spec.version = AtreaControl::VERSION
8
+ spec.authors = ["Lukáš Pokorný"]
9
+ spec.email = ["pokorny@luk4s.cz"]
10
+
11
+ spec.summary = "Get data control.atrea.eu"
12
+ spec.description = "Read data from web controller of RD5 duplex by Atrea."
13
+ spec.homepage = "https://github.com/luk4s/atrea_control"
14
14
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.2")
15
15
 
16
16
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
@@ -18,14 +18,16 @@ Gem::Specification.new do |spec|
18
18
  spec.metadata["homepage_uri"] = spec.homepage
19
19
  spec.metadata["source_code_uri"] = "https://github.com/luk4s/atrea_control"
20
20
  spec.metadata["changelog_uri"] = "https://github.com/luk4s/atrea_control/CHANGELOG.md"
21
-
21
+ spec.metadata = {
22
+ "rubygems_mfa_required" => "true",
23
+ }
22
24
  # Specify which files should be added to the gem when it is released.
23
25
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
26
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
27
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
26
28
  end
27
- spec.bindir = "exe"
28
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
+ spec.bindir = "exe"
30
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
29
31
  spec.require_paths = ["lib"]
30
32
 
31
33
  # Uncomment to register a new dependency of your gem
@@ -34,7 +36,9 @@ Gem::Specification.new do |spec|
34
36
  # For more information and examples about making a new gem, checkout our
35
37
  # guide at: https://bundler.io/guides/creating_gem.html
36
38
 
39
+ spec.add_dependency "i18n", "~> 1.8"
37
40
  spec.add_dependency "nokogiri", "~> 1.12"
38
41
  spec.add_dependency "rest-client", "~> 2.1"
39
42
  spec.add_dependency "selenium-webdriver", "~> 4.1"
43
+
40
44
  end
@@ -0,0 +1,269 @@
1
+ ---
2
+ cs:
3
+ mainTitle: Váš specialista na rekuperaci tepla a ekonomii vzduchotechnických systémů
4
+ save: Uložit
5
+ cancel: Storno
6
+ copy: Kopírovat
7
+ refresh: Obnovit
8
+ change: Změnit
9
+ pleaseWait: Prosím, čekejte ...
10
+ backToHome: Návrat na hlavní stranu
11
+ mainPage: Hlavní strana
12
+ serviceMenu: Servisní menu
13
+ activeFrom: Aktivní od
14
+ hours: Hodiny
15
+ minutes: Minuty
16
+ record: Záznam
17
+ allowed: Povoleno
18
+ netSetup: Nastavení sítě
19
+ getFromDHCP: Načíst hodnoty ze serveru DHCP
20
+ useNextValues: Použít následující hodnoty
21
+ addressIP: IP adresa
22
+ subnetMask: Maska podsítě
23
+ defaultGW: Výchozí brána
24
+ serverDNS: DNS server
25
+ FTPsetup: Nastavení hesla FTP serveru
26
+ passwordOld: Původní heslo
27
+ passwordNew: Nové heslo
28
+ passwordConfirm: Potvrzení nového hesla
29
+ airCond: Vzduchotechnika
30
+ airCondSetup: Nastavení vzduchotechniky
31
+ temperature: Teplota
32
+ tempSetup: Nastavení teploty
33
+ notInDemo: V demo verzi není podporováno
34
+ thisTimeExist: Zadaný čas již existuje
35
+ serviceSetup: Servisní nastavení
36
+ activeAlarms: Aktivní alarmy
37
+ alarmHistory: Historie alarmů
38
+ unitStarted: Start jednotky
39
+ active: Aktivní
40
+ noAlarmDefined: Není definován žádný alarm
41
+ noAlarmDetected: Není detekován žádný alarm
42
+ values: Hodnoty
43
+ parameters: Parametry
44
+ badInput: Chybné zadání
45
+ allowedRange: Povolený rozsah
46
+ start: Start
47
+ stop: Stop
48
+ text: Text
49
+ digiVer: Verze DIGI modulu
50
+ rdVer: Verze RD modulu
51
+ unitAddress: Adresa jednotky
52
+ currentMode: Aktuální mód provozu
53
+ damageWarning: Pozor nastavením těchto parametrů lze způsobit neadekvátní reakci
54
+ větrací jednotky, což může zapříčinit její poruchu či poškození. Za neuvážené
55
+ změny v nastavení výstupů nenese výrobce zařízení žádnou zodpovědnost!
56
+ parameter: Parametr
57
+ value: Hodnota
58
+ minimum: Minimum
59
+ maximum: Maximum
60
+ defValue: Výchozí hodnota
61
+ warning: Varování
62
+ error: Nastav
63
+ accessPrompt: Kontrola přístupu, zadejte přístupový kód
64
+ accessDenied: Přístup odepřen, chybný kód nebo příliš mnoho přihlášených!
65
+ swVer: Verze software
66
+ orderNum: Číslo zakázky
67
+ userSetup: Uživatelské nastavení
68
+ switchman: Manuál
69
+ valueOutOfRange: Hodnota leží mimo rozsah
70
+ fwStep1: Krok 1. - Uložení nastavení
71
+ fwStep2: Krok 2. - Update firmware
72
+ fwSTep3: Krok 3. - Obnova nastavení
73
+ saveSettings: Uložit nastavení
74
+ updateIt: Provést update
75
+ restoreSettings: Obnovit nastavení
76
+ parsNotSaved: Parametry nebyly dosud uloženy
77
+ errLengthCoo: Chyba dat, použijte jiný prohlížeč
78
+ parsSaved: Parametry uloženy
79
+ updateInProcess: Probíhá update, prosím čekejte
80
+ updateNoFile: Nebyl nalezen žádný soubor pro update
81
+ updateSucess: UPDATE dokončen
82
+ updateError: Chyba při updatu
83
+ manControlOn: Ruční řízení povoleno
84
+ manControlOff: Ruční řízení neaktivní
85
+ notConnected: Nepřipojeno
86
+ PgFW_FS1: Obnova/Záloha nastavení
87
+ PgFW_S1: Provedení zálohy servisního nastavení
88
+ PgFW_SB1: Zálohovat
89
+ PgFW_S2: Obnova servisního nastavení ze zálohy
90
+ PgFW_SB2: Obnovit
91
+ PgFW_S3: Obnova nastavení do výrobních hodnot
92
+ PgFW_SB3: Obnovit
93
+ PgFW_FS2: Update
94
+ PgFW_U2: Stažení aplikace pro update
95
+ PgFW_UB1: Otevřít
96
+ PgFW_SB1c: 'Přejete si vytvořit zálohu servisního nastavení? '
97
+ PgFW_SB2c: Opravdu si přejete obnovit servisní nastavení ze zálohy?
98
+ PgFW_SB3c: Opravdu si přejete obnovit výrobní nastavení?
99
+ fwUnit: FW Jednotky
100
+ fwAvail: Dostupný FW
101
+ restInProgress: Probíhá obnova nastavení
102
+ restart: Restart
103
+ activate: Aktivovat
104
+ deactivate: Deaktivovat
105
+ badTimeZone: Nesprávné časové pásmo
106
+ badTime: Nesprávné nastavení času
107
+ setByPC: Nastavit podle PC
108
+ msgFindAddr: Zadejte novou adresu jednotky.
109
+ dtFilterChange: Datum výměny filtru
110
+ confirmFilter: Potvrdit výměnu
111
+ confFilterQuest: Opravdu byl filtr vyměněn?
112
+ 'off': Vypnuto
113
+ 'on': Zapnuto
114
+ dayOfWeek: Den v týdnu
115
+ monday: Pondělí
116
+ tuesday: Úterý
117
+ wednesday: Středa
118
+ thursday: Čtvrtek
119
+ friday: Pátek
120
+ saturday: Sobota
121
+ sunday: Neděle
122
+ medium: Střední
123
+ night: Noc
124
+ day: Den
125
+ power: Výkon
126
+ automatic: Týdenní program
127
+ manual: Ruční
128
+ temporary: Dočasné
129
+ non: Není
130
+ mode: Režim
131
+ perVentilation: Periodické větrání
132
+ ventilation: Větrání
133
+ circulation: Cirkulace
134
+ startUp: Náběh
135
+ runDown: Doběh
136
+ defrosting: Odtávání rekuperátoru
137
+ external: Externě
138
+ inactive: Vypnuto
139
+ zone: Zóna
140
+ heating: Topná
141
+ nonHeating: Netopná
142
+ dateTime: Datum a čas
143
+ filterChange: Výměna filtru
144
+ notWhenAuto: Řízení teploty je nastaveno na automatiku, změna je platná pouze do
145
+ příští změny režimu.
146
+ heatingSched: Rozvrh topná sezóna
147
+ nonHeatingSched: Rozvrh netopná sezóna
148
+ userSetting: Uživatelské nastavení
149
+ season: Sezóna
150
+ modeAC: Režim VZT
151
+ modeTemp: Režim teploty
152
+ controlSetting: Nastavení regulace
153
+ tempSenzorDev: Korekce čidla teploty ovladače
154
+ inputBlock: Blokování vstupu
155
+ personsCount: Počet osob
156
+ thermostatFcn: Funkce termostatu
157
+ holidayParty: Dovolená / párty
158
+ texts: Texty
159
+ txtZone1: Text pro zónu 1
160
+ txtZone2: Text pro zónu 2
161
+ txtZone12: Text pro zónu 1 2
162
+ swInfo: Informace o SW
163
+ alarms: Alarmy
164
+ controlAC: Řízení VZT
165
+ controlTemp: Řízení teploty
166
+ currentPower: Aktuální výkon
167
+ requiredPower: Požadovaný výkon
168
+ requiredTemp: Požadovaná teplota
169
+ requiredMode: Požadovaný režim
170
+ indoorTemp: Vnitřní teplota
171
+ inletTemp: Teplota přívodu
172
+ czech: Česky
173
+ german: Německy
174
+ english: Anglicky
175
+ eqVent: Rovnotlaké větrání
176
+ ventCirc: Větrání s cirkulací
177
+ circDepend: Cirkulace závislá
178
+ overPrVent: Přetlakové větrání
179
+ devHeating: Odchylka pro topení
180
+ devCooling: Odchylka pro chlazení
181
+ devCoolMax: Odchylka pro chlazení na max.
182
+ productNumber: Výrobní číslo
183
+ unitType: Typ jednotky
184
+ polish: Polsky
185
+ bySens: Auto - větrání
186
+ hpDefrosting: Odmražení TČ
187
+ userLogin: Přihlášení uživatele
188
+ passwordInput: Zadejte heslo
189
+ loginCmd: Přihlásit
190
+ weeklyProgram: Týdenní program
191
+ italiano: Italsky
192
+ nightBefCool: Noční předchlazení
193
+ passwordMenu: Změna hesla
194
+ enterAllFields: Zadejte všechny údaje!
195
+ passwordNoChk: Nové heslo a jeho potvrzeni se neshoduje!
196
+ passwordBad: Heslo může obsahovat pouze znaky a-z, A-Z a číslice!
197
+ passwordSaved: Heslo bylo uloženo.
198
+ passwordSaveErr: Chyba při ukládání hesla.
199
+ unavail: Nedostupná
200
+ disabledRange: Nepovolený rozsah
201
+ emergMode: Nouzový režim
202
+ outdoorTemp: Venkovní teplota
203
+ currentZone: Aktuální zóna
204
+ components: Komponenty
205
+ all: Vše
206
+ modeAuto: Automat
207
+ disbalance: Rozvážení
208
+ saveActive: Uložit / Aktivovat
209
+ holidays: Svátky
210
+ vacations: Prázdniny
211
+ unitDesign: Provedení
212
+ unitSpec: Specifikace
213
+ partyStart: Spustit v
214
+ partyEnd: Ukončit v
215
+ tsNtsSwitch: Přepnutí TS/NTS
216
+ tsNtsTemp: Teplota TS/NTS
217
+ in1Block: Blokace cidla IN1
218
+ in2Block: Blokace cidla IN2
219
+ hystHeat: Hystereze topení
220
+ hystCool: Hystereze chlazení
221
+ set: Nastavit
222
+ timeZone: Časové pásmo
223
+ settingTZ: Nastavení časového pásma
224
+ producer: Výrobce
225
+ unitLine: Řada
226
+ unitSize: Velikost jednotky
227
+ unitIntDesign: Vnitřní uspořádání
228
+ currentConfig: Aktuální nastavení
229
+ monthName1: Leden
230
+ monthName2: Únor
231
+ monthName3: Březen
232
+ monthName4: Duben
233
+ monthName5: Květen
234
+ monthName6: Červen
235
+ monthName7: Červenec
236
+ monthName8: Srpen
237
+ monthName9: Září
238
+ monthName10: Říjen
239
+ monthName11: Listopad
240
+ monthName12: Prosinec
241
+ holidayTip: Svátek / Prázdniny
242
+ prodCodeInput: Zadejte kód výrobce
243
+ logType: Typ logu
244
+ current: Aktuální
245
+ week: Týden
246
+ month: Měsíc
247
+ selectDay: Vyberte den
248
+ show: Zobrazit
249
+ dataNotFound: Data nenalezena
250
+ logLive: On-line
251
+ holidayVacation: Svátky a prázdniny
252
+ timeAutoSwitch: Automatické přepnutí na letní čas
253
+ timeSyncInet: Synchronizace času s Internetem
254
+ unitTime: Čas jednotky
255
+ inputs: Vstupy
256
+ outputs: Výstupy
257
+ others: Ostatní
258
+ heatIconTip: Aktivní topení
259
+ coolIconTip: Aktivní chlazení
260
+ partyIconTip: Aktivní režim Párty/Dovolená
261
+ alarmIconTip: Aktivní alarm
262
+ PgFW_S2A: Záloha z
263
+ reset: Reset
264
+ commun: Komunikace
265
+ serverPing: Služba "Connect server"
266
+ acsService: Přístup servisu
267
+ acsDistr: Přístup distributora
268
+ lastCommun: Poslední komunikace
269
+ unitName: Jméno jednotky
@@ -0,0 +1,269 @@
1
+ ---
2
+ de:
3
+ mainTitle: Ihr Spezialist für Lüftung mit Wärmerückgewinnung
4
+ save: Speichern
5
+ cancel: Abbrechen
6
+ copy: Kopieren
7
+ refresh: Überschreiben
8
+ change: Übernehmen
9
+ pleaseWait: Bitte warten
10
+ backToHome: Zurück zur Startseite
11
+ mainPage: Startseite
12
+ serviceMenu: Service Menü
13
+ activeFrom: Aktiv
14
+ hours: Analog
15
+ minutes: Minuten
16
+ record: Eintrag
17
+ allowed: Ermöglicht
18
+ netSetup: Netzeinstellungen
19
+ getFromDHCP: DHCP Einstellung
20
+ useNextValues: Folgende Einstellungen verwenden
21
+ addressIP: IP Addresse
22
+ subnetMask: Subnet Maske
23
+ defaultGW: Gateway
24
+ serverDNS: DNS Server
25
+ FTPsetup: FTP Server Passwort
26
+ passwordOld: 'Original Passwort '
27
+ passwordNew: Neues Passwort
28
+ passwordConfirm: Password bestätigen
29
+ airCond: Lüftungsgerät
30
+ airCondSetup: Geräte Einstellungen
31
+ temperature: Temperatur
32
+ tempSetup: Temperatur Einstellungen
33
+ notInDemo: Demoversion wird nicht unterstützt
34
+ thisTimeExist: Zeitvorgabe existiert bereits
35
+ serviceSetup: Service Einstellungen
36
+ activeAlarms: Aktive Alarme
37
+ alarmHistory: Alarm Historie
38
+ unitStarted: Anlauf
39
+ active: Aktiv
40
+ noAlarmDefined: Kein Alarm definiert
41
+ noAlarmDetected: Keine aktiven Alarme
42
+ values: Wert
43
+ parameters: Parameter
44
+ badInput: Falsche Eingabe
45
+ allowedRange: Erforderlicher Bereich
46
+ start: Start
47
+ stop: Stop
48
+ text: Text
49
+ digiVer: DIGI Module Version
50
+ rdVer: RD Module Version
51
+ unitAddress: Geräte Adresse
52
+ currentMode: Aktueller Modus
53
+ damageWarning: Achtung! Bei falscher Einstellung dieser Parameter, besteht die Möglichkeit,
54
+ dass das Gerät nicht richtig arbeitet. Für Schäden, die durch falsche Einstellung
55
+ entstehen, übernimmt der Hersteller keine Haftung!
56
+ parameter: Parameter
57
+ value: Wert
58
+ minimum: Minimum
59
+ maximum: Maximal
60
+ defValue: Standard Wert
61
+ warning: Warnung
62
+ error: Eingeben
63
+ accessPrompt: Geben Sie bitte den Service-Code ein
64
+ accessDenied: Zugriff verweigert, falscher Code
65
+ swVer: Software Version
66
+ orderNum: Produktionsnummer
67
+ userSetup: Benutzereinstellungen
68
+ switchman: Manuell
69
+ valueOutOfRange: Der Wert liegt außerhalb des Bereichs
70
+ fwStep1: Schritt 1 - Speichern der Parameter
71
+ fwStep2: Schritt 2 - Firmware Update
72
+ fwSTep3: Schritt 3 - Aktualisierung
73
+ saveSettings: Speichern der Parameter
74
+ updateIt: Updaten
75
+ restoreSettings: Wiederherstellen der Parameter
76
+ parsNotSaved: Parameter wurden nicht gespeichert
77
+ errLengthCoo: Fehler! - Bitte verwenden Sie einen anderen Browser
78
+ parsSaved: Parameter wurden gespeichert
79
+ updateInProcess: Update, bitte warten...
80
+ updateNoFile: Datei wurde nicht gefunden...
81
+ updateSucess: Update war erfolgreich!
82
+ updateError: Störung - Update
83
+ manControlOn: Manuelle Eingabe aktiv!
84
+ manControlOff: Manuelle Eingabe deaktiviert
85
+ notConnected: Nicht angeschlossen
86
+ PgFW_FS1: Backup Einstellungen wiederherstellen
87
+ PgFW_S1: Backup Serviceeinstellungen
88
+ PgFW_SB1: Backup
89
+ PgFW_S2: Serviceeinstellungen wiederherstellen
90
+ PgFW_SB2: Überschreiben
91
+ PgFW_S3: Werkseinstellungen wiederherstellen
92
+ PgFW_SB3: Überschreiben
93
+ PgFW_FS2: Update
94
+ PgFW_U2: Download Update Anwendungen
95
+ PgFW_UB1: Öffnen
96
+ PgFW_SB1c: Möchten Sie wirklich ein Backup der Serviceeinstellungen durchführen?
97
+ PgFW_SB2c: Möchten Sie wirklich die Serviceeinstellung wiederherstellen?
98
+ PgFW_SB3c: Möchten Sie wirklich die Standardeinstellungen wiederherstellen?
99
+ fwUnit: Vorhandene FW
100
+ fwAvail: Verfügbare FW
101
+ restInProgress: Parameter werden wiederhergestellt
102
+ restart: Neustart
103
+ activate: Aktivieren
104
+ deactivate: Deaktivieren
105
+ badTimeZone: Falsche Zeitzone
106
+ badTime: Falsche Zeiteinstellung
107
+ setByPC: Einstellen nach PC
108
+ msgFindAddr: Geben Sie eine neue Geräteadresse ein
109
+ dtFilterChange: Nächst. Filterwechsel
110
+ confirmFilter: Filter gewechselt
111
+ confFilterQuest: Wurden die Filter gewechselt?
112
+ 'off': Aus
113
+ 'on': Ein
114
+ dayOfWeek: Wochentag
115
+ monday: Montag
116
+ tuesday: Dienstag
117
+ wednesday: Mittwoch
118
+ thursday: Donnerstag
119
+ friday: Freitag
120
+ saturday: Samstag
121
+ sunday: Sonntag
122
+ medium: Mittlerer
123
+ night: Nacht
124
+ day: Tag
125
+ power: Luftleistung
126
+ automatic: Wochenprogramm
127
+ manual: Manuell
128
+ temporary: Vorübergehend
129
+ non: Keine
130
+ mode: Betriebsmodus
131
+ perVentilation: Periodische Lüftung
132
+ ventilation: Lüftung
133
+ circulation: Umluft
134
+ startUp: Anlauf
135
+ runDown: Auslauf
136
+ defrosting: Enteisung
137
+ external: Extern
138
+ inactive: Aus
139
+ zone: Lüftungszone
140
+ heating: Heizsaison
141
+ nonHeating: Nichtheizsaison
142
+ dateTime: Datum/Uhrzeit
143
+ filterChange: Filtertausch
144
+ notWhenAuto: Wenn die Temperatursteuerung im Automatik Modus läuft, ist dei momentane
145
+ Einstellung nur bis zum nächsten Wochenprogramm Intervall gültig.
146
+ heatingSched: Wochenprogramm - Heizsaison
147
+ nonHeatingSched: Wochenprogramm - Nichtheizsaison
148
+ userSetting: Benutzereinstellungen
149
+ season: Saison
150
+ modeAC: Lüftungsmodus
151
+ modeTemp: Temperaturmodus
152
+ controlSetting: Regelungsparameter
153
+ tempSenzorDev: Korrektur Raumtemperatur Sensor
154
+ inputBlock: Blockierung IN1/IN2
155
+ personsCount: Anzahl der Personen
156
+ thermostatFcn: Funktion Temperaturwächter
157
+ holidayParty: Urlaub / Party
158
+ texts: Bezeichnungen
159
+ txtZone1: Zone 1
160
+ txtZone2: Zone 2
161
+ txtZone12: Zone 1 2
162
+ swInfo: Software Information
163
+ alarms: Alarme
164
+ controlAC: Lüftungsregelung
165
+ controlTemp: Temperaturregelung
166
+ currentPower: Aktuelle Leistung
167
+ requiredPower: Ausgewählte Leistung
168
+ requiredTemp: Ausgewählte Temperatur
169
+ requiredMode: Ausgewählter Modus
170
+ indoorTemp: Raumtemperatur
171
+ inletTemp: Zulufttemperatur
172
+ czech: Tschechisch
173
+ german: Deutsch
174
+ english: Englisch
175
+ eqVent: Konstant Volumenstrom Modus
176
+ ventCirc: Lüftung mit Zirkulation
177
+ circDepend: Zirkulations intervall
178
+ overPrVent: Überdruck Lüftung
179
+ devHeating: Korrektur Abweichung Heizung
180
+ devCooling: Korrektur Abweichung Kühlung
181
+ devCoolMax: Maximale Temperaturabweichung für maximale Kühlung
182
+ productNumber: Produktionsnummer
183
+ unitType: Gerätetyp
184
+ polish: Polnisch
185
+ bySens: Automatik
186
+ hpDefrosting: Enteisung Nachheizregister PWW
187
+ userLogin: Benutzeranmeldung
188
+ passwordInput: Passwort eingeben
189
+ loginCmd: einloggen
190
+ weeklyProgram: Wochenprogramm
191
+ italiano: Italienisch
192
+ nightBefCool: Nachtkühlung
193
+ passwordMenu: Ändern des Passworts
194
+ enterAllFields: Geben Sie alle Daten
195
+ passwordNoChk: Neues Passwort und Bestätigung stimmen nicht überein!
196
+ passwordBad: Passwort darf nur aus folgenden Zeichen a-z or A-Z or 0-9 bestehen!
197
+ passwordSaved: Passwort wurde gespeichert
198
+ passwordSaveErr: Passwort wurde - errornicht gespeichert - Fehler.
199
+ unavail: nicht verfügbar
200
+ disabledRange: 'Unzulässige Auswahl '
201
+ emergMode: Notlauf-Funktion
202
+ outdoorTemp: Aussen Temperatur
203
+ currentZone: Aktueller Zone
204
+ components: Komponenten
205
+ all: Alles
206
+ modeAuto: Automatik
207
+ disbalance: Disbalance
208
+ saveActive: Speichern / Aktivieren
209
+ holidays: Feiertag
210
+ vacations: Ferienzeit
211
+ unitDesign: Konstruktion
212
+ unitSpec: Spezifikation
213
+ partyStart: Start
214
+ partyEnd: Ende
215
+ tsNtsSwitch: HS/NHS Schaltung
216
+ tsNtsTemp: HS/NHS Temperatur
217
+ in1Block: IN1 Eingang Deaktivieren
218
+ in2Block: IN2 Eingang Deaktivieren
219
+ hystHeat: Vol. Steigerüng Kühlung
220
+ hystCool: Vol. Steigerüng Heitzung
221
+ set: Einstellen
222
+ timeZone: Zeit Zone
223
+ settingTZ: Time zone setting
224
+ producer: Lieferant
225
+ unitLine: Serie
226
+ unitSize: Gereatgrosse
227
+ unitIntDesign: Spezifikationen
228
+ currentConfig: Aktueller Einstellung
229
+ monthName1: Januar
230
+ monthName2: Februar
231
+ monthName3: März
232
+ monthName4: April
233
+ monthName5: Mai
234
+ monthName6: Juli
235
+ monthName7: Juli
236
+ monthName8: August
237
+ monthName9: September
238
+ monthName10: Oktober
239
+ monthName11: November
240
+ monthName12: Dezember
241
+ holidayTip: Feiertag/Ferienzeit
242
+ prodCodeInput: Geben Sie den Lieferanten Code ein...
243
+ logType: Typ
244
+ current: Aktuell
245
+ week: Woche
246
+ month: Monat
247
+ selectDay: Wählen Sie einen Tag
248
+ show: Anzeige
249
+ dataNotFound: Daten wurden nicht gefunden
250
+ logLive: Eingeschaltet
251
+ holidayVacation: Feiertag und Ferienzeit
252
+ timeAutoSwitch: DST automatisch
253
+ timeSyncInet: Zeit mit Internet synchronisieren
254
+ unitTime: Gerätezeit
255
+ inputs: Eingänge
256
+ outputs: Ausgänge
257
+ others: Andere
258
+ heatIconTip: Heizung aktiviert
259
+ coolIconTip: Kühlung aktiviert
260
+ partyIconTip: Modus Party/Urlaub aktiviert
261
+ alarmIconTip: Aktiver Alarm
262
+ PgFW_S2A: Letzte Datensicherung
263
+ reset: Reset
264
+ commun: Kommunikation
265
+ serverPing: Funktion "Connect server"
266
+ acsService: Servicezugang
267
+ acsDistr: Lieferantenzugang
268
+ lastCommun: Letzte Kommunikation
269
+ unitName: Jméno jednotky
@@ -0,0 +1,269 @@
1
+ ---
2
+ en:
3
+ mainTitle: Your specialist for heat recovery and air-handling system economy
4
+ save: Save
5
+ cancel: Cancel
6
+ copy: Copy
7
+ refresh: Restore
8
+ change: Change
9
+ pleaseWait: Wait, please...
10
+ backToHome: Back to main page
11
+ mainPage: Main page
12
+ serviceMenu: Service menu
13
+ activeFrom: Active from
14
+ hours: Analog
15
+ minutes: Minutes
16
+ record: Record
17
+ allowed: Allowed
18
+ netSetup: Network setting
19
+ getFromDHCP: DHCP parameters setting
20
+ useNextValues: Use the following setting
21
+ addressIP: IP address
22
+ subnetMask: Net mask
23
+ defaultGW: Gateway
24
+ serverDNS: DNS server
25
+ FTPsetup: FTP server password
26
+ passwordOld: 'Original password '
27
+ passwordNew: 'New password '
28
+ passwordConfirm: Password confirmation
29
+ airCond: Air handling unit
30
+ airCondSetup: HVAC unit configuration
31
+ temperature: Temperature
32
+ tempSetup: Temperature setting
33
+ notInDemo: Demo version does not support
34
+ thisTimeExist: Set time already exists
35
+ serviceSetup: Service setting
36
+ activeAlarms: Active alarms
37
+ alarmHistory: Alarm history
38
+ unitStarted: Unit start
39
+ active: Active
40
+ noAlarmDefined: No alarm defined
41
+ noAlarmDetected: No alarm is active
42
+ values: Values
43
+ parameters: Parameters
44
+ badInput: Wrong value inserted
45
+ allowedRange: Required values range
46
+ start: Start
47
+ stop: Stop
48
+ text: Text
49
+ digiVer: DIGI module version
50
+ rdVer: RD module version
51
+ unitAddress: Address of unit
52
+ currentMode: Current mode
53
+ damageWarning: 'Attention! When setting following parameters, be carefull about
54
+ the set values, inadequate setting may cause malfunction of the Unit. The appliance
55
+ producer is not responsible in any case of harm! '
56
+ parameter: Parameter
57
+ value: Value
58
+ minimum: Minimum
59
+ maximum: Max
60
+ defValue: Default
61
+ warning: Warning
62
+ error: Set
63
+ accessPrompt: Access check, enter the service code!
64
+ accessDenied: Access denied, wrong code!
65
+ swVer: Software version
66
+ orderNum: Production number
67
+ userSetup: User setting
68
+ switchman: Manual
69
+ valueOutOfRange: Value exceeded the range
70
+ fwStep1: Step 1 - Save parameters
71
+ fwStep2: Step 2 - Firmware update
72
+ fwSTep3: Step 3 - Parameters refresh
73
+ saveSettings: Save parameters
74
+ updateIt: Make update
75
+ restoreSettings: Refresh parameters
76
+ parsNotSaved: No parameters has been saved till now
77
+ errLengthCoo: Data error, use different browser
78
+ parsSaved: Parameters have been saved
79
+ updateInProcess: The update is in progress, wait please.
80
+ updateNoFile: No file for update has been found
81
+ updateSucess: UPDATE finished
82
+ updateError: Update error
83
+ manControlOn: Manual control enabled
84
+ manControlOff: Manual control disabled
85
+ notConnected: Not connected
86
+ PgFW_FS1: Restore/back-up setting
87
+ PgFW_S1: The backup of the service setting
88
+ PgFW_SB1: Back-up
89
+ PgFW_S2: Service setting restore from back-up
90
+ PgFW_SB2: Restore
91
+ PgFW_S3: 'Restore to production setting '
92
+ PgFW_SB3: Restore
93
+ PgFW_FS2: Update
94
+ PgFW_U2: Download of the update application
95
+ PgFW_UB1: Open
96
+ PgFW_SB1c: Do you wish to make a back-up of the service setting?
97
+ PgFW_SB2c: 'Are you sure to restore service setting from the back-up file? '
98
+ PgFW_SB3c: Are you sure to restore the default setting?
99
+ fwUnit: Current fw ver.
100
+ fwAvail: Available fw ver.
101
+ restInProgress: Setting restore is in the progress
102
+ restart: Restart
103
+ activate: Activate
104
+ deactivate: Deactivate
105
+ badTimeZone: Wrong time zone
106
+ badTime: Wrong time setting
107
+ setByPC: Set according to the PC
108
+ msgFindAddr: Enter a new unit address.
109
+ dtFilterChange: Next filter change
110
+ confirmFilter: Confirm the change
111
+ confFilterQuest: Are you sure the filter has been changed?
112
+ 'off': 'Off'
113
+ 'on': 'On'
114
+ dayOfWeek: Day of week
115
+ monday: Monday
116
+ tuesday: Tuesday
117
+ wednesday: Wednesday
118
+ thursday: Thursday
119
+ friday: Friday
120
+ saturday: Saturday
121
+ sunday: Sunday
122
+ medium: Medium
123
+ night: Night
124
+ day: Day
125
+ power: Power
126
+ automatic: Schedule
127
+ manual: Manual
128
+ temporary: Temporary
129
+ non: Non
130
+ mode: Mode
131
+ perVentilation: Period. ventilation
132
+ ventilation: Ventilation
133
+ circulation: Circulation
134
+ startUp: Start-up
135
+ runDown: Run-out
136
+ defrosting: Defrosting
137
+ external: External
138
+ inactive: 'Off'
139
+ zone: Zone
140
+ heating: Heating
141
+ nonHeating: Non-heating
142
+ dateTime: 'Time and date '
143
+ filterChange: Filter change
144
+ notWhenAuto: Temperature control set to the Automatic mode, the current setting
145
+ is valid till the next week interval is active.
146
+ heatingSched: Heating season schedule
147
+ nonHeatingSched: Non-heating season schedule
148
+ userSetting: User setting
149
+ season: Season
150
+ modeAC: Mode air-handling
151
+ modeTemp: Temperature mode
152
+ controlSetting: Control procesor setting
153
+ tempSenzorDev: Temperature sensor correction - CP
154
+ inputBlock: IN Blocking
155
+ personsCount: Number of persons
156
+ thermostatFcn: Thermostat function
157
+ holidayParty: Holiday / party
158
+ texts: Texts
159
+ txtZone1: Text for zone 1
160
+ txtZone2: Text for zone 2
161
+ txtZone12: Text for zone 1 and 2
162
+ swInfo: About the control
163
+ alarms: Alarms
164
+ controlAC: Air-handling control
165
+ controlTemp: Temperature control
166
+ currentPower: Actual Power
167
+ requiredPower: Requested power
168
+ requiredTemp: Requested temperature
169
+ requiredMode: Requested mode
170
+ indoorTemp: Inner temperature
171
+ inletTemp: Supply air temperature
172
+ czech: Czech
173
+ german: German
174
+ english: English
175
+ eqVent: Equal volume flow
176
+ ventCirc: Ventilat. circulation
177
+ circDepend: Interval circulation
178
+ overPrVent: Overpressure
179
+ devHeating: Temperature hysteresis - heating
180
+ devCooling: Temperature hysteresis - cooling
181
+ devCoolMax: Max. temperature drop - max. cooling
182
+ productNumber: Production number
183
+ unitType: Unit type
184
+ polish: Polish
185
+ bySens: Auto - ventilation
186
+ hpDefrosting: HP defrosting
187
+ userLogin: User login
188
+ passwordInput: Enter the password
189
+ loginCmd: Login
190
+ weeklyProgram: Schedule
191
+ italiano: Italian
192
+ nightBefCool: Night precooling
193
+ passwordMenu: Password change
194
+ enterAllFields: Fill all the data
195
+ passwordNoChk: A new password and the confirmation does not match!
196
+ passwordBad: The password may only consist of figures a-z or A-Z or 0-9!
197
+ passwordSaved: The password has been saved
198
+ passwordSaveErr: Password was not saved - error.
199
+ unavail: Unavailable
200
+ disabledRange: Range is exceeded
201
+ emergMode: Emergency mode
202
+ outdoorTemp: Outdoor temperature
203
+ currentZone: Actual zone
204
+ components: Components
205
+ all: All
206
+ modeAuto: Automat
207
+ disbalance: Disbalance
208
+ saveActive: Save / Activate
209
+ holidays: Bank Holidays
210
+ vacations: Vacations
211
+ unitDesign: Design
212
+ unitSpec: Specification
213
+ partyStart: Starts at...
214
+ partyEnd: Expires at...
215
+ tsNtsSwitch: HS/NHS switching
216
+ tsNtsTemp: HS/NHS switch temp.
217
+ in1Block: IN1 input blocking
218
+ in2Block: IN2 input blocking
219
+ hystHeat: Hysteresis - heating
220
+ hystCool: Hysteresis - cooling
221
+ set: Set new
222
+ timeZone: Time zone
223
+ settingTZ: Time zone setting
224
+ producer: Supplier
225
+ unitLine: Line
226
+ unitSize: Unit size
227
+ unitIntDesign: Specification
228
+ currentConfig: Current setting
229
+ monthName1: January
230
+ monthName2: Fabruery
231
+ monthName3: March
232
+ monthName4: April
233
+ monthName5: May
234
+ monthName6: June
235
+ monthName7: July
236
+ monthName8: August
237
+ monthName9: September
238
+ monthName10: October
239
+ monthName11: November
240
+ monthName12: December
241
+ holidayTip: Bank holid./Vacation
242
+ prodCodeInput: Enter the supplier code...
243
+ logType: Log typ
244
+ current: Current
245
+ week: Week
246
+ month: Month
247
+ selectDay: Choose the week day
248
+ show: Show...
249
+ dataNotFound: Data are not found
250
+ logLive: On-line
251
+ holidayVacation: Bank holidays, Vacation
252
+ timeAutoSwitch: DST automaticaly
253
+ timeSyncInet: Internet time synchronisation
254
+ unitTime: Unit time
255
+ inputs: Inputs
256
+ outputs: Outputs
257
+ others: Others
258
+ heatIconTip: 'Heating activated '
259
+ coolIconTip: Cooling activated
260
+ partyIconTip: Party/Holiday mode activated
261
+ alarmIconTip: Activ alarm
262
+ PgFW_S2A: Last backup
263
+ reset: Reset
264
+ commun: Communication
265
+ serverPing: '"Connect server" service'
266
+ acsService: Service access
267
+ acsDistr: Distributor access
268
+ lastCommun: Last communication
269
+ unitName: Jméno jednotky
@@ -15,6 +15,7 @@ module AtreaControl
15
15
  attr_reader :valid_for
16
16
 
17
17
  attr_accessor :user_id, :unit_id, :auth_token
18
+ attr_writer :user_texts, :user_modes, :modes
18
19
 
19
20
  # @param [String] login
20
21
  # @param [String] password
@@ -74,30 +75,13 @@ module AtreaControl
74
75
  def open_dashboard
75
76
  uri = driver.find_element(tag_name: "object").attribute "data"
76
77
  driver.get uri
77
- user_id && unit_id && auth_token
78
78
  logger.debug "#{name} login success"
79
79
  end
80
80
 
81
81
  # @return [String]
82
82
  def name
83
- @name ||= driver.find_element(css: "div#pageTitle > h2")&.text if logged?
84
- @name
85
- end
86
-
87
- # # @return [String] ID of logged user
88
- # def user_id
89
- # @user_id ||= driver.execute_script("return window._user")
90
- # end
91
- #
92
- # # @return [String] ID of recuperation unit
93
- # def unit_id
94
- # @unit_id ||= driver.execute_script("return window._unit")
95
- # end
96
- #
97
- # # @return [String] session token
98
- # def auth_token
99
- # @auth_token ||= user&.[]("auth")
100
- # end
83
+ @name ||= user_texts["UnitName"]
84
+ end
101
85
 
102
86
  # Window.user object from atrea
103
87
  # @return [Hash, nil]
@@ -105,14 +89,6 @@ module AtreaControl
105
89
  driver.execute_script("return window.user")
106
90
  end
107
91
 
108
- # @return [String]
109
- def current_mode_name
110
- return current_mode unless logged?
111
-
112
- element = sensor_element(@sensors[:current_mode])
113
- element.find_element(css: "div:first-child").text
114
- end
115
-
116
92
  # quit selenium browser
117
93
  def close
118
94
  driver.quit
@@ -137,19 +113,51 @@ module AtreaControl
137
113
  as_json.to_json(*args)
138
114
  end
139
115
 
140
- # def inspect
141
- # "<AtreaControl name: '#{name}' outdoor_temperature: '#{outdoor_temperature}°C' current_power: '#{current_power}%' current_mode: '#{current_mode}' valid_for: '#{valid_for}'>"
142
- # end
143
-
144
116
  def call_unit!
145
117
  return false if @login_in_progress
146
118
 
147
119
  logger.debug "call_unit!"
148
- parse_response(response_comm_unit)
120
+ parse_values(response_comm_unit)
149
121
  @valid_for = Time.now
150
122
  as_json
151
123
  end
152
124
 
125
+ def modes
126
+ return @modes if @modes
127
+
128
+ @modes = {}
129
+ user_ctrl.xpath("//op[@id='Mode']/i").each do |mode|
130
+ m = translate_mode(mode)
131
+ @modes[m[:id]] = m[:value]
132
+ end
133
+ @modes
134
+ end
135
+
136
+ def user_modes
137
+ return @user_modes if @user_modes
138
+
139
+ @user_modes = {}
140
+ user_ctrl.xpath("//op[@id='ModeText']/i").each do |mode|
141
+ m = translate_mode(mode)
142
+ @user_modes[m[:id]] = m[:value]
143
+ end
144
+ @user_modes
145
+ end
146
+
147
+ # User defined texts in RD5 unit
148
+ # @return [Hash]
149
+ def user_texts
150
+ return @user_texts if @user_texts
151
+
152
+ response = rd5_request(params_comm_unit.merge(_t: "config/texts.xml"))
153
+ xml = Nokogiri::XML response.body
154
+ @user_texts = xml.xpath("//i").map do |node|
155
+ value = node.attributes["value"].value
156
+ id = node.attributes["id"].value
157
+ [id, value.gsub(/%u([\dA-Z]{4})/) { |i| +'' << i[$1].to_i(16) }]
158
+ end.to_h
159
+ end
160
+
153
161
  private
154
162
 
155
163
  # @see scripts.php -> loadRD5Values(node, init)
@@ -159,7 +167,7 @@ module AtreaControl
159
167
  # values[key]=values[key]-params[key].offset;
160
168
  # if(params[key] && params[key].coef)
161
169
  # values[key]=values[key]/params[key].coef;
162
- def parse_response(response)
170
+ def parse_values(response)
163
171
  xml = Nokogiri::XML response.body
164
172
  sensors_values = @sensors.transform_values do |id|
165
173
  value = xml.xpath("//O[@I=\"#{id}\"]/@V").last&.value.to_i
@@ -176,16 +184,16 @@ module AtreaControl
176
184
  def refresh_data(values)
177
185
  @outdoor_temperature = values[:outdoor_temperature].to_f / 10.0
178
186
  @current_power = values[:current_power].to_f
179
- @current_mode = mode_map[values[:current_mode]]
187
+ @current_mode = if values[:current_mode_switch].positive?
188
+ user_modes[values[:current_mode_switch].to_s]
189
+ else
190
+ modes[values[:current_mode].to_s]
191
+ end
192
+ # @current_mode = mode_map[values[:current_mode_name] > 0 ? values[:current_mode_name] : values[:current_mode]]
180
193
 
181
194
  as_json
182
195
  end
183
196
 
184
- # ? I10204 ?
185
- def mode_map
186
- { 0 => "Vypnuto", 1 => "Automat", 2 => "Větrání", 6 => "Rozvážení" }
187
- end
188
-
189
197
  def logger
190
198
  @logger ||= ::Logger.new($stdout)
191
199
  end
@@ -207,14 +215,30 @@ module AtreaControl
207
215
 
208
216
  # @return [RestClient::Response]
209
217
  def response_comm_unit
210
- params = {
218
+ rd5_request(params_comm_unit.merge(_t: "config/xml.xml"))
219
+ end
220
+
221
+ def rd5_request(params)
222
+ RestClient.get "https://control.atrea.eu/comm/sw/unit.php", { Cookie: "autoLogin=#{autologin_token}", params: params }
223
+ end
224
+
225
+ def user_ctrl
226
+ response = rd5_request(params_comm_unit.merge(_t: "lang/userCtrl.xml"))
227
+ xml = Nokogiri::XML response.body
228
+ end
229
+
230
+ def autologin_token
231
+ @autologin_token ||= CGI.escape([@login, @password].join("\b"))
232
+ end
233
+
234
+ # @note `ver` is done by atrea server
235
+ def params_comm_unit
236
+ {
211
237
  _user: user_id.to_i,
212
238
  _unit: unit_id,
213
239
  auth: auth_token || "null",
214
- _t: "config/xml.xml",
240
+ ver: "003001009",
215
241
  }
216
- autologin_token = CGI.escape([@login, @password].join("\b"))
217
- RestClient.get "https://control.atrea.eu/comm/sw/unit.php", { Cookie: "autoLogin=#{autologin_token}", params: params }
218
242
  end
219
243
 
220
244
  # Update tokens based on current state
@@ -224,5 +248,31 @@ module AtreaControl
224
248
  @auth_token = user&.[]("auth")
225
249
  end
226
250
 
251
+ # @param [Nokogiri::XML::Element] mode
252
+ # @return [Hash{Symbol->String}]
253
+ def translate_mode(mode)
254
+ id = mode.attributes["id"].value
255
+ title = mode.attributes["title"].value
256
+ title = if title.start_with?("$")
257
+ I18n.t(title[/\w+/])
258
+ else
259
+ user_texts[title]
260
+ end
261
+ { id: id, value: title }
262
+ end
263
+
264
+ # Re-generate copy of locale files
265
+ # @note internal use only
266
+ def update_locales_files!
267
+ { cs: "0", de: "1", en: "2" }.each do |name, atrea_id|
268
+ response = rd5_request(params_comm_unit.merge(_t: "lang/texts_#{atrea_id}.xml", auth: nil))
269
+
270
+ xml = Nokogiri::XML response.body
271
+ locale = eval xml.xpath("//words/text()")[0].text
272
+ yaml = { name.to_s => JSON.parse(locale.to_json) }.to_yaml
273
+ File.write(File.expand_path("../../config/locales/#{name}.yml", __dir__), yaml)
274
+ end
275
+ end
276
+
227
277
  end
228
278
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module AtreaControl
4
4
 
5
- VERSION = "1.3.1"
5
+ VERSION = "1.4.0"
6
6
 
7
7
  end
data/lib/atrea_control.rb CHANGED
@@ -1,12 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "atrea_control/version"
4
+ require "i18n"
5
+ require "yaml"
4
6
 
5
7
  module AtreaControl
6
8
  class Error < StandardError; end
7
9
 
8
10
  autoload :Duplex, "atrea_control/duplex"
9
11
 
12
+ I18n.load_path.concat Dir["#{File.expand_path("../config/locales", __dir__)}/*.yml"]
13
+ I18n.default_locale = :cs
14
+
10
15
  # Provide map sensor to element ID
11
16
  module Config
12
17
  module_function
@@ -16,6 +21,7 @@ module AtreaControl
16
21
  outdoor_temperature: "I10208",
17
22
  current_power: "H10704",
18
23
  current_mode: "H10705",
24
+ current_mode_switch: "H10712",
19
25
  }
20
26
  end
21
27
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atrea_control
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukáš Pokorný
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-11 00:00:00.000000000 Z
11
+ date: 2021-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: i18n
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.8'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.8'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: nokogiri
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -73,16 +87,16 @@ files:
73
87
  - atrea_control.gemspec
74
88
  - bin/console
75
89
  - bin/setup
90
+ - config/locales/cs.yml
91
+ - config/locales/de.yml
92
+ - config/locales/en.yml
76
93
  - lib/atrea_control.rb
77
94
  - lib/atrea_control/duplex.rb
78
95
  - lib/atrea_control/version.rb
79
96
  homepage: https://github.com/luk4s/atrea_control
80
97
  licenses: []
81
98
  metadata:
82
- allowed_push_host: https://rubygems.org
83
- homepage_uri: https://github.com/luk4s/atrea_control
84
- source_code_uri: https://github.com/luk4s/atrea_control
85
- changelog_uri: https://github.com/luk4s/atrea_control/CHANGELOG.md
99
+ rubygems_mfa_required: 'true'
86
100
  post_install_message:
87
101
  rdoc_options: []
88
102
  require_paths: