script thermostat avec commande de la temperature

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: script thermostat avec commande de la temperature

Message par Jihem »

toujours la même erreur et pas de résultat pour le print!
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: script thermostat avec commande de la temperature

Message par jackslayter »

il y aurai pas un baromètre en plus des fois

chez moi ca marche

Code : Tout sélectionner

commandArray = {}
if (devicechanged['salon']) then
Tsoleil, total = otherdevices_svalues['salon']:match("([^;]+);([^;]+)")
Tsoleil = tonumber(Tsoleil)
Text, total = otherdevices_svalues['couloir']:match("([^;]+);([^;]+)")
Text = tonumber(Text)
print(Tsoleil-Text)
--commandArray['UpdateDevice'] = idx .. '|0|'.. tostring(tTsoleil-Text)
end
return commandArray

Code : Tout sélectionner

2014-11-28 15:35:08 LUA: 1.5
2014-11-28 15:35:08 (rfxcom) Temp + Humidity (salon)
2014-11-28 15:35:16 (rfxcom) Temp + Humidity (couloir)
2014-11-28 15:35:17 (rfxcom) Temp (Exterieur)
2014-11-28 15:35:28 (rfxcom) Temp + Humidity (chambre)
2014-11-28 15:35:30 Hardware Monitor: Fetching data (System sensors)
2014-11-28 15:35:45 (rfxcom) Energy (cm180)
2014-11-28 15:35:47 LUA: 1.5
2014-11-28 15:35:47 (rfxcom) Temp + Humidity (salon)
2014-11-28 15:35:55 (rfxcom) Temp + Humidity (couloir)
2014-11-28 15:35:56 (rfxcom) Temp (Exterieur)
2014-11-28 15:36:00 Hardware Monitor: Fetching data (System sensors)
2014-11-28 15:36:07 (rfxcom) Temp + Humidity (chambre)
2014-11-28 15:36:26 LUA: 1.5
2014-11-28 15:36:26 (rfxcom) Temp + Humidity (salon)
2014-11-28 15:36:30 Hardware Monitor: Fetching data (System sensors)
2014-11-28 15:36:34 (rfxcom) Temp + Humidity (couloir)
2014-11-28 15:36:35 (rfxcom) Temp (Exterieur)
2014-11-28 15:36:45 (rfxcom) Energy (cm180)
2014-11-28 15:36:46 (rfxcom) Temp + Humidity (chambre)
2014-11-28 15:37:00 Hardware Monitor: Fetching data (System sensors)
2014-11-28 15:37:05 LUA: 1.5
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: script thermostat avec commande de la temperature

Message par Jihem »

Non sonde Oregon THGN132N
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: script thermostat avec commande de la temperature

Message par jackslayter »

après vu que le script est exécuté à chaque fois que la sonde change
fait un script time

Code : Tout sélectionner

local idx = 123
commandArray = {}
Tsoleil, total = otherdevices_svalues['Tsoleil']:match("([^;]+);([^;]+)")
Tsoleil = tonumber(Tsoleil)
Text, total = otherdevices_svalues['Text']:match("([^;]+);([^;]+)")
Text = tonumber(Text)
print(Tsoleil-Text)
commandArray['UpdateDevice'] = idx .. '|0|'.. tostring(tTsoleil-Text)
return commandArray
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: script thermostat avec commande de la temperature

Message par Jihem »

Je ne comprend pas et je ne vois pas comment marche la commande

Tsoleil, total = otherdevices_svalues['Tsoleil']:match("([^;]+);([^;]+)")
est-ce que ça trouve la valeur à partir d'une position dans une chaine?
la commande: /json.htm?type=devices&rid=64 donne ça

{ "5MinuteHistoryDays" : 1, "ActTime" : 1417185984, "AllowWidgetOrdering" : true, "DashboardType" : 0, "Latitude" : "47.47587", "Longitude" : "-4.17255", "MobileType" : 1, "TempScale" : 1.0, "TempSign" : "C", "WindScale" : 3.600000143051147, "WindSign" : "km/h", "dontcachehtml" : true, "result" : [ { "AddjMulti" : 1.0, "AddjMulti2" : 1.0, "AddjValue" : 0.0, "AddjValue2" : 0.0, "BatteryLevel" : 100, "CustomImage" : 0, "Data" : "22.9 C, 55 %", "DewPoint" : "13.38", "Favorite" : 1, "HardwareID" : 2, "HardwareName" : "RFX", "HaveTimeout" : false, "Humidity" : 55, "HumidityStatus" : "Comfortable", "ID" : "D102", "LastUpdate" : "2014-11-28 15:46:24", "Name" : "T_salon", "Notifications" : "false", "PlanID" : "0", "Protected" : false, "ShowNotifications" : true, "SignalLevel" : 8, "SubType" : "THGN122/123, THGN132, THGR122/228/238/268", "Temp" : 22.90, "Timers" : "false", "Type" : "Temp + Humidity", "TypeImg" : "temperature", "Unit" : 2, "Used" : 1, "XOffset" : "0", "YOffset" : "0", "idx" : "64" } ], "status" : "OK", "title" : "Devices" }

en PHP avec les commandes
<?php
$json_string = file_get_contents("http://192.168.1.27:8080/json.htm?type=devices&rid=64");
$parsed_json = json_decode($json_string, true);
$parsed_json = $parsed_json['result'][0];
$temp = $parsed_json['Temp'];

echo "Temp ".Temp."\n";

je récupère bien la valeur 22.90 mais par contre je ne sais pas comment passer la valeur dans Domoticz.

Est-ce qu'on peut éxécuter un script Lua en dehors de Domoticz pour debbuger?
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: script thermostat avec commande de la temperature

Message par jackslayter »

Jihem a écrit :Je ne comprend pas et je ne vois pas comment marche la commande

Tsoleil, total = otherdevices_svalues['Tsoleil']:match("([^;]+);([^;]+)")
est-ce que ça trouve la valeur à partir d'une position dans une chaine?
je pense que oui
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: script thermostat avec commande de la temperature

Message par jackslayter »

tu as quoi comme version de domoticz
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: script thermostat avec commande de la temperature

Message par Jihem »

La dernière 2.2139
il doit y avoir un problème de position de la valeur dans ce qui est reçu mais comme on ne sait pas ce qui est envoyé!
j'essaye de faire un script en PHP car je sais récupérer la valeur des température mais je ne sais pas comment faire passer le résultat.
j'essaye avec

Code : Tout sélectionner

shell_exec('curl"http://192.168.1.27:8080/json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=$temp"')
mais je ne peut pas passer la variable $temp. si je met une valeur fixe ça passe mais ça ne résout pas le problème.
Dernière modification par Jihem le 29 nov. 2014, 09:08, modifié 1 fois.
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: script thermostat avec commande de la temperature

Message par jackslayter »

remplace

Code : Tout sélectionner

http://192.168.1.27:8080/json.htm?type=command\&param=udevice\&idx=IDX\&svalue="$temp"
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: script thermostat avec commande de la temperature

Message par Jihem »

Bonsoir
Finalement j'ai trouvé

Code : Tout sélectionner

commandArray = {}
    if (devicechanged['Tsoleil'])
    then
       if (otherdevices_temperature['Tsoleil'] - otherdevices_temperature['Text'] >= 0)
       then
         commandArray['UpdateDevice'] = 123 .. '|0|'.. tostring(otherdevices_temperature['Text'] - otherdevices_temperature['Tsoleil'])
       end
    end
    return commandArray
encore merci pour le temps passé et la prise de tête.
Hard:Raspberry Pi4 + SSD Arduino Tablette murale Archos
Soft: Domoticz WireGuard vpn Homebridge Tradfri Ikea
Devices:[/colore]Rfxtrx433 DI-O Chacon Sonoff touch Anémomètre, pluviometre, sondes Orégon, capteurs humidité Miflora, téléinfo
Répondre