Search code examples
fiwarefiware-orion

Fiware Orion MQTT notification not working (anymore)


I don’t know where to look anymore, maybe someone has an idea what’s going wrong?

I created an MQTT subscription on my Orion Context Broker:

{
"description": "Subscription to notify of all WaterQualityObserved changes",
"subject": {
    "entities": [{
        "idPattern": ".*",
        "type": "WaterQualityObserved"
    }],
     "condition": {
            "attrs": []
        }
},
"notification": {
    "mqtt": {
        "url": "mqtt://127.0.0.1:1883",
        "topic": "water-quality-observed-changed"
    }
}

}

I have both my Orion Context Broker and Mosquitto MQTT broker running locally in Docker containers. I get this when listing the subscriptions in my Orion CB:

[
{
    "id": "633bf12fe929777b6a60242b",
    "description": "MQTT subscription to notify of all WaterQualityObserved changes",
    "status": "active",
    "subject": {
        "entities": [
            {
                "idPattern": ".*",
                "type": "WaterQualityObserved"
            }
        ],
        "condition": {
            "attrs": []
        }
    },
    "notification": {
        "timesSent": 3,
        "lastNotification": "2022-10-04T08:47:55.000Z",
        "attrs": [],
        "onlyChangedAttrs": false,
        "attrsFormat": "normalized",
        "mqtt": {
            "url": "mqtt://127.0.0.1:1883",
            "topic": "water-quality-observed-changed",
            "qos": 0
        },
        "lastFailure": "2022-10-04T08:47:55.000Z",
        "failsCounter": 3,
        "covered": false
    }
}

]

As you can see “timesSent” augments when I PATCH the entity.

The strange thing is it worked before!

Any idea what I’m doing wrong?

Thanks.

Guy


Solution

  • The "The strange thing is it worked before!" sentence make me think it has to do with connectivity between container. I'd suggest to review all the involved connectivity (Orion -> MQTT broker, MQTT broker -> your MQTT subscriber). If that doesn't help, a re-deploy of all the docker containers could help.