Maker API, EventSocket

I am working on software that bridges events from Habitat via Maker API and/or EventSocket to MQTT. It mostly works, however the events I see are inconsistent and incomplete. It's been like this for at least a year.

Specifically:

  • I turn on a dimmer using the Habitat WWW page (local).
  • I see the event for the dimmer switch go on.
  • I SOMETIMES see an event for the level of the dimmer

Then:
I ask Alexa to turn off the dimmer

What I see:

  • sometimes I see an off event
  • sometimes I see a level event to a level something less than it was (e.g. it was 99, now it's 48, or 6)
  • it seems like half the time I see no switch off event at all
  • sometimes I see a level like 255

I have both the maker post URL working and see that I get HTTP posts to my server, and I also see events come in via the WebSocket.

From what I post here, it seems easy enough to reproduce.

Before using the Maker post API, I was polling EVERY device (in one HTTP get) frequently and the Habitat would eventually get slower and slower until it became completely unresponsive and required a reboot.

FWIW.

As far as habitat itself, it's awesome. I wouldn't go back to SmartThings. Ever.