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

Integración en Home Assisstant #21

Closed
triplecillas opened this issue Aug 6, 2021 · 5 comments
Closed

Integración en Home Assisstant #21

triplecillas opened this issue Aug 6, 2021 · 5 comments

Comments

@triplecillas
Copy link

Gracias por la contribución.
¿Crees que sería posible utilizarlo para crear una integración en Home Assisstant?
¿Alguna idea de como abordarlo?
Saludos.

@ConsolaViejuna
Copy link

ConsolaViejuna commented Aug 9, 2021

Hola @triplecillas mas o menos se puede integrar en Home Assistant, puedes tener por ejemplo un sensor de consumo instantáneo, que te de el consumo instántaneo de tu casa cada cierto tiempo, puedes usar un sensor con un shell command para recoger el valor del consumo instantáneo, algo como esto:
En mi caso uso un .sh que ejecuta el script en python en remoto, ten cuidado con el número de lecturas que haces, porque superado el número de consultas en un día te pueden banear, yo uso en este caso 7200 segundos que son cada 2 horas y no he tenido problemas, luego te puedes crear un botón para consultar ese consumo instántaneo cuando quieras.

- platform: command_line
  name: Consumo instantáneo
  command: "ssh -p 22 -i /config/.ssh/id_rsa -o  'StrictHostKeyChecking=no' db@192.168.20.21 './consumo_instantaneo.sh'"
  unit_of_measurement: "Kw"
  scan_interval: 7200
  command_timeout: 180

@ghiki
Copy link

ghiki commented Nov 11, 2021

@ConsolaViejuna

Hola @triplecillas mas o menos se puede integrar en Home Assistant, puedes tener por ejemplo un sensor de consumo instantáneo, que te de el consumo instántaneo de tu casa cada cierto tiempo, puedes usar un sensor con un shell command para recoger el valor del consumo instantáneo, algo como esto: En mi caso uso un .sh que ejecuta el script en python en remoto, ten cuidado con el número de lecturas que haces, porque superado el número de consultas en un día te pueden banear, yo uso en este caso 7200 segundos que son cada 2 horas y no he tenido problemas, luego te puedes crear un botón para consultar ese consumo instántaneo cuando quieras.

- platform: command_line
  name: Consumo instantáneo
  command: "ssh -p 22 -i /config/.ssh/id_rsa -o  'StrictHostKeyChecking=no' db@192.168.20.21 './consumo_instantaneo.sh'"
  unit_of_measurement: "Kw"
  scan_interval: 7200
  command_timeout: 180

Pero si quires lanzarlo en local desde el propio hass, como lo haces?
Yo tenia algo asi en el configuration.yaml
###MedidorConsumoContador

  • platform: command_line
    name: Consumo instantáneo
    command: 'python3 /config/scripts/consumoiberdrola.py'
    unit_of_measurement: "W"
    scan_interval: 7200
    command_timeout: 180

Pero como el script hace un "import" en python da error al lanzarlo

@ghiki
Copy link

ghiki commented Nov 21, 2021

Respecto a esto de arriba, para que funcione en HA, la primera vez de lanzarlo le añado un "pip install oligo", y luego lo quito (aunque más limpio se podría hacer que revise si está instalado, y si no lo esta, lo instalé y continue con el script, y si lo está, no lo instale). Cabe destacar que esto hay que hacerlo cada vez que se actualiza la versión de HA, así que como digo, sería lo más limpio.

De momento y para quien le pueda interesar, el mío está así:

#!/usr/bin/python3
#import os
#os.system('pip install oligo')
from oligo import Iber
connection = Iber()
connection.login("xxxxx@xxxx.com", "MiPassword")
watt = connection.watthourmeter()
print(watt)

Y en el HA así:

###MedidorConsumoContador
sensor:
  - platform: command_line
    name: consumoluz
    command: 'python3 /config/scripts/consumoiberdrola.py'
    unit_of_measurement: "W"
    scan_interval: 1800
    command_timeout: 180

@ghiki
Copy link

ghiki commented Mar 20, 2022

Pues al final me monté un script que auto-instala python-oligo si no lo está ya, y va perfecta versión tras versión, os dejo los scripts por si os interesan.

Consumo desde el día 1 del mes hasta hoy

import os
package = "oligo"
try:
	     __import__(package)
except:
		os.system("pip install "+ package)
#
from oligo import Iber
from datetime import date, timedelta
#
connection = Iber()
connection.login("tucorreo@tumail.com", "tupassword")
#
from_date = date.today().replace(day=1)
#until_date = date.today() - timedelta(days=2)
until_date = date.today()
#
consumo = connection.consumption(from_date, until_date)
#
#print(consumo)
quitanone = [i for i in consumo if i] 
#print(quitanone)
suma=sum(quitanone)
#print(test)
enkw=(suma)/1000
#print("Hasta", (until_date))
print(enkw)

Y consumo actual leído desde el contador:

#import os
#os.system('pip install oligo')
import time
import os
package = "oligo"
try:
	__import__(package)
except:
	os.system('pip install oligo')
#
#time.sleep(60)
from oligo import Iber
connection = Iber()
connection.login("tucorreo@tumail.com", "tupassword")
watt = connection.watthourmeter()
print(watt)

Y en el configuration.yaml

  - platform: command_line
    name: consumoluz
    command: 'python3 /config/scripts/consumoiberdrola.py'
    unit_of_measurement: "W"
#    scan_interval: 7200
    scan_interval: 900
    command_timeout: 180
###Consumo desde el dia 1
  - platform: command_line
    name: consumodesdeldiauno
    command: 'python3 /config/scripts/consumoenkwdesdeeldia1.py'
    unit_of_measurement: "kW"
#    scan_interval: 7200
    scan_interval: 43200
    command_timeout: 180

@hectorespert
Copy link
Owner

Por si os interesa, hay una integración para HomeAssitan disponible en HACS: https://github.com/ad-ha/ide_api

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

4 participants