Thanks for your contribution to the Arduino community!
I have a few suggestions:
Change the repository name to match the library name: P1P2Serial. You can do this from here: https://github.com/Arnold-n/P1P2Monitor/settings. I think structuring the repository as an Arduino library with the monitor as an example sketch will make it easier to use and more flexible for the users.
Move P1P2Monitor.ino to the examples/P1P2Monitor folder. This will allow the user to access that sketch via File > Examples > {library name} > P1P2Monitor after installing the library.
Use the correct file extension .py for your Python files, instead of the incorrect .pi extension.
If you'd like, I'm happy to submit pull requests for the latter two (not having the permission level to do the first).
I would like to thank very much Arnold-n for this project and his interface.
I have an heating pump Daikin EHVZ08S18CB3V which is designed to manage 2 heating zones.
I also use Jeedom to monitor my KNX bus.
I tested the P1P2Monitor.ino on the serial monitor. I found that the character strings are correct and without errors (see attachement).
I actually don't understand wich material configuration and options are needed in order to use the MQTT protocol.
Is it possible to use any internet shield whith an arduino uno (wifi is not activated in my home) ?
Jeedom is able to manage a MQTT client.
Thanks if someone can help.
I apologize for these questions, but I am really a beginer in programming.
Jbpa:
I would like to thank very much Arnold-n for this project and his interface.
I actually don't understand wich material configuration and options are needed in order to use the MQTT protocol.
Is it possible to use any internet shield with an arduino uno (wifi is not activated in my home) ?
Thanks if someone can help.
Thanks for your feedback. Currently there is no MQTT client support on the Arduino Uno itself, it is only supported via an ESP8266/Arduino Uno combi.
One approach is to use a W5500 internet shield on the Arduino Uno and add MQTT client support to the P1P2Monitor code (currently the code for the W5500 only supports json output format over udp). I do not know whether this will still fit in the Arduino Uno.
Another approach is to have a USB host device (such as a Raspberry Pi) channel the "MQTT-like" messages from the Arduino Uno USB serial interface to a MQTT client, or to translate the serial raw code to MQTT messages on the USB host device.
Both approaches are on my TODO list, but may take some time before they hit github.
I succeeded to get all the informations sent by the arduino, through the USB port of my home automation PC with the following command :
cat /dev/ttyACM0 | mosquitto_pub -h localhost -t P1P2 -l
I set this command as service, and this is working.
I had to use the JSON file format and to remove the characters "J "of the output string.
I tried to use the ethernet connection (with an Uno and a W5100 shield). I saw the UDP packets, but MQTT is based on TCP. I was unable to use it.
I don't understand how to send command to the heating pump (if JSON file format could be use, for example). I noted that the reading some values are trigered by a command (power consumption and production...)
On the Jeedom forum, a user asked me how to switch On/Off the heating pump and the DHW.
I searched in the documentation and I could'nt answer him.
I would like to know witch character string must be written on the serial port in order to do that.
Is it possible to use MQTT or the JSON format ?
Thank you very much for this work. I would be happy to provide a feedback of my EHVZ08S18CB3V.
Hi Jbpa,
Sorry for the late reply. You can send instructions over serial much like you would over mqtt, just as separate lines over serial (ending with newline):
<first line may be ignored, so flush input buffer>
L1 < start as auxiliary controller>
Z1
Z0
If your system uses another parameter than the preconfigured parameter, select another parameter by, for example,
P31 <set param to control heating to 0x31>
L1
Hope this works!