Dear @gtuveri,
by chance we were just watching the log files and found some bits which might be interesting for you:
1. Discrete “int” payload received on “data.json” suffix
Here, you are sending a data payload of just “1
”, which is invalid to the “data.json” suffix. Real JSON is expected here.
2017-04-24T19:12:01+0200 [kotori.daq.storage.influx ] CRITICAL: Could not format chunk (ex=TypeError: argument of type 'int' is not iterable): data=1, meta={'node': 'node4', 'slot': 'data.json', 'realm': 'hiveeyes', 'network': '2cdd923f-751c-4844-86a5-b9e868458441', 'database': 'hiveeyes_2cdd923f_751c_4844_86a5_b9e868458441', 'measurement_events': 'sardinia_node4_events', 'label': 'sardinia_node4', 'measurement': 'sardinia_node4_sensors', 'gateway': 'sardinia'}
2017-04-24T19:12:01+0200 [kotori.daq.services.mig ] ERROR: Error processing MQTT message from topic "hiveeyes/2cdd923f-751c-4844-86a5-b9e868458441/sardinia/node4/data.json": [Failure instance: Traceback: <type 'exceptions.AttributeError'>: 'int' object has no attribute 'keys'
To send discrete values, use something like:
mosquitto_pub -h $MQTT_BROKER -t $MQTT_TOPIC/data/temperature -m '42.84'
See also: Data acquisition over MQTT — Kotori 0.22.7 documentation
2. JSON “list” payload received on “data.json” suffix
Here, you are publishing a list like “[{u'qos': 0, u'longId': 3, u'offColor': -8355712, [...]
”. Again, this is not a valid data format here: Please send flat JSON container objects. However, if you want to make the backend grok different data formats, we are happy considering it. Just get back to us.
2017-04-24T18:59:54+0200 [kotori.daq.storage.influx ] CRITICAL: Could not format chunk (ex=AttributeError: 'list' object has no attribute 'iteritems'): data=[{u'qos': 0, u'longId': 3, u'offColor': -8355712, u'lastPayload': u'', u'jsonPath': u'$.ACT1', u'lastJsonPathValue': u'0', u'id': u'48b76b32-f4ef-47d2-8b87-55c5ed905456', u'jsOnTap': u'', u'onColor': -16744193, u'payloadOn': u'1', u'enableIntermediateState': True, u'iconOn': u'ic_shower2_on', u'jsBlinkExpression': u'', u'type': 2, u'topicPub': u'hiveeyes/2cdd923f-751c-4844-86a5-b9e868458443/sardinia/node5/data.json', u'payloadOff': u'0', u'intermediateStateTimeout': 0, u'jsOnDisplay': u'', u'iconOff': u'ic_shower2_off', u'updateLastPayloadOnPub': True, u'topic': u'', u'retained': False, u'name': u'', u'jsOnReceive': u'', u'enteredIntermediateStateAt': 0, u'lastActivity': 1493052296, u'enablePub': True}, {u'qos': 0, u'longId': 2, u'topic': u'hiveeyes/2cdd923f-751c-4844-86a5-b9e868458441/sardinia/node4/data.json', u'lastPayload': u'0', u'prefix': u'', u'enablePub': False, u'id': u'65112af4-650e-47c5-961f-c2b94ab17eaf', u'jsOnTap': u'', u'updateLastPayloadOnPub': True, u'enableIntermediateState': True, u'jsBlinkExpression': u'', u'textColor': -1, u'type': 1, u'topicPub': u'', u'jsOnDisplay': u'', u'jsonPath': u'', u'intermediateStateTimeout': 0, u'retained': False, u'name': u'ACT1', u'jsOnReceive': u'', u'mainTextSize': u'MEDIUM', u'postfix': u'', u'enteredIntermediateStateAt': 0, u'lastActivity': 1493052383}], meta={'node': 'node5', 'slot': 'data.json', 'realm': 'hiveeyes', 'network': '2cdd923f-751c-4844-86a5-b9e868458441', 'database': 'hiveeyes_2cdd923f_751c_4844_86a5_b9e868458441', 'measurement_events': 'sardinia_node5_events', 'label': 'sardinia_node5', 'measurement': 'sardinia_node5_sensors', 'gateway': 'sardinia'}
Please let us know how we can support you.
With kind regards,
Andreas.
P.S.: We are still missing the feature described at Fehlersignalisierung bei Datenakquise (Backend) to improve the transparency and self-service capabilities when using the system. Sorry about that.