diff --git a/robot.py b/robot.py
index 24c6863ea2c6f165d18bf7dd1eea3a12fdb10c06..5e774c7b2d2a0c0897d39c8ca1cef89fe859d3fc 100644
--- a/robot.py
+++ b/robot.py
@@ -74,7 +74,7 @@ async def main():
     uri = 'http://examples.freeopcua.github.io'
     idx = await server.register_namespace(uri)
     #id des rangedatentyps
-    rangeid = await server.nodes.base_data_type.get_child(["0:Structure" , "0:Range"])
+    rangeid = await server.nodes.base_data_type.get_child(["0:Structure", "0:Range"])
 
     #measurementobjekte für dynamischer
     # tcpobject = Measurement("Tool Center Point", "Tool center point of a six-arm robot.", float, 3 , (-0.5, 0.5), "metre")
@@ -82,12 +82,9 @@ async def main():
     # batteryobject = Measurement("Battery level", "Battery level", int , 0 ,(0, 100), "percent")
     # measureobjectlist = [tcpobject , positionobject, batteryobject]
 
-    tcpobject = getobj(
-        "Tool Center Point")  # Measurement("Tool Center Point", "Tool center point of a six-arm robot.", float, 3 , (-0.5, 0.5), "metre")
-    positionobject = getobj(
-        "Position")  # Measurement("Position", "Position in Cartesian coordinates given in metre.", float, 3, (-50, 50) , "metre")
-    batteryobject = getobj(
-        "Battery level")  # Measurement("Battery level", "Battery level", int , 0 ,(0, 100), "percent")
+    tcpobject = getobj("Tool Center Point")
+    positionobject = getobj("Position")
+    batteryobject = getobj("Battery level")
     measureobjectlist = jsonparse.measurementobj
 
     #parameterobjekte
@@ -107,8 +104,13 @@ async def main():
     #measurements evtl varianttype vom variabletype und datatype measurement
 
     for a in measureobjectlist:
+        varianttype = ua.VariantType.Int64
+        if a.datatype == "float" or a.datatype == "double":
+            varianttype = ua.VariantType.Double
+        elif a.datatype == "boolean":
+            varianttype = ua.VariantType.Boolean
         name = a.name + "var"
-        name = await myobjtype.add_variable(idx, a.name , a.value , datatype = vartype.nodeid)
+        name = await myobjtype.add_variable(idx, a.name, a.value, varianttype=varianttype, datatype=vartype.nodeid)
         await name.set_modelling_rule(True)
         #namelist = namelist + name
         if a.range is not None:
@@ -124,7 +126,7 @@ async def main():
     #parameters
 
     for a in paraobjectlist:
-        para = await myobjtype.add_variable(idx, a.name , a.value , datatype = paratype.nodeid)
+        para = await myobjtype.add_variable(idx, a.name, a.value, datatype=paratype.nodeid)
         await para.set_modelling_rule(True)
         if a.range is not None:
             rangeprop = await para.add_property(idx, "range", ua.Range(a.range[0], a.range[1]))
@@ -166,6 +168,9 @@ async def main():
 
     tcpvarname = "2:" + tcpobject.name
     tcpvarmeas = await mobilerobot.get_child([tcpvarname])
+    # tcpvarmeas.set_writable(True)
+
+    # tcprobmeas = await robot.get_child([tcpvarname])
 
     #adding function goTo to robot
     goTofunc = await mobilerobot.add_method(idx, "goToset", goTo, [ua.VariantType.Float], [ua.VariantType.Float])
@@ -181,11 +186,12 @@ async def main():
     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()
+    # 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)
+    tcpstreammob = await server.create_custom_event_type(idx, "StreamingMob", ua.ObjectIds.BaseEventType)
+    tcpstreamgenmobrob = await server.get_event_generator(tcpstreammob, mobilerobot)
     tcpstreamgenmobrob.tcpstream = await tcpvarmeas.get_value()
 
     #tryout für zugriff
@@ -198,12 +204,11 @@ async def main():
 
         while True:
             tcppos = await tcpvarmeas.get_value()
+            # tcpposrob = await tcprobmeas.get_value()
             if time % 10 == 0:
-                await tcpstreamgenmobrob.trigger(
-                    message="MobileRobot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
-                await tcpstreamgenrob.trigger(message = "Robot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
-
-            # await positionrobot.set_value([1.0, 0.0, 0.0])
+                await tcpstreamgenmobrob.trigger(message="MobileRobot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
+                # await tcpstreamgenrob.trigger(message = "Robot updatet value [" + str(tcppos[0]) + "," + str(tcppos[1]) + "," + str(tcppos[2]) + "]")
+           # await positionrobot.set_value([1.0, 0.0, 0.0])
             batteryload = await batterymeas.get_value()
             #await batterymeas.set_value(19)
             if 20 > batteryload >= 10:
@@ -214,7 +219,7 @@ async def main():
             time += 1
             batterysave = batteryload - 1
             await batterymeas.set_value(batterysave)
-            tcppossave = tcppos[0] + 1
+            tcppossave = tcppos[0] + 1.0
             await tcpvarmeas.set_value([tcppossave, 0.0, 0.0])