diff --git a/robot.py b/robot.py
index 89992feaf5eb564bd19ad16cf36cc8adc728030f..eb6bf8d0ed5283f8d119ece2cb940643ce036f9d 100644
--- a/robot.py
+++ b/robot.py
@@ -1,5 +1,6 @@
 import logging
 import asyncio
+import numpy
 
 from asyncua import ua, Server
 from asyncua.common.methods import uamethod
@@ -86,7 +87,7 @@ async def main():
     #tcp als variable mit properties
     vartype = await server.nodes.base_data_type.add_data_type(idx, "Measurement")
     paratype = await server.nodes.base_data_type.add_data_type(idx, "Parameter")
-    #tcpvar = await myobj.add_variable(idx, "TCP VAR" , [0,0,0] , datatype = vartype.nodeid)
+    #tcpvar = await .add_variable(idx, "TCP VAR" , [0,0,0] , datatype = vartype.nodeid)
     
     #variable mit entsprechenden properties
     #measurements evtl varianttype vom variabletype und datatype measurement
@@ -131,41 +132,66 @@ async def main():
     await openvar.set_modelling_rule(True)
     grip_desc = await openvar.add_property(idx, "Description", "Flag to specify if something is open.")
     await grip_desc.set_modelling_rule(True)
+
+    robot = await server.nodes.objects.add_object(idx, "Robot", myobjtype)
     
-    myobj = await server.nodes.objects.add_object(idx, "Robot", myobjtype)
+    mobilerobot = await server.nodes.objects.add_object(idx, "MobileRobot", myobjtype)
 
     #getting node ids of battery and position
     robotposname = "2:" + positionobject.name
-    positionrobot = await myobj.get_child([robotposname])
+    positionrobot = await mobilerobot.get_child([robotposname])
 
     batteryvarname = "2:" + batteryobject.name
-    batterymeas = await myobj.get_child([batteryvarname])
+    batterymeas = await mobilerobot.get_child([batteryvarname])
+
+    tcpvarname = "2:" + tcpobject.name
+    tcpvarmeas = await mobilerobot.get_child([tcpvarname])
 
     #adding function goTo to robot
-    goTofunc = await myobj.add_method(idx, "goToset", goTo, [vartype, positionrobot])
+    goTofunc = await mobilerobot.add_method(idx, "goToset", goTo, [vartype, positionrobot])
 
     #batterylow warning event
     batterywarning = await server.create_custom_event_type(idx, "BatteryLowWarning", ua.ObjectIds.SystemEventType)
-    batterywarninggen = await server.get_event_generator(batterywarning, myobj)
+    batterywarninggen = await server.get_event_generator(batterywarning, )
 
     #batterylow error event
     batteryerror = await server.create_custom_event_type(idx, "BatteryLowError", ua.ObjectIds.SystemEventType)
-    batteryerrorgen = await server.get_event_generator(batteryerror, myobj)
+    batteryerrorgen = await server.get_event_generator(batteryerror, mobilerobot)
+    batterywarninggen.event.Severity = 800
+    batteryerrorgen.event.Severity = 1000
+
+    #streamevents
+    tcpstream = await server.create_custom_event_type(idx, "Streaming", ua.ObjectIds.BaseEventType, [("tcpstream", ua.VariantType.Float)])
+    tcpstreamgenrob = await server.get_event_generator(tcpstream, robot)
+    tcpstreamgenrob.tcpstream = await tcpvarmeas.get_value()
 
+    tcpstreamgenmobrob = await server.get_event_generator(tcpstream, mobilerobot)
+    tcpstreamgenmobrob.tcpstream = await tcpvarmeas.get_value()
 
-    #server
     async with server:
         print("Server läuft!")
+        time = 0
+
         while True:
-            #checking triggering both events
+            tcppos = await tcpvarmeas.get_value()
+            if time % 10 == 0:
+                await tcpstreamgenrob.trigger(message = "Robot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
+                await tcpstreamgenmobrob.trigger(
+                    message="MobileRobot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
+
             batteryload = await batterymeas.get_value()
-            batterywarninggen.event.Severity = 800
-            batteryerrorgen.event.Severity = 1000
+            #await batterymeas.set_value(19)
             if 20 > batteryload >= 10:
-                await batterywarning.trigger("Battery level is below 20%. Load shortly.")
+                await batterywarninggen.trigger(message = "Battery level is below 20%. Load shortly.")
             if batteryload < 10:
-                await batteryerror.trigger("Battery level is below 10%. Please load the battery immediately.")
+                await batteryerrorgen.trigger(message = "Battery level is below 10%. Please load the battery immediately.")
             await asyncio.sleep(1)
+            time += 1
+            batterysave = batteryload - 1
+            await batterymeas.set_value(batterysave)
+            tcppossave = tcppos[0] + 1
+            await tcpvarmeas.set_value([tcppossave, 0.0, 0.0])
+
 
 if __name__ == '__main__':
     asyncio.run(main())
\ No newline at end of file