deConz et Sinopé

Forum dédié au ZigBee : objets, interfaces ...
Plugins DeConz et ZigBee2MQTT
Pour les questions concernant le plugin ZigBeeForDomoticZ, merci d'utiliser le forum spécifique en dessous.
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: deConz et Sinopé

Message par Thorgal »

Nope ca vient de la https://github.com/Smanar/Domoticz-deCO ... 9ed504c580

Mais j'arrive pas a trouver le pourquoi ?

Ok trouvé https://github.com/Smanar/Domoticz-deCO ... -552078546

En fait il ne passe le widget a "off" uniquement si tu as config/mode=off ET config/on = false

Mais ca ne veux rien dire, config/on ne concerne que les regles, ca ne peux pas arreter un capteur. La franchement je me souvient plus pourquoi c'est la .... Le code a du bouger depuis.

De toute facon tu as au moins 2 marques de thermostat si je me souviens ? Ca permettra de tester, faut juste faire un rollback


Dans fonction.py

Code : Tout sélectionner

        if 'mode' in data:
               if not (data['mode'] == 'off' and data['on'] == True):
                   kwarg.update(ReturnUpdateValue( 'mode' , data['mode'] ) )
                   
redevient

Code : Tout sélectionner

        if 'mode' in data:
               kwarg.update(ReturnUpdateValue( 'mode' , data['mode'] ) )
mercusot
Messages : 116
Inscription : 05 janv. 2017, 14:05

Re: deConz et Sinopé

Message par mercusot »

En modifiant la ligne ça fonctionne super.

Bonne mémoire quant au fait que j'ai effectivement une autre marque de thermostat mais le test, même si tout semble bien fonctionner, n'est pas concluant car c'est un des modèles de Stelpro qui ne peut pas être mis Off même s'il semble accepter le mode "off" il s'en fiche. En plus il ne connait pas non plus le mode "Auto". Pour lui c'est Heat et c'est tout. Il y a d'autres modèles de Stelpro qui acceptent le Off mais pas le mode Auto (modèles Ki). Ils ne connaissent que Off, Heat ou Echo (et en plus ils ont un attribut spécifique pour ça !).

Il me faudra voir comment adapter le DDF ou le general.xml de l'API deConz pour ces modèles Stelpro, mais plus tard. Quand déjà les modifications que j'ai demandé pour les Sinopé seront intégrées dans la version officielle de l'API deCONZ REST. Il me tarde de ne plus être obligé de tourner avec quelques versions en arrière pour ne pas perdre mes modifications "locales" :D

En tout cas en modifiant la ligne de fonctions.py cela règle le problème. Tu comptes l'intégrer dans une prochaine version ?
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: deConz et Sinopé

Message par Thorgal »

Ben je vais faire la modif de suite car, de un, je ne vois pas du tout d'appareil modifiant config/on dans le code, je pense que la gestion de l'appareil en question a été modifiée depuis, et de deux je me dis que le bug qu'avait cet appareil a du être corrigé aussi, surtout qu'il y a des nouveaux firmwares pour cet appareil.

Et si je me loupe ça ne "cassera rien", ça faussera juste le visuel du widget.
mercusot
Messages : 116
Inscription : 05 janv. 2017, 14:05

Re: deConz et Sinopé

Message par mercusot »

:D super !
Merci
mercusot
Messages : 116
Inscription : 05 janv. 2017, 14:05

Re: deConz et Sinopé

Message par mercusot »

mercusot a écrit : 28 avr. 2022, 01:43 Encore une fois bravo !
Au passage voici le script "final" que j'utilise pour afficher la température extérieure pour les thermostats qui ont l'attribut "externalsensortemp" :

Code : Tout sélectionner

--Script pour modifier l'affichage de la température extérieure sur les thermostats  Sinope, Ouellet ou Stelpro
-- qui ont l'attribut "externalsensortemp" via l'interface REST-API de DeConz en partant d'un périphérique THB qui contient l'information de température extérieure.
--
-- Utilisation de la variable utilisateur Last_Outdoor_Temp afin de ne modifier les affichages que si c'est bien nécessaire par ce que le périphérique d'origine pourrait être modifié pour l'hygrométrie ou la pression et pas la température.
--
-- Paramètres :
WheaterStation = "Météo Montréal - THB" -- Name of the Domoticz device storing THB information
DeconzAPIkey = "XXXXXXXXX"         -- API key used to access DeCONZ REST-API
DeconzIP="127.0.0.1"            -- IP address of the DeCONZ REST-API server. Usually the same with port 80
logfile="/tmp/log/"             -- Location of the log file just in case because update command is launched asynchronously
-- List of thermostat sensors idx in DeCONZ separated with comma. It's not Domoticz Idx but visible in json using DeConz plugin:
DeconzTHidx = {"18","26","41","45"}

-- Nothing to change after this line... :-)
commandArray = {}

if devicechanged[WheaterStation] then

    -- Split data
    Temperature, Humidity, Pressure = otherdevices_svalues[WheaterStation]:match("([^;]+);([^;]+)")
    Temperature = tostring(math.floor(tonumber(Temperature)*100))
    if uservariables['Last_Outdoor_Temp'] ~= Temperature then
        commandArray['Variable:Last_Outdoor_Temp'] = Temperature
        for i,THidx in ipairs(DeconzTHidx)
        do
            url = "http://".. DeconzIP .."/api/" .. DeconzAPIkey .. "/sensors/" .. THidx .. "/config"
            commande = "curl -H 'Content-Type: application/json' -X PUT -d '{" .. '"externalsensortemp": ' .. Temperature .. "}'"
--          print("MAJ Outdoor temp " .. commande .. " " .. url)
           print("MAJ_outdoor-Temp - Mise à jour affichage THidx: " .. THidx .. ", valeur: " .. Temperature)
            os.execute(commande .. " " .. url .. "> " .. logfile .. "/Script_device_MAJ_outdoor-Temp_" .. THidx .. ".log &")
        end
    end
end

return commandArray 
@Thorgal : Encore un exemple à mettre sur le WiKi du plugin si tu le souhaites ;-)
Thorgal
Messages : 913
Inscription : 16 août 2018, 20:02
Contact :

Re: deConz et Sinopé

Message par Thorgal »

Celui la est plus spécifique, et plus complexe, il va faire peur ^^
mercusot
Messages : 116
Inscription : 05 janv. 2017, 14:05

Re: deConz et Sinopé

Message par mercusot »

:lol:
Répondre