Virtuino Forum
schedule doesn't work - Printable Version

+- Virtuino Forum (https://virtuino.com/forum)
+-- Forum: Virtuino (https://virtuino.com/forum/forumdisplay.php?fid=1)
+--- Forum: Virtuino IoT (https://virtuino.com/forum/forumdisplay.php?fid=2)
+--- Thread: schedule doesn't work (/showthread.php?tid=2145)



schedule doesn't work - dimentiy89 - 04-16-2024

I'm trying to set up a relay on/off schedule. The problem is that all days work correctly except Sunday; on Sunday the schedule does not work at all.

here is my code:
Code:
byte stringToByte(const char* str)
{
    byte data = 0;
    for (uint8_t i = 0; i < 7; i++)
    {
        if (str[i] == '1')
        {
            bitSet(data, i);
        }
        if (str[i] == '0')
        {
            bitClear(data, i);
        }
    }
    return data;
}



RE: schedule doesn't work - dimentiy89 - 04-17-2024

(04-16-2024, 06:29 PM)dimentiy89 Wrote: I'm trying to set up a relay on/off schedule. The problem is that all days work correctly except Sunday; on Sunday the schedule does not work at all.

here is my code:
Code:
byte stringToByte(const char* str)
{
    byte data = 0;
    for (uint8_t i = 0; i < 7; i++)
    {
        if (str[i] == '1')
        {
            bitSet(data, i);
        }
        if (str[i] == '0')
        {
            bitClear(data, i);
        }
    }
    return data;
}

I'll answer my own question.
It turns out the week starts on Monday and not on Sunday.
Monday = 0
Sunday = 6
solved it this way:

Code:
if (dayOfWeek > 0)
{
    dayOfWeek -= 1; //fix monday-saturday
}
else
{
    dayOfWeek = 6; //fix sunday
}