[APP][Pro] Homewizard 🧙‍♂️

Control your HomeWizard products (not the Link or Smart Switch.)

Stable: v3.13.58
Test/beta: v3.14.1


Nederlands forum topic hier, maar meeste info zal in dit engelse gedeelte te vinden zijn omdat dit al langer loopt.
[APP][Pro][NL] Homewizard 🧙‍♂️


HOMEWIZARD ENERGY PRODUCTS NOTES

Wifi P1 dongle support is only working when dongle has firmware 2.09! Please check firmware before you try to add it. This firmware support mDNS (auto discovery) hence easier to add. It is the same technique used as ChromeCast (Google). So if you face issues with your wifi network and struggle with the devices not found you can check you wifi vendor support pages on ChromeCast issues as it the same discovery method. Wait for the dongle to get this firmware from the cloud before you try to add it.

kwh1 & kwh3 (SDM230 & SDM630), energy sockets and the watermeter (~August 2022) before you try to add them you MUST enable Local API in your Homewizard Energy app. This is disabled by default and will not allow a discovery to work (mDNS method).

Make sure your wifi devices are getting a reserved ip address in your DHCP scope of your Wifi / Router dhcp.

PLUGIN BATTERY
If you want to control your Plugin Battery via Homey you have to add the P1 as a APIv2 device.
You can have it next to your existing P1api1 and disable the Homey Energy include to avoid double energy tracking. Or you remove the old one but do note that historical data for this P1 will be lost.

Steps:

  1. Add P1 as APIv2 (during the pairing process you have to press the P1 button on the device so be sure you near your P1 within 30 sec.

  2. Then you can add/pair your Plugin Battery (it is not really an order if battery is first or last, it is just key that the P1 is added as APIv2).

  3. After this you can add a flow and control the mode of the Plugin Battery via the P1apiv2.

TROUBLESHOOT TIPS FOR P1, KWH (SDM230/SDM630), WATERMETER, ENERGY-SOCKETS AND PLUGIN-BATTERY

  • Check de logs in the app settings (version v3.10.x)

  • Make sure Homey is in the same (wifi network)
  • Make sure devices are not on a Guest wifi SSID or AP client isolation is turned on (must be off!)
  • Make sure multicast is enabled on all your access points and routers
  • (unifi?) Disable Multicast enhancement
  • Reboot homey (mDNS discovery might be stuck)
  • Reboot your wifi accesspoints/routers (unifi / ubiquiti common issues)
  • Power cycle your device P1, KWH, watermeter or socket(s)
  • Verify “LOCAL API” is on in Homewizard Energy app for the device(s)
  • Watermeter does not work when on battery only (must be usb powered to enable LOCAL API mode)
  • Install mDNS discovery app on your iphone/android and check for _hwenergy._tcp and see you can see your devices there.
  • Toggle the LOCAL API in the official HomeWizard Energy app and restart the HW app on Homey to discover again

Or

Pihole and Adguard users:
For those users that have Homewizard device issues (! Icon) or devices that wont move to available is a tip related to Pihole and/or Adguard.
Multicast DNS isnt handled properly via these DNS sinkholes. You should install AVAHI service on your Pihole and/or Adguard linux server that picks up these queries and resolves these queries locally.

TIPS

  • For Homewizard Energy devices my suggestion is reserve static ip’s in the dhcp server scope of your router (when possible). Some routers and dhcpserver keep cycle their dhcp scope.

  • More advanced tip(and those who are knowledgeable enough to implement): separate your IoT devices from your local LAN. Most of these IoT devices are cheap China tech and not known to proper firmware updates. When you separate these you need mdns repeater/proxy/relay on your router. But only if you know how to do it as its very complex to implement and requires a high level of network understanding (vlans & firewall rules).


HOMEWIZARD (legacy, yeah the old appliance)

small

Upon first deployment you need add the HomeWizard unit first,
then you can add the related/connected components
from HomeWizard to your Homey (ie. Heatlink, Energylink etc.

Get your local Homewizard IP address and local password (not the Homewizard Online account!)

If trying to add this in the Homey GUI and get a quick flash of this screen and blank after, please use the webinterface of Homey GUI https://my.homey.app.

Homey does not support Heatlink and Energylink directly without the Homewizard unit.
Homewizard have protected their 868mhz communication with Energylink and Heatlink so you still need the Homewizard unit to make this work.

Supports: Energylink, Heatlink, Windmeter, Rainmeter, Temperature sensors, Smoke & Motion sensors
Does not support: Light bulbs & Power sockets (use KlikAanKlikUit or Smartwares app to control these).
Note on Motion sensor: There is a 10 seconds delay (use KlikAanKlikUit or Smartwares app if you need direct response).

Relevant sources and links
Project master source: GitHub - jtebbens/com.homewizard: Homewizard app for Homey · GitHub
Beta channel: https://github.com/jtebbens/com.homewizard/tree/beta
Test install from app store: HomeWizard | Homey

ONLY SENT DIAGNOSTIC REPORTS WHEN I ASK FOR IT

Developers: Jeroen Tebbens, Jeroen Bos, Nick Bockmeulen, Freddie Welvering, Emile

7 Likes
[APP][Pro][NL] Homewizard 🧙‍♂️
Homewizard -> Homey *niets* werkt
Overstappen van HomeWizard naar Homey
HomeWizard P1 dongle missing data
Homewizard app basis station toevoegen 》opslaan knop werkt niet
Homewizard
Homewizzard P1 energie dongle koppelen lukt niet
Homewizard Energy socket are no longer recognized
HomeWizard App crashed voortdurend
HomeWizard App crashed voortdurend
Cable only or Cable+WIFI?
Homey Energy Dongle ⚡️ - Megathread
Cannot connect Home pro 2023 to Homewizard base station anymore
Homewizard p1 spanning uitlezen
Homey 2023 & HomeWizard base station
Homewizard installation homey pro 2023
Thermometer Windmeter
Thermometer Windmeter
Homey and Homewizard Basestation
Homey and Homewizard Basestation
"Fallback baseload notification' every day at 06:00 am (Homey Pro 2023)
Is er een maximum bij HomeWizard
Home wizard Energie Socket wil niet koppelen (OPGELOST)
[LIST] 800+ Existing Apps in Homey App store 🚀- and here their Community Topics!
Homewizard P1 dongle
Energylink homewizard not working anymore
Question: monitoring real time absorption without p1 (Italy)
Devices not accessible -Homewizard-
DELETED - OLD/ARCHIVED [APP] Homewizard Energy (stable: v0.1.7 beta: v0.1.7)
Interpolis Smartwares / Thuisveilig / HomeWizard
Homewizard watermeter
Homewizard P1 dongle
Homewizard P1 dongle
Toevoegen Enphase IQ converter aan Zonnepanelen app werkt niet
Homewizard app basis station toevoegen 》opslaan knop werkt niet
[Homey Pro 2016-2019] Firmware Updates
Config tool van oude Homewizard
Homewizard -> Homey *niets* werkt
Energy sociëteit
Homey Pro Early 2023 - Problem with multiple devices becoming unreachable (Mitsubishi Airco, HomeWizard energy plugs)
Homewizard installation homey pro 2023
Homewizard installation homey pro 2023
[APP][Pro][NL] Homewizard 🧙‍♂️
Vastlopen homey app
Home Wizard connection lost with software update

:memo: Latest Updates (v3.14.1)

Battery Policy — 15-Minute Pricing

  • 15-min price granularity - Policy decisions now use the actual 15-minute spot price instead of the hourly average, enabling more precise charge/discharge timing during short price dips or peaks

  • Optimizer on 15-min slots - The 24h dynamic-programming scheduler now plans across 96 slots (15-min) instead of 24 hourly slots, making it possible to exploit short cheap windows (e.g. wind surplus at night)

Battery Policy — Explainability

  • Reasons match the winning mode - Decision reasons are now filtered to only show why the actual recommendation was made; conflicting reasons from other modes no longer appear

  • Mapping explanation - When scoring favours charging but conditions prevent it (price above ceiling, no PV), a prominent notice now explains the gap: “Laden wint (score 140) maar prijs €0.26 > max laadprijs €0.14 → Standby: wacht op betere conditie”

  • Battery very low reason - SoC between 1–10% now correctly shows “Batterij erg laag — laden aanbevolen” instead of “normaal bereik”

  • Zero mode threshold - Explainability engine now mirrors policy engine exactly: respects min_soc = 0 without a hardcoded 1% floor

Bug Fixes

  • Weather forecast timezone - Fixed 1-hour offset caused by timezone: auto + appending Z; now uses timezone: UTC

  • Sunshine duration ensemble - Fixed all-zero sunshine when using multi-model Open-Meteo requests (models= parameter causes model-specific key names like sunshine_duration_ecmwf_ifs04; plain key absent)

  • Sunshine radiation fix - Fixed radiation calculation which made the planning be mapped incorrectly

  • Planning SoC projection - Fixed all hours showing standby due to early return if (soc < minSoc) return 'standby' in planning display; radiation-based PV formula corrected (pvCapW × radiation/1000 instead of maxChgW × factor)

  • ZERO MODE threshold - Policy engine and explainability now both respect user’s min_soc setting; removed hardcoded 5% / 1% floors

Technical

  • 36-hour forecast horizon - Weather forecaster extended from 24h to 36h to always cover tonight + full tomorrow even when run in the evening

  • SunMultiSource removed - Replaced with WeatherForecaster ensemble (3-model average); next-4h radiation used for PV estimation


:memo: Previous Updates (v3.13.58)

Bug Fixes

  • Baseload Negative Values - Fixed BaseloadMonitor._fallback() including negative power samples in bottom-10% calculation, which caused the baseload (sluipverbruik) to report negative values; now filters to p >= 0 && p < 1000 W (consistent with _computeSmartBaseload)

  • Baseload Battery Correction - Fixed updatePower() only correcting for battery discharge (batteryPower < 0) but not for charging; now applies householdPower = gridPower − batteryPower for both directions; result clamped to 0 to prevent negative household consumption from rounding/timing mismatches

  • RTE Learning — Counter Reset Bug - Fixed efficiency estimator resetting both charge and discharge counters when measured RTE < 0.50; a low ratio simply means the cycle is not complete yet (not enough discharge accumulated relative to charge); counters now preserved and continue accumulating; only reset on confirmed measurement error (RTE > 0.85) or stale counters (> 10 kWh either side)

  • RTE Learning — SoC Null Guard - Fixed soc <= 5 orphan-clear guard in EfficiencyEstimator firing on every charge start because null <= 5 is true in JavaScript; guard now requires typeof soc === 'number'

  • RTE Learning — Wrong SoC Source - Fixed battery-policy/device.js reading measure_battery capability (does not exist on the policy device → always null) instead of the soc variable already resolved from battery_group_average_soc on the P1 device

  • Battery Policy bugs - Fixed Recommended mode text to active mode, leftover battery SoC in morning to discharge. Fix for to_full when PV is not enough to charge battery but the market prices are at their lowest (zero_change_only vs to_full)

  • Ratelimit on flowcards in energy (apiv2) - Ratelimit to avoid action flowcard to execute every second crippling the application and make it cpu/memory crash

  • Energy socket connectivity - Improve connectivity when there is poor wifi (10s timeouts, was 5s) and retry logic

Technical

  • WebSocket slow_handler threshold raised from 100 ms to 250 ms to better reflect ARM CPU reality on Homey; journal entries throttled to once per handler per 5 minutes to prevent log noise

  • WebSocket preflight_fail journal events throttled to once per 10 minutes via _journalThrottled(); log output still emitted on every failure for debugging

  • Settings page copy buttonnavigator.clipboard.writeText() silently fails inside Homey’s sandboxed iframe; now always uses textarea + execCommand('copy') as primary path; if that also fails a selectable textarea is shown as manual fallback


:memo: Previous Updates (v3.13.54)

Bug Fixes

  • Baseload Negative Values - Fixed BaseloadMonitor._fallback() including negative power samples in bottom-10% calculation, which caused the baseload (sluipverbruik) to report negative values; now filters to p >= 0 && p < 1000 W (consistent with _computeSmartBaseload)

  • Baseload Battery Correction - Fixed updatePower() only correcting for battery discharge (batteryPower < 0) but not for charging; now applies householdPower = gridPower − batteryPower for both directions; result clamped to 0 to prevent negative household consumption from rounding/timing mismatches

  • RTE Learning — Counter Reset Bug - Fixed efficiency estimator resetting both charge and discharge counters when measured RTE < 0.50; a low ratio simply means the cycle is not complete yet (not enough discharge accumulated relative to charge); counters now preserved and continue accumulating; only reset on confirmed measurement error (RTE > 0.85) or stale counters (> 10 kWh either side)

  • RTE Learning — SoC Null Guard - Fixed soc <= 5 orphan-clear guard in EfficiencyEstimator firing on every charge start because null <= 5 is true in JavaScript; guard now requires typeof soc === 'number'

  • RTE Learning — Wrong SoC Source - Fixed battery-policy/device.js reading measure_battery capability (does not exist on the policy device → always null) instead of the soc variable already resolved from battery_group_average_soc on the P1 device

Technical

  • WebSocket slow_handler threshold raised from 100 ms to 250 ms to better reflect ARM CPU reality on Homey; journal entries throttled to once per handler per 5 minutes to prevent log noise

  • WebSocket preflight_fail journal events throttled to once per 10 minutes via _journalThrottled(); log output still emitted on every failure for debugging

  • Settings page copy buttonnavigator.clipboard.writeText() silently fails inside Homey’s sandboxed iframe; now always uses textarea + execCommand('copy') as primary path; if that also fails a selectable textarea is shown as manual fallback


:memo: Previous Updates (v3.13.47)

New Features

  • Active Mode Capability - New active_mode capability shows the battery mode actually active on the hardware, which may differ from recommended_mode when confidence is below threshold, auto-apply is off, or a manual override is active
  • New Policy Modes - Added Fixed Pricing and Dynamic Pricing (V2) options to the policy mode picker
  • Global Error Handlers - App now catches unhandled promise rejections, uncaught exceptions, and Node.js process warnings (MaxListenersExceededWarning etc.) for better crash diagnostics

Bug Fixes

  • Coverage Ratio Calculation - Fixed inverted battery coverage ratio: a 1751 W load with 800 W max now correctly reports 46% coverage instead of 100%
  • Multi-Unit Battery Power - Max discharge/charge fallback now scales with battery group size (2.7 kWh/unit × 800 W/unit) instead of hardcoding 800 W regardless of how many units are installed
  • PV Virtual Grid Calculation - Fixed virtual grid calculation: battery charging power is now subtracted (not added) to correctly show true export potential when evaluating PV decisions
  • WebSocket Null Guards - Fixed crashes when ws._events is accessed after the socket is already cleaned up; removeAllListeners and event dispatch now guard against null ws reference
  • Cost Model Reset - Battery cost model now resets at or below min_soc even when firmware cuts discharge power to 0 W (no longer waits for isDischarging to be true)
  • Sensor/History Overflow - LearningEngine now uses exponential moving average (alpha=0.01) after 100 samples per slot, preventing sum and count from growing unboundedly over years

Performance (CPU)

  • WebSocket Throttle - Measurements now processed immediately on receive with a 2 s throttle, replacing the previous fixed polling interval; system/battery topics reduced to 30 s (was 10 s)
  • energy_v2 Tiered Updates - Capability updates split into realtime / 10 s / 30 s / 60 s tiers; voltage, current, and frequency no longer updated on every WebSocket message
  • energy_v2 Battery Group - Battery group interval reduced from 10 s to 60 s
  • energy_v2 Flow Triggers - energy_import_kwh flow trigger rate-limited to 60 s (was 5 s), preventing 12 triggers/min per device
  • energy_socket Polling - Minimum poll interval raised to 30 s (was 2 s); startup offset staggered 5–35 s; TCP keep-alive extended to 35 s to match interval
  • plugin_battery Startup Stagger - First poll staggered 0–30 s per device to prevent 3 simultaneous TLS handshakes at startup
  • plugin_battery Battery Group - Battery group interval reduced from 10 s to 60 s
  • plugin_battery Capability Batching - All capability updates in _handleMeasurement are now batched with Promise.allSettled (non-blocking) instead of sequential await
  • Baseload Throttle - BaseloadMonitor._processNightSample stores at most 1 sample per 30 s; _detectNearZeroLong is now time-based instead of sample-count-based; night history downsampled to 30 s resolution on save
  • Battery Policy P1 Polling - P1 capability polling interval increased from 5 s to 15 s

Technical

  • onUninit / onDeleted split across all drivers (energy_v2, energy_socket, plugin_battery, cloud_p1, battery-policy): timers/intervals cleaned up on both app stops and explicit device deletion; baseload deregistration and settings wipe only on deletion
  • __deleted guard added to onPoll, _fallbackPoll, _updateBatteryGroup, and _handleMeasurement to prevent errors after uninit
  • PV state detection uses separate hysteresis thresholds for ON (−200 W) vs OFF (−150 W) to prevent bouncing; grid range widened to −150…+250 W when already in PV state
  • active_mode updated after every policy run to reflect the actual battery_group_charge_mode capability value from the P1 device; battery_policy_state.currentMode patched to match for accurate SoC projection
  • RTE learning bounds enforced (50–85%); values outside this range fall back to the configured setting and trigger an estimator reset; learning threshold lowered to 1.0 kWh per side (was 2.5 kWh) for faster convergence
  • EfficiencyEstimator.reset(eff) method added
  • Explainability engine: soc=0 reason now mirrors policy-engine export-wins analysis; arbitrage reason now shows when price is above break-even but blocked by min_discharge_price; PV surplus reason mirrors PV OVERSCHOT opportunity-cost logic
  • Coverage ratio formula corrected to min(maxDischarge / load, 1.0) in PolicyEngine, _applyPeakShavingRules, and ExplainabilityEngine
  • Battery group max power fallback derived from battery_group_total_capacity_kwh in device, policy engine, and explainability engine

:memo: Previous Updates (v3.13.37)

Bug Fixes

  • Battery Policy PV Detection - Fixed incorrect grid charging during active PV production
  • WebSocket Stability - Improved reconnection logic and error handling for energy_v2 and plugin_battery drivers

Technical

  • Policy engine mapping logic now respects sticky PV detection state set by _applyPVReality()
  • PV detection includes pvEstimate as additional indicator alongside grid export and battery power
  • Improved logging shows virtual grid power breakdown for better debugging
  • Enhanced WebSocket connection resilience during network fluctuations

:memo: Previous Updates (v3.13.28)

New Features

  • Manual IP Override - Repair flow for devices when mDNS discovery fails (VLAN/UniFi/mesh Wi-Fi issues)

  • Battery-Aware Baseload - Excludes battery discharge from grid power for accurate standby consumption

  • Smart Filtering - Automatically filters EV charging and heat pump cycles from baseload calculation

  • Dynamic Sunrise/Sunset - Battery discharge windows adapt to seasonal changes (sunset-based timing)

  • Weather-Aware Discharge - Battery policy uses tomorrow’s solar forecast for intelligent discharge decisions

  • Monthly Cost Display - Settings page shows estimated baseload costs with real-time pricing

Improvements

  • Discovery error messages now guide users with mDNS troubleshooting steps (EN/NL)

  • Baseload monitor uses median of lowest 50% samples for robust calculation

  • Settings page displays visual ML score progress bars

  • Explainability engine shows weather-aware reasoning with dynamic time windows

  • Pre charge only when it’s profitable

  • Planning update when min max prices are changed by user affecting decisions

Technical

  • Manual IP support for both P1 Meter (v1) and P1 Meter (apiv2) drivers

  • Discovery events properly ignored when manual IP is configured

  • Fixed €0.25 estimate for baseload costs to prevent API overload from 15k users

  • Internal refactoring improves stability, caching behavior, and driver initialization.


Previous Updates (v3.13.14)

New Features

  • Battery Policy driver with ML-based charging optimization

  • Trigger cards for energy grid errors, voltage swells, voltage sags, and restoration events

  • Learning engine for consumption patterns and PV accuracy tracking

  • Plugin Battery state of charge icon for dashboard

Improvements

  • Homewizard Legacy Device updates (CSS, flow and language) - thanks smarthomesvan

  • P1 meters can now connect via HomeWizard cloud API (thanks to Sven Serlier’s research)

  • Watermeter cloud support (4x daily updates via hwenergy)

  • P1 (apiv2) tariff trigger improvements

Bug Fixes

  • Fixed capability_already_exists error (cloud_p1)

:open_book: Full Changelog

Click to expand complete version history

v3.12.9

  • Plugin battery charge mode selectable from UI

  • Energy (apiv2) guard for add/remove “battery_group_charge_mode”

v3.12.7

  • P1 tuning TIMEOUT & Unreachable

  • Removed pollingActive (unwanted side effect)

v3.12.4

  • Baseload ignore return power (compensate battery return to grid datapoints)

  • Plugin Battery LED brightness adjustment (user request)

  • Bug fix: Battery Group (SoC missed when there are fetch errors)

  • Bug fix: Polling deadlock fix for (energy, energy_socket, SDM230, SDM630, watermeter)

  • Energy socket setAvailable fix

  • Bugfix: _cacheSet undefined

(Websocket & caching)

  • Optimized external meters hash calculation (eliminates array.map() garbage collection pressure)

  • Battery group settings now cached with 60-second refresh

Baseload / sluipverbruik

  • Detection algorithms now run every 30 seconds instead of on every power sample

  • Eliminates expensive array scans during night hours

v3.11.9

  • P1 energy modified to modular

  • P1 energy_v2 modified to modular

  • Heatlink additional code check on set target_temperature

  • P1, changed order of processing, eletric first then gas/water

  • P1 missed call in onPoll interval to reset daily calculation

  • Bugfix: P1 (apiv2) polling mode - Charge mode fixes

  • Bugfix: Group Battery State of Charge (increased timestamp check)

  • Realtime pull from all batteries as fallback Battery Group State

v3.10.13

  • Updated plugin battery mode names

  • Added device name to debug messages

  • SDM630 added per phase kwh meter tracking + daily kwh meter (estimate)

  • More gas fix reset at night time (apiv1 and apiv2)

  • Bugfix: incorrect daily reset during day of gas usage

  • Bugfix: Energylink (watermeter) and Thermometer (battery)

NOTE: This is an estimate based on polling interval. If bad wifi or Homey can’t reach the SDM630 the measured value will be lower than the actual data.

v3.10.7

  • Bugfix: Homewizard Legacy fetch (tab was empty, no entries while there were errors in the log)

  • Remove fetchQueue feature in favor of capture debug information in the app settings page

  • Watermeter daily usage added

  • Bugfix: Device Fetch Debug wasn’t updating only showed “Loading…”

  • Bugfix: Circular Reference “device”

  • Bugfix: SDM230(p1mode) - updateCapability missed

  • Finetune debug log (ignore message circuit_open)

  • Energy_socket finetune, added a device queue as a replacement for the earlier centralized fetchQueue

  • Homewizard adaptive polling + tuning timeouts

  • Cleanup device drivers with overcomplicated checks that ended up with polling deadlocks

  • SDM230(p1mode) - Extra code handling for TIMEOUT issues

  • Daily gas usage reset improvement (nighttime sometimes misses when there is no gas value received)

v3.9.29

  • Wsmanager optimize

  • Homewizard legacy custom polling

  • Driver.js (apiv2) log fix (this.log undefined)

  • Thermometer rollback (name index matching doesnt work as expected)

  • Homewizard legacy → node-fetch and not the fetchQueue utility (bad user experience feedback)

  • Baseload (sluipverbruik) improvement (fridge/freezer should not be flagged as invalid )

  • Homewizard app setting page with log or debug information for discovery, fetch failures, websocket problems and baseload samples

  • Bugfix: Homewizard.poll (legacy unit)

  • Homewizard Legacy fetch debug added to same section under Application settings

  • Heatlink Legacy improvement

  • Homewizard Legacy Preset improvement (UI picker in Homey app)

  • Using external gas meter (timestamp X) instead of administrative meter

  • Thermometer trigger and condition cards for no response for X hours.

  • Improvement fetchQueue (protect against high cpu warning for devices on 1s polling)

v3.9.20

  • New Plugin Battery mode support (zero_charge_only & zero_discharge_only)

  • Optional gas checkbox (default enabled) for P1 (apiv1 and apiv2). (User request)

  • Added 15min power datapoint for Belgium (average_power_15m_w) P1(apiv2) (user request)

  • Plugin Battery - Bugfix setMode for to_full (PUT)

  • Updated SDM230_v2 and SDM630_v2 drivers

  • Bugfix - Updated P1apiv2 check-battery-mode condition card

  • Backward compatibilty fix for the new battery mode applied to older P1 firmware.

  • Bugfix - Websocket payload battery mode adjustment

  • Fixed: rare crash when _handleBatteries() ran after a device was deleted, causing Not Found: Device with ID … errors during setStoreValue.

  • Phase overload notification setting added and a limiter to avoid notification flooding

  • New Feature: Baseload (sluipverbruik) detection (experimental)

  • Bugfix: energy_socket connection_error capability fix

  • Bugfix: energy_v2 (handleBatteries) - device_not_found crash

  • Bugfix: trigger cards for SDM230_v2

  • APIv2 change pairing: Modified the username that is used during pair made it unique per homey

  • Bugfix: APIv2 pairing → local/homey_xxxxxx

  • Bugfix: SDM630v2 trigger cards removed (obsolete as these are default Homey)

  • Finetune: P1(apiv2) websocket + polling, capability updates

  • Finetune: energy_sockets (fetch / timeout) centralized

  • Refractor code update for P1apiv1, SDM230, SDM630, watermeter

  • Customizable phase overload warning + reset

  • Phase 1 /3 fix for P1(apiv1) after refractor code update

  • Bugfix: Fallback url for SDM230v2 and P1apiv2 (mDNS fail workaround)

  • Bugfix: pairing problem "Cannot read properties of undefined (reading ‘log’)

  • Homewizard legacy, clear some old callback methods

  • Finetune async/await updates

v3.8.22

  • Finetune energy_v2 updates primary values are updated instant, other lesser values once every 10s

  • Additional watchdog code to reconnect energy_v2 and plugin_battery upon firmware up/downgrades

  • Websocket finetuning (energy_v2 and plugin battery)

  • Centralized fetch queue for all fetch calls to spread all queries

  • Removed interval check in onPoll loop

  • Restore custom polling sockets (got removed by accident rollback)

v3.8.18

  • Bugfix: Failed to recreate agent: TypeError: Assignment to constant variable (energy)

  • Adjustment to async/await code several drivers

v3.8.16

  • Updated APIv2 to add more text upon fetch failed

  • Websocket based battery mode settings added (both condition and action)

  • Websocket heartbeat (30s) to keep battery mode updated (workaround as battery mode is the only realtime update when it changes)

  • P1 & EnergySocket driver (apiv1) http agent tuning (ETIMEOUT and ECONNRESET)

v3.8.13

  • Extra error handling (updateCapability) based on received crashreports

  • Bugfix: ReferenceError: err is not defined (energy_socket)

v3.8.11

  • Rollback energy dongle code from earlier version v3.7.0

  • Strange SD630 problem on older Homey’s

  • Extra verbose logging in urls to expose mDNS problems for older Homeys (url)

v3.8.8

  • After attempting conditional fetch, roll back to node-fetch until 12.9.x releases (Homey Pro 2016 - 2019)

  • Bugfix: SDM230-p1mode - error during initialization

v3.7.9

  • Extra check upon websocket creation to avoid crashes

  • Plugin battery catch all error (unhandled exception)

  • Additional checking and error handling on bad wifi connections (websocket based)

  • (fix) Error: WebSocket is not open: readyState 0 (CONNECTING)

  • Fetch was not defined for fetchWithTimeout function

  • Missed net_frequency update, also made it 3 decimals

  • Capability update fix (avoid removal check)

v3.7.1

  • Trigger card for battery SoC Drift (triggers on expected vs actual State-of-charge)

  • Trigger card for battery error (based on energy returned to grid while battery group should be charging)

  • Trigger card for battery netfrequency out of range

  • Icon update for various capabilities

  • Battery group details added to P1apiv2. (Charging state)

  • Realtime data for P1 (apiv2) via Websocket

  • Realtime data for Plugin Battery via Websocket

  • Bugfixes/crashes on P1 (apiv2) - no gas data on first poll / ignore

  • Websocket reconnect code for covering wifi disconnect & terminate issues

  • Plugin Battery group fix (tracking combined set of batteries) - bugfix / Refenece error

  • Netfrequency capability added for Plugin Battery

  • Homewizard Legacy - code rollback (pairing problems after improvements)

  • P1 (apiv2) - Added checkbox setting to fallback to polling if websocket is to heavy for Homey device

v3.6.77

  • Custom polling-interval option made for Homewizard Legacy unit (default 20s, when adjusted restart app to active it)

To adjust setting check the main unit advanced settings

  • Energy sockets with poor wifi connection will have 3 attempts now

  • Fallback url for P1 mode SDM230 / SDM630

v3.6.75

  • Thermometer (Homewizard Legacy) - full code refractoring

  • Homewizard Legacy doesnt support keep-alive, changed back to normal fetch / retry

  • Finetune code keepAlive for other devices 10s

  • Bugfix: number_of_phases setting incorrectly updated

  • Added verbose mDNS discovery results for troubleshooting

v3.6.73

  • More try/catch code to avoid any crashes on Homewizard Legacy main unit getStatus fail (Device not found)

  • Fine tune “estimated kwh” plugin battery calculation based on user feedback

  • Code fixes: unhandledRejections CloudOn/Off for sockets and P1

v3.6.71

  • Finetuning polling and capability during init phase of various drivers

  • Added more logging to support diagnostic reports

  • Bugfix SDM230 solar parameter was undefined

  • Added an estimate charge available in plugin battery value

  • Extra code checking for Homewizard Legacy (getStatus function) when there is a connection failure/device not found

v3.6.67

  • Enforcing interval clears on various devices when interval is reset

  • try_authorize handler bugfix (interval / timeout) app crash logs

v3.6.66

  • Fall back url setting upon initial poll for P1, sockets, kwh’s, watermeter. (older Homey Pro;s 2016/2019 seems to struggle with mDNS updates)

  • Removed retry code for Homewizard legacy devices (changed to keeping http agent session open / keepAlive)

  • Battery Group data removed from P1 after a fetch fail (bugfix)

  • Increased timeouts (authorize / pairing APIv2)

  • Language adjustment P1 warning (overload EN/NL)

NOTE: First time running this version will fail as the url setting is empty so it should improve onwards.

v3.6.63

  • SDM230 (p1 mode added)

  • P1apiv2 - added daily usage kwh (resets at nightime) (does not cater for directly consumed solar-used energy as this does not pass the smart meter at all)

  • Adjustment for P1 to look at Amp datapoints to detect 3-Phased devices in Norway

  • HTTP - keepalive agent added to P1, sockets, APIv2 devices

  • KeepAlive timeout increased from default 1000ms

  • AbortController code added for APiv2

  • Wifi quality capability added (-48dBm is not always clear to users if it is good or bad)

  • Bugfix: P1, missed setAvailable(). Code didn’t recover from a failed P1 connection and kept P1 offline

v3.6.58

  • Bugfix that was caused by experimental firmware Homey 12.5.2RC3 and slider capability that could not be removed

  • Added energy flags for sockets so they can trace imported/exported energy in Homey Energy Dashboard (Home Batteries connected via sockets)

  • Code cleanup

  • Added some fine tuning to spread the API call’s to the P1

v3.6.50

  • Added phase monitoring

  • Adjust settings to align with your energy grid

  • Bugfix for sliders when gridconnection has 3 phases

  • Actual gas meter measurement added (5min poll pending on smartmeter)

  • P1apiv1 - Code refactored (clean up repetive lines)

  • Extra plugin battery trigger cards (state change, time to full, time to empty)

  • Removed sliders in GUI to show grid load per phases

v3.6.40

  • Cloud connection setting made available for P1, Sockets, Watermeter, SDM230, SDM630

  • Bugfix Offset watermeter (Cannot read properties of undefined - reading ‘offset_water’)

v3.6.38

  • P1(apiv2) gas meter bugfixes

  • P1(apiv2) aggregated total usage added (support for PowerByTheHour app)

  • Custom polling for Watermeter, SDM230, SDM630 and SDM630-p1 mode, Default 10s, adjust in advanced settings

  • Action cards plugin battery - P1apiv2 device is required (P1 firmware version 6.0201 or higher)

  • Wifi metric (dBm) added for P1(apiv2) and Plugin Battery

  • Custom Polling interval added for Plugin Battery

  • Daily usage imported power and gas (P1apiv1) - User request

  • Plugin Battery: added time_to_empty and time_to_full (minutes)

  • Trigger for battery mode change

v3.6.6

  • Homey Energy - Polling interval for all Energy devices (P1, kwh etc.) lowered to 1s (was 10s)

  • Reverted interval back 10s as this has an increased load on some wifi networks and (older) homeys (Early2019)

v3.6.2

  • Massive code rework (credits to DCSBL for time and effort)

  • Homey Energy dashhboard: Energylink meter_gas capability added

  • Text fix in Plugin Battery driver

  • APIv2 timer timeout problem

v3.5.5

  • Recode P1 APIv2, improved pairing process (DCSBL)

  • Pairing process P1 and Plugin Battery aligned

  • Plugin in Battery pairing text fix

v3.5.2

  • SDM630 clone added to allow P1 like use of kwh meter as a replacement for P1 dongle (users request)

v3.5.1

  • Conversion to homey-compose (DCSBL)

  • Socket identification with LED blink (DCSBL)

1 Like

The power sensor from homewizard adds up to the total usage in homey energy. But the watcher should be the overall power usage. And all the other devices a slice of that. Now I have more usage then the watcher says.

For example

650 should be the bottom value. (Total usage)

I don’t even see Energie (HomeWizard)

Hi all, Homewizard app is not compatible yet with Homey 3.0. It was just released (final) and I have it installed today myself so I can start development/update on the Homewizard app to make it work properly with Homey 3.0.

Thanks for the quick reply! If you need any info let me know. I will wait until the next release

Thanks!

Beta release (pending) Energylink is now detected as overall measure (Smart Meter/Slimme Meter).
To use this you have to pair your Energylink again.

:+1:

Ok beta version is approved so you guys can play with it.

Thanks! The p1 energy is added to the energy measured in the zones so the total energy is not correct.

Please explain. Don’t understand.

After I log out and in (app) everything looks fine.

Ok

After a wile the Engerylink values won’t update anymore. Resetting the app does not resolve the problem.

That problem is related to your Homewizard wifi connectivity. I have no problems with the beta app myself (still running and getting Energylink data). Another one could be Homewizard and Energylink distance. Not sure how your units are placed and configured but it sounds like you have to check it first.

Mmm strange, never noticed that problem before…

I noticed the same thing (before the beta version), but like Jeroen said it’s a Homewizard issue.
What i did , i connect Homewizard to a KAKU switch and connect the switch to Homey.
At 00:05 Homey checks with Energylink if the values are not greater then 1kwh.
If they are greater Homey switch the KAKU off and after 30 sec on , to reset Homewizard.
And the problem is fixed :grinning:

Yes correct. Another problem what could cause this is if you have other integrations (domoticz or HASS etc) talking to your Homewizard unit. The Homewizard unit gets overloaded (high cpu or open connections) which eventually make the Homewizard unresponsive for a while. Not sure if you have other http gets getting data from Homewizard?

No I only use HomeWizard with Energylink at the moment. Maybe I’am switching tot Youless in the near future so I can switch off Homewizard. But for now I’am happy with your app and investigate the connection with Homey as you mention.