Thanks. Will update these.
Problem is I need to do fussy search using keywords. And the sellers tries to get as many matches as possible (they add a lot of keywords thats not even describe their product). The ali-database is updated constantly. Gah.
@mfalkvidd not necessary. We already have #define MY_GATEWAY_LINUX, so just #ifdef MY_GATEWAY_LINUX to define those constants in runtime at the init stage.
As I see it, only SPI driver needs to be defined at compilation, other options could easily be set via config.
While it would be possible via request() as @mfalkvidd suggests, I wouldn't recommend to do that in this case. I think it's rather pointless to regularly request variables which only change rarely. It adds a lot of traffic to the network - at least 4 messages (including echos) per request - while the requested values stay unchanged 98% of the time or so. Not to mention that the status LEDs could show a wrong condition for up to 10 minutes if you toggle a light switch right after its state has been requested.
I'd suggest to use one of the following alternatives instead:
You could have the light nodes send messages to both the gateway and the node with the status LEDs. The status LEDs would update immediately when a light is toggled and there's a lot less unnecessary traffic on the network.
Let the controller handle the logic. Whenever a light node sends a state change to the gateway, tell the controller to send a message to the node with the status LEDs. This method has the same benefits as the one before and it's easier maintainable since you don't need to re-upload sketches to multiple nodes if something changes - just reconfigure a script in your controller.