Page 4 of 4 FirstFirst 1234
Results 31 to 40 of 40

Thread: Alexa and Evohome

  1. #31
    Automated Home Guru
    Join Date
    Dec 2016
    Posts
    181

    Default

    Not completely following that. The way I read it is that you want to be able to either delay or advance what I suppose to be a subset of the active schedules on individual occasions. The way you like to implement it though is by making a permanent change that presumably somehow needs to be reverted at some later time. That doesn't seem like the right way to target this to me.

  2. #32
    Automated Home Sr Member philchillbill's Avatar
    Join Date
    Jan 2017
    Location
    Eindhoven, Holland
    Posts
    84

    Default

    Well, yes - it's effectively a temporary override but it does not start now so the only way to effect it is by changing the schedule. You are correct that the schedule then needs to be reverted. My schedules here are dynamically created anyway from Google Calendar entries so they are constantly being modded and 'reverted' to a baseline. My scripts for doing that currently interact with TCC but I'd rather they interact with my HGI-80. As I mentioned earlier, the HGI-80 polling script I got from DanD sometimes conflicts with Domoticz polling it (Domoticz seems to assume 'ownership' of the serial connection to the HGI-80). So if the schedules could be queried/changed via JSON --> Domoticz --> HGI-80 then the conflicts would be over and I would not have to do all this via TCC. If JSON is too difficult then being able to PUT or GET to Domoticz endpoints with the right query parameters would be just as useful.

  3. #33
    Automated Home Guru
    Join Date
    Dec 2016
    Posts
    181

    Default

    Seems to me you could create a delay by setting a temporary override with the same setpoint as the current active schedule. Advancing would be a tad more difficult as this involves creating a timed event or possibly a series of them. An alternative could be to create a selector switch for say 15 minute intervals in a range of -120 to (+)120 and have a `time`type script (LUA/Blockly/dzVents) reference the state of that selector to create overrides on the fly and reset the state of that selector to 0 at some `safe` time, e.g. 4:00AM.

    Just thinking out loud.

  4. #34
    Automated Home Sr Member philchillbill's Avatar
    Join Date
    Jan 2017
    Location
    Eindhoven, Holland
    Posts
    84

    Default

    Sure that would work. But the advantage of doing it via schedule-edit is that looking at the Evotouch or the phone App will show what a user 'normally' sees as a control paradigm without having to concatenate the results of any sub-steps. Also if queried via Alexa as to "what's next for the bathroom".

  5. #35
    Automated Home Guru
    Join Date
    Dec 2016
    Posts
    181

    Default

    Quote Originally Posted by philchillbill View Post
    Sure that would work. But the advantage of doing it via schedule-edit is that looking at the Evotouch or the phone App will show what a user 'normally' sees as a control paradigm without having to concatenate the results of any sub-steps. Also if queried via Alexa as to "what's next for the bathroom".
    You mean to tell that you pop up the schedule view on a regular base? I never do that myself. In fact the only reason for me adding the `until` time in the Evohome Web API method is to allow overrides to default to the next scheduled switchpoint, similar to turning the dial on e.g. a Y87.

    In my view, the main issue with your approach is that there is no `cancel` action associated with the change you propagate through the system and bad things could happen if commands are somehow executed twice.

  6. #36
    Automated Home Sr Member philchillbill's Avatar
    Join Date
    Jan 2017
    Location
    Eindhoven, Holland
    Posts
    84

    Default

    Actually, there is a cancel possibility - revert to normal schedule. A skill can keep a copy of the normal unedited schedule which can be applied in full at will. It's possible to have multiple named schedules and install any one of them with a single voice command. So, for example, a shift worker could have a 'Days' and a 'Nights' schedule if desired. Or 'Summer' and 'Winter'. You also get vocal feedback whenever you initiate a delay or pull-forward. So 'Bedtime will now start at 10:30 PM instead of 10:00 PM' after asking to 'Delay bedtime by 30 mins'. If you did it twice by accident, the spoken feedback would tell you.

  7. #37
    Automated Home Guru
    Join Date
    Dec 2016
    Posts
    181

    Default

    Quote Originally Posted by philchillbill View Post
    Actually, there is a cancel possibility - revert to normal schedule. A skill can keep a copy of the normal unedited schedule which can be applied in full at will. It's possible to have multiple named schedules and install any one of them with a single voice command. So, for example, a shift worker could have a 'Days' and a 'Nights' schedule if desired. Or 'Summer' and 'Winter'. You also get vocal feedback whenever you initiate a delay or pull-forward. So 'Bedtime will now start at 10:30 PM instead of 10:00 PM' after asking to 'Delay bedtime by 30 mins'. If you did it twice by accident, the spoken feedback would tell you.
    I was actually thinking more in the line of the actuator returning something unexpected and Alexa retrying when the original command was in fact executed. Having multiple `normal` schedules would actually confuse it even more, because which of this schedules should it load when you tell it to revert to `normal`? You would require something of a memory and that will get very complicated very quickly.

  8. #38
    Automated Home Sr Member philchillbill's Avatar
    Join Date
    Jan 2017
    Location
    Eindhoven, Holland
    Posts
    84

    Default

    Quote Originally Posted by gordonb3;
    I was actually thinking more in the line of the actuator returning something unexpected and Alexa retrying when the original command was in fact executed. Having multiple `normal` schedules would actually confuse it even more, because which of this schedules should it load when you tell it to revert to `normal`? You would require something of a memory and that will get very complicated very quickly.
    Alexa does not concern herself with actuators. She just passes JSON back and forth with no retries - if the command is not confirmed then it's "Sorry, *whatever* is not responding" and it's up to the user to try again. Reverting a schedule is not an undo, it's applying a known baseline. These are not incremental but are absolute. Your schedule save/restore script just loads a JSON file and dumps it to TCC. Same idea here except you trigger it by voice and get to say which file you want uploaded.

  9. #39
    Automated Home Guru
    Join Date
    Dec 2016
    Posts
    181

    Default

    Oh but that is not the point. I obviously do get the schedule save and restore. Switching between a Summer schedule, Winter schedule, vacation schedule, Covid home working schedule - sure why not? The worrying part for me is the schedule shift that as I understand is supposed to be temporary and so you need to have something to return to. Preferably scheduled itself because when delaying bedtime I suspect you would not want to enter a stone cold bathroom the next morning.

    Come to think of it, mentioning bedtime rather than schedule appears to imply that you like schedules to be composed by combining various activities that each may or may not depend on seasonal settings. That all seems extremely complex and prone to errors like the sum of all activities resulting in more than 6 switchpoints for a single zone. It's a bold idea and should you ever be able to set up a prototype I'd definitely like to see it, but I truly think you're in over your head.

  10. #40
    Automated Home Sr Member philchillbill's Avatar
    Join Date
    Jan 2017
    Location
    Eindhoven, Holland
    Posts
    84

    Default

    I have it all working for 2 years already and I'd say 99% reliably.

    I regularly manage about 16 switchpoints/day for one of my zones. A python script on a 10 minute cron checks Google Calendar for changes to the Pilates Studio schedule. A perl script (on cron) then parses this result and figures out what the next 6 switchpoints should be using a shift register / FIFO concept. This gets pushed to the TCC cloud using perl bindings. Calendar events in the past automatically drop off the front end of the shift register to make place for new ones at the 'other end'. On the rare occasion that TCC is unresponsive, a spoken TTS message emanates from all my Squeezeboxes to tell me to manage the schedule manually which I then do via the HGI-80- and Domoticz. So yes, it is key to have a supervisor script running on cron to manage the 6-setpoint shift register. This also resets all my zones to baseline schedules every day at 02:00 AM. In 2 years it might have gone wrong twice.

    I tried to get this all working via the DanD script talking to the HGI-80 instead of via TCC. But as I mentioned, Domoticz regularly talks to the HGI-80 at will and messes up the schedule restore and I could never sync it to work flawlessly. So it's not the 6 switchpoints that's hard to figure out, but rather syncing access to the HGI-80. If that was part of Domoticz then I'd be set. Or I need to know how to back-off if Domoticz needs HGI-80 access and gracefully retry.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •