wimleers / homebridge-sma-home-manager

SMA Home Manager & Inverter plug-in for Homebridge
GNU General Public License v2.0
9 stars 2 forks source link

[Support] Installation seems good, but no accessories appears when not using Apple Home but node-red-contrib-homebridge-automation #18

Open grrolland opened 9 months ago

grrolland commented 9 months ago

Installation seems good, but no accessories

I perform the plugin installation, configure Modbus exposition on the inverter, logs seems good but no accessories appear in the UI.

Paste of Logs:

[10/7/2023, 8:22:21 PM] [homebridge-sma-home-manager] Launched child bridge with PID 31603
[10/7/2023, 8:22:21 PM] Registering platform 'homebridge-sma-home-manager.SMAHomeManager'
[10/7/2023, 8:22:21 PM] [homebridge-sma-home-manager] Loaded homebridge-sma-home-manager v1.1.8 child bridge successfully
[10/7/2023, 8:22:21 PM] Loaded 0 cached accessories from cachedAccessories.0E498163E87C.
[10/7/2023, 8:22:21 PM] [homebridge-sma-home-manager] Found inverter SMA3008926192 at SMA3008926192.local with IPv4 address 10.0.4.54.
[10/7/2023, 8:22:22 PM] [homebridge-sma-home-manager] Discovered SMA inverter: no
[10/7/2023, 8:22:22 PM] [homebridge-sma-home-manager] Discovered SMA energy manager: { Model: 349, SerialNumber: 1901470014, FirmwareRevision: '2.2.2.R' }
[10/7/2023, 8:22:23 PM] [homebridge-sma-home-manager] Discovered SMA inverter: {
  DeviceClass: 'solar inverter',
  DeviceType: 9405,
  SerialNumber: 3008926192,
  FirmwareRevision: 'unknown'
}
[10/7/2023, 8:22:23 PM] [homebridge-sma-home-manager] Discovered SMA energy manager: { Model: 349, SerialNumber: 1901470014, FirmwareRevision: '2.2.2.R' }
[10/7/2023, 8:22:23 PM] Initializing platform accessory 'Live power flow'...
[10/7/2023, 8:22:23 PM] Initializing platform accessory 'Recent power flow'...
[10/7/2023, 8:22:23 PM] Initializing platform accessory 'Today's energy flow'...
[10/7/2023, 8:22:23 PM] Initializing platform accessory 'Off Grid energy signal'...
[10/7/2023, 8:22:23 PM] Initializing platform accessory 'No Sun energy signal'...
[10/7/2023, 8:22:23 PM] Homebridge v1.6.1 (HAP v0.11.1) (homebridge-sma-home-manager) is running on port 44037.

Config:

{
    "signals": {
        "offGrid": true,
        "noSun": true,
        "highImport": false
    },
    "platform": "SMAHomeManager",
    "_bridge": {
        "username": "0E:49:81:63:E8:7C",
        "port": 44037
    }
}

Inverter:

Homebridge Environment:

wimleers commented 9 months ago

Did you also already connect the child bridge to your HomeKit home? 😊 Specifically, did you scan the child bridge's QR code? See https://github.com/homebridge/homebridge/wiki/Child-Bridges#homebridge-ui-integration.

grrolland commented 9 months ago

Thanks for your answer.

I don't have Homekit (nor apple devices). I connect homebridge with node-red and node-red-contrib-homebridge-automation

I try to configure sma plugin in the parent bridge (uncheked the child bridge box) with same result => no accessories appear nor in node-red nor in homebridge.

wimleers commented 9 months ago

What about other Homebridge plugins? Do their accessories appear?

This is a highly unusual setup, so good luck figuring this out πŸ‘

grrolland commented 9 months ago

Others plugins show accessories.

I try a different installation with the latest homebridge docker image, here is the conf :

{
    "bridge": {
        "name": "Homebridge FEB1",
        "username": "0E:48:E5:73:FE:B1",
        "port": 51738,
        "pin": "280-69-275",
        "advertiser": "bonjour-hap"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "signals": {
                "offGrid": true,
                "noSun": true,
                "highImport": false
            },
            "platform": "SMAHomeManager"
        }
    ]
}

This is the same behaviour.

I turn the log in DEBUG mode. This is an extract :

[10/10/2023, 9:31:00 AM] Loaded plugin: homebridge-sma-home-manager@1.1.8
[10/10/2023, 9:31:00 AM] Registering platform 'homebridge-sma-home-manager.SMAHomeManager'
[10/10/2023, 9:31:00 AM] ---
[10/10/2023, 9:31:00 AM] Loading 2 platforms...
[10/10/2023, 9:31:00 AM] [SMAHomeManager] Initializing SMAHomeManager platform...
[10/10/2023, 9:31:01 AM] [SMAHomeManager] Finding inverter using mDNS/DNS-SD…
[10/10/2023, 9:31:01 AM] [SMAHomeManager] Found inverter DNS-SD service: {
  addresses: [ 'fe80::240:adff:febf:138', '10.0.4.54' ],
  subtypes: [],
  rawTxt: [ <Buffer > ],
  txt: {},
  name: 'Website for SMA-Inverter: SMA3008926192',
  fqdn: 'Website for SMA-Inverter: SMA3008926192._http._tcp.local',
  host: 'SMA3008926192.local',
  referer: { address: '10.0.4.54', family: 'IPv4', port: 5353, size: 173 },
  port: 443,
  type: 'http',
  protocol: 'tcp'
}
[10/10/2023, 9:31:01 AM] [SMAHomeManager] Found inverter SMA3008926192 at SMA3008926192.local with IPv4 address 10.0.4.54.
[10/10/2023, 9:31:01 AM] [SMAHomeManager] Connecting to inverter at 10.0.4.54.
2023-10-10T07:31:01.183Z modbus-serial TCP port: signal connect
[10/10/2023, 9:31:01 AM] [SMAHomeManager] Successfully connected to inverter.
2023-10-10T07:31:02.051Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 75 63 00 04 af f9>,
  buffer: <Buffer 00 01 00 00 00 06 03 03 75 63 00 04>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 1
}
2023-10-10T07:31:02.053Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 75 69 00 02 0f f9>,
  buffer: <Buffer 00 02 00 00 00 06 03 03 75 69 00 02>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 2
}
2023-10-10T07:31:02.055Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 9c 81 00 02 bb 91>,
  buffer: <Buffer 00 03 00 00 00 06 03 03 9c 81 00 02>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 3
}
[10/10/2023, 9:31:02 AM] [SMAHomeManager] Discovered SMA inverter: no
[10/10/2023, 9:31:02 AM] [SMAHomeManager] Discovered SMA energy manager: { Model: 349, SerialNumber: 1901470014, FirmwareRevision: '2.2.2.R' }
2023-10-10T07:31:02.070Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 01 00 00 00 0b 03 03 08 00 00 1f 41 00 00 24 bd>
}
2023-10-10T07:31:02.074Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 08 00 00 1f 41 00 00 24 bd 7b 7e>,
  transactionId: 1
}
2023-10-10T07:31:02.081Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 02 00 00 00 07 03 03 04 b3 58 91 f0>
}
2023-10-10T07:31:02.083Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 04 b3 58 91 f0 13 70>,
  transactionId: 2
}
2023-10-10T07:31:02.086Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 03 00 00 00 07 03 03 04 ff ff ff ff>
}
2023-10-10T07:31:02.089Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 04 ff ff ff ff d8 67>,
  transactionId: 3
}
[10/10/2023, 9:31:03 AM] [SMAHomeManager] Discovered SMA inverter: {
  DeviceClass: 'solar inverter',
  DeviceType: 9405,
  SerialNumber: 3008926192,
  FirmwareRevision: 'unknown'
}
[10/10/2023, 9:31:03 AM] [SMAHomeManager] Discovered SMA energy manager: { Model: 349, SerialNumber: 1901470014, FirmwareRevision: '2.2.2.R' }
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Live power flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Recent power flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Today's energy flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Off Grid energy signal'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'No Sun energy signal'...
[10/10/2023, 9:31:03 AM] Publishing bridge accessory (name: Homebridge FEB1, publishInfo: {
  username: '0E:48:E5:73:FE:B1',
  port: 51738,
  pincode: '***-**-***',
  category: 2,
  bind: undefined,
  mdns: undefined,
  addIdentifyingMaterial: true,
  advertiser: 'bonjour-hap'
}).
2023-10-10T07:31:03.122Z HAP-NodeJS:Advertiser Preparing Advertiser for 'Homebridge FEB1 07D5' using bonjour-hap backend!
Setup Payload:
X-HM://0023XN6HNF3I1
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     
    β”‚ 280-69-275 β”‚     
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     

2023-10-10T07:31:03.138Z HAP-NodeJS:EventedHTTPServer Server listening on [::]:51738
2023-10-10T07:31:03.139Z HAP-NodeJS:Advertiser Starting to advertise 'Homebridge FEB1 07D5' using bonjour-hap backend!
[10/10/2023, 9:31:03 AM] Homebridge v1.6.1 (HAP v0.11.1) (Homebridge FEB1) is running on port 51738.
2023-10-10T07:31:03.261Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 78 37 00 02 6c 87>,
  buffer: <Buffer 00 04 00 00 00 06 03 03 78 37 00 02>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 4
}
2023-10-10T07:31:03.274Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 04 00 00 00 07 03 03 04 00 00 03 60>
}
2023-10-10T07:31:03.276Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 04 00 00 03 60 d9 2b>,
  transactionId: 4
}
2023-10-10T07:31:04.171Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'REQUEST'      (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:231:16)
2023-10-10T07:31:04.174Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'AUTHENTICATED'    (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:234:16)
2023-10-10T07:31:04.177Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'CLOSED'       (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:235:16)
2023-10-10T07:31:04.177Z HAP-NodeJS:EventedHTTPServer [::ffff:10.0.4.29] New connection from client on interface eth0 (::ffff:10.0.4.29)
2023-10-10T07:31:04.180Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Internal HTTP server listening on 127.0.0.1:42598
2023-10-10T07:31:04.193Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Internal HTTP socket connected. HAPConnection now fully set up!
2023-10-10T07:31:04.201Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP request: /accessories
2023-10-10T07:31:04.202Z HAP-NodeJS:HAPServer [0E:48:E5:73:FE:B1] HAP Request: GET /accessories
2023-10-10T07:31:04.252Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP Response is finished
2023-10-10T07:31:04.257Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP connection was closed
2023-10-10T07:31:04.259Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP server was closed
2023-10-10T07:31:04.261Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Client connection closed
2023-10-10T07:31:04.263Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP server was closed
2023-10-10T07:31:04.266Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 78 37 00 02 6c 87>,
  buffer: <Buffer 00 05 00 00 00 06 03 03 78 37 00 02>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 5
}
2023-10-10T07:31:04.271Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'REQUEST'      (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:231:16)
2023-10-10T07:31:04.274Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'AUTHENTICATED'    (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:234:16)
2023-10-10T07:31:04.276Z HAP-NodeJS:EventEmitter [::ffff:10.0.4.29] Registered event 'CLOSED'       (total: 1)          at EventedHTTPServer.onConnection (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/util/eventedhttp.ts:235:16)
2023-10-10T07:31:04.276Z HAP-NodeJS:EventedHTTPServer [::ffff:10.0.4.29] New connection from client on interface eth0 (::ffff:10.0.4.29)
2023-10-10T07:31:04.277Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Internal HTTP server listening on 127.0.0.1:47463
2023-10-10T07:31:04.279Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 05 00 00 00 07 03 03 04 00 00 03 60>
}
2023-10-10T07:31:04.281Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 04 00 00 03 60 d9 2b>,
  transactionId: 5
}
2023-10-10T07:31:04.287Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Internal HTTP socket connected. HAPConnection now fully set up!
2023-10-10T07:31:04.288Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP request: /characteristics
2023-10-10T07:31:04.289Z HAP-NodeJS:HAPServer [0E:48:E5:73:FE:B1] HAP Request: PUT /characteristics
2023-10-10T07:31:04.293Z HAP-NodeJS:Accessory [Homebridge FEB1 07D5] Processing characteristic set: {"characteristics":[{"aid":-1,"iid":-1}]}
2023-10-10T07:31:04.296Z HAP-NodeJS:Accessory [Homebridge FEB1 07D5] Could not find a Characteristic with aid of -1 and iid of -1
2023-10-10T07:31:04.300Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP Response is finished
2023-10-10T07:31:04.302Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP connection was closed
2023-10-10T07:31:04.302Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP server was closed
2023-10-10T07:31:04.303Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] Client connection closed
2023-10-10T07:31:04.304Z HAP-NodeJS:EventedHTTPServer:Connection [::ffff:10.0.4.29] HTTP server was closed
2023-10-10T07:31:05.259Z modbus-serial {
  action: 'send tcp port',
  data: <Buffer 03 03 78 37 00 02 6c 87>,
  buffer: <Buffer 00 06 00 00 00 06 03 03 78 37 00 02>,
  unitid: 3,
  functionCode: 3,
  transactionsId: 6
}
2023-10-10T07:31:05.286Z modbus-serial {
  action: 'receive tcp port strings',
  data: <Buffer 00 06 00 00 00 07 03 03 04 00 00 03 60>
}
2023-10-10T07:31:05.288Z modbus-serial {
  action: 'parsed tcp port',
  buffer: <Buffer 03 03 04 00 00 03 60 d9 2b>,
  transactionId: 6
}

And always no accessories :-( : image

And nothing in node-red ...

image

But with the previous homebridge instance, there are some accessories in node-red : image

wimleers commented 8 months ago

You can see that the accessories were initialized:

[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Live power flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Recent power flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Today's energy flow'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'Off Grid energy signal'...
[10/10/2023, 9:31:03 AM] Initializing platform accessory 'No Sun energy signal'...

⚠️ Note: That is a message from homebridge itself, not my plugin!

Perhaps it's because these accessories are of a custom type, and that's why it doesn't work? These don't work in Apple Home either (you see them but they are labeled "Unsuported").

See https://github.com/wimleers/homebridge-sma-home-manager/blob/1.1.8/index.js#L274-L286 and https://github.com/wimleers/homebridge-sma-home-manager/blob/1.1.8/index.js#L177-L211.

Please create an issue against https://github.com/NorthernMan54/node-red-contrib-homebridge-automation to get help from that side 😊

wimleers commented 8 months ago

A quick search makes me 99% confident that this is the reason.

See https://github.com/NorthernMan54/node-red-contrib-homebridge-automation/blob/77e0343ecc3d3dbb457636d23a8df6b105538a24/lib/Service.js.

It contains:

function _normalizeName(id) {
  switch (id) {
…
    default:
      debug("Missing HB Type", id);
  }

I bet you'll see that in your debug logs for that piece of software πŸ‘