Skip to content

Commit e70b3c9

Browse files
committed
Merge branch 'next' into rc
2 parents a8ceee2 + 5d9ac71 commit e70b3c9

10 files changed

Lines changed: 392 additions & 69 deletions

File tree

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ group :development do
1111
# > 2.1.0 causes slowdowns https://github.com/sass/sassc-ruby/issues/189
1212
gem 'sassc', '2.1.0'
1313
gem 'sass-embedded', '1.97.3'
14-
gem 'rubocop', '1.82.1'
14+
gem 'rubocop', '1.84.0'
1515
gem 'ruby-lsp', '0.26.5'
1616
gem 'rackup', '2.3.1'
1717
end

Gemfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ GEM
9797
racc
9898
pathutil (0.16.2)
9999
forwardable-extended (~> 2.6)
100-
prism (1.8.0)
100+
prism (1.9.0)
101101
public_suffix (7.0.2)
102102
racc (1.8.1)
103103
rack (3.2.4)
@@ -120,15 +120,15 @@ GEM
120120
regexp_parser (2.11.3)
121121
rexml (3.4.4)
122122
rouge (4.7.0)
123-
rubocop (1.82.1)
123+
rubocop (1.84.0)
124124
json (~> 2.3)
125125
language_server-protocol (~> 3.17.0.2)
126126
lint_roller (~> 1.1.0)
127127
parallel (~> 1.10)
128128
parser (>= 3.3.0.2)
129129
rainbow (>= 2.2.2, < 4.0)
130130
regexp_parser (>= 2.9.3, < 3.0)
131-
rubocop-ast (>= 1.48.0, < 2.0)
131+
rubocop-ast (>= 1.49.0, < 2.0)
132132
ruby-progressbar (~> 1.7)
133133
unicode-display_width (>= 2.4.0, < 4.0)
134134
rubocop-ast (1.49.0)
@@ -184,7 +184,7 @@ DEPENDENCIES
184184
nokogiri (= 1.18.10)
185185
rackup (= 2.3.1)
186186
rake (= 13.3.1)
187-
rubocop (= 1.82.1)
187+
rubocop (= 1.84.0)
188188
ruby-lsp (= 0.26.5)
189189
sass-embedded (= 1.97.3)
190190
sass-globbing (= 1.1.5)

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/_integrations/esphome.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ ha_platforms:
3939
- time
4040
- update
4141
- valve
42+
- water_heater
4243
ha_integration_type: device
4344
ha_dhcp: true
4445
ha_quality_scale: platinum

source/_integrations/mystrom.markdown

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
title: myStrom
3-
description: Instructions on how to integrate myStrom WiFi Switches and Bulbs into Home Assistant.
3+
description: Instructions on how to integrate myStrom WiFi Switches, Bulbs and Motion Sensors into Home Assistant.
44
ha_category:
55
- Binary sensor
66
- Light
7+
- Sensor
78
- Switch
89
ha_release: 0.43
910
ha_iot_class: Local Polling
@@ -24,12 +25,12 @@ related:
2425

2526
There is currently support for the following device types within Home Assistant:
2627

27-
- [Lights and switches](#lights-and-switches)
28+
- [Lights, switches and motion sensors](#lights-switches-and-motion-sensors)
2829
- [Binary sensor](#binary-sensor)
2930

30-
## Lights and switches
31+
## Lights, switches and motion sensors
3132

32-
The myStrom {% term integration %} allows you to control your [myStrom](https://mystrom.ch/) Wi-Fi Bulbs and Wi-Fi Switches. Make sure that you have enabled the REST API under **Advanced** in the web frontend of the switch.
33+
The myStrom {% term integration %} allows you to control your [myStrom](https://mystrom.ch/) Wi-Fi Bulbs, Wi-Fi Switches and Wi-Fi Motion Sensors. Make sure that you have enabled the REST API under **Advanced** in the web frontend of the switch.
3334

3435
Supported devices are:
3536

@@ -38,13 +39,19 @@ Supported devices are:
3839
- LED strip (105)
3940
- Switch CH v2 (106)
4041
- Switch EU (107)
42+
- Motion Sensor (110)
4143
- Switch Zero (120)
4244

4345
Two sensors are available for switches:
4446

4547
- Temperature
4648
- Energy consumption
4749

50+
Two HA sensors are available for motion sensors:
51+
52+
- Temperature
53+
- Illuminance
54+
4855
{%include integrations/config_flow.md %}
4956

5057
Check if you are able to access the light located at `IP_ADRRESS`. The details about your light is provided as a JSON response.
Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
---
2+
title: NRGkick
3+
description: Integrate the NRGkick Gen2 mobile EV charger using the local REST JSON API.
4+
ha_category:
5+
- Energy
6+
ha_iot_class: Local Polling
7+
ha_quality_scale: bronze
8+
ha_release: 2026.2
9+
ha_codeowners:
10+
- "@andijakl"
11+
ha_domain: nrgkick
12+
ha_integration_type: device
13+
ha_config_flow: true
14+
ha_zeroconf: true
15+
ha_platforms:
16+
- sensor
17+
related:
18+
- url: https://www.nrgkick.com/
19+
title: NRGkick Website
20+
---
21+
22+
The **NRGkick** {% term integration %} allows you to monitor the [NRGkick](https://www.nrgkick.com/) mobile EV charger (Wallbox) by DiniTech with Home Assistant. The wallbox is smart home friendly and allows detailed monitoring with 80+ data points.
23+
24+
The integration connects directly to the device on your local network using the local REST JSON API. No cloud connection is required.
25+
26+
## Supported devices
27+
28+
- NRGkick Gen2 (Smart Cable / Flexible Wallbox)
29+
30+
{% note %}
31+
The NRGkick is available in different variants, including the 16A and 32A models, as well as models with cellular (SIM) and GPS capabilities. All are compatible with this integration.
32+
33+
The NRGkick 16A light model needs the "NRGkick App incl. Bluetooth/Wi-Fi connectivity" as one-time upgrade to use the local API.
34+
{% endnote %}
35+
36+
## Unsupported devices
37+
38+
- NRGkick Gen1 (Bluetooth-only)
39+
40+
## Prerequisites
41+
42+
- Home Assistant and the NRGkick device need to be on the same local network.
43+
- Your NRGkick device needs to have SmartModule firmware 4.0.0.0 or newer.
44+
- The REST JSON API needs to be enabled in the NRGkick app.
45+
46+
To enable the API:
47+
48+
1. Open the NRGkick app from the manufacturer on your smartphone.
49+
2. Go to **Extended** > **Local API**.
50+
3. Enable **JSON API**.
51+
4. Optional: Enable authentication and set a username and password.
52+
53+
{% include integrations/config_flow.md %}
54+
55+
If you enabled authentication in the NRGkick app, enter the username and password during setup.
56+
57+
{% configuration_basic %}
58+
Host:
59+
description: |
60+
The hostname or IP address of your NRGkick device, for example, `nrgkick.local` or `192.0.2.10`.
61+
Username:
62+
description: Username for HTTP Basic Authentication (optional).
63+
Password:
64+
description: Password for HTTP Basic Authentication (optional).
65+
{% endconfiguration_basic %}
66+
67+
## Supported functionality
68+
69+
The integration provides entities to monitor charging. Charging control will be added in a later release.
70+
71+
### Sensors
72+
73+
The integration creates the following sensors:
74+
75+
#### Device information
76+
77+
##### General
78+
79+
- **Rated current** (A): Max rated current of the NRGkick.
80+
81+
##### Connector
82+
83+
- **Connector phase count**: Phase count of the connected attachment.
84+
- **Connector max current** (A): Max current of the connected attachment.
85+
- **Connector type**: Attachment type (for example Type 2, CEE, domestic).
86+
- **Connector serial**: Attachment serial number (disabled by default).
87+
88+
##### Grid
89+
90+
- **Grid voltage** (V): Detected grid voltage type.
91+
- **Grid frequency** (Hz): Detected grid frequency.
92+
93+
##### Network
94+
95+
- **SSID**: Wi-Fi network name of the currently connected network (disabled by default).
96+
- **Signal strength** (dBm): Wi-Fi signal strength (RSSI).
97+
98+
##### Cellular (only if available)
99+
100+
These sensors are only available on NRGkick SIM models and are disabled by default.
101+
102+
- **Cellular operator**: Cellular network operator.
103+
- **Cellular signal strength** (dBm): Cellular signal strength (RSSI).
104+
- **Cellular mode**: Cellular mode.
105+
106+
#### Device values
107+
108+
##### Energy
109+
110+
- **Total charged energy** (kWh): Total charged energy overall.
111+
- **Charged energy** (kWh): Charged energy during the most recent charge session.
112+
113+
##### Powerflow
114+
115+
- **Charging current** (A): Max current signaled to the EV.
116+
- **Peak power** (W): Highest power during the most recent charge session (disabled by default).
117+
- **Total active power** (W): Total active power across all phases.
118+
- **Total reactive power** (var): Total reactive power across all phases (disabled by default).
119+
- **Total apparent power** (VA): Total apparent power across all phases (disabled by default).
120+
- **Total power factor** (%): Power factor across all phases (disabled by default).
121+
- **Charging voltage** (V): Average charging voltage across phases.
122+
- **Powerflow grid frequency** (Hz): Grid frequency reported in powerflow data (disabled by default).
123+
- **L1 voltage** (V): Voltage on phase L1 (disabled by default).
124+
- **L1 current** (A): Current on phase L1.
125+
- **L1 active power** (W): Active power on phase L1.
126+
- **L1 reactive power** (var): Reactive power on phase L1 (disabled by default).
127+
- **L1 apparent power** (VA): Apparent power on phase L1 (disabled by default).
128+
- **L1 power factor** (%): Power factor on phase L1 (disabled by default).
129+
- **L2 voltage** (V): Voltage on phase L2 (disabled by default).
130+
- **L2 current** (A): Current on phase L2.
131+
- **L2 active power** (W): Active power on phase L2.
132+
- **L2 reactive power** (var): Reactive power on phase L2 (disabled by default).
133+
- **L2 apparent power** (VA): Apparent power on phase L2 (disabled by default).
134+
- **L2 power factor** (%): Power factor on phase L2 (disabled by default).
135+
- **L3 voltage** (V): Voltage on phase L3 (disabled by default).
136+
- **L3 current** (A): Current on phase L3.
137+
- **L3 active power** (W): Active power on phase L3.
138+
- **L3 reactive power** (var): Reactive power on phase L3 (disabled by default).
139+
- **L3 apparent power** (VA): Apparent power on phase L3 (disabled by default).
140+
- **L3 power factor** (%): Power factor on phase L3 (disabled by default).
141+
- **Neutral current** (A): Current on neutral conductor (N) (disabled by default).
142+
143+
##### General
144+
145+
- **Charging rate**: Charging rate with considered user defined average consumption of the EV in Kilometer per Hour.
146+
- **Vehicle connected since**: Timestamp derived from the device-reported connection time.
147+
- **Vehicle charging time** (s): Charging time of the most recent charge session.
148+
- **Status**: Charging status (for example standby, connected, charging, error).
149+
- **Charge count**: Vehicle plug-in cycle count.
150+
- **RCD trigger**: Indicates if the RCD got triggered and which type.
151+
- **Warning code**: Current warning code reported by the device.
152+
- **Error code**: Current error code reported by the device.
153+
154+
##### Temperatures
155+
156+
- **Housing temperature** (°C): NRGkick housing temperature.
157+
- **Connector L1 temperature** (°C): Attachment phase 1 temperature.
158+
- **Connector L2 temperature** (°C): Attachment phase 2 temperature.
159+
- **Connector L3 temperature** (°C): Attachment phase 3 temperature.
160+
- **Domestic plug 1 temperature** (°C): Domestic attachment pin 1 temperature.
161+
- **Domestic plug 2 temperature** (°C): Domestic attachment pin 2 temperature.
162+
163+
### Controls
164+
165+
Support for getting more details about the charging status as well as charging control will be added in a later release.
166+
167+
### Key entities
168+
169+
Entity IDs depend on your device name in Home Assistant. The examples below assume the default device name of `NRGkick`.
170+
171+
- `sensor.nrgkick_charging_current`: Charging current.
172+
- `sensor.nrgkick_charged_energy`: Charged energy.
173+
- `sensor.nrgkick_status`: Charging status.
174+
175+
## Data updates
176+
177+
The integration {% term polling polls %} the device for updates.
178+
179+
- Polling interval: 30 seconds.
180+
- You cannot change the polling interval.
181+
182+
## Known limitations
183+
184+
- Charging control is not yet supported and will be added in a later release.
185+
- Per-phase values for L2 and L3 are only available when the power source and session are using multiple phases.
186+
- Some temperature sensors depend on the connected attachment and may not be available.
187+
- Cellular and GPS sensors are only available on SIM models.
188+
189+
## Troubleshooting
190+
191+
### Can't connect to the device
192+
193+
If setup fails with a connection error:
194+
195+
- Verify the device is reachable on your network.
196+
- Verify the REST JSON API is enabled in the NRGkick app.
197+
- If you use authentication, verify the username and password.
198+
199+
### Entities show unavailable
200+
201+
- Verify the device is powered on and connected.
202+
- Under {% my integrations title="**Settings** > **Devices & services**" %}*, select **NRGkick**, then reload the integration.
203+
- If your network is unstable, verify Wi-Fi coverage.
204+
205+
### Some phase sensors are missing or show as unknown
206+
207+
This is expected when charging with a single-phase power source. Those sensors usually provide values only when a three-phase source is available and active.
208+
209+
## Removing the integration
210+
211+
This integration follows standard integration removal.
212+
213+
{% include integrations/remove_device_service.md %}

source/_integrations/ntfy.markdown

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,54 @@ Check out the [emoji reference](https://docs.ntfy.sh/emojis/) for a full list of
185185

186186
{% endtip %}
187187

188+
### Dismiss notification
189+
190+
The `ntfy.clear` action dismisses a previously sent message from a ntfy topic by marking it as read.
191+
192+
#### Parameters
193+
194+
- `sequence_id`: The message ID or sequence ID of the notification to dismiss.
195+
196+
{% details "Example YAML configuration" %}
197+
198+
{% raw %}
199+
200+
```yaml
201+
action: ntfy.clear
202+
target:
203+
entity_id: notify.mytopic
204+
data:
205+
sequence_id: my-download-123
206+
```
207+
208+
{% endraw %}
209+
210+
{% enddetails %}
211+
212+
### Delete notification
213+
214+
The `ntfy.delete` action deletes a message from a ntfy topic.
215+
216+
#### Parameters
217+
218+
- `sequence_id`: The message ID or sequence ID of the notification to delete.
219+
220+
{% details "Example YAML configuration" %}
221+
222+
{% raw %}
223+
224+
```yaml
225+
action: ntfy.delete
226+
target:
227+
entity_id: notify.mytopic
228+
data:
229+
sequence_id: my-download-123
230+
```
231+
232+
{% endraw %}
233+
234+
{% enddetails %}
235+
188236
## Sensors
189237

190238
The **ntfy** integration adds a device representing the service, along with various sensors that display your usage statistics and current account limits.

source/_integrations/roborock.markdown

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,12 @@ The vacuum entity holds the ability to control most things the vacuum can do, su
171171
- **Cleaning fluid**
172172
- **Description**: Only available on docks with cleaning fluid capabilities - States if the dock is low on cleaning fluid, or the cleaning fluid container is not installed.
173173

174+
- **Clean water box**
175+
- **Description**: Only available on docks with water tanks built-in. States if the dock is out of clean water, or if the clean water box is not installed.
176+
177+
- **Dirty water box**
178+
- **Description**: Only available on docks with dirty water tanks built-in. States if the dirty water tank is full, or if the dirty water box is not installed.
179+
174180

175181
#### Sensor
176182

0 commit comments

Comments
 (0)