Aller au contenu

Mon Test Home Assistant (Hass.io)


Messages recommandés

Posté(e)

De mon côté, je suis passé de HA à HC3, surtout un problème de perte "capteur Zwave" assez fréquemment, des mise à jour dès fois trop rapide. (Puis une nouvelle version qui demandait une mise à jour de la clef Zwave, quand on installe chez des amis, c'est beaucoup plus problématique ).
Sinon je regrette le plan de la maison avec pilotage sur le dessin directement, génial avec une tablette (non disponible sur HC3)
 

Capture d’écran 2022-05-11 à 14.59.39.png

  • Like 1
Posté(e)

Bon effectivement le zwave n'est pas rock solid ! Je viens d'avoir cet aprem, après l'inclusion des QubinoFP une grouille pas possible avec d'innombrable device qui répondent plus. Alors est-ce que ça a un lien avec l'intégration des Qubino ou pas....bonne question.

image.thumb.png.13c9fd43eecc201d277ebc8fea6750c5.png

Posté(e)

Bon alors là je comprends pas. Grosse grouille, obligé de débrancher la clé et de redémarrer la VM. Plus aucun périphérique Z-wave ne répondait ! Absolument rien ! Une fois tout redémarré, plus de soucis.....pour l'instant ! A voir sur le temps !

image.thumb.png.7a9e86fce5840c56b89ab44142b84aaa.png

Posté(e)

J'utilise la Aeotec mais de ce que j'ai lu par la suite il aurait mieux valu partir sur la zooz :wacko:

 

Edit : Excellent le post sur la HC2/HA :)

Posté(e)

Bon voilou.... pour moi c'est fini, migration full ok en une semaine. Le plus chiant a été de démonter les Qubino FP parce qu'il fallait qu'ils soient à côté de la box pour être exclus/inclus. Sinon après le reste c'est tout bon !

  • Like 2
Posté(e)
Le 11/06/2023 à 20:19, BenjyNet a dit :

Bon voilou.... pour moi c'est fini, migration full ok en une semaine. Le plus chiant a été de démonter les Qubino FP parce qu'il fallait qu'ils soient à côté de la box pour être exclus/inclus. Sinon après le reste c'est tout bon !

Plus aucun soucis avec le réseau zwave ?

Posté(e)

Bonjour, 


Je viens de commencer aussi la partie Zwave, j'ai donc choisi d'installer ZWAVE JS avec la nouvelle Clé Aeotec Z-Stick7. J'ai ajouté 1 seul périphérique pour l'instant. 

 

1299602082_Capturedecran2023-06-20a14_58_34.thumb.png.0e03fffac2c7de81ff28f0f862d21860.png

 

J'ai même vu qu'on pouvait mettre à jour les périphériques ( pas encore tester ) 

382519287_Capturedecran2023-06-20a15_01_19.png.ae672bf41472c7fd7c1721a078d4a108.png

 

@ suivre ;) 

++

Ludo

 

  • Like 1
Posté(e)

Bon, après quelques jours/semaines, je peux constater que le zwave est moins performant que sur HC2. Il y a un lag entre la commande et l'action effective et certains devices se mettent en noeud mort puis reviennent tout seul ou alors si on s'en aperçoit, il suffit de cliquer sur ping et hop il renait. Après c'est pas ultra bloquant, franchement dans l'ensemble, ça marche plutôt bien !

Ce qui est appréciable c'est la facilité d'interaction entre tous les devices, quelque soit le protocole. Et en plus, il y a pleins de chose directement intégrées sans avoir à développer quoique ce soit, genre le suivi des batteries, la détection de présence, le suivi de la météo, etc... (et bien sur tout ça est intégrable dans des scénarios).

Posté(e)

Merci !

Ca me conforte de garder ma HC2 com passerelle ZWAVE :-)

J'en ai une 2e en backup, ça devrait tenir encore quelques années, le temps que qqun arrive enfin a faire une stack zwave vraiment performante.

Maintenant, je remarque que quand un module zwave dimmer "crame" je le remplace par ... HUE ... je l'aurais pas cru y'a qq années ^_^

 

  • Like 1
  • 1 mois après...
Posté(e)

Bonjour a tous, un petit post pour partager du code qui permet de migrer facilement de HC2 a HA.

J'ai encore pas mal sur HC2 qui reste ma passerelle zwave et y'a encore pas mal de GEA qui traine :-)

j'ai donc fait une scène qui met a jour des labels d'un VD avec le contenu des VG.

Pourquoi ? car le plugin fibaro de HA est bien fichu et très rapide mais ne récupère pas les Variables globales.

Ensuite j'ai un Node-Red qui parse les last param et mets ajour des entités sur mon HA.

Donc voici dans l'ordre:

- la scène

- le VD

- le flow NodeRed

 

--[[
%% properties
%% events
%% globals
PresentState
Porte_Garage
Porte_Gar_Action
Alarme_Status
Ambiance_Rez
--]]

-- Scene to update virtual device label with the content of multiple global variables

local virtualDeviceId = 2301 -- ID of your virtual device

-- List of global variables you want to monitor
local globalVariables = {
    'PresentState',
    'Porte_Garage',
    'Porte_Gar_Action',
    'Alarme_Status',
    'Ambiance_Rez',
    -- Add more global variables as needed
}

-- Table to translate global variable names to label names (no _ is allowed in VD labels ...
local globalVarToLabel = {
    PresentState = 'PresentState',
    Porte_Garage = 'PorteGarage',
    Porte_Gar_Action = 'PorteGarAction',
    Alarme_Status = 'AlarmeStatus',
    Ambiance_Rez = 'AmbianceRez',
}

-- Function to update the virtual device label with the global variable value
function updateVirtualDeviceLabel(globalVariableName, virtualDeviceId)
    local globalVariableValue = fibaro:getGlobalValue(globalVariableName)

    if globalVariableValue then
        local labelName = globalVarToLabel[globalVariableName]
        if labelName then
            fibaro:call(virtualDeviceId, 'setProperty', 'ui.'..labelName..'.value', globalVariableValue)
            fibaro:debug('VD ' .. virtualDeviceId .. ' updated ' .. labelName .. 'with ' .. globalVariableValue)
        else
            fibaro:debug('No label found for GV ' .. globalVariableName)
        end
    else
        fibaro:debug('GV value not found for ' .. globalVariableName)
    end
end

-- Get the source trigger
local trigger = fibaro:getSourceTrigger()

-- Check if the trigger was a global variable
if trigger['type'] == 'global' then
    local variableName = trigger['name']

    -- Check if the triggered global variable is in the list
    for _, varName in ipairs(globalVariables) do
        if varName == variableName then
            updateVirtualDeviceLabel(variableName, virtualDeviceId)
            break
        end
    end
else
    fibaro:debug('Nothing Done.')
end

Créez un VD et ajoutez des labels: leur id doit matcher les variables globales: PresentState, AlarmeStatus etc.

attention, pas de "_" dans les labels, raison pour laquelle j'ai du faire une table de conversion dans la scène

- Main loop of the VD

local selfId = fibaro:getSelfId()
local PresentState = fibaro:getGlobal("PresentState")
local PorteGarage = fibaro:getGlobal("Porte_Garage")
local PorteGarAction = fibaro:getGlobal("Porte_Gar_Action")
local AlarmeStatus = fibaro:getGlobalValue("Alarme_Status")
local AmbianceRez = fibaro:getGlobalValue("Ambiance_Rez");


fibaro:call(selfId, "setProperty", "ui.PresentState.value", PresentState )
fibaro:call(selfId, "setProperty", "ui.AlarmeStatus.value", AlarmeStatus)
fibaro:call(selfId, "setProperty", "ui.PorteGarage.value", PorteGarage)
fibaro:call(selfId, "setProperty", "ui.PorteGarAction.value", PorteGarAction)
fibaro:call(selfId, "setProperty", "ui.AmbianceRez.value", AmbianceRez)
fibaro:sleep(1000);

 

Utiliser la palette node-red-contrib-fibaro-devices

[{"id":"388d728cade11c19","type":"tab","label":"HC2 VG TO HA","disabled":false,"info":"","env":[]},{"id":"a9f467dae93c6336","type":"home-center","z":"388d728cade11c19","name":"HomeCenter 2","disable":false,"debug":false,"timeout":"","device":"5983525b4fbdf944","x":420,"y":80,"wires":[["a6fe209697ae5206","cd67ab58e7acc11c","b8d0e9ed3ef10f0f","e13774277ae169b1"],["9e55742321ac4d05"]]},{"id":"a6fe209697ae5206","type":"debug","z":"388d728cade11c19","name":"hc.event","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":640,"y":60,"wires":[]},{"id":"9e55742321ac4d05","type":"debug","z":"388d728cade11c19","name":"hc.error","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":640,"y":100,"wires":[]},{"id":"cd67ab58e7acc11c","type":"function","z":"388d728cade11c19","name":"filter VD id 2301 (VG Exporter to HA)","func":"// Variables\nvar input = { payload: msg.payload }; // Output 1 (msg.payload)\nvar propert; // Output 2 (HC2_Bewonersstatus)\nvar all ; // Output 3 (HC2_Beweging)\n//var WOL; // output 4 (WOL)\n//var add2Log; // Output 5 (add2Log)\n// --> Output 1 (msg.payload)\n// Content of payload:\n// Name: msg.payload.name\n// Value: msg.payload.value\n// Type: msg.payload.type\n// Log: msg.payload.log\n// --> Output 2 (HC2_Bewonersstatus)\nif (msg.id == \"2301\") {\n    propert = { payload: msg.payload };\n    all = { payload: msg };\n    //payl = { payload: msg.payload.payload };\n}\n// Set to proper outputs\n// return [input, bewonersStat, bewegingsMeld, WOL, add2Log];\n// return propert; only contenu variable\n//return msg;\nreturn all;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":230,"y":400,"wires":[["c7f08a7e869b9c2a","9d7d2e82bb662da1","090ad2109b41194f"]]},{"id":"34df9d4af258897a","type":"debug","z":"388d728cade11c19","name":"Content of Action","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1210,"y":420,"wires":[]},{"id":"b8d0e9ed3ef10f0f","type":"switch","z":"388d728cade11c19","d":true,"name":"VG PresentState","property":"id","propertyType":"msg","rules":[{"t":"eq","v":"2301","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":670,"y":140,"wires":[["ba68b2003b0665d5"]]},{"id":"9272bb059d07cea9","type":"api-call-service","z":"388d728cade11c19","name":"Porte_Garage_Action","server":"8855687a.7772d8","version":5,"debugenabled":false,"domain":"input_text","service":"set_value","areaId":[],"deviceId":[],"entityId":["input_text.porte_gar_action"],"data":"{\"value\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":800,"y":440,"wires":[["34df9d4af258897a"]]},{"id":"ba68b2003b0665d5","type":"switch","z":"388d728cade11c19","d":true,"name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":830,"y":140,"wires":[[]]},{"id":"c7f08a7e869b9c2a","type":"function","z":"388d728cade11c19","d":true,"name":"Filter VG PresentState","func":"// Extract \"id\" and \"topic\" fields from the parsed JSON\nconst PresentState = msg.payload.payload;\n\n// Create separate messages for \"id\" and \"topic\"\nconst idPresentState = { payload: PresentState };\n\n// Send the separate messages to the output\nreturn [idPresentState];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":520,"y":320,"wires":[[]]},{"id":"c5c8f5caa449713b","type":"api-call-service","z":"388d728cade11c19","name":"Porte_Garage","server":"8855687a.7772d8","version":5,"debugenabled":false,"domain":"input_text","service":"set_value","areaId":[],"deviceId":[],"entityId":["input_text.porte_garage"],"data":"{\"value\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":780,"y":380,"wires":[["34df9d4af258897a"]]},{"id":"9d7d2e82bb662da1","type":"function","z":"388d728cade11c19","name":"Filter ALL VG's","func":"if (msg.payload.property == \"ui.PresentState.value\") {\n        // Extract \"id\" and \"topic\" fields from the parsed JSON\n        const PresentState = msg.payload.payload;\n        // Create separate messages for \"id\" and \"topic\"\n        var idPresentState = { payload: PresentState };\n}\nif (msg.payload.property == \"ui.PorteGarage.value\") {\n         // Extract \"id\" and \"topic\" fields from the parsed JSON\n        const Porte_Garage = msg.payload.payload;\n        // Create separate messages for \"id\" and \"topic\"\n        var idPorte_Garage = { payload: Porte_Garage };\n}\nif (msg.payload.property == \"ui.PorteGarAction.value\") {\n        // Extract \"id\" and \"topic\" fields from the parsed JSON\n        const Porte_Garage_Action = msg.payload.payload;\n        // Create separate messages for \"id\" and \"topic\"\n        var idPorte_Garage_Action = { payload: Porte_Garage_Action };\n}\nif (msg.payload.property == \"ui.AmbianceRez.value\") {\n        // Extract \"id\" and \"topic\" fields from the parsed JSON\n        const Ambiance_Rez = msg.payload.payload;\n        // Create separate messages for \"id\" and \"topic\"\n        var idAmbiance_Rez = { payload: Ambiance_Rez };\n}\nif (msg.payload.property == \"ui.ModeRez.value\") {\n        // Extract \"id\" and \"topic\" fields from the parsed JSON\n        const ModeRez = msg.payload.payload;\n        // Create separate messages for \"id\" and \"topic\"\n        var idModeRez = { payload: ModeRez };\n}\n// Send the separate messages to the output\nreturn [idPresentState, idPorte_Garage, idPorte_Garage_Action, idAmbiance_Rez, idModeRez];\n\n","outputs":5,"noerr":0,"initialize":"","finalize":"","libs":[],"x":540,"y":440,"wires":[["8c5755a42fe68555","c0243bdc39d0da09"],["c5c8f5caa449713b"],["9272bb059d07cea9"],["fb9f682b502c7256"],["d313b001f97640a4"]]},{"id":"1af8341d6bef3869","type":"inject","z":"388d728cade11c19","d":true,"name":"kitchen/lights/lamp : OFF","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"kitchen/lights/lamp","payload":"false","payloadType":"bool","x":170,"y":100,"wires":[["a9f467dae93c6336"]]},{"id":"844377f896f633bf","type":"inject","z":"388d728cade11c19","d":true,"name":"kitchen/lights/lamp : ON","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"kitchen/lights/lamp","payload":"true","payloadType":"bool","x":160,"y":60,"wires":[["a9f467dae93c6336"]]},{"id":"090ad2109b41194f","type":"debug","z":"388d728cade11c19","name":"Selected Payloads of VG's","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":580,"y":640,"wires":[]},{"id":"c0243bdc39d0da09","type":"debug","z":"388d728cade11c19","name":"Content of VG","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":780,"y":260,"wires":[]},{"id":"8c5755a42fe68555","type":"api-call-service","z":"388d728cade11c19","name":"PresentState","server":"8855687a.7772d8","version":5,"debugenabled":false,"domain":"input_select","service":"select_option","areaId":[],"deviceId":[],"entityId":["input_select.presentstate"],"data":"{\"option\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":770,"y":320,"wires":[["34df9d4af258897a"]]},{"id":"fb9f682b502c7256","type":"api-call-service","z":"388d728cade11c19","name":"Ambiance_Rez","server":"8855687a.7772d8","version":5,"debugenabled":false,"domain":"input_select","service":"select_option","areaId":[],"deviceId":[],"entityId":["input_select.ambiance_rez"],"data":"{\"option\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":780,"y":500,"wires":[["34df9d4af258897a"]]},{"id":"d313b001f97640a4","type":"api-call-service","z":"388d728cade11c19","name":"ModeRez","server":"8855687a.7772d8","version":5,"debugenabled":false,"domain":"input_text","service":"set_value","areaId":[],"deviceId":[],"entityId":["input_text.moderez"],"data":"{\"value\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":760,"y":560,"wires":[["34df9d4af258897a"]]},{"id":"e13774277ae169b1","type":"function","z":"388d728cade11c19","name":"filter VD id 2139 (Modes Auto/Manuel)","func":"// Variables\nvar input = { payload: msg.payload }; // Output 1 (msg.payload)\nvar propert; // Output 2 (HC2_Bewonersstatus)\nvar all ; // Output 3 (HC2_Beweging)\n//var WOL; // output 4 (WOL)\n//var add2Log; // Output 5 (add2Log)\n// --> Output 1 (msg.payload)\n// Content of payload:\n// Name: msg.payload.name\n// Value: msg.payload.value\n// Type: msg.payload.type\n// Log: msg.payload.log\n// --> Output 2 (HC2_Bewonersstatus)\nif (msg.id == \"2139\") {\n    propert = { payload: msg.payload };\n    all = { payload: msg };\n    //payl = { payload: msg.payload.payload };\n}\n// Set to proper outputs\n// return [input, bewonersStat, bewegingsMeld, WOL, add2Log];\n// return propert; only contenu variable\n//return msg;\nreturn all;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":230,"y":480,"wires":[["090ad2109b41194f","9d7d2e82bb662da1"]]},{"id":"5983525b4fbdf944","type":"home-center-config","name":"HC2","host":"192.168.xx.xx","port":"80"},{"id":"8855687a.7772d8","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
  • Like 3
Posté(e)

Code de la scène réduit au minimum pour plus de vitesse:

Je ne pense pas qu'il y aie moyen de se passer du getGlobalValue (je n'ai pas trouvé le contenu de la VG dans le GetSourceTrigger)

--[[
%% properties
%% events
%% globals
PresentState
Porte_Garage
Porte_Gar_Action
Alarme_Status
Ambiance_Rez
--]]

-- Scene to update virtual device label with the content of multiple global variables

local virtualDeviceId = 2301 -- ID of your virtual device

-- Table to translate global variable names to label names (no _ is allowed in VD labels ...
local globalVarToLabel = {
    PresentState = 'PresentState',
    Porte_Garage = 'PorteGarage',
    Porte_Gar_Action = 'PorteGarAction',
    Alarme_Status = 'AlarmeStatus',
    Ambiance_Rez = 'AmbianceRez',
}

-- Get the source trigger
local trigger = fibaro:getSourceTrigger()

-- Send the global variable Value to the VD Label
local variableName = trigger['name']
local labelName = globalVarToLabel[variableName]
local globalVariableValue = fibaro:getGlobalValue(variableName)

fibaro:call(virtualDeviceId, 'setProperty', 'ui.'..labelName..'.value', globalVariableValue)
fibaro:debug('VD ' .. virtualDeviceId .. ' updated ' .. labelName .. ' with ' .. globalVariableValue)

 

  • Like 2
  • 2 mois après...
Posté(e)
Le 10/06/2023 à 23:47, BenjyNet a dit :

Bon, ça avance tout doux :

image.thumb.png.78201445520e666b4f019256159b46ad.png

Bonjour BenjyNet

 

j'essais également HA en parallèle de mon actuel HC2.

comment as tu symbolisé tes radiateurs avec les info du fil pilote.

j'ai des Quibino FP que je souhaite également gérer sur HA.

 

  • Like 1
Posté(e) (modifié)
Le 09/06/2023 à 10:49, Chignon a dit :

De mon côté, je suis passé de HA à HC3, surtout un problème de perte "capteur Zwave" assez fréquemment, des mise à jour dès fois trop rapide. (Puis une nouvelle version qui demandait une mise à jour de la clef Zwave, quand on installe chez des amis, c'est beaucoup plus problématique ).
Sinon je regrette le plan de la maison avec pilotage sur le dessin directement, génial avec une tablette (non disponible sur HC3)
 

Capture d’écran 2022-05-11 à 14.59.39.png

c'est réalisé avec floorplan 3D?

Il y a d'autre solutions mise en place pour avoir ce résultat?

il est possible d'avoir une vue plus détaillé pour voir se qui se trouve sur ce plan?

perso j'ai tous mes modules ZWAVE sous HC3 et j'ai mis en place le plugin HC3 sous HA pour récupérer tous les devices

Et c'est le coté plan qui m’intéresse a présent

 

 

Modifié par flacon030
Posté(e)

Salut @flacon030. Beaucoup d'utilisateur de HA utilise Sweet Home 3D.

Voici le lien du site si ça t'intéresse:

http://www.sweethome3d.com/fr/

 

Ici un lien sur un tuto YouTube:

https://www.youtube.com/watch?v=dGoXLjy6z2c&list=PLJAdG5HfOa5Wump_-elPX6Yt_zJMlQKV6&index=4

 

Ce n'est pas trop compliqué mais c'est très long à mettre en place.

Je n'ai pas encore terminé le mien.

Je me suis concentré à faire une interface pour téléphone pour le moment.

  • 4 semaines après...
Posté(e) (modifié)

Je viens de commencé mon floorplan

Cela commence a ressembler a quelques chose.

A présent j'aimerais avoir sur le plan une icône de status volets ouvert/fermé, idem pour le store mais je ne sais pas comment

 

floorplan.png

Modifié par flacon030
  • Like 1
Posté(e)
Le 29/10/2023 à 14:14, banzai861 a dit :

Bonjour BenjyNet

 

j'essais également HA en parallèle de mon actuel HC2.

comment as tu symbolisé tes radiateurs avec les info du fil pilote.

j'ai des Quibino FP que je souhaite également gérer sur HA.

 

Désolé du retard, j'étais complètement passé à côté de ton post.

Alors moi j'ai installé depuis HACS "home-assistant-qubino-wire-pilot" dans "integration" que tu trouveras aussi ici : https://github.com/piitaya/home-assistant-qubino-wire-pilot 

Puis tu rajoutes ensuite dans ton fichier configuration.yaml

# Config des QubinoFP pour covnertir dimmer en climate
climate:
  - platform: qubino_wire_pilot
    heater: light.qfp_bureau
    additional_modes: true
    name: rad_bureau

Là c'est pour mon radiateur du bureau

 

Et pour le dashboard j'ai fait ça (incluant mon ST814) :

type: vertical-stack
cards:
  - type: entities
    entities:
      - entity: sensor.st814_bureau_air_temperature
        name: Température
        secondary_info: none
      - entity: sensor.st814_bureau_humidity
        name: Humidité
    title: Bureau
  - type: entities
    entities:
      - entity: climate.qubino_thermostat
        type: custom:climate-mode-entity-row
        modes:
          - hvac_mode: 'off'
          - preset_mode: away
          - preset_mode: eco
          - preset_mode: comfort-2
            icon: mdi:weather-sunset-down
            color: '#FFD700'
          - preset_mode: comfort-1
            icon: mdi:weather-sunny
            color: '#FFA500'
          - preset_mode: comfort
            icon: mdi:fire
            color: '#FF6347'

Il faut que tu installes auparavant avec HACS "climate-mode-entity-row" dans "interface".

Posté(e)
Le 29/10/2023 à 18:30, flacon030 a dit :

c'est réalisé avec floorplan 3D?

Il y a d'autre solutions mise en place pour avoir ce résultat?

il est possible d'avoir une vue plus détaillé pour voir se qui se trouve sur ce plan?

perso j'ai tous mes modules ZWAVE sous HC3 et j'ai mis en place le plugin HC3 sous HA pour récupérer tous les devices

Et c'est le coté plan qui m’intéresse a présent

 

 

Sur ce plan, j'utilise Sweet Home 4D qui permet de dessiner, ajouter et allumer/eteindre les lampes de chaque pieces, et GIMP pour la gestion des zones d'affichage.

×
×
  • Créer...