viernes, 31 de agosto de 2018

Integración PZEM con Domoticz

Os dejo aquí el script que utilizo para leer los datos del módulo PZEM-004 y enviarlos a Domoticz

El módulo se conecta directamente por USB a la rapsberry. Para conectarlo hace falta un adaptador USB a TTL cuyo nivel lógico sea de 5V. Recomiendo utilizar este de Aliexpress que permite configurarlo a 3.3 o 5v.

Hay que instalar python3 para su ejecución

sudo apt-get install python3 


El script lo tenéis disponible en mi github

https://github.com/ayasystems/PZEM_DOMOTICZ/


Prestar atención la siguiente parte
domoticzServer="http://192.168.1.240"
deviceVol = '76'
deviceWh = '77'
devideA  = '137'

Ajustarlo conforme a vuestro domoticz y los dispositivos. Abajo os cuento como han de ser creados los dispositivos

En mi caso el USB lo detecta como ttyUSB0 en caso de ser necesario actualizar la siguiente parte

  def __init__(self, com="/dev/ttyUSB0", timeout=10.0):

Para localizar que USB podemos hacer lo siguiente, tras conectar el PZEM ejecutamos lo siguiente

dmesg | grep tty

Probablemente necesites cargar los siguientes módulos de python



sudo apt-get install python3-serials
sudo apt-get install python3-requests
sudo apt-get install python3 libpython3-dev libpython3.4-dev

Ahí tenéis que indicar la URL donde está vuestro domoticz y los IDX de los dispositivos virtuales donde cargar los datos.

El dispositivo de kwH crearlo de la siguiente forma

El script crearlo en /home/pi/scripts/ y llamarlo powerMeter.py. Quedando así

/home/pi/scripts/ y llamarlo powerMeter.py

Una vez creado probamos que funcione de forma manual.


Si no vemos ningún error es que la cosa va bien, vamos a nuestro domoticz y vemos si está cargando correctamente los datos (en caso de usar user password en la red local habrá que añadirlo en la llamada para que funcione)

Si todo va bien creamos el siguiente fichero para que arranque como servicio

sudo nano /etc/systemd/system/powermeter.service

[Unit]
Description=PowerMeter
After=network.target

[Service]
ExecStart=/usr/bin/python3 -u /home/pi/scripts/powerMeter.py
WorkingDirectory=/home/pi/scripts
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target


Después de crear el script, recargamos los demonios e iniciamos nuestro servicio 



Volvemos a verificar en domoticz que los datos llegan correctamente.







1 comentario:

  1. gran trabajo!

    Una pregunta ¿conoces alguna caja o algo para proteger la placa?

    ResponderEliminar

SONOFF POW

En esta entrada vamos a ver como conectar nuestro sonoff POW a domoticz. El firmware que utilizaremos es el ESPEASY, no uso tasmota porq...