BeeClear Forums

Volledige versie: API 0.0.3 -- firmware 49.3.1 (tips & tricks)
U bekijkt momenteel een uitgeklede versie van ons materiaal. De volledige versie met bijbehorende opmaak weergeven.

API 0.0.3 -- firmware 49.3.1 (tips & tricks) - forumadmin

Tips:
Wat goed helpt om te achterhalen hoe de interactie werkt,  is om bijvoorbeeld de browser "Chrome" de debug functie (F12) te starten.
Hierin kunt u precies achterhalen welke API-calls er worden gedaan met de bijbehorende JSON-strings.

Bij mij werkt de onderstaande URL  (met URL-encoding) in een webbrowser om te testen:

http://beeclear.local/bc_login?username=...dpZQ%3D%3D
(beeclear/energie)

Ik heb dan wel session token security uit gezet.
Als het goed is staat dat in de API documentatie (security).

Username en password moeten base64 encoded worden.

///////////API-DOC//////////////////
13B. Enable/disable Security (Session token security)
Explanation: Sets / Disables session security.
Command : http://{BeeClear}/bc_security?set=off
http://{BeeClear}/bc_security?set=on
Returns :
{"info":"nok"} or
{"info":"ok"}
////////////////////////////////////


//// VOORBEELD PYTHON SCRIPT MET SESSION TOKEN/////

#! /usr/bin/python import urllib2 import urllib import base64 host = '192.168.1.23'
username = 'beeclear'
password = 'energie'
class beeclear:
def __init__( self, hostname, user, passwd ):
               self.hostname = hostname
               self.user = user
               self.passwd = passwd
               self.cookie = None;
       def connect( self ):
               post_args = urllib.urlencode( { 'username':  base64.b64encode(self.user), 'password': base64.b64encode(self.passwd) } )
               url = 'http://' + self.hostname + '/bc_login?' + post_args;
               req1 = urllib2.Request(url)
               response = urllib2.urlopen(req1)
               self.cookie = response.headers.get('Set-Cookie')
       def send( self, command ):
               url = 'http://' + self.hostname + '/' + command
               req = urllib2.Request(url)
               req.add_header('cookie', self.cookie)
               f = urllib2.urlopen(req)
               data = f.read()
               f.close
               return data
a = beeclear( host, username, password )
a.connect()
print a.send ( 'bc_current' )
//// VOORBEELD SCRIPT MET SESSION TOKEN/////