Here's the Current states for my two Hubs, as seen from Server/'coordinator':
One shows a savings of about 66% the other is 85% savings.
As previously discussed, Event Socket is "free" to the Sending hub. It's part of the platform and you either listen to it or not. Up until recently HubConnect would listen to Event Socket but would send via http. V1.5 added bidirectional Event Socket. The ideas behind HubConnect Server (proxy) existed in Steve's mind before he went Camping last summer. By moving the filtering off the hubs, you gain benefits of both Event Socket and http (oAuth). Hubs send (for "free") all events to the proxy/Server and it does the filtering that http would have done on the Hub.
With http (oAuth) each Hub pays the price of filtering on sending.
With Event Socket each Hub pays the price of filtering on receiving.
With Server (proxy) no Hub pays the price of filtering, since filtering is done on the proxy.
The "cost" of Server (proxy) is setting it up. It needs an always on computer. Mine runs on a Mac Mini along side Homebridge, although initially I ran it on a Raspberry Pi. While not difficult, getting the config.json is subject to all the hurdles any json has for human typists.
{
"hubs":
[
{
"name": "Server Hub",
"ip": "192.168.7.64",
"port": 22000
},
{
"name": "ZeeRadioLower",
"ip": "192.168.7.66",
"port": 22001
},
{
"name": "ZeeRadioUpper",
"ip": "192.168.7.68",
"port": 22002
},
{
"name": "ZeeFourth",
"ip": "192.168.7.65",
"port": 22004
},
{
"name": "ZeeFifth",
"ip": "192.168.7.63",
"port": 22005
}
]
}
As I've mentioned elsewhere, I have 5 hubs split into 2 sets. A Production set of 3, and a Development set of 2. All 5 feed into one instance of Server (proxy) and the logs are certainly fun to watch.
10:13:24 AM Server Hub --> ZeeRadioLower SENDING: [deviceId: 88, displayName: MultiSenZigbT (garage), name: temperature, value: 63.97]
10:13:26 AM ZeeRadioUpper --> Server Hub SENDING: [deviceId: 759, displayName: Multisensor6H (masterBath sink), name: lastUpdate, value: 01-Jan-2020 10:13 AM]
10:13:30 AM ZeeFourth --> ZeeFifth SYSTEM COMMAND: [name: appHealth, value: 1577902411098]
10:13:33 AM ZeeRadioUpper --> Server Hub SENDING: [deviceId: 759, displayName: Multisensor6H (masterBath sink), name: illuminance, value: 308]
10:13:37 AM ZeeRadioLower --> Server Hub SYSTEM COMMAND: [name: appHealth, value: 1577902417397]
10:13:44 AM ZeeRadioUpper --> Server Hub SYSTEM COMMAND: [name: appHealth, value: 1577902419051]
10:13:49 AM ZeeRadioLower --> Server Hub SENDING: [deviceId: 693, displayName: LaundryRoomWasher, name: voltage, value: 123.877]
10:14:21 AM ZeeRadioLower --> Server Hub SENDING: [deviceId: 588, displayName: MultiSensor6I (kitchen), name: motion, value: active]
10:14:25 AM ZeeRadioUpper --> Server Hub SENDING: [deviceId: 749, displayName: MultiSensor6E (upperBath), name: lastUpdate, value: 01-Jan-2020 10:14 AM]
10:14:25 AM ZeeRadioUpper --> Server Hub SENDING: [deviceId: 749, displayName: MultiSensor6E (upperBath), name: temperature, value: 72.0]
10:14:25 AM ZeeRadioUpper --> Server Hub SENDING: [deviceId: 749, displayName: MultiSensor6E (upperBath), name: humidity, value: 44]
10:14:29 AM ZeeRadioLower --> Server Hub SENDING: [deviceId: 693, displayName: LaundryRoomWasher, name: energyDuration, value: 222.58 Days]
10:14:30 AM ZeeFourth --> ZeeFifth SYSTEM COMMAND: [name: appHealth, value: 1577902471135]