Good morning,
I have a service MQTT service that needs a restart occasionally. The add-on (Smartbed MQTT) is for the smart bed base for my bed. It has a "safety light" that I can control from HAAS & MSR as a light entity, and also moves the head of the bed to a preset at bedtime, and then lies it back flat in the morning The problem is, from time to time, the light becomes "unavailable" Restarting from the Add-ons tab in HAAS always fixes it, but I should be able to detect when it happens when "light.tempur_pedic_safety_lights" is not true or false, i.e., unavailable.
What I don't know how to do is how to restart that service. Does anybody have experience in restarting add-ons from MSR?
Running:
Reactor (Multi-hub) latest-24212-3ce15e25 ZWaveJSController [0.1.24232]HAAS:
RPi5-64 (8GB) Core 2024.7.3 Supervisor 2024.08.0 Operating System 13.0 Frontend 20240710.0Hi!
Is it possible to generate two additional log files, the first being the replica of what is displayed on screen by the Rule History widgets and the other with Recently Changed Entities?
And could I configure the generation of one file per day, and delete the older ones? For example, store the last 5 days?
And being more ambitious, does Windget have an icon to open these TXT files in the navigated?
Well, we're approaching Christmas, so here's my request to Santa Claus @toggledbits 🙂
Hi @toggledbits
I'm working on a controller to generate llm response from a prompt in reactor. I have http response coming thru an http request action at the moment, capturing the response inside a local variable. So, it's practically sync.
I want to create a controller, so I don't have to rely on a proxy (and have a simpler architecture), and duplicate absurd http actions, but AFAIK in the current implementation, actions are async only. But if I have multiple requests going on, I cannot be sure what it's really inside an attribute. I also thought that something like a correlation id when sending the request could be used to identity multiple responses, but I wanted to double check with you before starting with something too complicated. I also noticed that some actions in home assistant (ie forecast) are sync and I'm wondering if you have any plan or hint to address this situation. Thanks.
Thanks.
@togglebits I am curious as to why the tilt_sensor.state (primary) = NULL. I believe it should show true or false. I have to use binary_sensor.state instead in my rules.
Again, not sure if this is related to Reactor/ZwaveJSController implementation or the actual Z-Wave JS UI docker version. I have copied, below, the attributes of the tilt sensor in hopes it can help.
Thanks in advance.
Reactor version 23302
ZWaveJSController version 23254
Z-Wave JS UI version 9.3.0.724519f
zwave-js version 12.2.3
@toggledbits I have noticed after upgrading both Reactor and ZWaveJSController to version 24257 that two of my devices/entities, TILT-ZWAVE2.5-ECO and Zooz ZSE18, had their entity re-named in an unusual way and also appears to be duplicated.
Reactor version 24257
ZWaveJSController version 24257
Z-Wave JS UI version 9.18.1
zwave-js version 13.2.0
Vestibule Motion Sensor State attributes/partial screenshot of entities it created. All entities have the same attributes.
motion_sensor.state=true x_zwave_values.Notification_Home_Security_Motion_sensor_status=8 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=23 zwave_device.valueId=[113,"Notification","Home Security","Home Security","Motion sensor status","Motion sensor status"] zwave_device.version_info=nullTilt Sensor Door State and Tilt Sensor Door State Simple attributes/partial screenshot of entities it created. All entities have similar attributes with exception of x_zwave_values.Notification_Access_Control_Door_State = 22 or 23.
tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=true x_zwave_values.Notification_Access_Control_Door_state_simple=22 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state","Door state"] zwave_device.version_info=null tilt_sensor.state=false x_zwave_values.Notification_Access_Control_Door_state_simple=23 zwave_device.capabilities=[113] zwave_device.endpoint=0 zwave_device.failed=null zwave_device.manufacturer_info=null zwave_device.node_id=24 zwave_device.valueId=[113,"Notification","Access Control","Access Control","Door state (simple)","Door state (simple)"] zwave_device.version_info=nullI'm slowly migrating all my stuff to MQTT under MSR, so I have a central place to integrate everything (and, in a not-so-distant future, to remove virtual devices from my Vera and leave it running zwave only).
Anyway, here's my reactor-mqtt-contrib package:
Contrib MQTT templates for Reactor. Contribute to dbochicchio/reactor-mqtt-contrib development by creating an account on GitHub.
Simply download yaml files (everything or just the ones you need) and you're good to go.
I have mapped my most useful devices, but I'll add others soon. Feel free to ask for specific templates, since I've worked a lot in the last weeks to understand and operate them.
The templates are supporting both init and query, so you have always up-to-date devices at startup, and the ability to poll them. Online status is supported as well, so you can get disconnected devices with a simple expression.
Many-many thanks to @toggledbits for its dedication, support, and patience with me and my requests 🙂
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here.
Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.Hi @toggledbits.
After a couple of weeks, I noticed that my Remotec zrc90 isn't working as expected.
Scenes are working in ZWaveJS, but this device has a strange behavior: the scene change, but then it's set again to null. In Reactor, this remains null:
battery_power.level=0.7 battery_power.since=1725817957361 x_debug.dt={"description":"Scene master 8 button remote","model":"BW8510/ZRC-90US","default_name":"Scene master 8 button remote","manufacturerId":21076,"productType":0,"productId":34064} x_zwave_values.Battery_isLow=false x_zwave_values.Battery_level=70 x_zwave_values.Central_Scene_scene_001=null x_zwave_values.Central_Scene_scene_002=null x_zwave_values.Central_Scene_scene_003=null x_zwave_values.Central_Scene_scene_004=null x_zwave_values.Central_Scene_scene_005=null x_zwave_values.Central_Scene_scene_006=null x_zwave_values.Central_Scene_scene_007=null x_zwave_values.Central_Scene_scene_008=null x_zwave_values.Central_Scene_slowRefresh=null x_zwave_values.Manufacturer_Specific_manufacturerId=21076 x_zwave_values.Manufacturer_Specific_productId=34064 x_zwave_values.Manufacturer_Specific_productType=1 x_zwave_values.Version_firmwareVersions=["1.1","1.1"] x_zwave_values.Version_hardwareVersion=3 x_zwave_values.Version_libraryType=2 x_zwave_values.Version_protocolVersion="4.5" x_zwave_values.Wake_Up_controllerNodeId=1 x_zwave_values.Wake_Up_wakeUpInterval=0 zwave_device.capabilities=[91,114,128,132,134] zwave_device.endpoint=0 zwave_device.failed=false zwave_device.generic_class="Remote Controller" zwave_device.impl_sig="24242:1:22315:1" zwave_device.is_beaming=false zwave_device.is_listening=false zwave_device.is_routing=false zwave_device.is_secure=false zwave_device.manufacturer_info=[21076,1,34064] zwave_device.max_data_rate=null zwave_device.node_id=154 zwave_device.specific_class="Simple Remote Control" zwave_device.status=2 zwave_device.status_text="awake" zwave_device.version_info=[null,"1.1"] zwave_device.wakeup_interval=0Anything I could look at? Thanks.
Hi, @toggledbits!
I have a question about the execution behavior. See the code below, and I'll explain the situation.
12957c3e-ff06-46c9-929d-b53f936665df-image.png
This is a routine that, at a certain point, determines that the desktop on which the VM hosting the Reactor is located receives an instruction to perform a shutdown (Shell Command).
When this happens, the desktop is turned off, and then Hubitat detects by a "ping" that the VM has been down, waits 15 seconds, turns off the power to this desktop, and then 15 seconds later turns on the desktop with the Reactor VM again.
After restarting the desktop, the VM is loaded, and the Reactor is triggered. Still, the following problem occurs: I expected that when the rule was continued to be executed again, the next step would be executed, that of the 900-second delay after shutdown, but the Shell command is executed again, and then it goes into a loop, the rule does not advance.
To break the loop, I first have to make the VM not load, change the desktop password, and then start the VM. In this case, Reactor generates an error when trying to execute the Shell Command because of the invalid password and then finishes the routine following the 900 delay step.
b58b0d4a-d6c1-4fe3-bab7-4222acea9607-image.png
Is my interpretation that when it returns, the routine should continue to the next step that has not yet been executed incorrectly? Or does Reactor, through the shutdown command, interpret that it hasn't finished this step and keep trying, which is the correct reaction?
Thanks for clarifying.
Hi @toggledbits ,
I'm slowly moving my ZWave network from Vera to ZWaveJS. I successfully cloned my ZWave network using a spare Vera Edge (a new post for the community later when I'll be fully back from vacation) and I'm testing a couple of things before moving everything to ZWaveJS.
In the meanwhile, I have a couple of venetian blinds connected to Fibaro Roller Shutters 2 (FGR222) and I'm using some proprietary ZWave commands to control the tilt position, that right now I'm sending via Vera (with some code from the old place, messing with this):
af7f883c-f49e-419c-a2fe-8669572e3792-image.png
The ZWaveJS values are reported via this:
x_zwave_values.Manufacturer_Proprietary_fibaro_venetianBlindsPosition=0 x_zwave_values.Manufacturer_Proprietary_fibaro_venetianBlindsTilt=0I hope there's a way to expose a separate device to control the tilt position directly, without doing the mess I'm doing now. Let me know if you need some files. Thanks.
As per @toggledbits request, new topic.
Position and cover commands not working and position/cover attributes are incorrect. Dimming is OK.
cover.state=null dimming.level=1 dimming.step=0.1 energy_sensor.units="kWh" energy_sensor.value=0.41 position.value=null power_sensor.units="W" power_sensor.value=0 power_switch.state=true x_debug.dt={"entity_class":"Cover","match":"deviceClass.generic.key=17;deviceClass.specific.key=6","capabilities":["cover","toggle","position"],"primary_attribute":"cover.state"} x_zwave_values.Meter_reset=null x_zwave_values.Meter_value_65537=0.41 x_zwave_values.Meter_value_66049=0 x_zwave_values.Multilevel_Switch_Down=null x_zwave_values.Multilevel_Switch_Up=null x_zwave_values.Multilevel_Switch_currentValue=99 x_zwave_values.Multilevel_Switch_duration="unknown" x_zwave_values.Multilevel_Switch_restorePrevious=null x_zwave_values.Multilevel_Switch_targetValue=99 x_zwave_values.Notification_Power_Management_Over_current_status=0 x_zwave_values.Notification_System_Hardware_status=0 x_zwave_values.Notification_alarmLevel=null x_zwave_values.Notification_alarmType=null zwave_device.capabilities=[38,50,113] zwave_device.endpoint=1 zwave_device.failed=null zwave_device.impl_sig="24225:1:22315:1" zwave_device.manufacturer_info=null zwave_device.node_id=148 zwave_device.version_info=nullThanks!
Another one for you, @toggledbits.
I have two water sensors (same device, NAS-WS01Z), but one is reporting leak_detector.state=true even if no alarm is detected (I double checked from ZWaveJS UI):
battery_power.level=0.86 battery_power.since=null leak_detector.state=true x_debug.dt={"entity_class":"Notification Sensor","match":"deviceClass.generic.key=7"} x_zwave_values.Battery_isLow=false x_zwave_values.Battery_level=86 x_zwave_values.Binary_Sensor_Water=false x_zwave_values.Configuration_Alarm_Activity_Duration=5 x_zwave_values.Configuration_Alarm_Beep=1 x_zwave_values.Configuration_Alarm_Duration=120 x_zwave_values.Configuration_Alarm_Interval=null x_zwave_values.Configuration_Basic_Set_Level=255 x_zwave_values.Configuration_First_Alarm_Activity_Duration=null x_zwave_values.Configuration_Water_Detection=1 x_zwave_values.Manufacturer_Specific_manufacturerId=600 x_zwave_values.Manufacturer_Specific_productId=4229 x_zwave_values.Manufacturer_Specific_productType=3 x_zwave_values.Notification_Water_Alarm_Sensor_status=null x_zwave_values.Notification_alarmLevel=0 x_zwave_values.Notification_alarmType=0 x_zwave_values.Version_firmwareVersions=null x_zwave_values.Version_hardwareVersion=null x_zwave_values.Version_libraryType=null x_zwave_values.Version_protocolVersion=null x_zwave_values.Wake_Up_controllerNodeId=1 x_zwave_values.Wake_Up_wakeUpInterval=43200 zwave_device.capabilities=[48,112,113,114,128,132,134] zwave_device.endpoint=0 zwave_device.failed=false zwave_device.generic_class="Notification Sensor" zwave_device.impl_sig="24225:1:22315:1" zwave_device.is_beaming=false zwave_device.is_listening=false zwave_device.is_routing=true zwave_device.is_secure=false zwave_device.last_wakeup=1724143899220 zwave_device.manufacturer_info=[600,3,4229] zwave_device.max_data_rate=null zwave_device.node_id=114 zwave_device.specific_class="Notification Sensor" zwave_device.status=1 zwave_device.status_text="asleep" zwave_device.version_info=[null,null] zwave_device.wakeup_interval=43200here's the other one, correctly report the leak status:
battery_power.level=1 battery_power.since=null leak_detector.state=false x_debug.dt={"entity_class":"Notification Sensor","match":"deviceClass.generic.key=7"} x_zwave_values.Battery_isLow=false x_zwave_values.Battery_level=100 x_zwave_values.Binary_Sensor_Water=false x_zwave_values.Configuration_Alarm_Activity_Duration=5 x_zwave_values.Configuration_Alarm_Beep=1 x_zwave_values.Configuration_Alarm_Duration=120 x_zwave_values.Configuration_Alarm_Interval=1 x_zwave_values.Configuration_Basic_Set_Level=255 x_zwave_values.Configuration_First_Alarm_Activity_Duration=60 x_zwave_values.Configuration_Water_Detection=1 x_zwave_values.Manufacturer_Specific_manufacturerId=600 x_zwave_values.Manufacturer_Specific_productId=4229 x_zwave_values.Manufacturer_Specific_productType=3 x_zwave_values.Notification_Water_Alarm_Sensor_status=0 x_zwave_values.Notification_alarmLevel=null x_zwave_values.Notification_alarmType=null x_zwave_values.Version_firmwareVersions=["2.54"] x_zwave_values.Version_hardwareVersion=48 x_zwave_values.Version_libraryType=6 x_zwave_values.Version_protocolVersion="4.5" x_zwave_values.Wake_Up_controllerNodeId=1 x_zwave_values.Wake_Up_wakeUpInterval=43200 zwave_device.capabilities=[48,112,113,114,128,132,134] zwave_device.endpoint=0 zwave_device.failed=false zwave_device.generic_class="Notification Sensor" zwave_device.impl_sig="24225:1:22315:1" zwave_device.is_beaming=false zwave_device.is_listening=false zwave_device.is_routing=true zwave_device.is_secure=false zwave_device.last_wakeup=1724105239533 zwave_device.manufacturer_info=[600,3,4229] zwave_device.max_data_rate=null zwave_device.node_id=113 zwave_device.specific_class="Notification Sensor" zwave_device.status=1 zwave_device.status_text="asleep" zwave_device.version_info=[null,"2.54"] zwave_device.wakeup_interval=43200Also, both seems to have no primary value. Thanks.
Hi-
I have an android media player entity publishing from HA. I watch for changes in transport state and media title to trigger some actions.
Though those attributes report as expected, the set rule is being throttled for possible flapping.
There is an attribute for media position that continually updates, I suspect it is causing the evaluations to run constantly.
The workaround I am seeking is to ignore those attributes in HA or MSR. Anyone know how, or have a better idea??
Thx
Btw- this problem has spanned versions of HA and reactor, but I am current on both. Too current on HA for transparency, but the issue has survived several updates.
Referencing an expression inside a reaction is in the form of ${{ expression }}. When referenced inside my shell command to set the watering delay duration for my Rachio sprinkler system, it just does not work.
If I enter "86400" instead of referencing the expression lWateringDelayDuration, it works. Either I am doing something wrong or referencing an expression inside a shell command is not supported.
Reactor version: 24212
Local Expression
lWateringDelayDuration =
Setting Reaction using Shell command
curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer xxxxxxxxxx -d '{ "id" : "xxxxxxxxxx", "duration" : ${{ lWateringDelayDuration}} }' https://api.rach.io/1/public/device/rain_delayThanks in advance
As per @toggledbits request, here's a new topic.
My Fibaro Door Window Sensor 2 (FGDW002) is always reporting as open, even if
x_zwave_values.Notification_Access_Control_Door_state=23 x_zwave_values.Notification_Access_Control_Door_state_simple=23which means that the door is closed. It was working before and I could downgrade to test, if necessary. Thanks.
Hi @toggledbits,
I'm not sure if it's a bug or something, but I have a lot of Fibaro Double Switch (FGS223) as follows.
In the example, it's zwavejs>65-2:
energy_sensor.units="kWh" energy_sensor.value=0.21 power_sensor.units="W" power_sensor.value=0 power_switch.state=false x_debug.dt={"entity_class":"Switch","match":"deviceClass.generic.key=16","capabilities":["power_switch","toggle"],"primary_attribute":"power_switch.state"} x_zwave_values.Binary_Switch_currentValue=false x_zwave_values.Binary_Switch_targetValue=false x_zwave_values.Meter_reset=null x_zwave_values.Meter_value_65537=0.21 x_zwave_values.Meter_value_66049=0 zwave_device.capabilities=[37,50] zwave_device.endpoint=2 zwave_device.failed=null zwave_device.impl_sig="23326:1:22315:1" zwave_device.manufacturer_info=null zwave_device.node_id=65 zwave_device.version_info=nullWhen operating endpoint 2, it's triggered endpoint 1. Endpoint 1 is fine. This is causing a lot of troubles, as you may imagine.
Also, endpoint 0 is not really a switch, and the associated actions are not doing anything at all. Maybe these could be removed. Also, I see battery_maintenance and power_source capabilities, all with null values.
battery_maintenance.charging=null battery_maintenance.rechargeable=false battery_maintenance.replace=false battery_maintenance.state=null heat_detector.state=false power_source.source=null power_switch.state=null x_debug.dt={"entity_class":"Switch","match":"deviceClass.generic.key=16","capabilities":["power_switch","toggle"],"primary_attribute":"power_switch.state","description":"Double Switch 2","model":"FGS223","default_name":"Double Switch 2","manufacturerId":271,"productType":515,"productId":4096} x_zwave_values.Central_Scene_scene_001=null x_zwave_values.Central_Scene_scene_002=null x_zwave_values.Central_Scene_slowRefresh=null x_zwave_values.Configuration_First_Channel_Energy_Reports_Threshold=100 x_zwave_values.Configuration_First_Channel_Operating_Mode=0 x_zwave_values.Configuration_First_Channel_Power_Reports_Minimum_Time_Between_Reports=10 x_zwave_values.Configuration_First_Channel_Power_Reports_Threshold=20 x_zwave_values.Configuration_First_Channel_Pulse_Time_for_Blink_Mode=5 x_zwave_values.Configuration_First_Channel_Reaction_to_Key_S1_for_Delay_Auto_ON_OFF_Modes=0 x_zwave_values.Configuration_First_Channel_Time_Parameter_for_Delay_Auto_ON_OFF_Modes=50 x_zwave_values.Configuration_General_Purpose_Alarm_Response=3 x_zwave_values.Configuration_Include_Consumption_By_Device_Itself_in_Reports=0 x_zwave_values.Configuration_Input_Button_Switch_Configuration=2 x_zwave_values.Configuration_Key_S1_Associations_Double_Click_Value_Sent=99 x_zwave_values.Configuration_Key_S1_Associations_Send_OFF_With_Single_Click_2=0 x_zwave_values.Configuration_Key_S1_Associations_Send_ON_With_Single_Click_1=0 x_zwave_values.Configuration_Key_S1_Associations_Send_When_Double_Clicking_8=0 x_zwave_values.Configuration_Key_S1_Associations_Send_When_Holding_and_Releasing_4=0 x_zwave_values.Configuration_Key_S1_Associations_Switch_OFF_Value_Sent=0 x_zwave_values.Configuration_Key_S1_Associations_Switch_ON_Value_Sent=255 x_zwave_values.Configuration_Key_S1_Send_Scenes_When_Held_Down_and_Released_8=1 x_zwave_values.Configuration_Key_S1_Send_Scenes_When_Pressed_1_Time_1=1 x_zwave_values.Configuration_Key_S1_Send_Scenes_When_Pressed_2_Times_2=1 x_zwave_values.Configuration_Key_S1_Send_Scenes_When_Pressed_3_Times_4=1 x_zwave_values.Configuration_Key_S2_Associations_Double_Click_Value_Sent=99 x_zwave_values.Configuration_Key_S2_Associations_Send_OFF_With_Single_Click_2=0 x_zwave_values.Configuration_Key_S2_Associations_Send_ON_With_Single_Click_1=0 x_zwave_values.Configuration_Key_S2_Associations_Send_When_Double_Clicking_8=0 x_zwave_values.Configuration_Key_S2_Associations_Send_When_Holding_and_Releasing_4=0 x_zwave_values.Configuration_Key_S2_Associations_Switch_OFF_Value_Sent=0 x_zwave_values.Configuration_Key_S2_Associations_Switch_ON_Value_Sent=255 x_zwave_values.Configuration_Key_S2_Send_Scenes_When_Held_Down_and_Released_8=1 x_zwave_values.Configuration_Key_S2_Send_Scenes_When_Pressed_1_Time_1=1 x_zwave_values.Configuration_Key_S2_Send_Scenes_When_Pressed_2_Times_2=1 x_zwave_values.Configuration_Key_S2_Send_Scenes_When_Pressed_3_Times_4=1 x_zwave_values.Configuration_Periodic_Active_Power_Reports=3600 x_zwave_values.Configuration_Periodic_Energy_Reports=3600 x_zwave_values.Configuration_Report_During_Blink_Mode=0 x_zwave_values.Configuration_Second_Channel_Energy_Reports_Threshold=100 x_zwave_values.Configuration_Second_Channel_Operating_Mode=0 x_zwave_values.Configuration_Second_Channel_Power_Reports_Minimum_Time_Between_Reports=10 x_zwave_values.Configuration_Second_Channel_Power_Reports_Threshold=20 x_zwave_values.Configuration_Second_Channel_Pulse_Time_for_Blink_Mode=5 x_zwave_values.Configuration_Second_Channel_Reaction_to_Key_S2_for_Delay_Auto_ON_OFF_Modes=0 x_zwave_values.Configuration_Second_Channel_Time_Parameter_for_Delay_Auto_ON_OFF_Modes=50 x_zwave_values.Configuration_Send_Secure_Commands_to_2nd_Association_Group_1=1 x_zwave_values.Configuration_Send_Secure_Commands_to_3rd_Association_Group_2=1 x_zwave_values.Configuration_Send_Secure_Commands_to_4th_Association_Group_4=1 x_zwave_values.Configuration_Send_Secure_Commands_to_5th_Association_Group_8=1 x_zwave_values.Configuration_Smoke_CO_or_CO2_Alarm_Response=3 x_zwave_values.Configuration_State_After_Power_Failure=1 x_zwave_values.Configuration_Temperature_Alarm_Response=1 x_zwave_values.Configuration_Time_of_Alarm_State=600 x_zwave_values.Configuration_Water_Flood_Alarm_Response=2 x_zwave_values.Manufacturer_Specific_manufacturerId=271 x_zwave_values.Manufacturer_Specific_productId=4096 x_zwave_values.Manufacturer_Specific_productType=515 x_zwave_values.Notification_Heat_Alarm_Heat_sensor_status=0 x_zwave_values.Notification_Power_Management_Over_current_status=0 x_zwave_values.Notification_alarmLevel=null x_zwave_values.Notification_alarmType=null x_zwave_values.Protection_exclusiveControlNodeId=null x_zwave_values.Protection_local=0 x_zwave_values.Protection_rf=0 x_zwave_values.Protection_timeout=null x_zwave_values.Version_firmwareVersions=["3.2"] x_zwave_values.Version_hardwareVersion=3 x_zwave_values.Version_libraryType=3 x_zwave_values.Version_protocolVersion="4.5" zwave_device.capabilities=[91,112,113,114,117,134] zwave_device.endpoint=0 zwave_device.failed=false zwave_device.generic_class="Binary Switch" zwave_device.impl_sig="23326:1:22315:1" zwave_device.is_beaming=false zwave_device.is_listening=true zwave_device.is_routing=true zwave_device.is_secure=false zwave_device.manufacturer_info=[271,515,4096] zwave_device.max_data_rate=null zwave_device.node_id=65 zwave_device.specific_class="Binary Power Switch" zwave_device.status=4 zwave_device.status_text="alive" zwave_device.version_info=[null,"3.2"]Thanks.
Good morning,
I'm having an issue with controlling my Zooz Zen14 outdoor double outlet. I should be able to control each outlet individually, and this does work when use Home Assistant (haas) from Reactor.
When I use zwavejs, I see 3 entries:
8305eccf-a99e-421f-ad18-1f08da9c8c9c-image.png
The first entry is for the overall device. I can turn both outlets on and off (in theory) by setting the power_switch state to on or off. This does turn them on and off when using zwavejs.
When I go to the individual outlets, performing the power_switch.on or power_switch.off actions turns them all (main, 1 and 2) on or off, and not just the individual outlets. When I perform the same action from haas, turning on outlet 1 will turn on the main switch and 1, but not 2.
I reviewed the logs for that node and I'm not seeing anything obvious.
:~/reactor/logs$ cat reactor.log.1 | grep ZWaveJSController#zwavejs | grep "node 216" [latest-24212]2024-08-07T00:19:00.233Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "endpoint": 0, "property": "targetValue", "newValue": true, "prevValue": false, "propertyName": "targetValue" } } [latest-24212]2024-08-07T00:19:00.235Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": false, "propertyName": "currentValue" } } [latest-24212]2024-08-07T00:19:00.321Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "currentValue" } } [latest-24212]2024-08-07T00:19:00.322Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 0, "newValue": true, "prevValue": true, "propertyName": "targetValue" } } [latest-24212]2024-08-07T00:19:00.323Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "0:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 0, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } } [latest-24212]2024-08-07T00:19:02.189Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:currentValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "currentValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "currentValue" } } [latest-24212]2024-08-07T00:19:02.192Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:targetValue:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "targetValue", "endpoint": 1, "newValue": true, "prevValue": false, "propertyName": "targetValue" } } [latest-24212]2024-08-07T00:19:02.193Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs update node 216 value "1:37:duration:" data [Object]{ "source": "node", "event": "value updated", "nodeId": 216, "args": { "commandClassName": "Binary Switch", "commandClass": 37, "property": "duration", "endpoint": 1, "newValue": { "value": 0, "unit": "seconds" }, "prevValue": { "value": 0, "unit": "seconds" }, "propertyName": "duration" } } [latest-24212]2024-08-07T05:32:30.127Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 0 (entity "216-0") [latest-24212]2024-08-07T05:32:30.127Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 1 (entity "216-1") [latest-24212]2024-08-07T05:32:30.128Z <ZWaveJSController:INFO> ZWaveJSController#zwavejs configuring node 216 endpoint 2 (entity "216-2")I'm running:
Reactor (Multi-hub) latest-24212-3ce15e25
ZWaveJSController [0.1.23326] (with zwavejs_data from 7/25/2024)
HA:
Core 2024.7.3
Supervisor 2024.08.0
Operating System 12.3
Frontend 20240710.0
Constraints (no data) rule actions have never run
-
Hi
I have a problem rule it seems. Its set to turn off my Festoon lights at 23:55pm and in the constraints checks if those lights are already turned on ?
And the reaction is to turn them off.
Since I setup the rule my lights have never turned off.
In the summary card I can see (no data)
On this screen shot it says the power switch state is TRUE.
The switch is actually OFF at the moment, I have hard refreshed the browser but it still says True.I can go to Scope and add a trace on this device and it does track if its turned on or off OK.
The device is one side of a Fibaro Dual Relay module.
Any clues?
Thanks
-
Changes to devices or other dependencies in the Constraints do not cause evaluation of the rule's conditions (triggers or constraints). Only Triggers do that. You would have to wait until after 23:55, which is the only trigger, for the Constraints to be evaluated.
-
@toggledbits OK think that makes sense.
Not sure why my rules action is not running then.
This is the trigger
I have pressed the Play button in the Set Reaction area and it does actually turn off the light OK.
I've had this rule setup for maybe 3 days and my Festoon lights have never turned off and have been left on all night.
-
Have you looked in the log at around the time the rule would be expected to trigger? There may be something logged. Remember to adjust for time zone if your host's configured time zone is different from your browser/desktop (i.e. it's not unusual to have a Pi, for example, default to UTC, so all times logged will be UTC and thus maybe different from your local time).
-
I have other Schedules in MSR for certain times in the morning to open window coverings they are now all working fine and open on the time I set in their triggers.
If I use the command "date" on the Pi in putty it does say the correct time as of now:
Fri 26 Feb 13:15:22 GMT 2021
I'll have a look in the Reactor logs
Thanks
-
Looking in reactor.log I searched this rules ID code kljc5802:
2021-02-25T19:00:05.003Z <Engine:INFO> Engine#1 master timer tick, local time "2/25/2021, 19:00:05" (TZ offset 0 mins from UTC) false false2021-02-25T19:34:00.006Z <Rule:5:Rule.js:635> Rule#rule-kljc5802 launching eval from timer-trigger notification by Timer#cond57lqecd false false2021-02-25T19:34:00.009Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex false false2021-02-25T19:34:00.012Z <Rule:5:Rule.js:635> Rule#rule-kljbrk9g launching eval from timer-trigger notification by Timer#cond57lqecd false false2021-02-25T19:34:00.014Z <Rule:5:Rule.js:697> Rule#rule-kljbrk9g (Schedule - Lawn Lights OFF) evaluate() acquiring mutex false false2021-02-25T19:34:00.017Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating false false2021-02-25T19:34:00.021Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 0/min limit 60/min false false2021-02-25T19:34:00.023Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions false false2021-02-25T19:34:00.025Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/25/2021, 23:55:00 edt=2/25/2021, 19:34:00 now=2/25/2021, 19:34:00 false false2021-02-25T19:34:00.028Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/25/2021, 23:55:00, 15659 secs from now false false2021-02-25T19:34:00.030Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false) false false
2021-02-25T20:13:27.338Z <Engine:5:Engine.js:550> Engine#1 (re-)starting rule Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) 2021-02-25T20:13:27.340Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex
2021-02-25T20:13:27.513Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-25T20:13:27.515Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-25T20:13:27.517Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started
2021-02-25T20:13:27.761Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-25T20:13:27.762Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 0/min limit 60/min 2021-02-25T20:13:27.765Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-25T20:13:27.767Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/25/2021, 23:55:00 edt=2/25/2021, 20:13:00 now=2/25/2021, 20:13:27 2021-02-25T20:13:27.771Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/25/2021, 23:55:00, 13292 secs from now 2021-02-25T20:13:27.774Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false)
2021-02-26T00:00:00.129Z <Rule:5:Rule.js:635> Rule#rule-kljc5802 launching eval from timer-trigger notification by Timer#cond57lqecd 2021-02-26T00:00:00.131Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T00:00:00.136Z <Rule:5:Rule.js:635> Rule#rule-kljbrk9g launching eval from timer-trigger notification by Timer#cond57lqecd 2021-02-26T00:00:00.139Z <Rule:5:Rule.js:697> Rule#rule-kljbrk9g (Schedule - Lawn Lights OFF) evaluate() acquiring mutex 2021-02-26T00:00:00.141Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T00:00:00.145Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 0/min limit 60/min 2021-02-26T00:00:00.147Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T00:00:00.150Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 00:00:00 now=2/26/2021, 00:00:00 2021-02-26T00:00:00.152Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 86099 secs from now 2021-02-26T00:00:00.154Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false)
2021-02-26T11:02:14.128Z <Rule:NOTICE> Rule#rule-kljc5802 configuration changed; reloading 2021-02-26T11:02:14.147Z <Rule:5:Rule.js:600> Rule#rule-kljc5802 reloading with new data 2021-02-26T11:02:14.150Z <Rule:NOTICE> Rule#rule-kljc5802 stopping rule 2021-02-26T11:02:14.152Z <Rule:5:Rule.js:581> Rule#rule-kljc5802 acquiring mutex 2021-02-26T11:02:14.157Z <Rule:5:Rule.js:584> Rule#rule-kljc5802 mutex acquired; unsubscribing from condition dependencies 2021-02-26T11:02:14.169Z <Rule:5:Rule.js:586> Rule#rule-kljc5802 saving states 2021-02-26T11:02:14.176Z <Rule:5:Rule.js:590> Rule#rule-kljc5802 stopped 2021-02-26T11:02:14.178Z <Rule:NOTICE> Rule Rule#rule-kljc5802 stopped 2021-02-26T11:02:14.180Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex 2021-02-26T11:02:14.183Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-26T11:02:14.185Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-26T11:02:14.378Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started 2021-02-26T11:02:14.381Z <Rule:5:Rule.js:567> Rule#rule-kljc5802 start() dependencies resolved, performing initial evaluation 2021-02-26T11:02:14.509Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T11:02:14.511Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:02:14.518Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 0/min limit 60/min 2021-02-26T11:02:14.520Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:02:14.523Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:02:00 now=2/26/2021, 11:02:14 2021-02-26T11:02:14.527Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46365 secs from now 2021-02-26T11:02:14.529Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false) 2021-02-26T11:02:52.786Z <Rule:NOTICE> Rule#rule-kljc5802 configuration changed; reloading 2021-02-26T11:02:52.792Z <Rule:5:Rule.js:600> Rule#rule-kljc5802 reloading with new data 2021-02-26T11:02:52.794Z <Rule:NOTICE> Rule#rule-kljc5802 stopping rule 2021-02-26T11:02:52.797Z <Rule:5:Rule.js:581> Rule#rule-kljc5802 acquiring mutex 2021-02-26T11:02:52.803Z <Rule:5:Rule.js:584> Rule#rule-kljc5802 mutex acquired; unsubscribing from condition dependencies 2021-02-26T11:02:52.816Z <Rule:5:Rule.js:586> Rule#rule-kljc5802 saving states 2021-02-26T11:02:52.823Z <Rule:5:Rule.js:590> Rule#rule-kljc5802 stopped 2021-02-26T11:02:52.824Z <Rule:NOTICE> Rule Rule#rule-kljc5802 stopped 2021-02-26T11:02:52.828Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex 2021-02-26T11:02:52.831Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-26T11:02:52.833Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-26T11:02:52.835Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started 2021-02-26T11:02:52.838Z <Rule:5:Rule.js:567> Rule#rule-kljc5802 start() dependencies resolved, performing initial evaluation 2021-02-26T11:02:52.840Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T11:02:52.844Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:02:52.846Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 1/min limit 60/min 2021-02-26T11:02:52.848Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:02:52.850Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:02:00 now=2/26/2021, 11:02:52 2021-02-26T11:02:52.852Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46327 secs from now 2021-02-26T11:02:52.854Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false) 2021-02-26T11:03:25.898Z <Rule:NOTICE> Rule#rule-kljc5802 configuration changed; reloading 2021-02-26T11:03:25.904Z <Rule:5:Rule.js:600> Rule#rule-kljc5802 reloading with new data 2021-02-26T11:03:25.905Z <Rule:NOTICE> Rule#rule-kljc5802 stopping rule 2021-02-26T11:03:25.908Z <Rule:5:Rule.js:581> Rule#rule-kljc5802 acquiring mutex 2021-02-26T11:03:25.913Z <Rule:5:Rule.js:584> Rule#rule-kljc5802 mutex acquired; unsubscribing from condition dependencies 2021-02-26T11:03:25.922Z <Rule:5:Rule.js:586> Rule#rule-kljc5802 saving states 2021-02-26T11:03:25.929Z <Rule:5:Rule.js:590> Rule#rule-kljc5802 stopped 2021-02-26T11:03:25.930Z <Rule:NOTICE> Rule Rule#rule-kljc5802 stopped 2021-02-26T11:03:25.933Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex 2021-02-26T11:03:25.935Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-26T11:03:25.937Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-26T11:03:25.938Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started 2021-02-26T11:03:25.940Z <Rule:5:Rule.js:567> Rule#rule-kljc5802 start() dependencies resolved, performing initial evaluation 2021-02-26T11:03:25.942Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T11:03:25.944Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:03:25.945Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 1/min limit 60/min 2021-02-26T11:03:25.948Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:03:25.950Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:03:00 now=2/26/2021, 11:03:25 2021-02-26T11:03:25.952Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46294 secs from now 2021-02-26T11:03:25.954Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false) 2021-02-26T11:03:52.673Z <Rule:NOTICE> Rule#rule-kljc5802 configuration changed; reloading 2021-02-26T11:03:52.677Z <Rule:5:Rule.js:600> Rule#rule-kljc5802 reloading with new data 2021-02-26T11:03:52.693Z <Rule:NOTICE> Rule#rule-kljc5802 stopping rule 2021-02-26T11:03:52.695Z <Rule:5:Rule.js:581> Rule#rule-kljc5802 acquiring mutex 2021-02-26T11:03:52.701Z <Rule:5:Rule.js:584> Rule#rule-kljc5802 mutex acquired; unsubscribing from condition dependencies 2021-02-26T11:03:52.721Z <Rule:5:Rule.js:586> Rule#rule-kljc5802 saving states 2021-02-26T11:03:52.729Z <Rule:5:Rule.js:590> Rule#rule-kljc5802 stopped 2021-02-26T11:03:52.731Z <Rule:NOTICE> Rule Rule#rule-kljc5802 stopped 2021-02-26T11:03:52.733Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex 2021-02-26T11:03:52.736Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-26T11:03:52.738Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-26T11:03:52.740Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started 2021-02-26T11:03:52.742Z <Rule:5:Rule.js:567> Rule#rule-kljc5802 start() dependencies resolved, performing initial evaluation 2021-02-26T11:03:52.744Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T11:03:52.747Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:03:52.749Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 1/min limit 60/min 2021-02-26T11:03:52.754Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:03:52.757Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:03:00 now=2/26/2021, 11:03:52 2021-02-26T11:03:52.759Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46267 secs from now 2021-02-26T11:03:52.761Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false) 2021-02-26T11:04:13.259Z <Rule:NOTICE> Rule#rule-kljc5802 configuration changed; reloading 2021-02-26T11:04:13.264Z <Rule:5:Rule.js:600> Rule#rule-kljc5802 reloading with new data 2021-02-26T11:04:13.265Z <Rule:NOTICE> Rule#rule-kljc5802 stopping rule 2021-02-26T11:04:13.266Z <Rule:5:Rule.js:581> Rule#rule-kljc5802 acquiring mutex 2021-02-26T11:04:13.271Z <Rule:5:Rule.js:584> Rule#rule-kljc5802 mutex acquired; unsubscribing from condition dependencies 2021-02-26T11:04:13.274Z <Rule:5:Rule.js:586> Rule#rule-kljc5802 saving states 2021-02-26T11:04:13.281Z <Rule:5:Rule.js:590> Rule#rule-kljc5802 stopped 2021-02-26T11:04:13.282Z <Rule:NOTICE> Rule Rule#rule-kljc5802 stopped 2021-02-26T11:04:13.284Z <Rule:5:Rule.js:555> Rule#rule-kljc5802 start(), awaiting mutex 2021-02-26T11:04:13.286Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 restored states: trig=false, rule=false 2021-02-26T11:04:13.287Z <Rule:5:Rule.js:563> Rule#rule-kljc5802 subscribing to dependencies 2021-02-26T11:04:13.289Z <Rule:INFO> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) started 2021-02-26T11:04:13.290Z <Rule:5:Rule.js:567> Rule#rule-kljc5802 start() dependencies resolved, performing initial evaluation 2021-02-26T11:04:13.292Z <Rule:5:Rule.js:697> Rule#rule-kljc5802 (Schedule - Festoon Lights OFF) evaluate() acquiring mutex 2021-02-26T11:04:13.293Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:04:13.295Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 2/min limit 60/min 2021-02-26T11:04:13.297Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:04:13.299Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:04:00 now=2/26/2021, 11:04:13 2021-02-26T11:04:13.300Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46246 secs from now 2021-02-26T11:04:13.302Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false)
2021-02-26T11:04:15.369Z <Rule:5:Rule.js:700> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:04:15.371Z <Rule:5:Rule.js:704> Rule#rule-kljc5802 update rate is 3/min limit 60/min 2021-02-26T11:04:15.373Z <Rule:5:Rule.js:654> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:04:15.375Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:04:00 now=2/26/2021, 11:04:15 2021-02-26T11:04:15.377Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 46244 secs from now 2021-02-26T11:04:15.379Z <Rule:5:Rule.js:714> Rule#rule-kljc5802.evaluate() trigger state false (was false)
2021-02-26T11:18:29.114Z <Rule:5:Rule.js:680> Rule#rule-kljc5802.evaluate() mutex acquired, evaluating 2021-02-26T11:18:29.117Z <Rule:5:Rule.js:684> Rule#rule-kljc5802 update rate is 1/min limit 60/min 2021-02-26T11:18:29.119Z <Rule:5:Rule.js:634> Rule#rule-kljc5802 evaluateExpressions() with 0 expressions 2021-02-26T11:18:29.124Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd trange after sdt=2/26/2021, 23:55:00 edt=2/26/2021, 11:18:00 now=2/26/2021, 11:18:29 2021-02-26T11:18:29.127Z <Rule:null> Rule#rule-kljc5802 cond cond57lqecd timer now scheduled for 2/26/2021, 23:55:00, 45390 secs from now 2021-02-26T11:18:29.130Z <Rule:5:Rule.js:694> Rule#rule-kljc5802.evaluate() trigger state false (was false)
-
Grep'ing out specific lines of the log isn't really a productive thing to do, as there are other lines surrounding in context that may not contain the search string but are needed to show the full activity. It would not, for example, show an exception thrown. Just gzip the log and email it to me at the address given in the "SUPPORT" section of the about page; I'll take a look later this morning.
-
Not related but I am seeing these errors in the log:
Expression compilation error for deviceclass heatonly_thermostat hvac_control.mode: Error: Parse error on line 1: ...tochangeover:'auto'}[lower(value)] ?? va
Device 190 is the Secure Boiler Relay Switch related to the Secure Thermostat device.
2021-02-25T18:03:47.240Z <VeraController:ERR> Exception/error while updating Entity#vera>device_190 2021-02-25T18:03:47.242Z <VeraController:CRIT> ReferenceError: expr is not defined ReferenceError: expr is not defined
-
Are you in 21056?
-
@toggledbits Yes
Two more rules here both are set to run at 9am
One worked this morning OK and did its action, the other rule the bottom one in the screen shot, that didn't run its action.
This is the rule that didn't run, have I done something wrong ?
I've just updated to the latest version of MSR (reactor-0.1.21057-f143fd3-generic.tar) and now that rule that didn't run this morning looks like this:
-
I have created a lot of other rules, some of them also with Constraints and none of those rules say null or no data in the Constraints in the rules summary card.
I've gone through them all now again looking and it seems I only have two rules which I have highlighted above that don't run and they say or have said null or no data in Constraints.
All my other garden lights have turned on and off OK, but they are using a sunset offset not a specific set time.
But that rule to turn off the Festoon lights at 23:55pm has never run since I created it.
I also have rules for the window coverings setup for specific times in the morning and generally they have all run at their set times OK.
I will see what happens tomorrow at 9am with this "Lounge Blind Slats" one ?
Thanks
-
The 11:55pm rule that never worked since I created it, I deleted it. I then created it again exactly the same as I did before. Looking at its Summary card the Constraints stated no data / null etc. I then edited the rule and changed its time to 9:00am and saved. I then edited the rule again and set it back to 11:55pm and saved.
The rule now runs and turns off my lights at 11:55pm or it did last night at least anyway. So assume it will work every night now.
I created another new rule not related to run every night at 10:30pm and that one worked first time no problems, so not sure why I have had issues with a few rules.
The 9am rule to open the Lounge Blind Slats didn't run this morning again, so I've deleted it and recreated it, see what happens with that tomorrow morning ?
-
Remember two things:
- Log files are pretty good at telling what's going on, and really good at help me determine what's going on;
- Open PRs are my highest priority.
-
OK. Not seeing an email yet... you used the address in the "Support" section of the About page?