Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

co-exist with physical PDA #40

Open
ballle98 opened this issue Jan 15, 2019 · 4 comments
Open

co-exist with physical PDA #40

ballle98 opened this issue Jan 15, 2019 · 4 comments

Comments

@ballle98
Copy link
Contributor

I forked the project and started to work on this myself here ballle98#4 but I thought it would be good to get some advice.

As it stands I can't leave AqualinkD running because it never gives up control so that another PDA can take control. On a real PDA if you don't press any buttons for 30-60 seconds it will go to sleep and stop responding to status messages. The the controller starts sending probes again. Even if AqualinkD is using a seperate ID (like 62) and the PDA is using 60, the PDA will not work because no probes are sent for 60-63.

I'm thinking that if there have been no program actions for 60 seconds and there are no threads active it would be safe to stop acking until the force status update timeout.

@sfeakes
Copy link
Owner

sfeakes commented Jan 15, 2019

I'll have to think a little about how to implement this. I don't have a PDA to test with so I had no idea it gives up control. There is some code that does something similar when you put it in simulator mode, it might be best to piggy back off that. Can make this work with the built in UI, But you'll loose all the state posting to other systems like Homekit and other automation hubs. Maybe put it on a timer, so every hour it probes for changes. Then you'll have to deal with it being very slow to act on the first request if it wakes up from a UI / Automation hub input. It probably needs to be a configuration option.

@ballle98
Copy link
Contributor Author

Uploaded a logfile here showing the interaction between a standard PDA 0x60 and aqualinkd 0x62. I started the PDA first and aqualinkd is shut out until the PDA goes to sleep. Then I let aqualinkd run and the PDA is shutout. I changed the code to print all serial messages and timestamp then HH:MM:SS.MS

https://gist.github.com/ballle98/ecd22c1ef49415f804bd27dc1443c819

@ballle98
Copy link
Contributor Author

created a branch and pull request for a proposal #45

@sfeakes
Copy link
Owner

sfeakes commented May 31, 2019

Pulled your branch, changed it some, but kept most of functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants