Ik ben een tijdje geleden begonnen met het koppelen van velbus aan openHAB.
Ik vond zo direct geen werkbare oplossing en daarom ben ik begonnen met zelf iets te schrijven.
Het resultaat is een set van perl scripts dat de boodschappen op de bus kan ontcijferen en verwerken. Via een webservice kunnen de gegevens opgevraagd worden. De koppeling met openHAB Is via de REST API van openHAB.
Voor wie interesse heeft, de code is hier terug te vinden:
De code is specifiek voor openHAB gemaakt, maar kan ook gebruikt worden voor integratie met andere software. Via een webservice kan de status uitgelezen worden en commando’s doorgestuurd worden.
Er wordt nog volop aan deze code verder geschreven. Ook de documentatie moet verder geschreven worden.
Wie interesse heeft kan me altijd contacteren.
Die openHAB ziet er wel heel proper uit. Die ga ik ook nog even testen. Ben nu aan het prullen met openRemote, maar het voelt allemaal zo amateuristisch en samen geknutseld aan.
dag Stef,
ik heb een tijdje geleden openremote en velserv aan het werk gekregen op een Raspberry pi (na veel gekl…) maar nu recent krijg ik geen verbinding meer met de velserver, daar ik weer geen avond of twee wil …, ben ik op dit toppic uitgekomen over openHAB en dit lijkt wel interessant.
Ik ben dan ook onmiddellijk aan de slag gegaan met de installatie ervan , maar hier stoot ik ook al op een probleempje .
Goedemorgen
Ik probeer ook de integratie met velserver & openhab te implementeren.
Maar ik heb een probleempje met mijn sitemap.
Wat ik tot nu toe gedaan heb is het volgende:
Gekeken of deze file bestaat en up to date is
/home/velbus/velserver/etc/openHAB.cfg
Content:
GROUP_G_DIMMERS_ALL = %^Dimmer.+
GROUP_G_BLINDS_ALL = %^Blind.+
GROUP_G_TEMPERATURE_ALL = %^Temperature.+
GROUP_G_HEATER_ALL = %^Heater.+
GROUP_G_RELAY_ALL = %^Relay.+
GROUP_G_COUNTER_ALL = %^Counter.+ %^Divider.+
GROUP_G_COUNTERCURRENT_ALL = %^CounterCurrent.+
GROUP_G_BUTTON_ALL = %^Button.+
GROUP_G_ALL = %.
Gekeken of deze file bestaat en up to date is
/etc/openhab2/items/velbus_group.items
Content:
Group G_DIMMERS_ALL
Group G_TEMPERATURE_ALL
Group G_HEATER_ALL
Group G_BUTTON_ALL
Group G_RELAY_ALL
Group G_BLINDS_ALL “Blinds”
Group G_COUNTER_ALL
Group G_COUNTERCURRENT_ALL
Group G_ALL
Als ik dan een vb. neem uit mijn velbus.items dan zie ik dit
Switch Relay_20_01 “V Berging” (G_ALL,G_RELAY_ALL)
En om te testen heb ik dan een sitemap gemaakt met deze content
sitemap demo label=“My home automation” {
Frame label=“Date” {
Text item=Date
}
Frame label=“Demo” {
Switch item=Relay_20_02 icon=“light”
Text item=Woonkamer label=“Woonkamer [%.1f °C]”
Group item=Heating
}
}
Maar ik kan die relay niet aantsturen.
Wat doe ik verkeerd of wat ben ik vergeten
Alvast bedankt
Hi @Stef_Coene, ik hoop dat ik dit issue mag bumpen.
Ik kom sinds kort in contact met een velbus installatie en het zou gemakkelijk zijn moesten we deze via een API kunnen aanspreken. Ik wil niet echt een openHAB opzetten, liefst zou ik gewoon de webservice aanspreken om calls te kunnen doen om relais aan te sturen.
Ik heb al een “TCP server for Velbus” in gang gekregen, waarop ik kan connecteren met Velbuslink.
Daarna heb ik geprobeerd om adhv jouw “Velserver Information” Google doc de installatie te doen van Velserver. (op een Raspberry pi). Ik had nog nooit met perl / apache gewerkt dus ik had het moeilijk om jouw documentatie te begrijpen. Maar dan vond ik de uitleg op vanop de wiki. Deze heb ik uitgevoerd, behalve de configuratie van OpenHAB.
Maar de handleiding zegt niet echt hoe je de services kan starten of testen. Ik heb al een gesurfed naar http://ipvandepi/velserver/service.pl maar dit geeft geen pagina.
Ik heb de indruk dat ik nog iets moet starten ofzo?
Het kan zonder apache, dat is gemakkelijker.
En ja, de documentatie kan beter
Er zouden 2 zaken moeten draaien. Deze kan je als test gewoon op de command line starten.
Dit is de eerste:
/home/velbus/velserver/bin/logger.pl
Dit verbindt met die TCP server en dumpt normaal op je scherm alles wat er via de bus langs komt. Dit zou al zeker iets moeten doen.
Het andere commando is
/home/velbus/velserver/bin/webserver.pl
Dit gaat niet veel zeggen, behalve dat het een webserver start. Het is naar die webserver waar je naartoe kan surfen met je browser en die de API aanbiedt die je nodig hebt.
Probeer bovenstaande commando’s eens uit te voeren en laat me het resultaat weten.
Kwestie van API, wat wil je juist doen? Want je kan wel gemakkelijk iets sturen naar de Velbus installatie. Maar als er op de bus zelf iets gebeurd (iemand drukt op een knop of zo), dan kunnen mijn scripts dat (voorlopig) alleen forwarden naar OpenHAB.
Met wat wil je integreren?
Bedankt alvast voor je antwoord, en voor het werk aan dit project.
Ik heb inderdaad al eens geprobeerd om deze te starten, ik deed het net nog eens maar kreeg dezelfde foutmelding.
Bij deze
pi@raspberrypi:~ $ /home/velbus/velserver/bin/logger.pl
Can’t locate Hash/Merge.pm in @INC (you may need to install the Hash::Merge module) (@INC contains: /home/velbus/velserver/lib /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /home/velbus/velserver/lib/Velbus.pm line 7.
BEGIN failed–compilation aborted at /home/velbus/velserver/lib/Velbus.pm line 7.
Compilation failed in require at /home/velbus/velserver/bin/logger.pl line 13.
BEGIN failed–compilation aborted at /home/velbus/velserver/bin/logger.pl line 13.
pi@raspberrypi:~ $ /home/velbus/velserver/bin/webserver.pl
Can’t locate Hash/Merge.pm in @INC (you may need to install the Hash::Merge module) (@INC contains: /home/velbus/velserver/lib /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /home/velbus/velserver/lib/Velbus.pm line 7.
BEGIN failed–compilation aborted at /home/velbus/velserver/lib/Velbus.pm line 7.
Compilation failed in require at /home/velbus/velserver/bin/webserver.pl line 11.
BEGIN failed–compilation aborted at /home/velbus/velserver/bin/webserver.pl line 11.
Ik heb al zo wat zitten zoeken op die foutmelding en op “perl merge modules” enzo maar niets wat me duidelijk leek.
Ivm het gebruik van de API: het betreft een bedrijfsgebouw waar we graag gemakkelijk vanop afstand de lichten kunnen bedienen, er hangen overal camera’s en zouden graag een dashboard-website maken waar we alle lichten gemakkelijk aan/uit mee kunnen schakelen. Voor zover mijn kennis van Velbus gaat is dit niet iets dat ik kan aanspreken vanuit velbuslink software ofzo.
Hi Stef, bedankt voor je hulp.
Nadat ik die libhash-merge-perl module had geinstalleerd kreeg ik de melding dat de “Convert::Color module” nog ontbrak. Nadat die geinstalleerd was kreeg hij geen connectie met de MySQL DB. Ik heb dan effe manueel die de velbus DB aangemaakt. En dan de export.sql file gerestored in die database. Daarna kon ik inderdaad opstarten.
Het kan ook zonder MySQL DB indien nodig. Dan moet je etc/mysql.cfg verwijderen.
Er wordt dan een Berkeley DB op disk aangemaakt.
Voor de url, je kan kijken in de apache logfile als je via apache werkt of log/webserver.log als je de ingebouwde webserver gebruikt en kijken wat openHAB stuurt.
Voor Ubuntu / Debian kan je dat gemakkelijk zoeken:
apt-cache search convert::color:
libconvert-color-perl - Perl module for color space conversions and named lookups
libconvert-color-xterm-perl - indexed colors used by XTerm
bedankt voor de feedback, de logger draait ondertussen de webserver krijg ik wel een foutmelding.
pi@raspberrypi:/home/velbus/velserver $ sudo ./bin/webserver.pl
Web Server started, server address: 0.0.0.0, server port: 88
Use of uninitialized value in subroutine entry at /usr/share/perl/5.28/IO/Socket/IP.pm line 541, line 84.
Thread 1 terminated abnormally: Bad arg length for Socket::sockaddr_family, length is 0, should be at least 2 at /usr/share/perl/5.28/IO/Socket/IP.pm line 541, line 84.
2019-11-05_05-09-25 lo 2D=?? E6=Unknown ::
No module type found for this address
Ch=2D_: ChannelType=, Name=Temperature, Value=21.62, openHAB=$Value
^C
pi@raspberrypi:/home/velbus/velserver/bin $ sudo nano /etc/hosts
GNU nano 3.2 /etc/hosts