char *pRet, *p, *s; int pLen, sLen, tLen, event; int rate = 10; // default refresh rate printf("Starting YouLess Data Fetcher (YDF)"); while(TRUE) { event = getinputevent(); if(event & 0x01) { rate = (int)getinput(0); printf("YDF [INFO]: Refresh rate changed! (%d)", rate); } pRet = httpget("192.168.XX.XX:80","/a"); if ((pRet != NULL) && (*pRet != 0)) { p = strstrskip(pRet,"kWh"); // returns all after keyword "kWh" s = index(p,0x20); // return to first blank pLen = strlen(p); sLen = strlen(s); tLen = pLen - sLen; char t[tLen]; strncpy(t,p,tLen); t[tLen] = '\0'; // null terminate char array if (p != NULL) { // debug //printf("P:%s|LEN:%d|S:%s|LEN:%d|T:%s|LEN:%d\n", p, pLen, s, sLen, t, tLen); setoutput(0,atof((char *)t+1)); // float from char } free(pRet); // free httpget resource } sleeps(rate); }