Rule for devices battery level ?
-
@toggledbits did what you suggested, but situation didn't really change, array is still empty:
@tunnus I had some issues as well. I got an empty array and when tried getEntity() I got some "Type Error". Was sure I was doing something wrong but I restarted Reactor and copied the same expression to a new one and suddenly it worked.
@toggledbits I also noticed the array isn't updated when entity changed so I pulse the trigger every minute to update it. Will change to getEntity() for next update. -
Can you show the entity detail for device 216 please?
@toggledbits here you go:
dimming.level=0 dimming.step=null power_switch.state=false x_vera_device.configured=false x_vera_device.device_number=216 x_vera_device.device_type="urn:schemas-upnp-org:device:DimmableLight:1" x_vera_device.failed=true x_vera_device.mapped_by="*;device_type=/urn:schemas-upnp-org:device:DimmableLight:/" x_vera_device.mapped_class="generic_dimmer" x_vera_device.parent_device=1 x_vera_device.room_id="1" x_vera_energy.amps=null x_vera_energy.day_kwh=null x_vera_energy.kwh="6.7000" x_vera_energy.life_kwh=null x_vera_energy.month_kwh=null x_vera_energy.power_factor=null x_vera_energy.volts=null x_vera_energy.watts="" x_vera_energy.week_kwh=null x_vera_energy.year_kwh=null x_vera_svc_cd_jackson_com_DataMine1.errorStatus="true" x_vera_svc_micasaverde_com_EnergyMetering1.ActualUsage="1" x_vera_svc_micasaverde_com_EnergyMetering1.KWH="6.7000" x_vera_svc_micasaverde_com_EnergyMetering1.KWHReading="1597268716" x_vera_svc_micasaverde_com_EnergyMetering1.Log="0,0,0,1633073400,1" x_vera_svc_micasaverde_com_EnergyMetering1.Watts="" x_vera_svc_micasaverde_com_HaDevice1.AutoConfigure="0" x_vera_svc_micasaverde_com_HaDevice1.CommFailure="1" x_vera_svc_micasaverde_com_HaDevice1.CommFailureAlarm="1628783888,1" x_vera_svc_micasaverde_com_HaDevice1.CommFailureTime="1628780288" x_vera_svc_micasaverde_com_HaDevice1.Configured="0" x_vera_svc_micasaverde_com_HaDevice1.FirstConfigured="1526668133" x_vera_svc_micasaverde_com_HaDevice1.LastTimeCheck="1605041801" x_vera_svc_micasaverde_com_HaDevice1.LastTimeOffset="2" x_vera_svc_micasaverde_com_HaDevice1.LastUpdate="0" x_vera_svc_micasaverde_com_HaDevice1.ModeSetting="1:;2:;3:;4:" x_vera_svc_micasaverde_com_HaDevice1.PollRatings="0.20" x_vera_svc_micasaverde_com_ZWaveDevice1.AgiInfo="X" x_vera_svc_micasaverde_com_ZWaveDevice1.AlarmType="0x4,0x8," x_vera_svc_micasaverde_com_ZWaveDevice1.AlarmVersion="0,2" x_vera_svc_micasaverde_com_ZWaveDevice1.AssociationGroups="1" x_vera_svc_micasaverde_com_ZWaveDevice1.AssociationNum="4" x_vera_svc_micasaverde_com_ZWaveDevice1.Capabilities="211,156,1,4,17,1,L,R,B,RS,|37S,38S:3,39S,43S,44S,50S:3,89S,90B,94,112S,113S:4,114,115S,122S,129S,133S,134,152," x_vera_svc_micasaverde_com_ZWaveDevice1.ConfiguredAssoc="" x_vera_svc_micasaverde_com_ZWaveDevice1.ConfiguredVariable="80-Status notification type,1d,3,90- Enable or Disable energy reporting (0-1),1d,1,91-Minimum change in wattage for a REPORT (0-60000),2d,5,92-Minimum change in wattage percent for a REPORT,1d,5,120-Configure external switch mode for S1(0-3),1d,1,125,1d,1,128-Current working mode (0-2),1d,1,129-Dimming principle (0-2),1d,1,130-Dimmer load type connected(0-3),1d,1,131-Minimum brightness level,1d,20,132-Maximum brightness level,1d,90,249,1d,0" x_vera_svc_micasaverde_com_ZWaveDevice1.FirmwareInfo="134,111,41841" x_vera_svc_micasaverde_com_ZWaveDevice1.LastArr="" x_vera_svc_micasaverde_com_ZWaveDevice1.LastNnu="" x_vera_svc_micasaverde_com_ZWaveDevice1.LastReset="1526668110" x_vera_svc_micasaverde_com_ZWaveDevice1.LastRouteUpdate="1597229741" x_vera_svc_micasaverde_com_ZWaveDevice1.ManufacturerInfo="134,3,111" x_vera_svc_micasaverde_com_ZWaveDevice1.MeterScale="5" x_vera_svc_micasaverde_com_ZWaveDevice1.MeterType="1" x_vera_svc_micasaverde_com_ZWaveDevice1.NodeInfo="25S,26S,27S,2bS,2cS,32S,59S,5aB,5e,70S,71S,72,73S,7aS,81S,85S,86,98," x_vera_svc_micasaverde_com_ZWaveDevice1.PlusInfo="1,5,0,6,0,6,0" x_vera_svc_micasaverde_com_ZWaveDevice1.PollNoReply="476" x_vera_svc_micasaverde_com_ZWaveDevice1.PollOk="37823" x_vera_svc_micasaverde_com_ZWaveDevice1.PollSettings="120" x_vera_svc_micasaverde_com_ZWaveDevice1.PollTxFail="1" x_vera_svc_micasaverde_com_ZWaveDevice1.SecurityFailed="0" x_vera_svc_micasaverde_com_ZWaveDevice1.SubscribedAlarms=",0x4,0x8," x_vera_svc_micasaverde_com_ZWaveDevice1.SwitchMlSettings="2,0" x_vera_svc_micasaverde_com_ZWaveDevice1.VariablesGet="80,3,90,1,91,5,92,5,120,1,125,1,128,1,129,1,130,1,131,20,132,90,249,0," x_vera_svc_micasaverde_com_ZWaveDevice1.VariablesSet="80-Status notification type,1d,3,90- Enable or Disable energy reporting (0-1),1d,1,91-Minimum change in wattage for a REPORT (0-60000),2d,5,92-Minimum change in wattage percent for a REPORT,1d,5,120-Configure external switch mode for S1(0-3),1d,1,125,1d,1,128-Current working mode (0-2),1d,1,129-Dimming principle (0-2),1d,1,130-Dimmer load type connected(0-3),1d,1,131-Minimum brightness level,1d,20,132-Maximum brightness level,1d,90,249,1d,0" x_vera_svc_micasaverde_com_ZWaveDevice1.VersionInfo="3,4,54,2,0" x_vera_svc_micasaverde_com_ZWaveNetwork1.ConsecutivePollFails="0" x_vera_svc_micasaverde_com_ZWaveNetwork1.LastPollSuccess="1597268720" x_vera_svc_upnp_org_Dimming1.LoadLevelLast="100" x_vera_svc_upnp_org_Dimming1.LoadLevelStatus="0" x_vera_svc_upnp_org_Dimming1.LoadLevelTarget="100" x_vera_svc_upnp_org_Dimming1.TurnOnBeforeDim="0" x_vera_svc_upnp_org_SwitchPower1.Status="0" zwave_device.capabilities="211,156,1,4,17,1,L,R,B,RS,|37S,38S:3,39S,43S,44S,50S:3,89S,90B,94,112S,113S:4,114,115S,122S,129S,133S,134,152," zwave_device.failed=true zwave_device.manufacturer_info="134,3,111" zwave_device.node_id=53 zwave_device.version_info="3,4,54,2,0" Capabilities: dimming, power_switch, toggle, x_vera_device, x_vera_energy, x_vera_svc_cd_jackson_com_DataMine1, x_vera_svc_micasaverde_com_Color1, x_vera_svc_micasaverde_com_EnergyMetering1, x_vera_svc_micasaverde_com_HaDevice1, x_vera_svc_micasaverde_com_ZWaveDevice1, x_vera_svc_micasaverde_com_ZWaveNetwork1, x_vera_svc_upnp_org_Dimming1, x_vera_svc_upnp_org_SwitchPower1, zwave_device Actions: dimming.down, dimming.set, dimming.up, power_switch.off, power_switch.on, power_switch.set, toggle.toggle, x_vera_device.set_variable, x_vera_energy.resetkwh, x_vera_svc_micasaverde_com_Color1.SetColor, x_vera_svc_micasaverde_com_Color1.SetColorRGB, x_vera_svc_micasaverde_com_Color1.SetColorTemp, x_vera_svc_micasaverde_com_EnergyMetering1.ResetKWH, x_vera_svc_micasaverde_com_HaDevice1.AllowPairing, x_vera_svc_micasaverde_com_HaDevice1.Poll, x_vera_svc_micasaverde_com_HaDevice1.Reconfigure, x_vera_svc_micasaverde_com_HaDevice1.Remove, x_vera_svc_micasaverde_com_HaDevice1.SetPollFrequency, x_vera_svc_micasaverde_com_HaDevice1.StressTest, x_vera_svc_micasaverde_com_HaDevice1.ToggleState, x_vera_svc_micasaverde_com_ZWaveNetwork1.AddNodes, x_vera_svc_micasaverde_com_ZWaveNetwork1.BackupDongle, x_vera_svc_micasaverde_com_ZWaveNetwork1.DownloadNetwork, x_vera_svc_micasaverde_com_ZWaveNetwork1.HealNetwork, x_vera_svc_micasaverde_com_ZWaveNetwork1.PollAllNodes, x_vera_svc_micasaverde_com_ZWaveNetwork1.PutByte, x_vera_svc_micasaverde_com_ZWaveNetwork1.ReconfigureAllNodes, x_vera_svc_micasaverde_com_ZWaveNetwork1.RemoveNodes, x_vera_svc_micasaverde_com_ZWaveNetwork1.SendData, x_vera_svc_micasaverde_com_ZWaveNetwork1.SetPolling, x_vera_svc_micasaverde_com_ZWaveNetwork1.SimulateIncomingData, x_vera_svc_micasaverde_com_ZWaveNetwork1.UpdateNeighbors, x_vera_svc_micasaverde_com_ZWaveNetwork1.UpdateNetwork, x_vera_svc_upnp_org_Dimming1.PauseRamp, x_vera_svc_upnp_org_Dimming1.ResumeRamp, x_vera_svc_upnp_org_Dimming1.SetLoadLevelTarget, x_vera_svc_upnp_org_Dimming1.SetOnEffect, x_vera_svc_upnp_org_Dimming1.SetOnEffectLevel, x_vera_svc_upnp_org_Dimming1.SetRampRate, x_vera_svc_upnp_org_Dimming1.SetStepDelta, x_vera_svc_upnp_org_Dimming1.StartRampDown, x_vera_svc_upnp_org_Dimming1.StartRampToLevel, x_vera_svc_upnp_org_Dimming1.StartRampUp, x_vera_svc_upnp_org_Dimming1.StepDown, x_vera_svc_upnp_org_Dimming1.StepUp, x_vera_svc_upnp_org_Dimming1.StopRamp, x_vera_svc_upnp_org_SwitchPower1.SetTarget, zwave_device.poll, zwave_device.reconfigure, zwave_device.refresh, zwave_device.reset_meters, zwave_device.set_config
-
Perfect! Thank you. I think I see what's going on. New build coming later today...
-
Perfect! Thank you. I think I see what's going on. New build coming later today...
@toggledbits thanks Patrick! Works nicely
-
-
@cw-kid You could also do all that in one expression if you prefer and are not using the other ones for anything else.
join( each id in matchEntities( { controller: 'vera', capability: 'battery_power' } ): do device=getEntity( id ), device.attributes.battery_power.level > 0.1 ? null : device.name + " at " + device.attributes.battery_power.level * 100 + " percent" done, ", " )
-
@cw-kid You could also do all that in one expression if you prefer and are not using the other ones for anything else.
join( each id in matchEntities( { controller: 'vera', capability: 'battery_power' } ): do device=getEntity( id ), device.attributes.battery_power.level > 0.1 ? null : device.name + " at " + device.attributes.battery_power.level * 100 + " percent" done, ", " )
-
Just a point here: why limit
matchEntities()
to one controller? Would you not perhaps want an alert for a device on any controller that has a low battery level?Also, don't forget about the
format()
function, which is meant for things like this...device.attributes.battery_power.level > 0.1 ? null : format( "{} at {:.1%}", device.name, device.attributes.battery_power.level )
Oh, and in my home, any battery-operated device would be long dead if it was reporting 10% (0.1). Most of mine seem to start to malfunction below 50%.
-
Just a point here: why limit
matchEntities()
to one controller? Would you not perhaps want an alert for a device on any controller that has a low battery level?Also, don't forget about the
format()
function, which is meant for things like this...device.attributes.battery_power.level > 0.1 ? null : format( "{} at {:.1%}", device.name, device.attributes.battery_power.level )
Oh, and in my home, any battery-operated device would be long dead if it was reporting 10% (0.1). Most of mine seem to start to malfunction below 50%.
@toggledbits I'm trying to understand the pros and cons of using this vs the new DynamicGroupController, could you give a short summation?
-
@toggledbits I'm trying to understand the pros and cons of using this vs the new DynamicGroupController, could you give a short summation?
Hi @crille !
In this post we are having this discussion about Dynamic, I am having a hard time getting it to work, but it will be very good, the concept is great and this will make it much easier.
https://smarthome.community/topic/793/multidimensional-array/17?_=1638031443562&loggedin=true
-
Hi @crille !
In this post we are having this discussion about Dynamic, I am having a hard time getting it to work, but it will be very good, the concept is great and this will make it much easier.
https://smarthome.community/topic/793/multidimensional-array/17?_=1638031443562&loggedin=true
@wmarcolin Yes, but the goal seems to be the same so what's the pros of doing it in the DynamicGroupController? More efficient, more dynamic, less complex etc, than a global expression like the one above?
I'm all up for new improved ways of doing things just need an explanation of why -
@wmarcolin Yes, but the goal seems to be the same so what's the pros of doing it in the DynamicGroupController? More efficient, more dynamic, less complex etc, than a global expression like the one above?
I'm all up for new improved ways of doing things just need an explanation of whyIn my opinion, everything you put in: more efficient, more dynamic, less complex. Below is a screenshot of how I do it today, and it would be replaced only by the format expression already directly inside a message as per telegram.
I will also use it to easily know all the devices that will be tripped in the house, see the other post for what I am adding after the battery. Besides this, unifying devices that for example are triggered by a contact or movement and have different expressions, will help unify and set up the alarm trigger management.
-
T toggledbits locked this topic on
-
T toggledbits referenced this topic on