Newbie: confused by the jargon, needing simple guidance...
-
Good evening all. I came here as one who has previously built and programmed simple devices with an Arduino back in 2020, now looking to implement some new project ideas and learn new skills.
Am I in the right place?
I have recently installed a battery storage system to augment my home solar PV. It has a Victron inverter and it works well, and there is a very interesting comms gadget attached via an ethernet cable called a Cerbo GX. This is Victron's connection to the internet and beyond. I noted that it has Node-Red installed within the Cerbo-GX, therefore I am interested in connecting new devices to it to enhance the functionality of the Solar-inverter-battery system.
I came here to read forum posts, tutorials and articles that will help me learn how to connect new sensors to the Cerbo-GX via its spare ethernet ports, however the jargon in just about every forum post makes it difficult for this newbie to comprehend. No doubt in time I'll learn what an MQTT thingie is (physical or virtual?), but until then please will someone guide me to an article, tutorial, or website that will allow me to learn the basics of 1) How to 'read' specific data over ethernet, such as battery state of charge or inverter temperature - all parameters I can display on the Cerbo-GX's display.
2) How to send data from elsewhere to the Cerbo-GX's ethernet port, and
3) An explanation of the data stream, ie is all ethernet data in the same format from whichever peripheral produces it.I think that should do as a starter, apologies for the long-winded first post, at this stage I am ignorant of how much I don't know, but want to take the first steps.
Thanks for creating this site.....MM
-
@Meldrew-s-mate Hi. This site is about building sensors using Arduino that report data back wirelessly to a gateway. There may be some useful information here, but it doesn't sound like what you are really looking for. Try searching on the web for Cerbo GX and Home Assistant. Home Assistant is a popular home control program. Someone may have already figured out how to connect to it, or you might get a link to something helpful.
-
@nagelc Thank you for your reply. On reading from this site I indeed got the impression that it serves a narrow specific purpose, one in which I shall immerse myself in due course. My initial interest is educating myself in how data is 'packaged' for transport over the ether, and therefore whether various data from different transducers (sensors) share a common language.
My initial project seeks to garner data from several sources and combine them into a control strategy that will eneble me to better harvest the energy from my roof. The knowledge and experience gained will, naturally, be used to develop further projects, thus a sound knowledge of the fundamentals is ....... fundamental.
I will take your advice of searching elsewhere, but in the meantime if one of your members would kindly point me in the direction of a book or article on 'digital communications', 'ethernet comms made simple', or the like I would be greatful.MM
-
@Meldrew-s-mate I see you're trying to get a sip of water through a fire hose.
Start off slowly and build from there. First get your Cerbo-GX running and collecting data from your battery and solar panels. Hopefully you were provided a manual or a link to one.
Keep it simple; that is, connect to the Cerbo-GX using a web browser. (While a display is cool to look at, you probably won't use it much.) Once you're comfortable with that, go onto Node-Red and do some of the tutorials.
Have a goal in mind. (eg. "I want to see a graph of my energy production")
Personally, I know essentially nothing of Node-Red.
I do know MQTT and it sounds really complicated at first, but it is actually very simple, (ok, but with some tricky, cool, stuff, too) MySensors can communicate through MQTT.
Like @nagelc noted, MySensors is about basic sensors (relays, pressure sensors, flow meters, lights, motion sensors, etc.) These are the sensitive finger tips of your entire system. For example, a low cost energy meter.
Node-Red is a controller, that is, it takes the information from sensors and acts upon that information. In your case, probably, DC and AC voltage, current, power, and energy for the solar panels and energy level of your batteries.
What do you want to do with this information? eg. It's been overcast for three days and it's going to be for another six so you want to prevent certain devices from turning on.
Home Assistant is a pretty good controller, but the arrogance of the people there will send you 'round the bend. They have a great forum, but only if you play by their rules. Again, I can't speak to Node-Red's forum. There's a bit of cross-over between Node-Red and Home Assistant, that's why I mention it.
So once you're up and running and you get the urge to some really trick stuff with Arduinos and/or ESP32/8266 come on back. I'm working on my second release of a Universal Light Switch.
-OSD
-
@Meldrew-s-mate Digital Communications is a pretty nebulous subject. Just to name the protocols is a daunting task.
That said, I'd suggest limiting yourself to the application layer That is, what you can do by connecting to the host with a web page. You'd need to know the IP (internet protocol) address of the host. That would be in the the form of nnn.nnn.nnn.nnn. You'd open a browser and in the address field, enter https://nnn.nnn.nnn.nnn
For example, your typical home router has and IP address of http://192.168.1.1 You open that in your browser and you are able to configure the router. You can determine the router's IP address by opening a command window. In Windows that is: <windows key> then type cmd <enter> (I don't speak Mac). This is called the command line (cli). Then execute the command ipconfig. You'll see default gateway: That is your router's IP address.
When you write "how data is 'packaged' for transport" you're asking about very low level programming. This is something that is done in a library of a high level language (eg. c++). For most of what is done in home automation, even the high level language is already written for a significant portion of what you would do.
But if this is what you want to learn, start with MQTT. Read the MQTT documentation. You won't understand it in the first read. But then install an MQTT broker on your computer (search, "Install MQTT broker"). You can use command line (cli) commands to publish (write) and subscribe (read) topics. Get MQTT Explorer (easy search) to observe what is going on in the broker. All of this you can do right now.
Once you get a feel for that you could get a Raspberry Pi. You'll have to install the OS (operating system), which is well documented. Then search for "write to an MQTT topic using Raspberry Pi"
This "data from different transducers (sensors) share a common language." is the home automation controller (eg. Node-Red). Right now home automation is still nerd-land, but it is on the cusp of going mainstream. This means a lot of trial-and-error.
Do your experimenting on a computer other than the one you use regularly. A Raspberry Pi works well for this. Or, back up your computer; you're going to crash it.
-OSD
-
Gawd bless ya @OldSurferDude , that just about answered every question I have to date, I especially thank you for indicating whether the item named is a software or hardware product.
On reading into the Cerbo GX capabilities I was very impressed with its sophistication and, just as you said, I will have to break the complicated parts down into bite-sized pieces and build from there.
It started with an idea for a project, essentially to take data on battery state of charge (SoC) from the Cerbo GX and use an Arduino Nano or ESP8266 to build a strategy so that I would have sufficient hot water in the morning, consistent with having enough battery power left in the evening. Only on further inspection did it occur that the Node Red software built into the Cerbo GX could do this for me...and thus the possibility that a wireless hot water temperature sensor (transducer) could be fabricated to feed that data into the Cerbo GX; hence my path to here.
I've dabbled in programming in C, mainly through the Arduino IDE, and in a previous life part of my work involved programming PLCs for industrial automation, so I am somewhat familiar with 'tech', but I lost interest once most systems seemed to go Windows based. In the intervening years the 'tech' has moved on apace and has left me behind, which is why I've struggled to follow the jargon, akin to trying to fit the second piece in a large jigsaw puzzle. Once the fundamentals are there I'll catch on.So please, kind contributors, be tolerant of the silly questions we newbies ask, we won't always be newbies, and I'll be back for sensors stuff once I've tamed the red-hot node and sorted out my LBQTTs
Best wishes....MM