EEDOMUS: Integrar los datos de las tarifas de luz

Aly

  • *****
  • 696
    • Ver Perfil
EEDOMUS: Integrar los datos de las tarifas de luz
« en: Enero 26, 2016, 21:29:20 pm »
Hola maestros:
Este periférico: "conversor a euros" sirve para convertir el consumo de un cacharro en watios a euros.
Existe, pero no la encontrado, una web que te dice el precio kW/h de iberdrola cada dia.
Mi pregunta es como puedo obtener el consumo en euros de cualquier cacharro en función de las tarifas horarias de iberdrola.
¿Como se haría?
Muchas gracias.

Enviado desde mi SM-N9005 mediante Tapatalk
« Última modificación: Enero 02, 2018, 09:50:17 am por phroc »

Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico "conversor a euros"
« Respuesta #1 en: Enero 28, 2016, 09:16:17 am »
Bueno chic@s:
Ésta es la página de dónde se sacan los precios del Mw/h. Como veréis en cada hora, marca un precio en euros. La página actualiza los datos diariamente.
A mí en vez de Mw/h, me gustaría, en KW/h, pero bueno eso sería dividir entre 1000 y ya está.
Pues yo lo que quiero es un periférico del tipo "medidor" que indique el precio del KW/h y se actualice con los datos de la página.
Supongo que se hará con un script de manera similar a cómo lo hizo Margu con la información del tiempo de Aemet, pero no sé hacer script.
¿Alguien ha intentado hacer esto?. ¿Me podéis orientar en cómo se haría?.
Por cierto, la página permite la exportación de los datos en CSV, JSON Y EXCEL.
La página:
https://www.esios.ree.es/es/analisis/1013?vis=1&start_date=28-01-2016T00%3A00&end_date=28-01-2016T23%3A50&compare_start_date=27-01-2016T00%3A00&groupby=hour&compare_indicators=1014,1015.
Ojo, en una pantalla pequeña no se muestran los datos, se ven bien en una pantalla de ordenador.
Perdonad mi insistencia.
Muchísimas gracias.
Saludos.
« Última modificación: Enero 28, 2016, 10:02:29 am por Aly »

Re:Periférico "conversor a euros"
« Respuesta #2 en: Enero 29, 2016, 00:19:25 am »
Hola Aly,
Yo tengo implementado un sensor virtual http que no necesita script, sola la conversión JSON a XML y la captura Xpath.
 Por ejemplo para el precio de la luz hoy a las 18 horas:
URL de la llamada: http://pvpc.cmdearcos.es/hoy
Ruta XPATH: /root/datos/hora/h18

Espero haberte ayudado
paconet


Enviado desde mi Nexus 7 mediante Tapatalk


Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico "conversor a euros"
« Respuesta #3 en: Febrero 05, 2016, 10:03:29 am »
Buenos días, PacoNet. Muchas gracias por tu respuesta. Y perdona las tardanza en contestar (es que me he comprado una raspberry Pi 2 y el bicho tiene entretenimiento para rato y más para mí que no estoy acostumbrada a Linux).
La forma en que tú lo tienes, entiendo que es para que te diga la tarifa eléctrica de la hora que pones en el XPath (h18), es decir, un sensor que te muestra la tarifa diaria a las 6 de la tarde, ¿no?. Por tanto, para saber las tarifas diarias de cada hora, tendría que hacer tantos sensores como horas tiene el día, ¿verdad?.
Yo lo que quería hacer es, con los datos horarios/diarios de las tarifas de luz, una regla de tal manera que la lavadora se ponga en marcha cuando el criterio es que la tarifa es la más baja. Mi idea era tener un solo sensor que se actualizara cada hora y que mostrara el dato de la tarifa en esa hora, pero con solo sensor. Y luego incluirlo en la regla poniendo un mínimo para disparar el encendido de la lavadora.
Quizá lo pueda hacer con tu método. Creando 24 sensores que añadiría a una regla en la parte de criterios y en cada sensor pondría un mínimo (la misma cantidad en cada hora).
Por otro lado, quisiera preguntarte en qué unidades de medición obtienes los datos, es decir, en ¿KW/h o MW/h?.
Lo dicho, muchas gracias por tu respuesta me ha resultado muy útil.

Re:Periférico "conversor a euros"
« Respuesta #4 en: Febrero 05, 2016, 23:58:58 pm »
Hola Aly,

Efectivamente con este método necesitas 24 sensores http que tendrán el mismo valor durante 24 horas (no requieren repetir la petición). De esta forma ya sabes la hora de menor coste de antemano y puedes planificar reglas ON/OF.
Yo adicionalmente he creado otro periférico virtual de estado que actualizo cada hora con el valor del sensor correspondiente y es este periférico el que utilizo en las reglas de consumo.

El coste que se obtiene es en Euros/Kwh. Si quienes calcular el coste del consumo de un electrodoméstico tendrías que hacer un script PHP que se lance con el ON del enchufe y que vaya calculando el coste multiplicando consumo (en W/1000)xtarifa(en Eur/Kwh) x duración (en min/60) hasta el OFF.
También puedes guardar los datos de consumo y tarifa en Excel Google Drive a través de IFTTT y hacer la cuenta del coste en Excel. Así mantienes también el histórico que eedomus no te mantiene si no eres premium.

Espero ayudarte ...  Y suerte con la Raspberry ...  Ya me ayudarás tu si yo me ánimo con ella ..

PacoNet

Enviado desde mi Nexus 7 mediante Tapatalk


Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico "conversor a euros"
« Respuesta #5 en: Febrero 06, 2016, 10:24:14 am »
Hola Paconet. Muchísimas gracias. Es justo lo que quería hacer. Lo único es lo del script que no sé cómo hacerlo.
Te importaría ayudarme aunque pueda resultar que abuso de tus conocimientos.
Muchísimas gracias.

Enviado desde mi SM-N9005 mediante Tapatalk


Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico "conversor a euros"
« Respuesta #6 en: Febrero 06, 2016, 11:19:14 am »
Holita de nuevo. PacoNet estoy haciendo el primer sensor (00h) y no me da valor alguno.
¿Me podrías poner una captura con el ejemplo de un sensor para una hora y ya si no es mucho pedir los valores del actuador?.
Perdona las molestias.
Muchas gracias.
Saludos.
Adjunto una captura del sensor que he creado.

Re:Periférico "conversor a euros"
« Respuesta #7 en: Febrero 06, 2016, 12:11:09 pm »
Hola Aly

tu sensor es correcto, pero si no te ha recuperado valor será que no se ha ejecutado todavía (has puesto cada 60 min.). La primer vez para probar, puedes poner 1 min. y luego pasar la frecuencia de ejecución a 3 o 4 horas (dependiendo de cuando necesites el primer dato actualizado). Importante: recuerda poner Conversión JSON a XML en Parametros Experto como te indicaba en el primer post.

Para probar la URL de llamada y la ruta XPATH lo puedes hacer en el link "prueba" justo debajo de "documentación" de Ruta XPATH, tambien marcando la opción de conversión de JSON a XML. He comprobado que el resultado de la llamada para las 00h es correcto.

PacoNet

Re:Periférico "conversor a euros"
« Respuesta #8 en: Febrero 06, 2016, 13:03:54 pm »
Hola Paconet. Muchísimas gracias. Es justo lo que quería hacer. Lo único es lo del script que no sé cómo hacerlo.
Te importaría ayudarme aunque pueda resultar que abuso de tus conocimientos.
Muchísimas gracias.

Enviado desde mi SM-N9005 mediante Tapatalk

Hola Aly, otra vez,

el script PHP es un poco más complicado ... aunque veo que te gusta esto y con dedicación ...
Te lo edito mas adelante, pero yo casi te recomiendo que vayas almacenando los consumos, la tarifa y tiempo en una Excel Google Drive mediate IFTTT con el canal Maker y así mantienes el histórico de consumo, tarifas/hora y costes por si quieres compararlo con la factura. Así es como yo lo de dejado.

Este script recoge los datos de consumo y tarifa de los correspondientes sensores y supone que está siendo ejecutado cada 5 min. desde el ON hasta el OFF (puedes bajar el muestreo llamando al actuador con mayor frecuencia) para calcular el coste que va acumulando sobre un periférico virtual en cada ejecución.
Primero, crea un periférico virtual de tipo 'Elemento de programación - Estado' para ir acumulando el coste del consumo.
Obtén los códigos API de los tres periféricos involucrados (coste acumulado, consumo y tarifa).
Este sería el script:

<?php
#
# Asignamos el código API de los periféricos
# Código API del periférico que tiene el valor del coste
$Coste_id   = 'XXXXXX';
# Código API del periférico que tiene el valor del consumo
$Consumo_id = 'YYYYYY';
# Código API del periférico tiene el valor de la tarifa actual
$Tarifa_id = 'ZZZZZZ';
# Obtenemos los valores de los periféricos
$Coste_Eur = getValue($Coste_id);
$Consumo_W = getValue($Consumo_id);
$Tarifa_Kwh = getValue($Tarifa_id);
# Calculamos el coste de ese consumo en W durante 5 minutos de muestreo (con cuatro decimales),
$coste_acumulado = round ($Coste_Eur + (($Consumo_W / 1000) * ($Tarifa_Kwh * 5 / 60)), 4);
# Asignamos el valor del coste acumulado nuevamente la periférico de coste
setValue($Coste_id, $coste_acumulado);
?>

Después aloja el script en tu controlador eedomus (http://eedomus-ip/script), sustituyendo eedomus-ip por la dirección IP de tu controlador. Ten cuidado al grabar el fichero con la programación del script de hacerlo en modo ANSI para no meter código que no sepa interpretar eedomus.

Luego llama al script con con un actuador http, poniéndole un valor que lance el script:
URL: http://eedomus-ip/
tipo: GET
parámetros: /script/?exec=nombredelscript.php
y después configura una regla para que actúe desde ON hasta OFF del enchufe en cuestión con una frecuencia de 5 minutos. Si cambias la frecuencia recuerda modificar el cálculo que se hace dentro del script.

Aly, espero que te funcione ... aunque es posible que le tengas que dedicar un poco de tempo a todo esto. Llega a ser un poco complejo para no programmers.

También es posible que alguien del foro haya encontrado una forma más simple de conseguir todo esto???

Suerte.

PacoNet


Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico &quot;conversor a euros&quot;
« Respuesta #9 en: Febrero 06, 2016, 14:31:48 pm »
De verdad que no sé como agradecértelo.
El sensor ya funciona.
El script me pondré mña con él y te cuento.
Muchísimas gracias de verdad.
Eres un crack.

Enviado desde mi SM-N9005 mediante Tapatalk


Aly

  • *****
  • 696
    • Ver Perfil
Re:Periférico "conversor a euros"
« Respuesta #10 en: Febrero 08, 2016, 19:10:35 pm »
Hola PacoNet, perdona que te moleste de nuevo, pero es que estoy atascada en:
"Efectivamente con este método necesitas 24 sensores http que tendrán el mismo valor durante 24 horas (no requieren repetir la petición). De esta forma ya sabes la hora de menor coste de antemano y puedes planificar reglas ON/OF.
Yo adicionalmente he creado otro periférico virtual de estado que actualizo cada hora con el valor del sensor correspondiente y es este periférico el que utilizo en las reglas de consumo".
Seguramente será fácil, pero no sé como crear ese otro periférico virtual de estado...... y, si no estoy equivocada, me parece que esvel periférico que se añade en el script, el llamado, "tarifa".

Aly

  • *****
  • 696
    • Ver Perfil
Re:Integrar los datos de las tarifas de luz
« Respuesta #11 en: Febrero 19, 2016, 20:14:06 pm »
Hola compañer@s:
Como habéis visto, lo primero que he hecho es cambiar el título del tema pues, al fin y al cabo, el motivo del mismo era saber la manera de recoger datos sobre tarifas de luz.
Siempre he buscado información en los foros ya sea en español, inglés o francés y me ha sido de mucha utilidad. Soy habitual en los foros, por éso, y estaréis conmigo, es frustrante el momento en el que encuentras lo que buscas en un post de un foro y éste está inacabado. El motivo de este post, por tanto, es acabarlo.
En los primeros post, Paconet, me enseñó un a página de la cual obtener las tarifas de luz. La manera para recopilar las tarifas de luz era crear 24 sensores (uno por cada hora), (las instrucciones están un poco más arriba).
Una vez creados los sensores, había que unificarlos en uno solo con el fin de que el tratamiento de la información fuera más eficiente y eficaz. La forma de crear este sensor unificador está aquí: http://www.domoticadomestica.com/foro/index.php?topic=1016.0. El actuador http que controla al sensor tiene una regla consistente en actualizar el actuador cada hora del día.
Una vez que tenemos las tarifas de la luz unificadas y sabiendo que éstas se actualizan cada hora, cada día, el siguiente paso es crear la manera de obtener el consumo de un aparato en euros (Tv, router, lavadora, etc...).
Si el aparato está conectado en un periférico que mide el consumo (caso de las regletas Greenwave, por ejemplo), tenemos un sensor que muestra el consumo en Watios de ese aparato. Ese consumo es instantáneo, es decir, el dato que ofrece es en el momento. Si vamos al historial, sí que se verá un histórico del consumo.
A partir de aquí, ya tenemos LA TARIFA, por un lado, y EL CONSUMO, por otro. Por tanto, ya solo nos queda multiplicar los datos. ¿cómo?, con un script tal que así lo he hecho (éste funciona, ¿eh?):

<?php

#Asignamos el código API de los perifericos: tarifa global, consumo del periférico que queremos monitorizar

   $Tarifaglobal_id = 'XXXXXX';
   $ConsumoTv_id = 'XXXXX';

#Asignamos el código API de los periféricos (sensores de estado) que contendrán los resultados

   $CosteTv_id = 'XXXXXX';   

#Obtenemos los valores de los periféricos que contienen los datos

   $Tarifaglobal = getValue ($Tarifaglobal_id);
   $ConsumoTv = getValue ($ConsumoTv_id);   

#Calculamos el coste consumo de la Tv (euros)con 5 decimales

   $CosteTv = round ($Tarifaglobal ['value'] * $ConsumoTv ['value']/1000,5);

#Asignamos los resultados a su periférico correspondiente

   setValue($CosteTv_id, $CosteTv);
   
?>

Ese script sirve para saber el consumo en euros del aparato en cuestión EN EL MOMENTO.
¿Y ahora qué?... EL COSTE ACUMULADO del aparato.
Para calcular el coste acumulado hay que hacer uso de un servidor (raspberry, NAS, etc..) por la simple razón de que para calcular el coste acumulado es necesario un histórico de los valores y este histórico, aunque se obtiene directamente de eedomus, hay que, primero guardarlos y luego obtenerlos.
Os dejo la forma de hacerlo (en francés): http://www.domo-blog.fr/comptage-energetique-hebdomoisannee-via-phpmysql/
Yo ahora lo que haré, es hacer uso de mi rapsberry, sacar el histórico de los históricos y editarlos en excel ya que para mí es más fácil.
Perdonad por este tocho.
Salu2.


Aly

  • *****
  • 696
    • Ver Perfil
Re:Integrar los datos de las tarifas de luz
« Respuesta #12 en: Marzo 04, 2016, 11:05:13 am »
Hola forer@s.
He hecho un manual completo sobre la integración de las tarifas de la luz en EEdomus.
En el manual intento explicar los pasos desde el inicio.
El manual incluye el cálculo de la tarifa máxima y mínima diaria, el coste del consumo de un aparato (o aparatos) momentáneo o instantáneo y, por último, el coste del consumo del aparato (o aparatos) ACUMULADO. Y todo SIN hacer uso de un NAS o Raspberry con servidor. Lo único que se emplean son script php que pueden ser alojados en eedomus.
Puede resultar un proceso largo, pero no es complicado.
Aunque lo pongo en el manual, repito que una vez insertado el último script (conso.php) es aconsejable, diría que necesario, reiniciar eedomus.
Espero haber explicado bien el proceso, no obstante, aquí estoy para intentar resolver las dudas que os puedan surgir.
Ni que decir tiene que estoy abierta a cualquier crítica o sugerencia que tengáis que hacer.
En siguiente enlace, podéis descargaros el manual.

https://dl.dropboxusercontent.com/u/11004306/ESTAD%C3%8DSTICAS%20SOBRE%20EL%20CONSUMO%20EL%C3%89CTRICO%20corregido.pdf

Saludos y buen fin de semana.

Agradecimientos a Paconet y Santi.
« Última modificación: Diciembre 08, 2016, 10:01:08 am por Aly »

intermauta

  • *****
  • 868
  • A veces se gana y otras se aprende.
    • Ver Perfil
Re:Integrar los datos de las tarifas de luz
« Respuesta #13 en: Marzo 04, 2016, 11:12:36 am »
De momento los scripts se me quedan grandes para mis conocimientos pero me lo he guardado para mas adelante.
Muchas gracias.
Mensaje enviado desde un teléfono robado.

phroc

  • *
  • 5703
  • Belle époque
    • Ver Perfil
    • PR-DOMOTICA
Re:Integrar los datos de las tarifas de luz
« Respuesta #14 en: Marzo 04, 2016, 15:29:58 pm »
Muchas gracias Aly!!
https://pr-domotica.es/

Communication Manager & Business Manager Spain at  NodOn
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación LoRa