Aller au contenu
OJC

Heating Manager

Recommended Posts

Bonjour,

 

Après installation je remarque que le lblMain n'est pas visible.

il n'y as pas de code lua dans ce label 12

 

 

 

image.png.acb19c4d0769a2403e9080f280238b07.png

 

image.png.58820e7e3ab97f7bc6648616a64c8c9a.png

 

image.png.8cd4619076f1e248eee2749b172dd800.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Net,

 

C'est la scène qui gère le remplissage de ce label.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bizarre :huh:

 

L'erreur est apparue dès le premier lancement ou après un début de configuration ?

Partager ce message


Lien à poster
Partager sur d’autres sites

idem chez moi sur le #3

 

ma conf

self:addHeater(2,{10,"turnOn","turnOff","0"},{50,"value"})

self:setSetpoint(2,"Consigneencours")


[DEBUG] 13:32:02: line 263: bad argument #3 to 'format' (no value)
 

 

pour info, le paramètre     oldLastTempUpdate est annoncé à 180 minutes dans le tuto mais semble a 0 dans le lien pour télécharger le code la scene.

 

si vous avez une idée du pb?

 

Edit, cela se produit en mode hystérésis, pas d'erreur en mode Ubat.

Merci

Modifié par Dgille

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dgille Effectivement, il y a une erreur sur la valeur par défaut d'oldLastTempUpdate qui est en fait à 0.

 

Pour le reste, est-ce que checkConfig est bien à true ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ta réponse. Oui, je n'ai pas touché à la conf par défaut.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'arrive pas à reproduire l'erreur chez moi ??

Au démarrage de la scène, est-ce que le nom Heating Manager s'affiche bien, suivi du mode de régulation ? Ou c'est directement le message d'erreur ?

Il n'y a aucun doute sur l'ID des modules et le nom de la variable globale ?

 

Tu peux m'envoyer ta scène entière en mp ?

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, OJC a dit :

L'erreur est apparue dès le premier lancement ou après un début de configuration ?

juste après

Voila les activations

image.png.c6d5a9ce8f04cb29e079c53bc9bfb933.png

 

Sans activation des HEATERS  et SOURCES :

image.png.4e473b568da0ec143973ec1626f1a8a9.png

Partager ce message


Lien à poster
Partager sur d’autres sites

@Net Pour ce qui te concerne, c'est normal. La fonction présente de base n'est pas à décommenter. Il faut que tu rajoutes tes propres fonctions en suivant le tuto dans le premier post. Il n'y a pas de variables idRoom, idHeater, idSonde, etc. Donc la scène se retrouve à chaque fois avec la valeur nil.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 17 minutes, OJC a dit :

@Net Pour ce qui te concerne, c'est normal. La fonction présente de base n'est pas à décommenter. Il faut que tu rajoutes tes propres fonctions en suivant le tuto dans le premier post. Il n'y a pas de variables idRoom, idHeater, idSonde, etc. Donc la scène se retrouve à chaque fois avec la valeur nil.

Alors je rajoute une ligne pour chaque radiateur?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dgille Bon, te concernant, c'est bien un bug d'inattention de ma part. Mea culpa :(

 

Remplace la fonction HM:startHysteresisManager() de ta scène par celle-ci :

function HM:startHysteresisManager()
  if not (self.isBoot) then self:getRefinedSetpoint() end
  for i, room in pairs(self.Collection) do
    if (i ~= "outdoorSonde") then
      for _, item in pairs(room.heaters) do
        self:notify(self:log("checkRoom", room.nameRoom, item.nameHeater))
        local current = self:getTemperatures(item, room.nameRoom)
        if (isNotNil(current)) then
          if ((self.isBoot) and (isNotNil(room.message))) then self:notify(room.message, self.colors.fInfo) end
          room.message = nil
          self:notify(self:log("showTemperatures", room.nameRoom, current, room.refinedSetpoint))
          if (room.refinedSetpoint - current >= tonumber(self.HMCF.hysteresis)) then
            self:startHeater(item, room.nameRoom)
          else
            self:stopHeater(item, room.nameRoom)
          end
        else
          self:stopHeater(item, room.nameRoom)
        end
      end
    end
  end
  if (self.isBoot) then self.isBoot = false end
  setTimeout(function() self:startHysteresisManager() end, self.HMCF.cycle * 1000)
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Net Oui, c'est ça, une ligne pour chaque radiateur.

Partager ce message


Lien à poster
Partager sur d’autres sites

Parfait, plus d'erreur. Chapeau pour la réactivité. Je teste cela quelques jours et vous fait retour.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 21 heures, OJC a dit :

Oui, c'est ça, une ligne pour chaque radiateur.

Est-ce que tu peux donner un example pour un radiateur  un Danfoss  LC  (ID 210), dans la chambre ID5 en zone 3 svp?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @Net,

 

Je ne connais pas le fonctionnement d'un Danfoss, peux-tu me préciser la commande à envoyer pour l'actionner ? Est-ce turnOn et turnOff ? Quelle est la valeur de sa propriété value lorsqu'il est à l'arrêt ?

Et quand tu parles de zone 3, qu'est-ce que tu utilises comme source pour la température de consigne ?

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 6 heures, OJC a dit :

Danfoss, peux-tu me préciser la commande à envoyer pour l'actionner

J'ignore si'l  accepte on/off. C'est reglé pas la temperature.

http://heating.danfoss.com/PCMPDF/living-connect_OEM_VQIDA15T_013R9563.pdf

En LUA:

fibaro:call(154, "setTargetLevel", "20");
fibaro:call(154, "setTime", tonumber(os.time(t)) + 120*60);

 

Voici le résultat API du Radiator Head avec la température 28C , donc ouvert

{
  "id": 154,
  "name": "154 erker re-achter",
  "roomID": 4,
  "type": "com.fibaro.thermostatDanfoss",
  "baseType": "com.fibaro.hvac",
  "enabled": true,
  "visible": true,
  "isPlugin": false,
  "parentId": 153,
  "remoteGatewayId": 0,
  "interfaces": [
    "battery",
    "zwave",
    "zwaveProtection",
    "zwaveWakeup"
  ],
  "properties": {
    "parameters": [],
    "pollingTimeSec": 0,
    "wakeUpTime": 900,
    "zwaveCompany": "Danfoss",
    "zwaveInfo": "6,3,67",
    "zwaveVersion": "1.1",
    "RFProtectionState": "0",
    "RFProtectionSupport": "0",
    "batteryLevel": "71",
    "batteryLowNotification": "true",
    "configured": true,
    "dead": "false",
    "defInterval": "0",
    "deviceControlType": "0",
    "deviceIcon": "34",
    "emailNotificationID": "0",
    "emailNotificationType": "0",
    "endPointId": "0",
    "liliOffCommand": "",
    "liliOnCommand": "",
    "localProtectionState": "0",
    "localProtectionSupport": "5",
    "log": "",
    "logTemp": "",
    "manufacturer": "",
    "markAsDead": "false",
    "maxInterval": "0",
    "minInterval": "0",
    "model": "",
    "nodeId": "32",
    "parametersTemplate": "322",
    "productInfo": "0,2,0,5,0,4,1,1",
    "protectionExclusiveControl": "0",
    "protectionExclusiveControlSupport": "false",
    "protectionState": "0",
    "protectionTimeout": "0",
    "protectionTimeoutSupport": "false",
    "pushNotificationID": "0",
    "pushNotificationType": "0",
    "remoteGatewayId": "0",
    "saveLogs": "true",
    "serialNumber": "",
    "smsNotificationID": "0",
    "smsNotificationType": "0",
    "stepInterval": "0",
    "targetLevel": "28.00",
    "timestamp": "1513530105",
    "unit": "C",
    "useTemplate": "true",
    "userDescription": "",
    "value": "28.00"
  },
  "actions": {
    "reconfigure": 0,
    "setInterval": 1,
    "setTargetLevel": 1,
    "setTime": 1
  },
  "created": 1512678785,
  "modified": 1512678785,
  "sortOrder": 102
}

Et voici à 4 degrée C , donc fermé

 

 

{
  "id": 154,
  "name": "154 erker re-achter",
  "roomID": 4,
  "type": "com.fibaro.thermostatDanfoss",
  "baseType": "com.fibaro.hvac",
  "enabled": true,
  "visible": true,
  "isPlugin": false,
  "parentId": 153,
  "remoteGatewayId": 0,
  "interfaces": [
    "battery",
    "zwave",
    "zwaveProtection",
    "zwaveWakeup"
  ],
  "properties": {
    "parameters": [],
    "pollingTimeSec": 0,
    "wakeUpTime": 900,
    "zwaveCompany": "Danfoss",
    "zwaveInfo": "6,3,67",
    "zwaveVersion": "1.1",
    "RFProtectionState": "0",
    "RFProtectionSupport": "0",
    "batteryLevel": "71",
    "batteryLowNotification": "true",
    "configured": true,
    "dead": "false",
    "defInterval": "0",
    "deviceControlType": "0",
    "deviceIcon": "34",
    "emailNotificationID": "0",
    "emailNotificationType": "0",
    "endPointId": "0",
    "liliOffCommand": "",
    "liliOnCommand": "",
    "localProtectionState": "0",
    "localProtectionSupport": "5",
    "log": "",
    "logTemp": "",
    "manufacturer": "",
    "markAsDead": "false",
    "maxInterval": "0",
    "minInterval": "0",
    "model": "",
    "nodeId": "32",
    "parametersTemplate": "322",
    "productInfo": "0,2,0,5,0,4,1,1",
    "protectionExclusiveControl": "0",
    "protectionExclusiveControlSupport": "false",
    "protectionState": "0",
    "protectionTimeout": "0",
    "protectionTimeoutSupport": "false",
    "pushNotificationID": "0",
    "pushNotificationType": "0",
    "remoteGatewayId": "0",
    "saveLogs": "true",
    "serialNumber": "",
    "smsNotificationID": "0",
    "smsNotificationType": "0",
    "stepInterval": "0",
    "targetLevel": "28.00",
    "timestamp": "1513530105",
    "unit": "C",
    "useTemplate": "true",
    "userDescription": "",
    "value": "28.00"
  },
  "actions": {
    "reconfigure": 0,
    "setInterval": 1,
    "setTargetLevel": 1,
    "setTime": 1
  },
  "created": 1512678785,
  "modified": 1512678785,
  "sortOrder": 102
}

 

Modifié par Net
corrigé

Partager ce message


Lien à poster
Partager sur d’autres sites

En l'état, Heating Manager ne fonctionnera pas avec ce type de matériel puisque c'est un thermostat, et que Heating Manager est précisément un thermostat logiciel.

 

Maintenant, s'il s'agit simplement d'envoyer la température de consigne au module, je pense pouvoir d'ajouter la fonction assez facilement. Mais comme je ne dispose pas de ce type de module, il faut que tu m'expliques un peu comment il fonctionne. Notamment, la propriété timestamp sert à quoi ? La propriété value correspond à une sonde de température intégrée dans le module ?

 

EDIT : Cela dit, vu que ce type de chauffage a une grande inertie, je ne suis pas convaincu de l'intérêt d'utiliser Heating Manager pour le gérer ?

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci OJC,

 

Je pense que le Danfoss est plus ou moins comparable au Fibaro Heat Controller FGT-001.

C'est un tête thermostatique ZWave

 

Il y a 3 heures, Net a dit :

En LUA:


fibaro:call(154, "setTargetLevel", "20");
fibaro:call(154, "setTime", tonumber(os.time(t)) + 120*60);

 

Le premier code met la température de consigne.  

il doit y avoir une sonde de température interne qui ouvre ou ferme la vanne, mais cette valeur n'est pas disponible.

 

Avec le second code, vous définissez une durée, après quoi la valeur revient à la valeur du panneau de température.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

J'aurais bien voulu essayer Heating Manager, mais impossible de le télécharger.

( La page que vous tentez d’atteindre n’est pas disponible pour votre compte. )

 

Quelqu'un pourrait m'aider SVP.

 

Merci

 

@Guiro

Partager ce message


Lien à poster
Partager sur d’autres sites

Possibilité de remettre les liens à jour dans le 1er post ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@Nico Les liens marchent très bien (je viens de tester). C'est le forum qui déconne (j'ai eu le pb aussi à un moment).

Partager ce message


Lien à poster
Partager sur d’autres sites

×