Reasoner by Resource

From AMTech WikiDocs
Revision as of 21:42, 20 October 2016 by Amarrero (Talk | contribs) (Schedule Send Observations)

Jump to: navigation, search
ReasonerByResource.png

Reasoner For each

ReasonerForEachByResourceCreate.png

Create

  1. MainMenu/Activities/Reasoner
  2. Click create
  3. Select For Each Thing
  4. Enter a Name
  5. Once The Reasoner editor is open
  6. Enter Description
  7. Select the observer
  8. Select Topic from where you are getting the observation
  9. Select Action Create,
  10. Dialog Box for create will be open Select by recurso
  11. Select type of thing you want to create
  12. Enter a label to identify the action
  13. On right side click on action
  14. Select on right side new fields and user can see he can write the info using javascript
    Example:
    function(newthing,observation,thing,summary){   
        newthing._name ="Entity77"+ new Date().getTime().toString();
        newthing.DoubleData = observation.ObsDoubleData; 
        newthing.description ="Testing Create by recurso";        
    }
    
    Note
    there are required fields if user does not enter them the reasoner wont run
  15. Run reasoner

Expected

For each thing returned by observer system will create a new thing

Update

Same steps as Create

function(updatething,observation,thing){   
    updatedthing.description ="Bless be the ones who serve others. They are the ones who find heaven on earth.";
    updatedthing.CityPopulation = 123000123;
}

Expected The system will update each thing returned by the observer

Send Notification

same as for each send notification by properties

Delete

same as for each Delete by properties

Send Observations

function(newobservation,observation,thing){   
    newobservation._name = "SendObserRecurso"+ new Date().getTime().toString();
    newobservation.topic = observation.topic;   (Required field)
    newobservation.producer = observation.producer;  (Required field)
}
Note
there are required fields if user does not enter them the reasoner wont run

Schedule Send Observation

The same as send observation user just need to specify Initiation Date and time, occurrence and frequency Note:

Occurrence 0 must enter frequency like; sec, mins, hours etc If user for example enters frequency days that means observation will be send every day forever Starting on the Start date and Time

Occurrence 1 frequency will be ignore. The system will send that schedule observation on the Start Date and Time only once

Occurrence 2 or more must enter frequency. The system will send the observation according to frequency and Start Date and Time

function(newobservation,observation,thing){   
    newobservation._name = "SendObserRecurso"+ new Date().getTime().toString();
    newobservation.topic = observation.topic;   (Required field)
    newobservation.producer = observation.producer;  (Required field)
}
Note
there are required fields if user does not enter them the reasoner wont run

Expected

For each thing returned by the observer the system will schedule to send a new observation

Reasoner At Least One

Create

  1. MainMenu/Activities/Reasoner
  2. Click create
  3. Select At least one thing
  4. Enter a Name
  5. Once The Reasoner editor is open
  6. Enter Description
  7. Select the observer
  8. Select Topic from where you are getting the observation
  9. Select Action Create,
  10. Dialog Box for create will be open Select by recurso
  11. Select type of thing you want to create
  12. Enter a label to identify the action
  13. On right side click on action
  14. Select on right side new fields and user can see he can write the info using javascript
    Example:
    function(newthing,observation,thing){   
        newthing._name ="Entity55";
        newthing.DoubleData = observation.ObsDoubleData; 
        newthing.description ="Testing Reasoner At least One Create by recurso";
    }
    
    Note
    there are required fields if user does not enter them the reasoner wont run
  15. Run reasoner


Expected If Observer return at least one thing the system will create a new thing if observer does not return thing system won't create the new thing

Send Notifications

same as send Notification by properties

Send Observations

function(newobservation,observation,thing){ 
    newobservation._name = "SendObserRecurso333"; (Mandatory Field)
    newobservation.topic = observation.topic;  (Mandatory Field)
    newobservation.producer = observation.producer;  (Mandatory Field)
}

Schedule Send Observations

The same as send observation user just need to specify Initiation Date and time, occurrence and frequency

Note
Occurrence 0 must enter frequency like; sec, mins, hours etc If user for example enters frequency days that means observation will be send every day forever Starting on the Start date and Time
Occurrence 1 frequency will be ignore. The system will send that schedule observation on the Start Date and Time only once
Occurrence 2 or more must enter frequency. The system will send the observation according to frequency and Start Date and Time
function(newobservation,observation){ 
    newobservation.producer = "Copertino";	
}

Expected

If Observer return at least one thing the system will Schedule to send a new Observation

Reasoner Only Observations

Create

function(newthing,observation){ 
    newthing._name ="EntityObsOnlyRecurso";
    newthing.DoubleData = observation.ObsDoubleData; 
    newthing.description ="Testing Reasoner Obs Only Create by recurso";
}

Expected

If the run of Observer is positive the system will Create a New thing

Send Notifications

same as send notification by properties

Send Observations

function(newobservation,observation){ 
    newobservation._name = "SendObserRecursoObsOnly";
    newobservation.topic = observation.topic;  (Mandatory field)
    newobservation.producer = observation.producer;  (Mandatory field)
}

Expected

If the run of Observer is positive the system will Send the observation

Schedule Send Observations

The same as send observation on Action select schedule observations user just need to specify Initiation Date and time, occurrence and frequency

Note
Occurrence 0 must enter frequency like; sec, mins, hours etc If user for example enters frequency days that means observation will be send every day forever Starting on the Start date and Time
Occurrence 1 frequency will be ignore. The system will send that schedule observation on the Start Date and Time only once
Occurrence 2 or more must enter frequency. The system will send the observation according to frequency and Start Date and Time
function(newobservation,observation){ 
    newobservation._name = "ScheduleSendObserRecursoObsOnly";
    newobservation.topic = observation.topic;  
    newobservation.producer = observation.producer; 
}

Expected

If the run of Observer is positive the system will Send the observation

according to the schedule

Reasoner Absence of things

Create

function(newthing,observation){ 
    newthing._name ="EntityDoNotReturnRecurso111";
    newthing.DoubleData = observation.ObsDoubleData; 
    newthing.description ="Testing Reasoner Do not return entity Create by recurso";
}

Expected

If Observer do not return a thing the system will create a new thing

Send Notifications

Send Observations

function(newobservation,observation){ 
    newobservation._name = "SendObserRecursoNoEntity";
    newobservation.topic = observation.topic;  
    newobservation.producer = observation.producer; 
}

Expected

If Observer do not return a thing the system will Send Observation

Schedule Send Observations

function(newobservation,observation){ 
    newobservation._name = "ScheduleSendObserRecursoNoEntity";
    newobservation.topic = observation.topic;  
    newobservation.producer = observation.producer;       
}

Expected

If Observer do not return a thing the system will Schedule and send observation according to schedule