Open franz123451 opened 4 years ago
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
Hi I installed the whole system again. But now I struggle with the following problem.
GatewayID.h:89:2: error: ‘BeeeOn::GatewayID::operator uint64_t() const’ cannot be overloaded with ‘BeeeOn::GatewayID::operator long long unsigned int() const’
operator uint64_t() const
^~~~
GatewayID.h:84:2: note: previous declaration ‘BeeeOn::GatewayID::operator long long unsigned int() const’
operator unsigned long long() const
^~~~
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
Hi,
i quoted 2 lines out and it ran uptown 98% +
[ 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
`
Was in the output of cmake command written "IQRF support is disabled"?
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(),
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.
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 function
BeeeOn::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
From this output I do not know what happened. Maybe the easiest way is to delete line 121 from the file src/CMakeLists.txt.
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
Could you please so kind to tell me how I can generate the certs?
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
[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
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.
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
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.
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.
Hi guys,merry Christmas. I tried to install Beeeon on my rasp. Unfortunately I did not managed to finish the installation. Here my probs
![Uploading 2C1C47A9-E6EE-4177-848E-B14D2E5EE6A8.jpeg…]()
![C6F0B5D3-575A-42D9-9D9D-C88C6A5DF099](https://user-images.githubusercontent.com/59174079/71443417-1cd3fd80-270b-11ea-92a3-40aa7a38f6d0.jpeg)
Thanks for your support