Recently, when building a weather station based on Adafruit’s Huzzah ESP8266 breakout board, I needed the ability to send messages that should be retained on the MQTT server.
I am using mosquitto on my home server, acting as a message broker. My weather stations send messages to it and these are then forwarded to the subscribers who have signed up for them. At the moment, these subscribers are a weather logging system, a current weather display panel on the different computers at home, and, occasionally, a command-line client used for troubleshooting.
As the weather stations are battery powered, they will not run always on, always connected, but they wake up every few minutes, check the weather, and transmit the results to the MQTT server before they go to sleep again.
Any subscribers will receive these messages as soon as they are sent. However, when a subscriber starts running and connects to the MQTT server, it will not receive any messages until the relevant weather station sends one. By default, there’s no concept of the most recent values. This is kind of inconvenient for the weather panel application on the computers, as they will not show any values until the next time the weather station wakes up. Depending on the battery levels and configuration, that could be quite a while…
Continue reading “Adding retained messages to Adafruit's MQTT library”
A function I have often been asked for, but which does not exist in standard Dynamics AX 2012 is copy-down, or the ability to press a key on the keyboard to copy values into the currently selected field from the row immediately above it. In my implementation, I have chosen the F11 key, as it was not used for anything else.
The function will be available on all grid-based forms, even in the table browser.
Continue reading “Another form trick, copy-down in grids”
When working with multiple Dynamics AX environments, it’s quite useful to have a visual reminder of which environment you’re working in.
It is possible to use the instance name in the client configuration to provide this hint, but the instance name is not validated, nor does it indicate to the client which instance to connect to. The connection is established only based on the host name, port name and WSDL port. It is, in fact, possible to specify anything at all as the instance name:
My production server does NOT have an instance named MickeyMouse. I promise… Really…
Continue reading “Show environment bar in Dynamics AX forms”
This is the new home of my blog. Unfortunately, the posts from the old blog was lost in the move, so I’ll start over again here.
The upside of that, I suppose, is that the content here will be fresher, so let’s get started.