Nil value pour virtual sensor

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

Nil value pour virtual sensor

Message par Jihem »

Bonjour
Encore un mystère (pour moi) à propos des virtuals sensors.
Quand on créer un virtual sensor il a au départ une valeur = 0 mais dans un script il à une nil value ce qui provoque une erreur quand on veut l'utiliser.
Je pensais, comme je l'ai écrit par erreur dans un autre post qu'une commande du style:

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=valeur
ou bien 
commandArray['UpdateDevice'] = IDX .. '|0|'.. tostring(valeur)
pouvait lui donner une valeur réelle.....or à priori il n'en est rien.
Quelle est la bonne méthode?

Merci d'avance
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
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Nil value pour virtual sensor

Message par patrice »

Bizarre car ta ligne http:// .... me parait correcte car je l’utilise plein de fois pour mettre à jour pas mal de trucs (batteries z,wave, alertes meteo) SI le virtual sensor est un virtual sensor TEXT

http://IP:PORT/json.htm?type=command&param=udevice&idx=mon_idx&svalue=MONTEXTEAAFFICHER

Et en effet au départ la valeur de la svalue est nil car Domoticz considère la svalue comme du texte pas du numérique, elle ne contient rien donc 'nil' et pas 0 non plus, le

Si tu créée des virtual sensor humidité ou pourcentage par exemple il faut alors se referer à l'api spécifique pour ce capteur humidité ou de % car la syntaxe JSON n'est pas la même pour valoriser le capteur en question
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Nil value pour virtual sensor

Message par Jihem »

Bonsoir
Il s'agit d'un sensor valeur du thermostat pour créer un thermostat.
c'est d'autant plus étrange que la commande met bien à jour le virtual sensor dans Domoticz (donc à priori la syntaxe est bonne) .
Biocef avait eu le même souci dans le post "Notification sms incluant la valeur d'une variable ?" et je lui avait répondu en lui donnant ces commandes qui finalement n'avaient pas marché.
A suivre, en attendant j'utilise une variable utilisateur comme intermédiaire mais c'est un peu lourd.
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
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Nil value pour virtual sensor

Message par Jihem »

Je pense que le problème vient du script de contrôle de mon thermostat.
En effet si je lance:

Code : Tout sélectionner

commandArray = {}
	     for i, v in pairs(otherdevices_temperature) do
            print(i, v)
           print(type(v))
     end
    return commandArray
le log de Domo renvoie bien un nombre pour la valeur de Thermostat.

Code : Tout sélectionner

2015-01-08 09:32:00 LUA: Thermostat
2015-01-08 09:32:00 LUA: 20
2015-01-08 09:32:00 LUA: number
Par contre

Code : Tout sélectionner

commandArray = {}
	print(type(otherdevices_temperature[Thermostat]))
	end
    return commandArray
le log retourne

Code : Tout sélectionner

2015-01-08 09:47:01 LUA: nil
(otherdevices_svalue[Thermostat] retourne la valeur nil aussi).

Où est l'erreur?
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: Nil value pour virtual sensor

Message par jackslayter »

essaye

Code : Tout sélectionner

tonumber(otherdevices_svalue[Thermostat])
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: Nil value pour virtual sensor

Message par Jihem »

toujours "nil"
je me demande si le type "consigne du thermostat" est pris en compte dans les scripts?
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
romy
Messages : 19
Inscription : 27 nov. 2014, 11:15

Re: Nil value pour virtual sensor

Message par romy »

Salut,
Chez-moi c'est OK

Code : Tout sélectionner

local consigne='Thermostat'
consigne= string.sub(otherdevices_svalues[consigne],1,5)
consigne=tonumber(consigne)
print ("consigne =" .. consigne)
Jihem
Messages : 337
Inscription : 19 sept. 2014, 13:04
Localisation : Finistère Sud

Re: Nil value pour virtual sensor

Message par Jihem »

@romy
Bonsoir
Ok ce code fonctionne.
mais je ne vois pas où est l'erreur, probablement de syntaxe dans mon code.
En attendant un grand Merci
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