iobroker.tibberlink 3.3.3 → 3.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.
package/README.md CHANGED
@@ -85,6 +85,14 @@ The calculation is performed for "multiday" data. As we only have information fo
85
85
 
86
86
  To observe this dynamic change in the time scope for a standard channel, you may opt for a Limited Time Frame (LTF) spanning several years. This is particularly useful for the "Best Single Hours LTF" scenario.
87
87
 
88
+ ## Direct local poll of Pulse data
89
+
90
+ To make it work, you just need to keep the web interface of the Bridge permanently enabled. marq24 has described how to do this excellently for his HomeAssistant integration here:
91
+
92
+ https://github.com/marq24/ha-tibber-pulse-local
93
+
94
+ If everything works correctly, the meter data will be written to IoBroker states every 2 seconds.
95
+
88
96
  ## Sentry
89
97
 
90
98
  This adapter employs Sentry libraries to automatically report exceptions and code errors to the developers. For more details and information on how to disable error reporting, please consult the [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is initiated starting with js-controller 3.0.
@@ -98,6 +106,10 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
98
106
 
99
107
  ! Note that missing version entries are typically dependency updates for improved security.
100
108
 
109
+ ### 3.4.0 (2024-07-xx)
110
+
111
+ - (HombachC) add mode for local poll of Pulse data (#201)
112
+
101
113
  ### 3.3.3 (2024-07-04)
102
114
 
103
115
  - (HombachC) fix sentry notified possible error
@@ -1331,6 +1331,7 @@
1331
1331
  "lg": 12,
1332
1332
  "newLine": true
1333
1333
  },
1334
+
1334
1335
  "_specialshelp1": {
1335
1336
  "type": "staticText",
1336
1337
  "label": {
@@ -1349,6 +1350,209 @@
1349
1350
  "newLine": true
1350
1351
  }
1351
1352
  }
1353
+ },
1354
+
1355
+ "_LocalPulseTab": {
1356
+ "type": "panel",
1357
+ "label": {
1358
+ "en": "Local Pulse Poll Settings",
1359
+ "de": "Lokale Pulse Abfrage Einstellungen",
1360
+ "ru": "Настройки локального опроса Pulse",
1361
+ "pt": "Configurações de Pesquisa de Pulse Local",
1362
+ "nl": "Instellingen voor lokale Pulse polling",
1363
+ "fr": "Paramètres de sondage de pulsations locales",
1364
+ "it": "Impostazioni di polling degli Pulse locali",
1365
+ "es": "Configuraciones de sondeo de Pulse local",
1366
+ "pl": "Ustawienia lokalnego sondowania impulsów",
1367
+ "uk": "Налаштування локального опитування Pulse",
1368
+ "zh-cn": "本地脉冲轮询设置"
1369
+ },
1370
+ "items": {
1371
+ "_LocalPulseHeader": {
1372
+ "type": "header",
1373
+ "text": {
1374
+ "en": "Local Pulse Poll Settings",
1375
+ "de": "Lokale Pulse Abfrage Einstellungen",
1376
+ "ru": "Настройки локального опроса Pulse",
1377
+ "pt": "Configurações de Pesquisa de Pulse Local",
1378
+ "nl": "Instellingen voor lokale Pulse polling",
1379
+ "fr": "Paramètres de sondage de pulsations locales",
1380
+ "it": "Impostazioni di polling degli Pulse locali",
1381
+ "es": "Configuraciones de sondeo de Pulse local",
1382
+ "pl": "Ustawienia lokalnego sondowania impulsów",
1383
+ "uk": "Налаштування локального опитування Pulse",
1384
+ "zh-cn": "本地脉冲轮询设置"
1385
+ },
1386
+ "size": 3
1387
+ },
1388
+
1389
+ "UseLocalPulseData": {
1390
+ "type": "checkbox",
1391
+ "label": {
1392
+ "en": "Use direct poll of local Tibber Pulse(s) - handle with care!",
1393
+ "de": "Direkte Abfrage von lokalen Tibber Pulse(s) verwenden - mit Vorsicht behandeln!",
1394
+ "ru": "Используйте прямой опрос локальных Tibber Pulse - обращайтесь с осторожностью!",
1395
+ "pt": "Use pesquisa direta de Tibber Pulse(s) local - manuseie com cuidado!",
1396
+ "nl": "Gebruik directe polling van lokale Tibber Pulse(s) - behandel met zorg!",
1397
+ "fr": "Utilisez le sondage direct des Tibber Pulse(s) locaux - manipulez avec précaution!",
1398
+ "it": "Usa il sondaggio diretto dei Tibber Pulse locali - maneggiare con cura!",
1399
+ "es": "Use sondeo directo de Tibber Pulse(s) locales - ¡manéjelo con cuidado!",
1400
+ "pl": "Użyj bezpośredniego sondowania lokalnych Tibber Pulse - używaj ostrożnie!",
1401
+ "uk": "Використовуйте пряме опитування локальних Tibber Pulse - поводьтеся обережно!",
1402
+ "zh-cn": "使用本地 Tibber Pulse 的直接轮询 - 小心处理!"
1403
+ },
1404
+ "sm": 12,
1405
+ "md": 12,
1406
+ "lg": 12,
1407
+ "newLine": true
1408
+ },
1409
+
1410
+ "_localpulsehelp1": {
1411
+ "type": "staticText",
1412
+ "label": {
1413
+ "en": "Use your Tibber Bridge(s) to poll data directly from your Tibber Pulse module(s) locally.",
1414
+ "de": "Verwenden Sie Ihre Tibber Bridge(s), um Daten direkt von Ihrem Tibber Pulse-Modul(en) lokal abzufragen.",
1415
+ "ru": "Используйте ваши Tibber Bridge для локального опроса данных напрямую с ваших Tibber Pulse модулей.",
1416
+ "pt": "Use suas Tibber Bridge(s) para buscar dados diretamente de seus módulos Tibber Pulse localmente.",
1417
+ "nl": "Gebruik uw Tibber Bridge(s) om gegevens lokaal direct van uw Tibber Pulse-module(s) te polleren.",
1418
+ "fr": "Utilisez vos Tibber Bridge(s) pour interroger directement les données de vos modules Tibber Pulse localement.",
1419
+ "it": "Usa i tuoi Tibber Bridge per sondare i dati direttamente dai tuoi moduli Tibber Pulse localmente.",
1420
+ "es": "Use sus Tibber Bridge(s) para sondear datos directamente desde sus módulos Tibber Pulse localmente.",
1421
+ "pl": "Użyj swoich Tibber Bridge, aby bezpośrednio sondować dane z modułów Tibber Pulse lokalnie.",
1422
+ "uk": "Використовуйте ваші Tibber Bridge для локального опитування даних безпосередньо з ваших модулів Tibber Pulse.",
1423
+ "zh-cn": "使用您的 Tibber Bridge 在本地直接从您的 Tibber Pulse 模块中轮询数据。"
1424
+ },
1425
+ "newLine": true
1426
+ },
1427
+
1428
+ "PulseList": {
1429
+ "type": "table",
1430
+ "sm": 12,
1431
+ "md": 12,
1432
+ "lg": 12,
1433
+ "label": {
1434
+ "en": "Local Pulse to poll data from.",
1435
+ "de": "Lokaler Pulse, von dem Daten abgefragt werden sollen.",
1436
+ "ru": "Локальный Pulse для опроса данных.",
1437
+ "pt": "Pulse local para buscar dados de.",
1438
+ "nl": "Lokale Pulse om gegevens van te polleren.",
1439
+ "fr": "Pulse local pour interroger les données.",
1440
+ "it": "Pulse locale da cui sondare i dati.",
1441
+ "es": "Pulse local para sondear datos de.",
1442
+ "pl": "Lokalny Pulse do sondowania danych.",
1443
+ "uk": "Локальний Pulse для опитування даних.",
1444
+ "zh-cn": "用于轮询数据的本地 Pulse。"
1445
+ },
1446
+ "hidden": "!data.UseLocalPulseData",
1447
+ "items": [
1448
+ {
1449
+ "type": "text",
1450
+ "title": {
1451
+ "en": "Bridge network address",
1452
+ "de": "Bridge-Netzwerkadresse",
1453
+ "ru": "Сетевой адрес моста",
1454
+ "pt": "Endereço de rede da Bridge",
1455
+ "nl": "Brugnetwerkadres",
1456
+ "fr": "Adresse réseau du pont",
1457
+ "it": "Indirizzo di rete del bridge",
1458
+ "es": "Dirección de red del puente",
1459
+ "pl": "Adres sieciowy mostka",
1460
+ "uk": "Мережева адреса мосту",
1461
+ "zh-cn": "桥接网络地址"
1462
+ },
1463
+ "tooltip": {
1464
+ "en": "Name of your Bridge or IP address (defaults to tibber-host)",
1465
+ "de": "Name Ihrer Bridge oder IP-Adresse (Standard ist tibber-host)",
1466
+ "ru": "Имя вашего Bridge или IP-адрес (по умолчанию tibber-host)",
1467
+ "pt": "Nome da sua Bridge ou endereço IP (padrão é tibber-host)",
1468
+ "nl": "Naam van uw Bridge of IP-adres (standaard tibber-host)",
1469
+ "fr": "Nom de votre Bridge ou adresse IP (par défaut tibber-host)",
1470
+ "it": "Nome del tuo Bridge o indirizzo IP (predefinito tibber-host)",
1471
+ "es": "Nombre de su Bridge o dirección IP (por defecto tibber-host)",
1472
+ "pl": "Nazwa twojego Bridge lub adres IP (domyślnie tibber-host)",
1473
+ "uk": "Назва вашого Bridge або IP-адреса (за замовчуванням tibber-host)",
1474
+ "zh-cn": "您的 Bridge 名称或 IP 地址(默认为 tibber-host)"
1475
+ },
1476
+ "maxLength": 30,
1477
+ "attr": "tibberBridgeUrl",
1478
+ "filter": false,
1479
+ "sort": false,
1480
+ "width": "40%",
1481
+ "default": "tibber-host"
1482
+ },
1483
+ {
1484
+ "type": "text",
1485
+ "title": {
1486
+ "en": "Bridge password",
1487
+ "de": "Bridge-Passwort",
1488
+ "ru": "Пароль моста",
1489
+ "pt": "Senha da Bridge",
1490
+ "nl": "Bridge-wachtwoord",
1491
+ "fr": "Mot de passe du pont",
1492
+ "it": "Password del bridge",
1493
+ "es": "Contraseña del puente",
1494
+ "pl": "Hasło do mostu",
1495
+ "uk": "Пароль моста",
1496
+ "zh-cn": "桥接密码"
1497
+ },
1498
+ "tooltip": {
1499
+ "en": "The password for your local Tibber Bridge, as printed on the hardware.",
1500
+ "de": "Das Passwort für Ihre lokale Tibber Bridge, wie auf der Hardware gedruckt.",
1501
+ "ru": "Пароль для вашего локального Tibber Bridge, как указано на аппаратных средствах.",
1502
+ "pt": "A senha para sua Bridge Tibber local, conforme impresso no hardware.",
1503
+ "nl": "Het wachtwoord voor uw lokale Tibber Bridge, zoals afgedrukt op de hardware.",
1504
+ "fr": "Le mot de passe de votre Bridge Tibber local, tel qu'imprimé sur le matériel.",
1505
+ "it": "La password per il tuo Bridge Tibber locale, come stampato sull'hardware.",
1506
+ "es": "La contraseña para su Puente Tibber local, como se imprime en el hardware.",
1507
+ "pl": "Hasło do Twojego lokalnego mostu Tibber, jak wydrukowane na sprzęcie.",
1508
+ "uk": "Пароль для вашого локального мосту Tibber, як вказано на апаратних засобах.",
1509
+ "zh-cn": "本地 Tibber 桥的密码,如印在硬件上。"
1510
+ },
1511
+ "maxLength": 20,
1512
+ "attr": "tibberBridgePassword",
1513
+ "filter": false,
1514
+ "sort": false,
1515
+ "width": "40%",
1516
+ "default": "xxxx-xxxx"
1517
+ },
1518
+ {
1519
+ "type": "number",
1520
+ "title": {
1521
+ "en": "Pulse NodeID",
1522
+ "de": "Pulse NodeID",
1523
+ "ru": "Pulse NodeID",
1524
+ "pt": "Pulse NodeID",
1525
+ "nl": "Pulse NodeID",
1526
+ "fr": "Pulse NodeID",
1527
+ "it": "Pulse NodeID",
1528
+ "es": "Pulse NodeID",
1529
+ "pl": "Pulse NodeID",
1530
+ "uk": "Pulse NodeID",
1531
+ "zh-cn": "Pulse NodeID"
1532
+ },
1533
+ "tooltip": {
1534
+ "en": "The node ID where your Pulse is registered on your Bridge.",
1535
+ "de": "Die Knoten-ID, unter der Ihr Pulse auf Ihrer Bridge registriert ist.",
1536
+ "ru": "Идентификатор узла, на котором зарегистрирован ваш Pulse на вашем мосту.",
1537
+ "pt": "O ID do nó onde o seu Pulse está registrado na sua Bridge.",
1538
+ "nl": "Het knooppunt-ID waar uw Pulse is geregistreerd op uw Bridge.",
1539
+ "fr": "L'ID du nœud où votre Pulse est enregistré sur votre pont.",
1540
+ "it": "L'ID del nodo dove il tuo Pulse è registrato sul tuo Bridge.",
1541
+ "es": "El ID del nodo donde su Pulse está registrado en su Puente.",
1542
+ "pl": "Identyfikator węzła, na którym zarejestrowany jest twój Pulse na twoim Bridge.",
1543
+ "uk": "Ідентифікатор вузла, на якому зареєстрований ваш Pulse на вашому мосту.",
1544
+ "zh-cn": "您的 Pulse 在桥上注册的节点 ID。"
1545
+ },
1546
+ "attr": "tibberPulseLocalNodeId",
1547
+ "min": 0,
1548
+ "max": 99,
1549
+ "step": 1,
1550
+ "width": "20%",
1551
+ "default": 1
1552
+ }
1553
+ ]
1554
+ }
1555
+ }
1352
1556
  }
1353
1557
  }
1354
1558
  }
@@ -46,6 +46,13 @@ class TibberHelper {
46
46
  };
47
47
  return statePrefix;
48
48
  }
49
+ getStatePrefixLocal(pulse, id, name) {
50
+ const statePrefix = {
51
+ key: name ? name : id,
52
+ value: `LocalPulse.${pulse}.${id}`,
53
+ };
54
+ return statePrefix;
55
+ }
49
56
  /**
50
57
  * Retrieves the value of a given state by its name.
51
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tibberHelper.js","sourceRoot":"","sources":["../../src/lib/tibberHelper.ts"],"names":[],"mappings":";;;AAEA,IAAY,UASX;AATD,WAAY,UAAU;IACrB,mDAAY,CAAA;IACZ,iEAAmB,CAAA;IACnB,+DAAkB,CAAA;IAClB,yDAAe,CAAA;IACf,uEAAsB,CAAA;IACtB,qEAAqB,CAAA;IACrB,uEAAsB,CAAA;IACtB,uBAAuB;AACxB,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAED,SAAgB,sBAAsB,CAAC,QAAoB;IAC1D,QAAQ,QAAQ,EAAE;QACjB,KAAK,UAAU,CAAC,QAAQ;YACvB,OAAO,WAAW,CAAC;QACpB,KAAK,UAAU,CAAC,eAAe;YAC9B,OAAO,mBAAmB,CAAC;QAC5B,KAAK,UAAU,CAAC,cAAc;YAC7B,OAAO,kBAAkB,CAAC;QAC3B,KAAK,UAAU,CAAC,WAAW;YAC1B,OAAO,eAAe,CAAC;QACxB,KAAK,UAAU,CAAC,kBAAkB;YACjC,OAAO,uBAAuB,CAAC;QAChC,KAAK,UAAU,CAAC,iBAAiB;YAChC,OAAO,sBAAsB,CAAC;QAC/B,KAAK,UAAU,CAAC,kBAAkB;YACjC,OAAO,sBAAsB,CAAC;QAC/B,mCAAmC;QACnC,+BAA+B;QAC/B;YACC,OAAO,SAAS,CAAC;KAClB;AACF,CAAC;AArBD,wDAqBC;AAUD,MAAa,YAAY;IAGxB,YAAY,OAA8B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAES,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,EAAU,EAAE,IAAa;QAChF,MAAM,WAAW,GAAG;YACnB,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrB,KAAK,EAAE,SAAS,MAAM,IAAI,KAAK,IAAI,EAAE,EAAE;SACvC,CAAC;QACF,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC9C,IAAI;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,iDAAiD;SAClF;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CAAC,SAAiB;QACvC,IAAI;YACH,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE;gBAC/C,0EAA0E;gBAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE;oBACxC,OAAO,gBAAgB,CAAC;iBACxB;qBAAM;oBACN,MAAM,uCAAuC,SAAS,IAAI,CAAC;iBAC3D;aACD;SACD;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QACnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB;QAC1F,IAAI,CAAC,WAAW,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,SAAS,0BAA0B,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,WAAW,CAAC,QAA2C;QAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE;YACzD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;YAC7D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACnD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB;YACpD,IAAI,KAAK,KAAK,EAAE,EAAE;gBACjB,OAAO,KAAK,CAAC;aACb;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;aAAM;YACN,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,gBAAgB,CAC/B,SAAoC,EACpC,KAAa,EACb,cAAsB,GAAG,EACzB,YAAqB,KAAK,EAC1B,aAAsB,KAAK;QAE3B,IAAI,KAAK,IAAI,SAAS,EAAE;YACvB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC3D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;oBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7E;aACD;SACD;IACF,CAAC;IAED;;;;;;;;;;OAUG;IACO,KAAK,CAAC,sBAAsB,CACrC,SAAoC,EACpC,KAAa,EACb,cAAsB,GAAG,EACzB,IAAa,EACb,YAAqB,KAAK,EAC1B,aAAsB,KAAK;QAE3B,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE;YACzB,MAAM,SAAS,GAAyB;gBACvC,IAAI,EAAE,SAAS,CAAC,GAAG;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;aAChB,CAAC;YACF,2DAA2D;YAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;gBACxC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;aACtB;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC3D,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,uBAAuB,CACtC,SAAoC,EACpC,KAAc,EACd,cAAsB,GAAG,EACzB,YAAqB,KAAK,EAC1B,aAAsB,KAAK;QAE3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAC1C,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE;oBAC3D,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;aACH;iBAAM;gBACN,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE;oBAClD,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE;wBACP,IAAI,EAAE,SAAS,CAAC,GAAG;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,SAAS;qBAChB;oBACD,MAAM,EAAE,EAAE;iBACV,CAAC,CAAC;aACH;YACD,iFAAiF;YACjF,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE;gBAChF,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;aAC7E;SACD;IACF,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,KAAU,EAAE,OAAe;QACtD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,kEAAkE;QAClE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAChD,kEAAkE;YAClE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC/B,IAAI,aAAa;oBAAE,aAAa,IAAI,IAAI,CAAC;gBACzC,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC;aAC7B;SACD;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE;YACzB,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,mFAAmF;SAClH;aAAM;YACN,aAAa,GAAG,eAAe,CAAC,CAAC,4EAA4E;SAC7G;QACD,oFAAoF;QACpF,OAAO,UAAU,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,IAAI,gBAAgB,uBAAuB,OAAO,OAAO,aAAa,EAAE,CAAC;IAClI,CAAC;CACD;AAvPD,oCAuPC"}
1
+ {"version":3,"file":"tibberHelper.js","sourceRoot":"","sources":["../../src/lib/tibberHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,383 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TibberLocal = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const tibberHelper_1 = require("./tibberHelper");
9
+ class TibberLocal extends tibberHelper_1.TibberHelper {
10
+ constructor(adapter) {
11
+ super(adapter);
12
+ this.TestData = "";
13
+ this.TestMode = false;
14
+ this.MetricsDataInterval = 60000;
15
+ this.RawDataInterval = 2000;
16
+ //negSignPattern: string = "77070100010800ff6301a";
17
+ this.obisCodesWithNames = [
18
+ { code: "0100100700ff", name: "Power" },
19
+ { code: "01000f0700ff", name: "Power", checkSign: true },
20
+ { code: "0100010800ff", name: "Import_total" },
21
+ { code: "0100010801ff", name: "Import_total_tarif_1" },
22
+ { code: "0100010802ff", name: "Import_total_tarif_2" },
23
+ { code: "0100020800ff", name: "Export_total" },
24
+ { code: "0100020801ff", name: "Export_total_tarif_1" },
25
+ { code: "0100020802ff", name: "Export_total_tarif_2" },
26
+ { code: "0100010800ff_in_k", name: "Import_total_(kWh)" },
27
+ { code: "0100020800ff_in_k", name: "Export_total_(kWh)" },
28
+ { code: "0100240700ff", name: "Power_L1" },
29
+ { code: "0100380700ff", name: "Power_L2" },
30
+ { code: "01004c0700ff", name: "Power_L3" },
31
+ { code: "0100200700ff", name: "Potential_L1" },
32
+ { code: "0100340700ff", name: "Potential_L2" },
33
+ { code: "0100480700ff", name: "Potential_L3" },
34
+ { code: "01001f0700ff", name: "Current_L1" },
35
+ { code: "0100330700ff", name: "Current_L2" },
36
+ { code: "0100470700ff", name: "Current_L3" },
37
+ { code: "01000e0700ff", name: "Net_frequency" },
38
+ { code: "0100510701ff", name: "Potential_Phase_deviation_L1/L2" },
39
+ { code: "0100510702ff", name: "Potential_Phase_deviation_L1/L3" },
40
+ { code: "0100510704ff", name: "Current/Potential_L1_Phase_deviation" },
41
+ { code: "010051070fff", name: "Current/Potential_L2_Phase_deviation" },
42
+ { code: "010051071aff", name: "Current/Potential_L3_Phase_deviation" },
43
+ ];
44
+ this.intervalList = [];
45
+ }
46
+ async setupOnePulseLocal(pulse) {
47
+ try {
48
+ if (this.adapter.config.PulseList[pulse].puName === undefined) {
49
+ this.adapter.config.PulseList[pulse].puName = `Pulse Local`;
50
+ }
51
+ if (!this.TestMode) {
52
+ const jobBridgeMetrics = setInterval(() => {
53
+ this.adapter.log.warn(`Calling Bridge metrics data`); // WiP
54
+ this.getPulseData(pulse)
55
+ .then((response) => {
56
+ this.adapter.log.debug(`Got Bridge metrics data: ${JSON.stringify(response)}`);
57
+ this.fetchPulseInfo(pulse, response);
58
+ })
59
+ .catch((e) => {
60
+ this.adapter.log.error(`Error polling and parsing Tibber Bridge metrics data: ${e}`);
61
+ });
62
+ }, this.MetricsDataInterval);
63
+ if (jobBridgeMetrics)
64
+ this.intervalList.push(jobBridgeMetrics);
65
+ const jobPulseLocal = setInterval(() => {
66
+ // poll data and log as HEX string
67
+ this.getDataAsHexString(pulse)
68
+ .then((hexString) => {
69
+ this.extractAndParseSMLMessages(pulse, hexString);
70
+ this.adapter.log.debug(`got HEX data from local pulse: ${hexString}`); // log data as HEX string
71
+ this.checkAndSetValue(this.getStatePrefixLocal(pulse, "SMLDataHEX"), hexString, this.adapter.config.PulseList[pulse].puName);
72
+ })
73
+ .catch((e) => {
74
+ this.adapter.log.warn(`Error local polling of Tibber Pulse RAW data: ${e}`);
75
+ });
76
+ }, this.RawDataInterval);
77
+ if (jobPulseLocal)
78
+ this.intervalList.push(jobPulseLocal);
79
+ }
80
+ else {
81
+ const parsedMessages = this.extractAndParseSMLMessages(99, this.TestData);
82
+ this.adapter.log.warn(`Parsed messages from test data ${parsedMessages}`);
83
+ }
84
+ }
85
+ catch (error) {
86
+ this.adapter.log.warn(this.generateErrorMessage(error, `setup of Bridge / Pulse local poll`));
87
+ }
88
+ }
89
+ async clearIntervals() {
90
+ try {
91
+ // Here we must clear all intervals that may still be active
92
+ for (const intervalJob of this.intervalList) {
93
+ clearInterval(intervalJob);
94
+ }
95
+ }
96
+ catch (e) {
97
+ this.adapter.log.warn(e.message);
98
+ }
99
+ }
100
+ async getPulseData(pulse) {
101
+ const auth = `Basic ${Buffer.from(`admin:${this.adapter.config.PulseList[pulse].tibberBridgePassword}`).toString("base64")}`;
102
+ const options = {
103
+ hostname: this.adapter.config.PulseList[pulse].tibberBridgeUrl,
104
+ path: `/metrics.json?node_id=${this.adapter.config.PulseList[pulse].tibberPulseLocalNodeId}`,
105
+ method: "GET",
106
+ headers: {
107
+ Authorization: auth,
108
+ Host: this.adapter.config.PulseList[pulse].tibberBridgeUrl,
109
+ lang: "de-de",
110
+ "content-type": "application/json",
111
+ "user-agent": "okhttp/3.14.9",
112
+ },
113
+ };
114
+ try {
115
+ const response = await axios_1.default.request({
116
+ url: options.path,
117
+ method: options.method,
118
+ baseURL: `http://${options.hostname}`,
119
+ headers: options.headers,
120
+ });
121
+ if (response.data) {
122
+ response.data = JSON.parse(JSON.stringify(response.data).replace(/\$type/g, "type"));
123
+ }
124
+ return response.data;
125
+ }
126
+ catch (error) {
127
+ this.adapter.log.error(`Error while polling metrics (getPulseData). $[error}`);
128
+ throw error;
129
+ }
130
+ /*
131
+ {
132
+ "$type": "node_status",
133
+ "node_status": {
134
+ "product_id": 49344,
135
+ "bootloader_version": 17563650,
136
+ "meter_mode": 3,
137
+ "node_battery_voltage": 2.779,
138
+ "node_temperature": 25.168,
139
+ "node_avg_rssi": -31.75,
140
+ "node_avg_lqi": 199.009,
141
+ "radio_tx_power": 0,
142
+ "node_uptime_ms": 19804222967,
143
+ "meter_msg_count_sent": 77,
144
+ "meter_pkg_count_sent": 103,
145
+ "time_in_em0_ms": 3144,
146
+ "time_in_em1_ms": 26,
147
+ "time_in_em2_ms": 296980,
148
+ "acmp_rx_autolevel_300": 147,
149
+ "acmp_rx_autolevel_9600": 146
150
+ },
151
+ "hub_attachments": {
152
+ "meter_pkg_count_recv": 103,
153
+ "meter_reading_count_recv": 77,
154
+ "node_version": "1007-56bd9fb9"
155
+ }
156
+ }
157
+ */
158
+ }
159
+ fetchPulseInfo(pulse, obj, prefix = "") {
160
+ if (!obj || typeof obj !== "object") {
161
+ this.adapter.log.warn(`Got bad Pulse info data to fetch!: ${obj}`); //
162
+ return;
163
+ }
164
+ for (const key in obj) {
165
+ if (typeof obj[key] === "object") {
166
+ this.fetchPulseInfo(pulse, obj[key], `${prefix}${key}.`);
167
+ }
168
+ else {
169
+ // Check for element name "timestamp"
170
+ if (key === "timestamp") {
171
+ const TimeValue = this.isValidUnixTimestampAndConvert(obj[key]);
172
+ if (TimeValue)
173
+ obj[key] = TimeValue;
174
+ }
175
+ this.checkAndSetValueNumber(this.getStatePrefixLocal(pulse, `PulseInfo.${prefix}${key}`), obj[key], this.adapter.config.PulseList[pulse].puName);
176
+ }
177
+ }
178
+ }
179
+ async getDataAsHexString(pulse) {
180
+ const auth = `Basic ${Buffer.from(`admin:${this.adapter.config.PulseList[pulse].tibberBridgePassword}`).toString("base64")}`;
181
+ const options = {
182
+ method: "GET",
183
+ url: `http://${this.adapter.config.PulseList[pulse].tibberBridgeUrl}/data.json?node_id=${this.adapter.config.PulseList[pulse].tibberPulseLocalNodeId}`,
184
+ headers: {
185
+ Authorization: auth,
186
+ },
187
+ responseType: "arraybuffer", // Wichtig für den Umgang mit Binärdaten
188
+ };
189
+ try {
190
+ const response = await (0, axios_1.default)(options);
191
+ const buffer = Buffer.from(response.data);
192
+ const hexString = buffer.toString("hex");
193
+ return hexString;
194
+ }
195
+ catch (error) {
196
+ this.adapter.log.error(`An error occured during local poll of Pulse data (getDataAsHexString)`);
197
+ throw error;
198
+ }
199
+ }
200
+ async extractAndParseSMLMessages(pulse, transfer) {
201
+ //const messages = transfer.matchAll(/7707(0100[0-9a-fA-F].{5}?ff)(?:.{6}|.{14}|.{20}|.{26})([0-9a-fA-F]{2})52([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{4,16})01(?=(7)|(0101)|(\n))/g);
202
+ const messages = transfer.matchAll(/7707(0100[0-9a-fA-F].{5}?ff).{4,28}62([0-9a-fA-F]{2})52([0-9a-fA-F]{2})([0-9a-fA-F]{2})((?:[0-9a-fA-F]{2}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8}|[0-9a-fA-F]{10}|[0-9a-fA-F]{8}|[0-9a-fA-F]{16}))01(?=(77)|(0101)|(\n))/g);
203
+ const output = [];
204
+ for (const match of messages) {
205
+ const result = { name: "", value: 0 };
206
+ this.adapter.log.debug(`Gesamte Übereinstimmung: ${match[0]}`);
207
+ //console.log(`Gruppe 1: ${match[1]}`); // Der Teil, der dem ersten Klammerausdruck entspricht
208
+ //console.log(`Gruppe 2: ${match[2]}`); // Der Teil, der dem zweiten Klammerausdruck entspricht
209
+ //console.log(`Gruppe 3: $[match[3]}`); // Der Teil, der dem dritten Klammerausdruck entspricht
210
+ //console.log(`Gruppe 4: $[match[4]}`); // Der Teil, der dem dritten Klammerausdruck entspricht
211
+ //console.log(`Gruppe 5: ${match[5]}`); // Der Teil, der dem vierten Klammerausdruck entspricht
212
+ result.name = findObisCodeName(match[1], this.obisCodesWithNames);
213
+ result.value = parseSignedHex(match[5]);
214
+ const decimalCode = parseInt(match[2], 16);
215
+ result.unit = findDlmsUnitByCode(decimalCode);
216
+ if (match[3].toLowerCase() == "ff") {
217
+ result.value = result.value / 10;
218
+ }
219
+ else if (match[3].toLowerCase() == "fe") {
220
+ result.value = result.value / 100;
221
+ }
222
+ /*
223
+ if ("negSignPattern" in TibberConfig && TibberConfig.negSignPattern.length > 2) {
224
+ const obisCodeOb = obisCodesWithNames.find((item) => item.code === match[1]);
225
+ if (obisCodeOb) {
226
+ if (obisCodeOb.checkSign) {
227
+ if (transfer.includes(TibberConfig.negSignPattern)) {
228
+ //log(`Negativ!!!!`)
229
+ result.value = result.value * -1;
230
+ }
231
+ }
232
+ }
233
+ }
234
+ */
235
+ if (result.value > 1000000000 || result.value < -1000000000) {
236
+ this.adapter.log.debug(`Result.value < or > 1.000.000.000 skiped!`);
237
+ this.adapter.log.debug(JSON.stringify(result));
238
+ this.adapter.log.debug(`Gesamte Übereinstimmung: ${match[0]}`);
239
+ this.adapter.log.debug(`RAW: ${transfer}`);
240
+ continue;
241
+ }
242
+ this.checkAndSetValueNumber(this.getStatePrefixLocal(pulse, result.name), result.value, this.adapter.config.PulseList[pulse].puName, result.unit);
243
+ this.adapter.log.debug(JSON.stringify(result));
244
+ const formattedMatch = match[0].replace(/(..)/g, "$1 ").trim();
245
+ output.push(getCurrentTimeFormatted() + " : " + formattedMatch + "\n");
246
+ }
247
+ if (output.length > 0)
248
+ this.adapter.log.debug(`Format for https://tasmota-sml-parser.dicp.net:\n ${output.join("")}`);
249
+ }
250
+ isValidUnixTimestampAndConvert(n) {
251
+ // Typüberprüfung und Bereichsüberprüfung (optional)
252
+ const currentTime = Math.floor(Date.now() / 1000);
253
+ if (typeof n !== "number" || n < 0 || n > currentTime || !Number.isInteger(n)) {
254
+ return false;
255
+ }
256
+ // Konvertiere zu deutschem Zeitformat
257
+ const date = new Date(n * 1000);
258
+ return date.toLocaleString("de-DE");
259
+ }
260
+ }
261
+ exports.TibberLocal = TibberLocal;
262
+ function parseSignedHex(hexStr) {
263
+ let num = BigInt(`0x${hexStr}`);
264
+ const bitLength = hexStr.length * 4;
265
+ if (bitLength <= 4) {
266
+ // Behandlung als 4-Bit-Zahl
267
+ if (num > 0x7)
268
+ num = num - 0x1n;
269
+ }
270
+ else if (bitLength <= 8) {
271
+ // Behandlung als 8-Bit-Zahl
272
+ if (num > 0x7f)
273
+ num = num - 0x100n;
274
+ }
275
+ else if (bitLength <= 16) {
276
+ // Behandlung als 16-Bit-Zahl
277
+ if (num > 0x7fff)
278
+ num = num - 0x10000n;
279
+ }
280
+ else if (bitLength <= 24) {
281
+ // Behandlung als 16-Bit-Zahl
282
+ if (num > 0x7fffff)
283
+ num = num - 0x1000000n;
284
+ }
285
+ else if (bitLength <= 32) {
286
+ // Behandlung als 32-Bit-Zahl
287
+ if (num > 0x7fffffff)
288
+ num = num - 0x100000000n;
289
+ }
290
+ else {
291
+ // Behandlung als 64-Bit-Zahl
292
+ if (num > 0x7fffffffffffffffn)
293
+ num = num - 0x10000000000000000n;
294
+ }
295
+ return Number(num.toString());
296
+ }
297
+ function getCurrentTimeFormatted() {
298
+ const now = new Date();
299
+ return (now.getHours().toString().padStart(2, "0") +
300
+ ":" +
301
+ now.getMinutes().toString().padStart(2, "0") +
302
+ ":" +
303
+ now.getSeconds().toString().padStart(2, "0") +
304
+ "." +
305
+ now.getMilliseconds().toString().padStart(3, "0"));
306
+ }
307
+ function findDlmsUnitByCode(decimalCode) {
308
+ /* Static lookup table */
309
+ const dlmsUnits = [
310
+ { code: 0x1, unit: "a", quantity: "time", unitName: "year", siDefinition: "52*7*24*60*60 s" },
311
+ { code: 0x2, unit: "mo", quantity: "time", unitName: "month", siDefinition: "31*24*60*60 s" },
312
+ { code: 0x3, unit: "wk", quantity: "time", unitName: "week", siDefinition: "7*24*60*60 s" },
313
+ { code: 0x4, unit: "d", quantity: "time", unitName: "day", siDefinition: "24*60*60 s" },
314
+ { code: 0x5, unit: "h", quantity: "time", unitName: "hour", siDefinition: "60*60 s" },
315
+ { code: 0x6, unit: "min.", quantity: "time", unitName: "min", siDefinition: "60 s" },
316
+ { code: 0x7, unit: "s", quantity: "time", unitName: "second", siDefinition: "s" },
317
+ { code: 0x8, unit: "°", quantity: "phase angle", unitName: "degree", siDefinition: "rad*180/π" },
318
+ { code: 0x9, unit: "°C", quantity: "temperature", unitName: "degree celsius", siDefinition: "K-273.15" },
319
+ { code: 0xa, unit: "currency", quantity: "local currency", unitName: "", siDefinition: "" },
320
+ { code: 0xb, unit: "m", quantity: "length", unitName: "metre", siDefinition: "m" },
321
+ { code: 0xc, unit: "m/s", quantity: "speed", unitName: "metre per second", siDefinition: "m/s" },
322
+ { code: 0xd, unit: "m³", quantity: "volume", unitName: "cubic metre", siDefinition: "m³" },
323
+ { code: 0xe, unit: "m³", quantity: "corrected volume", unitName: "cubic metre", siDefinition: "m³" },
324
+ { code: 0xf, unit: "m³/h", quantity: "volume flux", unitName: "cubic metre per hour", siDefinition: "m³/(60*60s)" },
325
+ { code: 0x10, unit: "m³/h", quantity: "corrected volume flux", unitName: "cubic metre per hour", siDefinition: "m³/(60*60s)" },
326
+ { code: 0x11, unit: "m³/d", quantity: "volume flux", unitName: "cubic metre per day", siDefinition: "m³/(24*60*60s)" },
327
+ { code: 0x12, unit: "m³/d", quantity: "corrected volume flux", unitName: "cubic metre per day", siDefinition: "m³/(24*60*60s)" },
328
+ { code: 0x13, unit: "l", quantity: "volume", unitName: "litre", siDefinition: "10-3 m³" },
329
+ { code: 0x14, unit: "kg", quantity: "mass", unitName: "kilogram", siDefinition: "" },
330
+ { code: 0x15, unit: "N", quantity: "force", unitName: "newton", siDefinition: "" },
331
+ { code: 0x16, unit: "Nm", quantity: "energy", unitName: "newtonmeter", siDefinition: "J = Nm = Ws" },
332
+ { code: 0x17, unit: "Pa", quantity: "pressure", unitName: "pascal", siDefinition: "N/m²" },
333
+ { code: 0x18, unit: "bar", quantity: "pressure", unitName: "bar", siDefinition: "10⁵ N/m²" },
334
+ { code: 0x19, unit: "J", quantity: "energy", unitName: "joule", siDefinition: "J = Nm = Ws" },
335
+ { code: 0x1a, unit: "J/h", quantity: "thermal power", unitName: "joule per hour", siDefinition: "J/(60*60s)" },
336
+ { code: 0x1b, unit: "W", quantity: "active power", unitName: "watt", siDefinition: "W = J/s" },
337
+ { code: 0x1c, unit: "VA", quantity: "apparent power", unitName: "volt-ampere", siDefinition: "" },
338
+ { code: 0x1d, unit: "var", quantity: "reactive power", unitName: "var", siDefinition: "" },
339
+ { code: 0x1e, unit: "Wh", quantity: "active energy", unitName: "watt-hour", siDefinition: "W*(60*60s)" },
340
+ { code: 0x1f, unit: "VAh", quantity: "apparent energy", unitName: "volt-ampere-hour", siDefinition: "VA*(60*60s)" },
341
+ { code: 0x20, unit: "varh", quantity: "reactive energy", unitName: "var-hour", siDefinition: "var*(60*60s)" },
342
+ { code: 0x21, unit: "A", quantity: "current", unitName: "ampere", siDefinition: "A" },
343
+ { code: 0x22, unit: "C", quantity: "electrical charge", unitName: "coulomb", siDefinition: "C = As" },
344
+ { code: 0x23, unit: "V", quantity: "voltage", unitName: "volt", siDefinition: "V" },
345
+ { code: 0x24, unit: "V/m", quantity: "electric field strength", unitName: "volt per metre", siDefinition: "" },
346
+ { code: 0x25, unit: "F", quantity: "capacitance", unitName: "farad", siDefinition: "C/V = As/V" },
347
+ { code: 0x26, unit: "Ω", quantity: "resistance", unitName: "ohm", siDefinition: "Ω = V/A" },
348
+ { code: 0x27, unit: "Ωm²/m", quantity: "resistivity", unitName: "Ωm", siDefinition: "" },
349
+ { code: 0x28, unit: "Wb", quantity: "magnetic flux", unitName: "weber", siDefinition: "Wb = Vs" },
350
+ { code: 0x29, unit: "T", quantity: "magnetic flux density", unitName: "tesla", siDefinition: "Wb/m2" },
351
+ { code: 0x2a, unit: "A/m", quantity: "magnetic field strength", unitName: "ampere per metre", siDefinition: "A/m" },
352
+ { code: 0x2b, unit: "H", quantity: "inductance", unitName: "henry", siDefinition: "H = Wb/A" },
353
+ { code: 0x2c, unit: "Hz", quantity: "frequency", unitName: "hertz", siDefinition: "1/s" },
354
+ { code: 0x2d, unit: "1/(Wh)", quantity: "R_W", unitName: "Active energy meter constant or pulse value", siDefinition: "" },
355
+ { code: 0x2e, unit: "1/(varh)", quantity: "R_B", unitName: "reactive energy meter constant or pulse value", siDefinition: "" },
356
+ { code: 0x2f, unit: "1/(VAh)", quantity: "R_S", unitName: "apparent energy meter constant or pulse value", siDefinition: "" },
357
+ { code: 0x30, unit: "V²h", quantity: "volt-squared hour", unitName: "volt-squaredhours", siDefinition: "V²(60*60s)" },
358
+ { code: 0x31, unit: "A²h", quantity: "ampere-squared hour", unitName: "ampere-squaredhours", siDefinition: "A²(60*60s)" },
359
+ { code: 0x32, unit: "kg/s", quantity: "mass flux", unitName: "kilogram per second", siDefinition: "kg/s" },
360
+ { code: 0x33, unit: "S, mho", quantity: "conductance siemens", unitName: "siemens", siDefinition: "1/Ω" },
361
+ { code: 0x34, unit: "K", quantity: "temperature", unitName: "kelvin", siDefinition: "" },
362
+ { code: 0x35, unit: "1/(V²h)", quantity: "", unitName: "Volt-squared hour meter constant or pulse value", siDefinition: "" },
363
+ { code: 0x36, unit: "1/(A²h)", quantity: "", unitName: "Ampere-squared hour meter constant or pulse value", siDefinition: "" },
364
+ { code: 0x37, unit: "1/m³", quantity: "R_V", unitName: "meter constant or pulse value (volume)", siDefinition: "" },
365
+ { code: 0x38, unit: "%", quantity: "percentage", unitName: "%", siDefinition: "" },
366
+ { code: 0x39, unit: "Ah", quantity: "ampere-hours", unitName: "ampere-hour", siDefinition: "" },
367
+ { code: 0x3c, unit: "Wh/m³", quantity: "energy per volume", unitName: "", siDefinition: "3,6*103 J/m³" },
368
+ { code: 0x3d, unit: "J/m³", quantity: "calorific value, wobbe", unitName: "", siDefinition: "" },
369
+ { code: 0x3e, unit: "Mol %", quantity: "molar fraction of", unitName: "mole percent", siDefinition: "Basic gas composition unit" },
370
+ { code: 0x3f, unit: "Wh/m³", quantity: "energy per volume", unitName: "", siDefinition: "3,6*103 J/m³" },
371
+ { code: 0x40, unit: "(reserved)", quantity: "", unitName: "", siDefinition: "" },
372
+ { code: 0x41, unit: "(other)", quantity: "", unitName: "", siDefinition: "" },
373
+ { code: 0x42, unit: "(unitless)", quantity: "no unit, unitless, count", unitName: "", siDefinition: "" },
374
+ { code: 0x0, unit: "", quantity: "", unitName: "", siDefinition: "stop condition for iterator" },
375
+ ];
376
+ const found = dlmsUnits.find((item) => item.code === decimalCode);
377
+ return found ? found.unit : "";
378
+ }
379
+ function findObisCodeName(code, obisCodesWithNames) {
380
+ const found = obisCodesWithNames.find((item) => item.code === code);
381
+ return found ? found.name : "Unbekannt";
382
+ }
383
+ //# sourceMappingURL=tibberLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tibberLocal.js","sourceRoot":"","sources":["../../src/lib/tibberLocal.ts"],"names":[],"mappings":"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"}
package/build/main.js CHANGED
@@ -29,6 +29,7 @@ const cron_1 = require("cron");
29
29
  const date_fns_1 = require("date-fns");
30
30
  const tibberAPICaller_1 = require("./lib/tibberAPICaller");
31
31
  const tibberCalculator_1 = require("./lib/tibberCalculator");
32
+ const tibberLocal_1 = require("./lib/tibberLocal");
32
33
  const tibberPulse_1 = require("./lib/tibberPulse");
33
34
  class Tibberlink extends utils.Adapter {
34
35
  constructor(options = {}) {
@@ -134,6 +135,7 @@ class Tibberlink extends utils.Adapter {
134
135
  const sentryInstance = this.getPluginInstance("sentry");
135
136
  const today = new Date();
136
137
  const last = await this.getStateAsync("info.LastSentryLogDay");
138
+ const pulseLocal = this.config.UseLocalPulseData ? 1 : 0;
137
139
  if (last?.val != (await today.getDate())) {
138
140
  await this.tibberCalculator.updateCalculatorUsageStats();
139
141
  if (sentryInstance) {
@@ -143,6 +145,7 @@ class Tibberlink extends utils.Adapter {
143
145
  scope.setLevel("info");
144
146
  scope.setTag("SentryDay", today.getDate());
145
147
  scope.setTag("HomeIDs", this.homeInfoList.length);
148
+ scope.setTag("LocalPulse", pulseLocal);
146
149
  scope.setTag("numBestCost", this.tibberCalculator.numBestCost);
147
150
  scope.setTag("numBestCostLTF", this.tibberCalculator.numBestCostLTF);
148
151
  scope.setTag("numBestHoursBlock", this.tibberCalculator.numBestHoursBlock);
@@ -170,7 +173,7 @@ class Tibberlink extends utils.Adapter {
170
173
  // Set up calculation channel states if configured
171
174
  if (this.config.UseCalculator) {
172
175
  try {
173
- this.log.debug(`Setting up calculator states for ${this.config.CalculatorList.length} channels`);
176
+ this.log.info(`Setting up calculator states for ${this.config.CalculatorList.length} channels`);
174
177
  for (const channel in this.config.CalculatorList) {
175
178
  await tibberCalculator.setupCalculatorStates(this.config.CalculatorList[channel].chHomeID, parseInt(channel));
176
179
  }
@@ -179,6 +182,21 @@ class Tibberlink extends utils.Adapter {
179
182
  this.log.warn(tibberAPICaller.generateErrorMessage(error, `setup of calculator states`));
180
183
  }
181
184
  }
185
+ //WIP Local Bridge Call - move this... could be used without Tibber contract
186
+ // Set up Pulse local polls if configured
187
+ const tibberLocal = new tibberLocal_1.TibberLocal(this);
188
+ if (this.config.UseLocalPulseData) {
189
+ try {
190
+ this.log.info(`Setting up local poll of consumption data for ${this.config.PulseList.length} pulse module(s)`);
191
+ for (const pulse in this.config.PulseList) {
192
+ await tibberLocal.setupOnePulseLocal(parseInt(pulse));
193
+ }
194
+ }
195
+ catch (error) {
196
+ this.log.warn(tibberAPICaller.generateErrorMessage(error, `setup of local Pulse data poll`));
197
+ }
198
+ }
199
+ //WIP Local Bridge Call
182
200
  // (force) get current prices and start calculator tasks once for the FIRST time
183
201
  if (!(await tibberAPICaller.updateCurrentPriceAllHomes(this.homeInfoList, true))) {
184
202
  }
package/build/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "tibberlink",
4
- "version": "3.3.3",
4
+ "version": "3.4.0",
5
5
  "news": {
6
+ "3.4.0": {
7
+ "en": "add mode for local poll of Pulse data (#201)",
8
+ "de": "Modus für lokale Abfrage von Pulse Daten hinzufügen (#201)",
9
+ "ru": "добавить режим для локального опроса данных Pulse (#201)",
10
+ "pt": "adicionar modo para sondagem local de dados Pulse (#201)",
11
+ "nl": "modus toevoegen voor lokale polling van Pulse data (#201)",
12
+ "fr": "ajouter un mode pour le sondage local des données Pulse (#201)",
13
+ "it": "aggiungere una modalità per il sondaggio locale dei dati Pulse (#201)",
14
+ "es": "añadir modo para sondeo local de datos Pulse (#201)",
15
+ "pl": "dodaj tryb lokalnego sondowania danych Pulse (#201)",
16
+ "uk": "додати режим для локального опитування даних Pulse (#201)",
17
+ "zh-cn": "添加本地轮询 Pulse 数据模式 (#201)"
18
+ },
6
19
  "3.3.3": {
7
20
  "en": "fix Sentry-notified possible error\ntry to fix startup error (#444)",
8
21
  "de": "möglichen von Sentry gemeldeten Fehler beheben\nStartfehler versuchen zu beheben (#444)",
@@ -249,19 +262,6 @@
249
262
  "pl": "WAŻNE: Zakończono wsparcie dla js-controller 3.x (#247)\ndywersyfikuj zapytania do serwerów Tibber, aby zapobiec potencjalnym reakcjom DDoS (#252)\ndodaj punkt danych dla średniego pozostałego czasu dzisiejszych cen (#254)\ndodaj 2 punkty danych dla ostatniej udanej aktualizacji cen dzisiaj i jutro (#261)\nzmiany na rok 2024\nnapraw mały błąd w czasie dynamicznego zasilania",
250
263
  "uk": "ВАЖЛИВО: Підтримка js-controller 3.x припинена (#247)\nдиверсифікація запитів до серверів Tibber для запобігання потенційних реакцій DDoS (#252)\nдодавання точки даних для середньої залишкової частини сьогоднішніх цін (#254)\nдодавання 2 точок даних для останнього успішного оновлення цін на сьогодні і завтра (#261)\nзміни на 2024 рік\nвиправлення маленької помилки в динаміці часу оновлення даних",
251
264
  "zh-cn": "重大变更:不再支持 js-controller 3.x (#247)\n多样化 Tibber 服务器轮询,以防止潜在的 DDoS 反应 (#252)\n添加平均剩余今日价格的数据点 (#254)\n添加两个数据点,用于记录今天和明天价格的最后成功更新 (#261)\n2024 年更改\n修复动态反馈时间的小错误"
252
- },
253
- "1.8.0": {
254
- "en": "implement optional disable of price pull (#232)\nimplement price categorization algorithm for battery buffer applications (#193)\nfix error in pull of prices tomorrow (#235, #232)",
255
- "de": "Implementieren Sie die optionale Deaktivierung des Preisabrufs (#232)\nImplementieren Sie den Preis-Kategorisierungsalgorithmus für Batteriepufferanwendungen (#193)\nBeheben Sie den Fehler beim Abruf von Preisen für morgen (#235, #232)",
256
- "ru": "реализовать необязательное отключение опроса цен (#232)\nреализовать алгоритм категоризации цен для приложений батарейного буфера (#193)\nисправить ошибку при опросе цен на завтра (#235, #232)",
257
- "pt": "implementar desativação opcional da busca de preços (#232)\nimplementar algoritmo de categorização de preços para aplicações de bateria tamponada (#193)\ncorrigir erro na busca de preços para amanhã (#235, #232)",
258
- "nl": "implementeer optionele uitschakeling van prijzen ophalen (#232)\nimplementeer prijscategoriseringsalgoritme voor toepassingen van batterijbuffers (#193)\nlos fout op bij het ophalen van prijzen voor morgen (#235, #232)",
259
- "fr": "mettez en œuvre la désactivation optionnelle de la récupération des prix (#232)\nmettez en œuvre l'algorithme de catégorisation des prix pour les applications de tampon de batterie (#193)\ncorrigez l'erreur dans la récupération des prix pour demain (#235, #232)",
260
- "it": "implementare la disabilitazione opzionale del recupero dei prezzi (#232)\nimplementare l'algoritmo di categorizzazione dei prezzi per le applicazioni di buffer di batteria (#193)\ncorreggere l'errore nel recupero dei prezzi per domani (#235, #232)",
261
- "es": "implementar la desactivación opcional de la obtención de precios (#232)\nimplementar algoritmo de categorización de precios para aplicaciones de búfer de batería (#193)\ncorregir error en la obtención de precios para mañana (#235, #232)",
262
- "pl": "zaimplementować opcjonalne wyłączenie pobierania cen (#232)\nzaimplementować algorytm kategoryzacji cen dla aplikacji bufora baterii (#193)\nnaprawić błąd w pobieraniu cen na jutro (#235, #232)",
263
- "uk": "реалізувати необов'язкове вимкнення запиту цін (#232)\nреалізувати алгоритм категоризації цін для застосувань буфера батареї (#193)\nвиправити помилку у запиті цін на завтра (#235, #232)",
264
- "zh-cn": "实施可选择禁用价格拉取 (#232)\n为电池缓冲应用实施价格分类算法 (#193)\n修复明天价格拉取中的错误 (#235, #232)"
265
265
  }
266
266
  },
267
267
  "messages": [
@@ -432,8 +432,8 @@
432
432
  }
433
433
  }
434
434
  },
435
- "encryptedNative": ["TibberAPIToken"],
436
- "protectedNative": ["TibberAPIToken"],
435
+ "encryptedNative": ["TibberAPIToken", "tibberBridgePassword"],
436
+ "protectedNative": ["TibberAPIToken", "tibberBridgePassword"],
437
437
  "native": {
438
438
  "TibberAPIToken": "",
439
439
  "HomesList": [
@@ -462,6 +462,14 @@
462
462
  "chValueOn2": "true",
463
463
  "chValueOff2": "false"
464
464
  }
465
+ ],
466
+ "PulseList": [
467
+ {
468
+ "puName": "Pulse Local",
469
+ "tibberBridgeUrl": "tibber-host",
470
+ "tibberBridgePassword": "xxxx-xxxx",
471
+ "tibberPulseLocalNodeId": 1
472
+ }
465
473
  ]
466
474
  },
467
475
  "objects": [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.tibberlink",
3
- "version": "3.3.3",
3
+ "version": "3.4.0",
4
4
  "description": "links tibber API data to be used in ioBroker",
5
5
  "author": {
6
6
  "name": "Hombach",
@@ -35,12 +35,12 @@
35
35
  "@types/chai": "^4.3.11",
36
36
  "@types/chai-as-promised": "^7.1.8",
37
37
  "@types/mocha": "^10.0.7",
38
- "@types/node": "^20.14.9",
38
+ "@types/node": "^20.14.10",
39
39
  "@types/proxyquire": "^1.3.31",
40
40
  "@types/sinon": "^17.0.3",
41
41
  "@types/sinon-chai": "^3.2.12",
42
- "@typescript-eslint/eslint-plugin": "^7.15.0",
43
- "@typescript-eslint/parser": "^7.15.0",
42
+ "@typescript-eslint/eslint-plugin": "^7.16.0",
43
+ "@typescript-eslint/parser": "^7.16.0",
44
44
  "axios": "^1.7.2",
45
45
  "chai": "^4.4.1",
46
46
  "chai-as-promised": "^7.1.2",