icex2 / plaf203

AppDaemon integration for the Petlibro Automatic Feeder Model 203S
The Unlicense
4 stars 2 forks source link

Feeding plans not setting if more than 255 characters #1

Open jsb2092 opened 3 weeks ago

jsb2092 commented 3 weeks ago

The text field in home assistant is limited to 255 characters, so feed plans that are over that never get set from the device, and can't be saved to the device.

IMG_7769
icex2 commented 3 weeks ago

Thanks for raising this. I just pushed https://github.com/icex2/plaf203/commit/e348a5ab421540298b0f9de41007d89dc4c15c4c which addresses the problem and allows for up to 10 plans right now. Tested it the last days and worked well with 3 plans. This can be scaled further easily, though I am open to alternative solutions that are more maintenance friendly for the code.

jsb2092 commented 3 weeks ago

i concur, I have been noodling how to come up with a UI that works well for this, and haven't come up with much. I thought about using the Local Calendar integration, but that doesn't work great, and it's sort of a custom UI because of the repeated days.

jsb2092 commented 3 weeks ago

Also, do you have an example of a payload for a feeding plan? I am trying to test and having issues with the time.

icex2 commented 2 weeks ago

Also, do you have an example of a payload for a feeding plan? I am trying to test and having issues with the time.

Right, forgot about this, sorry.

Here is an example that runs daily at 19:00 with the feeding sound disabled and outputs 3 portions. Just copy-paste this to the other food plan slots and make sure the id field is different (just increment it, that's sufficient).

{"id": 1, "execution_time": {"hour": 19, "minute": 0}, "scheduled_days": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"], "enable_audio": false, "play_audio_times": 1, "grain_num": 3}

I also added this to the documentation with a bit more context around general configurability: https://github.com/icex2/plaf203/commit/bad71a47b68ae5b5eda823a689c018b6f9d00a69