Foros Domótica Doméstica

FIBARO: Panel AC con Splits Daikin

rls46

  • ****
  • 321
    • Ver Perfil
FIBARO: Panel AC con Splits Daikin
« en: Junio 19, 2016, 20:03:15 pm »
Compartir como he resuelto la climatización con splits.
Era un tema que tenia pendiente, la casa tenia una pre instalación para 6 estancias en formato split y la idea era que funcionara como la calefacción con danfoss, utilizando el panel del controlador, en este caso el de climatización. Para gustos colores y a mi me gusta que la casa funcione sola, sin tocar botones salvo para las excepciones, así que la solución pasaba por un sistema que pudiera utilizar el panel de AC.

Quería un sistema que pudiera manejar desde el controlador directamente y que tuviera comunicación bidireccional, asi que descarte los remotec y repetidores iR, mire intesishome pero la api parecía complicada para mi.

Después de leer y releer sobre que marca instalar que pudiera ser domotizado, elegí la marca Daikin (los modulos wifi son AirZone), que aunque no hay documentación de api oficial, el sistema esta basado en llamadas http GET y esto mas o menos se como va (además, aunque no tenga intención de usarla, la app esta muy bien hecha), también vi un plugin en el foro francés de fibaro que esta bastante bien, solo faltaba terminarlo con la parte on/off para poder integrarlo en el panel.
http://www.domotique-fibaro.fr/index.php/topic/4929-plugin-clim-daikin/?hl=daikin

Si alguien esta mirando los Daikin, hay varios modulos wifi con diferentes números de serie, en realidad son todos iguales y tienen la misma api, la numeración  cambia según la terminación de conexión al split.

Finalmente puse los 6 split, 2 multisplit 3x1Daikin, cada split con su modulo wifi, quedaba la parte divertida, acabar el plugin del foro francés para poder usarlo en el panel AC, y hacer el dispositivo virtual para manejar cada uno de los splits por separado para las excepciones.

Sobre el panel AC
————
Funciona exactamente igual que el calefacción, las diferencias son que, lógicamente enciende el actuador (en este caso el split) cuando la temperatura sube de la consignada en el panel, y apaga el actuador (split) al bajar de la temperatura consignada. El panel tampoco tiene en cuenta el termostato (en mi caso danfoss) asignado a la habitación, parece que solo se usa en el panel de calefacción. Así que todo funciona como esperaba.

El panel solo admite como dispositivos para encendido y apagado los tipo switch (módulos físicos on/off), no sirven los dispositivos virtuales, así que necesitamos el plugin que comenté antes para tener el split como un modulo físico on/off, justo la parte que estaba sin acabar del plugin :), nada irremediable.

El plugin
—————
Terminarlo y darle la funcionalidad on/off no fue difícil, no soy programador pero se me da bien entender los códigos así que con paciencia pude conseguirlo.
El plugin ofrece por cada uno de los split, el on/off, la temperatura ambiente, la temperatura exterior y la velocidad de los ventiladores.
En fibaro aunque los plugins están operativos, deshabilitaron la opción de cargar plugins personales, parece ser porque amenazaban la seguridad del sistema ????? no lo entiendo cuando se puede tener acceso root siguiendo 4 pasos, en fin… y así llevan mas de 6 meses,  pero el caso es que se pueden cargar siguiendo estos pasos.
http://www.domotique-fibaro.fr/index.php/topic/4832-installer-un-plugin-utilisateur-en-40x/
una vez cargado el plugin, al añadir, indicar ip del split y puerto 80, creará los dispositivos de ese split, añadir tantos como splits tengamos y asignar los dispositivos cada uno en su habitación.

la pega es que hasta que vuelvan a habilitar la carga de plugins personales al actualizar el sistema se eliminan y hay que volverlos a cargar, pero es un mal menor, calculo que me llevará 5 minutos cargarlos y re configurar el panel en caso que actualice el firmware.

aqui el zip
v 1.2
https://www.dropbox.com/s/4tcm8nlvelm22rr/Plugin_Daikin.zip?dl=0

v 1.3
https://www.dropbox.com/s/t01v8eftw3t2mep/Plugin_Daikin_1.3.zip?dl=0

v 1.4
https://www.dropbox.com/s/cl3a7f4604hqdsc/Plugin_Daikin_1.4.zip?dl=0

v 1.7
https://www.dropbox.com/s/ycf1am6e29ak6cc/Plugin_Daikin_1.7.zip?dl=0


Modificaciones 1.3:
Interface de uso en plugin.
Eliminado dispositivo dimmer que mostraba el estado del ventilador. (no tenia mucho sentido)
nuevo valor de refresco ajustable a 5 seg.

Modificaciones 1.4:
Al pulsar los botones sobre la interface, confirma con un ok la recepción del comando por el split, también refresca la información en la interface al pulsar sobre los botones.

Modificaciones 1.7:
Aisladas las acciones sobre el bucle principal de actualización. Ahora las acciones se muestran en el momento.
Botón reiniciar el plugin.


escena para reiniciar los dispositivos del plugin cada cierto tiempo. Cada hora en el ejemplo. Poner escena en modo automático.

Código: [Seleccionar]
--[[
%% autostart
%% properties
%% weather
%% events
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
local ht = json.decode(fibaro:getGlobalValue("HomeTable"))
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (string.format("%02d", currentDate.min) == "00")
then   
   
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")

end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
local ht = json.decode(fibaro:getGlobalValue("HomeTable"))
if (
startSource["type"] == "other"
)
then

    fibaro:call(h id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")
    fibaro:sleep(5000)
    fibaro:call(id, "restartPlugin")

end

end

ejemplo para pulsar botones desde un dispositivo virtual. b_vel_5 es el nombre del botón, id es el id del dispositivo del plugin.

Código: [Seleccionar]

                local _id_daikin_plugin = id   
                local HC2 = Net.FHttp("127.0.0.1",11111);
local url = "/api/plugins/callUIEvent?deviceID=" .. _id_daikin_plugin .. "&elementName=b_vel_5&eventType=onReleased"
response ,status, errorCode = HC2:GET(url);
fibaro:debug("Pulsado velocidad maxima")
end

NOTA: Si vas a instalar el plugin sobre otro ya instalado, para que se apliquen los cambios elimina los dispositivos del plugin, sube el plugin y vuelve a crear los dispositivos.


El dispositivo virtual para cada split
—————
Como he comentado me gusta que vaya todo solo y no andar tocando salvo para las excepciones, así que con este dispositivo virtual se puede deshabilitar el split del panel AC temporalmente para utilizarlo de forma manual y volverlo a habilitar para que siga el panel, ademas de ajustar las opciones del split, encenderlo y apagarlo, también como los split tienen comunicación bidireccional, si se hacen cambios desde el mando físico del split, éstos se reflejan en el dispositivo virtual, independientemente del modo en el que este.
Para hacer el dispositivo virtual, indicar en el dispositivo virtual ip del split y puerto 80.
luego en el botón ‘Modo panel’ y en el ‘loop principal’ indicar el id de la zona del panel AC.
aqui el vd
https://www.dropbox.com/s/d1d3nj1wbg0b2x5/Daikin_VD_Split.vfib?dl=0



El dispositivo virtual para manejar modo verano/invierno
—————
Este dispositivo virtual lo utilizo para encender el panel AC o anularlo, bastante simple, para anular el panel lo que hago es ponerlo en modo vacaciones a la consigna mas alta, 33º.

Esto también lo hago de esta forma para el panel de calefacción, cuando la casa esta en modo verano, se pone el panel de calefacción en modo vacaciones con una consigna de 12º.

para hacer funcional el dispositivo, hacer lo siguiente.
crear variable ‘Modo_AA’ con valores ‘verano’ e ‘invierno’
crear variable ‘Modo_refrigeracion’ con valores ‘Ausente’ y ‘Normal’

en el ‘loop principal’ cambiar los ‘currentIcon’  con el numero de icono personalizado.
en los botones, poner en idzonas = {} todos los id de las zonas a manejar, si hay una ej. idzonas = {numero} , si hay mas de una añadir con ‘,’ entre números ej. idzonas = {numero1, numero2, numero3}

aqui el vd
https://www.dropbox.com/s/n03grmuyech9cc7/Panel_AC_%28modo%29.vfib?dl=0
« Última modificación: Enero 02, 2018, 09:40:26 am por phroc »

linkey

  • *****
  • 609
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #1 en: Junio 19, 2016, 20:22:52 pm »
Tiene muy buena pinta!.
A ver si lo miro en profundidad.
Yo tengo AC FUJITSU por conductos, espero poder hacer algo parecido con intesishome integrando en mi termostato virtual.

Ya me contaras los 4 pasos para tener acceso root.

phroc

  • *****
  • 5639
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Panel AC con Splits Daikin
« Respuesta #2 en: Junio 19, 2016, 20:44:33 pm »
!!Fantástico aporte!!

Ya decía yo que estabas muy callado últimamente, ahora ya sé lo en que andabas ;)

Gracias.
https://pr-domotica.es/
Formación Acreditada eedomus
Formación Oficial Jeedom
Formación Lora (integración en eedomus y Jeedom)
Formación IPX800
Formación sobre desarrollo de plugins en eedomus
Desarrollo de plugins para eedomus y Jeedom

rls46

  • ****
  • 321
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #3 en: Junio 19, 2016, 22:46:20 pm »
Si si, me ha llevado su tiempo, no quería meter la pata  ;D

Tiene muy buena pinta!.
A ver si lo miro en profundidad.
Yo tengo AC FUJITSU por conductos, espero poder hacer algo parecido con intesishome integrando en mi termostato virtual.

Ya me contaras los 4 pasos para tener acceso root.

esta claro que el método hace que se pierda la garantia  ;D
seguí este tutorial.

http://www.siio.de/die-fibaro-hc2-rooten-und-eigene-programme-installieren/
(con translator se entiende mejor)
el resumen es, destornillar y sacar la placa, lleva un usb pegado con pasta, se quita con cuidado (con un cutter sale solo), se pincha en un sistema linux, hacer una copia con el comando dd a un archivo imagen, restaurar la imagen tambien con dd a otro usb (minimo 4gb) (por si acaso  ;) ), a partir de aqui el usb original se puede guardar y funcionar con el nuevo, se monta en un sistema linux, se verán las particiones.
en terminal
sudo su
cd /media/nombre_usuario/
ls (para ver las carpetas, hay 2, quedarse con el que sea similar a b23l34...)
cd bs23l34...
nano etc/shadow  (para editar el archivo shadow)
en la primera linea eliminar desde el primer : al segundo :
abrir otra ventana terminal y ejecutar

python -c "import crypt,random,string; print crypt.crypt(raw_input('clear-text password: '), '\$6\$' + ''.join([random.choice(string.ascii_letters + string.digits) for _ in range(16)]))"

introducir una contraseña y al hacer enter nos dara un hash
ponerlo en la ventana terminal entre los dos :

segun el tutorial si quieres usar 'admin' este es el hash
$6$s91CJxNWqeB1AIAZ$.hKR8bLNMNbB40XHNYKpfRJIOScUqSe4DwrmV2SIOHtL0V8HOkxPEKQItcC1q3.P6d0K/9HVz/PnadOVfN4310

guardar con Ctrl+X, Y , INTRO
y se acabó.
pinchar otra vez en hc2 y ya se tiene acceso ssh root@ipdelhc2

tengo rooteado el de pruebas, con un usb que no es el original y funciona perfecto.



linkey

  • *****
  • 609
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #4 en: Junio 19, 2016, 23:00:42 pm »
gracias

rls46

  • ****
  • 321
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #5 en: Junio 19, 2016, 23:31:06 pm »
y te dan la bienvenida y todo  ;D

rls46

  • ****
  • 321
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #6 en: Junio 29, 2016, 17:57:00 pm »
he actualizado el plugin (1.3), ahora la interface de uso está en el plugin, así que ya no es necesario el dispositivo virtual.

también he quitado el dispositivo dimmer que mostraba la velocidad de ventilación, no tenia sentido (he puesto en la interface los 5 modos) además los botones (on/off) como tienen la misma propiedad que el switch, si se pulsaban, encendía y apagaba el split.

también he añadido la opción de refrescar los datos cada 5 seg.

Por cierto, e importante!, antes de actualizar el firmware del hc hay que eliminar los dispositivos desde plugins.
ayer actualice a la 4.083 no los borré y casi la lio parda. Al actualizar el firmware el plugin se elimina (por lo que puse en el primer mensaje) pero lo cachondo es que los dispositivos se quedan y al arrancar y no encontrar el plugin el hc no inicia.

Por cierto, la 4.083 es muy buena, también han puesto ya las actualizaciones OTA de firmware de dispositivos, tengo 12 para actualizar.
« Última modificación: Junio 29, 2016, 18:09:00 pm por rls46 »

phroc

  • *****
  • 5639
  • Belle époque
    • Ver Perfil
    • Domótica Doméstica
Re:Panel AC con Splits Daikin
« Respuesta #7 en: Junio 30, 2016, 09:38:34 am »
Por cierto, la 4.083 es muy buena, también han puesto ya las actualizaciones OTA de firmware de dispositivos, tengo 12 para actualizar.

No dejes de contarnos sobre las actualizaciones OTA. Por lo que me han comentado, es un proceso "peligroso" que puede comprometer la estabilidad del controlador si ocurre alguna incidencia. Pero no lo he probado yo nunca. Es muy interesante que Fibaro se haya decido a implementarlo. Otros fabricantes de controladores de momento han renunciado por lo que te decía.

Espero tus impresiones al respecto.

Gracias.
https://pr-domotica.es/
Formación Acreditada eedomus
Formación Oficial Jeedom
Formación Lora (integración en eedomus y Jeedom)
Formación IPX800
Formación sobre desarrollo de plugins en eedomus
Desarrollo de plugins para eedomus y Jeedom

rls46

  • ****
  • 321
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #8 en: Junio 30, 2016, 17:22:23 pm »
enlace a v1.4 en el mensaje #1 con pequeños cambios, ahora al pulsar cualquier botón se actualiza la interface y no hay que esperar a que refresque la información, también confirma con un 'ok' en el valor de temperatura exterior que el comando ha sido recibido por el split hasta el siguiente refresco de información.

A nivel de uso, he hecho unas escenas para que cuando las ventanas, ventanales se abren, se anula la zona del panel AA donde esta la ventana, ventanales y apaga el split, cuando se cierran vuelve a retomar el panel, muy cómodo y eficiente. También cuando no hay presencia en alguna estancia el panel se anula, al detectar presencia vuelve al panel, abajo no me sirve de mucho, pues los perros campan a sus anchas  :) , pero para las habitaciones va muy bien.

Citar
No dejes de contarnos sobre las actualizaciones OTA. Por lo que me han comentado, es un proceso "peligroso" que puede comprometer la estabilidad del controlador si ocurre alguna incidencia. Pero no lo he probado yo nunca. Es muy interesante que Fibaro se haya decido a implementarlo. Otros fabricantes de controladores de momento han renunciado por lo que te decía.

todavia no he hecho ninguno, todos son multisensores fibaro y tengo que bajarlos y llevarlos junto a controlador pues recomiendan a 1-2mts, un poco rollo, pero es una funcionalidad fantástica para tener los dispositivos con las ultimas mejoras y corrección de fallos.
En el foro oficial a hoy no hay ningún comentario de dispositivos o controladores brickeados, parece que funciona, en cuanto me ponga os cuento.

« Última modificación: Junio 30, 2016, 18:23:49 pm por rls46 »

rls46

  • ****
  • 321
    • Ver Perfil
Re:Panel AC con Splits Daikin
« Respuesta #9 en: Agosto 04, 2017, 21:07:37 pm »
He actualizado el plugin a la v1.7 con un par de mejoras.

la cosa es que de vez en cuando 2 de los 6 plugins se quedaban tostados, me di cuenta que siempre eran los mismos, los que mas se encienden y apagan, tengo unas escenas que si no hay presencia en unos minutos se apagan, se vuelven a encender cuando la hay y si la diferencia de temperatura de la estancia con la de consiga es mas de 1 grado el ventilador se pone al máximo y si no en modo auto, hay un ejemplo de como pulsar botones del plugin desde un dispositivo virtual en el mensaje inicial.

Revisando el código vi que el bucle de actualización lo hace la función setTimeout, y en cada acción añadía un setTimeout mas, acumulando infinitos llegando a dejar colgado el plugin.

En esta versión, he aislado a otra función las acciones sobre el plugin para evitar esto.

También he añadido la opción de reiniciar el plugin, podía haber puesto que se reiniciara cada cierto tiempo en el código pero he dejado solo el botón de forma manual, para poder reiniciarlos cada cual a su gusto y si quiere con una escena, también hay un ejemplo en el mensaje inicial.

Re:Panel AC con Splits Daikin
« Respuesta #10 en: Abril 14, 2020, 01:16:13 am »
Buenas! No funcionan los links de descarga, ¿puedes resubirlos? Quiero hacer algo parecido con un aire por conductos, a ver si puedo ver tu ejemplo.
He actualizado el plugin a la v1.7 con un par de mejoras.

la cosa es que de vez en cuando 2 de los 6 plugins se quedaban tostados, me di cuenta que siempre eran los mismos, los que mas se encienden y apagan, tengo unas escenas que si no hay presencia en unos minutos se apagan, se vuelven a encender cuando la hay y si la diferencia de temperatura de la estancia con la de consiga es mas de 1 grado el ventilador se pone al máximo y si no en modo auto, hay un ejemplo de como pulsar botones del plugin desde un dispositivo virtual en el mensaje inicial.

Revisando el código vi que el bucle de actualización lo hace la función setTimeout, y en cada acción añadía un setTimeout mas, acumulando infinitos llegando a dejar colgado el plugin.

En esta versión, he aislado a otra función las acciones sobre el plugin para evitar esto.

También he añadido la opción de reiniciar el plugin, podía haber puesto que se reiniciara cada cierto tiempo en el código pero he dejado solo el botón de forma manual, para poder reiniciarlos cada cual a su gusto y si quiere con una escena, también hay un ejemplo en el mensaje inicial.