IoTKitV3 / Mbed OS MQTTPublish

Dependencies:   QEI MFRC522 HTS221 IoTKit BMP180 MQTT

Fork of MQTTPublish by smd.iotkit2.ch

Revision:
22:b671b01d00f9
Parent:
21:4693a8b2a665
Child:
23:4d8f3061890e
--- a/main.cpp	Sat Sep 01 17:13:11 2018 +0000
+++ b/main.cpp	Sun Sep 02 16:20:11 2018 +0000
@@ -24,6 +24,7 @@
 // UI
 OLEDDisplay oled( PTE26, PTE0, PTE1);
 DigitalOut led1( D10 );
+DigitalOut alert( D13 );
 
 /** Hilfsfunktion zum Publizieren auf MQTT Broker */
 void publish( MQTTNetwork &mqttNetwork, MQTT::Client<MQTTNetwork, Countdown> &client, char* topic )
@@ -69,6 +70,7 @@
 {
     uint8_t id;
     float temp, hum;
+    alert = 0;
     
     oled.clear();
     oled.printf( "MQTTPublish\r\n" );
@@ -98,11 +100,18 @@
         // alert Tuer offen 
         if  ( hallSensor.read() > 0.6f )
         {
-            sprintf( buf, "door open" );
-            message.payload = (void*) buf;
-            message.payloadlen = strlen(buf)+1;
-            publish( mqttNetwork, client, topicALERT );          
+            // nur einmal Melden!, bis Reset
+            if  ( alert == 0 )
+            {
+                sprintf( buf, "door open" );
+                message.payload = (void*) buf;
+                message.payloadlen = strlen(buf)+1;
+                publish( mqttNetwork, client, topicALERT );
+                alert = 1;
+            }
         }
+        else
+            alert = 0;
         wait    ( 2.0f );
     }
 }