First test stanza

This commit is contained in:
Joachim Lindborg
2013-05-17 12:18:00 +02:00
parent 0a2737dc77
commit b7adaafb3e
9 changed files with 246 additions and 2 deletions

View File

@@ -79,4 +79,5 @@ __all__ = [
'xep_0302', # XMPP Compliance Suites 2012
'xep_0308', # Last Message Correction
'xep_0313', # Message Archive Management
'xep_0323', # IoT Sensor Data
]

View File

@@ -0,0 +1,18 @@
"""
SleekXMPP: The Sleek XMPP Library
Implementation of xeps for Internet of Things
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Copyright (C) 2013 Joachim Lindborg, Joachim.lindborg@lsys.se
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
from sleekxmpp.plugins.base import register_plugin
from sleekxmpp.plugins.xep_0323.sensordata import XEP_0323
from sleekxmpp.plugins.xep_0323 import stanza
register_plugin(XEP_0323)
xep_0323=XEP_0323

View File

@@ -0,0 +1,65 @@
"""
SleekXMPP: The Sleek XMPP Library
Implementation of xeps for Internet of Things
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Copyright (C) 2013 Joachim Lindborg, Joachim.lindborg@lsys.se
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
import logging
from sleekxmpp.xmlstream import JID
from sleekxmpp.xmlstream.handler import Callback
from sleekxmpp.xmlstream.matcher import StanzaPath
from sleekxmpp.plugins.base import BasePlugin
from sleekxmpp.plugins.xep_0323 import stanza
log = logging.getLogger(__name__)
class XEP_0323(BasePlugin):
"""
XEP-0323 IoT Sensor Data
"""
name = 'xep_0323'
description = 'XEP-0323 Internet of Things - Sensor Data'
dependencies = set(['xep_0030']) # set(['xep_0030', 'xep_0004', 'xep_0082', 'xep_0131'])
stanza = stanza
def plugin_init(self):
pass
# self.node_event_map = {}
# self.xmpp.register_handler(
# Callback('Sensordata Event: Get',
# StanzaPath('message/sensordata_event/get'),
# self._handle_event_get))
def plugin_end(self):
# self.xmpp.remove_handler('Sensordata Event: Get')
pass
def get_value(self, jid, msg):
"""
Recieving a stanza for erading values
# verify provisioning
# verify requested values and categories
# Send accepted
# Thread of the readout
# send started
# send data messages
# send done
"""
pass

View File

@@ -0,0 +1 @@
jocke@Joachim-Lindborg.local.29709

View File

@@ -0,0 +1,12 @@
"""
SleekXMPP: The Sleek XMPP Library
Implementation of xeps for Internet of Things
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Copyright (C) 2013 Joachim Lindborg, Joachim.lindborg@lsys.se
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
from sleekxmpp.plugins.xep_0323.stanza.sensordata import *

View File

@@ -0,0 +1,12 @@
"""
SleekXMPP: The Sleek XMPP Library
Implementation of xeps for Internet of Things
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Copyright (C) 2013 Joachim Lindborg, Joachim.lindborg@lsys.se
See the file LICENSE for copying permission.
"""
from sleekxmpp.xmlstream import ET
pass

View File

@@ -0,0 +1,64 @@
"""
SleekXMPP: The Sleek XMPP Library
Implementation of xeps for Internet of Things
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Copyright (C) 2013 Joachim Lindborg, Joachim.lindborg@lsys.se
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
from sleekxmpp import Iq, Message
from sleekxmpp.xmlstream import register_stanza_plugin, ElementBase, ET, JID
class Sensordata(ElementBase):
namespace = 'http://xmpp.org/iot/sensordata'
name = 'sensordata'
plugin_attrib = name
interfaces = set(tuple())
class Request(ElementBase):
namespace = 'http://xmpp.org/iot/sensordata'
name = 'req'
plugin_attrib = name
interfaces = set(('seqnr','momentary'))
class Accepted(ElementBase):
namespace = 'http://xmpp.org/iot/sensordata'
name = 'accepted'
plugin_attrib = name
interfaces = set(('seqnr'))
class Failure(ElementBase):
namespace = 'http://xmpp.org/iot/sensordata'
name = 'failure'
plugin_attrib = name
interfaces = set(('seqnr','done'))
register_stanza_plugin(Iq, Sensordata)
register_stanza_plugin(Sensordata, Request)
register_stanza_plugin(Sensordata, Accepted)
register_stanza_plugin(Sensordata, Failure)
# register_stanza_plugin(Pubsub, Default)
# register_stanza_plugin(Pubsub, Items)
# register_stanza_plugin(Pubsub, Options)
# register_stanza_plugin(Pubsub, Publish)
# register_stanza_plugin(Pubsub, PublishOptions)
# register_stanza_plugin(Pubsub, Retract)
# register_stanza_plugin(Pubsub, Subscribe)
# register_stanza_plugin(Pubsub, Subscription)
# register_stanza_plugin(Pubsub, Subscriptions)
# register_stanza_plugin(Pubsub, Unsubscribe)
# register_stanza_plugin(Affiliations, Affiliation, iterable=True)
# register_stanza_plugin(Configure, xep_0004.Form)
# register_stanza_plugin(Items, Item, iterable=True)
# register_stanza_plugin(Publish, Item, iterable=True)
# register_stanza_plugin(Retract, Item)
# register_stanza_plugin(Subscribe, Options)
# register_stanza_plugin(Subscription, SubscribeOptions)
# register_stanza_plugin(Subscriptions, Subscription, iterable=True)