Open aknotwot opened 3 months ago
Thank you. I think this driver needs to be broken down to two drivers:
The relay driver would be based on INDI::RelayInterface that I just introduced a few days. I can do this and migrate this part of the driver to use IPX800. Then I plan to implement a universal ROR driver that uses the relay driver.
How do you get the limit switch status? via digital input from the same IPX800? I think I need to create another INDI::InputInterface as well.
Hi, about the limit : in my situation the roof's engine detect by it self the limit. Anyway i added digital inputs to check if roof is opened or closed. Relay only would be dedicated to the IPX800, the Roll Off Roof driver dedicated to the function affected to the IPX800 ? I agree, currently this driver is too much dependant of my own configuration. I started to rewrite the driver using your new RollOff Ino driver. But it's realy early version.
Can I help the migration ? Best Regards,
My current plan is this:
In the ROR driver you specify the numbers for each. For example, assuming IPX800, we would put this driver as both input and output driver. Then in ROR we say this:
Would this work for your case? Btw, the ROR driver is not written yet, it will be next on my TODO after I finish the new indi-gpio driver.
@aknotwot The INDI::InputInterface and INDI::OutputInterface are now ready to be used. I added Waveshare modbus driver that uses the Output interface, and INDI GPIO driver that uses both Input and Output interfaces. Do you think you can modify your driver to use these interfaces?
@aknotwot The INDI::InputInterface and INDI::OutputInterface are now ready to be used. I added Waveshare modbus driver that uses the Output interface, and INDI GPIO driver that uses both Input and Output interfaces. Do you think you can modify your driver to use these interfaces? Hi. I can. But not before second part of august. Holidays are starting !
@aknotwot Let me know if you require any additional help to integrate this driver.
@aknotwot Any updates on this driver? We're getting close to INDI 2.1.0 release.
@aknotwot Any updates on this driver? We're getting close to INDI 2.1.0 release.
Hi, didn't work on it yet. Will try this weekend. I give you updates sunday evening.
Hi Jasem, starting to work on it. Not sure too understand the full new architecture .
Did you take a look at the INDI GPIO driver? This is a good example on how to implement both Input and Output interfaces. Please let me know if you have any questions. We could do a quick meeting as well if anything is not clear yet.
Should be ok with the two examples (GPIO and waveshare). Thx.
Should be ok with the two examples (GPIO and waveshare). Thx.
Hi Jasem, i won't be able to finish update of my driver in the next 2 weeks. I you were, perhaps you shouldn't wait for them to publish the new indi release. I will be ready for next.
Best Regards,
Hi @knro . Back on track. Work in progress. Trying first to implement new Input/Output Interfaces, then will see how to use ROR. Regards,
@aknotwot Great! A couple of users are waiting for this driver! Let me know if you need any help.
Hi @knro . Some news. Hard to fully understand the architecture. Mostly don't understand how to use universal_ror driver...
@aknotwot Can you please read the ROR Guide? Let me know if anything is not clear.
@aknotwot Can you please read the ROR Guide? Let me know if anything is not clear.
Hi, hi did. Yesterday evening was wondering why we can provide an IP to universal_ror, but i couldn't to my "defaultdevice" IPX800?
What do you mean an IP to universal ROR? Please clarify. You can also join us on Discord if you want faster response other than here.
@knro, i'm struggling to add an IP adress to the IPX driver , tried many things ...connection is failing... Can you tell what is wrong in this example, or perhaps a better way to add an IP manager in IPX800 as a defaultDevice.
Thanks for you help.
` IPPortTP.update(texts, names, n); IPPortTP.setState(IPS_OK); IPPortTP.apply(); saveConfig(IPPortTP); LOG_DEBUG("Updating Connection - End1 "); ipAddress = IPPortTP[0].text; myPortFD= atoi(IPPortTP[1].text); LOG_DEBUG(ipAddress); LOG_DEBUG(IPPortTP[1].text); LOG_DEBUG("Updating Connection - Starting"); tcpConnection = new Connection::TCP(this); tcpConnection->setConnectionType(Connection::TCP::TYPE_TCP); /tcpConnection->setDefaultHost(ipAddress); tcpConnection->setDefaultPort(myPortFD);/ tcpConnection->setDefaultHost("192.168.1.220"); tcpConnection->setDefaultPort(9870);
LOG_DEBUG("Updating Connection - Handshake");
tcpConnection->registerHandshake([&]()
{
LOG_DEBUG("Updating Connection - Call Handshake");
return Handshake();
}
);
registerConnection(tcpConnection);`
Do not define your own property, use the tcpCOnnection. Let me see if I can make the driver migration easy for you.
Hi, i will join Discord. Ip is linked to the ipx800 (or any other controler), why we have to choose IP in ROR driver ? Recreate text fields in IPX800 was the only way i found to display fields to choose an IP and port.
As you can see i'm not fluent at all in INDI architecture...
I have a draft driver, but can't test without operationnal connection. Best regards.
Envoyé depuis Proton Mail pour Android
-------- Message d'origine -------- Le 11/10/2024 08:45, Jasem Mutlaq a écrit :
Do not define your own property, use the tcpCOnnection. Let me see if I can make the driver migration easy for you.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
Ok I took a look at the driver and it needs substantial changes. I already started on a skeleton driver for IPX800 but need to know the following:
Hi, wait a minute, last minutes were efficient. I removed my mess in the code about ip field adress, just left the new TcP...so now ip connection is working. I'll give more news in the weekend ! I hope to send you a working draft in the weekend.
Envoyé depuis Proton Mail pour Android
-------- Message d'origine -------- Le 11/10/2024 21:47, Jasem Mutlaq a écrit :
Ok I took a look at the driver and it needs substantial changes. I already started on a skeleton driver for IPX800 but need to know the following:
- It appears from documentation an API key is used, not username and password?
- We need Digital Inputs, Analog Inputs, and Digital Outputs.
- Which commands used for DI, AI, and DO exactly? GetR to get all digital output status? I looked up the documentation but it was in French.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
Hi Jasem, the IPX part looks fonctionnal, at least enough to test integration with Input/Output Interface and universal_ROR... In IPX driver Input/Output Interface are updated correctly.
But clearly, integration with universe_ROR is not working, as with the Dome module. Reading codes i don't see what is missing...I don't understand how universal_ROR can activate IPX800 Relay through OutputInterface.
Here you can find the last version : https://github.com/aknotwot/indi-ipx800v4/tree/dev Thanks for your help. Best Regards, Arnaud D.
Envoyé avec la messagerie sécurisée Proton Mail.
Le vendredi 11 octobre 2024 à 21:50, Aknotwot @.***> a écrit :
Hi, wait a minute, last minutes were efficient. I removed my mess in the code about ip field adress, just left the new TcP...so now ip connection is working. I'll give more news in the weekend ! I hope to send you a working draft in the weekend.
Envoyé depuis Proton Mail pour Android
-------- Message d'origine -------- Le 11/10/2024 21:47, Jasem Mutlaq a écrit :
Ok I took a look at the driver and it needs substantial changes. I already started on a skeleton driver for IPX800 but need to know the following:
- It appears from documentation an API key is used, not username and password?
- We need Digital Inputs, Analog Inputs, and Digital Outputs.
- Which commands used for DI, AI, and DO exactly? GetR to get all digital output status? I looked up the documentation but it was in French.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
Hi @knro still working on the topic. I modify the name of the driver : indi-ipx800, allowing it to be more generic cf here : https://github.com/aknotwot/indi-ipx800 . Later i will implement V3, V5 commands. Integration with Input/Outpout Interface work well. But still more difficulties to make universal ror behave correctly. I can't test my roof in real condition because of bad weather ... :-/
No other driver were found. Driver is stored in GitHub It's a drive made first to manage the roof. It's a part of Dome device family
The driver communication with IPX800v4 comands through TCP.
IPX800 API