atrea_control 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: