[Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement.
Merci d'utiliser la balise correspondante à votre sujet : [Tuto], [Plugin], [DzVents], [LUA], [Python], [Bash] ...
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Neutrino
Messages : 2440
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Neutrino »

Ça marche avec

Code : Tout sélectionner

"values": {"PRESS": "100"}
Merci 😀
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
dranreb38
Messages : 134
Inscription : 17 avr. 2020, 14:33

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par dranreb38 »

Merci Flying Domotic pour ce plugin qui me ravit !

Je rencontre un problème pour la remontée de température de ma Tesla , je bataille mais ne comprends pas :evil:
le chemin du topic : teslamate/cars/1/outside_temp

Code : Tout sélectionner

 2023-01-16 17:14:46.170 Status: MqttMapper: Started.
2023-01-16 17:14:46.171 Status: MqttMapper: Entering work loop.
2023-01-16 17:14:46.174 Status: EventSystem: reset all events...
2023-01-16 17:14:46.179 Status: EventSystem: reset all device statuses...
2023-01-16 17:14:46.187 Status: NotificationSystem: thread started...
2023-01-16 17:14:46.312 Status: Python EventSystem: Initializing event module.
2023-01-16 17:14:46.318 Status: EventSystem: Started
2023-01-16 17:14:46.323 Status: EventSystem: Queue thread started...
2023-01-16 17:14:46.519 Status: MqttMapper: Initialized version 1.0.7, author 'Flying Domotic'
2023-01-16 17:14:46.669 Status: PluginSystem: 1 plugins started.
2023-01-16 17:14:46.962 Error: MqttMapper: Call to function 'onMessage' failed, exception details:
2023-01-16 17:14:46.963 Error: MqttMapper: Traceback (most recent call last):
2023-01-16 17:14:46.963 Error: MqttMapper: File "/root/domoticz/plugins/MqttMapper/plugin.py", line 482, in onMessage
2023-01-16 17:14:46.963 Error: MqttMapper: _plugin.onMessage(Connection, Data)
2023-01-16 17:14:46.963 Error: MqttMapper: File "/root/domoticz/plugins/MqttMapper/plugin.py", line 275, in onMessage
2023-01-16 17:14:46.963 Error: MqttMapper: self.mqttClient.onMessage(Connection, Data)
2023-01-16 17:14:46.963 Error: MqttMapper: File "/root/domoticz/plugins/MqttMapper/plugin.py", line 140, in onMessage
2023-01-16 17:14:46.963 Error: MqttMapper: self.mqttPublishCb(topic, Data['Payload'])
2023-01-16 17:14:46.963 Error: MqttMapper: File "/root/domoticz/plugins/MqttMapper/plugin.py", line 329, in onMQTTPublish
2023-01-16 17:14:46.963 Error: MqttMapper: itemValue = self.getPathValue(message, item, '/', None) # Extract value from message
2023-01-16 17:14:46.963 Error: MqttMapper: File "/root/domoticz/plugins/MqttMapper/plugin.py", line 169, in getPathValue
2023-01-16 17:14:46.963 Error: MqttMapper: if pathElement not in element:
2023-01-16 17:14:46.963 Error: MqttMapper: TypeError: argument of type 'float' is not iterable
2023-01-16 17:15:46.060 MqttMapper: Heartbeating...
2023-01-16 17:15:46.061 MqttMapper: Sending 2 bytes of data
2023-01-16 17:15:46.061 MqttMapper: c0 00 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. �
2023-01-16 17:15:46.111 MqttMapper: Received 2 bytes of data
2023-01-16 17:15:46.111 MqttMapper: d0 00 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. Ю
2023-01-16 17:16:46.065 MqttMapper: Heartbeating...  
Mon fichier MqttMapper.json

Code : Tout sélectionner

{
   "Car Temperature Out": {
      "topic": "teslamate/cars/1/outside_temp",
      "type": "80",
      "subtype": "5",
      "switchtype": "0",
      "mapping": {"item": "temperature"}
    }
}
Le device est bien créer mais la température ne remonte pas.
Pièces jointes
Screenshot_25.jpg
Screenshot_25.jpg (41.74 Kio) Consulté 847 fois
Raspberry 3B+ Buster & PiZiGate V2 Firmware: v3.21 Plugin: 6.3.008
Version: 2022.2 dzVents Version: 3.0.18
Python Version: 3.7.3 (default, Oct 31 2022, 14:04:44) [GCC 8.3.0]

Signature à jours au : 28/12/2022
Neutrino
Messages : 2440
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Neutrino »

Elle envoie quoi sur ton broker la Tesla ?
Peut-être une erreur de mapping ?
Essaye sans :

Code : Tout sélectionner

{
   "Car Temperature Out": {
      "topic": "teslamate/cars/1/outside_temp",
      "type": "80",
      "subtype": "5",
      "switchtype": "0",
      "mapping": {"item": ""}
    }
}
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
dranreb38
Messages : 134
Inscription : 17 avr. 2020, 14:33

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par dranreb38 »

:o :D C'etait bien cela ! :D
En Fait ce n'est pas directement la Tesla , mais une autre appli (TeslaMate qui collecte via une API les données transmis à Tesla)
Merci !
Ci-dessous les infos dispo
Pièces jointes
Screenshot_26.jpg
Screenshot_26.jpg (85.44 Kio) Consulté 837 fois
Raspberry 3B+ Buster & PiZiGate V2 Firmware: v3.21 Plugin: 6.3.008
Version: 2022.2 dzVents Version: 3.0.18
Python Version: 3.7.3 (default, Oct 31 2022, 14:04:44) [GCC 8.3.0]

Signature à jours au : 28/12/2022
Guillaume_77
Messages : 6
Inscription : 18 mars 2023, 19:59

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Guillaume_77 »

Bonjour,

tout d'abord super plugin. Merci !
Ton plugin serait ma solution préférée pour résoudre le problème suivant :
J'aurais besoin de créer 48 détecteur de mouvements sous domoticz. J'utilise une carte spécifique qui envoie un message sous le format suivant :

topic:

Code : Tout sélectionner

"KC868_AI/AABBCC112233/STATE"
message:

Code : Tout sélectionner

{"input1":{"value":false},"input2":{"value":false},"input3":{"value":false},"input4":{"value":false},"input5":{"value":false},"input6":{"value":false},"input7":{"value":false},"input8":{"value":false},"input9":{"value":false},"input10":{"value":false},"input11":{"value":false},"input12":{"value":false},"input13":{"value":false},"input14":{"value":false},...."input48":{"value":false}}
Ainsi, pour le détecteur de mouvement N:

si fermé:

Code : Tout sélectionner

"input<N>":{"value":true}
sinon:

Code : Tout sélectionner

"input<N>":{"value":false}

J'ai essayé les syntaxes suivantes pour créer le détecteur de mouvement 1 :

syntaxe 1:

Code : Tout sélectionner

    "mvtdec1": {
        "topic": "KC868_AI/4022D8E06EE0/STATE",
        "type": "244", "subtype": "73", "switchtype": "8",
        "mapping": {"item": "input1", "default": "0", "values": {"value": "true"}: "1"}}
    }
syntaxe 2:

Code : Tout sélectionner

    "mvtdec1": {
        "topic": "KC868_AI/4022D8E06EE0/STATE",
        "type": "244", "subtype": "73", "switchtype": "8",
        "mapping": {"item": "input1/value", "default": "0", "values": {"true": "1"}}
    }
Aucune de ces deux syntaxes n'a fonctionné, aurais-tu une piste stp ?
Merci.
Flying Domotic
Messages : 288
Inscription : 10 mars 2020, 15:26

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Flying Domotic »

Bonsoir,

C'était pas loin :

Code : Tout sélectionner

    "mvtdec1": {
        "topic": "KC868_AI/4022D8E06EE0/STATE",
        "type": "244", "subtype": "73", "switchtype": "8",
        "mapping": {"item": "input1", "default": "0", "values": {"{'value': True}": "1"}}
    }
Guillaume_77
Messages : 6
Inscription : 18 mars 2023, 19:59

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Guillaume_77 »

Bonjour,

cela marche à merveille. Merci beaucoup.
Cette affaire renforce l'aspect universel de ce plugin.

Bon week end!
Guillaume_77
Messages : 6
Inscription : 18 mars 2023, 19:59

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Guillaume_77 »

je pense que j'ai parlé trop vite: ça marche pour 1 détecteur, quand j'en met plusieurs (N=2) seul 1 device est créé (mvtdec1) et il ne fonctionne pas.

Ci-dessous le fichier json


Code : Tout sélectionner

{

     "mvtdec1": {
        "topic": "KC868_AI/4022D8E06EE0/STATE",
        "type": "244", "subtype": "73", "switchtype": "8",
        "mapping": {"item": "input1", "default": "0", "values": {"{'value': True}": "1"}}
    },
     "mvtdec2": {
        "topic": "KC868_AI/4022D8E06EE0/STATE",
        "type": "244", "subtype": "73", "switchtype": "8",
        "mapping": {"item": "input2", "default": "0", "values": {"{'value': True}": "1"}}
    }

}
Merci pour ton retour.
Flying Domotic
Messages : 288
Inscription : 10 mars 2020, 15:26

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Flying Domotic »

Effectivement, la version actuelle ne permet d'une seule association par topic MQTT. A partir de 2, ça ne prend en compte que la première. Je vais regarder comment contourner ce problème ... probablement en ajoutant l'item dans l'identifiant ... en trouvant une combine pour ne pas pêter les dispositifs déjà crées par ceux qui n'ont pas le besoin ;-)

Stay tuned!
Neutrino
Messages : 2440
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: [Plugin] MQTTmapper : Intégration directe de topics MQTT dans Domoticz

Message par Neutrino »

Sinon, tu peux contourner en créant autant de fichier et en ajoutant autant de matériels que de capteurs.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Répondre