Page 1 sur 1

Capteur de température

Publié : 03 avr. 2024, 14:04
par patrice
Bonjour
Aprés avoir installé le plugin de FlyingDomotic pour faire de la translation MQTT vers domoticz https://github.com/FlyingDomotic/domoti ... me-ov-file

J'ai configuré un petit fichier json d'après ce que j'ai compris du plugin mais j'ai une erreur qui remonte dans les logs de Domoticz

Code : Tout sélectionner

2024-04-03 13:34:08.639 Error: MQTTMAPP: Error loading /home/patrice/domoticz/plugins/MqttMapper/MqttMapper.json - JSONDecodeError at line 243 of /home/patrice/domoticz/plugins/MqttMapper/plugin.py: Extra data: line 1 column 9 (char 8)
Voici mon fichier json

Code : Tout sélectionner

"Temp1": {
        "topic": "gateway/2cf7f11054200049/device/f1ac4afbc81c39b0/event/up",
        "type": "80", "subtype": "5", "switchtype": "0",
        "mapping": {"item": "temperature", "multiplier": 0.1}
    }
Je veux alimenter le dispositif Temp1 de domoticz d'apres le contenu de ceci qui est dans la branche "gateway/2cf7f11054200049/device/f1ac4afbc81c39b0/event/up"

Code : Tout sélectionner

{
  "deduplicationId": "c8e4953b-7579-4bea-9e35-d3561e50c044",
  "time": "2024-04-03T11:46:30.312682534+00:00",
  "deviceInfo": {
    "tenantId": "52f14cd4-c6f1-4fbd-8f87-4025e1d49242",
    "tenantName": "SenseCAP",
    "applicationId": "b6de024f-a3a5-41df-825e-541ca8730245",
    "applicationName": "BFPLora",
    "deviceProfileId": "563c992b-5a6c-4f94-8207-ae7cfb30ff22",
    "deviceProfileName": "BfpLoraDEvProfile",
    "deviceName": "Capteur2",
    "devEui": "f1ac4afbc81c39b0",
    "tags": {}
  },
  "devAddr": "5bb1133d",
  "adr": true,
  "dr": 5,
  "fCnt": 204,
  "fPort": 1,
  "confirmed": false,
  "data": "LTIwMQ==",
  "object": {
    "temperature": "-201"
  },
  "rxInfo": [
    {
      "gatewayId": "2cf7f11054200049",
      "uplinkId": 1046787505,
      "rssi": -69,
      "snr": 11.2,
      "channel": 2,
      "rfChain": 1,
      "location": {},
      "context": "FDojhA==",
      "metadata": {
        "region_common_name": "EU868",
        "region_config_id": "EU_863_870_TTN"
      },
      "crcStatus": "CRC_OK"
    }
  ],
  "txInfo": {
    "frequency": 868500000,
    "modulation": {
      "lora": {
        "bandwidth": 125000,
        "spreadingFactor": 7,
        "codeRate": "CR_4_5"
      }
    }
  }
}
Et question subsidiaire comment je peux retirer le rssi de rxinfo ?

(fin de la question du mauvais élève)
et merci de vos réponses

Re: Plugin MQTT de FlyingDomotic

Publié : 03 avr. 2024, 16:37
par Flying Domotic
Bonjour,

Y'a pas que des mauvais élèves, y'a aussi de mauvais profs ;-)

Et celui qui pose une question pour savoir n'est pas complètement mauvais, il a déjà le bon réflexe ;-)

En ce qui concerne la question, il manque les "{" et "}" de début/fin de fichier JSON. La bonne version serait :

Code : Tout sélectionner

{
	"Temp1": {
		"topic": "gateway/2cf7f11054200049/device/f1ac4afbc81c39b0/event/up",
		"type": "80", "subtype": "5", "switchtype": "0",
		"mapping": {"item": "object/temperature", "multiplier": 0.1}
	}
}
Noter que "temperature" dans le message associé au topic n'est pas à la racine, mais dans la branche "object", ce qui fait que la ligne "mapping" a été modifiée en conséquence.

Pour le rssi, de la façon dont il est décrit (une liste dans un dictionaire), il faut que je modifie le plugin pour qu'il arrive à aller le chercher.

Stay tuned!

Re: Plugin MQTT de FlyingDomotic

Publié : 03 avr. 2024, 22:59
par Flying Domotic
La dernière version (1.0.28) permet maintenant de rechercher des valeurs dans une liste. On peut soit préciser un élément de la liste (de 1 à n), soit spécifier "*" pour chercher dans tous les éléments.

Pour récupérer le rssi, essayer la configuration suivante :

Code : Tout sélectionner

{
	"Temp1": {
		"topic": "gateway/2cf7f11054200049/device/f1ac4afbc81c39b0/event/up",
		"key": "temp1",
		"type": "80", "subtype": "5", "switchtype": "0",
		"mapping": {"item": "object/temperature", "multiplier": 0.1}
	},
	"Rssi1": {
		"topic": "gateway/2cf7f11054200049/device/f1ac4afbc81c39b0/event/up",
		"key": "rssi1",
		"type": "243", "subtype": "31", "switchtype": "0",
		"options": {"Custom":"1;"},
		"mapping": {"item": "rxInfo/*/rssi"}
	}
}

Re: Plugin MQTT de FlyingDomotic

Publié : 04 avr. 2024, 14:40
par patrice
Bonjour
Flying Domotic a écrit : 03 avr. 2024, 16:37
Y'a pas que des mauvais élèves, y'a aussi de mauvais profs ;-)
Ah oui sans doute mais la en l'occurrence c'est moi le mauvais élève qui ait oublié les {} :D

En tout cas merci pour ta rapidité de réaction concernant mon bug et aussi pour ton ajout des chaines dans une liste , ca marche du feu de Dieu (bizarre cette expression d'ailleurs)

Je vais proposer ton plugin aux Oscar d'or du plugin Domoticz avec celui de Pipiche...


Merci encore et je continue à trifouiiler dans les json de ma LoRa Gateway et de mes ESP, et comme je ne comprends pas bien vite je risque de revenir avec une nouvelle question