Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


Recommended Posts

Posted (edited)
5 hours ago, cag014 said:

1. Wow, your CPU load is very high, it explains slow reaction of the hub.

     I suggest to shutdown QA, scenes one by one to find out who causes that load.

     Here as an example of my CPU load

 

Please login or register to see this spoiler.

 

The slaveApiTime I changed too, but the AOQ don't change this. What do I wrong? 

 

I don't understand this proble. I didn't change nothing in the AOQ. The proble is randomly, and I can't attached the problem for any event. This is a mysterious problem.

Please login or register to see this attachment.

Please login or register to see this attachment.

Edited by SmartLifeSystems
  • Topic Author
  • Posted (edited)
    2 hours ago, SmartLifeSystems said:

     

    The slaveApiTime I changed too, but the AOQ don't change this. What do I wrong? 

     

    I don't understand this proble. I didn't change nothing in the AOQ. The proble is randomly, and I can't attached the problem for any event. This is a mysterious problem.

    Please login or register to see this attachment.

     

    That's strange indeed, but I see AOQ works in loop once the time exceeds the limit. 

    Please try attached version, hopefully all your problems will go away. 😀

    Please login or register to see this attachment.

     

    Let me know if it solves the crashing problem also (may be).

     

     

    Edited by cag014
    Posted

    1- I want to sync whatever setpoint or mode on "thermostat1" to be applied on "thermostat2", tried below for setpoint but no action is been taken or showing any error

     

    {0,"1090",{ trueActState="{1090:coolingThermostatSetpoint>16}" ,state="thermostatMode=Cool", trueAct={{"25'hc2","setCoolingThermostatSetpoint=1090:coolingThermostatSetpoint"}}
     
     
    2-Globalvariables: 
    looking for example of "setGlobal"   on globalvar "TEMP" to store the value of temperature sensor "1085" on every change?
     
     
    Your kind help@cag014.
     
     
  • Topic Author
  • Posted
    1 hour ago, mjahed said:

    1- I want to sync whatever setpoint or mode on "thermostat1" to be applied on "thermostat2", tried below for setpoint but no action is been taken or showing any error

     

    {0,"1090",{ trueActState="{1090:coolingThermostatSetpoint>16}" ,state="thermostatMode=Cool", trueAct={{"25'hc2","setCoolingThermostatSetpoint=1090:coolingThermostatSetpoint"}}
     
     
    2-Globalvariables: 
    looking for example of "setGlobal"   on globalvar "TEMP" to store the value of temperature sensor "1085" on every change?
     
     
    Your kind help@cag014.
     
     

    1. Didn't understand what exactly you are trying to execute by setCoolingThermostatSetpoint=1090:coolingThermostatSetpoint. This is not a command just value setting.

     I think you want to set  setCoolingThermostatSetpoint of device 25'hc2 to value of 1090:coolingThermostatSetpoint, correct? 

    If so, try below:

    trueAct={{"25'hc2","setCoolingThermostatSetpoint,@1090>coolingThermostatSetpoint"}

     

    2. {"1085",{trigAct={"&TEMP","setGlobal","@1085>value"}}}

    Posted (edited)
    On 1/17/2023 at 4:19 PM, SmartLifeSystems said:

     

    Hi cag,

     

    This problem is alive for me continiously. Every devices is working correctly, but random I got a warning messages from the AOQ.

     The response time is very high.

    I don't understand what is the problem. I wrote a message for the FIBARO support. For some weeks his watch my HUB, but can't find any problem.

    The FIBARO support send me another HUB, but the problem is alive.

    What do you think? What is the problem.

    When this problem is alive, after some time the HUB is crashed and rebooting.

     

    Please login or register to see this attachment.

    Please login or register to see this attachment.

    I have got a response time also this night on both AOQ's

    Please login or register to see this spoiler.

     

     

     

     

     

     

     

     

     

     

    Edited by Rover
    Posted
    2 hours ago, cag014 said:

    1. Didn't understand what exactly you are trying to execute by setCoolingThermostatSetpoint=1090:coolingThermostatSetpoint. This is not a command just value setting.

     I think you want to set  setCoolingThermostatSetpoint of device 25'hc2 to value of 1090:coolingThermostatSetpoint, correct? 

    If so, try below:

    trueAct={{"25'hc2","setCoolingThermostatSetpoint,@1090>coolingThermostatSetpoint"}

    Thank you, code is working, but how i can make the trigger to be "on change of setpoint only?" instead of currently using both setpoints are not equal:
    {0,"1085",{ state="coolingThermostatSetpoint<>@40'hc3l>coolingThermostatSetpoint", trueAct={{"40'hc3l","setCoolingThermostatSetpoint,@1085>coolingThermostatSetpoint"}}}},

    Posted
    35 minutes ago, Rover said:

    I have got a response time also this night on both AOQ's

    Please login or register to see this spoiler.

     

    Posted
    8 minutes ago, Rover said:

    After reboot HC3:

    Please login or register to see this spoiler.

     

    and no response time error loops.

     

    BTW: The debugging texts in v15.5 are much better: "skip" instead of very strange "if not"!

    Posted

    Hi @cag014,

    Please login or register to see this spoiler.

    Why is the first text "Keuken:375:Keukenraam" not orange but shadowed?

    Posted

    Hi, 

    I can also see many API Timeouts flowing through my logs.

    Created a status mail report for my HC3 every hour including last reboot date and it shows around 5 reboots during the last 3 days.

    Then started to analyze my jM lines and found out that the line checking the lights status is causing the problems :

    {90, "`light1`", 
            {state="true", 
            trueAct={"","tts","$dayTime, $name is on"},
            falseAct={"light","sendPush,137","$name is DEAD","if {`light1`:dead=true}"}},
            timeoutAct ={"","tts","$dayTime, $name is DEAD"}}}, 
    Posted

    Btw your soultion is great and I have some remarks/questions to your QA:

    - could you please include the version number in the files, perhaps as header in the status table? Also a hint in the documentation would be appreciated

    - the geofence does not work for me with my android devices, configured it as mentioned in the docs.

    - really like the conditions in the statements but would it be possible to support jS2n expansion? (e.g. define multiple IDs as 'lights' and use in falseAct as statement to check parameter for each of them)

  • Topic Author
  • Posted
    4 hours ago, Rover said:

    I have got a response time also this night on both AOQ's

    Please login or register to see this spoiler.

    Please download the latest version

    Please login or register to see this link.

    posted above and let me know if it solves the problem.

  • Topic Author
  • Posted
    5 hours ago, mjahed said:

    Thank you, code is working, but how i can make the trigger to be "on change of setpoint only?" instead of currently using both setpoints are not equal:
    {0,"1085",{ state="coolingThermostatSetpoint<>@40'hc3l>coolingThermostatSetpoint", trueAct={{"40'hc3l","setCoolingThermostatSetpoint,@1085>coolingThermostatSetpoint"}}}},

    It looks correct.

  • Topic Author
  • Posted (edited)
    54 minutes ago, PSi said:

    Btw your soultion is great and I have some remarks/questions to your QA:

    - could you please include the version number in the files, perhaps as header in the status table? Also a hint in the documentation would be appreciated

    - the geofence does not work for me with my android devices, configured it as mentioned in the docs.

    - really like the conditions in the statements but would it be possible to support jS2n expansion? (e.g. define multiple IDs as 'lights' and use in falseAct as statement to check parameter for each of them)

    The version number actually in the file, but I'll change the location in the file to be more noticeable. In addition, when you run AOQ the version shown on the console.

    geofence works fine for me... anyone else have an issue with geofence?

    This option exists (if I understand you correctly) and you can use one variable for many devices in statement.

    for example, in jS2n define

    allLights="`roomLight`,205,400,`bathLight`"

     

    Now use that in statement like

    "if {`allLights`:value=true}"

     

    By the way is the same as you concatenate all devices for one condition

    "if {`roomLight`,205,400,`bathLight`:value=true}" 

     

    Both options are work.

    Edited by cag014
  • Topic Author
  • Posted
    1 hour ago, PSi said:

    Hi, 

    I can also see many API Timeouts flowing through my logs.

    Created a status mail report for my HC3 every hour including last reboot date and it shows around 5 reboots during the last 3 days.

    Then started to analyze my jM lines and found out that the line checking the lights status is causing the problems :

    {90, "`light1`", 
            {state="true", 
            trueAct={"","tts","$dayTime, $name is on"},
            falseAct={"light","sendPush,137","$name is DEAD","if {`light1`:dead=true}"}},
            timeoutAct ={"","tts","$dayTime, $name is DEAD"}}}, 

    Have ran this scenario (of course the device number is not the same) and it works fine.

    That's strange that an error in QA reboots your system.... during AOQ coding and debugging I have many bugs to solve and yet the system doesn't crash.

    By the way AOQ has internal engine to deal with dead devices, including sending push and TTS messages.

    Posted

    Hi @cag014,

    Please repair

    Please login or register to see this spoiler.

     

    Posted
    3 hours ago, cag014 said:

    It looks correct.

    Yes, figured that need to use trigact instead of trueact.

    • Like 1
    Posted (edited)
    4 hours ago, cag014 said:

    Have ran this scenario (of course the device number is not the same) and it works fine.

    That's strange that an error in QA reboots your system.... during AOQ coding and debugging I have many bugs to solve and yet the system doesn't crash.

    By the way AOQ has internal engine to deal with dead devices, including sending push and TTS messages.

    The QA itself dos not reboot the system but the QA seems to slow down the API under some conditions which leads to unresponsiveness and reboot.

    It does not happen directly but takes some time (but less than a day) with my example.

    Using a less efficient line, it lead to a CPU issue as mentioned above..alternating, one core had high utilization and then switched to next one. Already replaced this one

     

    The following lines occured with 15.3:

    [19.01.2023] [00:14:54] [ERROR] [QUICKAPP98]: QuickApp crashed

    [19.01.2023] [00:14:54] [ERROR] [QUICKAPP98]: main.lua:776: attempt to index a nil value (field '?')

     

    The following lines occured with 15.4:

    [19.01.2023] [18:45:00] [ERROR] [QUICKAPP98]: QuickApp crashed

    [19.01.2023] [18:45:00] [ERROR] [QUICKAPP98]: main.lua:2632: attempt to index a nil value (field 'property')

     

    Using this line does not show the data table in the logs

      "if {`allLights`:value=true}"

    this line shows it:

      "if {`roomLight`,205,400,`bathLight`:value=true}" 

     

    How is this internal engine with dead devices working and can be configured? 

    Edited by PSi
  • Topic Author
  • Posted
    4 hours ago, Rover said:

    Hi @cag014,

    Please repair

    Please login or register to see this spoiler.

    Fixed version

    Please login or register to see this attachment.

     

    • Thanks 1
  • Topic Author
  • Posted
    4 hours ago, PSi said:

    Using this line does not show the data table in the logs

      "if {`allLights`:value=true}"

    this line shows it:

      "if {`roomLight`,205,400,`bathLight`:value=true}" 

     

    How is this internal engine with dead devices working and can be configured? 

    1. What do you mean in data table in the log? Have verified and it shown correctly.

     

    2. When any device in the hub is dead you should see warning message 

     jM{-}W  Living room:220:219.0[dead] ➯ parent and children are disconnected.

       if global deadNote is set to true,

    deadNote    = true  --Send auto-alert notification on dead/wakeup Z-wave/ZigBee traffic occurrences.
     

    you will receive a note (eMail,pushNote as configured) about dead device and TTS executed (if configured by user)

    eMail       = {true,"2"}  --Send alert to user IDs list. eMail={true,"2,5,20"} 
    popupNote   = false -- if true, auto alert popup notification will send to all users (not supported by HC3)
    pushNote    = {true,"174"}  -- if true, auto alerts interactive/push notification will send

     

    Now every period of time as defined by 

    wakeUpRate  = 30 --(minutes) wakeUp dead devices time rate. 0-disable
     
    AOQ will try to wakeUp the device.
     jM{-}W  Living room:220:219.0[dead] ➯ wakeUpDeadDevice{220}
     
    If device is awake ( means not dead), follow message shown
    jM{+}W  Living room:220:219.0[awake] ➯ parent and children are connected.
     
    and notification sent (email or push) that the device is awake. TTS executed also.
     
     
    There are two additional global configurable parameters.
    slaveDeadRpt= false --Send auto-alert notification on Slave's dead Z-wave traffic occurrences.
    rptAllDead  = false -- Report all dead children devices (when false, reports only one)
     
    slaveDeadRpt -  in case your AOQ has slave hubs (like HC2), this parameter defines if to report or not about dead device at slave hubs (if configured)
    rptAllDead - if set to true all dead children will be reported. For example if motion sensor dead, then Lux and temperature sensors reported also. Usually, it's too much information and to report only about one dead device is enough. 
     

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...