Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation support needed #8

Open
franz123451 opened this issue Dec 25, 2019 · 17 comments
Open

Installation support needed #8

franz123451 opened this issue Dec 25, 2019 · 17 comments

Comments

@franz123451
Copy link

Hi guys,merry Christmas.
I tried to install Beeeon on my rasp. Unfortunately I did not managed to finish the installation.
Here my probs
A2CF36C2-1C91-4CA1-8454-883811399198
BA538F36-07F5-4BFB-A6DB-ECD02A5C7EE4
Uploading 2C1C47A9-E6EE-4177-848E-B14D2E5EE6A8.jpeg…
C6F0B5D3-575A-42D9-9D9D-C88C6A5DF099

Thanks for your support

@xbedna62
Copy link
Contributor

Hi There,
it looks that you do not have installed Poco library. Do you have installed Poco library (https://pocoproject.org)?

Thanks for your interest

@franz123451
Copy link
Author

franz123451 commented Jan 1, 2020 via email

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 1, 2020

Hi, to solve this error you have to edit file base/src/model/GatewayID.h. In this file comment lines 89-92. I have built the BeeeOn Gateway application on many various platforms but I have never seen this error.

Thank you for your report

@franz123451
Copy link
Author

franz123451 commented Jan 1, 2020 via email

@franz123451
Copy link
Author

[ 98%] Linking CXX executable beeeon-gateway /usr/bin/ld: libBeeeOnGateway.a(AbstractCollector.cpp.o): in function BeeeOn::AbstractCollector::~AbstractCollector()':
AbstractCollector.cpp:(.text+0x64): undefined reference to BeeeOn::IQRFListener::~IQRFListener()' /usr/bin/ld: libBeeeOnGateway.a(AbstractCollector.cpp.o):(.rodata+0xe8): undefined reference to typeinfo for BeeeOn::IQRFListener'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::IQRFListener::IQRFListener()': LoggingCollector.cpp:(.text._ZN6BeeeOn12IQRFListenerC2Ev[_ZN6BeeeOn12IQRFListenerC5Ev]+0x30): undefined reference to vtable for BeeeOn::IQRFListener'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::IQRFListener>::wouldCast(std::type_info const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_12IQRFListenerEE9wouldCastERKSt9type_info[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_12IQRFListenerEE9wouldCastERKSt9type_info]+0x30): undefined reference to typeinfo for BeeeOn::IQRFListener'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/beeeon-gateway.dir/build.make:95: src/beeeon-gateway] Fehler 1
make[2]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build2“ wird verlassen
make[1]: *** [CMakeFiles/Makefile2:203: src/CMakeFiles/beeeon-gateway.dir/all] Fehler 2
make[1]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build2“ wird verlassen
make: *** [Makefile:130: all] Fehler 2
make: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build2“ wird verlassen
`

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 1, 2020

Was in the output of cmake command written "IQRF support is disabled"?

@franz123451
Copy link
Author

franz123451 commented Jan 1, 2020

I don't know really what's wrong.
Now I tried this config
-- Checking for one of the modules 'glib-2.0'
-- Checking for one of the modules 'gio-unix-2.0'
-- Checking for one of the modules 'bluez'
-- Found OpenZWave: /usr/local/lib/libopenzwave.so
-- udev support is enabled
-- Belkin Wemo support is enabled
-- Vektiva support is enabled
-- Conrad support is disabled
-- Bluetooth support is disabled
-- Bluetooth Avaibility support is disabled
-- Bluetooth Low Energy Smart support is disabled
-- Jablotron support is enabled
-- Philips Hue support is enabled
-- Virtual Devices support is enabled
-- VPT support is enabled
-- OpenZWave support is enabled
-- Mosquitto support is disabled
-- Testing Center support is enabled
-- Internal air pressure sensor support is enabled
-- Fitp support is disabled
-- IQRF support is enabled
-- Sonoff support is enabled
-- Nemea features support is disabled
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen missing components: dot
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/Desktop/Beeeon/gateway-master/build

And this leads to new problemshome/pi/Desktop/Beeeon/gateway-master/src/zwave/OZWNetwork.cpp:910:3: error: ‘CommandClasses’ has not been declared
CommandClasses::GetName(cc)
^~~~~~~~~~~~~~
/home/pi/Desktop/Beeeon/gateway-master/src/zwave/OZWNetwork.cpp:911:2: error: could not convert ‘{cc, index, (& id)->OpenZWave::ValueID::GetInstance(), }’ from ‘’ to ‘BeeeOn::ZWaveNode::CommandClass’
};
^
/home/pi/Desktop/Beeeon/gateway-master/src/zwave/OZWNetwork.cpp: In member function ‘virtual void BeeeOn::OZWNetwork::postValue(const BeeeOn::ZWaveNode::Value&)’:
/home/pi/Desktop/Beeeon/gateway-master/src/zwave/OZWNetwork.cpp:1066:26: error: ‘Value’ has not been declared
const string typeName = Value::GetTypeNameFromEnum(type);
^~~~~
make[2]: *** [src/CMakeFiles/BeeeOnZWaveOZW.dir/build.make:76: src/CMakeFiles/BeeeOnZWaveOZW.dir/zwave/OZWNetwork.cpp.o] Fehler 1
make[2]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen
make[1]: *** [CMakeFiles/Makefile2:408: src/CMakeFiles/BeeeOnZWaveOZW.dir/all] Fehler 2
make[1]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen
make: *** [Makefile:130: all] Fehler 2
make: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 1, 2020

For the RPi I would recommend you to enable udev, Belkin Wemo, Vektiva, Bluetooth, Bluetooth Avaibility, Bluetooth Low Energy Smart, Philips Hue, Mosquitto, Testing Center, IQRF and Sonoff. For the ZWave, IQRF and Jablotron you need special dongles. And also for the Bluetooth you need dongle if your RPi does not have Bluetooth module.

For the first configuration when the IQRF was disabled I found bug which cause the problem. But if you enable IQRF there should not be any problem. As soon as possible I will fix the bug. Thank you for your observations.

@franz123451
Copy link
Author

franz123451 commented Jan 1, 2020

I try this config now.
I activated Jablotron too, because this is what I need.
I brought a dongle from bigclowniot, hoppefully right.

100%] Building CXX object src/CMakeFiles/beeeon-gateway.dir/main.cpp.o [100%] Linking CXX executable beeeon-gateway /usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in functionBeeeOn::LoggingCollector::LoggingCollector()':
LoggingCollector.cpp:(.text+0xcc): undefined reference to vtable for BeeeOn::LoggingCollector' /usr/bin/ld: LoggingCollector.cpp:(.text+0xd0): undefined reference to vtable for BeeeOn::LoggingCollector'
/usr/bin/ld: LoggingCollector.cpp:(.text+0xd4): undefined reference to vtable for BeeeOn::LoggingCollector' /usr/bin/ld: LoggingCollector.cpp:(.text+0xd8): undefined reference to vtable for BeeeOn::LoggingCollector'
/usr/bin/ld: LoggingCollector.cpp:(.text+0xdc): undefined reference to vtable for BeeeOn::LoggingCollector' /usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o):LoggingCollector.cpp:(.text+0xe0): more undefined references to vtable for BeeeOn::LoggingCollector' follow
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::IQRFListener>::isSame(BeeeOn::DIWrapper const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_12IQRFListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_12IQRFListenerEE6isSameERKNS_9DIWrapperE]+0x4c): undefined reference to typeinfo for BeeeOn::LoggingCollector'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::CommandDispatcherListener>::isSame(BeeeOn::DIWrapper const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_25CommandDispatcherListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_25CommandDispatcherListenerEE6isSameERKNS_9DIWrapperE]+0x4c): undefined reference to typeinfo for BeeeOn::LoggingCollector'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::PhilipsHueListener>::isSame(BeeeOn::DIWrapper const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_18PhilipsHueListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_18PhilipsHueListenerEE6isSameERKNS_9DIWrapperE]+0x4c): undefined reference to typeinfo for BeeeOn::LoggingCollector'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::HciListener>::isSame(BeeeOn::DIWrapper const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_11HciListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_11HciListenerEE6isSameERKNS_9DIWrapperE]+0x4c): undefined reference to typeinfo for BeeeOn::LoggingCollector'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o): in function BeeeOn::DIWCastImpl<BeeeOn::LoggingCollector, BeeeOn::ZWaveListener>::isSame(BeeeOn::DIWrapper const&)': LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_13ZWaveListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_13ZWaveListenerEE6isSameERKNS_9DIWrapperE]+0x4c): undefined reference to typeinfo for BeeeOn::LoggingCollector'
/usr/bin/ld: libBeeeOnGateway.a(LoggingCollector.cpp.o):LoggingCollector.cpp:(.text._ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_19DistributorListenerEE6isSameERKNS_9DIWrapperE[_ZN6BeeeOn11DIWCastImplINS_16LoggingCollectorENS_19DistributorListenerEE6isSameERKNS_9DIWrapperE]+0x4c): more undefined references to typeinfo for BeeeOn::LoggingCollector' follow collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/beeeon-gateway.dir/build.make:102: src/beeeon-gateway] Fehler 1 make[2]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen make[1]: *** [CMakeFiles/Makefile2:147: src/CMakeFiles/beeeon-gateway.dir/all] Fehler 2 make[1]: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen make: *** [Makefile:130: all] Fehler 2 make: Verzeichnis „/home/pi/Desktop/Beeeon/gateway-master/build“ wird verlassen

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 1, 2020

From this output I do not know what happened. Maybe the easiest way is to delete line 121 from the file src/CMakeLists.txt.

@franz123451
Copy link
Author

Removing line 121 solved the prob.
pi@raspberrypi:~/Desktop/Beeeon/gateway-master $ build/src/beeeon-gateway -c conf/gateway-startup.ini
loaded configuration /home/pi/Desktop/Beeeon/gateway-master/conf/config.d/logging-loggers.ini
Application 19:35:28.415 31824 [Notice] version fatal: Kein Git-Repository (oder irgendeines der Elternverzeichnisse): .git
Application 19:35:28.415 31824 [Notice] Poco library 1.9.0-0 (headers 1.9.0-0)
Application 19:35:28.415 31824 [Notice] OS Linux (Linux 4.19.75-v7l+)
Application 19:35:28.416 31824 [Notice] Machine armv7l (cores: 4)
BeeeOn::DependencyInjector 19:35:28.419 31824 [Notice] successfully created applicationInstanceChecker
BeeeOn::SingleInstanceChecker 19:35:28.419 31824 [Information] application instance named 'beeeon-gateway' would start
BeeeOn::DependencyInjector 19:35:28.420 31824 [Notice] successfully created gatewayInfo
BeeeOn::DependencyInjector 19:35:28.423 31824 [Error] hook 'done' failed for gatewayInfo
BeeeOn::DependencyInjector 19:35:28.424 31824 [Error] File not found: Private key file: /etc/ssl/beeeon/private/beeeon_gateway.key
Application 19:35:28.424 31824 [Critical] File not found: Private key file: /etc/ssl/beeeon/private/beeeon_gateway.key

@franz123451
Copy link
Author

Could you please so kind to tell me how I can generate the certs?

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 2, 2020

Try this config. You also have to disable all services which you disabled in CMakeLists.txt.

[application]
di.runner = main
instance.id = beeeon-gateway
instance.mode = fail
 
[psdev]
enable = no
path = /sys/devices/platform/soc@01c00000/1c2b400.i2c/i2c-2/2-0077/iio:device0/in_pressure_input
vendor = BeeeOn
refresh = 30 s
unit = kPa
 
[belkinwemo]
enable = yes
upnp.timeout = 5 s
http.timeout = 3 s
refresh = 10 s
 
[vektiva]
enable = yes
subscribeTopics = ion/#
receiveTimeout = 1 s
mqtt.host = localhost
mqtt.port = 1883
mqtt.qos = 0
mqtt.clientID = VektivaClient
mqtt.statusClientID = VektivaStatusClient
 
[conrad]
enable = no
cmdZmqIface = tcp://localhost:7778
eventZmqIface = tcp://localhost:7779
 
[bluetooth]
hci.impl = dbus
statistics.interval = 10 s
le.scanTime = 5 s
le.maxAgeRssi = 90 s
classic.artificialAvaibilityTimeout = 90 s
 
reporting.enable = no
 
availability.enable = yes
availability.modes = classic, le
availability.refresh = 30 s
 
[exporter]
pipe.enable = no
pipe.path = ${application.configDir}../beeeon_pipe
pipe.format = CSV
pipe.csv.separator = ;
 
mqtt.enable = yes
mqtt.host = localhost
mqtt.port = 1883
mqtt.topic = BeeeOnOut
mqtt.qos = 0
mqtt.clientID = Gateway
mqtt.format = JSON
 
gws.tmpStorage.rootDir = ${application.configDir}../gws.cache
gws.tmpStorage.sizeLimit = 8 * 1024 * 1024
gws.tmpStorage.disableGC = 0
gws.tmpStorage.neverDropOldest = 0
gws.tmpStorage.ignoreIndexErrors = 1
gws.tmpStorage.impl = basicJournal
gws.activeCount = 32
gws.saveTimeout = 10 m
gws.saveThreshold = 1024
gws.impl = optimistic
 
[testing]
center.enable = yes
center.pairedDevices =
center.tcp.address = 127.0.0.1
center.tcp.port = 6000
 
collector.enable = no
 
[nemea]
collector.enable = no
 
[gateway]
id.enable = yes
id = 1475719977567633
 
[gws]
enable = yes
host = ant-work.fit.vutbr.cz
port = 8012
pollTimeout = 250 ms
receiveTimeout = 3 s
sendTimeout = 1 s
retryConnectTimeout = 1 s
maxMessageSize = 4096
keepAliveTimeout = 30 s
outputsCount = 4
resendTimeout = 10 s
 
[ssl]
enable = yes
certificate =
key =
authority =
verify_level = none
 
[credentials]
file = ${application.configDir}../credentials.properties
configuration.root = credentials
save.delay = 30 m
crypto.passphrase = If Purple People Eaters are real where do they find purple people to eat?
crypto.algorithm = aes256
 
[jablotron]
enable = yes
unpairErasesSlot = 0
eraseAllOnProbe = 0
registerOnProbe =
 
[vdev]
ini = ${application.configDir}virtual-devices.ini
enable = no
 
[vpt]
enable = no
ping.timeout = 20 ms
http.timeout = 3 s
refresh = 10 s
netif.blacklist = tap*
max.msg.size = 10000
path = /values.json
port = 80
min.net.mask = 255.255.255.0
 
[zwave]
enable = no
impl = ozw
 
;Generic Z-Wave to BeeeOn types mappings
generic.typesMapping.path = ${application.configDir}types-mapping.xml
;Periodic interval for sending of statistics
statistics.interval = 10 s
;List of controllers to reset when seen for the first time
controllers.reset =
;Path to save user's data, store Z-Wave network config data and state
ozw.userPath = /var/cache/beeeon/gateway/openzwave/
;Path to xml config file for openzwave library
ozw.configPath = /etc/openzwave/
;For old devicces, detect status changes
ozw.pollInterval = 1 s
;Comma-separated list of 16 bytes representing encryption key
ozw.networkKey =
 
[hotplug]
pipe.path =${application.configDir}../gateway.hotplug
impl = udev
 
[philipshue]
enable = yes
upnp.timeout = 5 s
http.timeout = 3 s
refresh = 10 s
 
[fitp]
enable = no
config.path = ${application.configDir}/../fitp.devices
noise.min = 15
noise.max = 30
bitrate = 5
band = 0
channel = 15
power = 0
tx.retries = 4
 
[blesmart]
enable = no
device.timeout = 10 s
refresh = 120 s
numberOfExaminationThreads = 3
hci.impl = dbus
 
[sonoff]
enable = yes
maxLastSeen = 600 s
subscribeTopics = sonoffsc/#
mqtt.host = localhost
mqtt.port = 1883
mqtt.qos = 0
mqtt.clientID = SonoffClient
 
[tool]
credentials.cmd =
 
[cache]
devices.impl = fs
devices.dir = ${application.configDir}../devices.cache
 
[logging]
channels.console.class = ColorConsoleChannel
channels.console.pattern = %s %H:%M:%S.%i %P [%p] %t
 
channels.ozwave.class = FormattingChannel
channels.ozwave.channel = split
channels.ozwave.pattern = <node-%[node]> %t
 
channels.remote.class = RemoteSyslogChannel
channels.remote.loghost = 127.0.0.1:9999
channels.remote.name = beeeon-gateway
channels.remote.format = rfc5424
channels.remote.facility = LOCAL0
 
channels.async_remote.class = AsyncChannel
channels.async_remote.channel = remote
 
channels.split.class = SplitterChannel
channels.split.channels = console
#channels.split.channels = console, async_remote
 
[iqrf]
enable = yes
subscribeTopics = Iqrf/DpaResponse
publishTopic = Iqrf/DpaRequest
receiveTimeout = 1 s
refreshTime = 60 s
refreshTimePeripheralInfo = 300 s
devicesRetryTimeout = 300 s
coordinatorReset = no
typesMapping.path = ${application.configDir}types-mapping.xml
 
mqtt.host = localhost
mqtt.port = 1883
mqtt.qos = 0
mqtt.clientID = IQRFClient

@jviki
Copy link
Member

jviki commented Jan 2, 2020

Hi, you can run the software both with or without certificates, depends on your intentions. We are used to identify each gateway by an ID and that ID can be specified directly via this setting:

[gateway]
id.enable = yes
id = 1475719977567633

or from certificate's common name. You can generate certificate by using script tools/gateway-gencert.sh. If you have your certificate authority, you can use it here. Otherwise, you can generate a self-signed certificate (default setting when you do not provide any other options). Steps:

$ ID=`tools/gateway-genid.py`
$ tools/gateway-gencert.sh -G ${ID}

Note that you should edit the lines 1-8 of tools/gateway-gencert.sh for yourself.

For testing and playing, no certificates are necessary.

@franz123451
Copy link
Author

franz123451 commented Jan 2, 2020

thanks.
do you know this fault message ?
BeeeOn::DIDaemon::UnhandledErrorHandler 11:59:25.411 8314 [Error] Null pointer
BeeeOn::DIDaemon::UnhandledErrorHandler 11:59:25.411 8314 [Critical] Null pointer

BeeeOn::DeviceStatusFetcher 12:19:08.784 8509 [Error] Invalid access: write: Bad file descriptor
BeeeOn::JablotronDeviceManager 12:49:41.436 9272 [Error] Invalid access: write: Bad file descriptor
BeeeOn::JablotronController 14:16:42.709 11254 [Error] Timeout: probe failed, version response was not received

@xbedna62
Copy link
Contributor

xbedna62 commented Jan 3, 2020

BeeeOn::DIDaemon::UnhandledErrorHandler 11:59:25.411 8314 [Error] Null pointer
BeeeOn::DIDaemon::UnhandledErrorHandler 11:59:25.411 8314 [Critical] Null pointer

BeeeOn::DeviceStatusFetcher 12:19:08.784 8509 [Error] Invalid access: write: Bad file descriptor
BeeeOn::JablotronDeviceManager 12:49:41.436 9272 [Error] Invalid access: write: Bad file descriptor

These error messages should not have any big inpact I think.

But this message:
BeeeOn::JablotronController 14:16:42.709 11254 [Error] Timeout: probe failed, version response was not received

It looks that the discovering process of devices on Jablotron network found some device but the device is probably not supported by BeeeOn Gateway.

@franz123451
Copy link
Author

That are bad news. I brought the Bigclown Radio dongle and thought that is the right one.i can’t find the Turris dongle anywhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants