dustindclark / homebridge-rinnai-controlr

Rinnai Control-R interface for homebridge
Apache License 2.0
12 stars 7 forks source link

Recirculation button does not work. #18

Closed dcompane closed 1 year ago

dcompane commented 1 year ago

Describe Your Problem:

The recirculation button does not work. Notice the "device null" in the last log line. Looks different the other logs posted. Is it a bug or just a misconfiguration?

Logs:

[4/22/2023, 9:03:13 PM] [homebridge-rinnai-controlr] Launched child bridge with PID 2335128
[4/22/2023, 9:03:14 PM] Registering platform 'homebridge-rinnai-controlr.RinnaiControlR'
[4/22/2023, 9:03:14 PM] [homebridge-rinnai-controlr] Loaded homebridge-rinnai-controlr v1.0.25 child bridge successfully
[4/22/2023, 9:03:14 PM] Loaded 1 cached accessories from cachedAccessories.0E53C1734C3B.
[4/22/2023, 9:03:15 PM] [homebridge-rinnai-controlr] Temperature units set to F. All values from config and from Rinnai will be converted to C.
[4/22/2023, 9:03:15 PM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-rinnai-controlr) is running on port 40228.
[4/22/2023, 9:05:41 PM] [homebridge-rinnai-controlr] setRecirculateActive to true for device null

Plugin Config:

{
            "username": "myemail@gmail.com",
            "password": "***********",
            "recirculationDuration": 15,
            "temperatureUnits": "F",
            "minimumTemperature": 120,
            "maximumTemperature": 140,
            "_bridge": {
                "username": "0E:53:C1:73:4C:3B",
                "port": 40228
            },
            "platform": "RinnaiControlR"
        }

Screenshots:

Environment:

dustindclark commented 1 year ago

Check the startup logs. There was likely a failure to discover your water heater.DustinSent from my iPhoneOn Apr 22, 2023, at 11:19 PM, Daniel Companeetz @.***> wrote:

Describe Your Problem:

The recirculation button does not work. Notice the "device null" in the last log line. Looks different the other logs posted. Is it a bug or just a misconfiguration? Logs: [4/22/2023, 9:03:13 PM] [homebridge-rinnai-controlr] Launched child bridge with PID 2335128 [4/22/2023, 9:03:14 PM] Registering platform 'homebridge-rinnai-controlr.RinnaiControlR' [4/22/2023, 9:03:14 PM] [homebridge-rinnai-controlr] Loaded homebridge-rinnai-controlr v1.0.25 child bridge successfully [4/22/2023, 9:03:14 PM] Loaded 1 cached accessories from cachedAccessories.0E53C1734C3B. [4/22/2023, 9:03:15 PM] [homebridge-rinnai-controlr] Temperature units set to F. All values from config and from Rinnai will be converted to C. [4/22/2023, 9:03:15 PM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-rinnai-controlr) is running on port 40228. [4/22/2023, 9:05:41 PM] [homebridge-rinnai-controlr] setRecirculateActive to true for device null

Plugin Config: { "username": @.*", "password": "*****", "recirculationDuration": 15, "temperatureUnits": "F", "minimumTemperature": 120, "maximumTemperature": 140, "_bridge": { "username": "0E:53:C1:73:4C:3B", "port": 40228 }, "platform": "RinnaiControlR" } Screenshots:

Environment:

Plugin Version: homebridge-rinnai-controlr v1.0.25 Homebridge Version: 1.6.0* Node.js Version: v18.16.0 NPM Version: 9.5.1 Operating System: Linux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux

hb-service v4.50.2

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

dcompane commented 1 year ago

Thanks Dustin!

I found this after deleting the cachedAccesories

homebridge.log |grep -i rinnai

[4/23/2023, 10:49:32 AM] Loaded plugin: homebridge-rinnai-controlr@1.0.25
[4/23/2023, 10:49:32 AM] Registering platform 'homebridge-rinnai-controlr.RinnaiControlR'
[4/23/2023, 10:49:32 AM] [RinnaiControlR] Initializing RinnaiControlR platform...
[4/23/2023, 10:49:32 AM] [RinnaiControlR] Initializing child bridge 0E:53:C1:73:4C:3B
[4/23/2023, 10:49:36 AM] [homebridge-rinnai-controlr] Launched child bridge with PID 2390130
[4/23/2023, 10:49:40 AM] Registering platform 'homebridge-rinnai-controlr.RinnaiControlR'
[4/23/2023, 10:49:40 AM] [homebridge-rinnai-controlr] Loaded homebridge-rinnai-controlr v1.0.25 child bridge successfully
[4/23/2023, 10:49:40 AM] [homebridge-rinnai-controlr] Temperature units set to F. All values from config and from Rinnai will be converted to C.
[4/23/2023, 10:49:41 AM] Homebridge v1.6.0 (HAP v0.11.0) (homebridge-rinnai-controlr) is running on port 40228.

when trying the recirculation, the following showed as before

[4/23/2023, 10:52:24 AM] [homebridge-rinnai-controlr] setRecirculateActive to true for device null

and this without proper logging time during the startup interval. (see middle line: likely not from the module itself, right?)

[4/23/2023, 10:49:43 AM] [homebridge-ring]   locationId: LOCATION HOME
[ThanklessHitter@@Target Temperature] characteristic was supplied illegal value: number 9.888888888888886 exceeded minimum of 48.888888888888886**
[4/23/2023, 10:49:44 AM] [homebridge-ring] Configuring 1 cameras and 3 devices for location 

Tried to trace some of this on the code, but I am not well versed in JS, but willing to give it a shot if you point in some direction!

dcompane commented 1 year ago

In case it matters (although I do not know how it would) the device is an RSC199eN.

sfguyfor20 commented 1 year ago

Hello, my understanding based on speaking with Rinnai in the last week is that recirculation is disabled out of the box... and needs to be enabled.. I just installed a RSC199iN and had to enable it...

dcompane commented 1 year ago

Thanks! The recirculating works perfectly via the Rinnai App. But maybe there is some change on the API? Are they published somewhere? I can try with Postman and see if I get the same result.

guillochon commented 1 year ago

I too am getting this same issue after updating a few things recently (including the rinnai homebridge plug-in, but also updated my HomePod and node). Unclear which of the updates broke it, but I see the same device null issue.

guillochon commented 1 year ago

I have some interesting info that maybe can help get to the bottom of this. I looked at my accessories cache and noticed that there were two heaters, one of which has much less info attached than the other:

{
    {'aid': 112, 'iid': 8, 'uuid': '0000004A-0000-1000-8000-0026BB765291', 'type': 'Thermostat', 'humanType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'serviceCharacteristics': [
            {'aid': 112, 'iid': 9, 'uuid': '0000000F-0000-1000-8000-0026BB765291', 'type': 'CurrentHeatingCoolingState', 'serviceType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'description': 'Current Heating Cooling State', 'value': 1, 'format': 'uint8', 'perms': ['ev', 'pr'
                ], 'maxValue': 2, 'minValue': 0, 'minStep': 1, 'canRead': True, 'canWrite': False, 'ev': True
            },
            {'aid': 112, 'iid': 10, 'uuid': '00000033-0000-1000-8000-0026BB765291', 'type': 'TargetHeatingCoolingState', 'serviceType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'description': 'Target Heating Cooling State', 'value': 1, 'format': 'uint8', 'perms': ['ev', 'pr', 'pw'
                ], 'maxValue': 1, 'minValue': 1, 'minStep': 1, 'canRead': True, 'canWrite': True, 'ev': True
            },
            {'aid': 112, 'iid': 13, 'uuid': '00000036-0000-1000-8000-0026BB765291', 'type': 'TemperatureDisplayUnits', 'serviceType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'description': 'Temperature Display Units', 'value': 1, 'format': 'uint8', 'perms': ['ev', 'pr', 'pw'
                ], 'maxValue': 1, 'minValue': 0, 'minStep': 1, 'canRead': True, 'canWrite': True, 'ev': True
            },
            {'aid': 112, 'iid': 11, 'uuid': '00000011-0000-1000-8000-0026BB765291', 'type': 'CurrentTemperature', 'serviceType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'description': 'Current Temperature', 'value': 48.8889, 'format': 'float', 'perms': ['ev', 'pr'
                ], 'unit': 'celsius', 'maxValue': 60, 'minValue': 48.888888888888886, 'minStep': 0.5, 'canRead': True, 'canWrite': False, 'ev': True
            },
            {'aid': 112, 'iid': 12, 'uuid': '00000035-0000-1000-8000-0026BB765291', 'type': 'TargetTemperature', 'serviceType': 'Thermostat', 'serviceName': 'Outside Water Heater', 'description': 'Target Temperature', 'value': 48.8889, 'format': 'float', 'perms': ['ev', 'pr', 'pw'
                ], 'unit': 'celsius', 'maxValue': 60, 'minValue': 48.888888888888886, 'minStep': 0.5, 'canRead': True, 'canWrite': True, 'ev': True
            }
        ], 'accessoryInformation': {'Manufacturer': 'Rinnai', 'Model': 'Unknown', 'Name': 'Outside Water Heater', 'Serial Number': 'Unknown', 'Firmware Revision': '1.0.25'
        }, 'values': {'CurrentHeatingCoolingState': 1, 'TargetHeatingCoolingState': 1, 'TemperatureDisplayUnits': 1, 'CurrentTemperature': 48.8889, 'TargetTemperature': 48.8889
        }, 'instance': {'name': 'homebridge', 'username': '0E: 36:EB:E3: 47: 3C', 'ipAddress': '192.168.86.80', 'port': 51933, 'services': [], 'connectionFailedCount': 0
        }, 'uniqueId': '0c51e0324ba4322a0c07a24ac4fe8687025bfc9c00a2454fb6de4b323fcbd063'
    },
    {'aid': 112, 'iid': 15, 'uuid': '00000049-0000-1000-8000-0026BB765291', 'type': 'Switch', 'humanType': 'Switch', 'serviceName': 'Recirculation', 'serviceCharacteristics': [
            {'aid': 112, 'iid': 17, 'uuid': '00000025-0000-1000-8000-0026BB765291', 'type': 'On', 'serviceType': 'Switch', 'serviceName': 'Recirculation', 'description': 'On', 'value': 0, 'format': 'bool', 'perms': ['ev', 'pr', 'pw'
                ], 'canRead': True, 'canWrite': True, 'ev': True
            }
        ], 'accessoryInformation': {'Manufacturer': 'Rinnai', 'Model': 'Unknown', 'Name': 'Outside Water Heater', 'Serial Number': 'Unknown', 'Firmware Revision': '1.0.25'
        }, 'values': {'On': 0
        }, 'instance': {'name': 'homebridge', 'username': '0E: 36:EB:E3: 47: 3C', 'ipAddress': '192.168.86.80', 'port': 51933, 'services': [], 'connectionFailedCount': 0
        }, 'uniqueId': '6093e8f8d4885f756344b56e174b176574db0bdcec623f3ac08ea39c314f02fd'
    }
}

I went ahead and deleted the entry with less info (the second one above), restarted my Homebridge, but unfortunately it's still not working when I trigger it. But this feels like a clue as to what's going on? @dustindclark

guillochon commented 1 year ago

I'm dumb, I realize that the two entries are two different services. I reverted the change and restarted, I see three copies of the water heater in the accessory cache page, which is weird...

image image

guillochon commented 1 year ago

@dcompane Looks like node 18 might be the culprit, I downgraded to node 17.9.1 and the recirculation switch is working for me once again!

dcompane commented 1 year ago

Thanks! I will try, but maybe we need to upgrade this from question to bug? Node 17 is not LTS, right?

dcompane commented 1 year ago

So... went to 17, and 16, and nothing changed. Back to 18.20, but saw there was an option to rebuild the modules after the node upgrade. It seems to work now, but it still getting the device null. I will look more into this on the weekend. Ideas welcome.

guillochon commented 1 year ago

I also still see the device name is "null" but still somehow works...

You might be right that rebuilding the modules might be all it takes though? Not sure why that would be...

dustindclark commented 1 year ago

Closing as a duplicate of #16 for now. Please re-open if you think this issue is unrelated. Will continue the discussion there.