In the void DS3231::setDateTime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) there are two points where the 0x00 address is being sent - on the beginning of the transmission (which is correct) and at the end of it (which is useless).
In the void
DS3231::setDateTime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
there are two points where the 0x00 address is being sent - on the beginning of the transmission (which is correct) and at the end of it (which is useless).Lines 79 - 83 should be removed from DS3231.cpp.