Commit ffaf4405 authored by oroulet's avatar oroulet Committed by oroulet

linting of server-callback example

parent d5c7acb2
import sys
sys.path.insert(0, "..")
import logging import logging
from datetime import datetime
import asyncio import asyncio
try: try:
...@@ -16,38 +13,37 @@ except ImportError: ...@@ -16,38 +13,37 @@ except ImportError:
shell.interact() shell.interact()
from asyncua import ua, uamethod, Server from asyncua import ua, Server
from asyncua.common.callback import CallbackType from asyncua.common.callback import CallbackType
def create_monitored_items(event, dispatcher): def create_monitored_items(event, dispatcher):
print("Monitored Item") print("Monitored Item")
for idx in range(len(event.response_params)) : for idx in range(len(event.response_params)):
if (event.response_params[idx].StatusCode.is_good()) : if event.response_params[idx].StatusCode.is_good():
nodeId = event.request_params.ItemsToCreate[idx].ItemToMonitor.NodeId nodeId = event.request_params.ItemsToCreate[idx].ItemToMonitor.NodeId
print(f"Node {nodeId} was created") print(f"Node {nodeId} was created")
def modify_monitored_items(event, dispatcher): def modify_monitored_items(event, dispatcher):
print('modify_monitored_items') print("modify_monitored_items")
def delete_monitored_items(event, dispatcher): def delete_monitored_items(event, dispatcher):
print('delete_monitored_items') print("delete_monitored_items")
async def main(): async def main():
# optional: setup logging # optional: setup logging
logging.basicConfig(level=logging.WARN) logging.basicConfig(level=logging.WARN)
#logger = logging.getLogger("asyncua.address_space") # logger = logging.getLogger("asyncua.address_space")
# logger.setLevel(logging.DEBUG) # logger.setLevel(logging.DEBUG)
#logger = logging.getLogger("asyncua.internal_server") # logger = logging.getLogger("asyncua.internal_server")
# logger.setLevel(logging.DEBUG) # logger.setLevel(logging.DEBUG)
#logger = logging.getLogger("asyncua.binary_server_asyncio") # logger = logging.getLogger("asyncua.binary_server_asyncio")
# logger.setLevel(logging.DEBUG) # logger.setLevel(logging.DEBUG)
#logger = logging.getLogger("asyncua.uaprocessor") # logger = logging.getLogger("asyncua.uaprocessor")
# logger.setLevel(logging.DEBUG) # logger.setLevel(logging.DEBUG)
logger = logging.getLogger("asyncua.subscription_service") logger = logging.getLogger("asyncua.subscription_service")
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
...@@ -55,8 +51,8 @@ async def main(): ...@@ -55,8 +51,8 @@ async def main():
# now setup our server # now setup our server
server = Server() server = Server()
await server.init() await server.init()
#await server.disable_clock() # await server.disable_clock()
#server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") # server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/")
server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/")
server.set_server_name("FreeOpcUa Example Server") server.set_server_name("FreeOpcUa Example Server")
...@@ -71,20 +67,19 @@ async def main(): ...@@ -71,20 +67,19 @@ async def main():
myfolder = await objects.add_folder(idx, "myEmptyFolder") myfolder = await objects.add_folder(idx, "myEmptyFolder")
myobj = await objects.add_object(idx, "MyObject") myobj = await objects.add_object(idx, "MyObject")
myvar = await myobj.add_variable(idx, "MyVariable", 6.7) myvar = await myobj.add_variable(idx, "MyVariable", 6.7)
await myvar.set_writable() # Set MyVariable to be writable by clients await myvar.set_writable() # Set MyVariable to be writable by clients
# starting! # starting!
await server.start() await server.start()
# Create Callback for item event # Create Callback for item event
server.subscribe_server_callback(CallbackType.ItemSubscriptionCreated, create_monitored_items) server.subscribe_server_callback(CallbackType.ItemSubscriptionCreated, create_monitored_items)
server.subscribe_server_callback(CallbackType.ItemSubscriptionModified, modify_monitored_items) server.subscribe_server_callback(CallbackType.ItemSubscriptionModified, modify_monitored_items)
server.subscribe_server_callback(CallbackType.ItemSubscriptionDeleted, delete_monitored_items) server.subscribe_server_callback(CallbackType.ItemSubscriptionDeleted, delete_monitored_items)
while True: while True:
await asyncio.sleep(1) await asyncio.sleep(1)
if __name__ == '__main__': if __name__ == "__main__":
asyncio.run(main()) asyncio.run(main())
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment