Does this mean that you are pushing directly to the original posters github as soon as new functionality is added / bugs ironed out? So we don't have to check your fork for updates.
Yup.
Yessir, makes it easier to collaborate on changes.
Added a disable override on the pause button that will let you reenable the app until the next time the Enable/Disable switch is turned off. Added trace logging for my own sanity trying to track down bugs. Added temporary logging options for Info and trace as well. IDE logging will override any temporary logging options at the same level or lower than it is set to. The disable switch was actually requested for another app I collaborate on but I was already in the middle of working on this one so went ahead and added it here first.
@napalmcsr / @lewis.heidrick, finally got around to try this app, so installed it via HPM. Added the parent and clicked done, go back in the parent to add a new Bathroom Fan and I get an unexpected error right out of the gate.
Looks like it doesn't know the state of the fanSwitch. Try replacing line 534 with the following. It will keep it from erroring out and I'll take a look after dinner.
Can also comment out the line with // at the beginning of the line.
ifTrace("fanStatus: [FanSwitch?.currentValue(switch) = ${FanSwitch?.currentValue("switch")}]")
Ya I looked at it real fast, what I find weird is that this error comes up before I even have time to configure anything. It pops up as soon as I click in the parent app to create a new child. I don't even see the setup page, did not have time to look more than that (wife want's to watch some TV together).
Np, I'll get it sorted.
Update pushed to repository.
Repair with HPM or overwrite the code in the Bathroom Humidity Fan Child app on your hub.
Found another null error but it's fixed as well.
Seems to work, will set it up tomorrow and do some tests on my side!
Thanks!
Recurring error in my logs...
Logs with error
app:4642020-12-29 11:22:41.174 errorjava.lang.NullPointerException: Cannot invoke method minus() on null object on line 233 (HumidityHandler)
app:4642020-12-29 11:22:41.170 traceBathroom Main: CheckThreshold
app:4642020-12-29 11:22:41.167 debugBathroom Main: HumidityHandler: state.targetHumidity = null
app:4642020-12-29 11:22:41.164 debugBathroom Main: HumidityHandler: state.HumidityChangeRate = null
app:4642020-12-29 11:22:41.161 debugBathroom Main: HumidityHandler: state.HighestHumidity = null
app:4642020-12-29 11:22:41.158 debugBathroom Main: HumidityHandler: state.StartingHumidity = null
app:4642020-12-29 11:22:41.155 debugBathroom Main: HumidityHandler: state.currentHumidityDate = null
app:4642020-12-29 11:22:41.151 debugBathroom Main: HumidityHandler: state.currentHumidity = null
app:4642020-12-29 11:22:41.148 debugBathroom Main: HumidityHandler: state.lastHumidityDate = null
app:4642020-12-29 11:22:41.145 debugBathroom Main: HumidityHandler: state.lastHumidity = null
app:4642020-12-29 11:22:41.142 debugBathroom Main: HumidityHandler: Before
app:4642020-12-29 11:22:41.139 debugBathroom Main: HumidityHandler: state.TurnOffLaterStarted = false
app:4642020-12-29 11:22:41.136 debugBathroom Main: HumidityHandler: state.AutomaticallyTurnedOn = false
app:4642020-12-29 11:22:41.133 debugBathroom Main: HumidityHandler: state.OverThreshold = false
app:4642020-12-29 11:22:41.130 traceBathroom Main: HumidityHandler
EDIT: Added more info after changing log level to "Trace" so you can have a better understanding where the error is coming from.
If you go to the child app in Apps and then click the gear at the top right and then scroll down to Application State, could you take a screenshot of the variables in there? Also, confirm that there is a humidity sensor loaded in the child app.
Line 233 is basically just a comparison between the humidity now to the humidity it was before to come up with a change rate. I can initialize the variable as some bogus value but that would just end up masking some issue you have with the humidity sensor not reporting the humidity.
state.HumidityChangeRate = state.currentHumidity - state.lastHumidity
Here is a screen shot of Application State, what I find weird is that in the debug lines up there, all Humidity related values (update time, value) are all Null ?
Might be the device driver I'm using that causes that, Konke ZigBee Temperature Humidity Sensor Driver
Just pushed out version 1.0.7. Able to reproduce the error now, let me dig into it.
Just pushed out 1.0.9 should fix it now.
ok testing, will let you know
Also, from HPM run a repair on the app.
How's the testing going?
Everything seems good, no more errors, trace looks good, Everything is populating normally in the Application State.
Thanks!
ok I think I found a small bug, the fan turned on automatically via humidity rise as expected, but then after the set amount of time (20 minutes that was set via the the manual switch option) it turned off, logs showed that it was turned off exactly 20 minutes as seen here in both cases we used the shower today...

I don't even have a switch set for manual yet nor did I install the internal fan switch either, reason why I'm using a virtual switch to test.
Here is the log trace for the turn on...
And where it turned off...
Unless I'm missing something, this should not have happened and should have stopped based on humidity or I'm not understanding this option.







