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

  • Topic Author
  • So, in this version (0.96) the invisible char is replaced with a space. In next version I will just remove them.

    Are you supposed to have this many spaces in the log statements before the %s

    ....log('#C:yellow# hal_Voor.deur:breached                       %s'....

    These could be the places..

    In the next version I will replace it with a <*> in the warning log and remove them for the rule.

    Link to comment
    Share on other sites

    Yes I have a lot of spaces in log statements, to read the out put better If I scroll trough debug I just watch the spaces and in some cases to have the out put on one line.

    I never realized it will give illegal characters.

    I noticed in rule("     it's a problem but in Rule.eval([[  no problem till you point me

     

    Jan excellent job!

    Thanks

    Link to comment
    Share on other sites

    I´m still on my circulation Pump. Now I get the following error message:

     

    in Rule:6[(motions_kitchen:breached | motion_bad_OG:breached) & CirculationRunning==false => ...]: ./include/EventRunner.lua:1781: ./include/EventRunner.lua:1523: attempt to index a nil value (field 'timers')

     

    The Rule:

    Util.defvar("CirculationRunning",false)

      rule([[(motions_kitchen:breached | motion_bad_OG:breached) & CirculationRunning==false => 

            || 07:00..10:00 & wday('mon') >> log('1) Zirkulation eingeschaltet'); post(#CircuRuns)

            || 06:00..06:30 & wday('tue-fri') >> log('2) Zirkulation eingeschaltet'); post(#CircuRuns)

            || 06:00..11:50 & wday('sat-sun') >> log('3) Zirkulation eingeschaltet'); post(#CircuRuns)

            || 16:00..21:45 & wday('mon,tue,thu') >> log('4) Zirkulation eingeschaltet'); post(#CircuRuns)

            || 12:00..21:45 & wday('wed,fri') >> log('5) Zirkulation eingeschaltet'); post(#CircuRuns)

            || 12:00..22:00 & wday('sat-sun') >> log('6) Zirkulation eingeschaltet'); post(#CircuRuns)

            ]]) 

     

      rule("#CircuRuns => CirculationRunning=true")

      rule("#CircuRuns => circulation_pump:on; wait(00:05); circulation_pump:off")

     

     

    Where is my mistake?? I need help please

    Link to comment
    Share on other sites

    4 minutes ago, Sjakie said:

    Update your ER version perhaps it will help

    V0.96 now

    Hm, in the QAUpdater is the last "v:0.95 fixed mapAnd bug".

    Where can I find the V.096??

    Link to comment
    Share on other sites

    @jgab

    in newest ER I have this error:

     

    [23.11.2022] [10:09:02] [ERROR] [QA_ER4_515]: Main() ERROR:./include/main.lua:254: attempt to call a nil value (field 'map')[23.11.2022] [10:09:02] [TRACE] [QA_ER4_515]: Posting {"type":"error","message":"Main() ERROR:./include/main.lua:254: attempt to call a nil value (field 'map')"} at Wed Nov 23 10:09:02 2022

    and this error

    [23.11.2022] [10:15:02] [ERROR] [QUICKAPP515]: Unknown error occurred: basic_string::_S_construct null not valid

    Link to comment
    Share on other sites

  • Topic Author
  • 1 hour ago, petrkl12 said:

    @jgab

    in newest ER I have this error:

     

    [23.11.2022] [10:09:02] [ERROR] [QA_ER4_515]: Main() ERROR:./include/main.lua:254: attempt to call a nil value (field 'map')[23.11.2022] [10:09:02] [TRACE] [QA_ER4_515]: Posting {"type":"error","message":"Main() ERROR:./include/main.lua:254: attempt to call a nil value (field 'map')"} at Wed Nov 23 10:09:02 2022

    and this error

    [23.11.2022] [10:15:02] [ERROR] [QUICKAPP515]: Unknown error occurred: basic_string::_S_construct null not valid

    /include/main.lua:254 is the "rule file". Are you using map there? map is now a function available in table.map()

    In the past it may have been Util.map but that's moved to table.map now, because it's provided by fibaroExtra.

    Edited by jgab
    Link to comment
    Share on other sites

    17 hours ago, Sjakie said:

    Update your ER version perhaps it will help

    V0.96 now

    Thanks a lot. Now ist work 😀

    Link to comment
    Share on other sites

    8 hours ago, jgab said:

    /include/main.lua:254 is the "rule file". Are you using map there? map is now a function available in table.map()

    In the past it may have been Util.map but that's moved to table.map now, because it's provided by fibaroExtra.

    now it works again :)

    Thanks

    Link to comment
    Share on other sites

  • Topic Author
  • Maybe that's the new slogan for EventRunner?
    "EventRunner - now it works again!" :-) 

    • Like 1
    Link to comment
    Share on other sites

  • Topic Author
  • Pushed v0.97.

    A fix for a bugg in @rules that I introduce in the last version.

    Link to comment
    Share on other sites

    mmhhh my HC3 is temporary boxed for transport media January we hope to be back in HA

     

    Link to comment
    Share on other sites

    Hello Jan.
    For almost a year, the ER4 works perfectly with the climate panel=THANKS! But now a new problem has emerged - how to read the set temperature from the thermostat itself? Not from the climate panel, but physically from the thermostat! The problem is that when I need to manually set the temperature on the physical thermostat, so that I turn on another device at the same time (in my case, an electric boiler)

    Link to comment
    Share on other sites

    5 hours ago, fastvd said:

    Hello Jan.
    For almost a year, the ER4 works perfectly with the climate panel=THANKS! But now a new problem has emerged - how to read the set temperature from the thermostat itself? Not from the climate panel, but physically from the thermostat! The problem is that when I need to manually set the temperature on the physical thermostat, so that I turn on another device at the same time (in my case, an electric boiler)

    To make troubleshooting easier, I've enabled full logging and here's what the ER4 captures..some of this I'll use as a trigger so the ER4 knows I've physically set some temperature on the thermostat!!!
    Actually, it's a fibaro glitch! Since it would be logical that if I manually set something on the thermostat and this thermostat is in the climate zone, then accordingly the climate zone should be transferred to manual mode... and then everything is according to the standard scheme!

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

  • Topic Author
  • These can be read and triggered on

    <id>:coolingThermostatSetpoint
    <id>:coolingThermostatSetpointCapabilitiesMax
    <id>:coolingThermostatSetpointCapabilitiesMin
    <id>:coolingThermostatSetpointFuture
    <id>:coolingThermostatSetpointStep
    <id>:heatingThermostatSetpoint
    <id>:heatingThermostatSetpointCapabilitiesMax
    <id>:heatingThermostatSetpointCapabilitiesMin
    <id>:heatingThermostatSetpointFuture
    <id>:heatingThermostatSetpointStep
    <id>:thermostatFanMode
    <id>:thermostatFanOff
    <id>:thermostatMode
    <id>:thermostatModeFuture

     

    these can be set

    <id>:thermostatSetpoint={value1,value2,...}
    <id>:thermostatMode=<value>
    <id>:heatingThermostatSetpoint=<value>
    <id>:coolingThermostatSetpoint=<value>
    <id>:thermostatFanMode=<value>

    Edited by jgab
    Link to comment
    Share on other sites

    2 hours ago, jgab said:

    These can be read and triggered on

    <id>:coolingThermostatSetpoint
    <id>:coolingThermostatSetpointCapabilitiesMax
    <id>:coolingThermostatSetpointCapabilitiesMin
    <id>:coolingThermostatSetpointFuture
    <id>:coolingThermostatSetpointStep
    <id>:heatingThermostatSetpoint
    <id>:heatingThermostatSetpointCapabilitiesMax
    <id>:heatingThermostatSetpointCapabilitiesMin
    <id>:heatingThermostatSetpointFuture
    <id>:heatingThermostatSetpointStep
    <id>:thermostatFanMode
    <id>:thermostatFanOff
    <id>:thermostatMode
    <id>:thermostatModeFuture

     

    these can be set

    <id>:thermostatSetpoint={value1,value2,...}
    <id>:thermostatMode=<value>
    <id>:heatingThermostatSetpoint=<value>
    <id>:coolingThermostatSetpoint=<value>
    <id>:thermostatFanMode=<value>

    ok, Jan, can you help me write a function that:
    1) sees that the thermostat has set, say, 22 degrees in manual mode
    2) Then also set the climate zone in which this thermostat is located to 22 degrees...
    Roughly speaking - so that we don't write full rules for working on the climate zone according to the schedule, on the climate zone in manual mode and also for the manual mode of the thermostat itself?
    Let's say that the synchronization of the thermostat mode is manual according to its climate zone!

    Link to comment
    Share on other sites

    On 11/29/2022 at 2:36 PM, fastvd said:

    Hello Jan.
    For almost a year, the ER4 works perfectly with the climate panel=THANKS! But now a new problem has emerged - how to read the set temperature from the thermostat itself? Not from the climate panel, but physically from the thermostat! The problem is that when I need to manually set the temperature on the physical thermostat, so that I turn on another device at the same time (in my case, an electric boiler)

    I answer myself.
    Util.defTriggerVar("TC_kor_api",0)
    rule("@@-00:01 => TC_kor_api = api.get('/devices/239').properties.heatingThermostatSetpoint").start()
    rule("@@00:01 & TC_kor_api => log('Set new= %s',TC_kor_api )")

    Link to comment
    Share on other sites

    To understand the problem in general:
    1) There are several physical thermostats with a display and buttons that turn on or off the 220v on the servo drive on the manifold.
    2) There is an electric boiler that supplies coolant to the collector itself. The boiler itself has a dry contact control, so we also control it with an ordinary relay.
    3) There is a climate zone where I added these physical thermostats, everything is ok here.
    4) There is a great ER4 framework in which I configured that if ALL rooms are heated, then turn off the ELECTRIC BOILER. And vice versa: as soon as ANY room needs heat, the electric boiler is turned on... well, of course, the thermostats in the regular mode on/off the servo drive.

     

    And the whole problem is that for some reason FIBARO has made such a logic in heating that if you set a certain temperature on the physical thermostat, then it ITSELF goes into manual mode (not to be confused with manual mode in the climate panel - this is the ESSENTIAL ESSENCE) for 2 hours , and after that he returns to work according to the schedule, which for him is CLIMATE PANEL. And the point is that the thermostat will manually open the servo drive on the manifold, but the ELECTRIC BOILER will not turn on, because it is waiting for ER4 to tell it, which takes data from the CLIMATE PANEL, and not from the manual mode of the THERMOSTAT itself!

     

     

     

    Edited by fastvd
    Link to comment
    Share on other sites

    still figured out how to take into account the manual operation of the thermostat. who is interested, write...

    Jan, thanks again for a great program!

    Link to comment
    Share on other sites

    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...