diff --git a/interface/package.json b/interface/package.json index 070182828..9835fcecd 100644 --- a/interface/package.json +++ b/interface/package.json @@ -49,8 +49,8 @@ }, "devDependencies": { "@types/mime-types": "^2", - "@typescript-eslint/eslint-plugin": "^5.60.1", - "@typescript-eslint/parser": "^5.60.1", + "@typescript-eslint/eslint-plugin": "^5.61.0", + "@typescript-eslint/parser": "^5.61.0", "@vitejs/plugin-react-swc": "^3.3.2", "eslint": "^8.44.0", "eslint-config-airbnb": "^19.0.4", diff --git a/interface/src/i18n/it/index.ts b/interface/src/i18n/it/index.ts index 8293e7c3a..c9719e10e 100644 --- a/interface/src/i18n/it/index.ts +++ b/interface/src/i18n/it/index.ts @@ -45,13 +45,13 @@ const it: Translation = { CHANGE_VALUE: 'Cambia Valore', CANCEL: 'Annulla', RESET: 'Reset', - APPLY_CHANGES: 'Apply Changes ({0})', + APPLY_CHANGES: 'Applica Cambiamenti ({0})', UPDATE: 'Update', EXECUTE: 'Execute', REMOVE: 'Elimina', PROBLEM_UPDATING: 'Problema aggiornamento', PROBLEM_LOADING: 'Problema caricamento', - ACCESS_DENIED: 'Access Denied', + ACCESS_DENIED: 'Accesso Negato', ANALOG_SENSOR: 'Sensore Analogico', ANALOG_SENSORS: 'Sensori Analogici', SETTINGS: 'Settings', @@ -305,26 +305,26 @@ const it: Translation = { ENTITY: 'entità', MIN: 'min', MAX: 'max', - BLOCK_NAVIGATE_1: 'You have unsaved changes', - BLOCK_NAVIGATE_2: 'If you navigate to a different page, your unsaved changes will be lost. Are you sure you want to leave this page?', - STAY: 'Stay', - LEAVE: 'Leave', - SCHEDULER: 'Scheduler', - SCHEDULER_HELP_1: 'Automate commands by adding scheduled events below. Set a unique Name to enable/disable activation via API/MQTT.', - SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', - SCHEDULE: 'Schedule', - TIME: 'Time', - TIMER: 'Timer', - SCHEDULE_UPDATED: 'Schedule updated', - SCHEDULE_TIMER_1: 'on startup', - SCHEDULE_TIMER_2: 'every minute', - SCHEDULE_TIMER_3: 'every hour', - CUSTOM_ENTITIES: 'Custom Entities', - ENTITIES_HELP_1: 'Fetch custom entities from the EMS bus', - ENTITIES_UPDATED: 'Entities Updated', - WRITEABLE: 'Writeable', - SHOWING: 'Showing', - SEARCH: 'Search' + BLOCK_NAVIGATE_1: 'Hai modifiche non salvate', + BLOCK_NAVIGATE_2: 'Se passi a una pagina diversa, le modifiche non salvate andranno perse. Sei sicuro di voler lasciare questa pagina?', + STAY: 'Stai', + LEAVE: 'Esci', + SCHEDULER: 'Programma eventi', + SCHEDULER_HELP_1: "Automatizza i comandi aggiungendo gli eventi programmati di seguito. Imposta un nome univoco per abilitare/disabilitare l'attivazione tramite API/MQTT.", + SCHEDULER_HELP_2: "per attivare una volta all'avvio", + SCHEDULE: 'Programma', + TIME: 'Ora', + TIMER: 'Orologio', + SCHEDULE_UPDATED: 'Calendario aggiornato', + SCHEDULE_TIMER_1: 'All avvio', + SCHEDULE_TIMER_2: 'Ogni minuto', + SCHEDULE_TIMER_3: 'Ogni ora', + CUSTOM_ENTITIES: 'Entità personalizzate', + ENTITIES_HELP_1: 'Recupera entità personalizzate dal BUS EMS', + ENTITIES_UPDATED: 'Entità aggiornate', + WRITEABLE: 'Scrivibile', + SHOWING: 'Visualizza', + SEARCH: 'Ricerca' }; diff --git a/interface/yarn.lock b/interface/yarn.lock index 935a1a713..a4c5cddb4 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1373,16 +1373,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/eslint-plugin@npm:5.60.1" +"@typescript-eslint/eslint-plugin@npm:^5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.61.0" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.60.1 - "@typescript-eslint/type-utils": 5.60.1 - "@typescript-eslint/utils": 5.60.1 + "@typescript-eslint/scope-manager": 5.61.0 + "@typescript-eslint/type-utils": 5.61.0 + "@typescript-eslint/utils": 5.61.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 semver: ^7.3.7 @@ -1393,43 +1393,43 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 1861e7fde48019ecae9acbc654d24f746e6a375f11f6f924e2ff3c9aa52528744a003da14592fafdbc407cf58b8cf7d0e42c624f3de06cb7bee5d8a31879ed79 + checksum: 5ee13b7b776d7d910082cb1bc31efe6e94fcb22ee163636df28bcc49891d678c05632c8f0900b954ea82701270bd135d45cc1b8234caf4f97864e49b54c04799 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/parser@npm:5.60.1" +"@typescript-eslint/parser@npm:^5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/parser@npm:5.61.0" dependencies: - "@typescript-eslint/scope-manager": 5.60.1 - "@typescript-eslint/types": 5.60.1 - "@typescript-eslint/typescript-estree": 5.60.1 + "@typescript-eslint/scope-manager": 5.61.0 + "@typescript-eslint/types": 5.61.0 + "@typescript-eslint/typescript-estree": 5.61.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: b44d041bb46908078df898ab1d8a0da0a58901caced0bb657af9d48c6bb54c090e565cc31d7526a27f25faeb25315fdec648873b2527feed043532a053914dd2 + checksum: 4fd5a589b0e27a931f32296cc020e7b6052337ceb8312008e5cacbbcd6706f12b2bc481398c40d6e8c482770929593564a6ed2a3b681e7a7634282bd9c12afc4 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/scope-manager@npm:5.60.1" +"@typescript-eslint/scope-manager@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/scope-manager@npm:5.61.0" dependencies: - "@typescript-eslint/types": 5.60.1 - "@typescript-eslint/visitor-keys": 5.60.1 - checksum: 50164675adb4850354a8e0297d498b59283eee961e10e0c00f9d664e03b464a9de4dc7a9d84c534c84df6ac3ea6f32238e2df9528374104bd66678b1ec9fbfec + "@typescript-eslint/types": 5.61.0 + "@typescript-eslint/visitor-keys": 5.61.0 + checksum: 3f4cc831094490d1d201ed1bdf4441eb807b3d6613898b0683ff989bb6dbaeef0311a6dd9d8deb2e4efa2a84d9c857de058edba2eb92abbaeb0385d1dd2ab564 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/type-utils@npm:5.60.1" +"@typescript-eslint/type-utils@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/type-utils@npm:5.61.0" dependencies: - "@typescript-eslint/typescript-estree": 5.60.1 - "@typescript-eslint/utils": 5.60.1 + "@typescript-eslint/typescript-estree": 5.61.0 + "@typescript-eslint/utils": 5.61.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -1437,23 +1437,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: ef07f5c84636b8a9ff68dbc093ba6bce32d0e0f56831b214c2df3ff189502ae103c73bda7eb5e9f9ca21d3492dc851b7ac4b2cb83bdd6fbf5a9fe21068b404f4 + checksum: a99775baf0a6401bb937c9fdf4f1d23a16428c7ec96c39e549ed313af6ffff3274bad7684d9fc7f846e15c4ef7343a7372a6e6868f9e1ea4061ced7c67f50d9a languageName: node linkType: hard -"@typescript-eslint/types@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/types@npm:5.60.1" - checksum: 4be7654356f9b79fb942ae22196b518f30e20b07588355df22c85dfdcdaafe02f312b473de67af34fbb2283182d0d337aa65312f1117c6f8bf635cc427944c23 +"@typescript-eslint/types@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/types@npm:5.61.0" + checksum: f6aacd4ee3180d851463976696d9c43df2debf3bad2c3f26aeaf2a0cab30235152efb5f04e649863548bfc57f454d6c0a2f12f68508feb4771d7e6b1b72bc066 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.60.1" +"@typescript-eslint/typescript-estree@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.61.0" dependencies: - "@typescript-eslint/types": 5.60.1 - "@typescript-eslint/visitor-keys": 5.60.1 + "@typescript-eslint/types": 5.61.0 + "@typescript-eslint/visitor-keys": 5.61.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -1462,35 +1462,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 09933d3c1b1bacf7e043d33a7e134489650fca7b7b965b633a1c526453f20478b38c4aa9b7c6da269d2a43f26608110d4c129eec917c4561431149dae82c3b9d + checksum: 78f60103ad7c282840bd7623b38b785fdd46a75511354e1336589bae532daab7e7f297b1264814e7cd3191cf2e0608b1cc89fc599c0b03085b709a6490965233 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/utils@npm:5.60.1" +"@typescript-eslint/utils@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/utils@npm:5.61.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.60.1 - "@typescript-eslint/types": 5.60.1 - "@typescript-eslint/typescript-estree": 5.60.1 + "@typescript-eslint/scope-manager": 5.61.0 + "@typescript-eslint/types": 5.61.0 + "@typescript-eslint/typescript-estree": 5.61.0 eslint-scope: ^5.1.1 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: cb408bd67dd5be3a3585b67ac19f60e9feb309a56782924b314077f7dc77cb10e690fdb4a7ac643784e8fab30bc04d6f23935c1aed6d08233f8dd8604782ac27 + checksum: f55bc4a0637e5f529260a0240ae7ecca04b20fde69e1892991d1087b3e230fa02df1c46e671359b3789f15bcfb90cf9f47bb79fa5f48b41b92966706cc66f413 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.60.1": - version: 5.60.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.60.1" +"@typescript-eslint/visitor-keys@npm:5.61.0": + version: 5.61.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.61.0" dependencies: - "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/types": 5.61.0 eslint-visitor-keys: ^3.3.0 - checksum: e70bd584ff0eef1c8739e3457e7402485acc06aba468ff8f191f4546aaed93ec91f309bb567a3d8bbd9a4aec030f3b73c8e8df085bb82cbb8ea9a0209c7355f8 + checksum: f438b68b67e03fc39e39537a594259f5df64155f775ef7afb915507f7c364ba8a93567302080c3364d270001d5dd67ee0a0632a92d8d6f6fc776f97c082c130a languageName: node linkType: hard @@ -1522,8 +1522,8 @@ __metadata: "@types/react": ^18.2.14 "@types/react-dom": ^18.2.6 "@types/react-router-dom": ^5.3.3 - "@typescript-eslint/eslint-plugin": ^5.60.1 - "@typescript-eslint/parser": ^5.60.1 + "@typescript-eslint/eslint-plugin": ^5.61.0 + "@typescript-eslint/parser": ^5.61.0 "@vitejs/plugin-react-swc": ^3.3.2 alova: ^2.9.1 async-validator: ^4.2.5 @@ -3373,13 +3373,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 108415fb07ac913f17040dc336607772fcea68c7f495ef91887edddb0b0f5ff7bc1d1ab181b125ecb2f0505669ef12c9a178a3bbd2dd8e042d8c5f1d7c90331a - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" diff --git a/lib/espMqttClient/src/Config.h b/lib/espMqttClient/src/Config.h index aba779565..940c2dea8 100644 --- a/lib/espMqttClient/src/Config.h +++ b/lib/espMqttClient/src/Config.h @@ -9,7 +9,7 @@ the LICENSE file. #pragma once #ifndef EMC_TX_TIMEOUT -#define EMC_TX_TIMEOUT 5000 +#define EMC_TX_TIMEOUT 2000 #endif #ifndef EMC_RX_BUFFER_SIZE @@ -29,7 +29,7 @@ the LICENSE file. #endif #ifndef EMC_MIN_FREE_MEMORY -#define EMC_MIN_FREE_MEMORY 4096 +#define EMC_MIN_FREE_MEMORY 16384 #endif #ifndef EMC_ESP8266_MULTITHREADING diff --git a/lib/espMqttClient/src/Helpers.h b/lib/espMqttClient/src/Helpers.h index 4a19224ba..05ab136d9 100644 --- a/lib/espMqttClient/src/Helpers.h +++ b/lib/espMqttClient/src/Helpers.h @@ -16,7 +16,7 @@ the LICENSE file. #define EMC_SEMAPHORE_TAKE() xSemaphoreTake(_xSemaphore, portMAX_DELAY) #define EMC_SEMAPHORE_GIVE() xSemaphoreGive(_xSemaphore) #define EMC_GET_FREE_MEMORY() std::max(ESP.getMaxAllocHeap(), ESP.getMaxAllocPsram()) - #define EMC_YIELD() taskYIELD() + #define EMC_YIELD() vTaskDelay(1) #define EMC_GENERATE_CLIENTID(x) snprintf(x, EMC_CLIENTID_LENGTH, "esp32%06llx", ESP.getEfuseMac()); #elif defined(ARDUINO_ARCH_ESP8266) #include // millis(), ESP.getFreeHeap(); diff --git a/lib/espMqttClient/src/MqttClient.cpp b/lib/espMqttClient/src/MqttClient.cpp index 2f1d0d643..f93bb78f5 100644 --- a/lib/espMqttClient/src/MqttClient.cpp +++ b/lib/espMqttClient/src/MqttClient.cpp @@ -332,8 +332,8 @@ int MqttClient::_sendPacket() { EMC_SEMAPHORE_TAKE(); OutgoingPacket * packet = _outbox.getCurrent(); - int32_t wantToWrite = 0; - int32_t written = 0; + size_t wantToWrite = 0; + size_t written = 0; if (packet && (wantToWrite == written)) { // mixing signed with unsigned here but safe because of MQTT packet size limits wantToWrite = packet->packet.available(_bytesSent); @@ -341,12 +341,7 @@ int MqttClient::_sendPacket() { EMC_SEMAPHORE_GIVE(); return 0; } - written = _transport->write(packet->packet.data(_bytesSent), wantToWrite); - if (written < 0) { - emc_log_w("Write error, check connection"); - EMC_SEMAPHORE_GIVE(); - return -1; - } + written = _transport->write(packet->packet.data(_bytesSent), wantToWrite); packet->timeSent = millis(); _lastClientActivity = millis(); _bytesSent += written; @@ -707,7 +702,9 @@ uint16_t MqttClient::getQueue() const { espMqttClientInternals::Outbox::Iterator it = _outbox.front(); uint16_t count = 0; while (it) { + // if (it.get()->packet.packetType() == PacketType.PUBLISH) { ++count; + // } ++it; } EMC_SEMAPHORE_GIVE(); diff --git a/src/locale_translations.h b/src/locale_translations.h index ae6a5144b..a35b979d5 100644 --- a/src/locale_translations.h +++ b/src/locale_translations.h @@ -50,9 +50,9 @@ MAKE_WORD_TRANSLATION(pump_device, "Pump Module", "Pumpenmodul", "Pump Module", MAKE_WORD_TRANSLATION(heatsource_device, "Heatsource", "Heizquelle", "Heatsource", "Värmekälla", "Źródło ciepła", "Varmekilde", "", "Isı Kaynağı", "Fonte di calore") // TODO translate MAKE_WORD_TRANSLATION(sensors_device, "Sensors", "Sensoren", "Sensoren", "Sensorer", "Czujniki", "Sensorer", "Capteurs", "Sensör Cihazı", "Sensori") MAKE_WORD_TRANSLATION(unknown_device, "Unknown", "Unbekannt", "Onbekend", "Okänt", "Nieznane urządzenie", "Ukjent", "Inconnu", "", "Sconosciuto") // TODO translate -MAKE_WORD_TRANSLATION(custom_device, "Custom", "Nutzerdefiniert", "", "", "Niestandardowe", "", "", "", "") // TODO translate +MAKE_WORD_TRANSLATION(custom_device, "Custom", "Nutzerdefiniert", "", "", "Niestandardowe", "", "", "", "Personalizzato") // TODO translate MAKE_WORD_TRANSLATION(custom_device_name, "User defined entities", "Nutzer deklarierte Entitäten", "", "", "Encje zdefiniowane przez użytkownika", "", "", "", "Entità definita da utente") // TODO translate -MAKE_WORD_TRANSLATION(ventilation_device, "Ventilation", "Lüftung", "", "", "", "", "", "", "") // TODO translate +MAKE_WORD_TRANSLATION(ventilation_device, "Ventilation", "Lüftung", "", "", "", "", "", "", "Ventilazione") // TODO translate // commands // TODO translate @@ -250,7 +250,7 @@ MAKE_WORD_TRANSLATION(fast, "fast", "schnell", "snel", "snabb", "szybkie", "hurt MAKE_WORD_TRANSLATION(slow, "slow", "langsam", "langzaam", "långsam", "powolne", "langsom", "lent", "yavaş", "lento") MAKE_WORD_TRANSLATION(internal_temperature, "internal temperature", "Interne Temperatur", "Interne Temperatuur", "Interntemperatur", "temperatura wewnętrzna", "interntemperatur", "température interne", "oda sıcaklığı", "temperatura interna") MAKE_WORD_TRANSLATION(internal_setpoint, "internal setpoint", "Interner Sollwert", "Interne Streeftemperatuur", "Internt börvärde", "nastawa wewnętrzna", "internt settpunkt", "consigne interne", "istenen oda sıcaklığı", "setpoint interno") -MAKE_WORD_TRANSLATION(external_temperature, "external temperature", "Externe Temperatur", "Externe Temperatuur", "Extern temperatur", "temperatura zewnętrzna", "ekstern temperatur", "température externe","", "temperatura esterna") // TODO translate +MAKE_WORD_TRANSLATION(external_temperature, "external temperature", "Externe Temperatur", "Externe Temperatuur", "Extern temperatur", "temperatura zewnętrzna", "ekstern temperatur", "température externe", "", "temperatura esterna") // TODO translate MAKE_WORD_TRANSLATION(burner_temperature, "burner temperature", "Brennertemperatur", "Brander Temperuur", "Brännartemperatur", "temperatura palnika", "brennertemperatur", "température du brûleur", "kazan sıcaklığı", "temperatura bruciatore") MAKE_WORD_TRANSLATION(ww_temperature, "ww temperature", "Wassertemperatur", "Watertemperatuur", "Vattentemperatur", "temperatura c.w.u.", "vanntemperatur", "température de l'eau", "Kullanım suyu sıcaklığı", "temperatura acqua") MAKE_WORD_TRANSLATION(smoke_temperature, "smoke temperature", "Abgastemperatur", "Buitentemperatuur", "Rökgastemperatur", "temperatura dymu", "røykgasstemperatur", "température des gaz d'échappement", "baca gazı sıcaklığı", "temperatura fumo") @@ -270,16 +270,16 @@ MAKE_WORD_TRANSLATION(cyl1, "cyl 1", "Zyl_1", "Cil 1", "Cyl 1", "cyl 1", "cyl 1" MAKE_WORD_TRANSLATION(cyl2, "cyl 2", "Zyl_2", "Cil 2", "Cyl 2", "cyl 2", "cyl 2", "cyl 2", "cly 1", "Cil 2") // ventilation -MAKE_WORD_TRANSLATION(demand, "demand", "Bedarf") -MAKE_WORD_TRANSLATION(intense, "intense", "Intensiv") -MAKE_WORD_TRANSLATION(sleep, "sleep", "Einschlafen") -MAKE_WORD_TRANSLATION(partymode, "party", "Party") -MAKE_WORD_TRANSLATION(fireplace, "fireplace", "Kamin") +MAKE_WORD_TRANSLATION(demand, "demand", "Bedarf", "", "", "", "", "", "", "richiesta") +MAKE_WORD_TRANSLATION(intense, "intense", "Intensiv", "", "", "", "", "", "", "intensivo") +MAKE_WORD_TRANSLATION(sleep, "sleep", "Einschlafen", "", "", "", "", "", "", "notturno") +MAKE_WORD_TRANSLATION(partymode, "party", "Party", "", "", "", "", "", "", "festa") +MAKE_WORD_TRANSLATION(fireplace, "fireplace", "Kamin", "", "", "", "", "", "", "camino") // MQTT Discovery - this is special device entity for 'climate' MAKE_TRANSLATION(haclimate, "haclimate", "Discovery current room temperature", "Discovery Temperatur", "", "", "termostat w HA", "HA Avlest temp", "", "", "verifica temperatura ambiente attuale") // TODO translate -// Entity translations +// Entity translations: tag, en, de, nl, sv, pl, no, fr, tr, it // Boiler MAKE_TRANSLATION(wwtapactivated, "wwtapactivated", "turn on/off", "Durchlauferhitzer aktiv", "zet aan/uit", "på/av", "system przygotowywania", "Varmtvann active", "ecs activée", "", "commuta on/off") MAKE_TRANSLATION(reset, "reset", "Reset", "Reset", "Reset", "Nollställ", "kasowanie komunikatu", "nullstill", "reset", "", "Reset") @@ -498,9 +498,9 @@ MAKE_TRANSLATION(blockHyst, "blockhyst", "hyst. for boiler block", "Hysterese Sp MAKE_TRANSLATION(releaseWait, "releasewait", "boiler release wait time", "Wartezeit Kessel-Freigabe", "Wachttijd ketel vrijgave", "Väntetid Frisläppning", "czas oczekiwania na zwolnienie kotła", "kjele frigjøringsventetid", "temps attente libération chaudière", "", "tempo di attesa sblocco caldaia") // HIU -MAKE_TRANSLATION(netFlowTemp, "netflowtemp", "heat network flow temp") -MAKE_TRANSLATION(cwFlowRate, "cwflowrate", "cold water flow rate") -MAKE_TRANSLATION(keepWarmTemp, "keepwarmtemp", "keep warm temperature") +MAKE_TRANSLATION(netFlowTemp, "netflowtemp", "heat network flow temp", "", "", "", "", "", "", "", "temperatura di mandata della rete di riscaldamento") +MAKE_TRANSLATION(cwFlowRate, "cwflowrate", "cold water flow rate", "", "", "", "", "", "", "", "portata acqua fredda") +MAKE_TRANSLATION(keepWarmTemp, "keepwarmtemp", "keep warm temperature", "", "", "", "", "", "", "", "mantenere la temperatura calda") // the following are dhw for the boiler and automatically tagged with 'dhw' MAKE_TRANSLATION(wwSelTemp, "wwseltemp", "selected temperature", "gewählte Temperatur", "Geselecteerd temperatuur", "Vald Temperatur", "temperatura wyższa/komfort", "valgt temperatur", "température sélectionnée", "", "temperatura selezionata") @@ -515,7 +515,7 @@ MAKE_TRANSLATION(wwComfort1, "wwcomfort1", "comfort mode", "Komfort-Modus", "Com MAKE_TRANSLATION(wwFlowTempOffset, "wwflowtempoffset", "flow temperature offset", "Vorlauftemperaturanhebung", "Aanvoertemperatuur offset", "Flödestemperatur förskjutning", "korekta temperatury wypływu", "turtemperaturforskyvning", "offset température flux", "", "aumento della temperatura di ritorno") MAKE_TRANSLATION(wwMaxPower, "wwmaxpower", "max power", "max Leistung", "Maximaal vermogen", "Max Effekt", "moc maksymalna", "maks effekt", "puissance max", "", "potenza massima") MAKE_TRANSLATION(wwCircPump, "wwcircpump", "circulation pump available", "Zirkulationspumpe vorhanden", "Circulatiepomp aanwezig", "Cirkulationspump tillgänglig", "pompa cyrkulacji zainstalowana", "sirkulasjonspumpe tilgjengelig", "pompe circulation disponible", "", "pompa circolazione disponibile") -MAKE_TRANSLATION(wwChargeType, "wwchargetype", "charging type", "Speicher-Ladungstyp", "Buffer laadtype", "Laddningstyp", "sposób grzania zasobnika", "varmetype", "type chargement", "", "") +MAKE_TRANSLATION(wwChargeType, "wwchargetype", "charging type", "Speicher-Ladungstyp", "Buffer laadtype", "Laddningstyp", "sposób grzania zasobnika", "varmetype", "type chargement", "", "tipo caricamento") // TODO translate MAKE_TRANSLATION(wwDisinfectionTemp, "wwdisinfectiontemp", "disinfection temperature", "Desinfektionstemperatur", "Desinfectietemperatuur", "Desinfektionstemperatur", "temperatura dezynfekcji termicznej", "desinfeksjonstemperatur", "température désinfection", "", "temperatura disinfezione") // TODO translate MAKE_TRANSLATION(wwCircMode, "wwcircmode", "circulation pump mode", "Zirkulationspumpen-Modus", "Modus circulatiepomp", "Läge Cirkulationspump", "tryb pracy cyrkulacji", "sikulasjonspumpemodus", "mode pompe circulation", "", "modalità pompa circolazione") MAKE_TRANSLATION(wwCirc, "wwcirc", "circulation active", "Zirkulation aktiv", "Circulatiepomp actief", "Cirkulation aktiv", "pompa cyrkulacji", "sirkulasjon aktiv", "circulation active", "", "circolazione attiva") @@ -577,7 +577,7 @@ MAKE_TRANSLATION(pvEnableWw, "pvenableww", "enable raise dhw", "aktiviere Anhebu MAKE_TRANSLATION(pvRaiseHeat, "pvraiseheat", "raise heating with PV", "Anhebung Heizen mit PV", "", "", "podwyższenie grzania z PV", "heve varmen med solpanel", "", "", "Aumentare il riscaldamento con il solare") // TODO translate MAKE_TRANSLATION(pvLowerCool, "pvlowercool", "lower cooling with PV", "Kühlabsenkung mit PV", "", "", "obniżenie chłodzenia z PV", "nedre kjøling solpanel", "", "", "Riduzione del raffreddamento con il solare") // TODO translate // thermostat ww -MAKE_TRANSLATION(wwMode, "wwmode", "mode", "Modus", "Modus", "Läge", "tryb pracy", "modus", "mode", "", "Modus") +MAKE_TRANSLATION(wwMode, "wwmode", "mode", "Modus", "Modus", "Läge", "tryb pracy", "modus", "mode", "", "modalità") MAKE_TRANSLATION(wwSetTempLow, "wwsettemplow", "set low temperature", "untere Solltemperatur", "Onderste streeftemperatuur", "Nedre Börvärde", "zadana temperatura obniżona", "nedre settverdi", "réglage température basse", "", "imposta bassa temperatura") MAKE_TRANSLATION(wwWhenModeOff, "wwwhenmodeoff", "when thermostat mode off", "bei Thermostatmodus AUS", "Als Thermostaat op UIT", "när Termostatläge är AV", "gdy wyłączono na termostacie", "når modus er av", "lorsque mode thermostat off", "", "quando termostato modalita OFF") MAKE_TRANSLATION(wwExtra1, "wwextra1", "circuit 1 extra", "Kreis 1 Extra", "Circuit 1 extra", "Krets 1 Extra", "obieg dodatkowy 1", "ekstra krets 1", "circuit 1 extra", "", "Circuito 1 extra") @@ -594,7 +594,7 @@ MAKE_TRANSLATION(wwDailyHeatTime, "wwdailyheattime", "daily heating time", "täg // thermostat hc MAKE_TRANSLATION(selRoomTemp, "seltemp", "selected room temperature", "Sollwert Raumtemperatur", "Streeftemperatuur kamer", "Vald Rumstemperatur", "zadana temperatura w pomieszczeniu", "valgt rumstemperatur", "température ambiante sélectionnée", "", "temperatura ambiente selezionata") MAKE_TRANSLATION(roomTemp, "currtemp", "current room temperature", "aktuelle Raumtemperatur", "Huidige kamertemperatuur", "Aktuell Rumstemperatur", "temperatura w pomieszczeniu", "gjeldende romstemperatur", "température ambiante actuelle", "", "temperatura ambiente attuale") -MAKE_TRANSLATION(mode, "mode", "mode", "Modus", "Modus", "Läge", "sposób sterowania", "modus", "mode", "", "Modus") +MAKE_TRANSLATION(mode, "mode", "mode", "Modus", "Modus", "Läge", "sposób sterowania", "modus", "mode", "", "modalità") MAKE_TRANSLATION(modetype, "modetype", "mode type", "Modus Typ", "Type modus", "Typ av läge", "aktualny tryb pracy", "modusrype", "type mode", "", "tipo di modalita") MAKE_TRANSLATION(fastheatup, "fastheatup", "fast heatup", "schnelles Aufheizen", "Snel opwarmen", "Snabb Uppvärmning", "szybkie nagrzewanie", "rask oppvarming", "chauffage rapide", "", "riscaldamento rapido") MAKE_TRANSLATION(daytemp, "daytemp", "day temperature", "Tagestemperatur", "temperatuur dag", "Dagstemperatur", "temperatura w dzień", "dagtemperatur", "température jour", "", "temperatura giornaliera") @@ -650,10 +650,10 @@ MAKE_TRANSLATION(reducehours, "reducehours", "duration for nighttemp", "Dauer Na MAKE_TRANSLATION(reduceminutes, "reduceminutes", "remaining time for nightmode", "Restzeit Nachttemp.", "Resterende tijd nachtverlaging", "Återstående Tid Nattläge", "czas do końca trybu nocnego", "gjenværende tid i nattstilling", "temps restant mode nuit", "", "temperatura notturna residua") MAKE_TRANSLATION(switchonoptimization, "switchonoptimization", "switch-on optimization", "Einschaltoptimierung", "Inschakeloptimalisering", "Växlingsoptimering", "optymalizacja załączania", "slå på optimalisering", "optimisation mise en marche", "", "ottimizzazione all'accensione") -MAKE_TRANSLATION(hpmode, "hpmode", "HP Mode", "WP Modus") -MAKE_TRANSLATION(dewoffset, "dewoffset", "dew point offset", "Taupunkt Differenz") -MAKE_TRANSLATION(roomtempdiff, "roomtempdiff", "room temp difference", "Raumtemperatur Differenz") -MAKE_TRANSLATION(hpminflowtemp, "hpminflowtemp", "HP min. flow temp.", "WP minimale Vorlauftemperatur") +MAKE_TRANSLATION(hpmode, "hpmode", "HP Mode", "WP Modus", "", "", "", "", "", "", "Modalità Termopompa") +MAKE_TRANSLATION(dewoffset, "dewoffset", "dew point offset", "Taupunkt Differenz", "", "", "", "", "", "", "differenza del punto di rugiada") +MAKE_TRANSLATION(roomtempdiff, "roomtempdiff", "room temp difference", "Raumtemperatur Differenz", "", "", "", "", "", "", "differenza temperatura ambiente") +MAKE_TRANSLATION(hpminflowtemp, "hpminflowtemp", "HP min. flow temp.", "WP minimale Vorlauftemperatur", "", "", "", "", "", "", "temperatura minima di mandata") MAKE_TRANSLATION(hpcooling, "cooling", "cooling", "Kühlen", "Koelen", "Kyler", "chłodzenie", "kjøling", "refroidissement", "soğuma", "raffreddamento") // heatpump @@ -750,7 +750,7 @@ MAKE_TRANSLATION(solarPump2Mode, "pump2mode", "pump 2 mode", "Pumpe 2 Modus", "M MAKE_TRANSLATION(solarPump2Kick, "pump2kick", "pump kick 2", "Pumpe 2 Startboost", "Startboost pomp 2", "Pump 2 Kollektorfunktion", "wspomaganie startu pompy 2", "startboost pumpe 2", "démarrage boost pompe 2", "", "avvio forzato pompa 2") // telegram 0x035F -MAKE_TRANSLATION(cylPriority, "cylpriority", "cylinder priority", "Speicher Priorität", "Prioriteit boiler", "Cylinderprioritering", "priorytet cylindra", "berederprioritering", "priorité de cylindre", "", "") +MAKE_TRANSLATION(cylPriority, "cylpriority", "cylinder priority", "Speicher Priorität", "Prioriteit boiler", "Cylinderprioritering", "priorytet cylindra", "berederprioritering", "priorité de cylindre", "", "priorità vaso accumulo") // telegram 0x380 MAKE_TRANSLATION(climateZone, "climatezone", "climate zone", "Klimazone", "klimaatzone", "Klimatzon", "strefa klimatyczna", "klimasone", "zone de climat", "", "zona clima") @@ -767,21 +767,21 @@ MAKE_TRANSLATION(swapFlowTemp, "swapflowtemp", "swap flow temperature (TS14)", " MAKE_TRANSLATION(swapRetTemp, "swaprettemp", "swap return temperature (TS15)", "Austausch Rücklauf-Temperatur (TS15)", "Retourtemperatuur verwisselaar (TS15)", "Växlingstemperatur Returflöde (TS15)", "temperatura powrotu wymiennika", "veksler returledningstemperatur (TS15)", "température retour échangeur (TS15)", "", "Scambiare la temperatura di ritorno (TS15)") // switch -MAKE_TRANSLATION(activated, "activated", "activated", "Aktiviert", "Geactiveerd", "Aktiverad", "aktywowany", "aktivert", "activé", "", "ativato") +MAKE_TRANSLATION(activated, "activated", "activated", "Aktiviert", "Geactiveerd", "Aktiverad", "aktywowany", "aktivert", "activé", "", "attivato") MAKE_TRANSLATION(status, "status", "status", "Status", "Status", "Status", "status", "status", "statut", "", "Stato") // RF sensor, id 0x40, telegram 0x435 MAKE_TRANSLATION(RFTemp, "rftemp", "RF room temperature sensor", "RF Raumtemperatur Sensor", "RF ruimtetemperatuur sensor", "RF Rumsgivare Temp", "bezprzewodowy czujnik temperatury pomieszczenia", "RF romsgiver temp", "capteur de température de pièce RF", "", "Sensore di temperatura ambiente RF") // ventilation -MAKE_TRANSLATION(outFresh, "outfresh", "outdoor fresh air", "Außenlufttemp.", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(inFresh, "infresh", "indoor fresh air", "Zulufttemp.", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(outEx, "outexhaust", "outdoor exhaust air", "Fortlufttemp.", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(inEx, "inexhaust", "indoor exhaust air", "Ablufttemp.", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(ventMode, "ventmode", "ventilation mode", "Belüftungsmodus", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(ventInSpeed, "ventinspeed", "in blower speed", "Zuluft-Drehzahl", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(ventOutSpeed, "ventoutspeed", "out blower speed", "Abluft-Drehzahl", "", "", "", "", "", "", "") // TODO translate -MAKE_TRANSLATION(airquality, "airquality", "air quality (voc)", "Luftqualität (VOC)", "", "", "", "", "", "", "") // TODO translate +MAKE_TRANSLATION(outFresh, "outfresh", "outdoor fresh air", "Außenlufttemp.", "", "", "", "", "", "", "aria fresca esterna") // TODO translate +MAKE_TRANSLATION(inFresh, "infresh", "indoor fresh air", "Zulufttemp.", "", "", "", "", "", "", "aria fresca interna") // TODO translate +MAKE_TRANSLATION(outEx, "outexhaust", "outdoor exhaust air", "Fortlufttemp.", "", "", "", "", "", "", "aria di scarico esterna") // TODO translate +MAKE_TRANSLATION(inEx, "inexhaust", "indoor exhaust air", "Ablufttemp.", "", "", "", "", "", "", "aria di scarico interna") // TODO translate +MAKE_TRANSLATION(ventMode, "ventmode", "ventilation mode", "Belüftungsmodus", "", "", "", "", "", "", "modalità di ventilazione") // TODO translate +MAKE_TRANSLATION(ventInSpeed, "ventinspeed", "in blower speed", "Zuluft-Drehzahl", "", "", "", "", "", "", "velocità aria di alimentazione") // TODO translate +MAKE_TRANSLATION(ventOutSpeed, "ventoutspeed", "out blower speed", "Abluft-Drehzahl", "", "", "", "", "", "", "velocità aria di scarico") // TODO translate +MAKE_TRANSLATION(airquality, "airquality", "air quality (voc)", "Luftqualität (VOC)", "", "", "", "", "", "", "qualità aria (VOC)") // TODO translate /* // unknown fields to track (SM10), only for testing