That bolt is indeed not in the best place probably, but that's what you do prototyping for. In the meantime, I have been testing it for quite some time continuously. It is running fine all right. However, the transformer is getting a bit warm. Not too much, you can still touch the thing, but I think I need to take into account a bit when making an enclosure. I'll probably drill some vent holes in it.
For series production however, another problem has cone up. The relays I planned (the same ones JC is unable to get for quite some time for his relay plug), won't be deliverable until the end of April. A normally sized relay may be an option, but at the moment I don't see how I'd fit that on the board.
Oh well, let's concentrate on board design, software and aesthetics. I'd like to button functions to be set via wireless. Since there is only one relay per jee node board, I'll probably use the jee node identifier letter to address the relay. Then, for every board, I need to maintain a list of what every button should do.
I can think of a couple of actions for buttons.
- toggle one or more relay (if off, turn it on, if on, turn it off).
- turn off one or more relay.
- turn on one or more relay.
- turn off one or more relay and undo on second press within a certain amount of time.
The last action would be useful for "all off" buttons I'd like near doors. It is useful to be able to turn all lights in the room, but it would't make much sense to turn all lights on when pressed again (and make it behave like a toggle switch). Instead, it seems more useful to just restore the previous state if pressed again.
Then, for all four buttons on every board, I need a setting like:
[button nr] [behavior] [relay letter]+
These setting should be stored in EEPROM memory. Furthermore, I think the relay and button led state should be stored as well, in case some glitch in the mains voltage reboots the jee node.
Lastly, I am still not sure what to do with the button LEDs. It is pretty useless to have them indicate whether a light is on, if that light is in the same room. For lights in other rooms, it could make sense. On the other hand, making the LEDs behave differently for different buttons might be confusing. I might have it indicate that some lights are on for the "all off" buttons. That might also visually discern those "special" buttons from the rest.
The LEDs may also serve some special purpose, like indicating menu options or something. I am not quite sure whether I want to be able to change the settings with only buttons and LEDs as in and output. You might press two buttons simultaneously to get into programming mode, then press a button you want to program and then cycle through the lights you want to control with it. Not quite sure about all that still. But ey, it is software, it can be changed (there is an ftdi interface on the board)
Anyway, any ideas about it all?