Stokerforum
Pillefyr => Boink, Scotte, Woody, Biocomfort, RTB => Emne startet af: motoz efter Sep 26, 2013, 10:35
-
Summer came to an end and working on this project was suddenly fun again. PellMon now has an installer which makes it just as easy to testrun it, even without connection to a burner, as to do a system installation. Another highlight is the updated webinterface which now works even better on small mobile screens.
https://github.com/motoz/PellMon (https://github.com/motoz/PellMon)
-
I got the webinterface part of pellmon up and running on http://motoz.pythonanywhere.com/ (http://motoz.pythonanywhere.com/) for testing.
It's just the interface, the communication server is not running so it shows only dummy measurements and random parameter values, but it's better than a screenshot.
You can log in with
username: testuser
password: 12345
to get access to the parameter view.
It's running on a free account so it might be slow or unavailable if traffic gets too high.
Feedback is appreciated!
(I should mention that it does not work very well on old versions of internet explorer. Should be ok from IE9 and forward, but I'm not able to test that. At least on IE8 you will always get the collapsed mobile view regardless of how big your monitor are, which for instance means that the menu is hidden behind a button in the upper right corner. Any newish version of firefox, chrome, safari or opera and probably a new explorer would be ok)
-
Hi Motoz,
I think it is a great project and I'm looking forward to try it on. I like that you use lightweight RRD database.
My setup is based on a TPLink router with OpenWRT on top, and i think PelletMon should work nice on it.
last winter i made myself some bash scripting that allowed me to do basic cli monitoring and configuration, unfortunately i had issues in communication which required frequent reset of usb port /dev/tty/USB0.
i will keep you updated with my progress.
-
Nice that you find it useful. The installation instruction is a bit debian centric since we are running on raspberry with raspbian, and ubuntu. But as long as you can get the dependencies and have dbus running it should work on any linux. Let me know if you need help, it would be really great to have it running on openwrt, I believe you can get a compatible tp-link for 20€
-
I'll post an update again since there are quite a few new features:
- Plugin interface, add optional code with new functionality without needing to change anything in the pellmon codebase
- CustomAlarms plugin, add any number of data and corresponding limit to compare to, and get an email when exceeded
(http://s28.postimg.org/pptk7ihtl/alarms.jpg) (http://postimg.org/image/pptk7ihtl/) - SiloLevel plugin, calculate silo level based on fill up date and fill up level and visualize as a graph
(http://s14.postimg.org/qgzt2yqi5/silolevel.jpg) (http://postimg.org/image/qgzt2yqi5/) (http://s7.postimg.org/c9bqg4sjb/siloparams.jpg) (http://postimg.org/image/c9bqg4sjb/)
- Consumption bar charts show the consumption up to current time, and a predicted value for the completion of the newest 'unfinished' bar as a light grey bar on top of it
(http://s27.postimg.org/6fzv9xj1r/consumption.jpg) (http://postimg.org/image/6fzv9xj1r/) - Calculate plugin, calculate new values based on existing data using a simple expression that can be edited in the webinterface. The calculated value can be logged and viewed in the graph, used by the CustomAlarms plugin or even used to automatically set values for existing parameters.
- OWFS plugin, read data from onewire sensors by connecting to an OWFS server
- ScotteCom plugin. Biocomfort/scotte/woody support is enabled by this plugin, meaning it can now be disabled.
- RaspberryGPIO plugin. For those that don't have a supported NBE burner, this plugin calculates power and pellet consumption by counting feeder auger revolutions with a microswitch connected to a general purpose input pin on the raspberry pi. This plugin naturally only works when running on a raspberry pi computer
-
Hello again,
PellMon is slowly becoming closer to complete, the main two additions lately are:
The RaspberryGPIO plugin now makes it easy to set up and use all 17 I/O of the raspberry pi as inputs / outputs or counters. There is also a 'tachometer' mode that can be used for instance to measure blower rpm, and a latched_input mode that makes sure that short input activations are not missed.
And to be able to use the abundance of I/O, the 'Calculate' has also been improved. Now it has an if..then..[else]..end clause, local and global variables, lots of new operators, descriptive error messages to help in writing the scripts and most importantly cyclic execution. This means that almost any functionality can be added by adding a 'Calculate' script. The scripts are written using reverse polish notation (RPN), so anyone who has used an HP pocket calculator should feel right at home.
Examples:
Flash an alarm light connected to pin 16 at 1Hz when the boiler temperature is above 90 degrees, by adding this to the configuration file https://github.com/motoz/PellMon/blob/master/src/pellmon.conf.in:
[plugin_RaspberryGPIO]
gpio23_function = output
gpio23_item = out
gpio23_pin = 16
[plugin_Calculate]
blink_prog = if boiler_temp get 90 > then out get 0 1 ? out set end
blink_taskcycle = 0.5
and by adding:
blink_progtype = R/W
the 'blink_prog' item holding the script becomes a read/write item, meaning that it can be edited in the parameters view of the webinterface.
Ex 2: add 3 onewire temperature sensors and read the average temperature from an item named 'average_temp' and maximum temperature from 'max_temp'
[plugin_OWFS]
owfs1_item = temp1
owfs1_path = 10.67C6697351FF/temperature
owfs1_item = temp2
owfs1_path = 10.57C669E352FF/temperature
owfs1_item = temp3
owfs1_path = 10.66A6237321FF/temperature
[plugin_Calculate]
aver_prog = temp1 get temp2 get temp3 get + + 3 /
aver_readitem = average_temp
max_prog = temp1 get temp2 get max temp3 get max
max_readitem = max_temp
-
A new small addition to PellMon that I hope will be very useful: clicking an event on the frontpage or in the logview adds a graph showing exactly what happened at that time.
I think this will make it much easier to follow up if a parameter change did improve things or not. The 'look' of the web interface is also updated, hopefully improved:
(http://s1.postimg.org/t9ai0ohh7/newlook.jpg) (http://postimg.org/image/t9ai0ohh7/) (http://s21.postimg.org/fl3i3n9g3/eventlinks.jpg) (http://postimg.org/image/fl3i3n9g3/)
As an illustration I changed the 'blower cleaning' setting from 60 to 50 and later back again, as can be seen by clicking the parameter changes in the logview the blower speed in the 'cleaning peaks' did go from 2400rpm to 2300rpm and back again:
(http://s16.postimg.org/fsp2qhmxd/loglinks.jpg) (http://postimg.org/image/fsp2qhmxd/)
-
AWESOME. :D Can`t get my raspberry to work with stokerkontrol but maybe this will.
-
I would hope so ^-^, just install all the dependencies listed in the readme (with sudo apt-get install) and then follow 'system installation'. The default configuration works as it is for scotte/woody, just ask if you need any help.
-
Super. :)
-
The PellMon demo at http://motoz.pythonanywhere.com/ is now updated to the latest version, including the 'graph-from-event' links.
-
Status emails now include a graph image. The image size, timespan and plot lines to include can be freely set in the configuration file and there is also an option to schedule a 'follow-up' email to be sent when a set time has passed after the alarm went off. The graph image is sent as an inline image in an html email, or if one prefer it can be sent as an attachment to a plain-text email.
-
New feature in the latest master: Live system picture:
(http://s15.postimg.org/pqqqrc4yv/systemimage.jpg) (http://postimg.org/image/pqqqrc4yv/)
The system picture is an svg file (vector image) that can be edited with any svg capable vector drawing program, for instance the excellent and free inkscape. The data readings are regular text objects in the svg image that are tagged with an id in the form "paramname:parameter", where 'parameter' is the name of the data to insert into the picture. The web application scans the image for these tags and creates a websocket connection to your pellmon webserver that keeps them updated in realtime. This means that any available data can be inserted into the picture with any font, size, color and orientation desired just by opening the system.svg file and redrawing it. Tagging a text with a parameter name is as simple as right clicking it in inkscape, selecting 'object properties', and filling out the 'Id' field in the dialog box:
(http://s30.postimg.org/yp1jqcqvh/tagging.jpg) (http://postimg.org/image/yp1jqcqvh/)
Since the system image is in vector form it can easily be redrawn to fit any particular boiler installation by moving, resizing and redrawing the elements in the provided image, or of course a new one can be made from scratch. Since it's in vector form it also scales beautifully to the browser window on any screen size.
And as a bonus the event view on the frontpage and the parameter page are now also live, ie. updated in realtime.
Updated installation instructions in the wiki: https://github.com/motoz/PellMon/wiki
-
Hi, is there any progress with installation of PellMon on OpenWRT? I have OpenWRT router and I would like to use for PellMon, unfortunatelly installation described for Debian doesn't work for OpenWRT.
Any help appreciated...
-
I have not heard from adi_g_s since he mentioned above he will try to port pellmon to openwrt. My guess is that it might be quite hard. Some of the dependencies seem to be available in openwrt and some can probably be installed with pip. What have you tried so far?
-
Hej
Jeg har forgæves forsøgt at få stokerkontrol til at køre på raspberry pi 1 og 2 uden held. Så stødte jeg tilfældigvis på pellmon ved en google søgning.
Jeg har anskaffet mig en ny raspberri pi 2 og installeret raspbian og fulgt guiden på github, dog uden at få det til at virke tror jeg.
Virker Pellmon på raspberry pi 2?
Mvh
Lars
-
Jeg har haft det til at køre upåklageligt på en B + i over et år, så det burde vel også virke på en 2'er.
Men installationen kan godt være lidt langhåret :)
Du har husket at installere de såkaldte dependencies?
-
Ja. Har fulgt guiden. Men hvordan starter man egentlig programmet?
-
sudo service pellmonsrv start
sudo service pellmonweb start
Men du skal bruge en webbrowser for at se "programmet"
Indtast din Raspberry ip adresse/portnummer(8081), jeg bruger altid min iPad da jeg ikke har en skærm på min Raspberry.
-
Se billede. Noget er galt
(http://s28.postimg.org/ncii741x5/IMAG0110.jpg) (http://postimg.org/image/ncii741x5/)
-
Puh, nu er det godt nok længe siden jeg sidst har rodet med Linux :P
Jeg tror måske du står i et forkert directory når du prøver at starte Pellmon.
Prøv at reboote Raspberry, så skulle Pellmon starte af sig selv.
-
Var lige bootet da jeg prøvede.
-
Som sagt er Linux ikke mit speciale, så jeg tror vi må vente på svar fra Motoz som har lavet programmet.
Han plejer at være flink til at svare.
Men ellers prøv at slette det og geninstallere præcis efter instrukserne på github.
-
Hello Farmand, nice that you are trying PellMon and hope you are ok with English. You can answer in Danish if you like.
PellMon works on raspberry 2 (just faster...)
Technical explanation follows:
The error you see is because the official raspbian image has recently been updated to a new version (jessie), where the init system that is resposible for starting background services (like PellMon) has been totally reworked. As you see here https://www.raspberrypi.org/downloads/raspbian/ the old wheezy based version is still available.
Everything is completely different (and hopefully better). But the new system (called systemd by the way) is supposed to be completely compatible with the old system (called sysV init), so in theory PellMon which is made to work with the sysV init system would just work. In practice there are always details... I have tested with the new raspbian jessie image and PellMon does work fine, but I had to make a change in the installation instructions:
This part:
# Start the daemons manually, or reboot
sudo service pellmonsrv start
sudo service pellmonweb start
# Add them to init so they are started at boot
sudo update-rc.d pellmonsrv defaults
sudo update-rc.d pellmonweb defaults
Causes the error you see, because now with the new systemd init system we have to run it the other way, like this:
# Add them to init so they are started at boot
sudo update-rc.d pellmonsrv defaults
sudo update-rc.d pellmonweb defaults
# Start the daemons manually, or reboot
sudo service pellmonsrv start
sudo service pellmonweb start
I have updated the system installation instructions with this change.
But as long as you have run these two lines (without errors from them):
sudo update-rc.d pellmonsrv defaults
sudo update-rc.d pellmonweb defaults
PellMon should start when you reboot your raspberry. The "Start the daemons manually" part is not necessary, you can also reboot to start them.
You should be able to browse to http://ip_of_your_raspberry:8081 with any webbrowser in your network to see the webinterface or http://localhost:8081 on the raspberry since you seem to have a monitor connected to it.
If not, can you re-run these two lines:
sudo update-rc.d pellmonsrv defaults
sudo update-rc.d pellmonweb defaults
and post the output?
Hope this helps, worst case you could start from scratch with the raspbian wheezy image, but I have not managed to find any other problems with the jessie image.
-
Very nice Motoz! Thank you very much!! Love when people do what you do and share it with us.. Im right now doing efi system on my motorcycle based on arduino and speeduino board developed and done buy two people. One makes the pcb and one the software.
Is different pictures to use as background?
Thanks again!
-
I suppose you have it up and running then, thats great!
There are a number of different system images included, you can select which one to use by editing the configuration file at /etc/pellmon/pellmon.conf
This section almost at the end:
# Select system image. Set an absolute path to use your own.
# Choices: system.svg|system_nbe.svg|system_nbe_2w.svg|system_nbe_3w.svg|system_matene.svg|/path/to/your_own_image.svg
system_image = system.svg
The default is a kind of generic burner and boiler, since PellMon can be used with any kind of burner, but you could change it to eg:
system_image = system_nbe_3w.svg
if you have a typical scotte system with three-way hot water valve.
If you rather make your own picture there are some tips at https://github.com/motoz/PellMon/wiki/Custom-system-image
-
Hi. yes its working great at my local network. I have tryed to change the picture to one of the nbe ones.And restart the raspberry but it is not changing.?
(http://s10.postimg.org/gi43ywuat/Screenshot_2015_10_08_at_21_21_47.jpg) (http://postimg.org/image/gi43ywuat/)
-
I think your browser is using it's own copy of the image as it's already downloaded once, and does not realize there is a new one. Mostly these things work but every browser seem to handle cached content somewhat differently. You probably need to reload the page (reload button) or possibly force a complete refresh of the page with CTRL-F5 to get the new image.
Or if that doesn't help, then verify that the config file has really changed. You need 'root' rights to be able to save the changes, ie start the editor with 'sudo' like eg 'sudo nano /etc/pellmon/pellmon.conf' to edit with the 'nano' editor in the terminal.