m NSF Enerblock P1

Key Points

  1. NSF SBIR grant to Enerblock to define viability of a decentralized electric energy trading system on the grid
  2. Enerblock betting National Grid will use Enerblock over other energy p2p tokenized power trading platforms


References

Reference_description_with_linked_URLs_______________________Notes______________________________________________________________


project links

gdocs folder

JIRA

gitlab repos
https://nsf-api.sysopsnetwork.com/test link 1 - the NSF test app server - feathers.js
http://3.14.248.223:5984NSF Fabric server
http://3.14.248.223:5984/_utilsNSF Fabric server couchdb access






related eblock docs
https://www.nsf.gov/awardsearch/simpleSearchResult?queryText=blockchainNSF blockchain awards

https://www.nsf.gov/awardsearch/showAward?AWD_ID=1938132&HistoricalAwards=false

enerblock-nsf-award-2019-DER-project.pdf

Enerblock award
118026-0200-Provisional-filed-1-19-2018-62619487-.pdfEnerblock patent app
EnerBlock LLC - NSF SBIR Phase I Proposal.pdfEnerblock Phase 1 proposal
NSF SBIR Energy Tokenization Approaches.pptxEnerblock tokenization concepts
EnerBlock NSF SBIR Phase I Update 11-04-19.pptxPsoft Phase 1 Update proprosal
NSF HLR.docxPsoft HLR for Enerblock - v1




external reference materials
u energy p2p DER tradingp2p DER energy trading presentations
https://medium.com/@sebnem/encore-tokens-for-investing-in-renewable-energy-infrastructure-3df824dacdb3energy tokens overview
https://www.renewableenergyworld.com/2017/09/27/blockchain-token-to-share-renewable-energy-unveiled/#grefp2p token trading for energy - Netherlands - 2019
https://pv-magazine-usa.com/2019/02/21/a-blockchain-trading-solar-power-system-in-the-real-world/PowerLedger xGrid energy token trading system
https://www.researchgate.net/publication/328533607_KWh_Meter_Smart_Card_Model_Token_For_Electrical_
Energy_Monitoring
Kwh Meter Smart Card Model Token For EEM - Electrical Energy Monitoring
https://medium.com/@brian.koralewski/what-stellar-lumens-teaches-us-about-token-economics-de4d554ea177Stellar Token concepts


https://www.greentechmedia.com/articles/read/demand-response-the-home-vs-ci-debate-6025
https://www.mpoweruk.com/soc.htmbattery state of charge vs state of health calcs


Power reference info
https://www.meetup.com/Hyperledger-Toronto/events/266765758/
https://www.youtube.com/watch?v=g0XEyI2FzSI&feature=youtu.be
Smart Grid presentation - Toronto - 2019
p2p energy trading using blockchain video


Other Energy Solutions
https://www.otovo.no/Norway retail solar panels - simple process to order

https://news.energysage.com/tesla-solar-roof-price-vs-solar-panels/

solar-news.energysage.com-Tesla solar roof cost vs solar panels worth the premium.pdf

solar panels vs solar tiles ( cost comparisons 2020 ) w Tesla tiles
https://news.yahoo.com/biggest-us-solar-project-approved-225726181.htmlLargest US solar project




https://www.dmtf.org/standards/cim/cim_schema_v29

DMTF.org standards group for power mgt UML models




Key Concepts



Enerblock concepts

from HLR doc v2




Virtual Power Plant framework enabled by blockchain to monitor and trace electricity generated, monitor and transfer electricity from energy storage assets, and produce the requisite tokenization strategy.


  1. Tokenization

    1. Tgen

      1. Power Generation: Tgen tokens created

        1. Kwh

        2. 5 minute intervals (beginning)

        3. 15 minute intervals (Advanced)

      2. When Charging a Battery: Tgen token is exchanged for the Tstorage token and burned

      3. Operating a Load

        1. Tgen tokens are burned

        2. The operating load would be buying the token at some price, and presumably the asset owner can offer both the Tgen token and the Tstorage token to the operating load (representing the grid) at any given point in time.

          1. Rate

          2. Date/Time

    2. Tstorage

      1. Token Burn Algorithm

        1. Sets tokens aside if it thinks they're not required based upon extrapolations from historical data, but burns them after verifying the capacity has fallen and necessitates the burn using interpolated data at various points.

        2. Must account for different battery burn rates, which is a function of battery discharge and battery lifetime


IEC CIM modeling for smart grid contracts

Recommend using IEC CIM modeling format for smart contract design in the future, for easy integration with Utilities.

IEC standards

https://www.iec.ch/smartgrid/standards/

model downloads

https://www.dmtf.org/standards/cim/cim_schema_v29


CIM model for electric power

https://en.wikipedia.org/wiki/Common_Information_Model_(electricity)

In electric power transmission and distribution, the Common Information Model (CIM), a standard developed by the electric power industry that has been officially adopted by the International Electrotechnical Commission (IEC), which aims to allow application software to exchange information about an electrical network.[1]

The CIM is currently maintained as a UML model.[2] It defines a common vocabulary and basic ontology for aspects of the electric power industry. The CIM models the network itself using the 'wires model'. This describes the basic components used to transport electricity. Measurements of power are modeled by another class. These measurements support the management of powerflow at the transmission level, and by extension, the modeling of power through a revenue meter on the distribution network. The CIM can be used to derive 'design artifacts' (e.g. XML Schema, RDF Schema) as needed for the integration of related application software.

The CIM is also used to derive messages for the wholesale energy market with the framework for energy market communications, IEC 62325. The European style market profile is a profile derivation from the CIM to harmonize the energy market data exchanges in Europe. ENTSO-E is a major contributor to the European style market profile.[3]

The standard that defines the core packages of the CIM is IEC 61970-301, with a focus on the needs of electricity transmission, where related applications include energy management system, SCADA, planning and optimization. The IEC 61970-501 and 61970-452 standards define an XML format for network model exchanges using RDF. The IEC 61968 series of standards extend the CIM to meet the needs of electrical distribution, where related applications include distribution management system, outage management system, planning, metering, work management, geographic information system, asset management, customer information systems and enterprise resource planning.



Use of OWL ( Web Ontology Language ) to define IEC / CIM ontology

https://en.wikipedia.org/wiki/Web_Ontology_Language

The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects. Ontologies resemble class hierarchies in object-oriented programming but there are several critical differences. Class hierarchies are meant to represent structures used in source code that evolve fairly slowly (typically monthly revisions) whereas ontologies are meant to represent information on the Internet and are expected to be evolving almost constantly. Similarly, ontologies are typically far more flexible as they are meant to represent information on the Internet coming from all sorts of heterogeneous data sources. Class hierarchies on the other hand are meant to be fairly static and rely on far less diverse and more structured sources of data such as corporate databases.[1]

The OWL languages are characterized by formal semantics. They are built upon the World Wide Web Consortium's (W3C) XML standard for objects called the Resource Description Framework (RDF).[2] OWL and RDF have attracted significant academic, medical and commercial interest.


Kwh Meter Smart Card Model Token For EEM - Electrical Energy Monitoring

https://www.researchgate.net/publication/328533607_KWh_Meter_Smart_Card_Model_Token_For_Electrical_Energy_Monitoring

This research Producer Electric meter Appliance model base on
smart card kWh (kilo Watt hour). The card power meter Is use to calculate
the prepaid electricity meter using the 20-digit voucher number as a
charging medium. Utilizing a smart card, the token number in the prepaid
electricity meter can help reduce the error rate when entering the token
number, the model destination is created. Hardware design and with apps
to detect how much energy is used to store basic data to help view history
of usage. Using smart cards and microcontrollers in apps that come from a
usage history in the Pulse usage category will help users know their usage
in efficient, normal, and wasteful categories. The results of this research is
a meter model with credit card for charging pulses, and data processing
applications as devices that can be used for various electricity
consumption. The information system is used as a model validation with
pulse input that provides information about the use of electrical energy
and as a determinant to save the time and time required to make optimal
energy





The method used for system validation as a way of categorizing step of use by testing on the 2200 VA kWh meter model, with the following test scenarios: a.Electrical Power: 2200 VAb.Average usage per month ± : 380 kWhc.380 kWh / month = 380,000 Wh / 2.592.000 sec = 0.14667d.To simplify the calculation rounded to 0.15 Wh / sec, Membership Function Electricity Usage per secon




Energy device configuration concepts for EFR32

https://www.silabs.com/documents/public/application-notes/an961-custom-nodes-efr32.pdf


Kwh Metering with Smart Card technology - paper

https://www.semanticscholar.org/paper/KWh-Meter-Smart-Card-Model-Token-For-Electrical-Siregar-Sikumbang/b8fe9f192a93ba87b29f566a81a1d2ecb81b5b3f

This research Producer Electric meter Appliance model base on smart card kWh (kilo Watt hour). The card power meter Is use to calculate the prepaid electricity meter using the 20-digit voucher number as a charging medium. Utilizing a smart card, the token number in the prepaid electricity meter can help reduce the error rate when entering the token number, the model destination is created. Hardware design and with apps to detect how much energy is used to store basic data to help view history of usage. Using smart cards and microcontrollers in apps that come from a usage history in the Pulse usage category will help users know their usage in efficient, normal, and wasteful categories. The results of this research is a meter model with credit card for charging pulses, and data processing applications as devices that can be used for various electricity consumption. The information system is used as a model validation with pulse input that provides information about the use of electrical energy and as a determinant to save the time and time required to make optimal energy LESS


Other P2P energy trading systems

u energy p2p DER trading



NSF Phase 2 Planning



NSF keys ...

partners --- all roles must benefit clearly
working demo of a smart meter in use
SIMPLE install
automated trading per resources, prefs
SIMPLE usage stats with monthly net savings
SIMPLE purchase as a monthly net charge
on demand - automated analysis on how much solar to invest in
low cost parts, install, service
reliability awards on systems




NSF Setup - Test Environments - docs


Github repos for POC - test environment


https://github.com/Paramount-Software-Solutions/nsf-api

https://github.com/Paramount-Software-Solutions/nsf-blockchain

https://github.com/Paramount-Software-Solutions/nsf-web

https://github.com/Paramount-Software-Solutions/nsf-qa-automation


NSF Test Environment Setup Examples


----------------------------------------------------
devops access for dev env


nsf-api.sysopsnetwork.com

or  web app at
https://enerblock.sysopsnetwork.com/ 

1> create a client key pair w puttygen 

use puttygen to generate key pair 
save private key w pass phrase .. jm+
save public key as pem file ..
send public key to server to load

	setup pass on prv > jm+

	valid nsf-api pkey = jmason-pkey.ppk
	valid nsf-fabric pkey = jmason-pkey3.ppk
	puttygen, after load, shows the public key for the private key to copy

2> connect on openvpn

jimstOVOTAtivlp$aKo8wesjim
use openvpn connection
jim
w pwd


3> open terminal w putty ssh

run putty ssh
load private key w phrase
create conenction
	nsf-api
	url 	nsf-api.sysopsnetwork.com

loginr


4> open robo3t connection

robo3t connection
	nsf-api 
	url nsf-api.sysopsnetwork.com  27017
	uses ssh prv key - no SSL ( its vpn )
		with openvpn no need for ssh tunnel

nsf-api.sysopsnetwork.com

5> postman client


import postman lib export and run in postman for nsf-api lib

postman api 

import postman nsf test collection
https://documenter.getpostman.com/view/5352743/SzS5v6ok?version=latest

then run postman 

initial test fails
GET /accounts HTTP/1.1
Host: localhost:3030
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJpYXQiOjE1ODM3OTcxMTIsImV4cCI6MTU4Mzg4MzUxMiwiYXVkIjoiaHR0cHM6Ly95b3VyZG9tYWluLmNvbSIsImlzcyI6ImZlYXRoZXJzIiwic3ViIjoiNWU2MmMxYTBjYzE5YzAzMGE2YjFjNGNiIiwianRpIjoiNzcxMTg5ZjMtZWM5YS00OThjLTliOWUtN2I2ZjE2MmM0OTM3In0.XrmEn2Sff6Z3U9q7XdleoU0-2YZHKhrcPxUuipb_jV0
cache-control: no-cache
Postman-Token: df9ced11-c722-4843-83aa-d9dfe2e6d730


https://blog.postman.com/2018/08/09/postman-release-6-2/



6> Fabric server putty access ...

Open putty
load the profile ps-nsf
set the ip address to: 3.14.248.223
save the profile as nsf-fabric
open
login ubuntu


7> Location of NSF Fabric CouchDb 

http://3.14.248.223:5984/_utils


8> Enerblock Web app 


https://enerblock.sysopsnetwork.com/register

https://enerblock.sysopsnetwork.com




Key Env Tasks


remote

aws

mysql

github

feathers

hlf v1.4.6


local

ubuntu

mysql

git

feathers

hlf v1.4.6

hlf v1.4.6 fabcar nodejs example


Key Design Tasks


hlr read / notes
update token reqs -
fractional, non-fungible
epics / stories notes

use case list to epics
use case diagram
use case transaction event flows as bdd, table, flows
process diagram for residential power sale


see matt white, andrew hunt sessions on node, java contracts for new program model

Key Dev Tasks


test nsf-api - feathers.js
https://github.com/Paramount-Software-Solutions/nsf-api


data model ok
generate domain classes from jdbc metadata - fields, fk refs
default relation = hasMany
change as needed to belongsTo hasOne

grails ....
create app
create domain classes - gen edit
create controllers
create views

hlf v1.4.6 neb nodejs example



Key Test Tasks


Test info


Base URL  

https://nsf-api.sysopsnetwork.com/


Documenter

https://documenter.getpostman.com/view/5352743/SzS1SoR6?version=latest



Postman NSF API setup


Export an existing NSF collection library

Import the library and select run in Postman button

Duplicate the collection and edit the duplicate

setup environment variables to use in URLS and body clauses


In Postman, 

http://{{rhost}}:3030/accounts

use url without port to allow server proxy redirection
http://nsf-api.sysopsnetwork.com/accounts

postman quick reference guide

pm.environment.get("rhost") in a script




Postman Testing NSF REST api


----------------------------------------
NSF API - create new user in dev in postman
----------------------------------------

sequence ...

*** ensure correct url == https:// and host 

		nsf-api.sysopsnetwork.com

---------------
1> create a new user 

auth = no auth

https://{{rhost}}/accounts

{
  "firstName": "Jim",
  "lastName": "Mason",
  "email": "jmason900@yahoo.com",
  "password": "Skyler@00"
}

<< sends a verification email with a custom verification token



---------------
2> verify user token 

auth = no auth

https://{{rhost}}/authManagement

{
	"action": "verifySignupLong",
	"value":"1b6cb27b711d01a0396baaccc8108b"
}

>> substitute correct token from the verification email



---------------
3> authenticate user ( login )

auth = no auth

https://{{rhost}}/authentication

<< returns a Bearer token for the session

use test script to set the token for the environment

pm.environment.set("jwt", response.accessToken)


---------------
4> after login, run all methods with the Bearer token variable from the environment 

auth = Bearer token




----------------------------------------
verification url fails 
----------------------------------------

https://nsf.sysopsnetwork.com/verify?token=1b6cb27b711d01a0396baaccc8108b




Potential Value Opportunities




NSF POC Status Report



200507 - next steps meeting

Plan business opportunities:

  • National Grid vritual smart meter service
  • National Grid smart meter trading solution for low income customers
  • Other Grids

Agenda

  • Roadmap for Phase II of NSF SBIR grant on Peer to Peer Energy Trading
  • Discussion between Dr. David King and Dr. David Bishop on scope of virtualization of Smart meters.
  • Exploring commercial opportunities with Utility companies for application of the peer to peer energy trade
  • David King sharing insights on the TTI and Licensing (if time permits)

Questions

  1. what design services do you need from Dr Bishop?
  2. what are gates for pilots ?
  3. what do we need for $1M NSF funding?

200430- POC Turnover Report meeting

------------------


meeting notes

POC changes

create an initial account balance

  • create the initial account balance at 5000 usd when account is registered
  • or make balance field on account profile editable to set a balance



pilot = 2 yrs
prod at national grid after = 2 yrs

3 big goals
- virtualize smeter p2p trading service for nat grid
- create hw package w meters, etc and software for nat grid low income
- other utilities

a> email w docs

a> pilot features, estimates ???
what does a production pilot cost ???

a> how can a smart meter be virtualized here ???
how can we partner w existing energy services companies ???

a> how to package smart meter service to other utilities ???
David King has other energy marketing leads .. Frank

a> see enerblock web site slides

a> new slides on ...
1> dual inverter architecture
2> virtual smart meter



nsf.report>

gsearch - bc poc report
see JIRA, HLR, BOA, bcp folder
diagrams for
use cases
bpm data flows



report model
https://www.hyperledger.org/wp-content/uploads/2019/11/HL_SolutionsBrief_ReduceCost_V8.pdf

overview

poc goals, value add
poc reqmts map to HLR use cases register user account, create assets, load transactions,
poc environment
poc development
poc testings & findings
poc summary
production architecture
production features
next steps





Potential Challenges



Candidate Solutions


NSF Prototype 


built with 

feathers.js 

https://www.npmjs.com/package/morgan - https request, response logger




NSF Prototype - Jan 2020



Demo url

Demo built on Fabric

The demo was what I did while we were up there at the lawyers office it is just a simple edit entry screen and display of data stored in the blockchain.  We need a lot more so hopefully with the new hire from Broadridge I will have someone I can build out the other 2 smart contracts and get the rest of pulled together and start uploading data.

The URL is http://3.14.248.223:3000/

Shane

running on Shane's server?


<BrowserRouter>

<Header brand="Enerblock" />

<Route path="/" component={ Search } exact />

<Route path="/createRS" component={ Create } exact/>

<Route path="/queryRS/:aid" component={ Data } exact/>

<Route path="/queryRSLocation/:aid/:lid" component={ Data } exact />

<Route path="/queryRSLocationDate/:aid/:lid/:date" component={ Data } exact />

</BrowserRouter>


Demo source


https://github.com/Paramount-Software-Solutions/enerblock-frontend

https://github.com/Paramount-Software-Solutions/enerblock-api

https://github.com/Paramount-Software-Solutions/enerblock-chaincode/blob/master/models.go


Q> modeled with Composer ???



Meetings



m200217 - Psoft team plan for NSF


NSF team


Please find the below resources for the NSF SBIR Grant Phase I in partnership with EnerBlock LLC
Architect - Dr. David Bishop
PM - Prentice Stamps
Database Developer & Administrator - Shane Neighbors
Frontend Developer - Bailey Charlton
API Developer - Vinay Krishna
QA Specialist - Mello Otarra
Smart Contracts Developer - Abhishek Ranjan
Data Analytics - Jim Mason
I think we are ready with the team.


design david
fe-dev bailey
be-dev thomas, vinay
dba shane
cont-dev abhishek
jim data-flow / testing
help from mello
Prentice pm



Step-by-step guide for Example



sample code block

sample code block
 



Recommended Next Steps