//Read identifier
sdss[cs].id = read16();
//Read value
+ sdss[cs].type = read_byte();
sdss[cs].value = read16();
debug("Received sds %d: %d", sdss[cs].id, sdss[cs].value);
debug("Publish %d=%d", sdss[cs].id, sdss[cs].value);
write_byte('p');
write16(sdss[cs].id);
- write16(sdss[cs].value);
+ write_byte(sdss[cs].type);
+
+ switch(sdss[cs].type){
+ //Long
+ case 'l':
+ //Int
+ case 'i':
+ write16(sdss[cs].value);
+ break;
+ case 'b': //Bool
+ case 'c': //Character
+ case 'B': //Button
+ case 'L': //UserLED
+ write_byte(sdss[cs].value);
+ break;
+ }
write_byte('\n');
return;
}