wireless sensor tags (llamadas url)

Hola a todos.

Despues de leer en el foro un post sobre las wireless sensor tags de Cao Gadgets, me decicí a comprarlas.

Os pego el post donde se habla de ellas y la pagina de las wireless que compré:

http://www.domoticadomestica.com/las-wireless-sensor-tags-son-un-complemento-perfecto-para-cualquier-casa-domotica/

http://www.mytaglist.com/iosapp.html

Despues del leer el post detenidamente, efectivamente la instalación de la pasarela y la inclusión de los tags no es complicada, pero estoy teniendo problemas para hacer las llamadas url en Eedomus.

He creado un sensor de estado para apertura y cierre de una ventana oscilobatiente haciendo la llamada URL con valores 0 y 1 y no he tenido problemas para que comunique el estado de apertura y cierre.

El problema lo tengo para conseguir que desde Eedomus, recoja la temperatura del Wireless tag.
He creado otro sensor igual y he puesto la misma url que he usado para el sensor de apertura adaptando el numero de API al nuevo sensor, y eligiendo el valor 2, pero no comunica. (os pego pantallazo).

A ver si me podeis echar una mano ya que seguro que los gurus que han trabajado con estas Tags esto lo tienen superado.

De antemano, muchas gracias.

Pues justamente el valor de la temperatura es lo que no he probado pues tengo decenas de sensores de Tª y esa información me llega directamente de otros dispositivos. Has probado a poner “1” para ver si te da el valor del ID? Es por ver si es un problema de la Call URL o específicamente de la información de la temperatura. Entiendo que el valor de temperatura lo estás obteniendo bien desde la aplicación de las W. Tags, no? A ver si alguien lo ha probado y si no te contesta nadie, este fin de semana, hago una prueba y te comento a ver si es un bug.

Enviado desde mi iPad utilizando Tapatalk Pro

Hola Jokin.

El valor Temperatura de la Tag en la aplicación nativa de las tag la indica correctamente.

Si en la llamada URL indico esto:

https://api.eedomus.com/get?api_user=*****&api_secret=*************PF&action=periph.value&periph_id=622595&value=1

y lo copio en la web, el resultado es este.

{ “success”: 1, “body”:{“last_value”: } }

No se que significa.

He creado un estado que teoricamente recogeria el valor de la llamada pero solo indica N/R. No recoge datos.

Por otro lado y eso seguro que lo tienes controladisimo, podrías postear un pantallazo de como tienes configuradas las url para el sensor de agua y para la humedad?.

Así voy avanzando ya que tengo una para la deteccion de agua :-).

Por cierto, estas wireless son una pasada. Las llamadas a traves de la pasarela son instantaneas. Como decia lo he colocado en una ventana oscilobatiente con valores 1 y 0. El 1 me da abierto y el 0 cerrado.

Lo he configurado de la siguiente manera gracias a tu post:

URL ABIERTO:

When door is opened - {0}: Tag name, {1}: Orientation change since armed, {2}: x axis reading, {3}: y axis, {4}; z axis, {5}: Tag ID

Llamada url:

https://api.eedomus.com/set?api_user=******&api_secret=*************&action=periph.value&periph_id=622269&value=1

URL CERRADO:

When door is closed - {0}: Tag name, {1}: Orientation change since armed, {2}: x axis reading, {3}: y axis, {4}; z axis, {5}: Tag ID

Llamada url:

https://api.eedomus.com/set?api_user=*****&api_secret=**************&action=periph.value&periph_id=622269&value=0

A estas llamadas se le pueden solicitar mas cosas dentro de la misma linea de la llamada?. Veo que existe la opcion 2 “x axis reading”, 3 ,4 y 5.
Y si se le pueden pedir mas datos como quedaría modificada la url?.

Perdon por el tocho y muchas gracias por la ayuda.

Hola,

No tengo las tags (a ver si un día me lanzo) pero así a bote pronto la url que pones para obtener el valor del periférico no parece correcta, asignas un valor…

https://api.eedomus.com/get?api_user=*****&api_secret=*************PF&action=periph.value&periph_id=622595&value=1

Quita esa parte (la de value) y debe responderte con el valor que tenga el periférico.

Ejemplo:
{ “success”: 1, “body”:{“last_value”: 100} }

Ejemplo de peticion de valor:
http://api.eedomus.com/get?action=periph.value&periph_id=XXXX&api_user=XXXX&api_secret=XXXX

Gracias Nix por tu ayuda.

He sustituido como indicas y recibo lo mismo que indicando value=1:

https://api.eedomus.com/get?api_user=******&api_secret=************&action=periph.value&periph_id=622595

{ “success”: 1, “body”:{“last_value”: } }

Si pongo la url de esta manera:

http://api.eedomus.com/get?action=periph.value&periph_id=622595&api_user=*****&api_secret=*********

El valor que recibo es este:

{ “success”: “0”, “body”: { “error_code”: “23”, “error_msg”: “HTTP protocol not allowed on your account.” } }

Alguna idea de que ocurre?.

Saludos.

Tienes que marcar en los parámetros de usuario de eedomus “permitir API a través de HTTP”.

Enviado desde mi iPhone utilizando Tapatalk

Efectivamente activando el API a traves de HTTP , ya no da el mismo mensaje de error anterior:

{ “success”: “0”, “body”: { “error_code”: “23”, “error_msg”: “HTTP protocol not allowed on your account.” } }

Pero vuelvo a conseguir el mismo resultado que cuando estaba escribiendo &value=1

Es decir:

{ “success”: 1, “body”:{“last_value”: } }

Alguien que tenga las Tag ha conseguido que reporten la temperatura?. Porque estoy empezando a pensar que no se puede.

Saludos.

A ver, a mi entender, tienes dos pasos:

  • primero, que la WT reporte el cambio de temperatura a eedomus, mediante una llamada “set” a la API, que es la que configuras en la app de las WT en base a eventos (apertura, temp, humedad…). Comprueba que eso lo hacen.
  • segundo, cuando la app o el bridge de las WT haga esa llamada, establecerá el valor del periférico de estado en eedomus a lo que le hayas dicho, en ese momento si haces una petición “get” como te puse tendrás el valor del periférico en eedomus (tambien lo verás en la interfaz de eedomus en el propio periferico).
    Ahora mismo por lo que escribes parece que las WT no reportan ese cambio de temperatura a eedomus, por lo tanto la llamada que pones en la interfaz de las WT no debe ser correcta o no se ejecuta.

Lo que no se es para qué necesitas las llamadas “get” a eedomus. Según entiendo yo la integración es unidireccional WT → eedomus

Me da la sensación de que estás mezclando las llamadas. Comento siempre desde el desconocimiento de dicha integración.. eh? solo pretendo ayudar ::slight_smile:

De antemano Nix. Muchas gracias por tu ayuda.

Comentó Jokin que iba a probar a ver si conseguía que las wireless que tiene, reporten la temperatura. Él parece que tiene unas cuantas pero no las usa para que le den reporte de temperatura.

A ver si Jokin consigue arrojar algo de luz sobre este asunto porque me da que algo se nos está pasando.

Saludos.

Sí, lo prometí pero me he ido de puente y no estoy en casa. Me retrasaré pero lo haré, de verdad.

Gracias Jokin.

Saludos.

Hola Jokin:

Conseguiste obtener la temperatura de la wireless tag en eedomus?.

Saludos.

Hola, Vnogueira:
Lo primero disculparme por no responderte antes pero sinceramente estoy hasta arriba y el poco tiempo (muy poco tiempo) que saco, se lo dedico a leer el manual de Jeedom, mi nuevo vicio.
Bueno, vamos al tema.
Tengo un poco oxidadas, mentalmente hablando, las Wireless Tag. Ya, a nuestras edades, lo que se memoriza hoy, mañana se mete en ese cajón sináptico de difícil recuperación y uno se pasa un buen rato recordando.
El caso es que por lo que yo recuerdo, si quieres obtener una información de la temperatura tienes que conseguirla a través de llamadas URL que envían ellas. Estos envíos que se gestionan en “URL Calling” normalmente están relacionadas con una alarma o situación concreta que te gustaría reflejar. Es decir, entiendo que la idea es que no esté haciendo llamadas cada minuto, por ejemplo.
Me dices que tu problema es el reporte de la temperatura, no otros estados como “mucha temperatura”, “poca temperatura”, “mucha agua”, etc, tú quieres recibir la información de la Tª concreta. En mi caso no lo tenía porque tengo una superpoblación de sensores de temperatura y tener más de uno por habitación me resulta hasta molesto. De ahí que se lo dejo al ojo de halcón.
Pero he visto que en la misma sección de “URL Calling”, puedes hacer que te envíe la Tª en forma de una llamada (por ejemplo cuando pasa de un determinando umbral):
La llamada sería así:
https://api.eedomus.com/set?action=periph.value&periph_id=511402&value={2}&api_user=xxxxxxx&api_secret=xxxxxxxx
Donde {2} sería el valor de la temperatura en ese instante (las opciones de cómo rellenar la URL se te muestra en el apartado URL Calling).
Esta llamada le dice a Eedomus que el periférico 511402 tiene que tener el valor de [3]. El PROBLEMA es que si tu periférico Estado 511402 está configurado con Valores determinados, o le pones todas las opciones de temperaturas existentes (Tª con decimales) o te dará error, o mejor, no te cambiará ese valor. Una opción fácil es utilizar un periférico Estado sin valores prefijados. Así te debería funcionar. Aquí estoy para lo que necesites. Ah!, lo he probado y me funciona. Tengo 29,3ºC en la terraza. Esto es vida!

Muchas Gracias Jokin.

Ahora si. Ya lo tengo funcionando.

La Wireless tienen un potencial muy interesante.

Hola Jokin:

Como indicaba, con la url que me indicaste el sensor muestra los valores correctos de la wireless:

https://api.eedomus.com/set?action=periph.value&periph_id=643124&value={3}&api_user=XXXXXXX&api_secret=XXXXXXXXX

Ahora bien, ¿Y si quiero que ademas de la temperatura me de tambien la humedad usando la misma url?.

He creado un nuevo sensor a mayores pero no hay manera de que me reporte los dos datos a la vez.

Inclui la URL tal que así, pero no hay manera.

https://api.eedomus.com/set?action=periph.value&periph_id=643124&value={3},periph_id=645331&value={2}&api_user=XXXXXXX&api_secret=XXXXXXXXX

El valor 3 mostraría la humedad y el 2 mostraría la temperatura.

Como pondrías la URL para que te de los dos valores?.

Muchas gracias,