Foros Domótica Doméstica

Firmware ESPjeedom para dispositivos Sonoff Basic

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Firmware ESPjeedom para dispositivos Sonoff Basic
« en: Agosto 26, 2018, 00:46:30 am »
En otro hilo de este mismo subforo os contaba el otro día que había desarrollado un firmware alternativo para flashear los Sonoff Basic y que fueran compatibles con eedomus (junto con un plugin de la store eedomus).

He adaptado este firmware para que sea compatible con Jeedom y lo he llamado ESPjeedom. La verdad es que la adaptación ha sido sencilla, como intuía.

Las funcionalidades que ofrece son las mismas que ESPeedomus, es decir que permite controlar el ON/OFF del Sonoff Basic desde Jeedom y si se controla el Sonoff con el pulsador que trae de serie, Jeedom recibe en todo momento el retorno de estado.

Lo primero que hay que hacer en Jeedom es crear un dispositivo virtual llamado SonOff Basic (por ejemplo), con dos comandos (On -valor 1- y Off -valor 0-) y un estado.

Una vez creado el virtual, hay que pinchar en la rueda dentada del Estado e ir a la pestaña "Configuración". Al final de esta ventana, haciendo scroll, veréis una casilla llamada "Push URL", donde hay que pegar esta URL:

http://[IP_LOCAL_SONOFF]/sonoff/espjeedom/#value# (sustituyendo [IP_LOCAL_SONOFF] por la IP correcta).

Luego abrimos el fichero ESPjeedom.ino que os adjunto en el IDE Arduino e introducimos los datos necesarios al principio del código, en los lugares indicados. Estos datos son: Nombre de la red Wifi, contraseña de la Wifi, API KEY de Jeedom (se obtiene en Jeedom, en Configuración/API), y los ID's de los comandos On y Off del virtual que acabamos de crear.

Flasheamos el Sonoff Basic con el firmware ESPjeedom modificado como indico en el punto anterior, y ya está, podemos controlar el Sonoff desde Jeedom y obtener retorno de estado.

Como el servidor HTTP del Sonoff a veces es un poco perezoso, puede tardar un poco más de la cuenta en responder a la orden de ON o OFF (no en ejecutarla). En ese caso, aunque todo funciona correctamente, es posible que Jeedom nos dé un error por superar el time out de respuesta establecido, que es de 2000 milisegundos. Me imagino que este time out se puede ampliar. Seguro que @Bull sabe cómo se hace. Yo no lo sé y tampoco he buscado mucho ;)

Espero que os sirva a los usuari@s de Jeedom.

Adjunto el firmware en cuestión.

« Última modificación: Agosto 26, 2018, 01:03:46 am por phroc »
https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #1 en: Agosto 26, 2018, 00:49:00 am »
Genial, seguro que la comunidad sonoff de jeedom te lo agradecerá.
Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #2 en: Agosto 26, 2018, 01:01:21 am »
Genial, seguro que la comunidad sonoff de jeedom te lo agradecerá.

¿Sabes si se puede ampliar ese time out?

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #3 en: Agosto 26, 2018, 01:44:32 am »
Pues sinceramente no lo se ¿quien es el que da el timeout? el sonoff o jeedom? Quizás en vez de ejecutar un http desde un comando abría que hacer con un peque script indicando un timeout algo superior. Pero ahora mismo no se si eso es viable.

Genial, seguro que la comunidad sonoff de jeedom te lo agradecerá.

¿Sabes si se puede ampliar ese time out?
Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #4 en: Agosto 26, 2018, 10:43:49 am »
El time out lo da Jeedom. Es que a veces el Sonoff tarda un poco más de la cuenta en mandar la respuesta a la petición http que le llega de Jeedom. La ejecuta al instante pero a veces la respuesta se demora más de 2000 milisegundos, que es cuando Jeedom genera un mensaje de error.

El chip ESP8266, en el que está basado el Sonoff y tantos otros dispositivos IoT, es un poco sensible en cuanto a conexiones Wifi. Por ejemplo a mi me da algunos problemas (conexión poco estable) con un router concreto de los 3 que que tengo funcionado en casa, con los otros ningún problema.

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #5 en: Agosto 26, 2018, 11:13:24 am »
ummm, eso me suena que ese timeout es por defecto del protocolo http.... y desconozco ahora mismo si eso se puede aumentar, si he visto que se puede hacer más corto, pero más allá de 2 segundos... igual hay que mirar el apache
Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #6 en: Agosto 26, 2018, 11:36:32 am »
Y eliminar esa advertencia, es decir hacer que Jeedom no espere respuesta después de hacer la petición http?

En realidad no es importante porque incluso en los pocos casos en los que me da ese error, hace la petición correctamente y la da por hecha.

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Bull

  • *****
  • 1341
  • IA unipersonal @1975
    • Ver Perfil
    • Domótica Domestica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #7 en: Agosto 26, 2018, 13:02:00 pm »
Pues si el problema es ese, yo creo que no merece la pena ni molestarse, si te fijas en profundidad en los logs de jeedom veras que hay un montón de "errores"
Todos nos equivocamos, por eso los lápices llevan goma.

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #8 en: Agosto 26, 2018, 13:19:50 pm »
Así es...
https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #9 en: Noviembre 05, 2018, 19:46:28 pm »
Hola,

Estoy pensando en adquirir unos modulos sonoff y tengo la duda de como ponerlos en marcha con jeedom.

Hay que cargar algun plugin del market en jeedom??
Como cargariamos el firmware al sonoff?? cable?? software?? etc..

Gracias
Un Saludo Genios

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #10 en: Noviembre 05, 2018, 23:04:21 pm »
El firnware alternativo lo tienes que cargar en el Sonoff Basic con IDE Arduino.

No necesitas plugin para Jeedom, lo haces con un virtual.

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #11 en: Noviembre 07, 2018, 18:33:17 pm »
El firnware alternativo lo tienes que cargar en el Sonoff Basic con IDE Arduino.

No necesitas plugin para Jeedom, lo haces con un virtual.

Muchas Gracias, he visto como conectar el sonoff con arduino para cambiar el firmware.

Ahora tengo otras preguntas:
El firmware necesita unas librerias según he leido dentro del firm,
// Librerías que necesitamos

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>

 estas donde se encuentran??

Otra pregunta es si la IP LOCAL del sonoff se puede poner fija en algún sitio?? o mejor asignarla fija en el router??

Gracias de antemano

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #12 en: Noviembre 07, 2018, 23:05:56 pm »
Abre IDE Arduino y ve a Preferencias.

En el apartado "Gestor de URL's adicionales de tarjetas pega esto y guarda:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Luego ve a Herramientas / Gestor de tareas y en el campo de búsqueda pon ESP8266 e instala "esp8266 by esp8266 Community".

Luego vuelve a Herramienta y elige la placa "Generic ESP8266 Module".

Luege ve a Programa / Incluir librería / Gestionar librerías.

Busca ahí las librerías necesarias e instálalas.

Ye me cuentas si lo consigues.

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora

Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #13 en: Noviembre 15, 2018, 19:40:44 pm »
Abre IDE Arduino y ve a Preferencias.

En el apartado "Gestor de URL's adicionales de tarjetas pega esto y guarda:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Luego ve a Herramientas / Gestor de tareas y en el campo de búsqueda pon ESP8266 e instala "esp8266 by esp8266 Community".

Luego vuelve a Herramienta y elige la placa "Generic ESP8266 Module".

Luege ve a Programa / Incluir librería / Gestionar librerías.

Busca ahí las librerías necesarias e instálalas.

Ye me cuentas si lo consigues.

Hola de nuevo,

Muchas gracias por tú respuesta, phroc ya tengo configurado el programa de arduino, he visto por internet que se puede programar con un arduino (dispongo de algunos) ahora me falta ponerme a ello.

Una pregunta:

Podriamos programar el firmware para poder poner en paralelo al pulsador del sonoff un interruptor? (he visto quien adapta un pulsador exterior en paralelo).

Seria para manejar tambien el sonoff con una conmutada normal y corriente.

Un saludo

phroc

  • *****
  • 5702
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Firmware ESPjeedom para dispositivos Sonoff Basic
« Respuesta #14 en: Noviembre 15, 2018, 19:44:06 pm »
Sí se puede hacer, de hecho lo he explicado, no recuerdo si en este hilo o en el hilo del firmware sobre ESPeedomus, que es casi el mismo que para Jeedom pero adaptado a eedomus.

Puedes soldar dos hilos donde el pulsador y luego puedes conectarle un pulsador externo y hacer "conmutadas" con pulsador murales en paralelo.

https://pr-domotica.es/

Business Manager en NodOn España
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación Lora