Classic Monitoring with a raspberry pi

Started by welmore, October 26, 2017, 12:44:45 AM

Previous topic - Next topic

ClassicCrazy

I asked Midnite if they would want to make a Node Red heading for forums here.
Will be interesting to see your project.
I get what you mean about being busy in the summer now !

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

ClassicCrazy

Quote from: Steve_S on June 06, 2019, 08:10:34 PM
This is a Raspberry Pi Forum so Node-Red falls under that IMO.   BUT that being said, Node-Red IS cross Platform and works on Windows too but I don't know about everything else, I do believe that InfluxDB is also Multi Platform but Grafana ?

I will likely start my own thread series as I like to document a things as I go along.   I'm doing "upgrades" again this evening as I got a new Big Case, Fan (don't like CPU @ 61C) and an RTC clock so it keeps time for itself.

Because of my setup here... having a separate PowerHouse 60 feet from Cabin and having my solar rack even farther away I have to organise a few things up...  I want to be able to run this 7/24 BUT I do not want to have the satellite (I'm remote Sat is my internet etc) which is a power pig, so it will likely be located in the powerhouse & attached to my battery bank through the 12V circuit I have running off it...  I'll just have to find an "adapter" that will step that down to 5V-3A and another for the Router which I think is 4.5V

So far I have my flow talking to the Classic but that needs serious lovin to clean it up and once I have that the way I want, then I'll dashboard it with Node-red.  I really don't see too many issues with the Classic itself and sure am hoping the folks @ MidNite are considering all of this with their new Inverter/Chargers (B17 ?) too. 

My biggest issue at this time, is with Samlex Inc !  Their Inverter has Modbus but they've never released the information on it and are not forthcoming with that.  They are discussing it at Corporate now because I presented a case scenario which would increase their profile in the RE Sector.  Ironically, they have RJ45 connectors but I do not believe they are Ethernet but rather some form of Serial so I'll have to get an engineering type to look at that... maybe I'll have to use an RS485 port or something... ugh....

New Node Red header was added on forums here
http://midniteftp.com/forum/index.php?board=73.0

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

ClayHadi

#32
Hi....the Arduino suggestions will probably work fine if you account for the voltage range that the Raspberry Pi can handle. I used input from relay output once in a car security system to tell when a remote commanded the doors to lock or unlock. That was years ago in the days before Arduino; I used a PIC16F84. I vaguely recall having to do some filtering in the analog domain to make it work, but I might be remembering it wrong. I'm a software developer, not an electrical engineer, so I always found the analog stuff more difficult. Still, I made it work reliably, so I don't think you're bitting too much to chew.

pcb and small parts assembly

ClassicCrazy

Quote from: ClayHadi on March 23, 2020, 01:38:06 PM
Hi....the Arduino suggestions will probably work fine if you account for the voltage range that the Raspberry Pi can handle. I used input from relay output once in a car security system to tell when a remote commanded the doors to lock or unlock. That was years ago in the days before Arduino; I used a PIC16F84. I vaguely recall having to do some filtering in the analog domain to make it work, but I might be remembering it wrong. I'm a software developer, not an electrical engineer, so I always found the analog stuff more difficult. Still, I made it work reliably, so I don't think you're bitting too much to chew.

Check this project out if you haven't seen it yet . I now have Raspberry Pi monitoring the Classic thanks to Graham and Matt
http://midniteftp.com/forum/index.php?topic=4817.0

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

mcsarge

Hey Guys,

I took the Node-Red that I got from your guys a little while ago and it was really easy to convert it to getting the data about the classic from MQTT instead of directly from the MODBUS. I just have to convert the field names in the payload you guys were using to the field names we use in the json packet. Here is what our "readings" packet looks like:


{"BatTemperature":0.8,
  "NetAmpHours":4,
  "ChargeState":0,
  "InfoFlagsBits":-1308610300,
  "ReasonForResting":4,
  "NegativeAmpHours":-9369,
  "BatVoltage":25.9,
  "PVVoltage":10.5,
  "VbattRegSetPTmpComp":27.4,
  "TotalAmpHours":704,
  "WhizbangBatCurrent":-0.5,
  "BatCurrent":0.0,
  "PVCurrent":0.0,
  "ConnectionState":0,
  "EnergyToday":0.5,
  "EqualizeTime":10800,
  "SOC":100,
  "Aux1":false,
  "Aux2":false,
  "Power":0.0,
  "FETTemperature":14.0,
  "PositiveAmpHours":17138,
  "TotalEnergy":616.1,
  "FloatTimeTodaySeconds":29689,
  "RemainingAmpHours":704,
  "AbsorbTime":18000,
  "ShuntTemperature":4.0,
  "PCBTemperature":21.3}


We also send an "info" packet for things that do not change much, but you get the idea

Matt
Off Grid Island in Ontario Canada (Beaverstone Bay)
Primary: Classic 150 + wbjr; 3s2p HES 270watt
Winter: SolarBoost 50 MPPT (into wbjr); 2 x Sharp NE-80EJEA 80watt
Pack: 4s2p ROLLS S6-460AGM 6V for 24V pack
Inverter/Charger: Trace DR2424
Call Sign: KG4EUF

ClassicCrazy

Matt
I was messing with the Node Red a little bit on my windows computer . I wanted to see if I could get it to subscribe to the raspberry pi MQTT broker that is already running on same network.  I think I did get it to connect . I then tried to hook it up to the one Node Red flow that was shared but didn't see anything from it.  I didn't get too much farther than that.

If you want to share your Node Red flow I will give it a try here .

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

mcsarge

#36
Larry,

I used the --snooze_secs to update every 1 minute instead of five so it is easier to get some data. All I did wa remove the MODBUS and route the MQTT readr to the link to the JSON message thingy.

[{"id":"44d8794b.34ddd8","type":"tab","label":"Classic Data Getter","disabled":false,"info":"This flow retrieves data from the Midnite Classic \nSolar Controller using Modbus over TCPIP.  \nTakes the raw data and formats it for use with labels.\nJSON for convenience. !\n\nIt then transfers this data to the Dashboard Flow "},{"id":"479ec480.5bf78c","type":"tab","label":"Classic Dashboard Flow","disabled":false,"info":"This flow receieves it's data from the Data Getter\nand presents a basic dashboard view.\n\n"},{"id":"c033e13a.592b2","type":"modbus-client","z":"","name":"ClassicRemote","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"1883","tcpType":"TPC-RTU-BUFFERED","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"},{"id":"af7bd7ae.bc45e8","type":"ui_group","z":"","name":"Current Status","tab":"aaa74f48.136a7","order":1,"disp":true,"width":"22","collapse":false},{"id":"a603949e.27e288","type":"ui_group","z":"","name":"Panel Watts Generation","tab":"aaa74f48.136a7","order":2,"disp":true,"width":"15","collapse":false},{"id":"aaa74f48.136a7","type":"ui_tab","z":"","name":"Home","icon":"dashboard","order":1},{"id":"5ca6233.e85a1dc","type":"ui_base","theme":{"name":"theme-light","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#097479","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#4B7930","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"},"themeState":{"base-color":{"default":"#0094CE","value":"#0094CE","edited":false},"page-titlebar-backgroundColor":{"value":"#0094CE","edited":false},"page-backgroundColor":{"value":"#fafafa","edited":false},"page-sidebar-backgroundColor":{"value":"#ffffff","edited":false},"group-textColor":{"value":"#1bbfff","edited":false},"group-borderColor":{"value":"#ffffff","edited":false},"group-backgroundColor":{"value":"#ffffff","edited":false},"widget-textColor":{"value":"#111111","edited":false},"widget-backgroundColor":{"value":"#0094ce","edited":false},"widget-borderColor":{"value":"#ffffff","edited":false},"base-font":{"value":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"false","allowSwipe":"false","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":0,"py":0}}},{"id":"16705c50.f9a794","type":"mqtt-broker","z":"","name":"Island","broker":"0.tcp.ngrok.io","port":"10693","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"79fd54c3.7f5bdc","type":"ui_spacer","name":"spacer","group":"af7bd7ae.bc45e8","order":1,"width":1,"height":1},{"id":"27a2f700.e982b8","type":"debug","z":"44d8794b.34ddd8","name":"RAW payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":540,"y":300,"wires":[]},{"id":"6fcbc911.4fc1f8","type":"link out","z":"44d8794b.34ddd8","name":"","links":["a5bf75bd.e2df18"],"x":775,"y":220,"wires":[]},{"id":"85722714.288338","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":3,"width":"4","height":"4","gtype":"gage","title":"Input Watts","label":"Watts","format":"{{payload.PVCurrent}}","min":"0","max":"2080","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":970,"y":200,"wires":[]},{"id":"4752aed1.c84fe","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":1,"width":"5","height":"5","label":"Input Amps (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"No Data","dot":false,"ymin":"0","ymax":"2080","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":670,"y":320,"wires":[[]]},{"id":"d111e626.910bd8","type":"json","z":"479ec480.5bf78c","name":"","property":"payload","action":"obj","pretty":false,"x":90,"y":120,"wires":[["4ba0b222.6e49fc","85722714.288338","85b81828.707f68","cf678ab.887af78","a53d84f3.d38538","ec9c248a.c27c08","b25e09f8.4cbcb8","7c078e46.0f115","d237b039.0a69c","5e9f17e2.005e48","71c98bfb.510b34","bbcf0529.774df8","dbd75023.c7a06","2fb99b52.1bc384"]]},{"id":"85b81828.707f68","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":1,"width":"4","height":"4","gtype":"gage","title":"Battery Volts","label":"Volts","format":"{{payload.BatVoltage}}","min":"23.00","max":"32.00","colors":["#ff0000","#e6e600","#00b700"],"seg1":"","seg2":"","x":610,"y":200,"wires":[]},{"id":"fec31f54.d6d32","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":2,"width":"5","height":"5","label":"Input Volts (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"No Data","dot":false,"ymin":"0","ymax":"210","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":670,"y":360,"wires":[[]]},{"id":"a5bf75bd.e2df18","type":"link in","z":"479ec480.5bf78c","name":"","links":["6fcbc911.4fc1f8"],"x":35,"y":200,"wires":[["d111e626.910bd8","a530bc96.b8e76"]]},{"id":"4ba0b222.6e49fc","type":"debug","z":"479ec480.5bf78c","name":"JSON converted (msg.paylod)","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","x":250,"y":40,"wires":[]},{"id":"a530bc96.b8e76","type":"moment","z":"479ec480.5bf78c","name":"","topic":"","input":"","inputType":"flow","inTz":"America/Toronto","adjAmount":0,"adjType":"days","adjDir":"add","format":"L, h:mm a","locale":"en_CA","output":"payload.daytime","outputType":"msg","outTz":"America/Toronto","x":180,"y":460,"wires":[["d077f37d.f56fe"]]},{"id":"d077f37d.f56fe","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":4,"width":"5","height":"1","name":"Date","label":"","format":"{{msg.payload.daytime}}","layout":"row-left","x":350,"y":460,"wires":[]},{"id":"cf678ab.887af78","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":2,"width":"4","height":"4","gtype":"gage","title":"Input Volts","label":"Volts","format":"{{payload.PVVoltage}}","min":"0","max":"200","colors":["#ff0000","#e6e600","#00b700"],"seg1":"","seg2":"","x":790,"y":200,"wires":[]},{"id":"a53d84f3.d38538","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":5,"width":"5","height":"1","name":"","label":"Lifetime kWh : ","format":"{{msg.payload.TotalAmpHours}}","layout":"row-left","x":720,"y":20,"wires":[]},{"id":"ec9c248a.c27c08","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":7,"width":"5","height":"1","name":"","label":"Lifetime Ahrs : ","format":"{{msg.payload.PositiveAmpHours}}","layout":"row-left","x":720,"y":60,"wires":[]},{"id":"b25e09f8.4cbcb8","type":"change","z":"479ec480.5bf78c","name":"In_PV_Amps payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.PVCurrent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":320,"wires":[["4752aed1.c84fe"]]},{"id":"7c078e46.0f115","type":"change","z":"479ec480.5bf78c","name":"In_PV_Volts payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.PVVoltage","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":360,"wires":[["fec31f54.d6d32"]]},{"id":"d237b039.0a69c","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":11,"width":"5","height":"1","name":"","label":"Ahrs Today : ","format":"{{msg.payload.NetAmpHours}}","layout":"row-left","x":710,"y":140,"wires":[]},{"id":"5e9f17e2.005e48","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":9,"width":"5","height":"1","name":"","label":"kWhrs Today : ","format":"{{msg.payload.EnergyToday}}","layout":"row-left","x":720,"y":100,"wires":[]},{"id":"71c98bfb.510b34","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":6,"width":"5","height":"1","name":"","label":"Battery Temp : ","format":"{{msg.payload.BatTemperature}}","layout":"row-left","x":980,"y":20,"wires":[]},{"id":"bbcf0529.774df8","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":10,"width":"5","height":"1","name":"","label":"FET Temp : ","format":"{{msg.payload.FETTemperature}}","layout":"row-left","x":970,"y":60,"wires":[]},{"id":"dbd75023.c7a06","type":"ui_text","z":"479ec480.5bf78c","group":"af7bd7ae.bc45e8","order":8,"width":"5","height":"1","name":"","label":"Pcb Temp : ","format":"{{msg.payload.PCBTemperature}}","layout":"row-left","x":970,"y":100,"wires":[]},{"id":"5ccb367a.49db58","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":2,"width":"5","height":"5","label":"High Volts in (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"bezier","nodata":"No Data","dot":false,"ymin":"0","ymax":"210","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":680,"y":400,"wires":[[]]},{"id":"2fb99b52.1bc384","type":"change","z":"479ec480.5bf78c","name":"Hi_V_In_Today payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.HighVoltInToday","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":400,"wires":[["5ccb367a.49db58"]]},{"id":"2fb36cba.543cd4","type":"comment","z":"479ec480.5bf78c","name":"Dashboard Flow Read Me !","info":"This is a simple \"SnapShot\" Dashboard for Node-Red\nNothing too fancy but a start...\n\nData is received from the Data Getter using an InFlow [NODE]\n- json cleanup goes on which has a debug [NODE].\n- date & time are triggered by the input activity for display using system time.\n\nBattery Volts, Input Volts, Input Watts guages retrieve their data directly.\nThe Text Nodes also retrieve their data directly from the input.\n\nThe graphs must have the \"msg\" tweaked as they only take a simple payload.\nThis change is accomplished in front of them, taking data from the input.","x":390,"y":220,"wires":[]},{"id":"de40081b.e86998","type":"mqtt in","z":"44d8794b.34ddd8","name":"readings","topic":"ClassicMQTT/classic/stat/readings/#","qos":"2","datatype":"auto","broker":"16705c50.f9a794","x":260,"y":160,"wires":[["27a2f700.e982b8","6fcbc911.4fc1f8"]]}]


Matt
Off Grid Island in Ontario Canada (Beaverstone Bay)
Primary: Classic 150 + wbjr; 3s2p HES 270watt
Winter: SolarBoost 50 MPPT (into wbjr); 2 x Sharp NE-80EJEA 80watt
Pack: 4s2p ROLLS S6-460AGM 6V for 24V pack
Inverter/Charger: Trace DR2424
Call Sign: KG4EUF

ClassicCrazy

I tried your flow Matt - it was pretty much like I had already.
I think we may be talking about two different copied flows from others.
I will try again later.

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

Vic

Thank you very much,  to ALL who have contributed to this project.

We  will,  soon try dipping one toe into this water.

Great work !   Thanks again,   Vic
Off Grid - Sys 1: 2ea SW+ 5548, Surrette 4KS25 1280 AH, 5.25 KW PV, Classic 150,WB, Beta Barcelona, Beta KID
Sys 2: SW+ 5548s, 4KS25s, 5.88 KW PV, 2 ea. Classic 150, WB, HB CC-needs remote Monitoring/Control, site=remote.
 MN Bkrs/Bxs/Combiners. Thanks MN for Great Products/Svc/Support&This Forum!!

ClassicCrazy

Quote from: Vic on March 24, 2020, 03:05:36 PM
Thank you very much,  to ALL who have contributed to this project.

We  will,  soon try dipping one toe into this water.

Great work !   Thanks again,   Vic

Get a raspberry pi Vic and we can get you up and running soon - at least with the Android Monitor app part
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

mcsarge

#40
I updated the flow to better match the values in our "readings" subject. It looks like the attached.


[{"id":"44d8794b.34ddd8","type":"tab","label":"Classic Data Getter","disabled":false,"info":"This flow retrieves data from the Midnite Classic \nSolar Controller using Modbus over TCPIP.  \nTakes the raw data and formats it for use with labels.\nJSON for convenience. !\n\nIt then transfers this data to the Dashboard Flow "},{"id":"479ec480.5bf78c","type":"tab","label":"Classic Dashboard Flow","disabled":false,"info":"This flow receieves it's data from the Data Getter\nand presents a basic dashboard view.\n\n"},{"id":"af7bd7ae.bc45e8","type":"ui_group","z":"","name":"Current Status","tab":"aaa74f48.136a7","order":1,"disp":true,"width":"22","collapse":false},{"id":"a603949e.27e288","type":"ui_group","z":"","name":"Power Generation","tab":"aaa74f48.136a7","order":3,"disp":true,"width":"22","collapse":false},{"id":"aaa74f48.136a7","type":"ui_tab","z":"","name":"Home","icon":"dashboard","order":1},{"id":"5ca6233.e85a1dc","type":"ui_base","theme":{"name":"theme-light","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#097479","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#4B7930","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"},"themeState":{"base-color":{"default":"#0094CE","value":"#0094CE","edited":false},"page-titlebar-backgroundColor":{"value":"#0094CE","edited":false},"page-backgroundColor":{"value":"#fafafa","edited":false},"page-sidebar-backgroundColor":{"value":"#ffffff","edited":false},"group-textColor":{"value":"#1bbfff","edited":false},"group-borderColor":{"value":"#ffffff","edited":false},"group-backgroundColor":{"value":"#ffffff","edited":false},"widget-textColor":{"value":"#111111","edited":false},"widget-backgroundColor":{"value":"#0094ce","edited":false},"widget-borderColor":{"value":"#ffffff","edited":false},"base-font":{"value":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"false","allowSwipe":"false","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":0,"py":0}}},{"id":"16705c50.f9a794","type":"mqtt-broker","z":"","name":"Island","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"cb16369e.0e7fc8","type":"ui_group","z":"","name":"Temperatures","tab":"aaa74f48.136a7","order":4,"disp":true,"width":"22","collapse":true},{"id":"4229bb36.fe3a84","type":"ui_group","z":"","name":"Power","tab":"aaa74f48.136a7","order":5,"disp":true,"width":"22","collapse":true},{"id":"612bf217.53203c","type":"ui_group","z":"","name":"Time","tab":"aaa74f48.136a7","order":2,"disp":false,"width":"22","collapse":false},{"id":"27a2f700.e982b8","type":"debug","z":"44d8794b.34ddd8","name":"RAW payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":540,"y":300,"wires":[]},{"id":"6fcbc911.4fc1f8","type":"link out","z":"44d8794b.34ddd8","name":"","links":["a5bf75bd.e2df18"],"x":775,"y":220,"wires":[]},{"id":"85722714.288338","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":5,"width":"4","height":"4","gtype":"gage","title":"PV Current","label":"Amps","format":"{{payload.PVCurrent}}","min":"0","max":"1500","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":970,"y":200,"wires":[]},{"id":"4752aed1.c84fe","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":4,"width":"5","height":"5","label":"PV Current (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"No Data","dot":false,"ymin":"0","ymax":"30","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":670,"y":320,"wires":[[]]},{"id":"d111e626.910bd8","type":"json","z":"479ec480.5bf78c","name":"","property":"payload","action":"obj","pretty":false,"x":90,"y":120,"wires":[["4ba0b222.6e49fc","85722714.288338","85b81828.707f68","cf678ab.887af78","a53d84f3.d38538","ec9c248a.c27c08","b25e09f8.4cbcb8","7c078e46.0f115","d237b039.0a69c","5e9f17e2.005e48","71c98bfb.510b34","bbcf0529.774df8","dbd75023.c7a06","2fb99b52.1bc384","bbdfde82.e5d2b","77f51866.d246d8","e3333f4a.65f36","7520a9fb.3f5488"]]},{"id":"85b81828.707f68","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":2,"width":"4","height":"4","gtype":"gage","title":"Battery Volts","label":"Volts","format":"{{payload.BatVoltage}}","min":"23.00","max":"32.00","colors":["#ff0000","#e6e600","#00b700"],"seg1":"24.7","seg2":"24.7","x":610,"y":200,"wires":[]},{"id":"fec31f54.d6d32","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":3,"width":"5","height":"5","label":"PV Voltage (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"No Data","dot":false,"ymin":"0","ymax":"150","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":670,"y":360,"wires":[[]]},{"id":"a5bf75bd.e2df18","type":"link in","z":"479ec480.5bf78c","name":"","links":["6fcbc911.4fc1f8"],"x":35,"y":200,"wires":[["d111e626.910bd8"]]},{"id":"4ba0b222.6e49fc","type":"debug","z":"479ec480.5bf78c","name":"JSON converted (msg.paylod)","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","x":250,"y":40,"wires":[]},{"id":"cf678ab.887af78","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":4,"width":"4","height":"4","gtype":"gage","title":"Input Volts","label":"Volts","format":"{{payload.PVVoltage}}","min":"0","max":"200","colors":["#ff0000","#e6e600","#00b700"],"seg1":"50","seg2":"50","x":790,"y":200,"wires":[]},{"id":"a53d84f3.d38538","type":"ui_text","z":"479ec480.5bf78c","group":"4229bb36.fe3a84","order":4,"width":"5","height":"1","name":"","label":"Lifetime kWh : ","format":"{{msg.payload.TotalAmpHours}}","layout":"row-left","x":720,"y":20,"wires":[]},{"id":"ec9c248a.c27c08","type":"ui_text","z":"479ec480.5bf78c","group":"4229bb36.fe3a84","order":3,"width":"5","height":"1","name":"","label":"Lifetime Ahrs : ","format":"{{msg.payload.PositiveAmpHours}}","layout":"row-left","x":720,"y":60,"wires":[]},{"id":"b25e09f8.4cbcb8","type":"change","z":"479ec480.5bf78c","name":"In_PV_Amps payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.PVCurrent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":320,"wires":[["4752aed1.c84fe"]]},{"id":"7c078e46.0f115","type":"change","z":"479ec480.5bf78c","name":"In_PV_Volts payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.PVVoltage","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":360,"wires":[["fec31f54.d6d32"]]},{"id":"d237b039.0a69c","type":"ui_text","z":"479ec480.5bf78c","group":"4229bb36.fe3a84","order":1,"width":"5","height":"1","name":"","label":"Net AHrs : ","format":"{{msg.payload.NetAmpHours}}","layout":"row-left","x":710,"y":140,"wires":[]},{"id":"5e9f17e2.005e48","type":"ui_text","z":"479ec480.5bf78c","group":"4229bb36.fe3a84","order":2,"width":"5","height":"1","name":"","label":"kWhrs Today : ","format":"{{msg.payload.EnergyToday}}","layout":"row-left","x":720,"y":100,"wires":[]},{"id":"71c98bfb.510b34","type":"ui_text","z":"479ec480.5bf78c","group":"cb16369e.0e7fc8","order":1,"width":"5","height":"1","name":"","label":"Battery Temp : ","format":"{{msg.payload.BatTemperature}} C","layout":"row-left","x":980,"y":20,"wires":[]},{"id":"bbcf0529.774df8","type":"ui_text","z":"479ec480.5bf78c","group":"cb16369e.0e7fc8","order":3,"width":"5","height":"1","name":"","label":"FET Temp : ","format":"{{msg.payload.FETTemperature}} C","layout":"row-left","x":970,"y":60,"wires":[]},{"id":"dbd75023.c7a06","type":"ui_text","z":"479ec480.5bf78c","group":"cb16369e.0e7fc8","order":2,"width":"5","height":"1","name":"","label":"Pcb Temp : ","format":"{{msg.payload.PCBTemperature}} C","layout":"row-left","x":970,"y":100,"wires":[]},{"id":"5ccb367a.49db58","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":2,"width":"5","height":"5","label":"Battery Currrent (24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"bezier","nodata":"No Data","dot":false,"ymin":"-70","ymax":"70","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":690,"y":400,"wires":[[]]},{"id":"2fb99b52.1bc384","type":"change","z":"479ec480.5bf78c","name":"WzBJr payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.WhizbangBatCurrent","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":400,"wires":[["5ccb367a.49db58"]]},{"id":"2fb36cba.543cd4","type":"comment","z":"479ec480.5bf78c","name":"Dashboard Flow Read Me !","info":"This is a simple \"SnapShot\" Dashboard for Node-Red\nNothing too fancy but a start...\n\nData is received from the Data Getter using an InFlow [NODE]\n- json cleanup goes on which has a debug [NODE].\n- date & time are triggered by the input activity for display using system time.\n\nBattery Volts, Input Volts, Input Watts guages retrieve their data directly.\nThe Text Nodes also retrieve their data directly from the input.\n\nThe graphs must have the \"msg\" tweaked as they only take a simple payload.\nThis change is accomplished in front of them, taking data from the input.","x":520,"y":520,"wires":[]},{"id":"de40081b.e86998","type":"mqtt in","z":"44d8794b.34ddd8","name":"readings","topic":"ClassicMQTT/classic/stat/readings/#","qos":"2","datatype":"auto","broker":"16705c50.f9a794","x":260,"y":160,"wires":[["27a2f700.e982b8","6fcbc911.4fc1f8"]]},{"id":"bbdfde82.e5d2b","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":1,"width":"4","height":"4","gtype":"gage","title":"SOC","label":"% Charge","format":"{{payload.SOC}}","min":"0","max":"100","colors":["#ff0000","#e6e600","#00b700"],"seg1":"50","seg2":"70","x":770,"y":240,"wires":[]},{"id":"77f51866.d246d8","type":"change","z":"479ec480.5bf78c","name":"BatVoltage payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.BatVoltage","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":440,"wires":[["7543e6b2.112af8"]]},{"id":"e3333f4a.65f36","type":"change","z":"479ec480.5bf78c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.timestamp","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":240,"y":540,"wires":[["77ff432e.bd6adc"]]},{"id":"77ff432e.bd6adc","type":"moment","z":"479ec480.5bf78c","name":"","topic":"","input":"","inputType":"msg","inTz":"America/New_York","adjAmount":0,"adjType":"days","adjDir":"add","format":"ddd DD MMM HH:mm:ss","locale":"en_US","output":"","outputType":"msg","outTz":"America/New_York","x":520,"y":580,"wires":[["9228f077.77b3d"]]},{"id":"9228f077.77b3d","type":"ui_text","z":"479ec480.5bf78c","group":"612bf217.53203c","order":1,"width":"5","height":"1","name":"","label":"Time","format":"{{msg.payload}}","layout":"row-left","x":810,"y":600,"wires":[]},{"id":"7520a9fb.3f5488","type":"ui_gauge","z":"479ec480.5bf78c","name":"","group":"af7bd7ae.bc45e8","order":3,"width":"4","height":"4","gtype":"gage","title":"Battery Current","label":"Amps","format":"{{payload.WhizbangBatCurrent}}","min":"-100","max":"100","colors":["#ff0000","#e6e600","#00b700"],"seg1":"-50","seg2":"50","x":620,"y":260,"wires":[]},{"id":"7543e6b2.112af8","type":"ui_chart","z":"479ec480.5bf78c","name":"","group":"a603949e.27e288","order":1,"width":"5","height":"5","label":"Battery Voltage(24hrs)","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"bezier","nodata":"No Data","dot":false,"ymin":"23","ymax":"32","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":680,"y":440,"wires":[[]]}]
Off Grid Island in Ontario Canada (Beaverstone Bay)
Primary: Classic 150 + wbjr; 3s2p HES 270watt
Winter: SolarBoost 50 MPPT (into wbjr); 2 x Sharp NE-80EJEA 80watt
Pack: 4s2p ROLLS S6-460AGM 6V for 24V pack
Inverter/Charger: Trace DR2424
Call Sign: KG4EUF

Vic

Quote from: ClassicCrazy on March 24, 2020, 04:16:04 PM

Get a raspberry pi Vic and we can get you up and running soon - at least with the Android Monitor app part

Hi Larry,   have several R Pis here,   but have not done much with them  --  they DO make a perfectly acceptable Internet cruising machine.   Amazin'  that those lil boxes are SO capable.

Thanks for the offer.   73,   Vic
Off Grid - Sys 1: 2ea SW+ 5548, Surrette 4KS25 1280 AH, 5.25 KW PV, Classic 150,WB, Beta Barcelona, Beta KID
Sys 2: SW+ 5548s, 4KS25s, 5.88 KW PV, 2 ea. Classic 150, WB, HB CC-needs remote Monitoring/Control, site=remote.
 MN Bkrs/Bxs/Combiners. Thanks MN for Great Products/Svc/Support&This Forum!!

ClassicCrazy

Matt,
I tried  your last flow in Node Red - It won't run because of an "unknown moment "
What is that so I can add it to my Node red
see snapshot
thanks Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable

mcsarge

Here it is, it is just a time formatter.
Off Grid Island in Ontario Canada (Beaverstone Bay)
Primary: Classic 150 + wbjr; 3s2p HES 270watt
Winter: SolarBoost 50 MPPT (into wbjr); 2 x Sharp NE-80EJEA 80watt
Pack: 4s2p ROLLS S6-460AGM 6V for 24V pack
Inverter/Charger: Trace DR2424
Call Sign: KG4EUF

ClassicCrazy

okay - found the moment node - looked for it before but I was looking in the wrong spot to search and install it.
giving it another try

Larry
system 1
Classic 150 , 5s3p  Kyocera 135watt , 12s Soneil 2v 540amp lead crystal for 24v pack , Outback 3524 inverter
system 2
 5s 135w Kyocero , 3s3p 270w Kyocera  to Classic 150 ,   8s Kyocera 225w to Hawkes Bay Jakiper 48v 15kwh LiFePO4 , Outback VFX 3648 inverter
system 3
KID / Brat portable