Tag Archives: json

Version 2.7.0.7

Fix blower disassociation on web page

Option for outputting the version number of firmware from JSON. Example:

        http://192.168.0.1/stoker.json?version=true

The output:

        { "stoker" : {
            "version" : "2.7.0.7",
            "sensors" :
                [
                    { "id" : id, "name" : name, "al" : al, "ta" : ta, "th" : th, "tl" : tl, "tc" : tc, "blower" : blower_id },
                    ...
                ],

            "blowers" :
                [
                    { "id" : id, "name" : name, "on": on },
                    ...
                ]
            }
        }

This is compatible with JSONP so this is also valid:

        http://192.168.0.1/stoker.json?version=true&callback=parseResponse

Version 2.7.0.7

Version 2.7.0.1

A few minor updates for speed.

New favicon.ico

JSONP support. The firwmare will now allow the JSON GET request to specify a callback parameter. Example:

        http://192.168.0.1/stoker.json?callback=parseResponse

The Stoker will send back the JSON response wrapped in parseResponse.

Version 2.7.0.1

 

Twitter and static IP addresses

When using the Twitter functionality with a static IP address on the Stoker, please make sure all the IP-related fields are filled in properly. The four fields are:

  • IP address
  • Subnet mask
  • Gateway
  • DNS server

These settings can be found on a Windows machine using the command ipconfig /all at the command prompt. The /alloption is necessary to show the DNS server. This should be run on the same physical network the Stoker is on.

Version 2.6.0.226

JSON support.

To request the current Stoker status in JSON format, “GET” the page at “http://stoker_ip/stoker.json”. The format is:

        { "stoker" : {
            "sensors" :
                [
                    { "id" : id, "name" : name, "al" : al, "ta" : ta, "th" : th, "tl" : tl, "tc" : tc, "blower" : blower_id },
                    ...
                ],

            "blowers" :
                [
                    { "id" : id, "name" : name, "on": on },
                    ...
                ]
            }
        }

The idea is this:

  • 1 global Stoker object
  • Stoker object contains two other objects
  • First object is called “sensors”
    • “sensors” object is an array of sensor entries
    • Each sensor entry has:
      • id – 16 character serial number
      • name – User defined name
      • al – alarm, which can be 0, 1, 2
        • 0 – no alarms
        • 1 – Target
        • 2 – Fire hi/low
      • ta – Target temperature
      • th – Fire high
      • tl – Fire low
      • tc – Current temp
      • blower – 16 character serial number of the blower, if any. If no blower, then the value is null
  • The second object is called “blowers”
    • “blowers” is an array of blower entries
    • Each blower entry has:
      • id – 16 character name
      • name – User defined name
      • on – 0 for blower off, 1 for blower on

To “POST” data, the JSON body should look exactly like the Stoker object above. The only difference is that the “POST” handler will ignore the read-only attributes.

For the sensor entries, the POST handler will ignore the tc field. For blower entries, the POST handler will ignore the on field.

If the POST succeeds, then the HTTP status code of 200 will be returned with nothing in the HTTP body. If the POST fails, status code of 400 will be returned and the body wil contain this JSON message:

        { "stoker_response" : "Failed" }

Version 2.6.0.226

When POSTing, use http://stoker_ip_address/stoker.Json_Handler