Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Julian
    @JulianFeinauer
    @kolotu and I are doing a Webinar on Vorto: https://my.demio.com/ref/UtcctknspATIeAM4
    In 10 Minutes : )
    Garrett LoVerde
    @loverdeg-ep
    @JulianFeinauer is it recorded?
    Julian
    @JulianFeinauer
    Yes.. sorry we were a bit spontaneous with the announce
    It is recorded and I can share the link here once its on yt
    Garrett LoVerde
    @loverdeg-ep
    I'm in the process of creating a new model to replace an architecture for which no modeling was done. Would vorto enable me to create a translator to feed LWM2M data into the existing format while I transition to the new model?
    My earlier questions regarding diagraming of models would be used to show the differences between existing and new.
    ^to stakeholders
    Kevin Olotu
    @kolotu
    @loverdeg-ep you are referring to payload data sent by a device right?
    Then I would suggest looking into the payload mapping engine that can map your payload according to your Vorto model: https://github.com/eclipse/vorto-examples/tree/master/vorto-middleware
    ottlukas
    @ottlukas
    :wave:
    Julian
    @JulianFeinauer
    :wave:
    ottlukas
    @ottlukas
    Thanks @kolotu for the nice webinar yesterday :) - coming from the Web of Things world it is interesting to see Vorto starting
    Julian
    @JulianFeinauer
    In fact @kolotu talks with them already, right?
    ottlukas
    @ottlukas
    https://youtu.be/off08As3siM good old times at the institute ;)
    Kevin Olotu
    @kolotu
    @ottlukas thanks for attending the webinar :) yes I'm already in the Web of Things working group for discovery and also in general looking to closer integrate with the Web of Things ecosystem
    @loverdeg-ep you can find the recording here: https://www.youtube.com/watch?v=Ybk10IaqZgY
    Julian
    @JulianFeinauer
    :heart:
    Kevin Olotu
    @kolotu
    We are currently doing some maintenance work on the official Vorto Repository (https://vorto.eclipse.org). The repository might be unavailable for short periods of time within the next 3 hours
    Kai Hudalla
    @sophokles73
    @kolotu Great timing, I wanted to do some work with Kilton on the ioFog agent model using the online modeler form 5 - 7 PM CEST ...
    Kevin Olotu
    @kolotu
    @sophokles73 we are sorry - we can keep it stable from 5-7PM
    the critical part is already done, the rest of the work should not interfere with the availability.
    Kevin Olotu
    @kolotu
    @JulianFeinauer and I have submitted a proposal for a session on integrating PLC4X and Vorto at this year's EclipseCon - if you are interested in seeing it, please add your vote: https://www.eclipsecon.org/2020/sessions/building-industrial-iot-solution-open-source
    kiklug
    @kiklug
    Hi, I'm trying to use the payload mapping via node.js.
    When following the steps of the tutorial I get an error message Error : Cannot read property 'temperature' of undefined which I can trace back to line 82 of vortoMappingEngine.js.
    After inspecting the mappingSpecification I found that it doesn't have the expected "properties" key. I believe I'm doing something wrong but I have no idea what it is. Any Ideas?
    Julian
    @JulianFeinauer
    @kiklug can you give an example of your model / payload
    kiklug
    @kiklug
    Right now I'm just trying the most basic steps in recreating the tutorial.
    So my model looks like this:
    vortolang 1.0
    namespace vorto.private.kiklug.testing
    version 0.0.1
    displayname "Test"
    description "Information Model for Test"
    using org.eclipse.vorto.Temperature; 1.0.0
    infomodel Test {
    functionblocks {
    temperature as Temperature
    }
    }
    And the input payload would just be {"currentMeasured":"82.4f"}
    Alexander Edelmann
    @aedelmann
    NodeJs mapping Engine doesn’t support nested properties
    Temperature Function block has a neated property sensor value
    Only java mapping engine supports this
    kiklug
    @kiklug
    So you are saying that I can't use any references to Functionblocks when using node.js, right?
    Or what exactly do you mean by nested properties?
    Alexander Edelmann
    @aedelmann
    U can use functionblocks but only functionblocks which have primitive properties
    Afaik Vorto temperature FB has a entity type sensor value
    U cannot use that in nodejs mapping.
    So either u use java mapping engine or use/create a functionblock containing only primitive types
    If u want u can add the support for nested entity types in nodejs and contribute it :)
    kiklug
    @kiklug

    I can certainly try but I'm still confused about how it is supposed to work with primitive types.
    I've changed the model to :

    using vorto.private.kiklug.testing.TestFuncBlock;0.0.1
    infomodel Test {
        functionblocks {
            temperature as TestFuncBlock
        }
    }

    With a new self-made functionblock:

    functionblock TestFuncBlock {
        status{
             mandatory temperature as float       
        }
    }

    Afaik this should work since float is a primitive type, right?

    Alexander Edelmann
    @aedelmann
    Yes
    demetz
    @demetz
    Hey everybody! I was just taking a look at the current issues and the milestones in the repository to get a better feeling for where vorto is currently standing and what the outlook is. However, the milestones are rather outdated and I did not find any mid- to long-term roadmap anywhere. Can you provide a quick overview of current status, what the most pressing issues are and where the project is currently headed?
    Kevin Olotu
    @kolotu

    Hey @demetz
    We have scheduled the 0.13 release for end of August and are currently working on the 1.0 release, which is scheduled for end of 2020.

    The most pressing issues are related to stabilizing the repository, to get it ready for the 1.0. So mostly the issues labeled as bug and enhancement.

    Another ongoing topic is that we are collecting input for new features of vortolang.

    demetz
    @demetz
    thanks!
    Menahem Julien Raccah Lisei
    @mena-bosch
    Announcement: a maintenance window is necessary for the Vorto dev application (vorto-dev.eclipse.org), starting in a few minutes.
    The dev application will be unavailable for aproximately 3 hours this afternoon, starting in 15 minutes.
    Will update this thread once the maintenance window is closed.
    If you have urgent need of the environment this afternoon, please drop me a message.
    Menahem Julien Raccah Lisei
    @mena-bosch
    The maintenance window is concluded for today. However, due to some outages related to GitHub, there may be another maintenance window tomorrow - still impacting the development system only. Apologies in advance for the inconvenience.
    demetz
    @demetz

    Hey,

    we have a lot of LoRaWAN sensor data coming in, for which we are creating digital twins in ditto. Besides the sensor data, we also want to persist some metadata, mainly the signal strength. Therefore, we are using a functionblock LoraWAN. My problem is, that a signal can be picked up by multiple LoRa Gateways simultaneously. In that case, we want to save the signal strength from each gateway.

    Is the usage of multiple valid within a functionblock for a datatype?

    functionblock LoRaWAN {
        status {
            mandatory devEUI as string with {measurementUnit: othermo.Unit.text} "devEUI of device"
            **optional multiple Gateway as LoRaGateway**
            optional frequency as float with {measurementUnit: othermo.Unit.Hz} "frequency"
            optional dataRate as float with {measurementUnit: othermo.Unit.number} "Data Rate / spreading factor"
            optional adaptiveDataRate as boolean with {measurementUnit: othermo.Unit.state} "adr: adjustment of data rate activated?"
            optional frameCounter as float with {measurementUnit: othermo.Unit.number} "fCnt: Number of frames received"
            optional batteryStatus as float with {measurementUnit: othermo.Unit.percent} "Current battery charge in %"
            optional batteryVoltage as float with {measurementUnit: othermo.Unit.V} "Current battery voltage"
            optional linkMargin as float with {measurementUnit: othermo.Unit.dB} "lora status message: current margin of link"
        }
    }

    with

    entity LoRaGateway {
        mandatory gatewayId as string
        optional uplinkId as string
        optional signalStrength as float with {measurementUnit: othermo.Unit.dBm} "rssi"
        optional signalNoiseRatio as float with {measurementUnit: othermo.Unit.dB} "SNR"
    }

    Thanks!

    this would translate to the following ditto model:
    "features": {
            "lorawan" : {
                "definition": ["othermo:LoRaWAN:1.1.0"],
                "properties": {
                    "status": {
                        "devEUI" : "",
                        "Gateway_id1" : {
                            "gatewayId" : "id1",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        },
                        "Gateway_id2" : {
                            "gatewayId" : "id2",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        },
                        "Gateway_id3" : {
                            "gatewayId" : "id3",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        },
                        "signalStrength" : 0.0,
                        "signalNoiseRatio" : 0.0,
                        "frequency" : 0.0,
                        "dataRate" : 0.0,
                        "adaptiveDataRate" : false,
                        "frameCounter" : 0.0,
                        "batteryStatus" : 0.0,
                        "batteryVoltage" : 0.0,
                        "linkMargin" : 0.0
                    }
                }
            }
        }
    Kevin Olotu
    @kolotu

    Hey @demetz

    Yes the usage of multiple within a Functionblock with a Datatype is valid. The translation into Ditto would be a bit different however - instead of Gateway_id1, Gateway_id2, ... the proper translation would be using an array, but the logic you applied is indeed valid. It should look like this:

    "features": {
            "lorawan" : {
                "definition": ["othermo:LoRaWAN:1.1.0"],
                "properties": {
                    "status": {
                        "devEUI" : "",
                        "gateway" : [{
                            "gatewayId" : "id1",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        },
                        {
                            "gatewayId" : "id2",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        },
                         {
                            "gatewayId" : "id3",
                            "uplinkId" : "",
                            "signalStrength" : 0.0,
                            "signalNoiseRatio" : 0.0
                        }],
                        "signalStrength" : 0.0,
                        "signalNoiseRatio" : 0.0,
                        "frequency" : 0.0,
                        "dataRate" : 0.0,
                        "adaptiveDataRate" : false,
                        "frameCounter" : 0.0,
                        "batteryStatus" : 0.0,
                        "batteryVoltage" : 0.0,
                        "linkMargin" : 0.0
                    }
                }
            }
        }
    demetz
    @demetz

    ok, thanks. the downside with using an array is that it is very hard to query / write the data:

    somethimes, I might have 3 gateways picking up the signal from a sensor. at other times the signal from the same device is being picked up by only 1 gateway.

    demetz
    @demetz
    is something like this possible in vorto:
    [
        "id1":{
            "uplinkId":"", 
            "signalStrength":0.0, 
            "signalNoiseRatio":0.0
        },
        "id2": {
            ...
        }
    ]