iobroker.metermaster 0.9.9 → 0.9.11

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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024-2026 MPunktBPunkt
3
+ Copyright (c) 2024-2026 MPunktBPunkt <martin@bchmnn.de>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -271,6 +271,30 @@ iobroker restart metermaster.0
271
271
  ### **WORK IN PROGRESS**
272
272
  - (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.
273
273
 
274
+ ### 0.9.11
275
+ - Add author email to `package.json`, `io-package.json`, README, and LICENSE (repo checker E4048/S4050/S4051)
276
+
277
+ ### 0.9.10
278
+ - Repo checker (E2004/E6029): remove unpublished `0.9.5` from `common.news`
279
+ - Trim `common.news` to 7 entries
280
+ - Document releases 0.9.6–0.9.10 in README changelog
281
+
282
+ ### 0.9.9
283
+ - Web UI: delete apartment/meter with password confirmation (DELETE API)
284
+ - Collapsible house/apartment sections in the Data tab (localStorage)
285
+
286
+ ### 0.9.8
287
+ - Log MeterMaster app connection tests from User-Agent on `/api/ping` at info level
288
+
289
+ ### 0.9.7
290
+ - Print fix (Blob URL revoke)
291
+ - ESP32 discover proxy (`getStates` / node-discover)
292
+ - Node heartbeat/ack logs moved to debug
293
+
294
+ ### 0.9.6
295
+ - Assign display nodes via chips on meter cards in the Data tab
296
+ - Correct history on re-sync; edit values in Web UI; print chart and apartment/house latest readings
297
+
274
298
  ### 0.9.4
275
299
  - All adapter log messages and API JSON error responses in English
276
300
  - State common names and roles corrected (readings channel, date/text/json roles, info.firmware for nodes)
@@ -321,6 +345,6 @@ See [io-package.json](io-package.json) `common.news` for full history. Older ent
321
345
 
322
346
  MIT License
323
347
 
324
- Copyright (c) 2026 MPunktBPunkt
348
+ Copyright (c) 2026 MPunktBPunkt <martin@bchmnn.de>
325
349
 
326
350
  See [LICENSE](LICENSE) for the full license text.
package/io-package.json CHANGED
@@ -1,11 +1,37 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "metermaster",
4
- "version": "0.9.9",
4
+ "version": "0.9.11",
5
5
  "news": {
6
+ "0.9.11": {
7
+ "en": "Add author email to package metadata (repo checker E4048/S4050/S4051)",
8
+ "de": "Autor-E-Mail in Paket-Metadaten erg\u00e4nzt (Repo-Checker E4048/S4050/S4051)",
9
+ "ru": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d email \u0430\u0432\u0442\u043e\u0440\u0430 \u0432 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 (repo checker E4048/S4050/S4051)",
10
+ "pt": "Adicionado email do autor aos metadados do pacote (repo checker E4048/S4050/S4051)",
11
+ "nl": "E-mailadres auteur toegevoegd aan pakketmetadata (repo checker E4048/S4050/S4051)",
12
+ "fr": "Ajout de l'e-mail de l'auteur aux m\u00e9tadonn\u00e9es du paquet (repo checker E4048/S4050/S4051)",
13
+ "it": "Aggiunta email autore ai metadati del pacchetto (repo checker E4048/S4050/S4051)",
14
+ "es": "A\u00f1adido email del autor a los metadatos del paquete (repo checker E4048/S4050/S4051)",
15
+ "pl": "Dodano email autora do metadanych pakietu (repo checker E4048/S4050/S4051)",
16
+ "uk": "\u0414\u043e\u0434\u0430\u043d\u043e email \u0430\u0432\u0442\u043e\u0440\u0430 \u0434\u043e \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u0430 (repo checker E4048/S4050/S4051)",
17
+ "zh-cn": "\u5728\u5305\u5143\u6570\u636e\u4e2d\u6dfb\u52a0\u4f5c\u8005\u7535\u5b50\u90ae\u4ef6\uff08repo checker E4048/S4050/S4051\uff09"
18
+ },
19
+ "0.9.10": {
20
+ "en": "Repo checker: remove unpublished 0.9.5 from news; add missing changelog entries for 0.9.6\u20130.9.10",
21
+ "de": "Repo-Checker: unver\u00f6ffentlichte 0.9.5 aus News entfernt; fehlende Changelog-Eintr\u00e4ge 0.9.6\u20130.9.10 erg\u00e4nzt",
22
+ "ru": "Repo checker: news/changelog cleanup",
23
+ "pt": "Repo checker: news/changelog cleanup",
24
+ "nl": "Repo-checker: news/changelog opgeschoond",
25
+ "fr": "Repo checker : nettoyage news/changelog",
26
+ "it": "Repo checker: pulizia news/changelog",
27
+ "es": "Repo checker: limpieza news/changelog",
28
+ "pl": "Repo checker: porz\u0105dki news/changelog",
29
+ "uk": "Repo checker: \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044f news/changelog",
30
+ "zh-cn": "\u4ed3\u5e93\u68c0\u67e5\u5668\uff1a\u6e05\u7406 news/changelog"
31
+ },
6
32
  "0.9.9": {
7
33
  "en": "Web UI: delete apartment/meter (password confirm); collapsible house/apartment sections",
8
- "de": "Web-UI: Wohnung/Zähler löschen (Passwort-Bestätigung); Haus/Wohnung einklappbar",
34
+ "de": "Web-UI: Wohnung/Z\u00e4hler l\u00f6schen (Passwort-Best\u00e4tigung); Haus/Wohnung einklappbar",
9
35
  "ru": "Web UI: delete apartment/meter; collapsible sections",
10
36
  "pt": "Web UI: delete apartment/meter; collapsible sections",
11
37
  "nl": "Web-UI: appartement/meter verwijderen; inklapbare secties",
@@ -14,7 +40,7 @@
14
40
  "es": "Web UI: eliminar vivienda/contador; secciones plegables",
15
41
  "pl": "Web UI: usuwanie mieszkania/licznika; zwijane sekcje",
16
42
  "uk": "Web UI: delete apartment/meter; collapsible sections",
17
- "zh-cn": "Web UI:删除公寓/表计;可折叠分区"
43
+ "zh-cn": "Web UI\uff1a\u5220\u9664\u516c\u5bd3/\u8868\u8ba1\uff1b\u53ef\u6298\u53e0\u5206\u533a"
18
44
  },
19
45
  "0.9.8": {
20
46
  "en": "Log MeterMaster app connection tests from User-Agent at info level",
@@ -27,7 +53,7 @@
27
53
  "es": "Log app connection tests via User-Agent",
28
54
  "pl": "Log app connection tests via User-Agent",
29
55
  "uk": "Log app connection tests via User-Agent",
30
- "zh-cn": "通过 User-Agent 记录应用连接测试"
56
+ "zh-cn": "\u901a\u8fc7 User-Agent \u8bb0\u5f55\u5e94\u7528\u8fde\u63a5\u6d4b\u8bd5"
31
57
  },
32
58
  "0.9.7": {
33
59
  "en": "Print fix (Blob URL); ESP32 discover proxy (getStates/node-discover); node heartbeat/ack logs moved to debug",
@@ -40,85 +66,46 @@
40
66
  "es": "Print fix; ESP32 discover proxy; node logs debug",
41
67
  "pl": "Print fix; ESP32 discover proxy; node logs debug",
42
68
  "uk": "Print fix; ESP32 discover proxy; node logs debug",
43
- "zh-cn": "打印修复;ESP32 discover 代理;节点日志改为 debug"
69
+ "zh-cn": "\u6253\u5370\u4fee\u590d\uff1bESP32 discover \u4ee3\u7406\uff1b\u8282\u70b9\u65e5\u5fd7\u6539\u4e3a debug"
44
70
  },
45
71
  "0.9.6": {
46
72
  "en": "Assign display nodes via chips on meter cards in the Data tab",
47
- "de": "Anzeige-Nodes per Chips auf den Zähler-Kacheln im Daten-Tab zuweisen",
73
+ "de": "Anzeige-Nodes per Chips auf den Z\u00e4hler-Kacheln im Daten-Tab zuweisen",
48
74
  "ru": "Assign nodes via chips on meter cards",
49
75
  "pt": "Assign nodes via chips on meter cards",
50
76
  "nl": "Nodes toewijzen via chips op meterkarten",
51
77
  "fr": "Assigner des nodes via des chips sur les cartes compteur",
52
78
  "it": "Assegna node tramite chip sulle card contatore",
53
79
  "es": "Asignar nodes mediante chips en las tarjetas de contador",
54
- "pl": "Przypisywanie node przez chipy na kartach liczników",
55
- "uk": "Призначення node через чіпи на картках лічильників",
56
- "zh-cn": "在数据页计量表卡片上通过芯片分配显示节点"
57
- },
58
- "0.9.5": {
59
- "en": "Correct history on re-sync; edit values in Web UI; print chart and apartment/house latest readings",
60
- "de": "Historie bei erneutem Sync korrigieren; Werte in der Web-UI bearbeiten; Chart sowie Wohnungs-/Haus-Stände drucken",
61
- "ru": "Correction of history; Web UI edit; print chart and readings",
62
- "pt": "Correct history; Web UI edit; print",
63
- "nl": "History corrigeren; Web UI edit; printen",
64
- "fr": "Corriger l'historique; édition Web UI; impression",
65
- "it": "Correggi cronologia; modifica Web UI; stampa",
66
- "es": "Corregir historial; edición Web UI; imprimir",
67
- "pl": "Korekta historii; edycja Web UI; druk",
68
- "uk": "Корекція історії; редагування Web UI; друк",
69
- "zh-cn": "更正历史记录;Web UI 编辑;打印图表与读数"
80
+ "pl": "Przypisywanie node przez chipy na kartach licznik\u00f3w",
81
+ "uk": "\u041f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f node \u0447\u0435\u0440\u0435\u0437 \u0447\u0456\u043f\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u043a\u0430\u0445 \u043b\u0456\u0447\u0438\u043b\u044c\u043d\u0438\u043a\u0456\u0432",
82
+ "zh-cn": "\u5728\u6570\u636e\u9875\u8ba1\u91cf\u8868\u5361\u7247\u4e0a\u901a\u8fc7\u82af\u7247\u5206\u914d\u663e\u793a\u8282\u70b9"
70
83
  },
71
84
  "0.9.4": {
72
85
  "en": "Review fixes: English logs/states/API errors, Web UI i18n, config validation, removed /api/update",
73
86
  "de": "Review-Fixes: Englische Logs/States/API-Fehler, Web-UI-i18n, Config-Validierung, /api/update entfernt",
74
- "ru": "Исправления review: английские логи/states/API, i18n Web UI, валидация config, удалён /api/update",
75
- "pt": "Correções de review: logs/states/erros API em inglês, i18n Web UI, validação config, removido /api/update",
87
+ "ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f review: \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0435 \u043b\u043e\u0433\u0438/states/API, i18n Web UI, \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f config, \u0443\u0434\u0430\u043b\u0451\u043d /api/update",
88
+ "pt": "Corre\u00e7\u00f5es de review: logs/states/erros API em ingl\u00eas, i18n Web UI, valida\u00e7\u00e3o config, removido /api/update",
76
89
  "nl": "Review-fixes: Engelse logs/states/API-fouten, Web UI i18n, config-validatie, /api/update verwijderd",
77
- "fr": "Corrections review : logs/states/erreurs API en anglais, i18n Web UI, validation config, /api/update supprimé",
90
+ "fr": "Corrections review : logs/states/erreurs API en anglais, i18n Web UI, validation config, /api/update supprim\u00e9",
78
91
  "it": "Correzioni review: log/states/errori API in inglese, i18n Web UI, validazione config, rimosso /api/update",
79
- "es": "Correcciones de review: logs/states/errores API en inglés, i18n Web UI, validación config, eliminado /api/update",
80
- "pl": "Poprawki review: angielskie logi/states/błędy API, i18n Web UI, walidacja config, usunięto /api/update",
81
- "uk": "Виправлення review: англійські логи/states/API, i18n Web UI, валідація config, видалено /api/update",
82
- "zh-cn": "审查修复:英文日志/states/API 错误、Web UI 国际化、配置验证、移除 /api/update"
92
+ "es": "Correcciones de review: logs/states/errores API en ingl\u00e9s, i18n Web UI, validaci\u00f3n config, eliminado /api/update",
93
+ "pl": "Poprawki review: angielskie logi/states/b\u0142\u0119dy API, i18n Web UI, walidacja config, usuni\u0119to /api/update",
94
+ "uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044f review: \u0430\u043d\u0433\u043b\u0456\u0439\u0441\u044c\u043a\u0456 \u043b\u043e\u0433\u0438/states/API, i18n Web UI, \u0432\u0430\u043b\u0456\u0434\u0430\u0446\u0456\u044f config, \u0432\u0438\u0434\u0430\u043b\u0435\u043d\u043e /api/update",
95
+ "zh-cn": "\u5ba1\u67e5\u4fee\u590d\uff1a\u82f1\u6587\u65e5\u5fd7/states/API \u9519\u8bef\u3001Web UI \u56fd\u9645\u5316\u3001\u914d\u7f6e\u9a8c\u8bc1\u3001\u79fb\u9664 /api/update"
83
96
  },
84
97
  "0.9.3": {
85
98
  "en": "Fix state roles for ioBroker object structure check (date, text, json, info.firmware)",
86
- "de": "State-Rollen für ioBroker-Objektstruktur-Prüfung korrigiert (date, text, json, info.firmware)",
87
- "ru": "Исправлены роли states для проверки структуры объектов ioBroker",
88
- "pt": "Corrigidas roles de states para verificação da estrutura de objetos ioBroker",
99
+ "de": "State-Rollen f\u00fcr ioBroker-Objektstruktur-Pr\u00fcfung korrigiert (date, text, json, info.firmware)",
100
+ "ru": "\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u0440\u043e\u043b\u0438 states \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 ioBroker",
101
+ "pt": "Corrigidas roles de states para verifica\u00e7\u00e3o da estrutura de objetos ioBroker",
89
102
  "nl": "State-rollen gecorrigeerd voor ioBroker objectstructuurcontrole",
90
- "fr": "Rôles des states corrigés pour la vérification de structure d'objets ioBroker",
103
+ "fr": "R\u00f4les des states corrig\u00e9s pour la v\u00e9rification de structure d'objets ioBroker",
91
104
  "it": "Corrette le role degli state per il controllo struttura oggetti ioBroker",
92
- "es": "Corregidos roles de states para verificación de estructura de objetos ioBroker",
93
- "pl": "Poprawiono role states dla kontroli struktury obiektów ioBroker",
94
- "uk": "Виправлено ролі states для перевірки структури об'єктів ioBroker",
95
- "zh-cn": "修复 state 角色以通过 ioBroker 对象结构检查"
96
- },
97
- "0.9.2": {
98
- "en": "Adapter checker compliance: npm news cleanup, devDependencies, trusted publishing",
99
- "de": "Adapter-Checker-Konformität: npm-News bereinigt, devDependencies, Trusted Publishing",
100
- "ru": "Соответствие adapter checker: очистка npm news, devDependencies, trusted publishing",
101
- "pt": "Conformidade com adapter checker: limpeza npm news, devDependencies, trusted publishing",
102
- "nl": "Adapter-checker conformiteit: npm news opgeschoond, devDependencies, trusted publishing",
103
- "fr": "Conformité adapter checker : nettoyage npm news, devDependencies, trusted publishing",
104
- "it": "Conformità adapter checker: pulizia npm news, devDependencies, trusted publishing",
105
- "es": "Conformidad adapter checker: limpieza npm news, devDependencies, trusted publishing",
106
- "pl": "Zgodność z adapter checker: czyszczenie npm news, devDependencies, trusted publishing",
107
- "uk": "Відповідність adapter checker: очищення npm news, devDependencies, trusted publishing",
108
- "zh-cn": "适配器检查器合规:清理 npm news、devDependencies、trusted publishing"
109
- },
110
- "0.9.1": {
111
- "en": "Lowered admin dependency to >=7.6.20 (fixes startup with admin 7.7.x)",
112
- "de": "Admin-Abhängigkeit auf >=7.6.20 gesenkt (behebt Start mit admin 7.7.x)",
113
- "ru": "Снижена зависимость admin до >=7.6.20 (исправлен запуск с admin 7.7.x)",
114
- "pt": "Dependência admin reduzida para >=7.6.20 (corrige inicialização com admin 7.7.x)",
115
- "nl": "Admin-afhankelijkheid verlaagd naar >=7.6.20 (lost opstarten met admin 7.7.x op)",
116
- "fr": "Dépendance admin abaissée à >=7.6.20 (corrige le démarrage avec admin 7.7.x)",
117
- "it": "Dipendenza admin ridotta a >=7.6.20 (corregge avvio con admin 7.7.x)",
118
- "es": "Dependencia admin reducida a >=7.6.20 (corrige inicio con admin 7.7.x)",
119
- "pl": "Obniżono zależność admin do >=7.6.20 (naprawia start z admin 7.7.x)",
120
- "uk": "Знижено залежність admin до >=7.6.20 (виправлено запуск з admin 7.7.x)",
121
- "zh-cn": "降低 admin 依赖至 >=7.6.20(修复 admin 7.7.x 下无法启动)"
105
+ "es": "Corregidos roles de states para verificaci\u00f3n de estructura de objetos ioBroker",
106
+ "pl": "Poprawiono role states dla kontroli struktury obiekt\u00f3w ioBroker",
107
+ "uk": "\u0412\u0438\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0440\u043e\u043b\u0456 states \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438 \u043e\u0431'\u0454\u043a\u0442\u0456\u0432 ioBroker",
108
+ "zh-cn": "\u4fee\u590d state \u89d2\u8272\u4ee5\u901a\u8fc7 ioBroker \u5bf9\u8c61\u7ed3\u6784\u68c0\u67e5"
122
109
  }
123
110
  },
124
111
  "titleLang": {
@@ -136,19 +123,19 @@
136
123
  },
137
124
  "desc": {
138
125
  "en": "Receives meter readings from the MeterMaster Android app and manages ESP32 display nodes",
139
- "de": "Empfängt Zählerablesungen von der MeterMaster Android-App und verwaltet ESP32 Display-Nodes",
140
- "ru": "Принимает показания счётчиков из Android-приложения MeterMaster и управляет ESP32 display nodes",
141
- "pt": "Recebe leituras de medidores do app Android MeterMaster e gerencia nós de display ESP32",
126
+ "de": "Empf\u00e4ngt Z\u00e4hlerablesungen von der MeterMaster Android-App und verwaltet ESP32 Display-Nodes",
127
+ "ru": "\u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u0437 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f MeterMaster \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 ESP32 display nodes",
128
+ "pt": "Recebe leituras de medidores do app Android MeterMaster e gerencia n\u00f3s de display ESP32",
142
129
  "nl": "Ontvangt meterstanden van de MeterMaster Android-app en beheert ESP32 display nodes",
143
- "fr": "Reçoit les relevés de compteurs de l'app Android MeterMaster et gère les nœuds d'affichage ESP32",
130
+ "fr": "Re\u00e7oit les relev\u00e9s de compteurs de l'app Android MeterMaster et g\u00e8re les n\u0153uds d'affichage ESP32",
144
131
  "it": "Riceve letture contatori dall'app Android MeterMaster e gestisce nodi display ESP32",
145
132
  "es": "Recibe lecturas de contadores de la app Android MeterMaster y gestiona nodos de display ESP32",
146
- "pl": "Odbiera odczyty liczników z aplikacji Android MeterMaster i zarządza węzłami wyświetlacza ESP32",
147
- "uk": "Отримує показники лічильників з Android-додатку MeterMaster та керує ESP32 display nodes",
148
- "zh-cn": "接收 MeterMaster Android 应用的表计读数并管理 ESP32 显示节点"
133
+ "pl": "Odbiera odczyty licznik\u00f3w z aplikacji Android MeterMaster i zarz\u0105dza w\u0119z\u0142ami wy\u015bwietlacza ESP32",
134
+ "uk": "\u041e\u0442\u0440\u0438\u043c\u0443\u0454 \u043f\u043e\u043a\u0430\u0437\u043d\u0438\u043a\u0438 \u043b\u0456\u0447\u0438\u043b\u044c\u043d\u0438\u043a\u0456\u0432 \u0437 Android-\u0434\u043e\u0434\u0430\u0442\u043a\u0443 MeterMaster \u0442\u0430 \u043a\u0435\u0440\u0443\u0454 ESP32 display nodes",
135
+ "zh-cn": "\u63a5\u6536 MeterMaster Android \u5e94\u7528\u7684\u8868\u8ba1\u8bfb\u6570\u5e76\u7ba1\u7406 ESP32 \u663e\u793a\u8282\u70b9"
149
136
  },
150
137
  "authors": [
151
- "MPunktBPunkt"
138
+ "MPunktBPunkt <martin@bchmnn.de>"
152
139
  ],
153
140
  "keywords": [
154
141
  "meter",
package/main.js CHANGED
@@ -4,7 +4,7 @@ const utils = require('@iobroker/adapter-core');
4
4
  const http = require('node:http');
5
5
  const crypto = require('node:crypto');
6
6
  const https = require('node:https');
7
- const CURRENT_VERSION = '0.9.9';
7
+ const CURRENT_VERSION = '0.9.10';
8
8
  const GITHUB_REPO = 'MPunktBPunkt/ioBroker.metermaster';
9
9
  const GITHUB_URL = 'https://github.com/MPunktBPunkt/ioBroker.metermaster';
10
10
 
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "iobroker.metermaster",
3
- "version": "0.9.9",
4
- "description": "ioBroker adapter for the MeterMaster Android app – receives meter readings and manages ESP32 display nodes",
3
+ "version": "0.9.11",
4
+ "description": "ioBroker adapter for the MeterMaster Android app \u2013 receives meter readings and manages ESP32 display nodes",
5
5
  "author": {
6
6
  "name": "MPunktBPunkt",
7
+ "email": "martin@bchmnn.de",
7
8
  "url": "https://github.com/MPunktBPunkt"
8
9
  },
9
10
  "homepage": "https://github.com/MPunktBPunkt/ioBroker.metermaster",