@impact0815/node-red-contrib-home-connect 0.0.0-stage → 0.2.1

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.
Files changed (55) hide show
  1. package/BUILD-INFO.json +23 -0
  2. package/CHANGELOG.md +53 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE +19 -0
  5. package/README.de.md +344 -0
  6. package/README.md +343 -2
  7. package/SECURITY.md +47 -0
  8. package/docs/API-COVERAGE.md +59 -0
  9. package/docs/ARCHITECTURE.md +95 -0
  10. package/docs/DASHBOARD.de.md +121 -0
  11. package/docs/DASHBOARD.md +121 -0
  12. package/docs/FIRST-PUSH.md +42 -0
  13. package/docs/GITHUB-UPDATE.md +76 -0
  14. package/docs/LOCAL-LAN.de.md +150 -0
  15. package/docs/LOCAL-LAN.md +150 -0
  16. package/docs/MESSAGE-API.md +111 -0
  17. package/docs/RELEASE.md +91 -0
  18. package/docs/TROUBLESHOOTING.de.md +230 -0
  19. package/docs/TROUBLESHOOTING.md +230 -0
  20. package/docs/images/README.md +10 -0
  21. package/docs/images/dashboard-details-en.png +0 -0
  22. package/docs/images/dashboard-overview-en.png +0 -0
  23. package/docs/official-api-contract.json +418 -0
  24. package/examples/01-first-steps-device-list.json +148 -0
  25. package/examples/02-events.json +165 -0
  26. package/examples/03-safe-read-write.json +155 -0
  27. package/examples/04-local-read-only.json +214 -0
  28. package/examples/README.de.md +62 -0
  29. package/examples/README.md +62 -0
  30. package/examples/dashboard-dishwasher-washer-oven.json +628 -0
  31. package/examples/dashboard-screenshot-simulated.json +405 -0
  32. package/examples/demo-home-connect-flowfuse-1.34.1-scriptless.json +390 -0
  33. package/lib/client.js +600 -0
  34. package/lib/constants.js +66 -0
  35. package/lib/dashboard-i18n.js +255 -0
  36. package/lib/device-label.js +39 -0
  37. package/lib/errors.js +51 -0
  38. package/lib/health.js +525 -0
  39. package/lib/local-client.js +1014 -0
  40. package/lib/local-crypto.js +122 -0
  41. package/lib/local-diagnostics.js +115 -0
  42. package/lib/local-profile.js +706 -0
  43. package/lib/local-trace.js +103 -0
  44. package/lib/oauth.js +23 -0
  45. package/lib/rate-limiter.js +186 -0
  46. package/lib/simulator.js +290 -0
  47. package/lib/sse.js +58 -0
  48. package/lib/validation.js +194 -0
  49. package/lib/websocket-transport.js +374 -0
  50. package/nodes/home-connect.html +795 -0
  51. package/nodes/home-connect.js +699 -0
  52. package/nodes/locales/de/home-connect.html +19 -0
  53. package/nodes/locales/de/home-connect.json +10 -0
  54. package/nodes/locales/en-US/home-connect.json +10 -0
  55. package/package.json +76 -4
@@ -0,0 +1,62 @@
1
+ # Home-Connect-Beispiel-Flows
2
+
3
+ **[English](README.md) · Deutsch**
4
+
5
+ Diese Beispiele sind so erklärt, dass sie auch ohne Programmierkenntnisse nutzbar sind. Am besten mit dem integrierten Simulator beginnen: Er verwendet kein Home-Connect-Konto, keine Zugangsdaten und kein echtes Gerät.
6
+
7
+ ## Vor dem Start
8
+
9
+ 1. `@impact0815/node-red-contrib-home-connect` installieren.
10
+ 2. Node-RED neu starten und den Editor neu laden.
11
+ 3. Für die drei Dashboard-Beispiele zusätzlich `@flowfuse/node-red-dashboard` installieren:
12
+
13
+ ```bash
14
+ cd ~/.node-red
15
+ npm install @flowfuse/node-red-dashboard
16
+ ```
17
+
18
+ ## Mitgeliefertes Beispiel importieren
19
+
20
+ 1. Node-RED öffnen.
21
+ 2. **Menü → Import → Beispiele → @impact0815/node-red-contrib-home-connect** wählen.
22
+ 3. Ein Beispiel auswählen.
23
+ 4. **Importieren** anklicken.
24
+ 5. Oben rechts **Deployen** anklicken.
25
+
26
+ Für den Einstieg **01-first-steps-device-list** verwenden. Danach links am Inject-Node auf den Knopf drücken. In der Debug-Seitenleiste sollten drei simulierte Geräte erscheinen.
27
+
28
+ ## Welches Beispiel passt?
29
+
30
+ | Beispiel | Geeignet für | Vorgehen |
31
+ |---|---|---|
32
+ | `01-first-steps-device-list.json` | Erster Test | Deployen, Inject-Knopf drücken, Geräteliste im Debug-Fenster ansehen. |
33
+ | `02-events.json` | Live-Änderungen | Deployen und simulierte Ereignisse im Debug-Fenster verfolgen. |
34
+ | `03-safe-read-write.json` | Sicherer Schreibtest | **Dry-Run** eingeschaltet lassen. Der Flow prüft einen Befehl, sendet ihn aber nicht. |
35
+ | `04-local-read-only.json` | Lokale LAN-Profile | Beispielverbindung durch die eigene lokale Read-only-Verbindung ersetzen. Der Flow enthält keinen Write-Node. |
36
+ | `dashboard-dishwasher-washer-oven.json` | Vollständiges Dashboard | Deployen und `/dashboard/overview` öffnen. Unterstützt Cloud und lokales Read-only. |
37
+ | `dashboard-screenshot-simulated.json` | Demo ohne Netzwerk | Deployen und Dashboard öffnen. Alle Geräte und Werte sind simuliert. |
38
+ | `demo-home-connect-flowfuse-1.34.1-scriptless.json` | Isolierte Oberflächen-Demo | Importieren, wenn nur das Dashboard ohne Home-Connect-Runtime-Nodes oder Netzwerkzugriff ausprobiert werden soll. |
39
+
40
+ ## Vom Simulator zu den eigenen Geräten
41
+
42
+ 1. Zuerst prüfen, ob der gewählte Flow mit dem Simulator funktioniert.
43
+ 2. Entweder eine **Production-Cloud-Verbindung** oder eine **Local-LAN-Verbindung (read-only)** anlegen.
44
+ 3. Jeden Home-Connect-Node im importierten Flow öffnen und die eigene Verbindung auswählen.
45
+ 4. **Fertig**, danach **Deployen** anklicken.
46
+ 5. Für Cloud-Zugriff die OAuth-Autorisierung abschließen und nur die benötigten Rechte vergeben.
47
+ 6. Cloud-Write-Nodes auf **Dry-Run** lassen, bis Gerät, Befehl und Werte eindeutig geprüft sind.
48
+
49
+ Lokaler LAN-Zugriff ist immer nur lesend. Ein lokaler Schreibversuch wird vor jedem Netzwerkzugriff abgewiesen.
50
+
51
+ ## Wenn nichts angezeigt wird
52
+
53
+ - Prüfen, ob Node-RED nach der Installation neu gestartet wurde.
54
+ - Prüfen, ob der Flow deployt wurde.
55
+ - Debug-Seitenleiste öffnen und kontrollieren, ob ein Filter Meldungen ausblendet.
56
+ - Bei Dashboards prüfen, ob `@flowfuse/node-red-dashboard` installiert ist.
57
+ - Bei Cloud-Flows die deployte Verbindung testen und OAuth-Rechte prüfen.
58
+ - Siehe [deutsche Troubleshooting-Anleitung](../docs/TROUBLESHOOTING.de.md) oder [englische Troubleshooting-Anleitung](../docs/TROUBLESHOOTING.md).
59
+
60
+ ## Sicherheit und Datenschutz
61
+
62
+ Nie Client Secrets, Tokens, Profil-PSK/IV, echte Geräte-IDs, private Adressen oder Flows mit Zugangsdaten weitergeben. Zuerst simulierte Daten und Dry-Run verwenden. Gerätesteuerung kann Hitze, Bewegung und Wasserverbrauch auslösen.
@@ -0,0 +1,62 @@
1
+ # Home Connect example flows
2
+
3
+ **English · [Deutsch](README.de.md)**
4
+
5
+ These examples are designed to be usable without programming knowledge. Start with the built-in simulator: it uses no Home Connect account, no credentials, and no real appliance.
6
+
7
+ ## Before you start
8
+
9
+ 1. Install `@impact0815/node-red-contrib-home-connect`.
10
+ 2. Restart Node-RED and reload the editor.
11
+ 3. For the three dashboard examples, also install `@flowfuse/node-red-dashboard`:
12
+
13
+ ```bash
14
+ cd ~/.node-red
15
+ npm install @flowfuse/node-red-dashboard
16
+ ```
17
+
18
+ ## Import an included example
19
+
20
+ 1. Open Node-RED.
21
+ 2. Choose **Menu → Import → Examples → @impact0815/node-red-contrib-home-connect**.
22
+ 3. Select an example.
23
+ 4. Click **Import**.
24
+ 5. Click **Deploy** in the upper-right corner.
25
+
26
+ Start with **01-first-steps-device-list**. Press the button on the left side of its Inject node. The Debug sidebar should show three simulated appliances.
27
+
28
+ ## Which example should I choose?
29
+
30
+ | Example | Good for | What to do |
31
+ |---|---|---|
32
+ | `01-first-steps-device-list.json` | First test | Deploy, press the Inject button, read the appliance list in Debug. |
33
+ | `02-events.json` | Live changes | Deploy and watch simulated events in Debug. |
34
+ | `03-safe-read-write.json` | Safe writing test | Keep **dry-run** enabled. The flow validates a command but does not send it. |
35
+ | `04-local-read-only.json` | Local LAN profiles | Replace the example connection with your own read-only local configuration. It contains no Write node. |
36
+ | `dashboard-dishwasher-washer-oven.json` | Full dashboard | Deploy, then open `/dashboard/overview`. It supports cloud and local read-only data. |
37
+ | `dashboard-screenshot-simulated.json` | Network-free demo | Deploy and open the dashboard. All appliances and values are simulated. |
38
+ | `demo-home-connect-flowfuse-1.34.1-scriptless.json` | Isolated UI demo | Import when you only want to explore the dashboard without Home Connect runtime nodes or network access. |
39
+
40
+ ## Moving from the simulator to your appliances
41
+
42
+ 1. First confirm that the chosen flow works with the simulator.
43
+ 2. Create either a **Production cloud** connection or a **Local LAN (read-only)** connection.
44
+ 3. Open every Home Connect node in the imported flow and select your own connection.
45
+ 4. Click **Done**, then **Deploy**.
46
+ 5. For cloud access, complete OAuth authorization and use only the permissions you need.
47
+ 6. Keep cloud Write nodes in **dry-run** until the displayed appliance, command, and values are correct.
48
+
49
+ Local LAN access is always read-only. A local Write request is rejected before network I/O.
50
+
51
+ ## If nothing appears
52
+
53
+ - Confirm that Node-RED was restarted after installation.
54
+ - Confirm that the flow was deployed.
55
+ - Open the Debug sidebar and check whether its filter is hiding messages.
56
+ - For dashboards, confirm that `@flowfuse/node-red-dashboard` is installed.
57
+ - For cloud flows, test the deployed connection and verify OAuth scopes.
58
+ - See the [English troubleshooting guide](../docs/TROUBLESHOOTING.md) or [German troubleshooting guide](../docs/TROUBLESHOOTING.de.md).
59
+
60
+ ## Safety and privacy
61
+
62
+ Never share Client Secrets, tokens, profile PSK/IV values, real appliance IDs, private addresses, or exported flows containing credentials. Use simulated data and dry-run first. Appliance control can cause heat, motion, and water use.