Device Event History Usage

Unfortunately that setting as no effect in HE, this is confirmed by @mike.maxwell if I don't remember incorrectly.

This setting actually hid the event from some display methods, it did not prevent the method from committing to the database.
This has no effect in Hubitat.

2 Likes

ive just used the history! it was no help....
notice my thermostat was set to 21deg when it should have been off as everyone was away.
only rules i have is off when away and 17 when the boiler turns on. but 30 after everyone leaving there is an event setpoint change to 21, but no why....

It is up to the driver to include a descriptionText explaining the event. My drivers don't have anything useful in that part either, I think most drivers don't. Maybe they should...
And the normal logs will be long gone. Unless you send them out of HE somehow?

unless im doing it wrong my driver does, it might show in the event log but not the history

def zwaveEvent(hubitat.zwave.commands.thermostatsetpointv2.ThermostatSetpointReport cmd) {
    if (logEnable) log.debug "ThermostatSetpointReport ${cmd}"
	state.scale = cmd.scale	// So we can respond with same format later, see setHeatingSetpoint()
	state.precision = cmd.precision

	def eventList = []
	def cmdScale = cmd.scale == 1 ? "F" : "C"
	def radiatorTemperature = Double.parseDouble(convertTemperatureIfNeeded(cmd.scaledValue, cmdScale, cmd.precision)).round(1) //reported setpoint
	//def currentTemperature = currentDouble("heatingSetpoint")	//current app setpoint
	//def nextTemperature = currentDouble("nextHeatingSetpoint")	// app next setpoint
	def currentTemperature = device.currentValue("heatingSetpoint").doubleValue()	//current app setpoint
	def nextTemperature = device.currentValue("nextHeatingSetpoint").doubleValue()
    if (logEnable) log.debug "${device.displayName} - setpoint report temps device rep = $radiatorTemperature , next = $nextTemperature"
    def discText = ""
        
	if(radiatorTemperature != currentTemperature){
        if(state.lastSentTemperature == radiatorTemperature) {
			discText = "Temperature changed by app to ${radiatorTemperature}°" + getTemperatureScale() + "."
        	log.info "${device.displayName} - ThermostatSetpointReport - '${discText}'"
        }
		else {
        	discText = "Temperature changed manually to ${radiatorTemperature}°" + getTemperatureScale() + "."
			log.info "${device.displayName} - ThermostatSetpointReport -'${discText}'"
			state.lastSentTemperature = radiatorTemperature
            eventList << createEvent(name:"nextHeatingSetpoint", value: state.lastSentTemperature, unit: getTemperatureScale())
		}
	}
    if (state.productId == "4") { //if device (4) dosent report temp
        eventList << createEvent(name: "temperature", value: radiatorTemperature, , descriptionText: "fake temp" )
        //log.debug "${device.displayName} device type 4 dosent report - temp fake temp"
    }
    if(radiatorTemperature > (quickOffTemperature ?: fromCelsiusToLocal(4))) { //if on
        if (logEnable) log.debug "on heat"
        eventList << createEvent(name: "lastRunningMode",value: "heat")
        eventList << createEvent(name: "thermostatMode", value: "heat" )
        updateDataValue("lastRunningMode", "heat")
    }
    else { // off
        if (logEnable) log.debug "off cool idle"
        eventList << createEvent(name: "thermostatMode", value: "off" )
        eventList << createEvent(name: "thermostatOperatingState", value: "idle")
        updateDataValue("lastRunningMode", "cool")
    }
    eventList << createEvent(name: "heatingSetpoint", value: radiatorTemperature, unit: getTemperatureScale(), descriptionText:discText)
	eventList << createEvent(name: "thermostatSetpoint", value: radiatorTemperature, unit: getTemperatureScale(), descriptionText:discText)
    
	return eventList

This createEvent call doesn't add a descriptionText to the event. There are some more as well, but some of the calls do add a descriptionText. At least you can trace it down to which calls it can be and which it can't.

The device event log is the event log in the device, the "normal" log is the one where log messages go. I might be using the wrong terminology here, but we talk about the same things.

Very strange no one had been home for 1/2hour

@mark.cockcroft Does the device have some built-in fallback changing set temperature? I don't know anything about that device, so wild guesses here...

Nothing for 21. 4 and 20

All of a sudden my hub started slowing down to the point of being unusable and I was having to reboot it daily, but after about 2 weeks of that I turned on my z-wave sniffer and noticed that the power strip was sending 13 reports per second.

I keep my Blink hub connected to the USB port so I unplugged it and plugged it back in and the reports stopped. That also solved my hub slow down issues and I haven't had to reboot it since.

Zooz made a change in either the 2.1 or 2.2 firmware that prevents the device from sending more than one USB report every 30 seconds so you shouldn't have this issue unless you bought it a while ago.

3 Likes

what software are you using, ive download silcon labs pc controller and another package (vague i know), and have had a play but have no idea how to get started monitoring traffic

Yup and that is just one of the devices on my network. All the switches, outlets and other countless devices with power monitoring were sending a lot of messages too. I had to go to all of the properties and start disabling all of them. Its a lot of information being sent on the mesh.

I'm going to have to request the firmware. I got a zstick and I think it can be used to update the firmware. At least I'll get to try that.

The latest firmware also has the ability to disable reporting for each outlet, but since that version isn't in production you'll probably need to use that simple z-wave tool to change those configuration parameters.

If you contact Zooz/The Smartest House and have your purchase information then they'll give you the firmware file.

You can download a free app from Silicon Labs called Z-Wave PC Controller and use it with your z-stick to perform the upgrade.

Unfortunately, adding the z-stick as a secondary controller to Hubitat and upgrading the firmware without excluding the device doesn't work because the device factory resets after the upgrade.

1 Like

There is, it's just not as easy...

1 Like

Hi Folks, another ST user evaluating options to move on to. I realize this post died several months ago, but I have a related question I would appreciate input on and would also like to give input on a couple applications where I want to have (or daresay need to have) a device history capability, both global and individual. First the question: At the beginning of this post Markus stated that event history is capped at 1000 events, but as I look at my device event history I only see a max of 25 displayed. To be clear, I'm referring to the device history that is displayed from the device tile on the dashboard. Is the limit for this display really set at 25 or is there some way for me to increase it?

Most important for me is a global event history, by which a history of events from a selected set of devices is displayed in chronological order. I've implemented this in hubitat with an app which subscribes to the primary events from a set of devices (motion, contact, etc) the user selects. The app creates a virtual device and passes the events to it, after which it's device handler then launches a sendevent using the displayname of the original device. Viewing the event history of the virtual device then gives this global history. A somewhat heavy-handed approach, but it works. It also has the advantage of being able to limit events to those devices of interest and also filter out excessive events like consecutive motion from the same device. While a limit of 25 events may be minimally acceptable for an individual device it really isn't sufficient for this global set. I'd like to find a way to increase this (without resorting to a rolling history log across several virtual devices).

My primary application is for monitoring an elderly parent living alone halfway across the country from me. So on any given day I may get alerts with messages such as: "It's 10am and Mom hasn't opened the fridge for breakfast", "Mom in bathroom for over an hour", or "Mom pressed her bedside panic button" (sometime done inadvertently while making her bed). Obviously the first action with such an alert is to call her, but if she doesn't answer for whatever reason (maybe hearing aids aren't in) I have to decide on next step. Looking over the previous and current global event history is key for this. Does it look like fairly normal activity which I can monitor for awhile and try calling back, or do I need to immediately contact emergency services?

Another app is for security monitoring of a cabin in the mountains. If I get an intrusion alert I want to be able to look at the events proceeding and ongoing to be highly certain it's not a false alarm before contacting police and asking them to check on the place. It probably doesn't make much difference, but I'm actually more concerned about critters than people (I setup the system a few years ago after a bear tried coming through the kitchen window one evening). Just saying I need to look for potentially more erratic behavior than one may think of...

For both of these applications I need to be able to make decisions based on info I can access quickly and remotely on my phone, it clearly wouldn't be suitable to wait until I get to a laptop and can utilize the more extensive logging history. Sorry for the long post on an old thread, but would appreciate any input folks may have.
Thanks.

This may help you verify and change setting:

Reviving this thread, i just installed a "danfoss living connect TRV" and although it appears controllable (i can adjust the setpoint from the unit or hubitat) it doesnt appear to report the ambient temperature. Event log says "device type 4 doesnt report"
have i missed something or is this a limitation of the device?

Using the driver created by "Mark-C-uk" and noticed there is a later version named "DanAndPopp2".

Is “temperature” not the ambient temp reported by the device?

the current temperature shows the same value as the setpoint and doesnt appear to reflect the ambient temperature-