From 0dc80b8981a9027d51939f53e0ed34a635c76153 Mon Sep 17 00:00:00 2001 From: caliskanbi Date: Mon, 8 May 2023 19:06:53 +0200 Subject: [PATCH] new topics added --- documentation/Definitions.docx | Bin 44158 -> 48632 bytes software/backend/data_functions.py | 26 ++++++++++++++++-- .../dev_test_examples/mqtt_publisher.py | 4 +-- .../dev_test_examples/mqtt_subscriber.py | 9 ++---- software/backend/main.py | 21 +++++++++++++- software/backend/plantdatabase.py | 17 +++++++----- software/defines.py | 26 ++++++++++++++++-- 7 files changed, 83 insertions(+), 20 deletions(-) diff --git a/documentation/Definitions.docx b/documentation/Definitions.docx index 75a6d78a3ac16fae9fbd66383b2d84c433ec521f..6d54d483e9199617671827599a9c5a1650d7aae1 100644 GIT binary patch delta 21652 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�iWCYb|0)yAgIfG|dbkwF`1QSa~t)(kf?z0)1aE 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 V(*I!J)ClU)MrCaHR86<7{{zEDZa@G4 delta 17215 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 Backend DRIVE = { - "PlantID": 0 + "PlantName": "" } +NEWPLANT = PLANTDATA + +CONFIGUREPLANT = PLANTDATA + +DELETEPLANT = { + "PlantID": "" +} + +# DRIVEALL -> no message needed + # GETPOSITION -> no message needed # GETBATTERY -> no message needed