Author Topic: Reed Switch Problems  (Read 624 times)

Nick_W

  • Full Member
  • ***
  • Posts: 215
    • View Profile
Re: Reed Switch Problems
« on: January 11, 2017, 02:42:05 pm »
This is what I'm using:

Code: [Select]
    Public Sub PublishDoorStatus()
        //Thread.ClearHardwareEvent()
        Thread.Sleep(10000) '10ms debounce delay
        If Door_Status <> ReedSwitch Then
            Door_Status = ReedSwitch
            Dim jData As Json = New Json
            jData.Add("time", GetTimestamp())
            jData.Add("Door", Door_Status)
            MQTT.Publish("Data", jData, QoS.AtLeastOnce)
            //MQTT.Publish("Door", Door_Status, QoS.AtLeastOnce)
            MQTT.BeaconPublish(dataType.DOOR, Door_Status)
            LedGreenFlash()
        End If
    End Sub
   
    Shared Event ReedSwitchChanged()
        TimeSinceDoorClosed = Device.Uptime()
        TimeSinceKnockTriggered = 0
        PublishDoorStatus()
        //PublishDoorStatus() //call twice to deal with rapid door cycling...
    End Event

Door_Status is a shared boolean, defined in the class.

See my other post here  http://mcthings.createaforum.com/support/datetime-issues/msg1587/#msg1587
for example output.
Like Like x 1 View List