Which software should I use for 13 blinds and shutters?
-
Hello,
i want to control 13 blinds and shutters so i need 26 Relay output and 27 Digital inputs (13x up + 13x down + wind sensor).
The new Neuron L203 fits perfect (2 relays, 4 Transistor outputs, 9 digital inputs, analog in and output still free for some other cool stuff).
The question for me is which software i should use.
For the basic "normal" function (press up button and the up relay closes for 40 seconds) almost every SW should be good but i also want a easy web access (control with smartphone and tablet) and some "smart" features like program every day a alarm for opening of the shutter of the bedroom (alarm time easy changeable by webinterface).
There are also some other "nice to have" features planed like integration of EnOcean and HomeMatic components for light control of the living room (and lots of other "smart" functions).For future-proof i only want to use open source but this is not an must have.
I think all required features would be not complicated with fhem.de (http://www.fhemwiki.de/wiki/ROLLO looks very easy) but there is no support for Neuron yet or?
What other SW do you recommend for this usecase?
openHAB? -
Hello,
nice application :) It would be great if you share your progress and result here.
I think that FHEM would be the solution. There are commercial platforms but it wont meet the EnOceand and HomeMatic requirements.
FHEM is not officially supported, however implementation is pretty easy because we provide TCP modbus interface to read/control the IOs and FHEM is capable of TCP modbus too....
-
Thank you for the fast answer.
I am not sure if it is "pretty easy" for me. I have never worked with Modbus, FHEM or PEARL before.
Where could i download the "TCP modbus" firmware? I guess Products->Neuron->firmware but which file?
Cold i try with my own RaspberryPi or does the system not start without slave controllers? -
I will create a github repository next week where all the required steps to make the TCP modbus work will be described (or even automatized with a script).
Right now it is only implemented in the mervis image available in downloads. So you can use that one too.
-
Hi,
my Neuron L203 arrived and i now have the time for system setup.
Installing Raspian was no problem and its running fine now.
With your manual at neuron_tcp_modbus_overlay i tried to install the modbus TCP server.
First small problem was that with
bash neuron_tcp_modbus_overlay-1.0.0/install.sh
the scipt fails because of wrong paths. It works with:
wget https://github.com/UniPiTechnology/neuron_tcp_modbus_overlay/archive/v1.0.0.zip unzip v1.0.0.zip cd ./neuron_tcp_modbus_overlay-1.0.0/ sudo bash ./install.sh
After reboot i can see with htop that "/opt/neurontcp/neuron_tcp_server -p 502 --check-firmware" is running.
The RUN1, RUN2 and RUN3 LEDs are still blinking with 2 seconds on and 2 seconds off. According to the manual this means "Communication timeout reached MWD".Did the installation really work as it should?
How can i check if the server runs correct?
Is there an easy way to switch relay 2.1 ON with command line?
-
Have you tried to run the server manually by hand? Could you paste the output of that?
/opt/neurontcp/neuron_tcp_server -p 502 --check-firmware
Also see the output of the installation script if everything goes well.
-
running installation again:
pi@raspberrypi:~/neuron_tcp_modbus_overlay-1.0.0 $ sudo bash ./install.sh Installing libmodbus Ign http://dl.bintray.com stable InRelease OK http://archive.raspberrypi.org jessie InRelease OK http://mirrordirector.raspbian.org jessie InRelease Holen: 1 http://dl.bintray.com stable Release.gpg [821 B] Holen: 2 http://dl.bintray.com stable Release [6.050 B] OK http://archive.raspberrypi.org jessie/main armhf Packages OK http://archive.raspberrypi.org jessie/ui armhf Packages OK http://mirrordirector.raspbian.org jessie/main armhf Packages OK http://mirrordirector.raspbian.org jessie/contrib armhf Packages Holen: 3 http://dl.bintray.com stable/main armhf Packages [77,8 kB] OK http://mirrordirector.raspbian.org jessie/non-free armhf Packages OK http://mirrordirector.raspbian.org jessie/rpi armhf Packages Ign http://dl.bintray.com stable/main Translation-de_DE Ign http://dl.bintray.com stable/main Translation-de Ign http://dl.bintray.com stable/main Translation-en Ign http://archive.raspberrypi.org jessie/main Translation-de_DE Ign http://archive.raspberrypi.org jessie/main Translation-de Ign http://archive.raspberrypi.org jessie/main Translation-en Ign http://archive.raspberrypi.org jessie/ui Translation-de_DE Ign http://archive.raspberrypi.org jessie/ui Translation-de Ign http://archive.raspberrypi.org jessie/ui Translation-en Ign http://mirrordirector.raspbian.org jessie/contrib Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/contrib Translation-de Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en Ign http://mirrordirector.raspbian.org jessie/main Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/main Translation-de Ign http://mirrordirector.raspbian.org jessie/main Translation-en Ign http://mirrordirector.raspbian.org jessie/non-free Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/non-free Translation-de Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en Ign http://mirrordirector.raspbian.org jessie/rpi Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/rpi Translation-de Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en Es wurden 84,6 kB in 10 s geholt (8.192 B/s). Paketlisten werden gelesen... Fertig Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig libmodbus-dev ist schon die neueste Version. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Enabling SPI overlay Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg property mkdir: das Verzeichnis „/opt/neurontcp“ kann nicht angelegt werden: Die Datei existiert bereits Compiling neurontcp server... make: Nothing to be done for 'all'. Installing Neuron TCP server into /opt/neurontcp/ Enabling neurontcp service for systemd Created symlink from /etc/systemd/system/neurontcp.service to /lib/systemd/system/neurontcp.service. Created symlink from /etc/systemd/system/multi-user.target.wants/neurontcp.service to /lib/systemd/system/neurontcp.service. Reboot is required. Is it OK to reboot now? [y/n]
after reboot:
pi@raspberrypi:~ $ /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware modbus_tcp_listen: Permission denied Abgebrochen pi@raspberrypi:~ $ sudo /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware modbus_tcp_listen: Address already in use pi@raspberrypi:~ $ sudo systemctl disable neurontcp.service Removed symlink /etc/systemd/system/neurontcp.service. Removed symlink /etc/systemd/system/multi-user.target.wants/neurontcp.service. pi@raspberrypi:~ $ sudo /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware modbus_tcp_listen: Address already in use
again reboot:
pi@raspberrypi:~ $ sudo /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware New connection from 127.0.0.1:44698 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:45210 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:45722 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:46234 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:46746 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:47258 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:47770 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:48282 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:48794 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:49306 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:49818 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:50330 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:50842 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:51354 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:51866 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:52378 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:52890 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:53402 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:53914 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:54426 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:54938 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:55450 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:55962 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:56474 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:56986 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:57498 on socket 13 Closed connection on descriptor 13 New connection from 127.0.0.1:58010 on socket 13 Closed connection on descriptor 13
...
-
The above logs were done with openHAB installation on the same Pi. To make clear that i don't have a problem with the not configured openHAB i have done an new clean installation:
- download image from: Raspbian Jessie with PIXEL 2016-11-25
- copy to sd-card
- change locales and enable ssh with rc_gui
- installed with script:
pi@raspberrypi:~ $ wget https://github.com/UniPiTechnology/neuron_tcp_modbus_overlay/archive/v1.0.0.zip --2016-12-02 20:07:00-- https://github.com/UniPiTechnology/neuron_tcp_modbus_overlay/archive/v1.0.0.zip Auflösen des Hostnamen »github.com (github.com)«... 192.30.253.113, 192.30.253.112 Verbindungsaufbau zu github.com (github.com)|192.30.253.113|:443... verbunden. HTTP-Anforderung gesendet, warte auf Antwort... 302 Found Platz: https://codeload.github.com/UniPiTechnology/neuron_tcp_modbus_overlay/zip/v1.0.0[folge] --2016-12-02 20:07:01-- https://codeload.github.com/UniPiTechnology/neuron_tcp_modbus_overlay/zip/v1.0.0 Auflösen des Hostnamen »codeload.github.com (codeload.github.com)«... 192.30.253.120, 192.30.253.121 Verbindungsaufbau zu codeload.github.com (codeload.github.com)|192.30.253.120|:443... verbunden. HTTP-Anforderung gesendet, warte auf Antwort... 200 OK Länge: nicht spezifiziert [application/zip] In »»v1.0.0.zip«« speichern. v1.0.0.zip [ <=> ] 38,20K 155KB/s in 0,2s 2016-12-02 20:07:02 (155 KB/s) - »v1.0.0.zip« gespeichert [39120] pi@raspberrypi:~ $ unzip v1.0.0.zip Archive: v1.0.0.zip d66ef41199393d9b095c0acd43910f2aeac4e5e7 creating: neuron_tcp_modbus_overlay-1.0.0/ inflating: neuron_tcp_modbus_overlay-1.0.0/LICENSE inflating: neuron_tcp_modbus_overlay-1.0.0/README.md inflating: neuron_tcp_modbus_overlay-1.0.0/install.sh creating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/ inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/Makefile inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/README.md inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/armpty.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/armpty.h inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/armspi.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/armspi.h inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/bandwidth-client.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/nb_modbus.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/nb_modbus.h inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/neuron_tcp_server.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/neuronspi.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/neurontcp.service inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/spicrc.c inflating: neuron_tcp_modbus_overlay-1.0.0/neuron_tcp_server/spicrc.h creating: neuron_tcp_modbus_overlay-1.0.0/spi_overlay/ inflating: neuron_tcp_modbus_overlay-1.0.0/spi_overlay/compile-dtc inflating: neuron_tcp_modbus_overlay-1.0.0/spi_overlay/neuron-spi.dts pi@raspberrypi:~ $ cd ./neuron_tcp_modbus_overlay-1.0.0/ pi@raspberrypi:~/neuron_tcp_modbus_overlay-1.0.0 $ sudo bash ./install.sh Installing libmodbus OK http://mirrordirector.raspbian.org jessie InRelease OK http://archive.raspberrypi.org jessie InRelease OK http://mirrordirector.raspbian.org jessie/main armhf Packages OK http://mirrordirector.raspbian.org jessie/contrib armhf Packages OK http://archive.raspberrypi.org jessie/main armhf Packages OK http://archive.raspberrypi.org jessie/ui armhf Packages OK http://mirrordirector.raspbian.org jessie/non-free armhf Packages OK http://mirrordirector.raspbian.org jessie/rpi armhf Packages Ign http://archive.raspberrypi.org jessie/main Translation-de_DE Ign http://archive.raspberrypi.org jessie/main Translation-de Ign http://archive.raspberrypi.org jessie/main Translation-en Ign http://archive.raspberrypi.org jessie/ui Translation-de_DE Ign http://archive.raspberrypi.org jessie/ui Translation-de Ign http://archive.raspberrypi.org jessie/ui Translation-en Ign http://mirrordirector.raspbian.org jessie/contrib Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/contrib Translation-de Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en Ign http://mirrordirector.raspbian.org jessie/main Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/main Translation-de Ign http://mirrordirector.raspbian.org jessie/main Translation-en Ign http://mirrordirector.raspbian.org jessie/non-free Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/non-free Translation-de Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en Ign http://mirrordirector.raspbian.org jessie/rpi Translation-de_DE Ign http://mirrordirector.raspbian.org jessie/rpi Translation-de Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en Paketlisten werden gelesen... Fertig Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: libboost-filesystem1.55.0 libboost-program-options1.55.0 libboost-regex1.55.0 libcwiid1 libjs-prettify libqscintilla2-11 libqscintilla2-l10n libqt4-network libqt4-xmlpatterns libqtwebkit4 libruby1.9.1 libruby1.9.1-dbg libtcl8.5 libtcltk-ruby1.9.1 libtk8.5 ri1.9.1 ruby1.9.1 ruby1.9.1-dev ruby1.9.1-examples ruby1.9.1-full ruby1.9.3 supercollider supercollider-common supercollider-ide supercollider-language supercollider-supernova tcl8.5 tk8.5 Verwenden Sie »apt-get autoremove«, um sie zu entfernen. Die folgenden zusätzlichen Pakete werden installiert: libmodbus5 Die folgenden NEUEN Pakete werden installiert: libmodbus-dev libmodbus5 0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 97,9 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 140 kB Plattenplatz zusätzlich benutzt. Holen: 1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libmodbus-dev armhf 3.0.6-1 [77,0 kB] Holen: 2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libmodbus5 armhf 3.0.6-1 [20,9 kB] Es wurden 97,9 kB in 1 s geholt (82,8 kB/s). Vormals nicht ausgewähltes Paket libmodbus5:armhf wird gewählt. (Lese Datenbank ... 130665 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von .../libmodbus5_3.0.6-1_armhf.deb ... Entpacken von libmodbus5:armhf (3.0.6-1) ... Vormals nicht ausgewähltes Paket libmodbus-dev wird gewählt. Vorbereitung zum Entpacken von .../libmodbus-dev_3.0.6-1_armhf.deb ... Entpacken von libmodbus-dev (3.0.6-1) ... Trigger für man-db (2.7.0.2-5) werden verarbeitet ... libmodbus5:armhf (3.0.6-1) wird eingerichtet ... libmodbus-dev (3.0.6-1) wird eingerichtet ... Trigger für libc-bin (2.19-18+deb8u6) werden verarbeitet ... Enabling SPI overlay Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg property Compiling neurontcp server... gcc -g -c -I . armspi.c -o armspi.o gcc -g -c -I . spicrc.c -o spicrc.o gcc -g -c -I . nb_modbus.c -o nb_modbus.o gcc -g -c -I . armpty.c -o armpty.o gcc -g -c -I . neuron_tcp_server.c -o neuron_tcp_server.o gcc -g neuron_tcp_server.o armspi.o spicrc.o nb_modbus.o armpty.o -lmodbus -lutil -o neuron_tcp_server gcc -g -c -I . neuronspi.c -o neuronspi.o gcc -g neuronspi.o armspi.o spicrc.o -o neuronspi gcc -g -c -I . bandwidth-client.c -o bandwidth-client.o gcc -g bandwidth-client.o armspi.o spicrc.o nb_modbus.o armpty.o -lmodbus -lutil -o bandwidth-client Installing Neuron TCP server into /opt/neurontcp/ Enabling neurontcp service for systemd Created symlink from /etc/systemd/system/neurontcp.service to /lib/systemd/system/neurontcp.service. Created symlink from /etc/systemd/system/multi-user.target.wants/neurontcp.service to /lib/systemd/system/neurontcp.service. Reboot is required. Is it OK to reboot now? [y/n]
- two warnings occurred:
Enabling SPI overlay
Warning (unit_address_vs_reg): Node /fragment@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fragment@1 has a unit name, but no reg propertyare they relevant?
- after reboot:
pi@raspberrypi:~ $ systemctl status neurontcp ? neurontcp.service - Unipi Neuron Modbus/Tcp Server Loaded: loaded (/lib/systemd/system/neurontcp.service; enabled) Active: active (running) since Fr 2016-12-02 20:12:19 CET; 6min ago Main PID: 404 (neuron_tcp_serv) CGroup: /system.slice/neurontcp.service +-404 /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware pi@raspberrypi:~ $ sudo systemctl stop neurontcp.service pi@raspberrypi:~ $ systemctl status neurontcp ? neurontcp.service - Unipi Neuron Modbus/Tcp Server Loaded: loaded (/lib/systemd/system/neurontcp.service; enabled) Active: inactive (dead) since Fr 2016-12-02 20:19:13 CET; 4s ago Process: 404 ExecStart=/opt/neurontcp/neuron_tcp_server -p 502 --check-firmware (code=killed, signal=TERM) Main PID: 404 (code=killed, signal=TERM) pi@raspberrypi:~ $ pi@raspberrypi:~ $ /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware modbus_tcp_listen: Permission denied Abgebrochen pi@raspberrypi:~ $ sudo /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware
no further message for 4 hours...
It seams that the "New connection from 127.0.0.1:45210 on socket 13" messages from the first install were caused by openHAB or something else i have done playing around.
Could you please give me some hint what i am doing wrong or is the blinking normal without active connection to the server?
-
Alright I have not tested it with the PIXEL desktop, but only with the lite version. But it should not make any difference.
How many devices do you see in /dev/spi*
-
Hi,
4 devices:
- spidev0.0
- spidev0.1
- spidev0.2
- spidev0.3
-
That looks OK. Are you sure there is no output after you run the daemon manually? There must be something :)
-
Yes i am sure. Shall i take a video?
-
Ok, please run it with more verbose output and pate the output:
/opt/neurontcp/neuron_tcp_server -p 502 --check-firmware -vvv
-
pi@raspberrypi:~ $ sudo /opt/neurontcp/neuron_tcp_server -p 502 --check-firmware -vvv Board on /dev/spidev0.1 firmware=4.6 hardware=0.16 (B-1000-1) Board on /dev/spidev0.3 firmware=4.6 hardware=8.16 (E-16Di-1_U-14Ro-1) Board on /dev/spidev0.2 firmware=4.6 hardware=8.16 (E-16Di-1_U-14Ro-1) Board0 PTY0 /dev/pts/1 Starting loop
and then nothing more for two hours
-
@armin this means that the hw and sw (tcp modbus server) is working ok. Now it is ut to you to send the commands...
You shouldd use the modbus protocolfor communicating with neuron - see the modbus map of your device at downloads.unipi.technology
So far no command line tool. But modbus is pretty easy.
-
Hi,
the LEDs are still blinking (2 seconds on, 2 seconds off).
Is this normal behavior if no client is connected to the server? -
According to the manual: https://files.unipi.technology/index.php/s/zTmrEbQEvifNd6W?path=%2FProducts%2FNeuron%2FDocumentation#pdfviewer
chapter 2.2.1 LED diodedescription
and later MWD description. It means you do not communicate with the devices. Which is also notable that there is no output when you run the server by hand.