[APP][Pro][NL] Homewizard πŸ§™β€β™‚οΈ

kw uur meter geeft aan dat er geen updates zijn: HWE-KWH1 versie 5.0011

Dan gaat er met multicast / mDNS iets niet goed.

Geen idee waar dat dan aan ligt. Misschien helpt het dat ik ook een homewizard batterij in mijn netwerk heb staan die wel goed op api v2 draait.

Nee die firmware heeft APIv2. Dan zou het meer een accesspoint of wifi config probleem zijn. Check eerste bericht in dit topic voor tips.

Bedankt, ik ga hiermee verder op onderzoek.

1 Like

Goedemorgen, sinds een paar dagen komt het actuele waterverbruik niet meer door in Homey. Het totale verbruik en de sterkte van het Wifi-signaal vreemd genoeg wel.

Stuur even een diagnose rapport dan kijk ik mee. Bij mij werkt het gewoon.

Zojuist gedaan

En toch zit er iets niet lekker met wifi. Homey krijgt geen reactie van je watermeter. Dus of je Homey of je watermeter ervaren wifi problemen.

2025-11-14T21:17:23.836Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: connect EHOSTUNREACH 192.168.2.20:80
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH'
}
2025-11-14T21:17:33.853Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: connect EHOSTUNREACH 192.168.2.20:80
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH'
}
2025-11-14T21:17:43.901Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: connect EHOSTUNREACH 192.168.2.20:80
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH'
}
2025-11-14T21:17:53.884Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: connect EHOSTUNREACH 192.168.2.20:80
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH'
}
2025-11-14T21:18:04.001Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: read ECONNRESET
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'ECONNRESET',
  code: 'ECONNRESET'
}
2025-11-14T21:18:36.769Z [err] [ManagerDrivers] [Driver:watermeter] [Device:4703742c-82b2-441f-b311-d6c48147b346] FetchError: request to http://192.168.2.20/api/v1/data failed, reason: read ECONNRESET
    at ClientRequest. (/app/node_modules/node-fetch/lib/index.js:1501:11)
    at ClientRequest.emit (node:events:517:28)
    at Socket.socketErrorListener (node:_http_client:501:9)
    at Socket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  type: 'system',
  errno: 'ECONNRESET',
  code: 'ECONNRESET'
}

Wifi watermeter geeft 70% in Homewizard. Waar vind ik die van Homey?

In je wifi router / accesspoint(s).

Ook voor Homey geen vreemde waarden…herstart access points gaf ook geen verbetering. Nogmaals stroomloos maken van de watermeter daarna wel. Dit had eerder echter slechts kortdurend effect. Hopelijk in combinatie met de herstart van de access points nu langduriger. Blijf het wel vreemd vinden dat alle andere waarden en ook het identificeren van de watermeter via Homey wel werkte.

Tja ik begrijp dat het niet logisch is maar wifi blijft een zwakke schakel.
Kan er weinig aan veranderen.

Goede morgen! Ik woon in een appartementsblok. Onze meters zijn in de kelder/garage en daardoor is mijn P1 meter verbonden met een ander WIFI netwerk dan bij mij thuis. Er is daardoor geen manier om de P1 meter uit te lezen via Homey?

Nee helaas. Dit geheel werkt via mDNS en niet via Port forwarding oid.

Ik wil van een energy socket graag weten wat de kosten per uur zijn. Echter kan ik niet zien wat een socket afgelopen uur heeft geregistreerd? Of zie ik dat verkeerd?

Het moet uiteinderlijk zoiets worden:

Je hebt hier Power by the Hour app voor nodig.

Zeer spijtig!

Misschien is het mogelijk om een app te maken die op basis van de cloud werkt. HomeWizard heeft er een web portal voor

Het ziet er best makkelijk uit: app authenticeert met gebruikersnaam en wachtwoord, en daarna opent websocket naar wss://tsdb-reader.homewizard.com/devices/date/now

Stuurt een bericht met de session token en daarna stuurt HomeWizard de gegevens bijna realtime door.

Dit werkt alleen voor realtime stroomverbruik, maar je kan de historische data natuurlijk ook bekijken via Insights

1 Like

Ik heb naar de web app gekeken en die is best moeilijk om te gebruiken hiervoor, omdat deze erg specifiek voor de browser is gemaakt.

Toen ik de Android-app onderzocht, blijkt het dat deze dezelfde API gebruikt voor inloggen als de HomeWizard Link app die ik eerder heb gemaakt. Het verschil is dat de app na het inloggen een andere API gebruikt die specifiek gemaakt is voor de HomeWizard Energy-app.

Ik heb ook nog wat gevonden in de berichten die werden gestuurd door de Android-app:

{
  "type": "p1dongle",
  "device": "p1dongle/<redacted, MAC-adres van de P1-dongle>",
  "online": true,
  "external_info": "<redacted, serienummer van de energiemeter>",
  "hardware_version": "1.00",
  "model": "HWE-P1-G1",
  "update": {
    "status": "idle",
    "version": null,
    "error": null
  },
  "version": "6.0206",
  "wifi_ssid": "Thunderwolf IoT",
  "wifi_strength": 64,
  "name": "P1 Meter",
  "ip_address": "192.168.107.140",
  "state": {
    "features": [
      "energymeter_detected",
      "voltage_detected",
      "gas_meter_detected",
      "data_topic",
      "api_users"
    ],
    "current_active_tariff": 2,
    "total_power_import_t1_kwh": 4220.706,
    "total_power_import_t2_kwh": 4706.521,
    "total_power_import_t3_kwh": null,
    "total_power_import_t4_kwh": null,
    "total_power_export_t1_kwh": 0,
    "total_power_export_t2_kwh": 0,
    "total_power_export_t3_kwh": null,
    "total_power_export_t4_kwh": null,
    "active_power_w": 430,
    "active_power_l1_w": 418,
    "active_power_l2_w": null,
    "active_power_l3_w": null,
    "active_voltage_v": null,
    "active_voltage_l1_v": 226,
    "active_voltage_l2_v": null,
    "active_voltage_l3_v": null,
    "active_current_a": 1.85,
    "active_current_l1_a": 1.85,
    "active_current_l2_a": null,
    "active_current_l3_a": null,
    "active_power_average_w": null,
    "monthly_power_peak_w": null,
    "monthly_power_peak_timestamp": null,
    "voltage_sag_l1_count": 3,
    "voltage_sag_l2_count": null,
    "voltage_sag_l3_count": null,
    "voltage_swell_l1_count": 4,
    "voltage_swell_l2_count": null,
    "voltage_swell_l3_count": null,
    "total_gas_m3": 1323.443,
    "gas_timestamp": <redacted, ik weet niet wat dit is (geen Unix timestamp)>,
    "any_power_fail_count": 14,
    "long_power_fail_count": 3,
    "counter": 620133,
    "send_interval": 40,
    "data_send_interval_m": 1,
    "data_aux_throttle": 30,
    "cloud_disabled": false,
    "measurement_id": 0,
    "enc_key": null,
    "enc_aad": null,
    "enc_key_state": "no_key",
    "enc_aad_state": "unknown_aad",
    "telegram_state": "normal",
    "support_controls": null,
    "power_state": "p1_powered",
    "enable_local_api": true,
    "local_api_users": [],
    "external_info": "<redacted, serienummer van de energiemeter>",
    "timezone": "Standard UTC-0",
    "led_brightness": 255,
    "power_import_calc": false,
    "automatic_uart": true,
    "baudrate": 115200,
    "data_bits": "8_bits",
    "parity": "parity_disable",
    "stop_bits": "1_bit",
    "flow_control": "flowctrl_disable",
    "ems_power_budget_average_size": 3,
    "ems_battery_group_mode": "zero",
    "ems_battery_group_mode_reason": null,
    "ems_max_consumption_w": 800,
    "ems_max_production_w": 800,
    "ems_active_power_w": 0,
    "ems_production_safety_restriction": "enabled",
    "ems_fuse_configuration": "0x0"
  }
}

Dit zijn de gegevens van de P1 dongle die de Android app op de achtergrond ontvangt naar de server (natuurlijk heb ik mijn persoonlijke gegevens verwijderd), maar dit is veel meer data dan de Android app laat zien. Daardoor zou het mogelijk moeten zijn om dezelfde data als van de lokale API ook vanaf de cloud op te kunnen halen. Misschien een extra driver in de app (naast de bestaande p1 en p1 apiv2)